diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml
deleted file mode 100644
index a8ce1273fb..0000000000
--- a/.buildkite/pipeline.yaml
+++ /dev/null
@@ -1,126 +0,0 @@
-steps:
- - label: ":eslint: JS Lint"
- command:
- - "echo '--- Install js-sdk'"
- - "./scripts/ci/install-deps.sh"
- - "yarn lint:js"
- plugins:
- - docker#v3.0.1:
- image: "node:12"
-
- - label: ":eslint: TS Lint"
- command:
- - "echo '--- Install js-sdk'"
- - "./scripts/ci/install-deps.sh"
- - "yarn lint:ts"
- plugins:
- - docker#v3.0.1:
- image: "node:12"
-
- - label: ":eslint: Types Lint"
- command:
- - "echo '--- Install js-sdk'"
- - "./scripts/ci/install-deps.sh"
- - "yarn lint:types"
- plugins:
- - docker#v3.0.1:
- image: "node:12"
-
- - label: ":jest: Tests"
- agents:
- # We use a medium sized instance instead of the normal small ones because
- # webpack loves to gorge itself on resources.
- queue: "medium"
- command:
- - "echo '--- Install js-sdk'"
- # TODO: Remove hacky chmod for BuildKite
- - "chmod +x ./scripts/ci/*.sh"
- - "chmod +x ./scripts/*"
- - "echo '--- Installing Dependencies'"
- - "./scripts/ci/install-deps.sh"
- - "echo '--- Running initial build steps'"
- - "yarn build"
- - "echo '+++ Running Tests'"
- - "yarn test"
- plugins:
- - docker#v3.0.1:
- image: "node:12"
-
- - label: "🛠 Build"
- command:
- - "echo '--- Install js-sdk'"
- - "./scripts/ci/install-deps.sh"
- - "echo '+++ Building Project'"
- - "yarn build"
- plugins:
- - docker#v3.0.1:
- image: "node:12"
-
- - label: ":chains: End-to-End Tests"
- agents:
- # We use a xlarge sized instance instead of the normal small ones because
- # e2e tests otherwise take +-8min
- queue: "xlarge"
- command:
- # TODO: Remove hacky chmod for BuildKite
- - "echo '--- Setup'"
- - "chmod +x ./scripts/ci/*.sh"
- - "chmod +x ./scripts/*"
- - "echo '--- Install js-sdk'"
- - "./scripts/ci/install-deps.sh"
- - "echo '--- Running initial build steps'"
- - "yarn build"
- - "echo '+++ Running Tests'"
- - "./scripts/ci/end-to-end-tests.sh"
- plugins:
- - docker#v3.0.1:
- image: "matrixdotorg/riotweb-ci-e2etests-env:latest"
- propagate-environment: true
-
- - label: "🔧 Riot Tests"
- agents:
- # We use a medium sized instance instead of the normal small ones because
- # webpack loves to gorge itself on resources.
- queue: "medium"
- command:
- # Install chrome
- - "echo '--- Installing Chrome'"
- - "wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -"
- - "sh -c 'echo \"deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main\" >> /etc/apt/sources.list.d/google.list'"
- - "apt-get update"
- - "apt-get install -y google-chrome-stable"
- # TODO: Remove hacky chmod for BuildKite
- - "chmod +x ./scripts/ci/*.sh"
- - "chmod +x ./scripts/*"
- - "echo '--- Installing Dependencies'"
- - "./scripts/ci/install-deps.sh"
- - "echo '--- Running initial build steps'"
- - "yarn build"
- - "echo '+++ Running Tests'"
- - "./scripts/ci/riot-unit-tests.sh"
- env:
- CHROME_BIN: "/usr/bin/google-chrome-stable"
- plugins:
- - docker#v3.0.1:
- image: "node:10"
- propagate-environment: true
-
- - label: "🌐 i18n"
- command:
- - "echo '--- Fetching Dependencies'"
- - "yarn install"
- - "echo '+++ Testing i18n output'"
- - "yarn diff-i18n"
- plugins:
- - docker#v3.0.1:
- image: "node:10"
-
- - wait
-
- - label: "🐴 Trigger riot-web"
- trigger: "riot-web"
- branches: "develop"
- build:
- branch: "develop"
- message: "[react-sdk] ${BUILDKITE_MESSAGE}"
- async: true
diff --git a/.eslintignore b/.eslintignore
index c4c7fe5067..c4f7298047 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1 +1,4 @@
src/component-index.js
+test/end-to-end-tests/node_modules/
+test/end-to-end-tests/riot/
+test/end-to-end-tests/synapse/
diff --git a/.eslintignore.errorfiles b/.eslintignore.errorfiles
index 36b03b121c..9973cfb120 100644
--- a/.eslintignore.errorfiles
+++ b/.eslintignore.errorfiles
@@ -1,6 +1,5 @@
# autogenerated file: run scripts/generate-eslint-error-ignore-file to update.
-src/component-index.js
src/components/structures/RoomDirectory.js
src/components/structures/RoomStatusBar.js
src/components/structures/RoomView.js
@@ -10,7 +9,6 @@ src/components/structures/UploadBar.js
src/components/views/avatars/BaseAvatar.js
src/components/views/avatars/MemberAvatar.js
src/components/views/create_room/RoomAlias.js
-src/components/views/dialogs/DeactivateAccountDialog.js
src/components/views/dialogs/SetPasswordDialog.js
src/components/views/dialogs/UnknownDeviceDialog.js
src/components/views/elements/AddressSelector.js
@@ -31,7 +29,6 @@ src/components/views/rooms/MemberInfo.js
src/components/views/rooms/MemberList.js
src/components/views/rooms/RoomList.js
src/components/views/rooms/RoomPreviewBar.js
-src/components/views/rooms/SearchBar.js
src/components/views/rooms/SearchResultTile.js
src/components/views/settings/ChangeAvatar.js
src/components/views/settings/ChangePassword.js
@@ -44,7 +41,6 @@ src/notifications/ContentRules.js
src/notifications/PushRuleVectorState.js
src/PlatformPeg.js
src/rageshake/rageshake.js
-src/rageshake/submit-rageshake.js
src/ratelimitedfunc.js
src/Rooms.js
src/Unread.js
@@ -60,4 +56,7 @@ test/components/views/dialogs/InteractiveAuthDialog-test.js
test/mock-clock.js
test/notifications/ContentRules-test.js
test/notifications/PushRuleVectorState-test.js
-test/stores/RoomViewStore-test.js
+src/component-index.js
+test/end-to-end-tests/node_modules/
+test/end-to-end-tests/riot/
+test/end-to-end-tests/synapse/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ae2711e25..02c085d0b5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,994 @@
+Changes in [2.3.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.3.0) (2020-03-30)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.3.0-rc.1...v2.3.0)
+
+ * Upgrade JS SDK to 5.2.0
+
+Changes in [2.3.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.3.0-rc.1) (2020-03-26)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.2.3...v2.3.0-rc.1)
+
+ * Upgrade JS SDK to 5.2.0-rc.1
+ * Add a flag to control whether cross-signing signatures are trusted
+ [\#4277](https://github.com/matrix-org/matrix-react-sdk/pull/4277)
+ * Update from Weblate
+ [\#4282](https://github.com/matrix-org/matrix-react-sdk/pull/4282)
+ * Update copy on SSSS symmetric upgrade toast
+ [\#4281](https://github.com/matrix-org/matrix-react-sdk/pull/4281)
+ * Wait for SSSS upgrade to complete
+ [\#4270](https://github.com/matrix-org/matrix-react-sdk/pull/4270)
+ * Update cross-signing verification copy and fix i18n
+ [\#4278](https://github.com/matrix-org/matrix-react-sdk/pull/4278)
+ * Fix soft-crash on bad permalinks
+ [\#4280](https://github.com/matrix-org/matrix-react-sdk/pull/4280)
+ * Fix: make self-verification wait for incoming request
+ [\#4267](https://github.com/matrix-org/matrix-react-sdk/pull/4267)
+ * Fall back to non-standard persisted api for Safari
+ [\#4272](https://github.com/matrix-org/matrix-react-sdk/pull/4272)
+ * Respond to backup key sharing requests
+ [\#4275](https://github.com/matrix-org/matrix-react-sdk/pull/4275)
+ * Log and display secret sharing cache state
+ [\#4268](https://github.com/matrix-org/matrix-react-sdk/pull/4268)
+ * Support sending config and ready events to capable widgets (Jitsi)
+ [\#4266](https://github.com/matrix-org/matrix-react-sdk/pull/4266)
+ * If cached keys are present in the key backup dialog, use them
+ [\#4273](https://github.com/matrix-org/matrix-react-sdk/pull/4273)
+ * Fix formatbar not hidden on highlighted message sent
+ [\#4265](https://github.com/matrix-org/matrix-react-sdk/pull/4265)
+ * Support Jitsi conferences sent/received on Riot Mobile and older Riot Webs
+ [\#4252](https://github.com/matrix-org/matrix-react-sdk/pull/4252)
+ * Use unified function to check cross-signing is ready
+ [\#4263](https://github.com/matrix-org/matrix-react-sdk/pull/4263)
+ * Migrate SSSS to symmetric
+ [\#4224](https://github.com/matrix-org/matrix-react-sdk/pull/4224)
+ * Migration to symmetric SSSS
+ [\#4242](https://github.com/matrix-org/matrix-react-sdk/pull/4242)
+ * Always display verification request toasts on top
+ [\#4262](https://github.com/matrix-org/matrix-react-sdk/pull/4262)
+ * Fix: assume SAS is supported when starting request with .start
+ [\#4249](https://github.com/matrix-org/matrix-react-sdk/pull/4249)
+ * Fix logout when Olm failed to load.
+ [\#4261](https://github.com/matrix-org/matrix-react-sdk/pull/4261)
+ * Improve naming of Jitsi conferences
+ [\#4251](https://github.com/matrix-org/matrix-react-sdk/pull/4251)
+ * Handle matrix.to user permalink in-room rather than solo
+ [\#4245](https://github.com/matrix-org/matrix-react-sdk/pull/4245)
+ * Fix: filter room list (again) by canonical and alternative aliases
+ [\#4260](https://github.com/matrix-org/matrix-react-sdk/pull/4260)
+ * EventIndex: Add some logging to the file panel populating.
+ [\#4250](https://github.com/matrix-org/matrix-react-sdk/pull/4250)
+ * Update from Weblate
+ [\#4259](https://github.com/matrix-org/matrix-react-sdk/pull/4259)
+ * Migrate RoomView to React Contexts in the hope for better temporal stability
+ [\#4258](https://github.com/matrix-org/matrix-react-sdk/pull/4258)
+ * Update WidgetUtils.js fix Jitsi path
+ [\#4256](https://github.com/matrix-org/matrix-react-sdk/pull/4256)
+ * Fix local jitsi build url fail and missing argument
+ [\#4255](https://github.com/matrix-org/matrix-react-sdk/pull/4255)
+ * Add shortcut CmdOrCtrl+. to toggle right panel
+ [\#4244](https://github.com/matrix-org/matrix-react-sdk/pull/4244)
+ * Improve Keyboard Shortcuts. Add alt-arrows & alt-shift-arrows
+ [\#4241](https://github.com/matrix-org/matrix-react-sdk/pull/4241)
+ * Bring back legacy verification by comparing public device keys
+ [\#4240](https://github.com/matrix-org/matrix-react-sdk/pull/4240)
+ * Searching: Return an empty result if the search term is an empty string.
+ [\#4248](https://github.com/matrix-org/matrix-react-sdk/pull/4248)
+ * Break continuation on showHiddenEvents-rendered events
+ [\#4247](https://github.com/matrix-org/matrix-react-sdk/pull/4247)
+ * Watch for show-RR settings changes, use room-specific and fix margins
+ [\#4246](https://github.com/matrix-org/matrix-react-sdk/pull/4246)
+ * Register Mac electron specific Cmd+, shortcut to User Settings
+ [\#4243](https://github.com/matrix-org/matrix-react-sdk/pull/4243)
+ * Use a local wrapper for Jitsi calls
+ [\#4234](https://github.com/matrix-org/matrix-react-sdk/pull/4234)
+ * Invite Dialog fixes
+ [\#4233](https://github.com/matrix-org/matrix-react-sdk/pull/4233)
+ * RoomPreviewBar word-break the sender name too
+ [\#4239](https://github.com/matrix-org/matrix-react-sdk/pull/4239)
+ * Report to the user when a key signature upload fails
+ [\#4229](https://github.com/matrix-org/matrix-react-sdk/pull/4229)
+ * pre-send megolm keys when possible when a user starts typing
+ [\#4235](https://github.com/matrix-org/matrix-react-sdk/pull/4235)
+ * we don't do mx_fadable anymore so get rid of broken RightPanel disabling
+ [\#4238](https://github.com/matrix-org/matrix-react-sdk/pull/4238)
+ * Fix left left panel overflowing vertically
+ [\#4237](https://github.com/matrix-org/matrix-react-sdk/pull/4237)
+ * Fix custom tags causing left panel to over-expand
+ [\#4236](https://github.com/matrix-org/matrix-react-sdk/pull/4236)
+ * Add Keyboard shortcuts dialog
+ [\#4231](https://github.com/matrix-org/matrix-react-sdk/pull/4231)
+ * Don't use buildkite agent to upload logs
+ [\#4232](https://github.com/matrix-org/matrix-react-sdk/pull/4232)
+ * Remove Gemini Scrollbars
+ [\#4217](https://github.com/matrix-org/matrix-react-sdk/pull/4217)
+ * Room Directory Explore Servers redesign
+ [\#4209](https://github.com/matrix-org/matrix-react-sdk/pull/4209)
+ * Fix redo keyboard shortcut on macOS
+ [\#4110](https://github.com/matrix-org/matrix-react-sdk/pull/4110)
+ * Fix: ensure local state for aliases doesn't get garbled up
+ [\#4230](https://github.com/matrix-org/matrix-react-sdk/pull/4230)
+ * Rename 'jump to bottom' to avoid ublock block
+ [\#4208](https://github.com/matrix-org/matrix-react-sdk/pull/4208)
+ * Restore key backup in background after complete security
+ [\#4225](https://github.com/matrix-org/matrix-react-sdk/pull/4225)
+ * Fix key backup trust text for cross-signing
+ [\#4223](https://github.com/matrix-org/matrix-react-sdk/pull/4223)
+ * Add default on config setting to control call button in composer
+ [\#4227](https://github.com/matrix-org/matrix-react-sdk/pull/4227)
+ * Fix: make alternative addresses UX less confusing
+ [\#4221](https://github.com/matrix-org/matrix-react-sdk/pull/4221)
+ * Wait for verification request on login
+ [\#4222](https://github.com/matrix-org/matrix-react-sdk/pull/4222)
+ * EventIndex: Add support to delete events from the index.
+ [\#4204](https://github.com/matrix-org/matrix-react-sdk/pull/4204)
+ * EventIndex: Remove a checkpoint if the HTTP request returns a 403.
+ [\#4214](https://github.com/matrix-org/matrix-react-sdk/pull/4214)
+ * Move to composer when typing letters with Shift held
+ [\#4216](https://github.com/matrix-org/matrix-react-sdk/pull/4216)
+ * Wrap large room names when previewing them
+ [\#4213](https://github.com/matrix-org/matrix-react-sdk/pull/4213)
+ * Rename Review Devices to Review Sessions
+ [\#4219](https://github.com/matrix-org/matrix-react-sdk/pull/4219)
+ * Fix typo in tabIndex to make React happy
+ [\#4215](https://github.com/matrix-org/matrix-react-sdk/pull/4215)
+ * Proof of concept for custom theme adding
+ [\#4148](https://github.com/matrix-org/matrix-react-sdk/pull/4148)
+ * Remove stuff that yarn install doesn't think we need
+ [\#4205](https://github.com/matrix-org/matrix-react-sdk/pull/4205)
+ * Declare jsx in tsconfig for IDEs
+ [\#4207](https://github.com/matrix-org/matrix-react-sdk/pull/4207)
+ * Fix: best-effort to join room without canonical alias over federation from
+ room directory
+ [\#4210](https://github.com/matrix-org/matrix-react-sdk/pull/4210)
+ * Test for cross-signing homeserver support during login, toasts
+ [\#4206](https://github.com/matrix-org/matrix-react-sdk/pull/4206)
+ * Send verification request to a single device in a way compatible with non-
+ cross-signing
+ [\#4202](https://github.com/matrix-org/matrix-react-sdk/pull/4202)
+ * Fixes for removing local alias
+ [\#4199](https://github.com/matrix-org/matrix-react-sdk/pull/4199)
+ * yarn upgrade
+ [\#4201](https://github.com/matrix-org/matrix-react-sdk/pull/4201)
+ * Support TypeScript for React components
+ [\#4203](https://github.com/matrix-org/matrix-react-sdk/pull/4203)
+ * When room name is changed, show both the old and new name
+ [\#4183](https://github.com/matrix-org/matrix-react-sdk/pull/4183)
+
+Changes in [2.2.3](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.2.3) (2020-03-17)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.2.3-rc.1...v2.2.3)
+
+ * Upgrade JS SDK to 5.1.1
+ * Add default on config setting to control call button in composer
+ [\#4228](https://github.com/matrix-org/matrix-react-sdk/pull/4228)
+ * Fix: make alternative addresses UX less confusing
+ [\#4226](https://github.com/matrix-org/matrix-react-sdk/pull/4226)
+ * Fix: best-effort to join room without canonical alias over federation from
+ room directory
+ [\#4211](https://github.com/matrix-org/matrix-react-sdk/pull/4211)
+
+Changes in [2.2.3-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.2.3-rc.1) (2020-03-11)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.2.1...v2.2.3-rc.1)
+
+ * Update from Weblate
+ [\#4200](https://github.com/matrix-org/matrix-react-sdk/pull/4200)
+ * Revert "enable 4s when accepting a verification request"
+ [\#4198](https://github.com/matrix-org/matrix-react-sdk/pull/4198)
+ * Don't remount main split children on rhs collapse
+ [\#4197](https://github.com/matrix-org/matrix-react-sdk/pull/4197)
+ * Add fallback label for canonical alias events that dont change anything
+ [\#4195](https://github.com/matrix-org/matrix-react-sdk/pull/4195)
+ * Immediately switch to verification dialog when clicking [Continue] from new
+ session dialog
+ [\#4196](https://github.com/matrix-org/matrix-react-sdk/pull/4196)
+ * Enable 4S if needed when trying to verify or accepting verification
+ [\#4194](https://github.com/matrix-org/matrix-react-sdk/pull/4194)
+ * Remove extraneous tab stop from room tree view.
+ [\#4193](https://github.com/matrix-org/matrix-react-sdk/pull/4193)
+ * Remove v1 identity server fallbacks
+ [\#4191](https://github.com/matrix-org/matrix-react-sdk/pull/4191)
+ * Allow editing of alt_aliases according to MSC2432
+ [\#4187](https://github.com/matrix-org/matrix-react-sdk/pull/4187)
+ * Update timeline rendering of aliases
+ [\#4189](https://github.com/matrix-org/matrix-react-sdk/pull/4189)
+ * Fix mark as read button for dark theme
+ [\#4190](https://github.com/matrix-org/matrix-react-sdk/pull/4190)
+ * Un-linkify version in settings
+ [\#4188](https://github.com/matrix-org/matrix-react-sdk/pull/4188)
+ * Make Mjolnir stop more robust
+ [\#4186](https://github.com/matrix-org/matrix-react-sdk/pull/4186)
+ * Fix secret sharing names to match spec
+ [\#4185](https://github.com/matrix-org/matrix-react-sdk/pull/4185)
+ * Share secrets with another device on request
+ [\#4172](https://github.com/matrix-org/matrix-react-sdk/pull/4172)
+ * Fall back to to_device verification if other user hasn't uploaded cross-
+ signing keys
+ [\#4181](https://github.com/matrix-org/matrix-react-sdk/pull/4181)
+ * Disable edits on redacted events
+ [\#4182](https://github.com/matrix-org/matrix-react-sdk/pull/4182)
+ * Use crypto.verification.request even when xsign is disabled
+ [\#4180](https://github.com/matrix-org/matrix-react-sdk/pull/4180)
+ * Reword the status for the currently indexing rooms.
+ [\#4084](https://github.com/matrix-org/matrix-react-sdk/pull/4084)
+ * Moved read receipts to the bottom of the message
+ [\#3892](https://github.com/matrix-org/matrix-react-sdk/pull/3892)
+ * Include a mark as read X under the scroll to unread button
+ [\#4159](https://github.com/matrix-org/matrix-react-sdk/pull/4159)
+ * Show the room presence indicator, even when cross-singing is enabled
+ [\#4178](https://github.com/matrix-org/matrix-react-sdk/pull/4178)
+ * Add local echo when clicking "Manually Verify" in unverified session dialog
+ [\#4179](https://github.com/matrix-org/matrix-react-sdk/pull/4179)
+ * link to matrix.org/security-disclosure-policy in help screen
+ [\#4129](https://github.com/matrix-org/matrix-react-sdk/pull/4129)
+ * only show verify button if user has uploaded cross-signing keys
+ [\#4174](https://github.com/matrix-org/matrix-react-sdk/pull/4174)
+ * Fix room alias references in topics
+ [\#4176](https://github.com/matrix-org/matrix-react-sdk/pull/4176)
+ * Fix not being able to start chats when you have no rooms
+ [\#4177](https://github.com/matrix-org/matrix-react-sdk/pull/4177)
+ * Disable registration flows on SSO servers
+ [\#4170](https://github.com/matrix-org/matrix-react-sdk/pull/4170)
+ * Don't group blank membership changes
+ [\#4160](https://github.com/matrix-org/matrix-react-sdk/pull/4160)
+ * Ensure the room list always triggers updates on itself
+ [\#4175](https://github.com/matrix-org/matrix-react-sdk/pull/4175)
+ * Fix composer touch bar flickering on keypress in Chrome
+ [\#4173](https://github.com/matrix-org/matrix-react-sdk/pull/4173)
+ * Document scrollpanel and BACAT scrolling
+ [\#4167](https://github.com/matrix-org/matrix-react-sdk/pull/4167)
+ * riot-desktop open SSO in browser so user doesn't have to auth twice
+ [\#4158](https://github.com/matrix-org/matrix-react-sdk/pull/4158)
+ * Lock login and registration buttons after submit
+ [\#4165](https://github.com/matrix-org/matrix-react-sdk/pull/4165)
+ * Suggest the server's results as lower quality in the invite dialog
+ [\#4149](https://github.com/matrix-org/matrix-react-sdk/pull/4149)
+ * Adjust scroll offset with relative scrolling
+ [\#4166](https://github.com/matrix-org/matrix-react-sdk/pull/4166)
+ * only automatically download in usercontent if user requested it
+ [\#4163](https://github.com/matrix-org/matrix-react-sdk/pull/4163)
+ * Fix having to decrypt & download in two steps
+ [\#4162](https://github.com/matrix-org/matrix-react-sdk/pull/4162)
+ * Use bash for release script
+ [\#4161](https://github.com/matrix-org/matrix-react-sdk/pull/4161)
+ * Revert to manual sorting for custom tag rooms
+ [\#4157](https://github.com/matrix-org/matrix-react-sdk/pull/4157)
+ * Fix the last char of people's names being cut off in the invite dialog
+ [\#4150](https://github.com/matrix-org/matrix-react-sdk/pull/4150)
+ * Add /whois SlashCommand to open UserInfo
+ [\#4154](https://github.com/matrix-org/matrix-react-sdk/pull/4154)
+ * word-break in pills and wrap the background correctly
+ [\#4155](https://github.com/matrix-org/matrix-react-sdk/pull/4155)
+ * don't show "This alias is available to use" if the alias is invalid
+ [\#4153](https://github.com/matrix-org/matrix-react-sdk/pull/4153)
+ * Don't ask to enable analytics when Do Not Track is enabled
+ [\#4098](https://github.com/matrix-org/matrix-react-sdk/pull/4098)
+ * Fix MELS not breaking on day boundaries regression
+ [\#4152](https://github.com/matrix-org/matrix-react-sdk/pull/4152)
+ * Fix Quote on search results page
+ [\#4151](https://github.com/matrix-org/matrix-react-sdk/pull/4151)
+ * Ensure errors when creating a DM are raised to the user
+ [\#4144](https://github.com/matrix-org/matrix-react-sdk/pull/4144)
+ * Add a Login button to startAnyRegistrationFlow
+ [\#3829](https://github.com/matrix-org/matrix-react-sdk/pull/3829)
+ * Use latest backup status directly rather than via state
+ [\#4147](https://github.com/matrix-org/matrix-react-sdk/pull/4147)
+ * Prefer account password variation of upgrading
+ [\#4146](https://github.com/matrix-org/matrix-react-sdk/pull/4146)
+ * Hide user avatars from screen readers in group and room user lists.
+ [\#4145](https://github.com/matrix-org/matrix-react-sdk/pull/4145)
+ * Room List sorting algorithms
+ [\#4085](https://github.com/matrix-org/matrix-react-sdk/pull/4085)
+ * Clear selected tags when disabling tag panel
+ [\#4143](https://github.com/matrix-org/matrix-react-sdk/pull/4143)
+ * Ignore cursor jumping shortcuts with shift
+ [\#4142](https://github.com/matrix-org/matrix-react-sdk/pull/4142)
+ * add local echo for clicking 'start verification' button
+ [\#4138](https://github.com/matrix-org/matrix-react-sdk/pull/4138)
+ * Fix formatting buttons not marking the composer as modified
+ [\#4141](https://github.com/matrix-org/matrix-react-sdk/pull/4141)
+ * Upgrade deps
+ [\#4136](https://github.com/matrix-org/matrix-react-sdk/pull/4136)
+ * Remove debug line from Analytics
+ [\#4137](https://github.com/matrix-org/matrix-react-sdk/pull/4137)
+ * Use the right function for creating binary verification QR codes
+ [\#4140](https://github.com/matrix-org/matrix-react-sdk/pull/4140)
+ * Ensure verification QR codes use the right buffer size
+ [\#4139](https://github.com/matrix-org/matrix-react-sdk/pull/4139)
+ * Don't prefix QR codes with the length of the static marker string
+ [\#4128](https://github.com/matrix-org/matrix-react-sdk/pull/4128)
+ * Solve fixed-width digit display in flowed text
+ [\#4127](https://github.com/matrix-org/matrix-react-sdk/pull/4127)
+ * Limit UserInfo Displayname to 3 lines to get rid of scrollbars
+ [\#4135](https://github.com/matrix-org/matrix-react-sdk/pull/4135)
+
+Changes in [2.2.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.2.1) (2020-03-04)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.2.0...v2.2.1)
+
+ * Adjust scroll offset with relative scrolling
+ [\#4171](https://github.com/matrix-org/matrix-react-sdk/pull/4171)
+ * Disable registration flows on SSO servers
+ [\#4169](https://github.com/matrix-org/matrix-react-sdk/pull/4169)
+
+Changes in [2.2.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.2.0) (2020-03-02)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.2.0-rc.1...v2.2.0)
+
+ * Upgrade JS SDK to 5.1.0
+ * Ignore cursor jumping shortcuts with shift
+ [\#4142](https://github.com/matrix-org/matrix-react-sdk/pull/4142)
+
+Changes in [2.2.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.2.0-rc.1) (2020-02-26)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.1.1...v2.2.0-rc.1)
+
+ * Upgrade JS SDK to 5.1.0-rc.1
+ * Fix message context menu breaking on invalid m.room.pinned_events event
+ [\#4133](https://github.com/matrix-org/matrix-react-sdk/pull/4133)
+ * Update from Weblate
+ [\#4134](https://github.com/matrix-org/matrix-react-sdk/pull/4134)
+ * Notify platform of language changes
+ [\#4121](https://github.com/matrix-org/matrix-react-sdk/pull/4121)
+ * Handle errors when previewing rooms more safely
+ [\#4132](https://github.com/matrix-org/matrix-react-sdk/pull/4132)
+ * Don't try to collapse zero events with a group
+ [\#4131](https://github.com/matrix-org/matrix-react-sdk/pull/4131)
+ * Don't print errors when the tab is used with no autocomplete present
+ [\#4130](https://github.com/matrix-org/matrix-react-sdk/pull/4130)
+ * Improve UI feedback while waiting for network
+ [\#4126](https://github.com/matrix-org/matrix-react-sdk/pull/4126)
+ * Ensure DMs tagged outside of account data work in the invite dialog
+ [\#4123](https://github.com/matrix-org/matrix-react-sdk/pull/4123)
+ * Show a warning dialog when user indicates a new session wasn't them
+ [\#4125](https://github.com/matrix-org/matrix-react-sdk/pull/4125)
+ * Show cancel events as hidden events if we wouldn't usually render them
+ [\#4120](https://github.com/matrix-org/matrix-react-sdk/pull/4120)
+ * Collapsed room list has unaligned room tiles #4030 version 2
+ [\#4033](https://github.com/matrix-org/matrix-react-sdk/pull/4033)
+ * Check for cross-signing homeserver support
+ [\#4118](https://github.com/matrix-org/matrix-react-sdk/pull/4118)
+ * Don't leak if show_sas never comes (or already came)
+ [\#4119](https://github.com/matrix-org/matrix-react-sdk/pull/4119)
+ * Add verification request viewer in devtools
+ [\#4106](https://github.com/matrix-org/matrix-react-sdk/pull/4106)
+ * update phase when request prop changes
+ [\#4117](https://github.com/matrix-org/matrix-react-sdk/pull/4117)
+ * Handle file downloading locally in electron rather than sending to browser
+ [\#4113](https://github.com/matrix-org/matrix-react-sdk/pull/4113)
+ * Remove unused CIDER setting watcher
+ [\#4116](https://github.com/matrix-org/matrix-react-sdk/pull/4116)
+ * Use alt_aliases for pills and autocomplete
+ [\#4102](https://github.com/matrix-org/matrix-react-sdk/pull/4102)
+ * Add shortcuts for beginning / end of composer
+ [\#4108](https://github.com/matrix-org/matrix-react-sdk/pull/4108)
+ * Update from Weblate
+ [\#4115](https://github.com/matrix-org/matrix-react-sdk/pull/4115)
+ * Revert "Fix escaped markdown passing backslashes through"
+ [\#4114](https://github.com/matrix-org/matrix-react-sdk/pull/4114)
+ * Fix a couple of React warnings/errors
+ [\#4112](https://github.com/matrix-org/matrix-react-sdk/pull/4112)
+ * Fix two big DOM leaks which were locking Chrome solid.
+ [\#4111](https://github.com/matrix-org/matrix-react-sdk/pull/4111)
+ * Filter out empty strings when pasting IDs into the invite dialog
+ [\#4109](https://github.com/matrix-org/matrix-react-sdk/pull/4109)
+ * Remove buildkite pipeline
+ [\#4107](https://github.com/matrix-org/matrix-react-sdk/pull/4107)
+ * Use binary packing for verification QR codes
+ [\#4091](https://github.com/matrix-org/matrix-react-sdk/pull/4091)
+ * Fix several small bugs with the invite/DM dialog
+ [\#4099](https://github.com/matrix-org/matrix-react-sdk/pull/4099)
+ * ignore e2e tests node_modules during linting
+ [\#4103](https://github.com/matrix-org/matrix-react-sdk/pull/4103)
+ * Apply null-guard to room pills for when we can't fetch the room
+ [\#4104](https://github.com/matrix-org/matrix-react-sdk/pull/4104)
+ * Fix theme being overridden to light even after login is completed
+ [\#4105](https://github.com/matrix-org/matrix-react-sdk/pull/4105)
+ * Fix bug where SSSS could be overwritten if user never cross-signs
+ [\#4100](https://github.com/matrix-org/matrix-react-sdk/pull/4100)
+ * Accept canonical alias for pills
+ [\#4096](https://github.com/matrix-org/matrix-react-sdk/pull/4096)
+ * Fix: don't advertise ability to scan a QR code for verification
+ [\#4094](https://github.com/matrix-org/matrix-react-sdk/pull/4094)
+ * Fixes for printing event indexing stats.
+ [\#4082](https://github.com/matrix-org/matrix-react-sdk/pull/4082)
+ * Remove exec so release script continues
+ [\#4095](https://github.com/matrix-org/matrix-react-sdk/pull/4095)
+ * Use Persistent Storage where possible
+ [\#4092](https://github.com/matrix-org/matrix-react-sdk/pull/4092)
+ * Fix user page (missing null check)
+ [\#4088](https://github.com/matrix-org/matrix-react-sdk/pull/4088)
+ * Cancel verification request on dialog close
+ [\#4081](https://github.com/matrix-org/matrix-react-sdk/pull/4081)
+ * Fix various memory leaks due to method re-binding
+ [\#4093](https://github.com/matrix-org/matrix-react-sdk/pull/4093)
+ * Fix share message context menu option keyboard a11y
+ [\#4073](https://github.com/matrix-org/matrix-react-sdk/pull/4073)
+
+Changes in [2.1.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.1.1) (2020-02-19)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.1.0...v2.1.1)
+
+ * show spinner while loading local aliases
+ [\#4090](https://github.com/matrix-org/matrix-react-sdk/pull/4090)
+ * Don't index key verification events.
+ [\#4083](https://github.com/matrix-org/matrix-react-sdk/pull/4083)
+ * Get rid of dependence on usercontent.riot.im
+ [\#4046](https://github.com/matrix-org/matrix-react-sdk/pull/4046)
+ * also detect aliases using new /aliases endpoint for room access settings
+ [\#4089](https://github.com/matrix-org/matrix-react-sdk/pull/4089)
+ * get local aliases from /aliases in room settings
+ [\#4086](https://github.com/matrix-org/matrix-react-sdk/pull/4086)
+ * Start verification sessions in an E2E DM where possible
+ [\#4080](https://github.com/matrix-org/matrix-react-sdk/pull/4080)
+ * Only show supported verification methods
+ [\#4077](https://github.com/matrix-org/matrix-react-sdk/pull/4077)
+ * Use local echo in VerificationRequest for accepting/declining a verification
+ request
+ [\#4072](https://github.com/matrix-org/matrix-react-sdk/pull/4072)
+ * Report installed PWA, touch input status in rageshakes, analytics
+ [\#4078](https://github.com/matrix-org/matrix-react-sdk/pull/4078)
+ * refactor event grouping into separate helper classes
+ [\#4059](https://github.com/matrix-org/matrix-react-sdk/pull/4059)
+ * Find existing requests when starting a new verification request
+ [\#4070](https://github.com/matrix-org/matrix-react-sdk/pull/4070)
+ * Always speak the full text of the typing indicator when it updates.
+ [\#4074](https://github.com/matrix-org/matrix-react-sdk/pull/4074)
+ * Fix escaped markdown passing backslashes through
+ [\#4008](https://github.com/matrix-org/matrix-react-sdk/pull/4008)
+ * Move the sidebar to below the sidebar tab buttons for screen readers.
+ [\#4071](https://github.com/matrix-org/matrix-react-sdk/pull/4071)
+
+Changes in [2.1.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.1.0) (2020-02-17)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.1.0-rc.2...v2.1.0)
+
+ * Automate SDK dep upgrades for release
+ [\#4076](https://github.com/matrix-org/matrix-react-sdk/pull/4076)
+
+Changes in [2.1.0-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.1.0-rc.2) (2020-02-13)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.1.0-rc.1...v2.1.0-rc.2)
+
+ * Fix error in previous attempt to upgrade JS SDK
+
+Changes in [2.1.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.1.0-rc.1) (2020-02-13)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.0.0...v2.1.0-rc.1)
+
+ * Upgrade JS SDK to 5.0.0-rc.1
+ * don't show tooltips on big icons
+ [\#4067](https://github.com/matrix-org/matrix-react-sdk/pull/4067)
+ * Update from Weblate
+ [\#4069](https://github.com/matrix-org/matrix-react-sdk/pull/4069)
+ * Fix sending of visit variables to Matomo
+ [\#4068](https://github.com/matrix-org/matrix-react-sdk/pull/4068)
+ * Use embedded piwik script rather than piwik.js to respect CSP
+ [\#4066](https://github.com/matrix-org/matrix-react-sdk/pull/4066)
+ * remove methods arg to requestVerification(DM)
+ [\#4058](https://github.com/matrix-org/matrix-react-sdk/pull/4058)
+ * Check for null config settings a bit safer
+ [\#4061](https://github.com/matrix-org/matrix-react-sdk/pull/4061)
+ * Score user ID searches higher when they match nearly exactly
+ [\#4060](https://github.com/matrix-org/matrix-react-sdk/pull/4060)
+ * Fix uncentered letter inside avatar for currently typing users
+ [\#4051](https://github.com/matrix-org/matrix-react-sdk/pull/4051)
+ * Disable 'start' button after clicking in VerificationPanel
+ [\#4065](https://github.com/matrix-org/matrix-react-sdk/pull/4065)
+ * Fixed bug where key reset didn't always return the right key
+ [\#4057](https://github.com/matrix-org/matrix-react-sdk/pull/4057)
+ * Don't render avatars in pills for screen readers.
+ [\#4062](https://github.com/matrix-org/matrix-react-sdk/pull/4062)
+ * Make QR self-verification compatible with RiotX
+ [\#4044](https://github.com/matrix-org/matrix-react-sdk/pull/4044)
+ * Verify single device from other user in right panel & Not Trusted dialog
+ [\#4043](https://github.com/matrix-org/matrix-react-sdk/pull/4043)
+ * Disable verification buttons after clicking to avoid double submission
+ [\#4049](https://github.com/matrix-org/matrix-react-sdk/pull/4049)
+ * Verification toast fixes
+ [\#4048](https://github.com/matrix-org/matrix-react-sdk/pull/4048)
+ * Use EncryptionPanel everywhere, part I
+ [\#4042](https://github.com/matrix-org/matrix-react-sdk/pull/4042)
+ * quick fix for cross-signing reset bug
+ [\#4056](https://github.com/matrix-org/matrix-react-sdk/pull/4056)
+ * Fix error message rendering for key entry
+ [\#4055](https://github.com/matrix-org/matrix-react-sdk/pull/4055)
+ * Fix recaptcha blocked by CSP for non-SSL origins
+ [\#4052](https://github.com/matrix-org/matrix-react-sdk/pull/4052)
+ * Fix watcher for showTypingNotifications setting
+ [\#4054](https://github.com/matrix-org/matrix-react-sdk/pull/4054)
+ * Allow custom hs url submission on enter
+ [\#4053](https://github.com/matrix-org/matrix-react-sdk/pull/4053)
+ * Support keepSecretStoragePassphraseForSession at the config level too
+ [\#4045](https://github.com/matrix-org/matrix-react-sdk/pull/4045)
+ * Add setting to allow hiding of typing indicator
+ [\#4047](https://github.com/matrix-org/matrix-react-sdk/pull/4047)
+ * Button to reset cross-signing and SSSS keys
+ [\#4041](https://github.com/matrix-org/matrix-react-sdk/pull/4041)
+ * Use forms to wrap password fields so Chrome doesn't go wild
+ [\#3974](https://github.com/matrix-org/matrix-react-sdk/pull/3974)
+ * Update QR code rendering to support VerificationRequests
+ [\#4001](https://github.com/matrix-org/matrix-react-sdk/pull/4001)
+ * Differentiate AccessSecretStorageDialog dismiss dialog based on which key we
+ want to read
+ [\#4038](https://github.com/matrix-org/matrix-react-sdk/pull/4038)
+ * Only emit in RoomViewStore when state actually changes
+ [\#4039](https://github.com/matrix-org/matrix-react-sdk/pull/4039)
+ * Mark AccessSecretStorageDialog to not be closed by clicking background
+ [\#4029](https://github.com/matrix-org/matrix-react-sdk/pull/4029)
+ * Let pointer events fall through to scroll button
+ [\#4037](https://github.com/matrix-org/matrix-react-sdk/pull/4037)
+ * Improve event indexing status strings for translation
+ [\#4035](https://github.com/matrix-org/matrix-react-sdk/pull/4035)
+ * Button size reviewed for word consuming languages & Settings showing devices
+ are a bit too tight
+ [\#4024](https://github.com/matrix-org/matrix-react-sdk/pull/4024)
+ * Only enumerate settings handlers which are supported
+ [\#4034](https://github.com/matrix-org/matrix-react-sdk/pull/4034)
+ * Fix listener removal in verification tile
+ [\#4036](https://github.com/matrix-org/matrix-react-sdk/pull/4036)
+ * Do not show alarming red shields on large encrypted rooms for your own
+ device
+ [\#4028](https://github.com/matrix-org/matrix-react-sdk/pull/4028)
+ * Add a class for styling room directory permissions
+ [\#4007](https://github.com/matrix-org/matrix-react-sdk/pull/4007)
+ * double-check user verification
+ [\#4010](https://github.com/matrix-org/matrix-react-sdk/pull/4010)
+ * Use minimist instead of optimist as it is deprecated
+ [\#4031](https://github.com/matrix-org/matrix-react-sdk/pull/4031)
+ * SettingsStore, use a counter instead of wall clock for watcher ids
+ [\#4032](https://github.com/matrix-org/matrix-react-sdk/pull/4032)
+ * Don't crash immediately if the room directory chunk is null/empty
+ [\#4027](https://github.com/matrix-org/matrix-react-sdk/pull/4027)
+ * Fix verification toast to close at 0s
+ [\#3998](https://github.com/matrix-org/matrix-react-sdk/pull/3998)
+ * Fix listener leak in TagPanel
+ [\#4026](https://github.com/matrix-org/matrix-react-sdk/pull/4026)
+ * Update from Weblate
+ [\#4025](https://github.com/matrix-org/matrix-react-sdk/pull/4025)
+ * Honour the isLogin flag in theme.js
+ [\#4023](https://github.com/matrix-org/matrix-react-sdk/pull/4023)
+ * ManageEventIndexDialog: Show how many rooms are being currently crawled.
+ [\#4022](https://github.com/matrix-org/matrix-react-sdk/pull/4022)
+ * Advertise that we can scan QR codes even though we can't
+ [\#4021](https://github.com/matrix-org/matrix-react-sdk/pull/4021)
+ * Checkpoint addition fixes and return of the crawler sleep time setting.
+ [\#4020](https://github.com/matrix-org/matrix-react-sdk/pull/4020)
+ * Truncate SAS emoji labels to fit
+ [\#4018](https://github.com/matrix-org/matrix-react-sdk/pull/4018)
+ * Apply copy edits to security setup flow
+ [\#4017](https://github.com/matrix-org/matrix-react-sdk/pull/4017)
+ * Fix user trust text to match what was checked
+ [\#4016](https://github.com/matrix-org/matrix-react-sdk/pull/4016)
+ * Fix size of invite only icon
+ [\#4015](https://github.com/matrix-org/matrix-react-sdk/pull/4015)
+ * Add temporary feature flag to control padlocks
+ [\#4013](https://github.com/matrix-org/matrix-react-sdk/pull/4013)
+ * Add an override for the theme
+ [\#4014](https://github.com/matrix-org/matrix-react-sdk/pull/4014)
+ * Add title to complete security loading
+ [\#4011](https://github.com/matrix-org/matrix-react-sdk/pull/4011)
+ * Only display the first zxcvbn warning/suggestion
+ [\#4012](https://github.com/matrix-org/matrix-react-sdk/pull/4012)
+ * Log exceptions from accessSecretStorage
+ [\#4009](https://github.com/matrix-org/matrix-react-sdk/pull/4009)
+ * Add advanced option to keep secret storage in memory for session
+ [\#3995](https://github.com/matrix-org/matrix-react-sdk/pull/3995)
+ * Add shields to member list, move power label to text
+ [\#4006](https://github.com/matrix-org/matrix-react-sdk/pull/4006)
+ * Make encryption events into bubble-style tiles
+ [\#4005](https://github.com/matrix-org/matrix-react-sdk/pull/4005)
+ * Update copy when the user verifies their own devices
+ [\#4000](https://github.com/matrix-org/matrix-react-sdk/pull/4000)
+ * Use Sets instead of array scans and simplify hiding of invalid users when
+ inviting
+ [\#4004](https://github.com/matrix-org/matrix-react-sdk/pull/4004)
+ * Fix room completion for invited rooms and upgraded rooms
+ [\#4003](https://github.com/matrix-org/matrix-react-sdk/pull/4003)
+ * Make shields in UserInfo black if user isn't verified
+ [\#3999](https://github.com/matrix-org/matrix-react-sdk/pull/3999)
+ * Change verify user text
+ [\#3994](https://github.com/matrix-org/matrix-react-sdk/pull/3994)
+ * Disable all inputs in login form while busy, not just the submit button
+ [\#3996](https://github.com/matrix-org/matrix-react-sdk/pull/3996)
+ * fix SAS dialog width
+ [\#3993](https://github.com/matrix-org/matrix-react-sdk/pull/3993)
+ * Update placeholder in the composer when it gets changed
+ [\#3990](https://github.com/matrix-org/matrix-react-sdk/pull/3990)
+ * Send initial device display name on register
+ [\#3992](https://github.com/matrix-org/matrix-react-sdk/pull/3992)
+ * Update QR code handling for new spec
+ [\#3959](https://github.com/matrix-org/matrix-react-sdk/pull/3959)
+ * Apply the Olympic effect to SAS Emoji Verification
+ [\#3989](https://github.com/matrix-org/matrix-react-sdk/pull/3989)
+ * Pass an ID to the as needed and fix div inside p nesting
+ [\#3988](https://github.com/matrix-org/matrix-react-sdk/pull/3988)
+ * Update user info for device and trust changes
+ [\#3987](https://github.com/matrix-org/matrix-react-sdk/pull/3987)
+ * Relax secret storage account data check
+ [\#3985](https://github.com/matrix-org/matrix-react-sdk/pull/3985)
+ * Fix various races that prevented the right panel being in the right state
+ for verifications
+ [\#3984](https://github.com/matrix-org/matrix-react-sdk/pull/3984)
+ * Fix verifying individual devices
+ [\#3986](https://github.com/matrix-org/matrix-react-sdk/pull/3986)
+ * Update from Weblate
+ [\#3982](https://github.com/matrix-org/matrix-react-sdk/pull/3982)
+ * Replace device with session in UI text
+ [\#3980](https://github.com/matrix-org/matrix-react-sdk/pull/3980)
+ * Add missing await causing promises to be leaked as room IDs
+ [\#3981](https://github.com/matrix-org/matrix-react-sdk/pull/3981)
+ * Change new session toast to unverified
+ [\#3978](https://github.com/matrix-org/matrix-react-sdk/pull/3978)
+ * Replace Verify button in UserInfo verification with "Learn more"
+ [\#3975](https://github.com/matrix-org/matrix-react-sdk/pull/3975)
+ * Don't peek until the matrix client is ready
+ [\#3979](https://github.com/matrix-org/matrix-react-sdk/pull/3979)
+ * Verification: don't block UI update on verification finishing
+ [\#3976](https://github.com/matrix-org/matrix-react-sdk/pull/3976)
+ * Adjust icons with in person with design
+ [\#3977](https://github.com/matrix-org/matrix-react-sdk/pull/3977)
+ * Update copy for right panel verification
+ [\#3973](https://github.com/matrix-org/matrix-react-sdk/pull/3973)
+ * Check for timeline in pre-join UISI path
+ [\#3972](https://github.com/matrix-org/matrix-react-sdk/pull/3972)
+ * Let users paste text if they've already started filtering invite targets
+ [\#3970](https://github.com/matrix-org/matrix-react-sdk/pull/3970)
+ * Filter event types when deciding on activity metrics for DM suggestions
+ [\#3969](https://github.com/matrix-org/matrix-react-sdk/pull/3969)
+ * Revert a change causing a login loop
+ [\#3971](https://github.com/matrix-org/matrix-react-sdk/pull/3971)
+ * Improve the docs for the event index and fix some type hints.
+ [\#3960](https://github.com/matrix-org/matrix-react-sdk/pull/3960)
+ * Automatically focus on the invite dialog input
+ [\#3968](https://github.com/matrix-org/matrix-react-sdk/pull/3968)
+ * Restore key backup in Complete Security dialog
+ [\#3966](https://github.com/matrix-org/matrix-react-sdk/pull/3966)
+ * Right Panel Verification improvements
+ [\#3967](https://github.com/matrix-org/matrix-react-sdk/pull/3967)
+ * Cross Signing Right Panel Verification Decoration
+ [\#3950](https://github.com/matrix-org/matrix-react-sdk/pull/3950)
+ * Passing refireParams actually prevented this from working
+ [\#3965](https://github.com/matrix-org/matrix-react-sdk/pull/3965)
+ * Start new key backup in security setup flow
+ [\#3964](https://github.com/matrix-org/matrix-react-sdk/pull/3964)
+ * Tweak styling of the unread indicator circle.
+ [\#3958](https://github.com/matrix-org/matrix-react-sdk/pull/3958)
+ * Add device IDs in user info tooltips
+ [\#3963](https://github.com/matrix-org/matrix-react-sdk/pull/3963)
+ * Improve encryption upgrade on login flow
+ [\#3962](https://github.com/matrix-org/matrix-react-sdk/pull/3962)
+ * Switch back to legacy decorators
+ [\#3961](https://github.com/matrix-org/matrix-react-sdk/pull/3961)
+ * Style bridge settings tab according to design
+ [\#3894](https://github.com/matrix-org/matrix-react-sdk/pull/3894)
+ * Fix skinning and babel targets
+ [\#3957](https://github.com/matrix-org/matrix-react-sdk/pull/3957)
+ * Enable cross-signing lab when key in storage
+ [\#3956](https://github.com/matrix-org/matrix-react-sdk/pull/3956)
+ * Add new session verification details dialog
+ [\#3953](https://github.com/matrix-org/matrix-react-sdk/pull/3953)
+ * Fix issue where we don't notice if our own devices shouldn't be trusted
+ [\#3949](https://github.com/matrix-org/matrix-react-sdk/pull/3949)
+ * Add separate component for post-auth security flows
+ [\#3951](https://github.com/matrix-org/matrix-react-sdk/pull/3951)
+ * Add more logging to settings watchers
+ [\#3952](https://github.com/matrix-org/matrix-react-sdk/pull/3952)
+ * Use https for recaptcha for all non-http protocols
+ [\#3944](https://github.com/matrix-org/matrix-react-sdk/pull/3944)
+ * Add status and management UI for the event indexer
+ [\#3672](https://github.com/matrix-org/matrix-react-sdk/pull/3672)
+ * Remove DM icons if `feature_cross_signing` is enabled; hide padlocks in DM
+ room headers
+ [\#3948](https://github.com/matrix-org/matrix-react-sdk/pull/3948)
+ * Stop rogue verification toast if you verify during login
+ [\#3943](https://github.com/matrix-org/matrix-react-sdk/pull/3943)
+ * Show incoming verification requests in the 'complete security' phase
+ [\#3942](https://github.com/matrix-org/matrix-react-sdk/pull/3942)
+ * Dismiss logged out device toasts
+ [\#3941](https://github.com/matrix-org/matrix-react-sdk/pull/3941)
+ * Verification nag toasts
+ [\#3940](https://github.com/matrix-org/matrix-react-sdk/pull/3940)
+ * Update from Weblate
+ [\#3947](https://github.com/matrix-org/matrix-react-sdk/pull/3947)
+ * Remember password for e2e bootstrapping
+ [\#3939](https://github.com/matrix-org/matrix-react-sdk/pull/3939)
+ * fix compound emoji
+ [\#3946](https://github.com/matrix-org/matrix-react-sdk/pull/3946)
+ * Setup flow for cross-signing on login / registration
+ [\#3937](https://github.com/matrix-org/matrix-react-sdk/pull/3937)
+ * Update profile avatar letter size
+ [\#3935](https://github.com/matrix-org/matrix-react-sdk/pull/3935)
+ * Hide default encryption algorithm
+ [\#3936](https://github.com/matrix-org/matrix-react-sdk/pull/3936)
+ * Resolve default export warnings from Webpack
+ [\#3938](https://github.com/matrix-org/matrix-react-sdk/pull/3938)
+ * Add null check for cross-signing info in verification panel
+ [\#3934](https://github.com/matrix-org/matrix-react-sdk/pull/3934)
+ * Add trace logging to figure out which component is causing weird events
+ [\#3926](https://github.com/matrix-org/matrix-react-sdk/pull/3926)
+ * Remove user lists feature flag, making it the default
+ [\#3906](https://github.com/matrix-org/matrix-react-sdk/pull/3906)
+ * Last bit of polish for user lists
+ [\#3925](https://github.com/matrix-org/matrix-react-sdk/pull/3925)
+ * QR code verification
+ [\#3871](https://github.com/matrix-org/matrix-react-sdk/pull/3871)
+ * Do less unnecessary work on CI
+ [\#3933](https://github.com/matrix-org/matrix-react-sdk/pull/3933)
+ * Re-enable stylelint on CI
+ [\#3932](https://github.com/matrix-org/matrix-react-sdk/pull/3932)
+ * Design pass for room icons
+ [\#3931](https://github.com/matrix-org/matrix-react-sdk/pull/3931)
+ * Populate the file panel using the event index if available.
+ [\#3858](https://github.com/matrix-org/matrix-react-sdk/pull/3858)
+ * Split AsyncWrapper out from Modal
+ [\#3928](https://github.com/matrix-org/matrix-react-sdk/pull/3928)
+ * Fix error in verification code on develop
+ [\#3930](https://github.com/matrix-org/matrix-react-sdk/pull/3930)
+ * Seperates out the padlock icon, and adds a tooltip
+ [\#3929](https://github.com/matrix-org/matrix-react-sdk/pull/3929)
+ * Cross Signing redesign for composer
+ [\#3910](https://github.com/matrix-org/matrix-react-sdk/pull/3910)
+ * Fix verifying your own devices with to_device messages
+ [\#3927](https://github.com/matrix-org/matrix-react-sdk/pull/3927)
+ * Room list reflects encryption state
+ [\#3908](https://github.com/matrix-org/matrix-react-sdk/pull/3908)
+ * Make the entire User Info scrollable, sticky close button
+ [\#3914](https://github.com/matrix-org/matrix-react-sdk/pull/3914)
+ * Remove riot logo from the security setup screens
+ [\#3916](https://github.com/matrix-org/matrix-react-sdk/pull/3916)
+ * Only say the session is verified if it is now verified
+ [\#3917](https://github.com/matrix-org/matrix-react-sdk/pull/3917)
+ * Hide password section if you can't change your password
+ [\#3924](https://github.com/matrix-org/matrix-react-sdk/pull/3924)
+ * Ensure a plaintext version of the composer ends up on the clipboard
+ [\#3922](https://github.com/matrix-org/matrix-react-sdk/pull/3922)
+ * Move & upgrade babel runtime into dependencies (like it wants)
+ [\#3920](https://github.com/matrix-org/matrix-react-sdk/pull/3920)
+ * Don't list every single alias when there's many
+ [\#3918](https://github.com/matrix-org/matrix-react-sdk/pull/3918)
+ * Try to populate user IDs even when the server's directory fails us
+ [\#3907](https://github.com/matrix-org/matrix-react-sdk/pull/3907)
+ * Remove .event property on verification request
+ [\#3912](https://github.com/matrix-org/matrix-react-sdk/pull/3912)
+ * Attempt to fix Safari + VoiceOver misunderstanding the timeline list
+ [\#3911](https://github.com/matrix-org/matrix-react-sdk/pull/3911)
+ * Enable encryption in DMs with device keys
+ [\#3913](https://github.com/matrix-org/matrix-react-sdk/pull/3913)
+ * Fix scrollable area and padding in user lists dialog
+ [\#3905](https://github.com/matrix-org/matrix-react-sdk/pull/3905)
+ * Add Reject & Ignore user button to invites view
+ [\#3909](https://github.com/matrix-org/matrix-react-sdk/pull/3909)
+ * Fix paragraph-awareness of the composer formatting features
+ [\#3891](https://github.com/matrix-org/matrix-react-sdk/pull/3891)
+ * Updated visuals for cross-signing bootstrap
+ [\#3903](https://github.com/matrix-org/matrix-react-sdk/pull/3903)
+ * Implement some parts of new cross signing bootstrap UI
+ [\#3897](https://github.com/matrix-org/matrix-react-sdk/pull/3897)
+ * Treat links as external in report content admin message
+ [\#3904](https://github.com/matrix-org/matrix-react-sdk/pull/3904)
+ * Be consistent about our settings svg, free the other one
+ [\#3902](https://github.com/matrix-org/matrix-react-sdk/pull/3902)
+ * Change prepublish script to prepare
+ [\#3899](https://github.com/matrix-org/matrix-react-sdk/pull/3899)
+ * Remove the react-sdk version
+ [\#3901](https://github.com/matrix-org/matrix-react-sdk/pull/3901)
+ * BuildKite: Retry end-to-end tests automatically once if they fail
+ [\#3900](https://github.com/matrix-org/matrix-react-sdk/pull/3900)
+ * Slash Command improvements around sending messages with leading slash
+ [\#3893](https://github.com/matrix-org/matrix-react-sdk/pull/3893)
+ * Support admin configurable message when reporting content
+ [\#3898](https://github.com/matrix-org/matrix-react-sdk/pull/3898)
+ * Don't warn on unverified users; ensured behavior stays the same with flags
+ off
+ [\#3896](https://github.com/matrix-org/matrix-react-sdk/pull/3896)
+ * Fix roving room list for resizer and ff tabstop a11y
+ [\#3895](https://github.com/matrix-org/matrix-react-sdk/pull/3895)
+ * Verify individual messages via cross-signing
+ [\#3875](https://github.com/matrix-org/matrix-react-sdk/pull/3875)
+ * Fix layering of dependencies in riot-web and e2e tests
+ [\#3882](https://github.com/matrix-org/matrix-react-sdk/pull/3882)
+ * Implement Roving Tab Index and Room List as TreeView
+ [\#3844](https://github.com/matrix-org/matrix-react-sdk/pull/3844)
+ * Move room header shields over the avatar for the room
+ [\#3888](https://github.com/matrix-org/matrix-react-sdk/pull/3888)
+ * Fix toast icon to prevent clipping
+ [\#3890](https://github.com/matrix-org/matrix-react-sdk/pull/3890)
+ * Only show devices and verify actions in E2EE rooms
+ [\#3889](https://github.com/matrix-org/matrix-react-sdk/pull/3889)
+ * Change user info verification checks to use cross-signing
+ [\#3887](https://github.com/matrix-org/matrix-react-sdk/pull/3887)
+ * Fix click-to-ping not inserting colon if composer non-empty
+ [\#3886](https://github.com/matrix-org/matrix-react-sdk/pull/3886)
+ * Fix emoticon space completion for upper case emoticons like :D xD
+ [\#3884](https://github.com/matrix-org/matrix-react-sdk/pull/3884)
+ * Repair cross-signing panel with async status
+ [\#3880](https://github.com/matrix-org/matrix-react-sdk/pull/3880)
+ * Remove temporary key backup button
+ [\#3878](https://github.com/matrix-org/matrix-react-sdk/pull/3878)
+ * Score users who have recently spoken higher in invite suggestions
+ [\#3866](https://github.com/matrix-org/matrix-react-sdk/pull/3866)
+ * Initial support for verification in right panel
+ [\#3796](https://github.com/matrix-org/matrix-react-sdk/pull/3796)
+ * Prevent the invite dialog from jumping around when elements change
+ [\#3868](https://github.com/matrix-org/matrix-react-sdk/pull/3868)
+ * Add prepublish script
+ [\#3876](https://github.com/matrix-org/matrix-react-sdk/pull/3876)
+
+Changes in [2.0.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.0.0) (2020-01-27)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.0.0-rc.2...v2.0.0)
+
+ * Ensure a plaintext version of the composer ends up on the clipboard
+ [\#3923](https://github.com/matrix-org/matrix-react-sdk/pull/3923)
+ * Move & upgrade babel runtime into dependencies (like it wants)
+ [\#3921](https://github.com/matrix-org/matrix-react-sdk/pull/3921)
+ * Don't list every single alias when there's many
+ [\#3919](https://github.com/matrix-org/matrix-react-sdk/pull/3919)
+
+Changes in [2.0.0-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.0.0-rc.2) (2020-01-20)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.0.0-rc.1...v2.0.0-rc.2)
+
+ * Add prepublish script
+ [\#3877](https://github.com/matrix-org/matrix-react-sdk/pull/3877)
+
+Changes in [2.0.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.0.0-rc.1) (2020-01-20)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.6...v2.0.0-rc.1)
+
+BREAKING CHANGES
+================
+ * The react-sdk node module now exports ES6 rather than ES5. If you
+ wish to supports target that aren't compatible with ES6, you
+ will need to transpile the react-sdk to a suitable dialect.
+
+All Changes
+===========
+ * Fix arrows keys moving through edit history
+ [\#3874](https://github.com/matrix-org/matrix-react-sdk/pull/3874)
+ * Fix error about MessagePanel not being available for read markers
+ [\#3867](https://github.com/matrix-org/matrix-react-sdk/pull/3867)
+ * Adjust secret storage to work before sync
+ [\#3864](https://github.com/matrix-org/matrix-react-sdk/pull/3864)
+ * Update from Weblate
+ [\#3872](https://github.com/matrix-org/matrix-react-sdk/pull/3872)
+ * Remove unused deps and dev-deps
+ [\#3870](https://github.com/matrix-org/matrix-react-sdk/pull/3870)
+ * Tidy Jest test stuff and dependencies
+ [\#3869](https://github.com/matrix-org/matrix-react-sdk/pull/3869)
+ * Move feature flag check for new session toast
+ [\#3865](https://github.com/matrix-org/matrix-react-sdk/pull/3865)
+ * Catch exception in checkTerms if no ID server
+ [\#3863](https://github.com/matrix-org/matrix-react-sdk/pull/3863)
+ * Catch exception if passphrase dialog cancelled
+ [\#3862](https://github.com/matrix-org/matrix-react-sdk/pull/3862)
+ * Disable key request dialogs with cross-signing
+ [\#3860](https://github.com/matrix-org/matrix-react-sdk/pull/3860)
+ * Toasts for new, unverified sessions
+ [\#3859](https://github.com/matrix-org/matrix-react-sdk/pull/3859)
+ * Check for a matrixclient before trying to use it
+ [\#3861](https://github.com/matrix-org/matrix-react-sdk/pull/3861)
+ * Room header & message box shields now reflect cross-signing state
+ [\#3850](https://github.com/matrix-org/matrix-react-sdk/pull/3850)
+ * Fix Array.concat undefined
+ [\#3857](https://github.com/matrix-org/matrix-react-sdk/pull/3857)
+ * Update chokidar to fix reskindex not working
+ [\#3856](https://github.com/matrix-org/matrix-react-sdk/pull/3856)
+ * Make the new DM invite dialog work for regular invites too
+ [\#3854](https://github.com/matrix-org/matrix-react-sdk/pull/3854)
+ * Fix event handler leak in MemberStatusMessageAvatar
+ [\#3855](https://github.com/matrix-org/matrix-react-sdk/pull/3855)
+ * Move DM creation logic into DMInviteDialog
+ [\#3843](https://github.com/matrix-org/matrix-react-sdk/pull/3843)
+ * Remove all text when cutting in the composer
+ [\#3848](https://github.com/matrix-org/matrix-react-sdk/pull/3848)
+ * Add a ToastStore
+ [\#3853](https://github.com/matrix-org/matrix-react-sdk/pull/3853)
+ * 'Members' button always toggle the right panel
+ [\#3804](https://github.com/matrix-org/matrix-react-sdk/pull/3804)
+ * Fix timing of when Composer considers itself to be modified
+ [\#3842](https://github.com/matrix-org/matrix-react-sdk/pull/3842)
+ * Compute download file icon immediately
+ [\#3851](https://github.com/matrix-org/matrix-react-sdk/pull/3851)
+ * Fix not being able to open profiles from the timeline
+ [\#3852](https://github.com/matrix-org/matrix-react-sdk/pull/3852)
+ * Add post-login complete security flow
+ [\#3847](https://github.com/matrix-org/matrix-react-sdk/pull/3847)
+ * Added cut/copy and pasting user pills from editor.
+ [\#3828](https://github.com/matrix-org/matrix-react-sdk/pull/3828)
+ * Fix imports for help & support tab
+ [\#3846](https://github.com/matrix-org/matrix-react-sdk/pull/3846)
+ * Humanize the recent DM rooms ourselves for translations
+ [\#3841](https://github.com/matrix-org/matrix-react-sdk/pull/3841)
+ * Improve the quality of invite suggestions by filtering out DMs
+ [\#3840](https://github.com/matrix-org/matrix-react-sdk/pull/3840)
+ * Fix linter and tests on develop
+ [\#3845](https://github.com/matrix-org/matrix-react-sdk/pull/3845)
+ * Fix sourcemaps by refactoring the build system
+ [\#3839](https://github.com/matrix-org/matrix-react-sdk/pull/3839)
+ * Don't error on unverified/unknown devices.
+ [\#3837](https://github.com/matrix-org/matrix-react-sdk/pull/3837)
+ * Padlock icons in room header
+ [\#3835](https://github.com/matrix-org/matrix-react-sdk/pull/3835)
+ * Don't allow upgrade from untrusted key backup.
+ [\#3822](https://github.com/matrix-org/matrix-react-sdk/pull/3822)
+ * Emoji verification: Change name of 🔒 to lock
+ [\#3825](https://github.com/matrix-org/matrix-react-sdk/pull/3825)
+ * Room padlock decorations only if cross-signing is enabled
+ [\#3838](https://github.com/matrix-org/matrix-react-sdk/pull/3838)
+ * Enable end-to-end tests for sourcemaps (+Windows instructions)
+ [\#3827](https://github.com/matrix-org/matrix-react-sdk/pull/3827)
+ * Repair community member info panel
+ [\#3832](https://github.com/matrix-org/matrix-react-sdk/pull/3832)
+ * Add feature flag around the presence indicator in room list
+ [\#3831](https://github.com/matrix-org/matrix-react-sdk/pull/3831)
+ * Display a padlock icon beside invite-only rooms in the room list
+ [\#3821](https://github.com/matrix-org/matrix-react-sdk/pull/3821)
+ * Update from Weblate
+ [\#3830](https://github.com/matrix-org/matrix-react-sdk/pull/3830)
+ * Fix listener leak on RoomView
+ [\#3826](https://github.com/matrix-org/matrix-react-sdk/pull/3826)
+ * Regenerate i18n for sourcemaps branch
+ [\#3824](https://github.com/matrix-org/matrix-react-sdk/pull/3824)
+ * Fix tests for sourcemaps branch
+ [\#3823](https://github.com/matrix-org/matrix-react-sdk/pull/3823)
+ * Jest
+ [\#3724](https://github.com/matrix-org/matrix-react-sdk/pull/3724)
+ * Sourcemaps: develop -> feature branch
+ [\#3817](https://github.com/matrix-org/matrix-react-sdk/pull/3817)
+ * Support pasting a bunch of identifiers into the invite dialog
+ [\#3820](https://github.com/matrix-org/matrix-react-sdk/pull/3820)
+ * Support 3PIDs (email addresses) in the invite dialog
+ [\#3819](https://github.com/matrix-org/matrix-react-sdk/pull/3819)
+ * Placeholder PR for cleaner diffs: ES6
+ [\#3765](https://github.com/matrix-org/matrix-react-sdk/pull/3765)
+ * Misc fixes for ES6 imports/exports
+ [\#3766](https://github.com/matrix-org/matrix-react-sdk/pull/3766)
+ * Wire up the invite targets dialog to a real composer and show selections
+ [\#3815](https://github.com/matrix-org/matrix-react-sdk/pull/3815)
+ * Change ref handling in TextualBody to prevent it parsing generated nodes
+ [\#3711](https://github.com/matrix-org/matrix-react-sdk/pull/3711)
+ * Render encoded html entities in og:description
+ [\#3789](https://github.com/matrix-org/matrix-react-sdk/pull/3789)
+ * Update package.json for new build process + cosmetics
+ [\#3767](https://github.com/matrix-org/matrix-react-sdk/pull/3767)
+ * Convert CommonJS exports to ES6 exports
+ [\#3761](https://github.com/matrix-org/matrix-react-sdk/pull/3761)
+ * Round 2 of CommonJS to ES6 imports
+ [\#3764](https://github.com/matrix-org/matrix-react-sdk/pull/3764)
+ * Strip all variation selectors on emoji
+ [\#3814](https://github.com/matrix-org/matrix-react-sdk/pull/3814)
+ * Use the new js-sdk imports and import from src
+ [\#3763](https://github.com/matrix-org/matrix-react-sdk/pull/3763)
+ * Convert many imports to handle ES6 exports
+ [\#3762](https://github.com/matrix-org/matrix-react-sdk/pull/3762)
+ * Fix userinfo for users not in the room
+ [\#3812](https://github.com/matrix-org/matrix-react-sdk/pull/3812)
+ * Attempt to fix e2e tests
+ [\#3811](https://github.com/matrix-org/matrix-react-sdk/pull/3811)
+ * Add bunch of null-guards and similar to fix React Errors/complaints
+ [\#3752](https://github.com/matrix-org/matrix-react-sdk/pull/3752)
+ * Delegate all room alias validation to the RoomAliasField validator
+ [\#3807](https://github.com/matrix-org/matrix-react-sdk/pull/3807)
+ * Support filtering and searching for users to invite in DMs
+ [\#3802](https://github.com/matrix-org/matrix-react-sdk/pull/3802)
+ * Add suggestions for which users to invite to chat
+ [\#3801](https://github.com/matrix-org/matrix-react-sdk/pull/3801)
+ * Use `flex-start` instead of `start` for postcss
+ [\#3760](https://github.com/matrix-org/matrix-react-sdk/pull/3760)
+ * Define getLanguageFromBrowser() for LanguageDropdown
+ [\#3769](https://github.com/matrix-org/matrix-react-sdk/pull/3769)
+ * Introduce babel's export-default-from plugin to fix build errors
+ [\#3768](https://github.com/matrix-org/matrix-react-sdk/pull/3768)
+ * Add a bit of debugging to incorrect components in the Skinner
+ [\#3770](https://github.com/matrix-org/matrix-react-sdk/pull/3770)
+ * [BREAKING] Refactor the entire build process for babel@7 and TypeScript
+ (chunk 1 of many)
+ [\#3722](https://github.com/matrix-org/matrix-react-sdk/pull/3722)
+ * Implementation of new potential skinning mechanism
+ [\#3723](https://github.com/matrix-org/matrix-react-sdk/pull/3723)
+
Changes in [1.7.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.6) (2020-01-13)
===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.6-rc.2...v1.7.6)
diff --git a/README.md b/README.md
index 0fbed22030..d6fd6db1b7 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ All code lands on the `develop` branch - `master` is only used for stable releas
**Please file PRs against `develop`!!**
Please follow the standard Matrix contributor's guide:
-https://github.com/matrix-org/synapse/tree/master/CONTRIBUTING.rst
+https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.rst
Please follow the Matrix JS/React code style as per:
https://github.com/matrix-org/matrix-react-sdk/blob/master/code_style.md
diff --git a/__mocks__/browser-request.js b/__mocks__/browser-request.js
index 45f83a1763..7d231fb9db 100644
--- a/__mocks__/browser-request.js
+++ b/__mocks__/browser-request.js
@@ -1,16 +1,17 @@
const en = require("../src/i18n/strings/en_EN");
module.exports = jest.fn((opts, cb) => {
- if (opts.url.endsWith("languages.json")) {
+ const url = opts.url || opts.uri;
+ if (url && url.endsWith("languages.json")) {
cb(undefined, {status: 200}, JSON.stringify({
"en": {
"fileName": "en_EN.json",
"label": "English",
},
}));
- } else if (opts.url.endsWith("en_EN.json")) {
+ } else if (url && url.endsWith("en_EN.json")) {
cb(undefined, {status: 200}, JSON.stringify(en));
} else {
- cb(undefined, {status: 404}, "");
+ cb(true, {status: 404}, "");
}
});
diff --git a/babel.config.js b/babel.config.js
index c83be72518..d5a97d56ce 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -2,19 +2,16 @@ module.exports = {
"sourceMaps": "inline",
"presets": [
["@babel/preset-env", {
- "targets": {
- "browsers": [
- "last 2 versions"
- ]
- },
- "modules": "commonjs"
+ "targets": [
+ "last 2 Chrome versions", "last 2 Firefox versions", "last 2 Safari versions"
+ ],
}],
"@babel/preset-typescript",
"@babel/preset-flow",
"@babel/preset-react"
],
"plugins": [
- ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ ["@babel/plugin-proposal-decorators", {legacy: true}],
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-class-properties",
diff --git a/docs/jitsi.md b/docs/jitsi.md
new file mode 100644
index 0000000000..779ef79d3a
--- /dev/null
+++ b/docs/jitsi.md
@@ -0,0 +1,31 @@
+# Jitsi Wrapper
+
+**Note**: These are developer docs. Please consult your client's documentation for
+instructions on setting up Jitsi.
+
+The react-sdk wraps all Jitsi call widgets in a local wrapper called `jitsi.html`
+which takes several parameters:
+
+*Query string*:
+* `widgetId`: The ID of the widget. This is needed for communication back to the
+ react-sdk.
+* `parentUrl`: The URL of the parent window. This is also needed for
+ communication back to the react-sdk.
+
+*Hash/fragment (formatted as a query string)*:
+* `conferenceDomain`: The domain to connect Jitsi Meet to.
+* `conferenceId`: The room or conference ID to connect Jitsi Meet to.
+* `isAudioOnly`: Boolean for whether this is a voice-only conference. May not
+ be present, should default to `false`.
+* `displayName`: The display name of the user viewing the widget. May not
+ be present or could be null.
+* `avatarUrl`: The HTTP(S) URL for the avatar of the user viewing the widget. May
+ not be present or could be null.
+* `userId`: The MXID of the user viewing the widget. May not be present or could
+ be null.
+
+The react-sdk will assume that `jitsi.html` is at the path of wherever it is currently
+being served. For example, `https://riot.im/develop/jitsi.html` or `vector://webapp/jitsi.html`.
+
+The `jitsi.html` wrapper can use the react-sdk's `WidgetApi` to communicate, making
+it easier to actually implement the feature.
diff --git a/docs/scrolling.md b/docs/scrolling.md
new file mode 100644
index 0000000000..71329e5c32
--- /dev/null
+++ b/docs/scrolling.md
@@ -0,0 +1,28 @@
+# ScrollPanel
+
+## Updates
+
+During an onscroll event, we check whether we're getting close to the top or bottom edge of the loaded content. If close enough, we fire a request to load more through the callback passed in the `onFillRequest` prop. This returns a promise is passed down from `TimelinePanel`, where it will call paginate on the `TimelineWindow` and once the events are received back, update its state with the new events. This update trickles down to the `MessagePanel`, which rerenders all tiles and passed that to `ScrollPanel`. ScrollPanels `componentDidUpdate` method gets called, and we do the scroll housekeeping there (read below). Once the rerender has completed, the `setState` callback is called and we resolve the promise returned by `onFillRequest`. Now we check the DOM to see if we need more fill requests.
+
+## Prevent Shrinking
+
+ScrollPanel supports a mode to prevent it shrinking. This is used to prevent a jump when at the bottom of the timeline and people start and stop typing. It gets cleared automatically when 200px above the bottom of the timeline.
+
+
+## BACAT (Bottom-Aligned, Clipped-At-Top) scrolling
+
+BACAT scrolling implements a different way of restoring the scroll position in the timeline while tiles out of view are changing height or tiles are being added or removed. It was added in https://github.com/matrix-org/matrix-react-sdk/pull/2842.
+
+The motivation for the changes is having noticed that setting scrollTop while scrolling tends to not work well, with it interrupting ongoing scrolling and also querying scrollTop reporting outdated values and consecutive scroll adjustments cancelling each out previous ones. This seems to be worse on macOS than other platforms, presumably because of a higher resolution in scroll events there. Also see https://github.com/vector-im/riot-web/issues/528. The BACAT approach allows to only have to change the scroll offset when adding or removing tiles.
+
+The approach taken instead is to vertically align the timeline tiles to the bottom of the scroll container (using flexbox) and give the timeline inside the scroll container an explicit height, initially set to a multiple of the PAGE_SIZE (400px at time of writing) as needed by the content. When scrolled up, we can compensate for anything that grew below the viewport by changing the height of the timeline to maintain what's currently visible in the viewport without adjusting the scrollTop and hence without jumping.
+
+For anything above the viewport growing or shrinking, we don't need to do anything as the timeline is bottom-aligned. We do need to update the height manually to keep all content visible as more is loaded. To maintain scroll position after the portion above the viewport changes height, we need to set the scrollTop, as we cannot balance it out with more height changes. We do this 100ms after the user has stopped scrolling, so setting scrollTop has not nasty side-effects.
+
+As of https://github.com/matrix-org/matrix-react-sdk/pull/4166, we are scrolling to compensate for height changes by calling `scrollBy(0, x)` rather than reading and than setting `scrollTop`, as reading `scrollTop` can (again, especially on macOS) easily return values that are out of sync with what is on the screen, probably because scrolling can be done [off the main thread](https://wiki.mozilla.org/Platform/GFX/APZ) in some circumstances. This seems to further prevent jumps.
+
+### How does it work?
+
+`componentDidUpdate` is called when a tile in the timeline is updated (as we rerender the whole timeline) or tiles are added or removed (see Updates section before). From here, `checkScroll` is called, which calls `_restoreSavedScrollState`. Now, we increase the timeline height if something below the viewport grew by adjusting `this._bottomGrowth`. `bottomGrowth` is the height added to the timeline (on top of the height from the number of pages calculated at the last `_updateHeight` run) to compensate for growth below the viewport. This is cleared during the next run of `_updateHeight`. Remember that the tiles in the timeline are aligned to the bottom.
+
+From `_restoreSavedScrollState` we also call `_updateHeight` which waits until the user stops scrolling for 100ms and then recalculates the amount of pages of 400px the timeline should be sized to, to be able to show all of its (newly added) content. We have to adjust the scroll offset (which is why we wait until scrolling has stopped) now because the space above the viewport has likely changed.
diff --git a/docs/usercontent.md b/docs/usercontent.md
new file mode 100644
index 0000000000..e54851dd0d
--- /dev/null
+++ b/docs/usercontent.md
@@ -0,0 +1,27 @@
+# Usercontent
+
+While decryption itself is safe to be done without a sandbox,
+letting the browser and user interact with the resulting data may be dangerous,
+previously `usercontent.riot.im` was used to act as a sandbox on a different origin to close the attack surface,
+it is now possible to do by using a combination of a sandboxed iframe and some code written into the app which consumes this SDK.
+
+Usercontent is an iframe sandbox target for allowing a user to safely download a decrypted attachment from a sandboxed origin where it cannot be used to XSS your riot session out from under you.
+
+Its function is to create an Object URL for the user/browser to use but bound to an origin different to that of the riot instance to protect against XSS.
+
+It exposes a function over a postMessage API, when sent an object with the matching fields to render a download link with the Object URL:
+
+```json5
+{
+ "imgSrc": "", // the src of the image to display in the download link
+ "imgStyle": "", // the style to apply to the image
+ "style": "", // the style to apply to the download link
+ "download": "", // download attribute to pass to the tag
+ "textContent": "", // the text to put inside the download link
+ "blob": "", // the data blob to wrap in an object url and allow the user to download
+}
+```
+
+If only imgSrc, imgStyle and style are passed then just update the existing link without overwriting other things about it.
+
+It is expected that this target be available at `usercontent/` relative to the root of the app, this can be seen in riot-web's webpack config.
diff --git a/package.json b/package.json
index b6ec44ebd0..07ed0ccf78 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "matrix-react-sdk",
- "version": "1.7.6",
+ "version": "2.3.0",
"description": "SDK for matrix.org using React",
"author": "matrix.org",
"repository": {
@@ -31,6 +31,7 @@
"typings": "./lib/index.d.ts",
"matrix_src_main": "./src/index.js",
"scripts": {
+ "prepare": "yarn build",
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && ./scripts/gen-i18n.js && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
@@ -39,20 +40,21 @@
"rethemendex": "res/css/rethemendex.sh",
"clean": "rimraf lib",
"build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:types",
- "build:compile": "yarn reskindex && babel -d lib --verbose --extensions \".ts,.js\" src",
- "build:types": "tsc --emitDeclarationOnly",
+ "build:compile": "yarn reskindex && babel -d lib --verbose --extensions \".ts,.js,.tsx\" src",
+ "build:types": "tsc --emitDeclarationOnly --jsx react",
"start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && yarn start:all",
"start:all": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n build,reskindex \"yarn start:build\" \"yarn reskindex:watch\"",
"start:build": "babel src -w -s -d lib --verbose --extensions \".ts,.js\"",
"lint": "yarn lint:types && yarn lint:ts && yarn lint:js && yarn lint:style",
"lint:js": "eslint --max-warnings 0 --ignore-path .eslintignore.errorfiles src test",
"lint:ts": "tslint --project ./tsconfig.json -t stylish",
- "lint:types": "tsc --noEmit",
+ "lint:types": "tsc --noEmit --jsx react",
"lint:style": "stylelint 'res/css/**/*.scss'",
"test": "jest",
"test:e2e": "./test/end-to-end-tests/run.sh --riot-url http://localhost:8080"
},
"dependencies": {
+ "@babel/runtime": "^7.8.3",
"blueimp-canvas-to-blob": "^3.5.0",
"browser-encrypt-attachment": "^0.3.0",
"browser-request": "^0.3.3",
@@ -70,31 +72,27 @@
"flux": "2.1.1",
"focus-visible": "^5.0.2",
"fuse.js": "^2.2.0",
- "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#91e1e566",
"gfm.css": "^1.1.1",
- "glob": "^5.0.14",
"glob-to-regexp": "^0.4.1",
"highlight.js": "^9.15.8",
"html-entities": "^1.2.1",
"is-ip": "^2.0.0",
- "isomorphic-fetch": "^2.2.1",
"linkifyjs": "^2.1.6",
"lodash": "^4.17.14",
- "lolex": "4.2",
- "matrix-js-sdk": "3.0.0",
- "optimist": "^0.6.1",
+ "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
+ "minimist": "^1.2.0",
"pako": "^1.0.5",
"png-chunks-extract": "^1.0.0",
+ "project-name-generator": "^2.1.7",
"prop-types": "^15.5.8",
+ "qrcode": "^1.4.4",
"qrcode-react": "^0.1.16",
"qs": "^6.6.0",
- "querystring": "^0.2.0",
"react": "^16.9.0",
"react-addons-css-transition-group": "15.6.2",
"react-beautiful-dnd": "^4.0.1",
"react-dom": "^16.9.0",
"react-focus-lock": "^2.2.1",
- "react-gemini-scrollbar": "github:matrix-org/react-gemini-scrollbar#9cf17f63b7c0b0ec5f31df27da0f82f7238dc594",
"resize-observer-polyfill": "^1.5.0",
"sanitize-html": "^1.18.4",
"tar-js": "^0.3.0",
@@ -102,7 +100,6 @@
"url": "^0.11.0",
"velocity-animate": "^1.5.2",
"what-input": "^5.2.6",
- "whatwg-fetch": "^1.1.1",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
@@ -114,17 +111,18 @@
"@babel/plugin-proposal-numeric-separator": "^7.7.4",
"@babel/plugin-proposal-object-rest-spread": "^7.7.4",
"@babel/plugin-transform-flow-comments": "^7.7.4",
- "@babel/plugin-transform-runtime": "^7.7.6",
+ "@babel/plugin-transform-runtime": "^7.8.3",
"@babel/preset-env": "^7.7.6",
"@babel/preset-flow": "^7.7.4",
"@babel/preset-react": "^7.7.4",
"@babel/preset-typescript": "^7.7.4",
"@babel/register": "^7.7.4",
- "@babel/runtime": "^7.7.6",
"@peculiar/webcrypto": "^1.0.22",
+ "@types/classnames": "^2.2.10",
+ "@types/react": "16.9",
"babel-eslint": "^10.0.3",
"babel-jest": "^24.9.0",
- "chokidar": "^2.1.2",
+ "chokidar": "^3.3.1",
"concurrently": "^4.0.1",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.15.1",
@@ -138,11 +136,12 @@
"estree-walker": "^0.5.0",
"file-loader": "^3.0.1",
"flow-parser": "^0.57.3",
+ "glob": "^5.0.14",
"jest": "^24.9.0",
+ "lolex": "^5.1.2",
"matrix-mock-request": "^1.2.3",
"matrix-react-test-utils": "^0.2.2",
"react-test-renderer": "^16.9.0",
- "require-json": "0.0.1",
"rimraf": "^2.4.3",
"source-map-loader": "^0.2.3",
"stylelint": "^9.10.1",
@@ -158,7 +157,9 @@
"testMatch": [
"/test/**/*-test.js"
],
- "setupTestFrameworkScriptFile": "/test/setupTests.js",
+ "setupFilesAfterEnv": [
+ "/test/setupTests.js"
+ ],
"moduleNameMapper": {
"\\.(gif|png|svg|ttf|woff2)$": "/__mocks__/imageMock.js",
"\\$webapp/i18n/languages.json": "/__mocks__/languages.json"
diff --git a/release.sh b/release.sh
index 1f287bc839..23b8822041 100755
--- a/release.sh
+++ b/release.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#
# Script to perform a release of matrix-react-sdk.
#
@@ -9,4 +9,52 @@ set -e
cd `dirname $0`
-exec ./node_modules/matrix-js-sdk/release.sh -z "$@"
+for i in matrix-js-sdk
+do
+ echo "Checking version of $i..."
+ depver=`cat package.json | jq -r .dependencies[\"$i\"]`
+ latestver=`yarn info -s $i dist-tags.next`
+ if [ "$depver" != "$latestver" ]
+ then
+ echo "The latest version of $i is $latestver but package.json depends on $depver."
+ echo -n "Type 'u' to auto-upgrade, 'c' to continue anyway, or 'a' to abort:"
+ read resp
+ if [ "$resp" != "u" ] && [ "$resp" != "c" ]
+ then
+ echo "Aborting."
+ exit 1
+ fi
+ if [ "$resp" == "u" ]
+ then
+ echo "Upgrading $i to $latestver..."
+ yarn add -E $i@$latestver
+ git add -u
+ # The `-e` flag opens the editor and gives you a chance to check
+ # the upgrade for correctness.
+ git commit -m "Upgrade $i to $latestver" -e
+ fi
+ fi
+done
+
+./node_modules/matrix-js-sdk/release.sh -z "$@"
+
+release="${1#v}"
+prerelease=0
+# We check if this build is a prerelease by looking to
+# see if the version has a hyphen in it. Crude,
+# but semver doesn't support postreleases so anything
+# with a hyphen is a prerelease.
+echo $release | grep -q '-' && prerelease=1
+
+if [ $prerelease -eq 0 ]
+then
+ # For a release, reset SDK deps back to the `develop` branch.
+ for i in matrix-js-sdk
+ do
+ echo "Resetting $i to develop branch..."
+ yarn add github:matrix-org/$i#develop
+ git add -u
+ git commit -m "Reset $i back to develop branch"
+ done
+ git push origin develop
+fi
diff --git a/res/css/_common.scss b/res/css/_common.scss
index 51d985efb7..ad64aced50 100644
--- a/res/css/_common.scss
+++ b/res/css/_common.scss
@@ -42,10 +42,15 @@ pre, code {
font-size: 100% !important;
}
-.error, .warning {
+.error, .warning,
+.text-error, .text-warning {
color: $warning-color;
}
+.text-success {
+ color: $accent-color;
+}
+
b {
// On Firefox, the default weight for `` is `bolder` which results in no bold
// effect since we only have specific weights of our fonts available.
@@ -202,37 +207,6 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus {
transition: opacity 0.2s ease-in-out;
}
-/* XXX: critical hack to GeminiScrollbar to allow them to work in FF 42 and Chrome 48.
- Stop the scrollbar view from pushing out the container's overall sizing, which causes
- flexbox to adapt to the new size and cause the view to keep growing.
- */
-.gm-scrollbar-container .gm-scroll-view {
- position: absolute;
-}
-
-/* Expand thumbs on hoverover */
-.gm-scrollbar {
- border-radius: 5px !important;
-}
-.gm-scrollbar.-vertical {
- width: 6px;
- transition: width 120ms ease-out !important;
-}
-.gm-scrollbar.-vertical:hover,
-.gm-scrollbar.-vertical:active {
- width: 8px;
- transition: width 120ms ease-out !important;
-}
-.gm-scrollbar.-horizontal {
- height: 6px;
- transition: height 120ms ease-out !important;
-}
-.gm-scrollbar.-horizontal:hover,
-.gm-scrollbar.-horizontal:active {
- height: 8px;
- transition: height 120ms ease-out !important;
-}
-
// These are magic constants which are excluded from tinting, to let themes
// (which only have CSS, unlike skins) tell the app what their non-tinted
// colourscheme is by inspecting the stylesheet DOM.
@@ -338,6 +312,14 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus {
margin-bottom: 10px;
}
+.mx_Dialog_titleImage {
+ vertical-align: middle;
+ width: 25px;
+ height: 25px;
+ margin-left: -2px;
+ margin-right: 4px;
+}
+
.mx_Dialog_title {
font-size: 22px;
line-height: 36px;
@@ -378,7 +360,13 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus {
text-align: right;
}
-.mx_Dialog button, .mx_Dialog input[type="submit"] {
+/* XXX: Our button style are a mess: buttons that happen to appear in dialogs get special styles applied
+ * to them that no button anywhere else in the app gets by default. In practice, buttons in other places
+ * in the app look the same by being AccessibleButtons, or possibly by having explict button classes.
+ * We should go through and have one consistent set of styles for buttons throughout the app.
+ * For now, I am duplicating the selectors here for mx_Dialog and mx_DialogButtons.
+ */
+.mx_Dialog button, .mx_Dialog input[type="submit"], .mx_Dialog_buttons button, .mx_Dialog_buttons input[type="submit"] {
@mixin mx_DialogButton;
margin-left: 0px;
margin-right: 8px;
@@ -394,27 +382,32 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus {
margin-right: 0px;
}
-.mx_Dialog button:hover, .mx_Dialog input[type="submit"]:hover {
+.mx_Dialog button:hover, .mx_Dialog input[type="submit"]:hover, .mx_Dialog_buttons button:hover, .mx_Dialog_buttons input[type="submit"]:hover {
@mixin mx_DialogButton_hover;
}
-.mx_Dialog button:focus, .mx_Dialog input[type="submit"]:focus {
+.mx_Dialog button:focus, .mx_Dialog input[type="submit"]:focus, .mx_Dialog_buttons button:focus, .mx_Dialog_buttons input[type="submit"]:focus {
filter: brightness($focus-brightness);
}
-.mx_Dialog button.mx_Dialog_primary, .mx_Dialog input[type="submit"].mx_Dialog_primary {
+.mx_Dialog button.mx_Dialog_primary, .mx_Dialog input[type="submit"].mx_Dialog_primary, .mx_Dialog_buttons button.mx_Dialog_primary, .mx_Dialog_buttons input[type="submit"].mx_Dialog_primary {
color: $accent-fg-color;
background-color: $accent-color;
min-width: 156px;
}
-.mx_Dialog button.danger, .mx_Dialog input[type="submit"].danger {
+.mx_Dialog button.danger, .mx_Dialog input[type="submit"].danger, .mx_Dialog_buttons button.danger, .mx_Dialog_buttons input[type="submit"].danger {
background-color: $warning-color;
border: solid 1px $warning-color;
color: $accent-fg-color;
}
-.mx_Dialog button:disabled, .mx_Dialog input[type="submit"]:disabled {
+.mx_Dialog button.warning, .mx_Dialog input[type="submit"].warning {
+ border: solid 1px $warning-color;
+ color: $warning-color;
+}
+
+.mx_Dialog button:disabled, .mx_Dialog input[type="submit"]:disabled, .mx_Dialog_buttons button:disabled, .mx_Dialog_buttons input[type="submit"]:disabled {
background-color: $light-fg-color;
border: solid 1px $light-fg-color;
opacity: 0.7;
diff --git a/res/css/_components.scss b/res/css/_components.scss
index 7a9ebfdf26..b959b1f1cd 100644
--- a/res/css/_components.scss
+++ b/res/css/_components.scss
@@ -28,6 +28,7 @@
@import "./structures/_TopLeftMenuButton.scss";
@import "./structures/_UploadBar.scss";
@import "./structures/_ViewSource.scss";
+@import "./structures/auth/_CompleteSecurity.scss";
@import "./structures/auth/_Login.scss";
@import "./views/auth/_AuthBody.scss";
@import "./views/auth/_AuthButtons.scss";
@@ -35,6 +36,7 @@
@import "./views/auth/_AuthHeader.scss";
@import "./views/auth/_AuthHeaderLogo.scss";
@import "./views/auth/_AuthPage.scss";
+@import "./views/auth/_CompleteSecurityBody.scss";
@import "./views/auth/_CountryDropdown.scss";
@import "./views/auth/_InteractiveAuthEntryComponents.scss";
@import "./views/auth/_LanguageSelector.scss";
@@ -56,15 +58,18 @@
@import "./views/dialogs/_ConfirmUserActionDialog.scss";
@import "./views/dialogs/_CreateGroupDialog.scss";
@import "./views/dialogs/_CreateRoomDialog.scss";
-@import "./views/dialogs/_DMInviteDialog.scss";
@import "./views/dialogs/_DeactivateAccountDialog.scss";
@import "./views/dialogs/_DeviceVerifyDialog.scss";
@import "./views/dialogs/_DevtoolsDialog.scss";
@import "./views/dialogs/_EncryptedEventDialog.scss";
@import "./views/dialogs/_GroupAddressPicker.scss";
@import "./views/dialogs/_IncomingSasDialog.scss";
+@import "./views/dialogs/_InviteDialog.scss";
+@import "./views/dialogs/_KeyboardShortcutsDialog.scss";
@import "./views/dialogs/_MessageEditHistoryDialog.scss";
+@import "./views/dialogs/_NewSessionReviewDialog.scss";
@import "./views/dialogs/_RoomSettingsDialog.scss";
+@import "./views/dialogs/_RoomSettingsDialogBridges.scss";
@import "./views/dialogs/_RoomUpgradeDialog.scss";
@import "./views/dialogs/_RoomUpgradeWarningDialog.scss";
@import "./views/dialogs/_SetEmailDialog.scss";
@@ -124,7 +129,6 @@
@import "./views/messages/_MEmoteBody.scss";
@import "./views/messages/_MFileBody.scss";
@import "./views/messages/_MImageBody.scss";
-@import "./views/messages/_MKeyVerificationRequest.scss";
@import "./views/messages/_MNoticeBody.scss";
@import "./views/messages/_MStickerBody.scss";
@import "./views/messages/_MTextBody.scss";
@@ -139,7 +143,10 @@
@import "./views/messages/_TextualEvent.scss";
@import "./views/messages/_UnknownBody.scss";
@import "./views/messages/_ViewSourceEvent.scss";
+@import "./views/messages/_common_CryptoEvent.scss";
+@import "./views/right_panel/_EncryptionInfo.scss";
@import "./views/right_panel/_UserInfo.scss";
+@import "./views/right_panel/_VerificationPanel.scss";
@import "./views/room_settings/_AliasSettings.scss";
@import "./views/room_settings/_ColorSettings.scss";
@import "./views/rooms/_AppsDrawer.scss";
@@ -150,6 +157,7 @@
@import "./views/rooms/_EditMessageComposer.scss";
@import "./views/rooms/_EntityTile.scss";
@import "./views/rooms/_EventTile.scss";
+@import "./views/rooms/_InviteOnlyIcon.scss";
@import "./views/rooms/_JumpToBottomButton.scss";
@import "./views/rooms/_LinkPreviewWidget.scss";
@import "./views/rooms/_MemberDeviceInfo.scss";
@@ -170,7 +178,6 @@
@import "./views/rooms/_RoomTile.scss";
@import "./views/rooms/_RoomUpgradeWarningBar.scss";
@import "./views/rooms/_SearchBar.scss";
-@import "./views/rooms/_SearchableEntityList.scss";
@import "./views/rooms/_SendMessageComposer.scss";
@import "./views/rooms/_Stickers.scss";
@import "./views/rooms/_TopUnreadMessagesBar.scss";
@@ -179,6 +186,7 @@
@import "./views/settings/_AvatarSetting.scss";
@import "./views/settings/_CrossSigningPanel.scss";
@import "./views/settings/_DevicesPanel.scss";
+@import "./views/settings/_E2eAdvancedPanel.scss";
@import "./views/settings/_EmailAddresses.scss";
@import "./views/settings/_IntegrationManager.scss";
@import "./views/settings/_KeyBackupPanel.scss";
diff --git a/res/css/structures/_AutoHideScrollbar.scss b/res/css/structures/_AutoHideScrollbar.scss
index 6e4484157c..50842c71bc 100644
--- a/res/css/structures/_AutoHideScrollbar.scss
+++ b/res/css/structures/_AutoHideScrollbar.scss
@@ -14,69 +14,16 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-/* This file has CSS for both native and non-native scrollbars in an order
- * that's fairly logical to read but duplicates a selector to separate the
- * hiding/showing from the sizing.
- */
-/* stylelint-disable no-duplicate-selectors */
-
-/*
-1. for browsers that support native overlay auto-hiding scrollbars
-*/
-.mx_AutoHideScrollbar {
- overflow-x: hidden;
- overflow-y: auto;
- -ms-overflow-style: -ms-autohiding-scrollbar;
-}
-/*
-2. webkit also supports overflow:overlay where the scrollbars don't take any space
-in the layout but they don't autohide, so do that only on hover
-*/
-body.mx_scrollbar_overlay_noautohide .mx_AutoHideScrollbar {
- overflow-y: hidden;
-}
-
-body.mx_scrollbar_overlay_noautohide .mx_AutoHideScrollbar:hover {
- overflow-y: overlay;
-}
-/*
-3. as a last fallback, compensate for the scrollbar taking up space in the layout
-by having giving the child element (.mx_AutoHideScrollbar_offset) a
-negative right margin of the width of the scrollbar when the container
-is overflowing. This is what Firefox ends up using. Overflow is detected
-in javascript, and adds the mx_AutoHideScrollbar_overflow class to the container.
-This only works in Firefox, which should be fine as this fallback is only needed there.
-*/
-body.mx_scrollbar_nooverlay {
- .mx_AutoHideScrollbar {
- overflow-y: hidden;
- }
-
- .mx_AutoHideScrollbar:hover {
- overflow-y: auto;
- }
-
- /*
- offset scrollbar width with negative margin-right
-
- include before and after psuedo-elements here so they can
- be used to do something interesting like scroll-indicating
- gradients (see IndicatorScrollBar)
- */
- .mx_AutoHideScrollbar:hover.mx_AutoHideScrollbar_overflow > .mx_AutoHideScrollbar_offset,
- .mx_AutoHideScrollbar:hover.mx_AutoHideScrollbar_overflow::before,
- .mx_AutoHideScrollbar:hover.mx_AutoHideScrollbar_overflow::after {
- margin-right: calc(-1 * var(--scrollbar-width));
- }
-}
-
-// style the native scrollbars ...
-// ... standard css scrollbars (firefox at time of writing)
-.mx_AutoHideScrollbar {
+// make any scrollbar grey and thin
+html {
scrollbar-color: $scrollbar-thumb-color $scrollbar-track-color;
+}
+// scrollbar-width is not inherited (but -color is, why?!),
+// so declare it on every element
+* {
scrollbar-width: thin;
}
-// or fallback for webkit browsers
+
::-webkit-scrollbar {
width: 6px;
height: 6px;
@@ -84,6 +31,37 @@ body.mx_scrollbar_nooverlay {
}
::-webkit-scrollbar-thumb {
- background-color: $scrollbar-thumb-color;
border-radius: 3px;
+ background-color: $scrollbar-thumb-color;
+}
+
+// make auto-hide scrollbars not transparent again on hover
+.mx_AutoHideScrollbar:hover {
+ scrollbar-color: $scrollbar-thumb-color $scrollbar-track-color;
+
+ &::-webkit-scrollbar {
+ background-color: $scrollbar-track-color;
+ }
+
+ &::-webkit-scrollbar-thumb {
+ background-color: $scrollbar-thumb-color;
+ }
+}
+
+// make scrollbars transparent for autohide scrollbars
+.mx_AutoHideScrollbar {
+ overflow-x: hidden;
+ overflow-y: auto;
+ overflow-y: overlay; // where supported
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+
+ &::-webkit-scrollbar {
+ background-color: transparent;
+ }
+
+ &::-webkit-scrollbar-thumb {
+ background-color: transparent;
+ }
+
+ scrollbar-color: transparent transparent;
}
diff --git a/res/css/structures/_GroupView.scss b/res/css/structures/_GroupView.scss
index 4ec53a3c9a..72a1132c15 100644
--- a/res/css/structures/_GroupView.scss
+++ b/res/css/structures/_GroupView.scss
@@ -63,7 +63,7 @@ limitations under the License.
}
.mx_GroupHeader_editButton::before {
- mask-image: url('$(res)/img/icons-settings-room.svg');
+ mask-image: url('$(res)/img/feather-customised/settings.svg');
}
.mx_GroupHeader_shareButton::before {
@@ -180,10 +180,6 @@ limitations under the License.
line-height: 2em;
}
-.mx_GroupView > .mx_MainSplit {
- flex: 1;
-}
-
.mx_GroupView_body {
flex-grow: 1;
}
@@ -341,8 +337,8 @@ limitations under the License.
display: none;
}
-.mx_GroupView_body .gm-scroll-view > * {
- margin: 11px 50px 0px 68px;
+.mx_GroupView_body .mx_AutoHideScrollbar > * {
+ margin: 11px 50px 50px 68px;
}
.mx_GroupView_groupDesc textarea {
@@ -370,7 +366,7 @@ limitations under the License.
padding: 40px 20px;
}
-.mx_GroupView .mx_MemberInfo .gm-scroll-view > :not(.mx_MemberInfo_avatar) {
+.mx_GroupView .mx_MemberInfo .mx_AutoHideScrollbar > :not(.mx_MemberInfo_avatar) {
padding-left: 16px;
padding-right: 16px;
}
diff --git a/res/css/structures/_MainSplit.scss b/res/css/structures/_MainSplit.scss
index 4d73953cd7..25e1153fce 100644
--- a/res/css/structures/_MainSplit.scss
+++ b/res/css/structures/_MainSplit.scss
@@ -18,6 +18,7 @@ limitations under the License.
display: flex;
flex-direction: row;
min-width: 0;
+ height: 100%;
}
// move hit area 5px to the right so it doesn't overlap with the timeline scrollbar
diff --git a/res/css/structures/_MatrixChat.scss b/res/css/structures/_MatrixChat.scss
index f2ce7e1d5c..c5a5d50068 100644
--- a/res/css/structures/_MatrixChat.scss
+++ b/res/css/structures/_MatrixChat.scss
@@ -76,13 +76,6 @@ limitations under the License.
flex: 1 1 0;
min-width: 0;
- /* Experimental fix for https://github.com/vector-im/vector-web/issues/947
- and https://github.com/vector-im/vector-web/issues/946.
- Empirically this stops the MessagePanel's width exploding outwards when
- gemini is in 'prevented' mode
- */
- overflow-x: auto;
-
/* To fix https://github.com/vector-im/riot-web/issues/3298 where Safari
needed height 100% all the way down to the HomePage. Height does not
have to be auto, empirically.
diff --git a/res/css/structures/_MyGroups.scss b/res/css/structures/_MyGroups.scss
index d25789ab94..36150c33a5 100644
--- a/res/css/structures/_MyGroups.scss
+++ b/res/css/structures/_MyGroups.scss
@@ -67,9 +67,6 @@ limitations under the License.
}
}
-
-
-
.mx_MyGroups_headerCard_header {
font-weight: bold;
margin-bottom: 10px;
@@ -98,6 +95,11 @@ limitations under the License.
display: flex;
flex-direction: column;
+ overflow-y: auto;
+}
+
+.mx_MyGroups_scrollable {
+ overflow-y: inherit;
}
.mx_MyGroups_placeholder {
diff --git a/res/css/structures/_RightPanel.scss b/res/css/structures/_RightPanel.scss
index 973f6fe9b3..3c373e8883 100644
--- a/res/css/structures/_RightPanel.scss
+++ b/res/css/structures/_RightPanel.scss
@@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -18,7 +19,7 @@ limitations under the License.
overflow-x: hidden;
flex: 0 0 auto;
position: relative;
- min-width: 250px;
+ min-width: 264px;
display: flex;
flex-direction: column;
}
diff --git a/res/css/structures/_RoomDirectory.scss b/res/css/structures/_RoomDirectory.scss
index 4b49332af7..f3a7b0e243 100644
--- a/res/css/structures/_RoomDirectory.scss
+++ b/res/css/structures/_RoomDirectory.scss
@@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -45,9 +46,8 @@ limitations under the License.
}
.mx_RoomDirectory_listheader {
- display: flex;
- margin-top: 12px;
- margin-bottom: 12px;
+ display: block;
+ margin-top: 13px;
}
.mx_RoomDirectory_searchbox {
@@ -64,7 +64,7 @@ limitations under the License.
}
.mx_RoomDirectory_table {
- font-size: 14px;
+ font-size: 12px;
color: $primary-fg-color;
width: 100%;
text-align: left;
@@ -112,6 +112,7 @@ limitations under the License.
.mx_RoomDirectory_name {
display: inline-block;
+ font-size: 18px;
font-weight: 600;
}
@@ -119,6 +120,16 @@ limitations under the License.
display: inline-block;
}
+.mx_RoomDirectory_perm {
+ border-radius: 10px;
+ display: inline-block;
+ height: 20px;
+ line-height: 20px;
+ padding: 0 5px;
+ color: $accent-fg-color;
+ background-color: $rte-room-pill-color;
+}
+
.mx_RoomDirectory_topic {
cursor: initial;
color: $light-fg-color;
@@ -138,8 +149,8 @@ limitations under the License.
padding: 0;
}
-.mx_RoomDirectory p {
- font-size: 14px;
+.mx_RoomDirectory > span {
+ font-size: 15px;
margin-top: 0;
.mx_AccessibleButton {
diff --git a/res/css/structures/_RoomSubList.scss b/res/css/structures/_RoomSubList.scss
index be44563cfb..1934e681c2 100644
--- a/res/css/structures/_RoomSubList.scss
+++ b/res/css/structures/_RoomSubList.scss
@@ -166,41 +166,22 @@ limitations under the License.
// overflow indicators
.mx_RoomSubList:not(.resized-all) > .mx_RoomSubList_scroll {
- &.mx_IndicatorScrollbar_topOverflow::before,
- &.mx_IndicatorScrollbar_bottomOverflow::after {
+ &.mx_IndicatorScrollbar_topOverflow::before {
position: sticky;
+ content: "";
+ top: 0;
left: 0;
right: 0;
height: 8px;
- content: "";
- display: block;
z-index: 100;
+ display: block;
pointer-events: none;
- }
-
- &.mx_IndicatorScrollbar_topOverflow > .mx_AutoHideScrollbar_offset {
- margin-top: -8px;
- }
- &.mx_IndicatorScrollbar_bottomOverflow > .mx_AutoHideScrollbar_offset {
- margin-bottom: -8px;
- }
-
- &.mx_IndicatorScrollbar_topOverflow::before {
- top: 0;
transition: background-image 0.1s ease-in;
background: linear-gradient(to top, $panel-gradient);
}
- /*
- // for now, we remove the bottomOverflow entirely as we don't want to
- // lose the screen real-estate due to a bg-colored gradient, but we also
- // don't want to use drop shadows and risk a confusing hierarchy of cards.
- // so, instead, we hard-clip at the bottom but soft-clip at the top.
- &.mx_IndicatorScrollbar_bottomOverflow::after {
- bottom: 0;
- transition: background-image 0.1s ease-in;
- margin: 0px -8px;
- background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.0));
+
+ &.mx_IndicatorScrollbar_topOverflow {
+ margin-top: -8px;
}
- */
}
diff --git a/res/css/structures/_TagPanel.scss b/res/css/structures/_TagPanel.scss
index dddd2e324c..472831c0d9 100644
--- a/res/css/structures/_TagPanel.scss
+++ b/res/css/structures/_TagPanel.scss
@@ -23,6 +23,7 @@ limitations under the License.
flex-direction: column;
align-items: center;
justify-content: space-between;
+ min-height: 0;
}
.mx_TagPanel_items_selected {
@@ -57,6 +58,7 @@ limitations under the License.
.mx_TagPanel .mx_TagPanel_scroller {
flex-grow: 1;
+ width: 100%;
}
.mx_TagPanel .mx_TagPanel_tagTileContainer {
diff --git a/res/css/structures/_ToastContainer.scss b/res/css/structures/_ToastContainer.scss
index 4c5e746e66..d1687743d6 100644
--- a/res/css/structures/_ToastContainer.scss
+++ b/res/css/structures/_ToastContainer.scss
@@ -51,8 +51,8 @@ limitations under the License.
&.mx_Toast_hasIcon {
&::after {
content: "";
- width: 20px;
- height: 20px;
+ width: 22px;
+ height: 22px;
grid-column: 1;
grid-row: 1;
mask-size: 100%;
@@ -64,6 +64,10 @@ limitations under the License.
background-color: $primary-fg-color;
}
+ &.mx_Toast_icon_verification_warning::after {
+ background-image: url("$(res)/img/e2e/warning.svg");
+ }
+
h2, .mx_Toast_body {
grid-column: 2;
}
@@ -94,5 +98,9 @@ limitations under the License.
margin: 4px 0 11px 0;
font-size: 12px;
}
+
+ .mx_Toast_deviceID {
+ font-size: 10px;
+ }
}
}
diff --git a/res/css/structures/auth/_CompleteSecurity.scss b/res/css/structures/auth/_CompleteSecurity.scss
new file mode 100644
index 0000000000..601492d43c
--- /dev/null
+++ b/res/css/structures/auth/_CompleteSecurity.scss
@@ -0,0 +1,55 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_CompleteSecurity_header {
+ display: flex;
+ align-items: center;
+}
+
+.mx_CompleteSecurity_headerIcon {
+ width: 24px;
+ height: 24px;
+ margin-right: 4px;
+ position: relative;
+}
+
+.mx_CompleteSecurity_heroIcon {
+ width: 128px;
+ height: 128px;
+ position: relative;
+ margin: 0 auto;
+}
+
+.mx_CompleteSecurity_body {
+ font-size: 15px;
+}
+
+.mx_CompleteSecurity_waiting {
+ color: $notice-secondary-color;
+}
+
+.mx_CompleteSecurity_actionRow {
+ display: flex;
+ justify-content: flex-end;
+
+ .mx_AccessibleButton {
+ margin-inline-start: 18px;
+
+ &.warning {
+ color: $warning-color;
+ }
+ }
+}
diff --git a/res/css/views/auth/_AuthBody.scss b/res/css/views/auth/_AuthBody.scss
index b05629003e..7c5b008535 100644
--- a/res/css/views/auth/_AuthBody.scss
+++ b/res/css/views/auth/_AuthBody.scss
@@ -1,5 +1,6 @@
/*
Copyright 2019 New Vector Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -16,12 +17,12 @@ limitations under the License.
.mx_AuthBody {
width: 500px;
+ font-size: 12px;
+ color: $authpage-secondary-color;
background-color: $authpage-body-bg-color;
border-radius: 0 4px 4px 0;
padding: 25px 60px;
box-sizing: border-box;
- font-size: 12px;
- color: $authpage-secondary-color;
h2 {
font-size: 24px;
diff --git a/res/css/views/auth/_CompleteSecurityBody.scss b/res/css/views/auth/_CompleteSecurityBody.scss
new file mode 100644
index 0000000000..c7860fbe74
--- /dev/null
+++ b/res/css/views/auth/_CompleteSecurityBody.scss
@@ -0,0 +1,42 @@
+/*
+Copyright 2019 New Vector Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_CompleteSecurityBody {
+ width: 600px;
+ color: $authpage-primary-color;
+ background-color: $authpage-body-bg-color;
+ border-radius: 4px;
+ padding: 20px;
+ box-sizing: border-box;
+
+ h2 {
+ font-size: 24px;
+ font-weight: 600;
+ margin-top: 0;
+ }
+
+ h3 {
+ font-size: 14px;
+ font-weight: 600;
+ }
+
+ a:link,
+ a:hover,
+ a:visited {
+ @mixin mx_Dialog_link;
+ }
+}
diff --git a/res/css/views/dialogs/_DevtoolsDialog.scss b/res/css/views/dialogs/_DevtoolsDialog.scss
index 9d58c999c3..500c46b5fd 100644
--- a/res/css/views/dialogs/_DevtoolsDialog.scss
+++ b/res/css/views/dialogs/_DevtoolsDialog.scss
@@ -189,3 +189,37 @@ limitations under the License.
}
}
}
+
+.mx_DevTools_VerificationRequest {
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ padding: 1px 5px;
+ margin-bottom: 6px;
+ font-family: $monospace-font-family;
+
+ dl {
+ display: grid;
+ grid-template-columns: max-content auto;
+ margin: 0;
+ }
+
+ dd {
+ grid-column-start: 2;
+ }
+
+ dd:empty {
+ color: #666666;
+ &::after {
+ content: "(empty)";
+ }
+ }
+
+ dt {
+ font-weight: bold;
+ grid-column-start: 1;
+ }
+
+ dt::after {
+ content: ":";
+ }
+}
diff --git a/res/css/views/dialogs/_DMInviteDialog.scss b/res/css/views/dialogs/_InviteDialog.scss
similarity index 72%
rename from res/css/views/dialogs/_DMInviteDialog.scss
rename to res/css/views/dialogs/_InviteDialog.scss
index f806e85120..5e0893b8fd 100644
--- a/res/css/views/dialogs/_DMInviteDialog.scss
+++ b/res/css/views/dialogs/_InviteDialog.scss
@@ -14,11 +14,11 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-.mx_DMInviteDialog_addressBar {
+.mx_InviteDialog_addressBar {
display: flex;
flex-direction: row;
- .mx_DMInviteDialog_editor {
+ .mx_InviteDialog_editor {
flex: 1;
width: 100%; // Needed to make the Field inside grow
background-color: $user-tile-hover-bg-color;
@@ -28,7 +28,7 @@ limitations under the License.
overflow-x: hidden;
overflow-y: auto;
- .mx_DMInviteDialog_userTile {
+ .mx_InviteDialog_userTile {
display: inline-block;
float: left;
position: relative;
@@ -61,15 +61,26 @@ limitations under the License.
}
}
- .mx_DMInviteDialog_goButton {
- width: 48px;
+ .mx_InviteDialog_goButton {
+ min-width: 48px;
margin-left: 10px;
height: 25px;
line-height: 25px;
}
+
+ .mx_InviteDialog_buttonAndSpinner {
+ .mx_Spinner {
+ // Width and height are required to trick the layout engine.
+ width: 20px;
+ height: 20px;
+ margin-left: 5px;
+ display: inline-block;
+ vertical-align: middle;
+ }
+ }
}
-.mx_DMInviteDialog_section {
+.mx_InviteDialog_section {
padding-bottom: 10px;
h3 {
@@ -80,7 +91,7 @@ limitations under the License.
}
}
-.mx_DMInviteDialog_roomTile {
+.mx_InviteDialog_roomTile {
cursor: pointer;
padding: 5px 10px;
@@ -93,7 +104,7 @@ limitations under the License.
vertical-align: middle;
}
- .mx_DMInviteDialog_roomTile_avatarStack {
+ .mx_InviteDialog_roomTile_avatarStack {
display: inline-block;
position: relative;
width: 36px;
@@ -106,7 +117,7 @@ limitations under the License.
}
}
- .mx_DMInviteDialog_roomTile_selected {
+ .mx_InviteDialog_roomTile_selected {
width: 36px;
height: 36px;
border-radius: 36px;
@@ -120,7 +131,7 @@ limitations under the License.
height: 24px;
grid-column: 1;
grid-row: 1;
- mask-image: url('$(res)/img/feather-customised/check.svg');
+ mask-image: url("$(res)/img/feather-customised/check.svg");
mask-size: 100%;
mask-repeat: no-repeat;
position: absolute;
@@ -130,20 +141,20 @@ limitations under the License.
}
}
- .mx_DMInviteDialog_roomTile_name {
+ .mx_InviteDialog_roomTile_name {
font-weight: 600;
font-size: 14px;
color: $primary-fg-color;
margin-left: 7px;
}
- .mx_DMInviteDialog_roomTile_userId {
+ .mx_InviteDialog_roomTile_userId {
font-size: 12px;
color: $muted-fg-color;
margin-left: 7px;
}
- .mx_DMInviteDialog_roomTile_time {
+ .mx_InviteDialog_roomTile_time {
text-align: right;
font-size: 12px;
color: $muted-fg-color;
@@ -151,16 +162,16 @@ limitations under the License.
line-height: 36px; // Height of the avatar to keep the time vertically aligned
}
- .mx_DMInviteDialog_roomTile_highlight {
+ .mx_InviteDialog_roomTile_highlight {
font-weight: 900;
}
}
// Many of these styles are stolen from mx_UserPill, but adjusted for the invite dialog.
-.mx_DMInviteDialog_userTile {
+.mx_InviteDialog_userTile {
margin-right: 8px;
- .mx_DMInviteDialog_userTile_pill {
+ .mx_InviteDialog_userTile_pill {
background-color: $username-variant1-color;
border-radius: 12px;
display: inline-block;
@@ -170,28 +181,48 @@ limitations under the License.
padding-right: 8px;
color: #ffffff; // this is fine without a var because it's for both themes
- .mx_DMInviteDialog_userTile_avatar {
+ .mx_InviteDialog_userTile_avatar {
border-radius: 20px;
position: relative;
left: -5px;
top: 2px;
}
- img.mx_DMInviteDialog_userTile_avatar {
+ img.mx_InviteDialog_userTile_avatar {
vertical-align: top;
}
- .mx_DMInviteDialog_userTile_name {
+ .mx_InviteDialog_userTile_name {
vertical-align: top;
}
- .mx_DMInviteDialog_userTile_threepidAvatar {
+ .mx_InviteDialog_userTile_threepidAvatar {
background-color: #ffffff; // this is fine without a var because it's for both themes
}
}
- .mx_DMInviteDialog_userTile_remove {
+ .mx_InviteDialog_userTile_remove {
display: inline-block;
margin-left: 4px;
}
}
+
+.mx_InviteDialog {
+ // Prevent the dialog from jumping around randomly when elements change.
+ height: 590px;
+ padding-left: 20px; // the design wants some padding on the left
+}
+
+.mx_InviteDialog_userSections {
+ margin-top: 10px;
+ overflow-y: auto;
+ padding-right: 45px;
+ height: 455px; // mx_InviteDialog's height minus some for the upper elements
+}
+
+// Right margin for the design. We could apply this to the whole dialog, but then the scrollbar
+// for the user section gets weird.
+.mx_InviteDialog_helpText,
+.mx_InviteDialog_addressBar {
+ margin-right: 45px;
+}
diff --git a/res/css/views/dialogs/_KeyboardShortcutsDialog.scss b/res/css/views/dialogs/_KeyboardShortcutsDialog.scss
new file mode 100644
index 0000000000..638cacd41f
--- /dev/null
+++ b/res/css/views/dialogs/_KeyboardShortcutsDialog.scss
@@ -0,0 +1,65 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_KeyboardShortcutsDialog {
+ display: flex;
+ flex-wrap: wrap;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ flex-direction: column;
+ margin-bottom: -50px;
+ max-height: 1100px; // XXX: this may need adjusting when adding new shortcuts
+
+ .mx_KeyboardShortcutsDialog_category {
+ width: 33.3333%; // 3 columns
+ margin: 0 0 40px;
+
+ & > div {
+ padding-left: 5px;
+ }
+ }
+
+ h3 {
+ margin: 0 0 10px;
+ }
+
+ h5 {
+ margin: 15px 0 5px;
+ font-weight: normal;
+ }
+
+ kbd {
+ padding: 5px;
+ border-radius: 4px;
+ background-color: $reaction-row-button-bg-color;
+ margin-right: 5px;
+ min-width: 20px;
+ text-align: center;
+ display: inline-block;
+ border: 1px solid $kbd-border-color;
+ box-shadow: 0 2px $kbd-border-color;
+ margin-bottom: 4px;
+ text-transform: capitalize;
+
+ & + kbd {
+ margin-left: 5px;
+ }
+ }
+
+ .mx_KeyboardShortcutsDialog_inline div {
+ display: inline;
+ }
+}
diff --git a/res/css/views/dialogs/_NewSessionReviewDialog.scss b/res/css/views/dialogs/_NewSessionReviewDialog.scss
new file mode 100644
index 0000000000..7e35fe941e
--- /dev/null
+++ b/res/css/views/dialogs/_NewSessionReviewDialog.scss
@@ -0,0 +1,37 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_NewSessionReviewDialog_header {
+ display: flex;
+ align-items: center;
+ margin-top: 0;
+}
+
+.mx_NewSessionReviewDialog_headerIcon {
+ width: 24px;
+ height: 24px;
+ margin-right: 4px;
+ position: relative;
+}
+
+.mx_NewSessionReviewDialog_deviceName {
+ font-weight: 600;
+}
+
+.mx_NewSessionReviewDialog_deviceID {
+ font-size: 12px;
+ color: $notice-secondary-color;
+}
diff --git a/res/css/views/dialogs/_RoomSettingsDialog.scss b/res/css/views/dialogs/_RoomSettingsDialog.scss
index aa66e97f9e..2a4e62f9aa 100644
--- a/res/css/views/dialogs/_RoomSettingsDialog.scss
+++ b/res/css/views/dialogs/_RoomSettingsDialog.scss
@@ -56,16 +56,3 @@ limitations under the License.
mask-position: center;
}
-.mx_RoomSettingsDialog_BridgeList {
- padding: 0;
-}
-
-.mx_RoomSettingsDialog_BridgeList li {
- list-style-type: none;
- padding: 5px;
- margin-bottom: 5px;
- border-width: 1px 0px;
- border-color: #dee1f3;
- border-style: solid;
-}
-
diff --git a/res/css/views/dialogs/_RoomSettingsDialogBridges.scss b/res/css/views/dialogs/_RoomSettingsDialogBridges.scss
new file mode 100644
index 0000000000..a1793cc75e
--- /dev/null
+++ b/res/css/views/dialogs/_RoomSettingsDialogBridges.scss
@@ -0,0 +1,112 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_RoomSettingsDialog_BridgeList {
+ padding: 0;
+
+ .mx_AccessibleButton {
+ display: inline;
+ margin: 0;
+ padding: 0;
+ }
+}
+
+.mx_RoomSettingsDialog_BridgeList li {
+ list-style-type: none;
+ padding: 5px;
+ margin-bottom: 8px;
+ border-width: 1px 1px;
+ border-color: $primary-hairline-color;
+ border-style: solid;
+ border-radius: 5px;
+
+ .column-icon {
+ float: left;
+ padding-right: 10px;
+
+ * {
+ border-radius: 5px;
+ border: 1px solid $input-darker-bg-color;
+ }
+
+ .noProtocolIcon {
+ width: 48px;
+ height: 48px;
+ background: $input-darker-bg-color;
+ border-radius: 5px;
+ }
+
+ .protocol-icon {
+ float: left;
+ margin-right: 5px;
+ img {
+ border-radius: 5px;
+ border-width: 1px 1px;
+ border-color: $primary-hairline-color;
+ }
+ span {
+ /* Correct letter placement */
+ left: auto;
+ }
+ }
+ }
+
+ .column-data {
+ display: inline-block;
+ width: 85%;
+
+ > h3 {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ font-size: 16pt;
+ color: $primary-fg-color;
+ }
+
+ > * {
+ margin-top: 4px;
+ margin-bottom: 0;
+ }
+
+ .workspace-channel-details {
+ color: $primary-fg-color;
+ font-weight: 600;
+
+ .channel {
+ margin-left: 5px;
+ }
+ }
+
+ .mx_showMore {
+ display: block;
+ text-align: left;
+ margin-top: 10px;
+ }
+
+ .metadata {
+ color: $muted-fg-color;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ margin-bottom: 0;
+ }
+
+ .metadata.visible {
+ overflow-y: visible;
+ text-overflow: ellipsis;
+ white-space: normal;
+ }
+ }
+}
diff --git a/res/css/views/dialogs/_UnknownDeviceDialog.scss b/res/css/views/dialogs/_UnknownDeviceDialog.scss
index 02e0fb1fe5..2b0f8dceca 100644
--- a/res/css/views/dialogs/_UnknownDeviceDialog.scss
+++ b/res/css/views/dialogs/_UnknownDeviceDialog.scss
@@ -14,14 +14,6 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-// CSS voodoo to support a gemini-scrollbar for the contents of the dialog
-.mx_Dialog_unknownDevice .mx_Dialog {
- // ideally we'd shrink the height to fit when needed, but in practice this
- // is a pain in the ass. plus might as well make the dialog big given how
- // important it is.
- height: 100%;
-}
-
.mx_UnknownDeviceDialog {
height: 100%;
display: flex;
@@ -44,6 +36,7 @@ limitations under the License.
.mx_UnknownDeviceDialog .mx_Dialog_content {
margin-bottom: 24px;
+ overflow-y: scroll;
}
.mx_UnknownDeviceDialog_deviceList > li {
diff --git a/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss b/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss
index 04ee575867..b9babd05f5 100644
--- a/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss
+++ b/res/css/views/dialogs/keybackup/_CreateKeyBackupDialog.scss
@@ -85,3 +85,9 @@ limitations under the License.
flex: 1;
white-space: nowrap;
}
+
+.mx_CreateKeyBackupDialog {
+ details .mx_AccessibleButton {
+ margin: 1em 0; // emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules
+ }
+}
diff --git a/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss b/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss
index 5899abdf73..a9ebd54b31 100644
--- a/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss
+++ b/res/css/views/dialogs/secretstorage/_CreateSecretStorageDialog.scss
@@ -1,6 +1,6 @@
/*
Copyright 2018 New Vector Ltd
-Copyright 2019 The Matrix.org Foundation C.I.C.
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,6 +15,34 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+.mx_CreateSecretStorageDialog {
+ // Why you ask? Because CompleteSecurityBody is 600px so this is the width
+ // we end up when in there, but when in our own dialog we set our own width
+ // so need to fix it to something sensible as otherwise we'd end up either
+ // really wide or really narrow depending on the phase. I bet you wish you
+ // never asked.
+ width: 560px;
+
+ .mx_SettingsFlag {
+ display: flex;
+ }
+
+ .mx_SettingsFlag_label {
+ flex: 1 1 0;
+ min-width: 0;
+ font-weight: 600;
+ }
+
+ .mx_ToggleSwitch {
+ flex: 0 0 auto;
+ margin-left: 30px;
+ }
+
+ details .mx_AccessibleButton {
+ margin: 1em 0; // emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules
+ }
+}
+
.mx_CreateSecretStorageDialog .mx_Dialog_title {
/* TODO: Consider setting this for all dialog titles. */
margin-bottom: 1em;
@@ -22,7 +50,7 @@ limitations under the License.
.mx_CreateSecretStorageDialog_primaryContainer {
/* FIXME: plinth colour in new theme(s). background-color: $accent-color; */
- padding: 20px;
+ padding-top: 20px;
}
.mx_CreateSecretStorageDialog_primaryContainer::after {
@@ -36,9 +64,13 @@ limitations under the License.
align-items: flex-start;
}
+.mx_Field.mx_CreateSecretStorageDialog_passPhraseField {
+ margin-top: 0px;
+}
+
.mx_CreateSecretStorageDialog_passPhraseHelp {
flex: 1;
- height: 85px;
+ height: 64px;
margin-left: 20px;
font-size: 80%;
}
@@ -47,16 +79,8 @@ limitations under the License.
width: 100%;
}
-.mx_CreateSecretStorageDialog_passPhraseInput {
- flex: none;
- width: 250px;
- border: 1px solid $accent-color;
- border-radius: 5px;
- padding: 10px;
- margin-bottom: 1em;
-}
-
.mx_CreateSecretStorageDialog_passPhraseMatch {
+ width: 200px;
margin-left: 20px;
}
@@ -82,6 +106,10 @@ limitations under the License.
align-items: center;
}
+.mx_CreateSecretStorageDialog_recoveryKeyButtons .mx_AccessibleButton {
+ margin-right: 10px;
+}
+
.mx_CreateSecretStorageDialog_recoveryKeyButtons button {
flex: 1;
white-space: nowrap;
diff --git a/res/css/views/directory/_NetworkDropdown.scss b/res/css/views/directory/_NetworkDropdown.scss
index d402f6c48f..106392f880 100644
--- a/res/css/views/directory/_NetworkDropdown.scss
+++ b/res/css/views/directory/_NetworkDropdown.scss
@@ -1,5 +1,5 @@
/*
-Copyright 2015, 2016 OpenMarket Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,70 +15,149 @@ limitations under the License.
*/
.mx_NetworkDropdown {
+ height: 32px;
position: relative;
-}
+ width: max-content;
+ padding-right: 32px;
+ margin-left: auto;
+ margin-right: 9px;
+ margin-top: 12px;
-.mx_NetworkDropdown_input {
- position: relative;
- border-radius: 3px;
- border: 1px solid $strong-input-border-color;
- font-weight: 300;
- font-size: 13px;
- user-select: none;
-}
-
-.mx_NetworkDropdown_arrow {
- border-color: $primary-fg-color transparent transparent;
- border-style: solid;
- border-width: 5px 5px 0;
- display: block;
- height: 0;
- position: absolute;
- right: 10px;
- top: 16px;
- width: 0;
-}
-
-.mx_NetworkDropdown_networkoption {
- height: 37px;
- line-height: 37px;
- padding-left: 8px;
- padding-right: 8px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.mx_NetworkDropdown_networkoption img {
- margin: 5px;
- width: 25px;
- vertical-align: middle;
-}
-
-input.mx_NetworkDropdown_networkoption, input.mx_NetworkDropdown_networkoption:focus {
- border: 0;
- padding-top: 0;
- padding-bottom: 0;
+ .mx_AccessibleButton {
+ width: max-content;
+ }
}
.mx_NetworkDropdown_menu {
- position: absolute;
- left: -1px;
- right: -1px;
- top: 100%;
- z-index: 2;
+ min-width: 204px;
margin: 0;
- padding: 0px;
- border-radius: 3px;
- border: 1px solid $accent-color;
+ box-sizing: border-box;
+ border-radius: 4px;
+ border: 1px solid $dialog-close-fg-color;
background-color: $primary-bg-color;
}
-.mx_NetworkDropdown_menu .mx_NetworkDropdown_networkoption:hover {
- background-color: $focus-bg-color;
-}
-
.mx_NetworkDropdown_menu_network {
font-weight: bold;
}
+.mx_NetworkDropdown_server {
+ padding: 12px 0;
+ border-bottom: 1px solid $input-darker-fg-color;
+
+ .mx_NetworkDropdown_server_title {
+ padding: 0 10px;
+ font-size: 15px;
+ font-weight: 600;
+ line-height: 20px;
+ margin-bottom: 4px;
+
+ // remove server button
+ .mx_AccessibleButton {
+ position: absolute;
+ display: inline;
+ right: 12px;
+ height: 16px;
+ width: 16px;
+ margin-top: 4px;
+
+ &::after {
+ content: "";
+ position: absolute;
+ width: 16px;
+ height: 16px;
+ mask-repeat: no-repeat;
+ mask-position: center;
+ mask-size: contain;
+ mask-image: url('$(res)/img/feather-customised/x.svg');
+ background-color: $notice-primary-color;
+ }
+ }
+ }
+
+ .mx_NetworkDropdown_server_subtitle {
+ padding: 0 10px;
+ font-size: 10px;
+ line-height: 14px;
+ margin-top: -4px;
+ margin-bottom: 4px;
+ color: $muted-fg-color;
+ }
+
+ .mx_NetworkDropdown_server_network {
+ font-size: 12px;
+ line-height: 16px;
+ padding: 4px 10px;
+ cursor: pointer;
+ position: relative;
+
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ &[aria-checked=true]::after {
+ content: "";
+ position: absolute;
+ width: 16px;
+ height: 16px;
+ right: 10px;
+ mask-repeat: no-repeat;
+ mask-position: center;
+ mask-size: contain;
+ mask-image: url('$(res)/img/feather-customised/check.svg');
+ background-color: $input-valid-border-color;
+ }
+ }
+}
+
+.mx_NetworkDropdown_server_add,
+.mx_NetworkDropdown_server_network {
+ &:hover {
+ background-color: $header-panel-bg-color;
+ }
+}
+
+.mx_NetworkDropdown_server_add {
+ padding: 16px 10px 16px 32px;
+ position: relative;
+ border-radius: 0 0 4px 4px;
+
+ &::before {
+ content: "";
+ position: absolute;
+ width: 16px;
+ height: 16px;
+ left: 7px;
+ mask-repeat: no-repeat;
+ mask-position: center;
+ mask-size: contain;
+ mask-image: url('$(res)/img/feather-customised/plus.svg');
+ background-color: $muted-fg-color;
+ }
+}
+
+.mx_NetworkDropdown_handle {
+ position: relative;
+
+ &::after {
+ content: "";
+ position: absolute;
+ width: 24px;
+ height: 24px;
+ right: -28px; // - (24 + 4)
+ mask-repeat: no-repeat;
+ mask-position: center;
+ mask-size: contain;
+ mask-image: url('$(res)/img/feather-customised/chevron-down.svg');
+ background-color: $primary-fg-color;
+ }
+
+ .mx_NetworkDropdown_handle_server {
+ color: $muted-fg-color;
+ font-size: 12px;
+ }
+}
+
+.mx_NetworkDropdown_dialog .mx_Dialog {
+ width: 45vw;
+}
diff --git a/res/css/views/elements/_DirectorySearchBox.scss b/res/css/views/elements/_DirectorySearchBox.scss
index ef944f6fa0..75ef3fbabd 100644
--- a/res/css/views/elements/_DirectorySearchBox.scss
+++ b/res/css/views/elements/_DirectorySearchBox.scss
@@ -18,7 +18,6 @@ limitations under the License.
display: flex;
padding-left: 9px;
padding-right: 9px;
- margin: 0 5px 0 0 !important;
}
.mx_DirectorySearchBox_joinButton {
diff --git a/res/css/views/elements/_EditableItemList.scss b/res/css/views/elements/_EditableItemList.scss
index 51fa4c4423..ef60f006cc 100644
--- a/res/css/views/elements/_EditableItemList.scss
+++ b/res/css/views/elements/_EditableItemList.scss
@@ -20,14 +20,21 @@ limitations under the License.
}
.mx_EditableItem {
+ display: flex;
margin-bottom: 5px;
- margin-left: 15px;
}
.mx_EditableItem_delete {
+ order: 3;
margin-right: 5px;
cursor: pointer;
vertical-align: middle;
+ width: 14px;
+ height: 14px;
+ mask-image: url('$(res)/img/feather-customised/cancel.svg');
+ mask-repeat: no-repeat;
+ background-color: $warning-color;
+ mask-size: 100%;
}
.mx_EditableItem_email {
@@ -36,12 +43,19 @@ limitations under the License.
.mx_EditableItem_promptText {
margin-right: 10px;
+ order: 2;
}
.mx_EditableItem_confirmBtn {
margin-right: 5px;
}
+.mx_EditableItem_item {
+ flex: auto 1 0;
+ order: 1;
+}
+
.mx_EditableItemList_label {
margin-bottom: 5px;
}
+
diff --git a/res/css/views/elements/_RichText.scss b/res/css/views/elements/_RichText.scss
index 73f0be291f..5066ee10f3 100644
--- a/res/css/views/elements/_RichText.scss
+++ b/res/css/views/elements/_RichText.scss
@@ -13,6 +13,11 @@
padding-left: 5px;
}
+a.mx_Pill {
+ word-break: break-all;
+ display: inline;
+}
+
/* More specific to override `.markdown-body a` text-decoration */
.mx_EventTile_content .markdown-body a.mx_Pill {
text-decoration: none;
diff --git a/res/css/views/messages/_MKeyVerificationRequest.scss b/res/css/views/messages/_common_CryptoEvent.scss
similarity index 61%
rename from res/css/views/messages/_MKeyVerificationRequest.scss
rename to res/css/views/messages/_common_CryptoEvent.scss
index ee20751083..98e1e97e39 100644
--- a/res/css/views/messages/_MKeyVerificationRequest.scss
+++ b/res/css/views/messages/_common_CryptoEvent.scss
@@ -1,5 +1,5 @@
/*
-Copyright 2019 The Matrix.org Foundation C.I.C.
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,60 +14,62 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-.mx_KeyVerification {
+.mx_cryptoEvent {
display: grid;
grid-template-columns: 24px minmax(0, 1fr) min-content;
- &.mx_KeyVerification_icon::after {
+ &.mx_cryptoEvent_icon::after {
grid-column: 1;
grid-row: 1 / 3;
- width: 12px;
+ width: 16px;
height: 16px;
content: "";
- mask-image: url("$(res)/img/e2e/normal.svg");
- mask-repeat: no-repeat;
- mask-size: 100%;
+ background-image: url("$(res)/img/e2e/normal.svg");
+ background-repeat: no-repeat;
+ background-size: 100%;
margin-top: 4px;
- background-color: $primary-fg-color;
}
- &.mx_KeyVerification_icon_verified::after {
- mask-image: url("$(res)/img/e2e/verified.svg");
- background-color: $accent-color;
+ &.mx_cryptoEvent_icon_verified::after {
+ background-image: url("$(res)/img/e2e/verified.svg");
}
- .mx_KeyVerification_title, .mx_KeyVerification_subtitle, .mx_KeyVerification_state {
+ &.mx_cryptoEvent_icon_warning::after {
+ background-image: url("$(res)/img/e2e/warning.svg");
+ }
+
+ .mx_cryptoEvent_title, .mx_cryptoEvent_subtitle, .mx_cryptoEvent_state {
overflow-wrap: break-word;
}
- .mx_KeyVerification_title {
+ .mx_cryptoEvent_title {
font-weight: 600;
font-size: 15px;
grid-column: 2;
grid-row: 1;
}
- .mx_KeyVerification_subtitle {
+ .mx_cryptoEvent_subtitle {
grid-column: 2;
grid-row: 2;
}
- .mx_KeyVerification_state, .mx_KeyVerification_subtitle {
+ .mx_cryptoEvent_state, .mx_cryptoEvent_subtitle {
font-size: 12px;
}
- .mx_KeyVerification_state, .mx_KeyVerification_buttons {
+ .mx_cryptoEvent_state, .mx_cryptoEvent_buttons {
grid-column: 3;
grid-row: 1 / 3;
}
- .mx_KeyVerification_buttons {
+ .mx_cryptoEvent_buttons {
align-items: center;
display: flex;
}
- .mx_KeyVerification_state {
+ .mx_cryptoEvent_state {
width: 130px;
padding: 10px 20px;
margin: auto 0;
diff --git a/res/css/views/right_panel/_EncryptionInfo.scss b/res/css/views/right_panel/_EncryptionInfo.scss
new file mode 100644
index 0000000000..e13b1b6802
--- /dev/null
+++ b/res/css/views/right_panel/_EncryptionInfo.scss
@@ -0,0 +1,26 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_UserInfo {
+ .mx_EncryptionInfo_spinner {
+ .mx_Spinner {
+ margin-top: 25px;
+ margin-bottom: 15px;
+ }
+
+ text-align: center;
+ }
+}
diff --git a/res/css/views/right_panel/_UserInfo.scss b/res/css/views/right_panel/_UserInfo.scss
index e87fe06a94..0e4b1bda9e 100644
--- a/res/css/views/right_panel/_UserInfo.scss
+++ b/res/css/views/right_panel/_UserInfo.scss
@@ -23,15 +23,23 @@ limitations under the License.
font-size: 12px;
.mx_UserInfo_cancel {
- height: 16px;
- width: 16px;
- padding: 10px 0 10px 10px;
cursor: pointer;
- mask-image: url('$(res)/img/minimise.svg');
- mask-repeat: no-repeat;
- mask-position: 16px center;
- background-color: $rightpanel-button-color;
position: absolute;
+ top: 0;
+ border-radius: 4px;
+ background-color: $dark-panel-bg-color;
+ margin: 9px;
+ z-index: 1; // render on top of the right panel
+
+ div {
+ height: 16px;
+ width: 16px;
+ padding: 4px;
+ mask-image: url('$(res)/img/minimise.svg');
+ mask-repeat: no-repeat;
+ mask-position: 7px center;
+ background-color: $rightpanel-button-color;
+ }
}
h2 {
@@ -41,12 +49,17 @@ limitations under the License.
}
.mx_UserInfo_container {
- padding: 0 16px 16px 16px;
+ padding: 8px 16px;
+ }
+
+ .mx_UserInfo_separator {
border-bottom: 1px solid lightgray;
}
.mx_UserInfo_memberDetailsContainer {
+ padding-top: 0;
padding-bottom: 0;
+ margin-bottom: 8px;
}
.mx_RoomTile_nameContainer {
@@ -68,6 +81,7 @@ limitations under the License.
.mx_UserInfo_avatar > div {
max-width: 30vh;
margin: 0 auto;
+ transition: 0.5s;
}
.mx_UserInfo_avatar > div > div {
@@ -95,8 +109,9 @@ limitations under the License.
justify-content: center;
// override the calculated sizes so that the letter isn't HUGE
- font-size: 26px !important;
+ font-size: 56px !important;
width: 100% !important;
+ transition: font-size 0.5s;
}
.mx_UserInfo_avatar .mx_BaseAvatar.mx_BaseAvatar_image {
@@ -122,12 +137,19 @@ limitations under the License.
font-size: 18px;
line-height: 25px;
flex: 1;
- overflow-x: auto;
- max-height: 50px;
- display: flex;
justify-content: center;
align-items: center;
+ // limit to 2 lines, show an ellipsis if it overflows
+ // this looks webkit specific but is supported by Firefox 68+
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+
+ overflow: hidden;
+ word-break: break-all;
+ text-overflow: ellipsis;
+
.mx_E2EIcon {
margin: 5px;
}
@@ -196,10 +218,9 @@ limitations under the License.
padding-bottom: 16px;
}
- .mx_UserInfo_scrollContainer .mx_UserInfo_container {
+ .mx_UserInfo_container:not(.mx_UserInfo_separator) {
padding-top: 16px;
padding-bottom: 0;
- border-bottom: none;
> :not(h3) {
margin-left: 8px;
@@ -242,17 +263,25 @@ limitations under the License.
.mx_UserInfo_expand {
display: flex;
margin-top: 11px;
- color: $accent-color;
}
}
- .mx_UserInfo_verify {
+ .mx_UserInfo_wideButton {
display: block;
- background-color: $accent-color;
- color: $accent-fg-color;
- border-radius: 4px;
- padding: 7px 1.5em;
- text-align: center;
margin: 16px 0;
}
+ button.mx_UserInfo_wideButton {
+ width: 100%; // FIXME get rid of this once we get rid of DialogButtons here
+ }
+}
+
+.mx_UserInfo.mx_UserInfo_smallAvatar {
+ .mx_UserInfo_avatar > div {
+ max-width: 72px;
+ margin: 0 auto;
+ }
+
+ .mx_UserInfo_avatar .mx_BaseAvatar_initial {
+ font-size: 40px !important; // override the other override because here the avatar is smaller
+ }
}
diff --git a/res/css/views/right_panel/_VerificationPanel.scss b/res/css/views/right_panel/_VerificationPanel.scss
new file mode 100644
index 0000000000..459622b277
--- /dev/null
+++ b/res/css/views/right_panel/_VerificationPanel.scss
@@ -0,0 +1,121 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_UserInfo {
+ .mx_EncryptionPanel_cancel {
+ mask: url('$(res)/img/feather-customised/cancel.svg');
+ mask-repeat: no-repeat;
+ mask-position: center;
+ mask-size: cover;
+ width: 14px;
+ height: 14px;
+ background-color: $settings-subsection-fg-color;
+ cursor: pointer;
+ position: absolute;
+ z-index: 100;
+ top: 14px;
+ right: 14px;
+ }
+
+ .mx_VerificationPanel_verified_section .mx_E2EIcon {
+ // Override general user info margin
+ margin: 0 auto !important;
+ }
+
+ .mx_VerificationPanel_qrCode {
+ padding: 4px 4px 0 4px;
+ background: white;
+ border-radius: 4px;
+ width: max-content;
+ max-width: 100%;
+ // Override general user info margin
+ margin: 0 auto !important;
+
+ canvas {
+ // override height and width which are set on the element directly
+ height: auto !important;
+ width: 100% !important;
+ max-width: 240px;
+ }
+ }
+}
+
+// Special case styling for EncryptionPanel in a Modal dialog
+.mx_Dialog, .mx_CompleteSecurity_body {
+ .mx_VerificationPanel_QRPhase_startOptions {
+ display: flex;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ align-items: stretch;
+
+ > .mx_VerificationPanel_QRPhase_betweenText {
+ width: 50px;
+ vertical-align: middle;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .mx_VerificationPanel_QRPhase_startOption {
+ background-color: $user-tile-hover-bg-color;
+ border-radius: 10px;
+ flex: 1;
+ display: flex;
+ padding: 10px;
+ align-items: center;
+ flex-direction: column;
+ position: relative;
+
+ canvas, .mx_VerificationPanel_QRPhase_noQR {
+ width: 220px !important;
+ height: 220px !important;
+ background-color: #fff;
+ border-radius: 4px;
+ vertical-align: middle;
+ text-align: center;
+ padding: 10px;
+ }
+
+ > p {
+ font-weight: 700;
+ }
+
+ .mx_VerificationPanel_QRPhase_helpText {
+ font-size: 14px;
+ margin-top: 71px;
+ text-align: center;
+ }
+
+ .mx_AccessibleButton {
+ position: absolute;
+ bottom: 30px;
+ }
+ }
+ }
+
+ // EncryptionPanel when verification is done
+ .mx_VerificationPanel_verified_section {
+ // center the big shield icon
+ .mx_E2EIcon {
+ margin: 0 auto;
+ }
+ // right align the "Got it" button
+ .mx_AccessibleButton {
+ float: right;
+ }
+ }
+}
diff --git a/res/css/views/room_settings/_AliasSettings.scss b/res/css/views/room_settings/_AliasSettings.scss
index d4ae58e5b0..f8d92e7828 100644
--- a/res/css/views/room_settings/_AliasSettings.scss
+++ b/res/css/views/room_settings/_AliasSettings.scss
@@ -26,3 +26,21 @@ limitations under the License.
outline: none;
box-shadow: none;
}
+
+.mx_AliasSettings {
+ summary {
+ cursor: pointer;
+ color: $accent-color;
+ font-weight: 600;
+ list-style: none;
+
+ // list-style doesn't do it for webkit
+ &::-webkit-details-marker {
+ display: none;
+ }
+ }
+
+ .mx_AliasSettings_localAliasHeader {
+ margin-top: 35px;
+ }
+}
diff --git a/res/css/views/rooms/_EntityTile.scss b/res/css/views/rooms/_EntityTile.scss
index 2b6b31acb4..a2867de3a7 100644
--- a/res/css/views/rooms/_EntityTile.scss
+++ b/res/css/views/rooms/_EntityTile.scss
@@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -19,6 +20,15 @@ limitations under the License.
align-items: center;
color: $primary-fg-color;
cursor: pointer;
+
+ .mx_E2EIcon {
+ margin: 0;
+ position: absolute;
+ bottom: 2px;
+ right: 7px;
+ height: 15px;
+ width: 15px;
+ }
}
.mx_EntityTile:hover {
@@ -30,7 +40,7 @@ limitations under the License.
content: "";
position: absolute;
top: calc(50% - 8px); // center
- right: 10px;
+ right: -8px;
mask: url('$(res)/img/member_chevron.png');
mask-repeat: no-repeat;
width: 16px;
@@ -64,14 +74,6 @@ limitations under the License.
position: relative;
}
-.mx_EntityTile_power {
- position: absolute;
- width: 16px;
- height: 17px;
- top: 0px;
- right: 6px;
-}
-
.mx_EntityTile_name,
.mx_GroupRoomTile_name {
flex: 1 1 0;
@@ -83,6 +85,7 @@ limitations under the License.
.mx_EntityTile_details {
overflow: hidden;
+ flex: 1;
}
.mx_EntityTile_ellipsis .mx_EntityTile_name {
@@ -112,10 +115,6 @@ limitations under the License.
opacity: 0.25;
}
-.mx_EntityTile:not(.mx_EntityTile_noHover):hover .mx_EntityTile_name {
- font-size: 13px;
-}
-
.mx_EntityTile_subtext {
font-size: 11px;
opacity: 0.5;
@@ -123,3 +122,17 @@ limitations under the License.
white-space: nowrap;
text-overflow: clip;
}
+
+.mx_EntityTile_power {
+ padding-inline-start: 6px;
+ font-size: 10px;
+ color: $notice-secondary-color;
+ max-width: 6em;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.mx_EntityTile:hover .mx_EntityTile_power {
+ display: none;
+}
diff --git a/res/css/views/rooms/_EventTile.scss b/res/css/views/rooms/_EventTile.scss
index fbac1e932a..2fa9994155 100644
--- a/res/css/views/rooms/_EventTile.scss
+++ b/res/css/views/rooms/_EventTile.scss
@@ -112,8 +112,6 @@ limitations under the License.
.mx_EventTile_line, .mx_EventTile_reply {
position: relative;
- /* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */
- margin-right: 110px;
padding-left: 65px; /* left gutter */
padding-top: 4px;
padding-bottom: 2px;
@@ -122,6 +120,13 @@ limitations under the License.
line-height: 22px;
}
+.mx_RoomView_timeline_rr_enabled {
+ .mx_EventTile_line, .mx_EventTile_reply {
+ /* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */
+ margin-right: 110px;
+ }
+}
+
.mx_EventTile_bubbleContainer {
display: grid;
grid-template-columns: 1fr 100px;
@@ -367,6 +372,11 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
opacity: 1;
}
+.mx_EventTile_e2eIcon_unknown {
+ background-image: url('$(res)/img/e2e/warning.svg');
+ opacity: 1;
+}
+
.mx_EventTile_e2eIcon_unencrypted {
background-image: url('$(res)/img/e2e/warning.svg');
opacity: 1;
@@ -415,7 +425,8 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
}
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line,
-.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line {
+.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line,
+.mx_EventTile:hover.mx_EventTile_unknown .mx_EventTile_line {
padding-left: 60px;
}
@@ -427,8 +438,13 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
border-left: $e2e-unverified-color 5px solid;
}
+.mx_EventTile:hover.mx_EventTile_unknown .mx_EventTile_line {
+ border-left: $e2e-unknown-color 5px solid;
+}
+
.mx_EventTile:hover.mx_EventTile_verified.mx_EventTile_info .mx_EventTile_line,
-.mx_EventTile:hover.mx_EventTile_unverified.mx_EventTile_info .mx_EventTile_line {
+.mx_EventTile:hover.mx_EventTile_unverified.mx_EventTile_info .mx_EventTile_line,
+.mx_EventTile:hover.mx_EventTile_unknown.mx_EventTile_info .mx_EventTile_line {
padding-left: 78px;
}
@@ -439,14 +455,16 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line > a > .mx_MessageTimestamp,
-.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line > a > .mx_MessageTimestamp {
+.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line > a > .mx_MessageTimestamp,
+.mx_EventTile:hover.mx_EventTile_unknown .mx_EventTile_line > a > .mx_MessageTimestamp {
left: 3px;
width: auto;
}
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line > .mx_EventTile_e2eIcon,
-.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line > .mx_EventTile_e2eIcon {
+.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line > .mx_EventTile_e2eIcon,
+.mx_EventTile:hover.mx_EventTile_unknown .mx_EventTile_line > .mx_EventTile_e2eIcon {
display: block;
left: 41px;
}
diff --git a/res/css/views/rooms/_InviteOnlyIcon.scss b/res/css/views/rooms/_InviteOnlyIcon.scss
new file mode 100644
index 0000000000..b71fd6348d
--- /dev/null
+++ b/res/css/views/rooms/_InviteOnlyIcon.scss
@@ -0,0 +1,58 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+@define-mixin mx_InviteOnlyIcon {
+ width: 12px;
+ height: 12px;
+ position: relative;
+ display: block !important;
+}
+
+@define-mixin mx_InviteOnlyIcon_padlock {
+ background-color: $roomtile-name-color;
+ mask-image: url("$(res)/img/feather-customised/lock-solid.svg");
+ mask-position: center;
+ mask-repeat: no-repeat;
+ mask-size: contain;
+ content: "";
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+
+.mx_InviteOnlyIcon_large {
+ @mixin mx_InviteOnlyIcon;
+ margin: 0 4px;
+
+ &::before {
+ @mixin mx_InviteOnlyIcon_padlock;
+ width: 12px;
+ height: 12px;
+ }
+}
+
+.mx_InviteOnlyIcon_small {
+ @mixin mx_InviteOnlyIcon;
+ left: -2px;
+
+ &::before {
+ @mixin mx_InviteOnlyIcon_padlock;
+ width: 10px;
+ height: 10px;
+ }
+}
diff --git a/res/css/views/rooms/_MessageComposer.scss b/res/css/views/rooms/_MessageComposer.scss
index 5efca51844..a05b4c0c0e 100644
--- a/res/css/views/rooms/_MessageComposer.scss
+++ b/res/css/views/rooms/_MessageComposer.scss
@@ -76,6 +76,8 @@ limitations under the License.
left: 60px;
margin-right: 0; // Counteract the E2EIcon class
margin-left: 3px; // Counteract the E2EIcon class
+ width: 15px;
+ height: 15px;
}
.mx_MessageComposer_noperm_error {
diff --git a/res/css/views/rooms/_RoomBreadcrumbs.scss b/res/css/views/rooms/_RoomBreadcrumbs.scss
index 67350aac34..3858d836e6 100644
--- a/res/css/views/rooms/_RoomBreadcrumbs.scss
+++ b/res/css/views/rooms/_RoomBreadcrumbs.scss
@@ -41,7 +41,7 @@ limitations under the License.
overflow-x: visible;
}
- .mx_AutoHideScrollbar_offset {
+ .mx_AutoHideScrollbar {
display: flex;
flex-direction: row;
height: 100%;
diff --git a/res/css/views/rooms/_RoomHeader.scss b/res/css/views/rooms/_RoomHeader.scss
index 45b9733faa..47b8131ef0 100644
--- a/res/css/views/rooms/_RoomHeader.scss
+++ b/res/css/views/rooms/_RoomHeader.scss
@@ -19,7 +19,12 @@ limitations under the License.
border-bottom: 1px solid $primary-hairline-color;
.mx_E2EIcon {
- margin: 0 5px;
+ margin: 0;
+ position: absolute;
+ bottom: -2px;
+ right: -6px;
+ height: 15px;
+ width: 15px;
}
}
@@ -171,6 +176,7 @@ limitations under the License.
width: 28px;
height: 28px;
margin: 0 7px;
+ position: relative;
}
.mx_RoomHeader_avatar .mx_BaseAvatar_image {
@@ -263,24 +269,3 @@ limitations under the License.
.mx_RoomHeader_pinsIndicatorUnread {
background-color: $pinned-unread-color;
}
-
-.mx_RoomHeader_PrivateIcon.mx_RoomHeader_isPrivate {
- width: 12px;
- height: 12px;
- position: relative;
- display: block !important;
-
- &::before {
- background-color: $roomtile-name-color;
- mask-image: url('$(res)/img/feather-customised/lock-solid.svg');
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- content: '';
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- }
-}
diff --git a/res/css/views/rooms/_RoomPreviewBar.scss b/res/css/views/rooms/_RoomPreviewBar.scss
index c7d03e3523..981cf06c69 100644
--- a/res/css/views/rooms/_RoomPreviewBar.scss
+++ b/res/css/views/rooms/_RoomPreviewBar.scss
@@ -33,6 +33,13 @@ limitations under the License.
}
}
+ h3,
+ .mx_RoomPreviewBar_message p {
+ // break-word, with fallback to break-all, which is wider supported
+ word-break: break-all;
+ word-break: break-word;
+ }
+
.mx_Spinner {
width: auto;
height: auto;
@@ -117,12 +124,17 @@ limitations under the License.
.mx_RoomPreviewBar_actions {
flex-direction: column-reverse;
.mx_AccessibleButton {
- padding: 7px 50px;//extra wide
+ padding: 7px 50px; //extra wide
}
& > * {
margin-top: 12px;
}
+ .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
+ // to account for the padding of the primary button which causes inconsistent look between
+ // subsequent secondary (text) buttons
+ margin-bottom: 7px;
+ }
}
}
diff --git a/res/css/views/rooms/_RoomTile.scss b/res/css/views/rooms/_RoomTile.scss
index cb1137bb2f..31d887cbbb 100644
--- a/res/css/views/rooms/_RoomTile.scss
+++ b/res/css/views/rooms/_RoomTile.scss
@@ -98,9 +98,22 @@ limitations under the License.
z-index: 2;
}
+// Note we match .mx_E2EIcon to make sure this matches more tightly than just
+// .mx_E2EIcon on its own
+.mx_RoomTile_e2eIcon.mx_E2EIcon {
+ height: 14px;
+ width: 14px;
+ display: block;
+ position: absolute;
+ bottom: -2px;
+ right: -5px;
+ z-index: 1;
+ margin: 0;
+}
+
.mx_RoomTile_name {
font-size: 14px;
- padding: 0 6px;
+ padding: 0 4px;
color: $roomtile-name-color;
white-space: nowrap;
overflow-x: hidden;
@@ -142,10 +155,11 @@ limitations under the License.
}
}
-// toggle menuButton and badge on hover/menu displayed
+// toggle menuButton and badge on menu displayed
.mx_RoomTile_menuDisplayed,
// or on keyboard focus of room tile
-.mx_RoomTile.focus-visible:focus-within,
+.mx_LeftPanel_container:not(.collapsed) .mx_RoomTile:focus-within,
+// or on pointer hover
.mx_LeftPanel_container:not(.collapsed) .mx_RoomTile:hover {
.mx_RoomTile_menuButton {
display: block;
@@ -200,31 +214,3 @@ limitations under the License.
.mx_GroupInviteTile .mx_RoomTile_name {
flex: 1;
}
-
-.mx_RoomTile.mx_RoomTile.mx_RoomTile_isPrivate .mx_RoomTile_name {
- // Scoot the padding in a bit from 6px to make it look better
- padding-left: 3px;
-}
-
-.mx_RoomTile.mx_RoomTile_isPrivate .mx_RoomTile_PrivateIcon {
- width: 12px;
- height: 12px;
- position: relative;
- display: block !important;
- // Align the padlock with unencrypted room names
- margin-left: 6px;
-
- &::before {
- background-color: $roomtile-name-color;
- mask-image: url('$(res)/img/feather-customised/lock-solid.svg');
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- content: '';
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- }
-}
diff --git a/res/css/views/rooms/_SearchableEntityList.scss b/res/css/views/rooms/_SearchableEntityList.scss
deleted file mode 100644
index 37a663123d..0000000000
--- a/res/css/views/rooms/_SearchableEntityList.scss
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2016 OpenMarket Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-.mx_SearchableEntityList {
- display: flex;
-
- flex-direction: column;
-}
-
-.mx_SearchableEntityList_query {
- font-family: $font-family;
- border-radius: 3px;
- border: 1px solid $input-border-color;
- padding: 9px;
- color: $primary-fg-color;
- background-color: $primary-bg-color;
- margin-left: 3px;
- font-size: 15px;
- margin-bottom: 8px;
- width: 189px;
-}
-
-.mx_SearchableEntityList_query::-moz-placeholder {
- color: $primary-fg-color;
- opacity: 0.5;
- font-size: 12px;
-}
-
-.mx_SearchableEntityList_query::-webkit-input-placeholder {
- color: $primary-fg-color;
- opacity: 0.5;
- font-size: 12px;
-}
-
-.mx_SearchableEntityList_listWrapper {
- flex: 1;
-
- overflow-y: auto;
-}
-
-.mx_SearchableEntityList_list {
- display: table;
- table-layout: fixed;
- width: 100%;
-}
-
-.mx_SearchableEntityList_list .mx_EntityTile_chevron {
- display: none;
-}
-
-.mx_SearchableEntityList_hrWrapper {
- width: 100%;
- flex: 0 0 auto;
-}
-
-.mx_SearchableEntityList hr {
- height: 1px;
- border: 0px;
- color: $primary-fg-color;
- background-color: $primary-fg-color;
- margin-right: 15px;
- margin-top: 11px;
- margin-bottom: 11px;
-}
diff --git a/res/css/views/rooms/_TopUnreadMessagesBar.scss b/res/css/views/rooms/_TopUnreadMessagesBar.scss
index 77f19dac1c..28eddf1fa2 100644
--- a/res/css/views/rooms/_TopUnreadMessagesBar.scss
+++ b/res/css/views/rooms/_TopUnreadMessagesBar.scss
@@ -25,19 +25,16 @@ limitations under the License.
}
.mx_TopUnreadMessagesBar::after {
- content: "·";
+ content: "";
position: absolute;
top: -8px;
left: 11px;
- width: 16px;
- height: 16px;
+ width: 4px;
+ height: 4px;
border-radius: 16px;
- font-weight: 600;
- font-size: 30px;
- line-height: 14px;
- text-align: center;
- color: $secondary-accent-color;
- background-color: $accent-color;
+ background-color: $secondary-accent-color;
+ border: 6px solid $accent-color;
+ pointer-events: none;
}
.mx_TopUnreadMessagesBar_scrollUp {
@@ -54,8 +51,30 @@ limitations under the License.
position: absolute;
width: 38px;
height: 38px;
- mask: url('$(res)/img/icon-jump-to-first-unread.svg');
+ mask-image: url('$(res)/img/icon-jump-to-first-unread.svg');
mask-repeat: no-repeat;
mask-position: 9px 13px;
background: $roomtile-name-color;
}
+
+.mx_TopUnreadMessagesBar_markAsRead {
+ display: block;
+ width: 18px;
+ height: 18px;
+ background: $primary-bg-color;
+ border: 1.3px solid $roomtile-name-color;
+ border-radius: 10px;
+ margin: 5px auto;
+}
+
+.mx_TopUnreadMessagesBar_markAsRead::before {
+ content: "";
+ position: absolute;
+ width: 18px;
+ height: 18px;
+ mask-image: url('$(res)/img/cancel.svg');
+ mask-repeat: no-repeat;
+ mask-size: 10px;
+ mask-position: 4px 4px;
+ background: $roomtile-name-color;
+}
diff --git a/res/css/views/rooms/_WhoIsTypingTile.scss b/res/css/views/rooms/_WhoIsTypingTile.scss
index ef20c24c84..579ea7e73e 100644
--- a/res/css/views/rooms/_WhoIsTypingTile.scss
+++ b/res/css/views/rooms/_WhoIsTypingTile.scss
@@ -31,14 +31,15 @@ limitations under the License.
margin-left: -12px;
}
-.mx_WhoIsTypingTile_avatars .mx_BaseAvatar_image {
- border: 1px solid $primary-bg-color;
-}
-
.mx_WhoIsTypingTile_avatars .mx_BaseAvatar_initial {
padding-top: 1px;
}
+.mx_WhoIsTypingTile_avatars .mx_BaseAvatar {
+ border: 1px solid $primary-bg-color;
+ border-radius: 40px;
+}
+
.mx_WhoIsTypingTile_remainingAvatarPlaceholder {
position: relative;
display: inline-block;
diff --git a/res/css/views/settings/_DevicesPanel.scss b/res/css/views/settings/_DevicesPanel.scss
index 581ff47fc1..49debe842f 100644
--- a/res/css/views/settings/_DevicesPanel.scss
+++ b/res/css/views/settings/_DevicesPanel.scss
@@ -18,7 +18,7 @@ limitations under the License.
display: table;
table-layout: fixed;
width: 880px;
- border-spacing: 2px;
+ border-spacing: 10px;
}
.mx_DevicesPanel_header {
@@ -32,7 +32,11 @@ limitations under the License.
.mx_DevicesPanel_header > div {
display: table-cell;
- vertical-align: bottom;
+ vertical-align: middle;
+}
+
+.mx_DevicesPanel_header .mx_DevicesPanel_deviceName {
+ width: 50%;
}
.mx_DevicesPanel_header .mx_DevicesPanel_deviceLastSeen {
diff --git a/res/css/views/settings/_E2eAdvancedPanel.scss b/res/css/views/settings/_E2eAdvancedPanel.scss
new file mode 100644
index 0000000000..9e32685d12
--- /dev/null
+++ b/res/css/views/settings/_E2eAdvancedPanel.scss
@@ -0,0 +1,20 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_E2eAdvancedPanel_settingLongDescription {
+ margin-right: 150px;
+}
+
diff --git a/res/css/views/settings/tabs/_SettingsTab.scss b/res/css/views/settings/tabs/_SettingsTab.scss
index 794c8106be..01a1d94956 100644
--- a/res/css/views/settings/tabs/_SettingsTab.scss
+++ b/res/css/views/settings/tabs/_SettingsTab.scss
@@ -45,9 +45,17 @@ limitations under the License.
margin: 10px 100px 10px 0; // Align with the rest of the view
}
-.mx_SettingsTab_section .mx_SettingsFlag {
- margin-right: 100px;
- margin-bottom: 10px;
+.mx_SettingsTab_section {
+ margin-bottom: 24px;
+
+ .mx_SettingsFlag {
+ margin-right: 100px;
+ margin-bottom: 10px;
+ }
+
+ &.mx_SettingsTab_subsectionText .mx_SettingsFlag {
+ margin-right: 0px !important;
+ }
}
.mx_SettingsTab_section .mx_SettingsFlag .mx_SettingsFlag_label {
diff --git a/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss b/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss
index d003e175d9..be0af9123b 100644
--- a/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss
+++ b/res/css/views/settings/tabs/user/_PreferencesUserSettingsTab.scss
@@ -14,6 +14,12 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-.mx_PreferencesUserSettingsTab .mx_Field {
- @mixin mx_Settings_fullWidthField;
+.mx_PreferencesUserSettingsTab {
+ .mx_Field {
+ @mixin mx_Settings_fullWidthField;
+ }
+
+ .mx_SettingsTab_section {
+ margin-bottom: 30px;
+ }
}
diff --git a/res/css/views/verification/_VerificationShowSas.scss b/res/css/views/verification/_VerificationShowSas.scss
index a0da7e2539..5038d40b73 100644
--- a/res/css/views/verification/_VerificationShowSas.scss
+++ b/res/css/views/verification/_VerificationShowSas.scss
@@ -1,5 +1,6 @@
/*
Copyright 2019 New Vector Ltd.
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -28,21 +29,35 @@ limitations under the License.
.mx_VerificationShowSas_emojiSas {
text-align: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ margin: 25px 0;
}
.mx_VerificationShowSas_emojiSas_block {
display: inline-block;
- margin-left: 15px;
- margin-right: 15px;
- text-align: center;
- margin-bottom: 20px;
+ margin-bottom: 16px;
+ position: relative;
+ width: 52px;
+}
+
+.mx_Dialog .mx_VerificationShowSas_emojiSas_block,
+.mx_AuthPage_modal .mx_VerificationShowSas_emojiSas_block {
+ width: 60px;
}
.mx_VerificationShowSas_emojiSas_emoji {
- font-size: 48px;
+ font-size: 32px;
}
.mx_VerificationShowSas_emojiSas_label {
- text-align: center;
- font-weight: bold;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-size: 12px;
+}
+
+.mx_VerificationShowSas_emojiSas_break {
+ flex-basis: 100%;
}
diff --git a/res/img/admin.svg b/res/img/admin.svg
deleted file mode 100644
index 7ea7459304..0000000000
--- a/res/img/admin.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
diff --git a/res/img/feather-customised/chevron-down.svg b/res/img/feather-customised/chevron-down.svg
new file mode 100644
index 0000000000..bcb185ede7
--- /dev/null
+++ b/res/img/feather-customised/chevron-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/res/img/icons-settings-room.svg b/res/img/icons-settings-room.svg
deleted file mode 100644
index 421eefdefa..0000000000
--- a/res/img/icons-settings-room.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/res/img/mod.svg b/res/img/mod.svg
deleted file mode 100644
index 847baf98f9..0000000000
--- a/res/img/mod.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
diff --git a/res/themes/dark/css/_dark.scss b/res/themes/dark/css/_dark.scss
index a3515a9d99..bfa2272283 100644
--- a/res/themes/dark/css/_dark.scss
+++ b/res/themes/dark/css/_dark.scss
@@ -165,6 +165,8 @@ $reaction-row-button-hover-border-color: $header-panel-text-primary-color;
$reaction-row-button-selected-bg-color: #1f6954;
$reaction-row-button-selected-border-color: $accent-color;
+$kbd-border-color: #000000;
+
$tooltip-timeline-bg-color: $tagpanel-bg-color;
$tooltip-timeline-fg-color: #ffffff;
@@ -219,10 +221,6 @@ $user-tile-hover-bg-color: $header-panel-bg-color;
filter: invert(1);
}
-.gm-scrollbar .thumb {
- filter: invert(1);
-}
-
// markdown overrides:
.mx_EventTile_content .markdown-body pre:hover {
border-color: #808080 !important; // inverted due to rules below
diff --git a/res/themes/light/css/_light.scss b/res/themes/light/css/_light.scss
index 288fb3cadc..9bdd712e07 100644
--- a/res/themes/light/css/_light.scss
+++ b/res/themes/light/css/_light.scss
@@ -5,9 +5,12 @@
Arial empirically gets it right, hence prioritising Arial here. */
/* We fall through to Twemoji for emoji rather than falling through
to native Emoji fonts (if any) to ensure cross-browser consistency */
-$font-family: Nunito, Twemoji, 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', Arial, Helvetica, Sans-Serif;
+/* Noto Color Emoji contains digits, in fixed-width, therefore causing
+ digits in flowed text to stand out.
+ TODO: Consider putting all emoji fonts to the end rather than the front. */
+$font-family: Nunito, Twemoji, 'Apple Color Emoji', 'Segoe UI Emoji', Arial, Helvetica, Sans-Serif, 'Noto Color Emoji';
-$monospace-font-family: Inconsolata, Twemoji, 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', Courier, monospace;
+$monospace-font-family: Inconsolata, Twemoji, 'Apple Color Emoji', 'Segoe UI Emoji', Courier, monospace, 'Noto Color Emoji';
// unified palette
// try to use these colors when possible
@@ -224,6 +227,7 @@ $copy-button-url: "$(res)/img/icon_copy_message.svg";
// e2e
$e2e-verified-color: #76cfa5; // N.B. *NOT* the same as $accent-color
+$e2e-unknown-color: #e8bf37;
$e2e-unverified-color: #e8bf37;
$e2e-warning-color: #ba6363;
@@ -286,6 +290,8 @@ $reaction-row-button-hover-border-color: $focus-bg-color;
$reaction-row-button-selected-bg-color: #e9fff9;
$reaction-row-button-selected-border-color: $accent-color;
+$kbd-border-color: $reaction-row-button-border-color;
+
$tooltip-timeline-bg-color: $tagpanel-bg-color;
$tooltip-timeline-fg-color: #ffffff;
diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh
deleted file mode 100755
index 0b1fa23093..0000000000
--- a/scripts/ci/build.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-#
-# script which is run by the CI build (after `yarn test`).
-#
-# clones riot-web develop and runs the tests against our version of react-sdk.
-
-set -ev
-
-RIOT_WEB_DIR=riot-web
-REACT_SDK_DIR=`pwd`
-
-yarn link
-
-scripts/fetchdep.sh vector-im riot-web
-
-pushd "$RIOT_WEB_DIR"
-
-yarn link matrix-js-sdk
-yarn link matrix-react-sdk
-
-yarn install
-
-yarn build
-
-popd
diff --git a/scripts/ci/end-to-end-tests.sh b/scripts/ci/end-to-end-tests.sh
index a592888292..2f907dffa2 100755
--- a/scripts/ci/end-to-end-tests.sh
+++ b/scripts/ci/end-to-end-tests.sh
@@ -6,30 +6,23 @@
set -ev
-upload_logs() {
- echo "--- Uploading logs"
- buildkite-agent artifact upload "logs/**/*;synapse/installations/consent/homeserver.log"
-}
-
handle_error() {
EXIT_CODE=$?
- if [ $TESTS_STARTED -eq 1 ]; then
- upload_logs
- fi
exit $EXIT_CODE
}
trap 'handle_error' ERR
-RIOT_WEB_DIR=riot-web
-REACT_SDK_DIR=`pwd`
-
echo "--- Building Riot"
-scripts/ci/build.sh
+scripts/ci/layered-riot-web.sh
+cd ../riot-web
+riot_web_dir=`pwd`
+CI_PACKAGE=true yarn build
+cd ../matrix-react-sdk
# run end to end tests
pushd test/end-to-end-tests
-ln -s $REACT_SDK_DIR/$RIOT_WEB_DIR riot/riot-web
+ln -s $riot_web_dir riot/riot-web
# PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true ./install.sh
# CHROME_PATH=$(which google-chrome-stable) ./run.sh
echo "--- Install synapse & other dependencies"
diff --git a/scripts/ci/install-deps.sh b/scripts/ci/install-deps.sh
index a2e2e59a45..14b5fc5393 100755
--- a/scripts/ci/install-deps.sh
+++ b/scripts/ci/install-deps.sh
@@ -6,9 +6,9 @@ scripts/fetchdep.sh matrix-org matrix-js-sdk
pushd matrix-js-sdk
yarn link
-yarn install
+yarn install $@
yarn build
popd
yarn link matrix-js-sdk
-yarn install
+yarn install $@
diff --git a/scripts/ci/layered-riot-web.sh b/scripts/ci/layered-riot-web.sh
new file mode 100755
index 0000000000..f58794b451
--- /dev/null
+++ b/scripts/ci/layered-riot-web.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Creates an environment similar to one that riot-web would expect for
+# development. This means going one directory up (and assuming we're in
+# a directory like /workdir/matrix-react-sdk) and putting riot-web and
+# the js-sdk there.
+
+cd ../ # Assume we're at something like /workdir/matrix-react-sdk
+
+# Set up the js-sdk first
+matrix-react-sdk/scripts/fetchdep.sh matrix-org matrix-js-sdk
+pushd matrix-js-sdk
+yarn link
+yarn install
+popd
+
+# Now set up the react-sdk
+pushd matrix-react-sdk
+yarn link matrix-js-sdk
+yarn link
+yarn install
+popd
+
+# Finally, set up riot-web
+matrix-react-sdk/scripts/fetchdep.sh vector-im riot-web
+pushd riot-web
+yarn link matrix-js-sdk
+yarn link matrix-react-sdk
+yarn install
+yarn build:res
+popd
diff --git a/scripts/ci/riot-unit-tests.sh b/scripts/ci/riot-unit-tests.sh
index 215af13030..337c0fe6c3 100755
--- a/scripts/ci/riot-unit-tests.sh
+++ b/scripts/ci/riot-unit-tests.sh
@@ -6,9 +6,7 @@
set -ev
-RIOT_WEB_DIR=riot-web
-
-scripts/ci/build.sh
-pushd "$RIOT_WEB_DIR"
+scripts/ci/layered-riot-web.sh
+cd ../riot-web
+yarn build:genfiles # so the tests can run. Faster version of `build`
yarn test
-popd
diff --git a/scripts/fetchdep.sh b/scripts/fetchdep.sh
index f82752bfc5..0142305797 100755
--- a/scripts/fetchdep.sh
+++ b/scripts/fetchdep.sh
@@ -17,7 +17,7 @@ clone() {
if [ -n "$branch" ]
then
echo "Trying to use $org/$repo#$branch"
- git clone git://github.com/$org/$repo.git $repo --branch "$branch" && exit 0
+ git clone git://github.com/$org/$repo.git $repo --branch "$branch" --depth 1 && exit 0
fi
}
diff --git a/scripts/gen-i18n.js b/scripts/gen-i18n.js
index 3d3d5af116..a4d53aea2f 100755
--- a/scripts/gen-i18n.js
+++ b/scripts/gen-i18n.js
@@ -237,7 +237,7 @@ const walkOpts = {
const fullPath = path.join(root, fileStats.name);
let trs;
- if (fileStats.name.endsWith('.js')) {
+ if (fileStats.name.endsWith('.js') || fileStats.name.endsWith('.tsx')) {
trs = getTranslationsJs(fullPath);
} else if (fileStats.name.endsWith('.html')) {
trs = getTranslationsOther(fullPath);
diff --git a/scripts/generate-eslint-error-ignore-file b/scripts/generate-eslint-error-ignore-file
index 3a635f5a7d..54aacfc9fa 100755
--- a/scripts/generate-eslint-error-ignore-file
+++ b/scripts/generate-eslint-error-ignore-file
@@ -14,8 +14,10 @@ echo "generating $out"
# autogenerated file: run scripts/generate-eslint-error-ignore-file to update.
EOF
-
- ./node_modules/.bin/eslint --no-ignore -f json src test |
+
+ ./node_modules/.bin/eslint -f json src test |
jq -r '.[] | select((.errorCount + .warningCount) > 0) | .filePath' |
sed -e 's/.*matrix-react-sdk\///';
} > "$out"
+# also append rules from eslintignore file
+cat .eslintignore >> $out
diff --git a/scripts/reskindex.js b/scripts/reskindex.js
index 3919295078..9fb0e1a7c0 100755
--- a/scripts/reskindex.js
+++ b/scripts/reskindex.js
@@ -2,17 +2,20 @@
var fs = require('fs');
var path = require('path');
var glob = require('glob');
-var args = require('optimist').argv;
+var args = require('minimist')(process.argv);
var chokidar = require('chokidar');
var componentIndex = path.join('src', 'component-index.js');
var componentIndexTmp = componentIndex+".tmp";
var componentsDir = path.join('src', 'components');
-var componentGlob = '**/*.js';
+var componentJsGlob = '**/*.js';
+var componentTsGlob = '**/*.tsx';
var prevFiles = [];
function reskindex() {
- var files = glob.sync(componentGlob, {cwd: componentsDir}).sort();
+ var jsFiles = glob.sync(componentJsGlob, {cwd: componentsDir}).sort();
+ var tsFiles = glob.sync(componentTsGlob, {cwd: componentsDir}).sort();
+ var files = [...tsFiles, ...jsFiles];
if (!filesHaveChanged(files, prevFiles)) {
return;
}
@@ -36,7 +39,7 @@ function reskindex() {
strm.write("let components = {};\n");
for (var i = 0; i < files.length; ++i) {
- var file = files[i].replace('.js', '');
+ var file = files[i].replace('.js', '').replace('.tsx', '');
var moduleName = (file.replace(/\//g, '.'));
var importName = moduleName.replace(/\./g, "$");
@@ -79,7 +82,7 @@ if (!args.w) {
}
var watchDebouncer = null;
-chokidar.watch(path.join(componentsDir, componentGlob)).on('all', (event, path) => {
+chokidar.watch(path.join(componentsDir, componentJsGlob)).on('all', (event, path) => {
if (path === componentIndex) return;
if (watchDebouncer) clearTimeout(watchDebouncer);
watchDebouncer = setTimeout(reskindex, 1000);
diff --git a/src/Analytics.js b/src/Analytics.js
index d0c7a52814..c96cfdefee 100644
--- a/src/Analytics.js
+++ b/src/Analytics.js
@@ -1,18 +1,21 @@
/*
- Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
+Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
+Copyright 2020 The Matrix.org Foundation C.I.C.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
import { getCurrentLanguage, _t, _td } from './languageHandler';
import PlatformPeg from './PlatformPeg';
@@ -54,6 +57,8 @@ function getRedactedUrl() {
}
const customVariables = {
+ // The Matomo installation at https://matomo.riot.im is currently configured
+ // with a limit of 10 custom variables.
'App Platform': {
id: 1,
expl: _td('The platform you\'re on'),
@@ -61,7 +66,7 @@ const customVariables = {
},
'App Version': {
id: 2,
- expl: _td('The version of Riot.im'),
+ expl: _td('The version of Riot'),
example: '15.0.0',
},
'User Type': {
@@ -84,20 +89,25 @@ const customVariables = {
expl: _td('Whether or not you\'re using the Richtext mode of the Rich Text Editor'),
example: 'off',
},
- 'Breadcrumbs': {
- id: 9,
- expl: _td("Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)"),
- example: 'disabled',
- },
'Homeserver URL': {
id: 7,
expl: _td('Your homeserver\'s URL'),
example: 'https://matrix.org',
},
- 'Identity Server URL': {
+ 'Touch Input': {
id: 8,
- expl: _td('Your identity server\'s URL'),
- example: 'https://vector.im',
+ expl: _td("Whether you're using Riot on a device where touch is the primary input mechanism"),
+ example: 'false',
+ },
+ 'Breadcrumbs': {
+ id: 9,
+ expl: _td("Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)"),
+ example: 'disabled',
+ },
+ 'Installed PWA': {
+ id: 10,
+ expl: _td("Whether you're using Riot as an installed Progressive Web App"),
+ example: 'false',
},
};
@@ -106,61 +116,80 @@ function whitelistRedact(whitelist, str) {
return '';
}
+const UID_KEY = "mx_Riot_Analytics_uid";
+const CREATION_TS_KEY = "mx_Riot_Analytics_cts";
+const VISIT_COUNT_KEY = "mx_Riot_Analytics_vc";
+const LAST_VISIT_TS_KEY = "mx_Riot_Analytics_lvts";
+
+function getUid() {
+ try {
+ let data = localStorage.getItem(UID_KEY);
+ if (!data) {
+ localStorage.setItem(UID_KEY, data = [...Array(16)].map(() => Math.random().toString(16)[2]).join(''));
+ }
+ return data;
+ } catch (e) {
+ console.error("Analytics error: ", e);
+ return "";
+ }
+}
+
+const HEARTBEAT_INTERVAL = 30 * 1000; // seconds
+
class Analytics {
constructor() {
- this._paq = null;
- this.disabled = true;
+ this.baseUrl = null;
+ this.siteId = null;
+ this.visitVariables = {};
+
this.firstPage = true;
+ this._heartbeatIntervalID = null;
+
+ this.creationTs = localStorage.getItem(CREATION_TS_KEY);
+ if (!this.creationTs) {
+ localStorage.setItem(CREATION_TS_KEY, this.creationTs = new Date().getTime());
+ }
+
+ this.lastVisitTs = localStorage.getItem(LAST_VISIT_TS_KEY);
+ this.visitCount = localStorage.getItem(VISIT_COUNT_KEY) || 0;
+ localStorage.setItem(VISIT_COUNT_KEY, parseInt(this.visitCount, 10) + 1);
+ }
+
+ get disabled() {
+ return !this.baseUrl;
}
/**
* Enable Analytics if initialized but disabled
* otherwise try and initalize, no-op if piwik config missing
*/
- enable() {
- if (this._paq || this._init()) {
- this.disabled = false;
- }
- }
+ async enable() {
+ if (!this.disabled) return;
- /**
- * Disable Analytics calls, will not fully unload Piwik until a refresh,
- * but this is second best, Piwik should not pull anything implicitly.
- */
- disable() {
- this.trackEvent('Analytics', 'opt-out');
- // disableHeartBeatTimer is undocumented but exists in the piwik code
- // the _paq.push method will result in an error being printed in the console
- // if an unknown method signature is passed
- this._paq.push(['disableHeartBeatTimer']);
- this.disabled = true;
- }
-
- _init() {
const config = SdkConfig.get();
if (!config || !config.piwik || !config.piwik.url || !config.piwik.siteId) return;
- const url = config.piwik.url;
- const siteId = config.piwik.siteId;
- const self = this;
-
- window._paq = this._paq = window._paq || [];
-
- this._paq.push(['setTrackerUrl', url+'piwik.php']);
- this._paq.push(['setSiteId', siteId]);
-
- this._paq.push(['trackAllContentImpressions']);
- this._paq.push(['discardHashTag', false]);
- this._paq.push(['enableHeartBeatTimer']);
- // this._paq.push(['enableLinkTracking', true]);
+ this.baseUrl = new URL("piwik.php", config.piwik.url);
+ // set constants
+ this.baseUrl.searchParams.set("rec", 1); // rec is required for tracking
+ this.baseUrl.searchParams.set("idsite", config.piwik.siteId); // rec is required for tracking
+ this.baseUrl.searchParams.set("apiv", 1); // API version to use
+ this.baseUrl.searchParams.set("send_image", 0); // we want a 204, not a tiny GIF
+ // set user parameters
+ this.baseUrl.searchParams.set("_id", getUid()); // uuid
+ this.baseUrl.searchParams.set("_idts", this.creationTs); // first ts
+ this.baseUrl.searchParams.set("_idvc", parseInt(this.visitCount, 10)+ 1); // visit count
+ if (this.lastVisitTs) {
+ this.baseUrl.searchParams.set("_viewts", this.lastVisitTs); // last visit ts
+ }
const platform = PlatformPeg.get();
this._setVisitVariable('App Platform', platform.getHumanReadableName());
- platform.getAppVersion().then((version) => {
- this._setVisitVariable('App Version', version);
- }).catch(() => {
+ try {
+ this._setVisitVariable('App Version', await platform.getAppVersion());
+ } catch (e) {
this._setVisitVariable('App Version', 'unknown');
- });
+ }
this._setVisitVariable('Chosen Language', getCurrentLanguage());
@@ -168,20 +197,77 @@ class Analytics {
this._setVisitVariable('Instance', window.location.pathname);
}
- (function() {
- const g = document.createElement('script');
- const s = document.getElementsByTagName('script')[0];
- g.type='text/javascript'; g.async=true; g.defer=true; g.src=url+'piwik.js';
+ let installedPWA = "unknown";
+ try {
+ // Known to work at least for desktop Chrome
+ installedPWA = window.matchMedia('(display-mode: standalone)').matches;
+ } catch (e) { }
+ this._setVisitVariable('Installed PWA', installedPWA);
- g.onload = function() {
- console.log('Initialised anonymous analytics');
- self._paq = window._paq;
- };
+ let touchInput = "unknown";
+ try {
+ // MDN claims broad support across browsers
+ touchInput = window.matchMedia('(pointer: coarse)').matches;
+ } catch (e) { }
+ this._setVisitVariable('Touch Input', touchInput);
- s.parentNode.insertBefore(g, s);
- })();
+ // start heartbeat
+ this._heartbeatIntervalID = window.setInterval(this.ping.bind(this), HEARTBEAT_INTERVAL);
+ }
- return true;
+ /**
+ * Disable Analytics, stop the heartbeat and clear identifiers from localStorage
+ */
+ disable() {
+ if (this.disabled) return;
+ this.trackEvent('Analytics', 'opt-out');
+ window.clearInterval(this._heartbeatIntervalID);
+ this.baseUrl = null;
+ this.visitVariables = {};
+ localStorage.removeItem(UID_KEY);
+ localStorage.removeItem(CREATION_TS_KEY);
+ localStorage.removeItem(VISIT_COUNT_KEY);
+ localStorage.removeItem(LAST_VISIT_TS_KEY);
+ }
+
+ async _track(data) {
+ if (this.disabled) return;
+
+ const now = new Date();
+ const params = {
+ ...data,
+ url: getRedactedUrl(),
+
+ _cvar: JSON.stringify(this.visitVariables), // user custom vars
+ res: `${window.screen.width}x${window.screen.height}`, // resolution as WWWWxHHHH
+ rand: String(Math.random()).slice(2, 8), // random nonce to cache-bust
+ h: now.getHours(),
+ m: now.getMinutes(),
+ s: now.getSeconds(),
+ };
+
+ const url = new URL(this.baseUrl);
+ for (const key in params) {
+ url.searchParams.set(key, params[key]);
+ }
+
+ try {
+ await window.fetch(url, {
+ method: "GET",
+ mode: "no-cors",
+ cache: "no-cache",
+ redirect: "follow",
+ });
+ } catch (e) {
+ console.error("Analytics error: ", e);
+ }
+ }
+
+ ping() {
+ this._track({
+ ping: 1,
+ });
+ localStorage.setItem(LAST_VISIT_TS_KEY, new Date().getTime()); // update last visit ts
}
trackPageChange(generationTimeMs) {
@@ -193,31 +279,29 @@ class Analytics {
return;
}
- if (typeof generationTimeMs === 'number') {
- this._paq.push(['setGenerationTimeMs', generationTimeMs]);
- } else {
+ if (typeof generationTimeMs !== 'number') {
console.warn('Analytics.trackPageChange: expected generationTimeMs to be a number');
// But continue anyway because we still want to track the change
}
- this._paq.push(['setCustomUrl', getRedactedUrl()]);
- this._paq.push(['trackPageView']);
+ this._track({
+ gt_ms: generationTimeMs,
+ });
}
trackEvent(category, action, name, value) {
if (this.disabled) return;
- this._paq.push(['setCustomUrl', getRedactedUrl()]);
- this._paq.push(['trackEvent', category, action, name, value]);
- }
-
- logout() {
- if (this.disabled) return;
- this._paq.push(['deleteCookies']);
+ this._track({
+ e_c: category,
+ e_a: action,
+ e_n: name,
+ e_v: value,
+ });
}
_setVisitVariable(key, value) {
if (this.disabled) return;
- this._paq.push(['setCustomVariable', customVariables[key].id, key, value, 'visit']);
+ this.visitVariables[customVariables[key].id] = [key, value];
}
setLoggedIn(isGuest, homeserverUrl, identityServerUrl) {
@@ -227,16 +311,9 @@ class Analytics {
if (!config.piwik) return;
const whitelistedHSUrls = config.piwik.whitelistedHSUrls || [];
- const whitelistedISUrls = config.piwik.whitelistedISUrls || [];
this._setVisitVariable('User Type', isGuest ? 'Guest' : 'Logged In');
this._setVisitVariable('Homeserver URL', whitelistRedact(whitelistedHSUrls, homeserverUrl));
- this._setVisitVariable('Identity Server URL', whitelistRedact(whitelistedISUrls, identityServerUrl));
- }
-
- setRichtextMode(state) {
- if (this.disabled) return;
- this._setVisitVariable('RTE: Uses Richtext Mode', state ? 'on' : 'off');
}
setBreadcrumbs(state) {
@@ -244,13 +321,11 @@ class Analytics {
this._setVisitVariable('Breadcrumbs', state ? 'enabled' : 'disabled');
}
- showDetailsModal() {
+ showDetailsModal = () => {
let rows = [];
- if (window.Piwik) {
- const Tracker = window.Piwik.getAsyncTracker();
- rows = Object.values(customVariables).map((v) => Tracker.getCustomVariable(v.id)).filter(Boolean);
+ if (!this.disabled) {
+ rows = Object.values(this.visitVariables);
} else {
- // Piwik may not have been enabled, so show example values
rows = Object.keys(customVariables).map(
(k) => [
k,
@@ -271,7 +346,7 @@ class Analytics {
},
),
},
- { expl: _td('Your User Agent'), value: navigator.userAgent },
+ { expl: _td('Your user agent'), value: navigator.userAgent },
{ expl: _td('Your device resolution'), value: resolution },
];
@@ -280,7 +355,7 @@ class Analytics {
title: _t('Analytics'),
description:
- { _t('The information being sent to us to help make Riot.im better includes:') }
+ { _t('The information being sent to us to help make Riot better includes:') }
{ rows.map((row) =>
@@ -300,7 +375,7 @@ class Analytics {
,
});
- }
+ };
}
if (!global.mxAnalytics) {
diff --git a/src/AsyncWrapper.js b/src/AsyncWrapper.js
new file mode 100644
index 0000000000..b7b81688e1
--- /dev/null
+++ b/src/AsyncWrapper.js
@@ -0,0 +1,92 @@
+/*
+Copyright 2015, 2016 OpenMarket Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import createReactClass from 'create-react-class';
+import * as sdk from './index';
+import PropTypes from 'prop-types';
+import { _t } from './languageHandler';
+
+/**
+ * Wrap an asynchronous loader function with a react component which shows a
+ * spinner until the real component loads.
+ */
+export default createReactClass({
+ propTypes: {
+ /** A promise which resolves with the real component
+ */
+ prom: PropTypes.object.isRequired,
+ },
+
+ getInitialState: function() {
+ return {
+ component: null,
+ error: null,
+ };
+ },
+
+ componentWillMount: function() {
+ this._unmounted = false;
+ // XXX: temporary logging to try to diagnose
+ // https://github.com/vector-im/riot-web/issues/3148
+ console.log('Starting load of AsyncWrapper for modal');
+ this.props.prom.then((result) => {
+ if (this._unmounted) {
+ return;
+ }
+ // Take the 'default' member if it's there, then we support
+ // passing in just an import()ed module, since ES6 async import
+ // always returns a module *namespace*.
+ const component = result.default ? result.default : result;
+ this.setState({component});
+ }).catch((e) => {
+ console.warn('AsyncWrapper promise failed', e);
+ this.setState({error: e});
+ });
+ },
+
+ componentWillUnmount: function() {
+ this._unmounted = true;
+ },
+
+ _onWrapperCancelClick: function() {
+ this.props.onFinished(false);
+ },
+
+ render: function() {
+ if (this.state.component) {
+ const Component = this.state.component;
+ return ;
+ } else if (this.state.error) {
+ const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
+ const DialogButtons = sdk.getComponent('views.elements.DialogButtons');
+ return
+ {_t("Unable to load! Check your network connectivity and try again.")}
+
+ ;
+ } else {
+ // show a spinner until the component is loaded.
+ const Spinner = sdk.getComponent("elements.Spinner");
+ return ;
+ }
+ },
+});
+
diff --git a/src/Avatar.js b/src/Avatar.js
index 5a330c31e9..217b196348 100644
--- a/src/Avatar.js
+++ b/src/Avatar.js
@@ -102,6 +102,8 @@ export function getInitialLetter(name) {
}
export function avatarUrlForRoom(room, width, height, resizeMethod) {
+ if (!room) return null; // null-guard
+
const explicitRoomAvatar = room.getAvatarUrl(
MatrixClientPeg.get().getHomeserverUrl(),
width,
diff --git a/src/BasePlatform.js b/src/BasePlatform.js
index 14e34a1f40..5d809eb28f 100644
--- a/src/BasePlatform.js
+++ b/src/BasePlatform.js
@@ -4,6 +4,7 @@
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2018 New Vector Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -18,6 +19,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+import {MatrixClient} from "matrix-js-sdk";
import dis from './dispatcher';
import BaseEventIndexManager from './indexing/BaseEventIndexManager';
@@ -162,4 +164,28 @@ export default class BasePlatform {
getEventIndexingManager(): BaseEventIndexManager | null {
return null;
}
+
+ setLanguage(preferredLangs: string[]) {}
+
+ getSSOCallbackUrl(hsUrl: string, isUrl: string): URL {
+ const url = new URL(window.location.href);
+ // XXX: at this point, the fragment will always be #/login, which is no
+ // use to anyone. Ideally, we would get the intended fragment from
+ // MatrixChat.screenAfterLogin so that you could follow #/room links etc
+ // through an SSO login.
+ url.hash = "";
+ url.searchParams.set("homeserver", hsUrl);
+ url.searchParams.set("identityServer", isUrl);
+ return url;
+ }
+
+ /**
+ * Begin Single Sign On flows.
+ * @param {MatrixClient} mxClient the matrix client using which we should start the flow
+ * @param {"sso"|"cas"} loginType the type of SSO it is, CAS/SSO.
+ */
+ startSingleSignOn(mxClient: MatrixClient, loginType: "sso"|"cas") {
+ const callbackUrl = this.getSSOCallbackUrl(mxClient.getHomeserverUrl(), mxClient.getIdentityServerUrl());
+ window.location.href = mxClient.getSsoLoginUrl(callbackUrl.toString(), loginType); // redirect to SSO
+ }
}
diff --git a/src/CallHandler.js b/src/CallHandler.js
index 33e15d3cc9..362db939a3 100644
--- a/src/CallHandler.js
+++ b/src/CallHandler.js
@@ -64,8 +64,8 @@ import SdkConfig from './SdkConfig';
import { showUnknownDeviceDialogForCalls } from './cryptodevices';
import WidgetUtils from './utils/WidgetUtils';
import WidgetEchoStore from './stores/WidgetEchoStore';
-import {IntegrationManagers} from "./integrations/IntegrationManagers";
import SettingsStore, { SettingLevel } from './settings/SettingsStore';
+import {generateHumanReadableId} from "./utils/NamingUtils";
global.mxCalls = {
//room_id: MatrixCall
@@ -139,11 +139,11 @@ function _setCallListeners(call) {
Modal.createTrackedDialog('Call Failed', '', QuestionDialog, {
title: _t('Call Failed'),
description: _t(
- "There are unknown devices in this room: "+
+ "There are unknown sessions in this room: "+
"if you proceed without verifying them, it will be "+
"possible for someone to eavesdrop on your call.",
),
- button: _t('Review Devices'),
+ button: _t('Review Sessions'),
onFinished: function(confirmed) {
if (confirmed) {
const room = MatrixClientPeg.get().getRoom(call.roomId);
@@ -395,32 +395,6 @@ function _onAction(payload) {
}
async function _startCallApp(roomId, type) {
- // check for a working integration manager. Technically we could put
- // the state event in anyway, but the resulting widget would then not
- // work for us. Better that the user knows before everyone else in the
- // room sees it.
- const managers = IntegrationManagers.sharedInstance();
- let haveScalar = false;
- if (managers.hasManager()) {
- try {
- const scalarClient = managers.getPrimaryManager().getScalarClient();
- await scalarClient.connect();
- haveScalar = scalarClient.hasCredentials();
- } catch (e) {
- // ignore
- }
- }
-
- if (!haveScalar) {
- const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
-
- Modal.createTrackedDialog('Could not connect to the integration server', '', ErrorDialog, {
- title: _t('Could not connect to the integration server'),
- description: _t('A conference call could not be started because the integrations server is not available'),
- });
- return;
- }
-
dis.dispatch({
action: 'appsDrawer',
show: true,
@@ -456,31 +430,22 @@ async function _startCallApp(roomId, type) {
return;
}
- // This inherits its poor naming from the field of the same name that goes into
- // the event. It's just a random string to make the Jitsi URLs unique.
- const widgetSessionId = Math.random().toString(36).substring(2);
- const confId = room.roomId.replace(/[^A-Za-z0-9]/g, '') + widgetSessionId;
- // NB. we can't just encodeURICompoent all of these because the $ signs need to be there
- // (but currently the only thing that needs encoding is the confId)
- const queryString = [
- 'confId='+encodeURIComponent(confId),
- 'isAudioConf='+(type === 'voice' ? 'true' : 'false'),
- 'displayName=$matrix_display_name',
- 'avatarUrl=$matrix_avatar_url',
- 'email=$matrix_user_id',
- ].join('&');
+ const confId = `JitsiConference_${generateHumanReadableId()}`;
+ const jitsiDomain = SdkConfig.get()['jitsi']['preferredDomain'];
- let widgetUrl;
- if (SdkConfig.get().integrations_jitsi_widget_url) {
- // Try this config key. This probably isn't ideal as a way of discovering this
- // URL, but this will at least allow the integration manager to not be hardcoded.
- widgetUrl = SdkConfig.get().integrations_jitsi_widget_url + '?' + queryString;
- } else {
- const apiUrl = IntegrationManagers.sharedInstance().getPrimaryManager().apiUrl;
- widgetUrl = apiUrl + '/widgets/jitsi.html?' + queryString;
- }
+ let widgetUrl = WidgetUtils.getLocalJitsiWrapperUrl();
- const widgetData = { widgetSessionId };
+ // TODO: Remove URL hacks when the mobile clients eventually support v2 widgets
+ const parsedUrl = new URL(widgetUrl);
+ parsedUrl.search = ''; // set to empty string to make the URL class use searchParams instead
+ parsedUrl.searchParams.set('confId', confId);
+ widgetUrl = parsedUrl.toString();
+
+ const widgetData = {
+ conferenceId: confId,
+ isAudioOnly: type === 'voice',
+ domain: jitsiDomain,
+ };
const widgetId = (
'jitsi_' +
diff --git a/src/CrossSigningManager.js b/src/CrossSigningManager.js
index 0773a8d32d..da7c0673d2 100644
--- a/src/CrossSigningManager.js
+++ b/src/CrossSigningManager.js
@@ -20,6 +20,8 @@ import {MatrixClientPeg} from './MatrixClientPeg';
import { deriveKey } from 'matrix-js-sdk/src/crypto/key_passphrase';
import { decodeRecoveryKey } from 'matrix-js-sdk/src/crypto/recoverykey';
import { _t } from './languageHandler';
+import SettingsStore from './settings/SettingsStore';
+import {encodeBase64} from "matrix-js-sdk/src/crypto/olmlib";
// This stores the secret storage private keys in memory for the JS SDK. This is
// only meant to act as a cache to avoid prompting the user multiple times
@@ -27,9 +29,43 @@ import { _t } from './languageHandler';
// single secret storage operation, as it will clear the cached keys once the
// operation ends.
let secretStorageKeys = {};
-let cachingAllowed = false;
+let secretStorageBeingAccessed = false;
-async function getSecretStorageKey({ keys: keyInfos }) {
+function isCachingAllowed() {
+ return (
+ secretStorageBeingAccessed ||
+ SettingsStore.getValue("keepSecretStoragePassphraseForSession")
+ );
+}
+
+export class AccessCancelledError extends Error {
+ constructor() {
+ super("Secret storage access canceled");
+ }
+}
+
+async function confirmToDismiss(name) {
+ let description;
+ if (name === "m.cross_signing.user_signing") {
+ description = _t("If you cancel now, you won't complete verifying the other user.");
+ } else if (name === "m.cross_signing.self_signing") {
+ description = _t("If you cancel now, you won't complete verifying your other session.");
+ } else {
+ description = _t("If you cancel now, you won't complete your secret storage operation.");
+ }
+
+ const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
+ const [sure] = await Modal.createDialog(QuestionDialog, {
+ title: _t("Cancel entering passphrase?"),
+ description,
+ danger: true,
+ cancelButton: _t("Enter passphrase"),
+ button: _t("Cancel"),
+ }).finished;
+ return sure;
+}
+
+async function getSecretStorageKey({ keys: keyInfos }, ssssItemName) {
const keyInfoEntries = Object.entries(keyInfos);
if (keyInfoEntries.length > 1) {
throw new Error("Multiple storage key requests not implemented");
@@ -37,7 +73,7 @@ async function getSecretStorageKey({ keys: keyInfos }) {
const [name, info] = keyInfoEntries[0];
// Check the in-memory cache
- if (cachingAllowed && secretStorageKeys[name]) {
+ if (isCachingAllowed() && secretStorageKeys[name]) {
return [name, secretStorageKeys[name]];
}
@@ -56,32 +92,111 @@ async function getSecretStorageKey({ keys: keyInfos }) {
sdk.getComponent("dialogs.secretstorage.AccessSecretStorageDialog");
const { finished } = Modal.createTrackedDialog("Access Secret Storage dialog", "",
AccessSecretStorageDialog,
+ /* props= */
{
keyInfo: info,
checkPrivateKey: async (input) => {
+ if (!info.pubkey) {
+ return true;
+ }
const key = await inputToKey(input);
return MatrixClientPeg.get().checkSecretStoragePrivateKey(key, info.pubkey);
},
},
+ /* className= */ null,
+ /* isPriorityModal= */ false,
+ /* isStaticModal= */ false,
+ /* options= */ {
+ onBeforeClose: async (reason) => {
+ if (reason === "backgroundClick") {
+ return confirmToDismiss(ssssItemName);
+ }
+ return true;
+ },
+ },
);
const [input] = await finished;
if (!input) {
- throw new Error("Secret storage access canceled");
+ throw new AccessCancelledError();
}
const key = await inputToKey(input);
// Save to cache to avoid future prompts in the current session
- if (cachingAllowed) {
+ if (isCachingAllowed()) {
secretStorageKeys[name] = key;
}
return [name, key];
}
+const onSecretRequested = async function({
+ user_id: userId,
+ device_id: deviceId,
+ request_id: requestId,
+ name,
+ device_trust: deviceTrust,
+}) {
+ console.log("onSecretRequested", userId, deviceId, requestId, name, deviceTrust);
+ const client = MatrixClientPeg.get();
+ if (userId !== client.getUserId()) {
+ return;
+ }
+ if (!deviceTrust || !deviceTrust.isVerified()) {
+ console.log(`CrossSigningManager: Ignoring request from untrusted device ${deviceId}`);
+ return;
+ }
+ if (name.startsWith("m.cross_signing")) {
+ const callbacks = client.getCrossSigningCacheCallbacks();
+ if (!callbacks.getCrossSigningKeyCache) return;
+ /* Explicit enumeration here is deliberate – never share the master key! */
+ if (name === "m.cross_signing.self_signing") {
+ const key = await callbacks.getCrossSigningKeyCache("self_signing");
+ if (!key) {
+ console.log(
+ `self_signing requested by ${deviceId}, but not found in cache`,
+ );
+ }
+ return key && encodeBase64(key);
+ } else if (name === "m.cross_signing.user_signing") {
+ const key = await callbacks.getCrossSigningKeyCache("user_signing");
+ if (!key) {
+ console.log(
+ `user_signing requested by ${deviceId}, but not found in cache`,
+ );
+ }
+ return key && encodeBase64(key);
+ }
+ } else if (name === "m.megolm_backup.v1") {
+ const key = await client._crypto.getSessionBackupPrivateKey();
+ if (!key) {
+ console.log(
+ `session backup key requested by ${deviceId}, but not found in cache`,
+ );
+ }
+ return key && encodeBase64(key);
+ }
+ console.warn("onSecretRequested didn't recognise the secret named ", name);
+};
+
export const crossSigningCallbacks = {
getSecretStorageKey,
+ onSecretRequested,
};
+export async function promptForBackupPassphrase() {
+ let key;
+
+ const RestoreKeyBackupDialog = sdk.getComponent('dialogs.keybackup.RestoreKeyBackupDialog');
+ const { finished } = Modal.createTrackedDialog('Restore Backup', '', RestoreKeyBackupDialog, {
+ showSummary: false, keyCallback: k => key = k,
+ }, null, /* priority = */ false, /* static = */ true);
+
+ const success = await finished;
+ if (!success) throw new Error("Key backup prompt cancelled");
+
+ return key;
+}
+
/**
* This helper should be used whenever you need to access secret storage. It
* ensures that secret storage (and also cross-signing since they each depend on
@@ -101,18 +216,21 @@ export const crossSigningCallbacks = {
*
* @param {Function} [func] An operation to perform once secret storage has been
* bootstrapped. Optional.
+ * @param {bool} [forceReset] Reset secret storage even if it's already set up
*/
-export async function accessSecretStorage(func = async () => { }) {
+export async function accessSecretStorage(func = async () => { }, forceReset = false) {
const cli = MatrixClientPeg.get();
- cachingAllowed = true;
-
+ secretStorageBeingAccessed = true;
try {
- if (!cli.hasSecretStorageKey()) {
+ if (!await cli.hasSecretStorageKey() || forceReset) {
// This dialog calls bootstrap itself after guiding the user through
// passphrase creation.
const { finished } = Modal.createTrackedDialogAsync('Create Secret Storage dialog', '',
import("./async-components/views/dialogs/secretstorage/CreateSecretStorageDialog"),
- null, null, /* priority = */ false, /* static = */ true,
+ {
+ force: forceReset,
+ },
+ null, /* priority = */ false, /* static = */ true,
);
const [confirmed] = await finished;
if (!confirmed) {
@@ -125,7 +243,7 @@ export async function accessSecretStorage(func = async () => { }) {
const { finished } = Modal.createTrackedDialog(
'Cross-signing keys dialog', '', InteractiveAuthDialog,
{
- title: _t("Send cross-signing keys to homeserver"),
+ title: _t("Setting up keys"),
matrixClient: MatrixClientPeg.get(),
makeRequest,
},
@@ -135,6 +253,7 @@ export async function accessSecretStorage(func = async () => { }) {
throw new Error("Cross-signing key upload auth canceled");
}
},
+ getBackupPassphrase: promptForBackupPassphrase,
});
}
@@ -143,7 +262,9 @@ export async function accessSecretStorage(func = async () => { }) {
return await func();
} finally {
// Clear secret storage key cache now that work is complete
- cachingAllowed = false;
- secretStorageKeys = {};
+ secretStorageBeingAccessed = false;
+ if (!isCachingAllowed()) {
+ secretStorageKeys = {};
+ }
}
}
diff --git a/src/DeviceListener.js b/src/DeviceListener.js
new file mode 100644
index 0000000000..f8555c7602
--- /dev/null
+++ b/src/DeviceListener.js
@@ -0,0 +1,203 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import { MatrixClientPeg } from './MatrixClientPeg';
+import SettingsStore from './settings/SettingsStore';
+import * as sdk from './index';
+import { _t } from './languageHandler';
+import ToastStore from './stores/ToastStore';
+
+function toastKey(deviceId) {
+ return 'unverified_session_' + deviceId;
+}
+
+const KEY_BACKUP_POLL_INTERVAL = 5 * 60 * 1000;
+const THIS_DEVICE_TOAST_KEY = 'setupencryption';
+
+export default class DeviceListener {
+ static sharedInstance() {
+ if (!global.mx_DeviceListener) global.mx_DeviceListener = new DeviceListener();
+ return global.mx_DeviceListener;
+ }
+
+ constructor() {
+ // set of device IDs we're currently showing toasts for
+ this._activeNagToasts = new Set();
+ // device IDs for which the user has dismissed the verify toast ('Later')
+ this._dismissed = new Set();
+ // has the user dismissed any of the various nag toasts to setup encryption on this device?
+ this._dismissedThisDeviceToast = false;
+
+ // cache of the key backup info
+ this._keyBackupInfo = null;
+ this._keyBackupFetchedAt = null;
+ }
+
+ start() {
+ MatrixClientPeg.get().on('crypto.devicesUpdated', this._onDevicesUpdated);
+ MatrixClientPeg.get().on('deviceVerificationChanged', this._onDeviceVerificationChanged);
+ MatrixClientPeg.get().on('userTrustStatusChanged', this._onUserTrustStatusChanged);
+ MatrixClientPeg.get().on('accountData', this._onAccountData);
+ this._recheck();
+ }
+
+ stop() {
+ if (MatrixClientPeg.get()) {
+ MatrixClientPeg.get().removeListener('crypto.devicesUpdated', this._onDevicesUpdated);
+ MatrixClientPeg.get().removeListener('deviceVerificationChanged', this._onDeviceVerificationChanged);
+ MatrixClientPeg.get().removeListener('userTrustStatusChanged', this._onUserTrustStatusChanged);
+ MatrixClientPeg.get().removeListener('accountData', this._onAccountData);
+ }
+ this._dismissed.clear();
+ }
+
+ dismissVerification(deviceId) {
+ this._dismissed.add(deviceId);
+ this._recheck();
+ }
+
+ dismissEncryptionSetup() {
+ this._dismissedThisDeviceToast = true;
+ this._recheck();
+ }
+
+ _onDevicesUpdated = (users) => {
+ if (!users.includes(MatrixClientPeg.get().getUserId())) return;
+ this._recheck();
+ }
+
+ _onDeviceVerificationChanged = (userId) => {
+ if (userId !== MatrixClientPeg.get().getUserId()) return;
+ this._recheck();
+ }
+
+ _onUserTrustStatusChanged = (userId, trustLevel) => {
+ if (userId !== MatrixClientPeg.get().getUserId()) return;
+ this._recheck();
+ }
+
+ _onAccountData = (ev) => {
+ // User may have migrated SSSS to symmetric, in which case we can dismiss that toast
+ if (ev.getType().startsWith('m.secret_storage.key.')) {
+ this._recheck();
+ }
+ }
+
+ // The server doesn't tell us when key backup is set up, so we poll
+ // & cache the result
+ async _getKeyBackupInfo() {
+ const now = (new Date()).getTime();
+ if (!this._keyBackupInfo || this._keyBackupFetchedAt < now - KEY_BACKUP_POLL_INTERVAL) {
+ this._keyBackupInfo = await MatrixClientPeg.get().getKeyBackupVersion();
+ this._keyBackupFetchedAt = now;
+ }
+ return this._keyBackupInfo;
+ }
+
+ async _recheck() {
+ const cli = MatrixClientPeg.get();
+
+ if (
+ !SettingsStore.isFeatureEnabled("feature_cross_signing") ||
+ !await cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing")
+ ) return;
+
+ if (!cli.isCryptoEnabled()) return;
+
+ const crossSigningReady = await cli.isCrossSigningReady();
+
+ if (this._dismissedThisDeviceToast) {
+ ToastStore.sharedInstance().dismissToast(THIS_DEVICE_TOAST_KEY);
+ } else {
+ if (!crossSigningReady) {
+ // cross signing isn't enabled - nag to enable it
+ // There are 3 different toasts for:
+ if (cli.getStoredCrossSigningForUser(cli.getUserId())) {
+ // Cross-signing on account but this device doesn't trust the master key (verify this session)
+ ToastStore.sharedInstance().addOrReplaceToast({
+ key: THIS_DEVICE_TOAST_KEY,
+ title: _t("Verify this session"),
+ icon: "verification_warning",
+ props: {kind: 'verify_this_session'},
+ component: sdk.getComponent("toasts.SetupEncryptionToast"),
+ });
+ } else {
+ const backupInfo = await this._getKeyBackupInfo();
+ if (backupInfo) {
+ // No cross-signing on account but key backup available (upgrade encryption)
+ ToastStore.sharedInstance().addOrReplaceToast({
+ key: THIS_DEVICE_TOAST_KEY,
+ title: _t("Encryption upgrade available"),
+ icon: "verification_warning",
+ props: {kind: 'upgrade_encryption'},
+ component: sdk.getComponent("toasts.SetupEncryptionToast"),
+ });
+ } else {
+ // No cross-signing or key backup on account (set up encryption)
+ ToastStore.sharedInstance().addOrReplaceToast({
+ key: THIS_DEVICE_TOAST_KEY,
+ title: _t("Set up encryption"),
+ icon: "verification_warning",
+ props: {kind: 'set_up_encryption'},
+ component: sdk.getComponent("toasts.SetupEncryptionToast"),
+ });
+ }
+ }
+ return;
+ } else if (await cli.secretStorageKeyNeedsUpgrade()) {
+ ToastStore.sharedInstance().addOrReplaceToast({
+ key: THIS_DEVICE_TOAST_KEY,
+ title: _t("Encryption upgrade available"),
+ icon: "verification_warning",
+ props: {kind: 'upgrade_ssss'},
+ component: sdk.getComponent("toasts.SetupEncryptionToast"),
+ });
+ }
+ }
+
+ // as long as cross-signing isn't ready,
+ // you can't see or dismiss any device toasts
+ if (crossSigningReady) {
+ const newActiveToasts = new Set();
+
+ const devices = await cli.getStoredDevicesForUser(cli.getUserId());
+ for (const device of devices) {
+ if (device.deviceId == cli.deviceId) continue;
+
+ const deviceTrust = await cli.checkDeviceTrust(cli.getUserId(), device.deviceId);
+ if (deviceTrust.isCrossSigningVerified() || this._dismissed.has(device.deviceId)) {
+ ToastStore.sharedInstance().dismissToast(toastKey(device.deviceId));
+ } else {
+ this._activeNagToasts.add(device.deviceId);
+ ToastStore.sharedInstance().addOrReplaceToast({
+ key: toastKey(device.deviceId),
+ title: _t("Unverified login. Was this you?"),
+ icon: "verification_warning",
+ props: { device },
+ component: sdk.getComponent("toasts.UnverifiedSessionToast"),
+ });
+ newActiveToasts.add(device.deviceId);
+ }
+ }
+
+ // clear any other outstanding toasts (eg. logged out devices)
+ for (const deviceId of this._activeNagToasts) {
+ if (!newActiveToasts.has(deviceId)) ToastStore.sharedInstance().dismissToast(toastKey(deviceId));
+ }
+ this._activeNagToasts = newActiveToasts;
+ }
+ }
+}
diff --git a/src/Entities.js b/src/Entities.js
deleted file mode 100644
index 872a837f3a..0000000000
--- a/src/Entities.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-Copyright 2015, 2016 OpenMarket Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-import * as sdk from './index';
-
-function isMatch(query, name, uid) {
- query = query.toLowerCase();
- name = name.toLowerCase();
- uid = uid.toLowerCase();
-
- // direct prefix matches
- if (name.indexOf(query) === 0 || uid.indexOf(query) === 0) {
- return true;
- }
-
- // strip @ on uid and try matching again
- if (uid.length > 1 && uid[0] === "@" && uid.substring(1).indexOf(query) === 0) {
- return true;
- }
-
- // split spaces in name and try matching constituent parts
- const parts = name.split(" ");
- for (let i = 0; i < parts.length; i++) {
- if (parts[i].indexOf(query) === 0) {
- return true;
- }
- }
- return false;
-}
-
-/*
- * Converts various data models to Entity objects.
- *
- * Entity objects provide an interface for UI components to use to display
- * members in a data-agnostic way. This means they don't need to care if the
- * underlying data model is a RoomMember, User or 3PID data structure, it just
- * cares about rendering.
- */
-
-class Entity {
- constructor(model) {
- this.model = model;
- }
-
- getJsx() {
- return null;
- }
-
- matches(queryString) {
- return false;
- }
-}
-
-class MemberEntity extends Entity {
- getJsx() {
- const MemberTile = sdk.getComponent("rooms.MemberTile");
- return (
-
- );
- }
-
- matches(queryString) {
- return isMatch(queryString, this.model.name, this.model.userId);
- }
-}
-
-class UserEntity extends Entity {
- constructor(model, showInviteButton, inviteFn) {
- super(model);
- this.showInviteButton = Boolean(showInviteButton);
- this.inviteFn = inviteFn;
- this.onClick = this.onClick.bind(this);
- }
-
- onClick() {
- if (this.inviteFn) {
- this.inviteFn(this.model.userId);
- }
- }
-
- getJsx() {
- const UserTile = sdk.getComponent("rooms.UserTile");
- return (
-
- );
- }
-
- matches(queryString) {
- const name = this.model.displayName || this.model.userId;
- return isMatch(queryString, name, this.model.userId);
- }
-}
-
-export function newEntity(jsx, matchFn) {
- const entity = new Entity();
- entity.getJsx = function() {
- return jsx;
- };
- entity.matches = matchFn;
- return entity;
-}
-
-/**
- * @param {RoomMember[]} members
- * @return {Entity[]}
- */
-export function fromRoomMembers(members) {
- return members.map(function(m) {
- return new MemberEntity(m);
- });
-}
-
-/**
- * @param {User[]} users
- * @param {boolean} showInviteButton
- * @param {Function} inviteFn Called with the user ID.
- * @return {Entity[]}
- */
-export function fromUsers(users, showInviteButton, inviteFn) {
- return users.map(function(u) {
- return new UserEntity(u, showInviteButton, inviteFn);
- });
-}
diff --git a/src/FromWidgetPostMessageApi.js b/src/FromWidgetPostMessageApi.js
index 64caba0fdf..ea76c85643 100644
--- a/src/FromWidgetPostMessageApi.js
+++ b/src/FromWidgetPostMessageApi.js
@@ -24,6 +24,8 @@ import {MatrixClientPeg} from "./MatrixClientPeg";
import RoomViewStore from "./stores/RoomViewStore";
import {IntegrationManagers} from "./integrations/IntegrationManagers";
import SettingsStore from "./settings/SettingsStore";
+import {Capability, KnownWidgetActions} from "./widgets/WidgetApi";
+import SdkConfig from "./SdkConfig";
const WIDGET_API_VERSION = '0.0.2'; // Current API version
const SUPPORTED_WIDGET_API_VERSIONS = [
@@ -213,11 +215,18 @@ export default class FromWidgetPostMessageApi {
const data = event.data.data;
const val = data.value;
- if (ActiveWidgetStore.widgetHasCapability(widgetId, 'm.always_on_screen')) {
+ if (ActiveWidgetStore.widgetHasCapability(widgetId, Capability.AlwaysOnScreen)) {
ActiveWidgetStore.setWidgetPersistence(widgetId, val);
}
} else if (action === 'get_openid') {
// Handled by caller
+ } else if (action === KnownWidgetActions.GetRiotWebConfig) {
+ if (ActiveWidgetStore.widgetHasCapability(widgetId, Capability.GetRiotWebConfig)) {
+ this.sendResponse(event, {
+ api: INBOUND_API_NAME,
+ config: SdkConfig.get(),
+ });
+ }
} else {
console.warn('Widget postMessage event unhandled');
this.sendError(event, {message: 'The postMessage was unhandled'});
diff --git a/src/HtmlUtils.js b/src/HtmlUtils.js
index 236aa0157e..a58ea25c8a 100644
--- a/src/HtmlUtils.js
+++ b/src/HtmlUtils.js
@@ -23,7 +23,6 @@ import ReplyThread from "./components/views/elements/ReplyThread";
import React from 'react';
import sanitizeHtml from 'sanitize-html';
-import highlight from 'highlight.js';
import * as linkify from 'linkifyjs';
import linkifyMatrix from './linkify-matrix';
import _linkifyElement from 'linkifyjs/element';
@@ -160,7 +159,7 @@ const transformTags = { // custom to matrix
delete attribs.target;
}
}
- attribs.rel = 'noopener'; // https://mathiasbynens.github.io/rel-noopener/
+ attribs.rel = 'noreferrer noopener'; // https://mathiasbynens.github.io/rel-noopener/
return { tagName, attribs };
},
'img': function(tagName, attribs) {
@@ -467,11 +466,12 @@ export function bodyToHtml(content, highlights, opts={}) {
/**
* Linkifies the given string. This is a wrapper around 'linkifyjs/string'.
*
- * @param {string} str
- * @returns {string}
+ * @param {string} str string to linkify
+ * @param {object} [options] Options for linkifyString. Default: linkifyMatrix.options
+ * @returns {string} Linkified string
*/
-export function linkifyString(str) {
- return _linkifyString(str);
+export function linkifyString(str, options = linkifyMatrix.options) {
+ return _linkifyString(str, options);
}
/**
@@ -489,10 +489,11 @@ export function linkifyElement(element, options = linkifyMatrix.options) {
* Linkify the given string and sanitize the HTML afterwards.
*
* @param {string} dirtyHtml The HTML string to sanitize and linkify
+ * @param {object} [options] Options for linkifyString. Default: linkifyMatrix.options
* @returns {string}
*/
-export function linkifyAndSanitizeHtml(dirtyHtml) {
- return sanitizeHtml(linkifyString(dirtyHtml), sanitizeHtmlParams);
+export function linkifyAndSanitizeHtml(dirtyHtml, options = linkifyMatrix.options) {
+ return sanitizeHtml(linkifyString(dirtyHtml, options), sanitizeHtmlParams);
}
/**
diff --git a/src/IdentityAuthClient.js b/src/IdentityAuthClient.js
index 72432b9a44..4a830d6506 100644
--- a/src/IdentityAuthClient.js
+++ b/src/IdentityAuthClient.js
@@ -181,24 +181,12 @@ export default class IdentityAuthClient {
}
async registerForToken(check=true) {
- try {
- const hsOpenIdToken = await MatrixClientPeg.get().getOpenIdToken();
- // XXX: The spec is `token`, but we used `access_token` for a Sydent release.
- const { access_token: accessToken, token } =
- await this._matrixClient.registerWithIdentityServer(hsOpenIdToken);
- const identityAccessToken = token ? token : accessToken;
- if (check) await this._checkToken(identityAccessToken);
- return identityAccessToken;
- } catch (e) {
- if (e.cors === "rejected" || e.httpStatus === 404) {
- // Assume IS only supports deprecated v1 API for now
- // TODO: Remove this path once v2 is only supported version
- // See https://github.com/vector-im/riot-web/issues/10443
- console.warn("IS doesn't support v2 auth");
- this.authEnabled = false;
- return;
- }
- throw e;
- }
+ const hsOpenIdToken = await MatrixClientPeg.get().getOpenIdToken();
+ // XXX: The spec is `token`, but we used `access_token` for a Sydent release.
+ const { access_token: accessToken, token } =
+ await this._matrixClient.registerWithIdentityServer(hsOpenIdToken);
+ const identityAccessToken = token ? token : accessToken;
+ if (check) await this._checkToken(identityAccessToken);
+ return identityAccessToken;
}
}
diff --git a/src/KeyRequestHandler.js b/src/KeyRequestHandler.js
index 65dc7fdb0f..30f3b7d50e 100644
--- a/src/KeyRequestHandler.js
+++ b/src/KeyRequestHandler.js
@@ -1,5 +1,6 @@
/*
Copyright 2017 Vector Creations Ltd
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -16,7 +17,10 @@ limitations under the License.
import * as sdk from './index';
import Modal from './Modal';
+import SettingsStore from './settings/SettingsStore';
+// TODO: We can remove this once cross-signing is the only way.
+// https://github.com/vector-im/riot-web/issues/11908
export default class KeyRequestHandler {
constructor(matrixClient) {
this._matrixClient = matrixClient;
@@ -30,6 +34,11 @@ export default class KeyRequestHandler {
}
handleKeyRequest(keyRequest) {
+ // Ignore own device key requests if cross-signing lab enabled
+ if (SettingsStore.isFeatureEnabled("feature_cross_signing")) {
+ return;
+ }
+
const userId = keyRequest.userId;
const deviceId = keyRequest.deviceId;
const requestId = keyRequest.requestId;
@@ -60,6 +69,11 @@ export default class KeyRequestHandler {
}
handleKeyRequestCancellation(cancellation) {
+ // Ignore own device key requests if cross-signing lab enabled
+ if (SettingsStore.isFeatureEnabled("feature_cross_signing")) {
+ return;
+ }
+
// see if we can find the request in the queue
const userId = cancellation.userId;
const deviceId = cancellation.deviceId;
diff --git a/src/Keyboard.js b/src/Keyboard.ts
similarity index 92%
rename from src/Keyboard.js
rename to src/Keyboard.ts
index 478d75acc1..23e2bbf0d6 100644
--- a/src/Keyboard.js
+++ b/src/Keyboard.ts
@@ -22,6 +22,7 @@ export const Key = {
PAGE_UP: "PageUp",
PAGE_DOWN: "PageDown",
BACKSPACE: "Backspace",
+ DELETE: "Delete",
ARROW_UP: "ArrowUp",
ARROW_DOWN: "ArrowDown",
ARROW_LEFT: "ArrowLeft",
@@ -36,10 +37,12 @@ export const Key = {
CONTEXT_MENU: "ContextMenu",
COMMA: ",",
+ PERIOD: ".",
LESS_THAN: "<",
GREATER_THAN: ">",
BACKTICK: "`",
SPACE: " ",
+ SLASH: "/",
A: "a",
B: "b",
C: "c",
@@ -68,8 +71,9 @@ export const Key = {
Z: "z",
};
+export const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
+
export function isOnlyCtrlOrCmdKeyEvent(ev) {
- const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
if (isMac) {
return ev.metaKey && !ev.altKey && !ev.ctrlKey && !ev.shiftKey;
} else {
@@ -78,7 +82,6 @@ export function isOnlyCtrlOrCmdKeyEvent(ev) {
}
export function isOnlyCtrlOrCmdIgnoreShiftKeyEvent(ev) {
- const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
if (isMac) {
return ev.metaKey && !ev.altKey && !ev.ctrlKey;
} else {
diff --git a/src/Lifecycle.js b/src/Lifecycle.js
index 0796e326a0..b9fbf4f1bc 100644
--- a/src/Lifecycle.js
+++ b/src/Lifecycle.js
@@ -2,6 +2,7 @@
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2018 New Vector Ltd
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -35,8 +36,10 @@ import { sendLoginRequest } from "./Login";
import * as StorageManager from './utils/StorageManager';
import SettingsStore from "./settings/SettingsStore";
import TypingStore from "./stores/TypingStore";
+import ToastStore from "./stores/ToastStore";
import {IntegrationManagers} from "./integrations/IntegrationManagers";
import {Mjolnir} from "./mjolnir/Mjolnir";
+import DeviceListener from "./DeviceListener";
/**
* Called at startup, to attempt to build a logged-in Matrix session. It tries
@@ -310,7 +313,7 @@ async function _restoreFromLocalStorage(opts) {
}
}
-function _handleLoadSessionFailure(e) {
+async function _handleLoadSessionFailure(e) {
console.error("Unable to load session", e);
const SessionRestoreErrorDialog =
@@ -320,16 +323,15 @@ function _handleLoadSessionFailure(e) {
error: e.message,
});
- return modal.finished.then(([success]) => {
- if (success) {
- // user clicked continue.
- _clearStorage();
- return false;
- }
+ const [success] = await modal.finished;
+ if (success) {
+ // user clicked continue.
+ await _clearStorage();
+ return false;
+ }
- // try, try again
- return loadSession();
- });
+ // try, try again
+ return loadSession();
}
/**
@@ -375,7 +377,7 @@ export function hydrateSession(credentials) {
const overwrite = credentials.userId !== oldUserId || credentials.deviceId !== oldDeviceId;
if (overwrite) {
- console.warn("Clearing all data: Old session belongs to a different user/device");
+ console.warn("Clearing all data: Old session belongs to a different user/session");
}
return _doSetLoggedIn(credentials, overwrite);
@@ -432,7 +434,7 @@ async function _doSetLoggedIn(credentials, clearStorage) {
}
}
- Analytics.setLoggedIn(credentials.guest, credentials.homeserverUrl, credentials.identityServerUrl);
+ Analytics.setLoggedIn(credentials.guest, credentials.homeserverUrl);
if (localStorage) {
try {
@@ -575,6 +577,7 @@ async function startMatrixClient(startSyncing=true) {
Notifier.start();
UserActivity.sharedInstance().start();
TypingStore.sharedInstance().reset(); // just in case
+ ToastStore.sharedInstance().reset();
if (!SettingsStore.getValue("lowBandwidth")) {
Presence.start();
}
@@ -588,13 +591,19 @@ async function startMatrixClient(startSyncing=true) {
Mjolnir.sharedInstance().start();
if (startSyncing) {
- await MatrixClientPeg.start();
+ // The client might want to populate some views with events from the
+ // index (e.g. the FilePanel), therefore initialize the event index
+ // before the client.
await EventIndexPeg.init();
+ await MatrixClientPeg.start();
} else {
console.warn("Caller requested only auxiliary services be started");
await MatrixClientPeg.assign();
}
+ // This needs to be started after crypto is set up
+ DeviceListener.sharedInstance().start();
+
// dispatch that we finished starting up to wire up any other bits
// of the matrix client that cannot be set prior to starting up.
dis.dispatch({action: 'client_started'});
@@ -622,7 +631,7 @@ export async function onLoggedOut() {
* @returns {Promise} promise which resolves once the stores have been cleared
*/
async function _clearStorage() {
- Analytics.logout();
+ Analytics.disable();
if (window.localStorage) {
window.localStorage.clear();
@@ -651,6 +660,7 @@ export function stopMatrixClient(unsetClient=true) {
ActiveWidgetStore.stop();
IntegrationManagers.sharedInstance().stopWatching();
Mjolnir.sharedInstance().stop();
+ DeviceListener.sharedInstance().stop();
if (DMRoomMap.shared()) DMRoomMap.shared().stop();
EventIndexPeg.stop();
const cli = MatrixClientPeg.get();
diff --git a/src/Login.js b/src/Login.js
index d9ce8adaaa..1590e5ac28 100644
--- a/src/Login.js
+++ b/src/Login.js
@@ -3,6 +3,7 @@ Copyright 2015, 2016 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2018 New Vector Ltd
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
+Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -19,8 +20,6 @@ limitations under the License.
import Matrix from "matrix-js-sdk";
-import url from 'url';
-
export default class Login {
constructor(hsUrl, isUrl, fallbackHsUrl, opts) {
this._hsUrl = hsUrl;
@@ -29,6 +28,7 @@ export default class Login {
this._currentFlowIndex = 0;
this._flows = [];
this._defaultDeviceDisplayName = opts.defaultDeviceDisplayName;
+ this._tempClient = null; // memoize
}
getHomeserverUrl() {
@@ -40,10 +40,12 @@ export default class Login {
}
setHomeserverUrl(hsUrl) {
+ this._tempClient = null; // clear memoization
this._hsUrl = hsUrl;
}
setIdentityServerUrl(isUrl) {
+ this._tempClient = null; // clear memoization
this._isUrl = isUrl;
}
@@ -52,8 +54,9 @@ export default class Login {
* requests.
* @returns {MatrixClient}
*/
- _createTemporaryClient() {
- return Matrix.createClient({
+ createTemporaryClient() {
+ if (this._tempClient) return this._tempClient; // use memoization
+ return this._tempClient = Matrix.createClient({
baseUrl: this._hsUrl,
idBaseUrl: this._isUrl,
});
@@ -61,7 +64,7 @@ export default class Login {
getFlows() {
const self = this;
- const client = this._createTemporaryClient();
+ const client = this.createTemporaryClient();
return client.loginFlows().then(function(result) {
self._flows = result.flows;
self._currentFlowIndex = 0;
@@ -139,21 +142,6 @@ export default class Login {
throw error;
});
}
-
- getSsoLoginUrl(loginType) {
- const client = this._createTemporaryClient();
- const parsedUrl = url.parse(window.location.href, true);
-
- // XXX: at this point, the fragment will always be #/login, which is no
- // use to anyone. Ideally, we would get the intended fragment from
- // MatrixChat.screenAfterLogin so that you could follow #/room links etc
- // through an SSO login.
- parsedUrl.hash = "";
-
- parsedUrl.query["homeserver"] = client.getHomeserverUrl();
- parsedUrl.query["identityServer"] = client.getIdentityServerUrl();
- return client.getSsoLoginUrl(url.format(parsedUrl), loginType);
- }
}
diff --git a/src/Markdown.js b/src/Markdown.js
index acfea52100..fb1f8bf0ea 100644
--- a/src/Markdown.js
+++ b/src/Markdown.js
@@ -91,7 +91,7 @@ export default class Markdown {
return true;
}
- toHTML() {
+ toHTML({ externalLinks = false } = {}) {
const renderer = new commonmark.HtmlRenderer({
safe: false,
@@ -125,6 +125,24 @@ export default class Markdown {
}
};
+ renderer.link = function(node, entering) {
+ const attrs = this.attrs(node);
+ if (entering) {
+ attrs.push(['href', this.esc(node.destination)]);
+ if (node.title) {
+ attrs.push(['title', this.esc(node.title)]);
+ }
+ // Modified link behaviour to treat them all as external and
+ // thus opening in a new tab.
+ if (externalLinks) {
+ attrs.push(['target', '_blank']);
+ attrs.push(['rel', 'noreferrer noopener']);
+ }
+ this.tag('a', attrs);
+ } else {
+ this.tag('/a');
+ }
+ };
renderer.html_inline = html_if_tag_allowed;
diff --git a/src/MatrixClientPeg.js b/src/MatrixClientPeg.js
index 9c939f2fd3..21f05b9759 100644
--- a/src/MatrixClientPeg.js
+++ b/src/MatrixClientPeg.js
@@ -2,7 +2,7 @@
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2017 Vector Creations Ltd.
Copyright 2017, 2018, 2019 New Vector Ltd
-Copyright 2019 The Matrix.org Foundation C.I.C.
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -32,6 +32,7 @@ import MatrixClientBackedSettingsHandler from "./settings/handlers/MatrixClientB
import * as StorageManager from './utils/StorageManager';
import IdentityAuthClient from './IdentityAuthClient';
import { crossSigningCallbacks } from './CrossSigningManager';
+import {SHOW_QR_CODE_METHOD} from "matrix-js-sdk/src/crypto/verification/QRCode";
interface MatrixClientCreds {
homeserverUrl: string,
@@ -147,6 +148,9 @@ class _MatrixClientPeg {
// check that we have a version of the js-sdk which includes initCrypto
if (!SettingsStore.getValue("lowBandwidth") && this.matrixClient.initCrypto) {
await this.matrixClient.initCrypto();
+ this.matrixClient.setCryptoTrustCrossSignedDevices(
+ !SettingsStore.getValue('e2ee.manuallyVerifyAllSessions'),
+ );
StorageManager.setCryptoInitialised(true);
}
} catch (e) {
@@ -217,15 +221,20 @@ class _MatrixClientPeg {
timelineSupport: true,
forceTURN: !SettingsStore.getValue('webRtcAllowPeerToPeer', false),
fallbackICEServerAllowed: !!SettingsStore.getValue('fallbackICEServerAllowed'),
- verificationMethods: [verificationMethods.SAS],
+ verificationMethods: [
+ verificationMethods.SAS,
+ SHOW_QR_CODE_METHOD,
+ verificationMethods.RECIPROCATE_QR_CODE,
+ ],
unstableClientRelationAggregation: true,
identityServer: new IdentityAuthClient(),
};
opts.cryptoCallbacks = {};
- if (SettingsStore.isFeatureEnabled("feature_cross_signing")) {
- Object.assign(opts.cryptoCallbacks, crossSigningCallbacks);
- }
+ // These are always installed regardless of the labs flag so that
+ // cross-signing features can toggle on without reloading and also be
+ // accessed immediately after login.
+ Object.assign(opts.cryptoCallbacks, crossSigningCallbacks);
this.matrixClient = createMatrixClient(opts);
diff --git a/src/Modal.js b/src/Modal.js
index 29d3af2e74..de441740f1 100644
--- a/src/Modal.js
+++ b/src/Modal.js
@@ -17,87 +17,14 @@ limitations under the License.
import React from 'react';
import ReactDOM from 'react-dom';
-import PropTypes from 'prop-types';
-import createReactClass from 'create-react-class';
import Analytics from './Analytics';
-import * as sdk from './index';
import dis from './dispatcher';
-import { _t } from './languageHandler';
-import {defer} from "./utils/promise";
+import {defer} from './utils/promise';
+import AsyncWrapper from './AsyncWrapper';
const DIALOG_CONTAINER_ID = "mx_Dialog_Container";
const STATIC_DIALOG_CONTAINER_ID = "mx_Dialog_StaticContainer";
-/**
- * Wrap an asynchronous loader function with a react component which shows a
- * spinner until the real component loads.
- */
-const AsyncWrapper = createReactClass({
- propTypes: {
- /** A promise which resolves with the real component
- */
- prom: PropTypes.object.isRequired,
- },
-
- getInitialState: function() {
- return {
- component: null,
- error: null,
- };
- },
-
- componentWillMount: function() {
- this._unmounted = false;
- // XXX: temporary logging to try to diagnose
- // https://github.com/vector-im/riot-web/issues/3148
- console.log('Starting load of AsyncWrapper for modal');
- this.props.prom.then((result) => {
- if (this._unmounted) {
- return;
- }
- // Take the 'default' member if it's there, then we support
- // passing in just an import()ed module, since ES6 async import
- // always returns a module *namespace*.
- const component = result.default ? result.default : result;
- this.setState({component});
- }).catch((e) => {
- console.warn('AsyncWrapper promise failed', e);
- this.setState({error: e});
- });
- },
-
- componentWillUnmount: function() {
- this._unmounted = true;
- },
-
- _onWrapperCancelClick: function() {
- this.props.onFinished(false);
- },
-
- render: function() {
- if (this.state.component) {
- const Component = this.state.component;
- return ;
- } else if (this.state.error) {
- const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
- const DialogButtons = sdk.getComponent('views.elements.DialogButtons');
- return
- {_t("Unable to load! Check your network connectivity and try again.")}
-
- ;
- } else {
- // show a spinner until the component is loaded.
- const Spinner = sdk.getComponent("elements.Spinner");
- return ;
- }
- },
-});
-
class ModalManager {
constructor() {
this._counter = 0;
@@ -120,7 +47,7 @@ class ModalManager {
} */
];
- this.closeAll = this.closeAll.bind(this);
+ this.onBackgroundClick = this.onBackgroundClick.bind(this);
}
hasDialogs() {
@@ -179,7 +106,7 @@ class ModalManager {
return this.appendDialogAsync(...rest);
}
- _buildModal(prom, props, className) {
+ _buildModal(prom, props, className, options) {
const modal = {};
// never call this from onFinished() otherwise it will loop
@@ -197,13 +124,27 @@ class ModalManager {
);
modal.onFinished = props ? props.onFinished : null;
modal.className = className;
+ modal.onBeforeClose = options.onBeforeClose;
+ modal.beforeClosePromise = null;
+ modal.close = closeDialog;
+ modal.closeReason = null;
return {modal, closeDialog, onFinishedProm};
}
_getCloseFn(modal, props) {
const deferred = defer();
- return [(...args) => {
+ return [async (...args) => {
+ if (modal.beforeClosePromise) {
+ await modal.beforeClosePromise;
+ } else if (modal.onBeforeClose) {
+ modal.beforeClosePromise = modal.onBeforeClose(modal.closeReason);
+ const shouldClose = await modal.beforeClosePromise;
+ modal.beforeClosePromise = null;
+ if (!shouldClose) {
+ return;
+ }
+ }
deferred.resolve(args);
if (props && props.onFinished) props.onFinished.apply(null, args);
const i = this._modals.indexOf(modal);
@@ -229,6 +170,12 @@ class ModalManager {
}, deferred.promise];
}
+ /**
+ * @callback onBeforeClose
+ * @param {string?} reason either "backgroundClick" or null
+ * @return {Promise} whether the dialog should close
+ */
+
/**
* Open a modal view.
*
@@ -256,11 +203,12 @@ class ModalManager {
* also be removed from the stack. This is not compatible
* with being a priority modal. Only one modal can be
* static at a time.
+ * @param {Object} options? extra options for the dialog
+ * @param {onBeforeClose} options.onBeforeClose a callback to decide whether to close the dialog
* @returns {object} Object with 'close' parameter being a function that will close the dialog
*/
- createDialogAsync(prom, props, className, isPriorityModal, isStaticModal) {
- const {modal, closeDialog, onFinishedProm} = this._buildModal(prom, props, className);
-
+ createDialogAsync(prom, props, className, isPriorityModal, isStaticModal, options = {}) {
+ const {modal, closeDialog, onFinishedProm} = this._buildModal(prom, props, className, options);
if (isPriorityModal) {
// XXX: This is destructive
this._priorityModal = modal;
@@ -279,7 +227,7 @@ class ModalManager {
}
appendDialogAsync(prom, props, className) {
- const {modal, closeDialog, onFinishedProm} = this._buildModal(prom, props, className);
+ const {modal, closeDialog, onFinishedProm} = this._buildModal(prom, props, className, {});
this._modals.push(modal);
this._reRender();
@@ -289,24 +237,22 @@ class ModalManager {
};
}
- closeAll() {
- const modalsToClose = [...this._modals, this._priorityModal];
- this._modals = [];
- this._priorityModal = null;
-
- if (this._staticModal && modalsToClose.length === 0) {
- modalsToClose.push(this._staticModal);
- this._staticModal = null;
+ onBackgroundClick() {
+ const modal = this._getCurrentModal();
+ if (!modal) {
+ return;
}
+ // we want to pass a reason to the onBeforeClose
+ // callback, but close is currently defined to
+ // pass all number of arguments to the onFinished callback
+ // so, pass the reason to close through a member variable
+ modal.closeReason = "backgroundClick";
+ modal.close();
+ modal.closeReason = null;
+ }
- for (let i = 0; i < modalsToClose.length; i++) {
- const m = modalsToClose[i];
- if (m && m.onFinished) {
- m.onFinished(false);
- }
- }
-
- this._reRender();
+ _getCurrentModal() {
+ return this._priorityModal ? this._priorityModal : (this._modals[0] || this._staticModal);
}
_reRender() {
@@ -337,7 +283,7 @@ class ModalManager {
;
+ });
+
+ const InfoDialog = sdk.getComponent('dialogs.InfoDialog');
+ activeModal = Modal.createTrackedDialog("Keyboard Shortcuts", "", InfoDialog, {
+ className: "mx_KeyboardShortcutsDialog",
+ title: _t("Keyboard Shortcuts"),
+ description: sections,
+ hasCloseButton: true,
+ onKeyDown: (ev) => {
+ if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey && ev.key === Key.SLASH) { // Ctrl + /
+ ev.stopPropagation();
+ activeModal.close();
+ }
+ },
+ onFinished: () => {
+ activeModal = null;
+ },
+ });
+};
+
+export const registerShortcut = (category: Categories, defn: IShortcut) => {
+ shortcuts[category].push(defn);
+};
diff --git a/src/accessibility/RovingTabIndex.js b/src/accessibility/RovingTabIndex.js
new file mode 100644
index 0000000000..b481f08fe2
--- /dev/null
+++ b/src/accessibility/RovingTabIndex.js
@@ -0,0 +1,224 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React, {
+ createContext,
+ useCallback,
+ useContext,
+ useLayoutEffect,
+ useMemo,
+ useRef,
+ useReducer,
+} from "react";
+import PropTypes from "prop-types";
+import {Key} from "../Keyboard";
+
+/**
+ * Module to simplify implementing the Roving TabIndex accessibility technique
+ *
+ * Wrap the Widget in an RovingTabIndexContextProvider
+ * and then for all buttons make use of useRovingTabIndex or RovingTabIndexWrapper.
+ * The code will keep track of which tabIndex was most recently focused and expose that information as `isActive` which
+ * can then be used to only set the tabIndex to 0 as expected by the roving tabindex technique.
+ * When the active button gets unmounted the closest button will be chosen as expected.
+ * Initially the first button to mount will be given active state.
+ *
+ * https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#Technique_1_Roving_tabindex
+ */
+
+const DOCUMENT_POSITION_PRECEDING = 2;
+
+const RovingTabIndexContext = createContext({
+ state: {
+ activeRef: null,
+ refs: [], // list of refs in DOM order
+ },
+ dispatch: () => {},
+});
+RovingTabIndexContext.displayName = "RovingTabIndexContext";
+
+// TODO use a TypeScript type here
+const types = {
+ REGISTER: "REGISTER",
+ UNREGISTER: "UNREGISTER",
+ SET_FOCUS: "SET_FOCUS",
+};
+
+const reducer = (state, action) => {
+ switch (action.type) {
+ case types.REGISTER: {
+ if (state.refs.length === 0) {
+ // Our list of refs was empty, set activeRef to this first item
+ return {
+ ...state,
+ activeRef: action.payload.ref,
+ refs: [action.payload.ref],
+ };
+ }
+
+ if (state.refs.includes(action.payload.ref)) {
+ return state; // already in refs, this should not happen
+ }
+
+ // find the index of the first ref which is not preceding this one in DOM order
+ let newIndex = state.refs.findIndex(ref => {
+ return ref.current.compareDocumentPosition(action.payload.ref.current) & DOCUMENT_POSITION_PRECEDING;
+ });
+
+ if (newIndex < 0) {
+ newIndex = state.refs.length; // append to the end
+ }
+
+ // update the refs list
+ return {
+ ...state,
+ refs: [
+ ...state.refs.slice(0, newIndex),
+ action.payload.ref,
+ ...state.refs.slice(newIndex),
+ ],
+ };
+ }
+ case types.UNREGISTER: {
+ // filter out the ref which we are removing
+ const refs = state.refs.filter(r => r !== action.payload.ref);
+
+ if (refs.length === state.refs.length) {
+ return state; // already removed, this should not happen
+ }
+
+ if (state.activeRef === action.payload.ref) {
+ // we just removed the active ref, need to replace it
+ // pick the ref which is now in the index the old ref was in
+ const oldIndex = state.refs.findIndex(r => r === action.payload.ref);
+ return {
+ ...state,
+ activeRef: oldIndex >= refs.length ? refs[refs.length - 1] : refs[oldIndex],
+ refs,
+ };
+ }
+
+ // update the refs list
+ return {
+ ...state,
+ refs,
+ };
+ }
+ case types.SET_FOCUS: {
+ // update active ref
+ return {
+ ...state,
+ activeRef: action.payload.ref,
+ };
+ }
+ default:
+ return state;
+ }
+};
+
+export const RovingTabIndexProvider = ({children, handleHomeEnd, onKeyDown}) => {
+ const [state, dispatch] = useReducer(reducer, {
+ activeRef: null,
+ refs: [],
+ });
+
+ const context = useMemo(() => ({state, dispatch}), [state]);
+
+ const onKeyDownHandler = useCallback((ev) => {
+ let handled = false;
+ if (handleHomeEnd) {
+ // check if we actually have any items
+ switch (ev.key) {
+ case Key.HOME:
+ handled = true;
+ // move focus to first item
+ if (context.state.refs.length > 0) {
+ context.state.refs[0].current.focus();
+ }
+ break;
+ case Key.END:
+ handled = true;
+ // move focus to last item
+ if (context.state.refs.length > 0) {
+ context.state.refs[context.state.refs.length - 1].current.focus();
+ }
+ break;
+ }
+ }
+
+ if (handled) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ } else if (onKeyDown) {
+ return onKeyDown(ev);
+ }
+ }, [context.state, onKeyDown, handleHomeEnd]);
+
+ return
+ { children({onKeyDownHandler}) }
+ ;
+};
+RovingTabIndexProvider.propTypes = {
+ handleHomeEnd: PropTypes.bool,
+ onKeyDown: PropTypes.func,
+};
+
+// Hook to register a roving tab index
+// inputRef parameter specifies the ref to use
+// onFocus should be called when the index gained focus in any manner
+// isActive should be used to set tabIndex in a manner such as `tabIndex={isActive ? 0 : -1}`
+// ref should be passed to a DOM node which will be used for DOM compareDocumentPosition
+export const useRovingTabIndex = (inputRef) => {
+ const context = useContext(RovingTabIndexContext);
+ let ref = useRef(null);
+
+ if (inputRef) {
+ // if we are given a ref, use it instead of ours
+ ref = inputRef;
+ }
+
+ // setup (after refs)
+ useLayoutEffect(() => {
+ context.dispatch({
+ type: types.REGISTER,
+ payload: {ref},
+ });
+ // teardown
+ return () => {
+ context.dispatch({
+ type: types.UNREGISTER,
+ payload: {ref},
+ });
+ };
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
+
+ const onFocus = useCallback(() => {
+ context.dispatch({
+ type: types.SET_FOCUS,
+ payload: {ref},
+ });
+ }, [ref, context]);
+
+ const isActive = context.state.activeRef === ref;
+ return [onFocus, isActive, ref];
+};
+
+// Wrapper to allow use of useRovingTabIndex outside of React Functional Components.
+export const RovingTabIndexWrapper = ({children, inputRef}) => {
+ const [onFocus, isActive, ref] = useRovingTabIndex(inputRef);
+ return children({onFocus, isActive, ref});
+};
+
diff --git a/src/actions/RoomListActions.js b/src/actions/RoomListActions.js
index d534fe5d1d..10a3848dda 100644
--- a/src/actions/RoomListActions.js
+++ b/src/actions/RoomListActions.js
@@ -15,7 +15,7 @@ limitations under the License.
*/
import { asyncAction } from './actionCreators';
-import RoomListStore from '../stores/RoomListStore';
+import RoomListStore, {TAG_DM} from '../stores/RoomListStore';
import Modal from '../Modal';
import * as Rooms from '../Rooms';
import { _t } from '../languageHandler';
@@ -73,11 +73,11 @@ RoomListActions.tagRoom = function(matrixClient, room, oldTag, newTag, oldIndex,
const roomId = room.roomId;
// Evil hack to get DMs behaving
- if ((oldTag === undefined && newTag === 'im.vector.fake.direct') ||
- (oldTag === 'im.vector.fake.direct' && newTag === undefined)
+ if ((oldTag === undefined && newTag === TAG_DM) ||
+ (oldTag === TAG_DM && newTag === undefined)
) {
return Rooms.guessAndSetDMRoom(
- room, newTag === 'im.vector.fake.direct',
+ room, newTag === TAG_DM,
).catch((err) => {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to set direct chat tag " + err);
@@ -91,10 +91,10 @@ RoomListActions.tagRoom = function(matrixClient, room, oldTag, newTag, oldIndex,
const hasChangedSubLists = oldTag !== newTag;
// More evilness: We will still be dealing with moving to favourites/low prio,
- // but we avoid ever doing a request with 'im.vector.fake.direct`.
+ // but we avoid ever doing a request with TAG_DM.
//
// if we moved lists, remove the old tag
- if (oldTag && oldTag !== 'im.vector.fake.direct' &&
+ if (oldTag && oldTag !== TAG_DM &&
hasChangedSubLists
) {
const promiseToDelete = matrixClient.deleteRoomTag(
@@ -112,7 +112,7 @@ RoomListActions.tagRoom = function(matrixClient, room, oldTag, newTag, oldIndex,
}
// if we moved lists or the ordering changed, add the new tag
- if (newTag && newTag !== 'im.vector.fake.direct' &&
+ if (newTag && newTag !== TAG_DM &&
(hasChangedSubLists || metaData)
) {
// metaData is the body of the PUT to set the tag, so it must
diff --git a/src/async-components/views/dialogs/EncryptedEventDialog.js b/src/async-components/views/dialogs/EncryptedEventDialog.js
index f6e17b1c84..b602cf60fe 100644
--- a/src/async-components/views/dialogs/EncryptedEventDialog.js
+++ b/src/async-components/views/dialogs/EncryptedEventDialog.js
@@ -191,7 +191,7 @@ export default createReactClass({
{ _t('Event information') }
{ this._renderEventInfo() }
-
{ _t('Sender device information') }
+
{ _t('Sender session information') }
{ this._renderDeviceInfo() }
diff --git a/src/async-components/views/dialogs/eventindex/DisableEventIndexDialog.js b/src/async-components/views/dialogs/eventindex/DisableEventIndexDialog.js
new file mode 100644
index 0000000000..120b086ef6
--- /dev/null
+++ b/src/async-components/views/dialogs/eventindex/DisableEventIndexDialog.js
@@ -0,0 +1,73 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+import * as sdk from '../../../../index';
+import PropTypes from 'prop-types';
+import dis from "../../../../dispatcher";
+import { _t } from '../../../../languageHandler';
+
+import SettingsStore, {SettingLevel} from "../../../../settings/SettingsStore";
+import EventIndexPeg from "../../../../indexing/EventIndexPeg";
+
+/*
+ * Allows the user to disable the Event Index.
+ */
+export default class DisableEventIndexDialog extends React.Component {
+ static propTypes = {
+ onFinished: PropTypes.func.isRequired,
+ }
+
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ disabling: false,
+ };
+ }
+
+ _onDisable = async () => {
+ this.setState({
+ disabling: true,
+ });
+
+ await SettingsStore.setValue('enableEventIndexing', null, SettingLevel.DEVICE, false);
+ await EventIndexPeg.deleteEventIndex();
+ this.props.onFinished();
+ dis.dispatch({ action: 'view_user_settings' });
+ }
+
+ render() {
+ const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
+ const Spinner = sdk.getComponent('elements.Spinner');
+ const DialogButtons = sdk.getComponent('views.elements.DialogButtons');
+
+ return (
+
+ {_t("If disabled, messages from encrypted rooms won't appear in search results.")}
+ {this.state.disabling ? : }
+
+
+ );
+ }
+}
diff --git a/src/async-components/views/dialogs/eventindex/ManageEventIndexDialog.js b/src/async-components/views/dialogs/eventindex/ManageEventIndexDialog.js
new file mode 100644
index 0000000000..3d7249b5a1
--- /dev/null
+++ b/src/async-components/views/dialogs/eventindex/ManageEventIndexDialog.js
@@ -0,0 +1,199 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+import * as sdk from '../../../../index';
+import PropTypes from 'prop-types';
+import { _t } from '../../../../languageHandler';
+import SettingsStore, {SettingLevel} from "../../../../settings/SettingsStore";
+
+import Modal from '../../../../Modal';
+import {formatBytes, formatCountLong} from "../../../../utils/FormattingUtils";
+import EventIndexPeg from "../../../../indexing/EventIndexPeg";
+
+/*
+ * Allows the user to introspect the event index state and disable it.
+ */
+export default class ManageEventIndexDialog extends React.Component {
+ static propTypes = {
+ onFinished: PropTypes.func.isRequired,
+ }
+
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ eventIndexSize: 0,
+ eventCount: 0,
+ crawlingRoomsCount: 0,
+ roomCount: 0,
+ currentRoom: null,
+ crawlerSleepTime:
+ SettingsStore.getValueAt(SettingLevel.DEVICE, 'crawlerSleepTime'),
+ };
+ }
+
+ updateCurrentRoom = async (room) => {
+ const eventIndex = EventIndexPeg.get();
+ let stats;
+
+ try {
+ stats = await eventIndex.getStats();
+ } catch {
+ // This call may fail if sporadically, not a huge issue as we will
+ // try later again and probably succeed.
+ return;
+ }
+
+ let currentRoom = null;
+
+ if (room) currentRoom = room.name;
+ const roomStats = eventIndex.crawlingRooms();
+ const crawlingRoomsCount = roomStats.crawlingRooms.size;
+ const roomCount = roomStats.totalRooms.size;
+
+ this.setState({
+ eventIndexSize: stats.size,
+ eventCount: stats.eventCount,
+ crawlingRoomsCount: crawlingRoomsCount,
+ roomCount: roomCount,
+ currentRoom: currentRoom,
+ });
+ };
+
+ componentWillUnmount(): void {
+ const eventIndex = EventIndexPeg.get();
+
+ if (eventIndex !== null) {
+ eventIndex.removeListener("changedCheckpoint", this.updateCurrentRoom);
+ }
+ }
+
+ async componentWillMount(): void {
+ let eventIndexSize = 0;
+ let crawlingRoomsCount = 0;
+ let roomCount = 0;
+ let eventCount = 0;
+ let currentRoom = null;
+
+ const eventIndex = EventIndexPeg.get();
+
+ if (eventIndex !== null) {
+ eventIndex.on("changedCheckpoint", this.updateCurrentRoom);
+
+ try {
+ const stats = await eventIndex.getStats();
+ eventIndexSize = stats.size;
+ eventCount = stats.eventCount;
+ } catch {
+ // This call may fail if sporadically, not a huge issue as we
+ // will try later again in the updateCurrentRoom call and
+ // probably succeed.
+ }
+
+ const roomStats = eventIndex.crawlingRooms();
+ crawlingRoomsCount = roomStats.crawlingRooms.size;
+ roomCount = roomStats.totalRooms.size;
+
+ const room = eventIndex.currentRoom();
+ if (room) currentRoom = room.name;
+ }
+
+ this.setState({
+ eventIndexSize,
+ eventCount,
+ crawlingRoomsCount,
+ roomCount,
+ currentRoom,
+ });
+ }
+
+ _onDisable = async () => {
+ Modal.createTrackedDialogAsync("Disable message search", "Disable message search",
+ import("./DisableEventIndexDialog"),
+ null, null, /* priority = */ false, /* static = */ true,
+ );
+ }
+
+ _onDone = () => {
+ this.props.onFinished(true);
+ }
+
+ _onCrawlerSleepTimeChange = (e) => {
+ this.setState({crawlerSleepTime: e.target.value});
+ SettingsStore.setValue("crawlerSleepTime", null, SettingLevel.DEVICE, e.target.value);
+ }
+
+ render() {
+ let crawlerState;
+
+ if (this.state.currentRoom === null) {
+ crawlerState = _t("Not currently indexing messages for any room.");
+ } else {
+ crawlerState = (
+ _t("Currently indexing: %(currentRoom)s.", { currentRoom: this.state.currentRoom })
+ );
+ }
+
+ const Field = sdk.getComponent('views.elements.Field');
+
+ const doneRooms = Math.max(0, (this.state.roomCount - this.state.crawlingRoomsCount));
+
+ const eventIndexingSettings = (
+
+ {
+ _t( "Riot is securely caching encrypted messages locally for them " +
+ "to appear in search results:",
+ )
+ }
+
;
+ ;
}
_renderPhaseShowKey() {
- let bodyText;
- if (this.state.setPassPhrase) {
- bodyText = _t(
- "As a safety net, you can use it to restore your encrypted message " +
- "history if you forget your Recovery Passphrase.",
- );
- } else {
- bodyText = _t("As a safety net, you can use it to restore your encrypted message history.");
- }
-
return
{_t(
"Your recovery key is a safety net - you can use it to restore " +
"access to your encrypted messages if you forget your passphrase.",
)}
{_t(
- "Keep your recovery key somewhere very secure, like a password manager (or a safe).",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.",
)}
);
}
diff --git a/src/components/views/settings/DevicesPanel.js b/src/components/views/settings/DevicesPanel.js
index 2f5262c75a..2120801a81 100644
--- a/src/components/views/settings/DevicesPanel.js
+++ b/src/components/views/settings/DevicesPanel.js
@@ -62,10 +62,10 @@ export default class DevicesPanel extends React.Component {
let errtxt;
if (error.httpStatus == 404) {
// 404 probably means the HS doesn't yet support the API.
- errtxt = _t("Your homeserver does not support device management.");
+ errtxt = _t("Your homeserver does not support session management.");
} else {
- console.error("Error loading devices:", error);
- errtxt = _t("Unable to load device list");
+ console.error("Error loading sessions:", error);
+ errtxt = _t("Unable to load session list");
}
this.setState({deviceLoadError: errtxt});
},
@@ -130,7 +130,7 @@ export default class DevicesPanel extends React.Component {
makeRequest: this._makeDeleteRequest.bind(this),
});
}).catch((e) => {
- console.error("Error deleting devices", e);
+ console.error("Error deleting sessions", e);
if (this._unmounted) { return; }
}).finally(() => {
this.setState({
@@ -188,7 +188,7 @@ export default class DevicesPanel extends React.Component {
const deleteButton = this.state.deleting ?
:
- { _t("Delete %(count)s devices", {count: this.state.selectedDevices.length}) }
+ { _t("Delete %(count)s sessions", {count: this.state.selectedDevices.length}) }
;
const classes = classNames(this.props.className, "mx_DevicesPanel");
diff --git a/src/components/views/settings/DevicesPanelEntry.js b/src/components/views/settings/DevicesPanelEntry.js
index d9da697e78..ff3c318a92 100644
--- a/src/components/views/settings/DevicesPanelEntry.js
+++ b/src/components/views/settings/DevicesPanelEntry.js
@@ -40,7 +40,7 @@ export default class DevicesPanelEntry extends React.Component {
return MatrixClientPeg.get().setDeviceDetails(device.device_id, {
display_name: value,
}).catch((e) => {
- console.error("Error setting device display name", e);
+ console.error("Error setting session display name", e);
throw new Error(_t("Failed to set display name"));
});
}
diff --git a/src/components/views/settings/E2eAdvancedPanel.js b/src/components/views/settings/E2eAdvancedPanel.js
new file mode 100644
index 0000000000..709465bcb0
--- /dev/null
+++ b/src/components/views/settings/E2eAdvancedPanel.js
@@ -0,0 +1,39 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+
+import * as sdk from '../../../index';
+import {_t} from "../../../languageHandler";
+import {SettingLevel} from "../../../settings/SettingsStore";
+
+const SETTING_MANUALLY_VERIFY_ALL_SESSIONS = "e2ee.manuallyVerifyAllSessions";
+
+const E2eAdvancedPanel = props => {
+ const SettingsFlag = sdk.getComponent('views.elements.SettingsFlag');
+ return
+ {_t("Advanced")}
+
+
+
{_t(
+ "Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.",
+ )}
+
;
+};
+
+export default E2eAdvancedPanel;
diff --git a/src/components/views/settings/EventIndexPanel.js b/src/components/views/settings/EventIndexPanel.js
new file mode 100644
index 0000000000..203a7ee46e
--- /dev/null
+++ b/src/components/views/settings/EventIndexPanel.js
@@ -0,0 +1,201 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+
+import { _t } from '../../../languageHandler';
+import * as sdk from '../../../index';
+import Modal from '../../../Modal';
+import SettingsStore, {SettingLevel} from "../../../settings/SettingsStore";
+import AccessibleButton from "../elements/AccessibleButton";
+import {formatBytes, formatCountLong} from "../../../utils/FormattingUtils";
+import EventIndexPeg from "../../../indexing/EventIndexPeg";
+
+export default class EventIndexPanel extends React.Component {
+ constructor() {
+ super();
+
+ this.state = {
+ enabling: false,
+ eventIndexSize: 0,
+ roomCount: 0,
+ eventIndexingEnabled:
+ SettingsStore.getValueAt(SettingLevel.DEVICE, 'enableEventIndexing'),
+ };
+ }
+
+ updateCurrentRoom = async (room) => {
+ const eventIndex = EventIndexPeg.get();
+ let stats;
+
+ try {
+ stats = await eventIndex.getStats();
+ } catch {
+ // This call may fail if sporadically, not a huge issue as we will
+ // try later again and probably succeed.
+ return;
+ }
+
+ this.setState({
+ eventIndexSize: stats.size,
+ roomCount: stats.roomCount,
+ });
+ };
+
+ componentWillUnmount(): void {
+ const eventIndex = EventIndexPeg.get();
+
+ if (eventIndex !== null) {
+ eventIndex.removeListener("changedCheckpoint", this.updateCurrentRoom);
+ }
+ }
+
+ async componentWillMount(): void {
+ this.updateState();
+ }
+
+ async updateState() {
+ const eventIndex = EventIndexPeg.get();
+ const eventIndexingEnabled = SettingsStore.getValueAt(SettingLevel.DEVICE, 'enableEventIndexing');
+ const enabling = false;
+
+ let eventIndexSize = 0;
+ let roomCount = 0;
+
+ if (eventIndex !== null) {
+ eventIndex.on("changedCheckpoint", this.updateCurrentRoom);
+
+ try {
+ const stats = await eventIndex.getStats();
+ eventIndexSize = stats.size;
+ roomCount = stats.roomCount;
+ } catch {
+ // This call may fail if sporadically, not a huge issue as we
+ // will try later again in the updateCurrentRoom call and
+ // probably succeed.
+ }
+ }
+
+ this.setState({
+ enabling,
+ eventIndexSize,
+ roomCount,
+ eventIndexingEnabled,
+ });
+ }
+
+ _onManage = async () => {
+ Modal.createTrackedDialogAsync('Message search', 'Message search',
+ import('../../../async-components/views/dialogs/eventindex/ManageEventIndexDialog'),
+ {
+ onFinished: () => {},
+ }, null, /* priority = */ false, /* static = */ true,
+ );
+ }
+
+ _onEnable = async () => {
+ this.setState({
+ enabling: true,
+ });
+
+ await EventIndexPeg.initEventIndex();
+ await EventIndexPeg.get().addInitialCheckpoints();
+ await EventIndexPeg.get().startCrawler();
+ await SettingsStore.setValue('enableEventIndexing', null, SettingLevel.DEVICE, true);
+ await this.updateState();
+ }
+
+ render() {
+ let eventIndexingSettings = null;
+ const InlineSpinner = sdk.getComponent('elements.InlineSpinner');
+
+ if (EventIndexPeg.get() !== null) {
+ eventIndexingSettings = (
+
+
+ {_t( "Securely cache encrypted messages locally for them " +
+ "to appear in search results, using ")
+ } {formatBytes(this.state.eventIndexSize, 0)}
+ {_t( " to store messages from ")}
+ {formatCountLong(this.state.roomCount)} {_t("rooms.")}
+
{_t(
- "This device is not backing up your keys, " +
+ "This session is not backing up your keys, " +
"but you do have an existing backup you can restore from " +
"and add to going forward.", {},
{b: sub => {sub}},
)}
{_t(
- "Connect this device to key backup before signing out to avoid " +
- "losing any keys that may only be on this device.",
+ "Connect this session to key backup before signing out to avoid " +
+ "losing any keys that may only be on this session.",
)}
;
- restoreButtonCaption = _t("Connect this device to Key Backup");
+ restoreButtonCaption = _t("Connect this session to Key Backup");
}
let keyStatus;
@@ -276,42 +263,42 @@ export default class KeyBackupPanel extends React.PureComponent {
);
} else if (!sig.device) {
sigStatus = _t(
- "Backup has a signature from unknown device with ID %(deviceId)s",
+ "Backup has a signature from unknown session with ID %(deviceId)s",
{ deviceId: sig.deviceId }, { verify },
);
} else if (sig.valid && fromThisDevice) {
sigStatus = _t(
- "Backup has a valid signature from this device",
+ "Backup has a valid signature from this session",
{}, { validity },
);
} else if (!sig.valid && fromThisDevice) {
// it can happen...
sigStatus = _t(
- "Backup has an invalid signature from this device",
+ "Backup has an invalid signature from this session",
{}, { validity },
);
- } else if (sig.valid && sig.device.isVerified()) {
+ } else if (sig.valid && sig.deviceTrust.isVerified()) {
sigStatus = _t(
"Backup has a valid signature from " +
- "verified device ",
+ "verified session ",
{}, { validity, verify, device },
);
- } else if (sig.valid && !sig.device.isVerified()) {
+ } else if (sig.valid && !sig.deviceTrust.isVerified()) {
sigStatus = _t(
"Backup has a valid signature from " +
- "unverified device ",
+ "unverified session ",
{}, { validity, verify, device },
);
- } else if (!sig.valid && sig.device.isVerified()) {
+ } else if (!sig.valid && sig.deviceTrust.isVerified()) {
sigStatus = _t(
"Backup has an invalid signature from " +
- "verified device ",
+ "verified session ",
{}, { validity, verify, device },
);
- } else if (!sig.valid && !sig.device.isVerified()) {
+ } else if (!sig.valid && !sig.deviceTrust.isVerified()) {
sigStatus = _t(
"Backup has an invalid signature from " +
- "unverified device ",
+ "unverified session ",
{}, { validity, verify, device },
);
}
@@ -321,12 +308,12 @@ export default class KeyBackupPanel extends React.PureComponent {
;
});
if (this.state.backupSigStatus.sigs.length === 0) {
- backupSigStatuses = _t("Backup is not signed by any of your devices");
+ backupSigStatuses = _t("Backup is not signed by any of your sessions");
}
let trustedLocally;
if (this.state.backupSigStatus.trusted_locally) {
- trustedLocally = _t("This backup is trusted because it has been restored on this device");
+ trustedLocally = _t("This backup is trusted because it has been restored on this session");
}
let buttonRow = (
@@ -342,7 +329,7 @@ export default class KeyBackupPanel extends React.PureComponent {
if (this.state.backupKeyStored && !SettingsStore.isFeatureEnabled("feature_cross_signing")) {
buttonRow =
⚠️ {_t(
"Backup key stored in secret storage, but this feature is not " +
- "enabled on this device. Please enable cross-signing in Labs to " +
+ "enabled on this session. Please enable cross-signing in Labs to " +
"modify key backup state.",
)}
;
}
@@ -361,26 +348,10 @@ export default class KeyBackupPanel extends React.PureComponent {
{buttonRow}
;
} else {
- // This is a temporary button for testing the new path which stores
- // the key backup key in SSSS. Initialising SSSS depends on
- // cross-signing and is part of the same project, so we only show
- // this mode when the cross-signing feature is enabled.
- // TODO: Clean this up when removing the feature flag.
- let secureSecretStorageKeyBackup;
- if (SettingsStore.isFeatureEnabled("feature_cross_signing")) {
- secureSecretStorageKeyBackup = (
-
-
- {_t("Start using Key Backup with Secure Secret Storage")}
-
-
- );
- }
-
return
{_t(
- "Your keys are not being backed up from this device.", {},
+ "Your keys are not being backed up from this session.", {},
{b: sub => {sub}},
)}
{encryptedMessageAreEncrypted}
@@ -391,7 +362,6 @@ export default class KeyBackupPanel extends React.PureComponent {
{_t("Start using Key Backup")}
- {secureSecretStorageKeyBackup}
;
}
}
diff --git a/src/components/views/settings/Notifications.js b/src/components/views/settings/Notifications.js
index 3bad8ba2bd..1f4bde6eab 100644
--- a/src/components/views/settings/Notifications.js
+++ b/src/components/views/settings/Notifications.js
@@ -864,7 +864,7 @@ export default createReactClass({
+ label={_t('Enable desktop notifications for this session')} />
+ label={_t('Enable audible notifications for this session')} />
{ emailNotificationsRows }
diff --git a/src/components/views/settings/ProfileSettings.js b/src/components/views/settings/ProfileSettings.js
index 8d2c289b15..23ab60423a 100644
--- a/src/components/views/settings/ProfileSettings.js
+++ b/src/components/views/settings/ProfileSettings.js
@@ -132,10 +132,10 @@ export default class ProfileSettings extends React.Component {
{_t(
"Upgrade to your own domain", {},
{
- a: sub => {sub},
+ a: sub => {sub},
},
)}
-
+
;
@@ -153,7 +153,7 @@ export default class ProfileSettings extends React.Component {
{this.state.userId}
{hostingSignup}
{_t(
+ "This room is bridging messages to the following platforms. " +
+ "Learn more.", {},
+ {
+ // TODO: We don't have this link yet: this will prevent the translators
+ // having to re-translate the string when we do.
+ a: sub => {sub},
+ },
+ )}
{_t(
+ "This room isn’t bridging messages to any platforms. " +
+ "Learn more.", {},
+ {
+ // TODO: We don't have this link yet: this will prevent the translators
+ // having to re-translate the string when we do.
+ a: sub => {sub},
+ },
+ )}
;
+ }
+
return (
-
{_t("Bridge Info")}
+
{_t("Bridges")}
-
{ _t("Below is a list of bridges connected to this room.") }
);
+ let eventIndex;
+ if (SettingsStore.isFeatureEnabled("feature_event_indexing")) {
+ eventIndex = (
+
+ {_t("Message search")}
+
+
+ );
+ }
+
// XXX: There's no such panel in the current cross-signing designs, but
// it's useful to have for testing the feature. If there's no interest
// in having advanced details here once all flows are implemented, we
@@ -270,17 +281,20 @@ export default class SecurityUserSettingsTab extends React.Component {
);
}
+ const E2eAdvancedPanel = sdk.getComponent('views.settings.E2eAdvancedPanel');
+
return (
{_t("Security & Privacy")}
- {_t("Devices")}
+ {_t("Sessions")}
- {_t("A device's public name is visible to people you communicate with")}
+ {_t("A session's public name is visible to people you communicate with")}
);
}
diff --git a/src/components/views/settings/tabs/user/VoiceUserSettingsTab.js b/src/components/views/settings/tabs/user/VoiceUserSettingsTab.js
index f4fbcada3a..71ed2bab65 100644
--- a/src/components/views/settings/tabs/user/VoiceUserSettingsTab.js
+++ b/src/components/views/settings/tabs/user/VoiceUserSettingsTab.js
@@ -163,7 +163,7 @@ export default class VoiceUserSettingsTab extends React.Component {
if (audioOutputs.length > 0) {
const defaultDevice = getDefaultDevice(audioOutputs);
speakerDropdown = (
-
{this._renderDeviceOptions(audioOutputs, 'audioOutput')}
@@ -175,7 +175,7 @@ export default class VoiceUserSettingsTab extends React.Component {
if (audioInputs.length > 0) {
const defaultDevice = getDefaultDevice(audioInputs);
microphoneDropdown = (
-
{this._renderDeviceOptions(audioInputs, 'audioInput')}
@@ -187,7 +187,7 @@ export default class VoiceUserSettingsTab extends React.Component {
if (videoInputs.length > 0) {
const defaultDevice = getDefaultDevice(videoInputs);
webcamDropdown = (
-
{this._renderDeviceOptions(videoInputs, 'videoInput')}
diff --git a/src/components/views/terms/InlineTermsAgreement.js b/src/components/views/terms/InlineTermsAgreement.js
index 75e8eccea3..bccd686cd3 100644
--- a/src/components/views/terms/InlineTermsAgreement.js
+++ b/src/components/views/terms/InlineTermsAgreement.js
@@ -77,7 +77,7 @@ export default class InlineTermsAgreement extends React.Component {
"Accept to continue:", {}, {
policyLink: () => {
return (
-
+
{policy.name}
diff --git a/src/components/views/toasts/SetupEncryptionToast.js b/src/components/views/toasts/SetupEncryptionToast.js
new file mode 100644
index 0000000000..6e2df12658
--- /dev/null
+++ b/src/components/views/toasts/SetupEncryptionToast.js
@@ -0,0 +1,109 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+import PropTypes from 'prop-types';
+import Modal from '../../../Modal';
+import { MatrixClientPeg } from '../../../MatrixClientPeg';
+import * as sdk from "../../../index";
+import { _t } from '../../../languageHandler';
+import DeviceListener from '../../../DeviceListener';
+import SetupEncryptionDialog from "../dialogs/SetupEncryptionDialog";
+import { accessSecretStorage } from '../../../CrossSigningManager';
+
+export default class SetupEncryptionToast extends React.PureComponent {
+ static propTypes = {
+ toastKey: PropTypes.string.isRequired,
+ kind: PropTypes.oneOf([
+ 'set_up_encryption',
+ 'verify_this_session',
+ 'upgrade_encryption',
+ 'upgrade_ssss',
+ ]).isRequired,
+ };
+
+ _onLaterClick = () => {
+ DeviceListener.sharedInstance().dismissEncryptionSetup();
+ };
+
+ async _waitForCompletion() {
+ if (this.props.kind === 'upgrade_ssss') {
+ return new Promise(resolve => {
+ const recheck = async () => {
+ const needsUpgrade = await MatrixClientPeg.get().secretStorageKeyNeedsUpgrade();
+ if (!needsUpgrade) {
+ MatrixClientPeg.get().removeListener('accountData', recheck);
+ resolve();
+ }
+ };
+ MatrixClientPeg.get().on('accountData', recheck);
+ recheck();
+ });
+ } else {
+ return;
+ }
+ }
+
+ _onSetupClick = async () => {
+ if (this.props.kind === "verify_this_session") {
+ Modal.createTrackedDialog('Verify session', 'Verify session', SetupEncryptionDialog,
+ {}, null, /* priority = */ false, /* static = */ true);
+ } else {
+ const Spinner = sdk.getComponent("elements.Spinner");
+ const modal = Modal.createDialog(Spinner, null, 'mx_Dialog_spinner');
+ try {
+ await accessSecretStorage();
+ await this._waitForCompletion();
+ } finally {
+ modal.close();
+ }
+ }
+ };
+
+ getDescription() {
+ switch (this.props.kind) {
+ case 'set_up_encryption':
+ case 'upgrade_encryption':
+ return _t('Verify yourself & others to keep your chats safe');
+ case 'verify_this_session':
+ return _t('Other users may not trust it');
+ case 'upgrade_ssss':
+ return _t('Update your secure storage');
+ }
+ }
+
+ getSetupCaption() {
+ switch (this.props.kind) {
+ case 'set_up_encryption':
+ case 'upgrade_encryption':
+ case 'upgrade_ssss':
+ return _t('Upgrade');
+ case 'verify_this_session':
+ return _t('Verify');
+ }
+ }
+
+ render() {
+ const FormButton = sdk.getComponent("elements.FormButton");
+ return (
+
{this.getDescription()}
+
+
+
+
+
);
+ }
+}
diff --git a/src/components/views/toasts/UnverifiedSessionToast.js b/src/components/views/toasts/UnverifiedSessionToast.js
new file mode 100644
index 0000000000..cb0cadcdc8
--- /dev/null
+++ b/src/components/views/toasts/UnverifiedSessionToast.js
@@ -0,0 +1,71 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+import PropTypes from 'prop-types';
+import { _t } from '../../../languageHandler';
+import Modal from "../../../Modal";
+import { MatrixClientPeg } from '../../../MatrixClientPeg';
+import DeviceListener from '../../../DeviceListener';
+import NewSessionReviewDialog from '../dialogs/NewSessionReviewDialog';
+import FormButton from '../elements/FormButton';
+import { replaceableComponent } from '../../../utils/replaceableComponent';
+
+@replaceableComponent("views.toasts.UnverifiedSessionToast")
+export default class UnverifiedSessionToast extends React.PureComponent {
+ static propTypes = {
+ toastKey: PropTypes.string.isRequired,
+ device: PropTypes.object.isRequired,
+ };
+
+ _onLaterClick = () => {
+ const { device } = this.props;
+ DeviceListener.sharedInstance().dismissVerification(device.deviceId);
+ };
+
+ _onReviewClick = async () => {
+ const { device } = this.props;
+
+ Modal.createTrackedDialog('New Session Review', 'Starting dialog', NewSessionReviewDialog, {
+ userId: MatrixClientPeg.get().getUserId(),
+ device,
+ onFinished: (r) => {
+ if (!r) {
+ /* This'll come back false if the user clicks "this wasn't me" and saw a warning dialog */
+ this._onLaterClick();
+ }
+ },
+ }, null, /* priority = */ false, /* static = */ true);
+ };
+
+ render() {
+ const { device } = this.props;
+
+ return (
);
+ }
+}
diff --git a/src/components/views/toasts/VerificationRequestToast.js b/src/components/views/toasts/VerificationRequestToast.js
index 6d53c23743..c11cefc839 100644
--- a/src/components/views/toasts/VerificationRequestToast.js
+++ b/src/components/views/toasts/VerificationRequestToast.js
@@ -18,57 +18,53 @@ import React from 'react';
import PropTypes from 'prop-types';
import * as sdk from "../../../index";
import { _t } from '../../../languageHandler';
-import Modal from "../../../Modal";
import {MatrixClientPeg} from '../../../MatrixClientPeg';
-import {verificationMethods} from 'matrix-js-sdk/src/crypto';
-import KeyVerificationStateObserver, {userLabelForEventRoom} from "../../../utils/KeyVerificationStateObserver";
+import {RIGHT_PANEL_PHASES} from "../../../stores/RightPanelStorePhases";
+import {userLabelForEventRoom} from "../../../utils/KeyVerificationStateObserver";
import dis from "../../../dispatcher";
+import ToastStore from "../../../stores/ToastStore";
+import Modal from "../../../Modal";
export default class VerificationRequestToast extends React.PureComponent {
constructor(props) {
super(props);
- const {event, timeout} = props.request;
- // to_device requests don't have a timestamp, so consider them age=0
- const age = event.getTs() ? event.getLocalAge() : 0;
- const remaining = Math.max(0, timeout - age);
- const counter = Math.ceil(remaining / 1000);
- this.state = {counter};
- if (this.props.requestObserver) {
- this.props.requestObserver.setCallback(this._checkRequestIsPending);
- }
+ this.state = {counter: Math.ceil(props.request.timeout / 1000)};
}
componentDidMount() {
- if (this.props.requestObserver) {
- this.props.requestObserver.attach();
- this._checkRequestIsPending();
- }
- this._intervalHandle = setInterval(() => {
- let {counter} = this.state;
- counter -= 1;
- if (counter <= 0) {
- this.cancel();
- } else {
+ const {request} = this.props;
+ if (request.timeout && request.timeout > 0) {
+ this._intervalHandle = setInterval(() => {
+ let {counter} = this.state;
+ counter = Math.max(0, counter - 1);
this.setState({counter});
- }
- }, 1000);
+ }, 1000);
+ }
+ request.on("change", this._checkRequestIsPending);
+ // We should probably have a separate class managing the active verification toasts,
+ // rather than monitoring this in the toast component itself, since we'll get problems
+ // like the toasdt not going away when the verification is cancelled unless it's the
+ // one on the top (ie. the one that's mounted).
+ // As a quick & dirty fix, check the toast is still relevant when it mounts (this prevents
+ // a toast hanging around after logging in if you did a verification as part of login).
+ this._checkRequestIsPending();
}
componentWillUnmount() {
clearInterval(this._intervalHandle);
- if (this.props.requestObserver) {
- this.props.requestObserver.detach();
- }
+ const {request} = this.props;
+ request.off("change", this._checkRequestIsPending);
}
_checkRequestIsPending = () => {
- if (!this.props.requestObserver.pending) {
- this.props.dismiss();
+ const {request} = this.props;
+ if (!request.canAccept) {
+ ToastStore.sharedInstance().dismissToast(this.props.toastKey);
}
- }
+ };
cancel = () => {
- this.props.dismiss();
+ ToastStore.sharedInstance().dismissToast(this.props.toastKey);
try {
this.props.request.cancel();
} catch (err) {
@@ -76,42 +72,59 @@ export default class VerificationRequestToast extends React.PureComponent {
}
}
- accept = () => {
- this.props.dismiss();
- const {event} = this.props.request;
+ accept = async () => {
+ ToastStore.sharedInstance().dismissToast(this.props.toastKey);
+ const {request} = this.props;
// no room id for to_device requests
- if (event.getRoomId()) {
- dis.dispatch({
- action: 'view_room',
- room_id: event.getRoomId(),
- should_peek: false,
- });
+ const cli = MatrixClientPeg.get();
+ try {
+ if (request.channel.roomId) {
+ dis.dispatch({
+ action: 'view_room',
+ room_id: request.channel.roomId,
+ should_peek: false,
+ });
+ dis.dispatch({
+ action: "set_right_panel_phase",
+ phase: RIGHT_PANEL_PHASES.EncryptionPanel,
+ refireParams: {
+ verificationRequest: request,
+ member: cli.getUser(request.otherUserId),
+ },
+ });
+ } else {
+ const VerificationRequestDialog = sdk.getComponent("views.dialogs.VerificationRequestDialog");
+ Modal.createTrackedDialog('Incoming Verification', '', VerificationRequestDialog, {
+ verificationRequest: request,
+ }, null, /* priority = */ false, /* static = */ true);
+ }
+ await request.accept();
+ } catch (err) {
+ console.error(err.message);
}
-
- const verifier = this.props.request.beginKeyVerification(verificationMethods.SAS);
- const IncomingSasDialog = sdk.getComponent('views.dialogs.IncomingSasDialog');
- Modal.createTrackedDialog('Incoming Verification', '', IncomingSasDialog, {
- verifier,
- }, null, /* priority = */ false, /* static = */ true);
};
render() {
const FormButton = sdk.getComponent("elements.FormButton");
- const {event} = this.props.request;
- const userId = event.getSender();
- let nameLabel = event.getRoomId() ? userLabelForEventRoom(userId, event) : userId;
+ const {request} = this.props;
+ const userId = request.otherUserId;
+ const roomId = request.channel.roomId;
+ let nameLabel = roomId ? userLabelForEventRoom(userId, roomId) : userId;
// for legacy to_device verification requests
if (nameLabel === userId) {
const client = MatrixClientPeg.get();
- const user = client.getUser(event.getSender());
+ const user = client.getUser(userId);
if (user && user.displayName) {
nameLabel = _t("%(name)s (%(userId)s)", {name: user.displayName, userId});
}
}
+ const declineLabel = this.state.counter == 0 ?
+ _t("Decline") :
+ _t("Decline (%(counter)s)", {counter: this.state.counter});
return (
{nameLabel}
-
+
);
@@ -119,7 +132,6 @@ export default class VerificationRequestToast extends React.PureComponent {
}
VerificationRequestToast.propTypes = {
- dismiss: PropTypes.func.isRequired,
request: PropTypes.object.isRequired,
- requestObserver: PropTypes.instanceOf(KeyVerificationStateObserver),
+ toastKey: PropTypes.string.isRequired,
};
diff --git a/src/components/views/verification/VerificationQREmojiOptions.js b/src/components/views/verification/VerificationQREmojiOptions.js
new file mode 100644
index 0000000000..d72c6951fe
--- /dev/null
+++ b/src/components/views/verification/VerificationQREmojiOptions.js
@@ -0,0 +1,82 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+import PropTypes from 'prop-types';
+import { _t } from '../../../languageHandler';
+import AccessibleButton from "../elements/AccessibleButton";
+import {replaceableComponent} from "../../../utils/replaceableComponent";
+import VerificationQRCode from "../elements/crypto/VerificationQRCode";
+import {VerificationRequest} from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
+import Spinner from "../elements/Spinner";
+
+@replaceableComponent("views.verification.VerificationQREmojiOptions")
+export default class VerificationQREmojiOptions extends React.Component {
+ static propTypes = {
+ request: PropTypes.object.isRequired,
+ onCancel: PropTypes.func.isRequired,
+ onStartEmoji: PropTypes.func.isRequired,
+ };
+
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ qrProps: null,
+ };
+
+ this._prepareQrCode(props.request);
+ }
+
+ async _prepareQrCode(request: VerificationRequest) {
+ try {
+ const props = await VerificationQRCode.getPropsForRequest(request);
+ this.setState({qrProps: props});
+ } catch (e) {
+ console.error(e);
+ // We just won't show a QR code
+ }
+ }
+
+ render() {
+ let qrCode =
;
- sasCaption = _t(
- "Verify this user by confirming the following emoji appear on their screen.",
- );
+ sasCaption = this.props.isSelf ?
+ _t(
+ "Confirm the emoji below are displayed on both devices, in the same order:",
+ ):
+ _t(
+ "Verify this user by confirming the following emoji appear on their screen.",
+ );
} else if (this.props.sas.decimal) {
const numberBlocks = this.props.sas.decimal.map((num, i) =>
{num}
@@ -63,32 +86,51 @@ export default class VerificationShowSas extends React.Component {
sasDisplay =
{numberBlocks}
;
- sasCaption = _t(
- "Verify this user by confirming the following number appears on their screen.",
- );
+ sasCaption = this.props.isSelf ?
+ _t(
+ "Verify this device by confirming the following number appears on its screen.",
+ ):
+ _t(
+ "Verify this user by confirming the following number appears on their screen.",
+ );
} else {
return
{_t("Unable to find a supported verification method.")}
-
+
+ {_t('Cancel')}
+
;
}
+ let confirm;
+ if (this.state.pending || this.state.cancelling) {
+ let text;
+ if (this.state.pending) {
+ const {displayName} = this.props;
+ text = _t("Waiting for %(displayName)s to verify…", {displayName});
+ } else {
+ text = _t("Cancelling…");
+ }
+ confirm = ;
+ } else {
+ // FIXME: stop using DialogButtons here once this component is only used in the right panel verification
+ confirm = ;
+ }
+
return
{sasCaption}
-
{_t(
- "For maximum security, we recommend you do this in person or use another " +
- "trusted means of communication.",
- )}
{sasDisplay}
-
+
{this.props.isSelf ?
+ "":
+ _t("To be secure, do this in person or use a trusted way to communicate.")}
+ {confirm}
;
}
}
diff --git a/src/createRoom.js b/src/createRoom.js
index 867d6409eb..66d4d1908e 100644
--- a/src/createRoom.js
+++ b/src/createRoom.js
@@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -20,8 +21,9 @@ import * as sdk from './index';
import { _t } from './languageHandler';
import dis from "./dispatcher";
import * as Rooms from "./Rooms";
-
+import DMRoomMap from "./utils/DMRoomMap";
import {getAddressType} from "./UserAddress";
+import SettingsStore from "./settings/SettingsStore";
/**
* Create a new room, and switch to it.
@@ -31,6 +33,12 @@ import {getAddressType} from "./UserAddress";
* @param {object=} opts.createOpts set of options to pass to createRoom call.
* @param {bool=} opts.spinner True to show a modal spinner while the room is created.
* Default: True
+ * @param {bool=} opts.guestAccess Whether to enable guest access.
+ * Default: True
+ * @param {bool=} opts.encryption Whether to enable encryption.
+ * Default: False
+ * @param {bool=} opts.inlineErrors True to raise errors off the promise instead of resolving to null.
+ * Default: False
*
* @returns {Promise} which resolves to the room id, or null if the
* action was aborted or failed.
@@ -38,6 +46,8 @@ import {getAddressType} from "./UserAddress";
export default function createRoom(opts) {
opts = opts || {};
if (opts.spinner === undefined) opts.spinner = true;
+ if (opts.guestAccess === undefined) opts.guestAccess = true;
+ if (opts.encryption === undefined) opts.encryption = false;
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const Loader = sdk.getComponent("elements.Spinner");
@@ -76,18 +86,30 @@ export default function createRoom(opts) {
opts.andView = true;
}
+ createOpts.initial_state = createOpts.initial_state || [];
+
// Allow guests by default since the room is private and they'd
// need an invite. This means clicking on a 3pid invite email can
// actually drop you right in to a chat.
- createOpts.initial_state = createOpts.initial_state || [
- {
+ if (opts.guestAccess) {
+ createOpts.initial_state.push({
+ type: 'm.room.guest_access',
+ state_key: '',
content: {
guest_access: 'can_join',
},
- type: 'm.room.guest_access',
+ });
+ }
+
+ if (opts.encryption) {
+ createOpts.initial_state.push({
+ type: 'm.room.encryption',
state_key: '',
- },
- ];
+ content: {
+ algorithm: 'm.megolm.v1.aes-sha2',
+ },
+ });
+ }
let modal;
if (opts.spinner) modal = Modal.createDialog(Loader, null, 'mx_Dialog_spinner');
@@ -120,6 +142,9 @@ export default function createRoom(opts) {
}
return roomId;
}, function(err) {
+ // Raise the error if the caller requested that we do so.
+ if (opts.inlineErrors) throw err;
+
// We also failed to join the room (this sets joining to false in RoomViewStore)
dis.dispatch({
action: 'join_room_error',
@@ -139,3 +164,74 @@ export default function createRoom(opts) {
return null;
});
}
+
+export function findDMForUser(client, userId) {
+ const roomIds = DMRoomMap.shared().getDMRoomsForUserId(userId);
+ const rooms = roomIds.map(id => client.getRoom(id));
+ const suitableDMRooms = rooms.filter(r => {
+ if (r && r.getMyMembership() === "join") {
+ const member = r.getMember(userId);
+ return member && (member.membership === "invite" || member.membership === "join");
+ }
+ return false;
+ }).sort((r1, r2) => {
+ return r2.getLastActiveTimestamp() -
+ r1.getLastActiveTimestamp();
+ });
+ if (suitableDMRooms.length) {
+ return suitableDMRooms[0];
+ }
+}
+
+/*
+ * Try to ensure the user is already in the megolm session before continuing
+ * NOTE: this assumes you've just created the room and there's not been an opportunity
+ * for other code to run, so we shouldn't miss RoomState.newMember when it comes by.
+ */
+export async function _waitForMember(client, roomId, userId, opts = { timeout: 1500 }) {
+ const { timeout } = opts;
+ let handler;
+ return new Promise((resolve) => {
+ handler = function(_event, _roomstate, member) {
+ if (member.userId !== userId) return;
+ if (member.roomId !== roomId) return;
+ resolve(true);
+ };
+ client.on("RoomState.newMember", handler);
+
+ /* We don't want to hang if this goes wrong, so we proceed and hope the other
+ user is already in the megolm session */
+ setTimeout(resolve, timeout, false);
+ }).finally(() => {
+ client.removeListener("RoomState.newMember", handler);
+ });
+}
+
+/*
+ * Ensure that for every user in a room, there is at least one device that we
+ * can encrypt to.
+ */
+export async function canEncryptToAllUsers(client, userIds) {
+ const usersDeviceMap = await client.downloadKeys(userIds);
+ // { "@user:host": { "DEVICE": {...}, ... }, ... }
+ return Object.values(usersDeviceMap).every((userDevices) =>
+ // { "DEVICE": {...}, ... }
+ Object.keys(userDevices).length > 0,
+ );
+}
+
+export async function ensureDMExists(client, userId) {
+ const existingDMRoom = findDMForUser(client, userId);
+ let roomId;
+ if (existingDMRoom) {
+ roomId = existingDMRoom.roomId;
+ } else {
+ let encryption;
+ if (SettingsStore.isFeatureEnabled("feature_cross_signing")) {
+ encryption = canEncryptToAllUsers(client, [userId]);
+ }
+ roomId = await createRoom({encryption, dmUserId: userId, spinner: false, andView: false});
+ await _waitForMember(client, roomId, userId);
+ }
+ return roomId;
+}
diff --git a/src/editor/autocomplete.js b/src/editor/autocomplete.js
index 1ead3aef07..fcde6e0ce4 100644
--- a/src/editor/autocomplete.js
+++ b/src/editor/autocomplete.js
@@ -102,7 +102,7 @@ export default class AutocompleteWrapperModel {
const text = completion.completion;
switch (completion.type) {
case "room":
- return [this._partCreator.roomPill(completionId), this._partCreator.plain(completion.suffix)];
+ return [this._partCreator.roomPill(text, completionId), this._partCreator.plain(completion.suffix)];
case "at-room":
return [this._partCreator.atRoomPill(completionId), this._partCreator.plain(completion.suffix)];
case "user":
diff --git a/src/editor/caret.js b/src/editor/caret.js
index ed4f1b2a2e..8c0090a6f1 100644
--- a/src/editor/caret.js
+++ b/src/editor/caret.js
@@ -38,12 +38,27 @@ function setDocumentRangeSelection(editor, model, range) {
}
export function setCaretPosition(editor, model, caretPosition) {
- const sel = document.getSelection();
- sel.removeAllRanges();
const range = document.createRange();
const {node, offset} = getNodeAndOffsetForPosition(editor, model, caretPosition);
range.setStart(node, offset);
range.collapse(true);
+
+ const sel = document.getSelection();
+ if (sel.rangeCount === 1) {
+ const existingRange = sel.getRangeAt(0);
+ if (
+ existingRange.startContainer === range.startContainer &&
+ existingRange.startOffset === range.startOffset &&
+ existingRange.collapsed === range.collapsed
+ ) {
+ // If the selection matches, it's important to leave it alone.
+ // Recreating the selection state in at least Chrome can cause
+ // strange side effects, like touch bar flickering on every key.
+ // See https://github.com/vector-im/riot-web/issues/9299
+ return;
+ }
+ }
+ sel.removeAllRanges();
sel.addRange(range);
}
diff --git a/src/editor/deserialize.js b/src/editor/deserialize.js
index 1fdbf9490c..190963f357 100644
--- a/src/editor/deserialize.js
+++ b/src/editor/deserialize.js
@@ -250,7 +250,7 @@ function parseHtmlMessage(html, partCreator, isQuotedMessage) {
}
export function parsePlainTextMessage(body, partCreator, isQuotedMessage) {
- const lines = body.split("\n");
+ const lines = body.split(/\r\n|\r|\n/g); // split on any new-line combination not just \n, collapses \r\n
const parts = lines.reduce((parts, line, i) => {
if (isQuotedMessage) {
parts.push(partCreator.plain(QUOTE_LINE_PREFIX));
diff --git a/src/editor/operations.js b/src/editor/operations.js
index e2661faf59..d677d7016c 100644
--- a/src/editor/operations.js
+++ b/src/editor/operations.js
@@ -100,27 +100,71 @@ export function formatRangeAsCode(range) {
replaceRangeAndExpandSelection(range, parts);
}
+// parts helper methods
+const isBlank = part => !part.text || !/\S/.test(part.text);
+const isNL = part => part.type === "newline";
+
export function toggleInlineFormat(range, prefix, suffix = prefix) {
const {model, parts} = range;
const {partCreator} = model;
- const isFormatted = parts.length &&
- parts[0].text.startsWith(prefix) &&
- parts[parts.length - 1].text.endsWith(suffix);
+ // compute paragraph [start, end] indexes
+ const paragraphIndexes = [];
+ let startIndex = 0;
+ // start at i=2 because we look at i and up to two parts behind to detect paragraph breaks at their end
+ for (let i = 2; i < parts.length; i++) {
+ // paragraph breaks can be denoted in a multitude of ways,
+ // - 2 newline parts in sequence
+ // - newline part, plain(), newline part
- if (isFormatted) {
- // remove prefix and suffix
- const partWithoutPrefix = parts[0].serialize();
- partWithoutPrefix.text = partWithoutPrefix.text.substr(prefix.length);
- parts[0] = partCreator.deserializePart(partWithoutPrefix);
+ // bump startIndex onto the first non-blank after the paragraph ending
+ if (isBlank(parts[i - 2]) && isNL(parts[i - 1]) && !isNL(parts[i]) && !isBlank(parts[i])) {
+ startIndex = i;
+ }
- const partWithoutSuffix = parts[parts.length - 1].serialize();
- const suffixPartText = partWithoutSuffix.text;
- partWithoutSuffix.text = suffixPartText.substring(0, suffixPartText.length - suffix.length);
- parts[parts.length - 1] = partCreator.deserializePart(partWithoutSuffix);
- } else {
- parts.unshift(partCreator.plain(prefix));
- parts.push(partCreator.plain(suffix));
+ // if at a paragraph break, store the indexes of the paragraph
+ if (isNL(parts[i - 1]) && isNL(parts[i])) {
+ paragraphIndexes.push([startIndex, i - 1]);
+ startIndex = i + 1;
+ } else if (isNL(parts[i - 2]) && isBlank(parts[i - 1]) && isNL(parts[i])) {
+ paragraphIndexes.push([startIndex, i - 2]);
+ startIndex = i + 1;
+ }
}
+
+ const lastNonEmptyPart = parts.map(isBlank).lastIndexOf(false);
+ // If we have not yet included the final paragraph then add it now
+ if (startIndex <= lastNonEmptyPart) {
+ paragraphIndexes.push([startIndex, lastNonEmptyPart + 1]);
+ }
+
+ // keep track of how many things we have inserted as an offset:=0
+ let offset = 0;
+ paragraphIndexes.forEach(([startIndex, endIndex]) => {
+ // for each paragraph apply the same rule
+ const base = startIndex + offset;
+ const index = endIndex + offset;
+
+ const isFormatted = (index - base > 0) &&
+ parts[base].text.startsWith(prefix) &&
+ parts[index - 1].text.endsWith(suffix);
+
+ if (isFormatted) {
+ // remove prefix and suffix
+ const partWithoutPrefix = parts[base].serialize();
+ partWithoutPrefix.text = partWithoutPrefix.text.substr(prefix.length);
+ parts[base] = partCreator.deserializePart(partWithoutPrefix);
+
+ const partWithoutSuffix = parts[index - 1].serialize();
+ const suffixPartText = partWithoutSuffix.text;
+ partWithoutSuffix.text = suffixPartText.substring(0, suffixPartText.length - suffix.length);
+ parts[index - 1] = partCreator.deserializePart(partWithoutSuffix);
+ } else {
+ parts.splice(index, 0, partCreator.plain(suffix)); // splice in the later one first to not change offset
+ parts.splice(base, 0, partCreator.plain(prefix));
+ offset += 2; // offset index to account for the two items we just spliced in
+ }
+ });
+
replaceRangeAndExpandSelection(range, parts);
}
diff --git a/src/editor/parts.js b/src/editor/parts.js
index 137018d7e9..747b491a9e 100644
--- a/src/editor/parts.js
+++ b/src/editor/parts.js
@@ -254,8 +254,8 @@ class RoomPillPart extends PillPart {
let initialLetter = "";
let avatarUrl = Avatar.avatarUrlForRoom(this._room, 16 * window.devicePixelRatio, 16 * window.devicePixelRatio);
if (!avatarUrl) {
- initialLetter = Avatar.getInitialLetter(this._room.name);
- avatarUrl = `../../${Avatar.defaultAvatarUrlForString(this._room.roomId)}`;
+ initialLetter = Avatar.getInitialLetter(this._room ? this._room.name : this.resourceId);
+ avatarUrl = `../../${Avatar.defaultAvatarUrlForString(this._room ? this._room.roomId : this.resourceId)}`;
}
this._setAvatarVars(node, avatarUrl, initialLetter);
}
@@ -422,14 +422,15 @@ export class PartCreator {
return new PillCandidatePart(text, this._autoCompleteCreator);
}
- roomPill(alias) {
+ roomPill(alias, roomId) {
let room;
- if (alias[0] === '#') {
- room = this._client.getRooms().find((r) => {
- return r.getAliases().includes(alias);
- });
+ if (roomId || alias[0] !== "#") {
+ room = this._client.getRoom(roomId || alias);
} else {
- room = this._client.getRoom(alias);
+ room = this._client.getRooms().find((r) => {
+ return r.getCanonicalAlias() === alias ||
+ r.getAltAliases().includes(alias);
+ });
}
return new RoomPillPart(alias, room);
}
diff --git a/src/editor/position.js b/src/editor/position.js
index 4693f62999..726377ef48 100644
--- a/src/editor/position.js
+++ b/src/editor/position.js
@@ -117,7 +117,7 @@ export default class DocumentPosition {
}
offset += this.offset;
const lastPart = model.parts[this.index];
- const atEnd = offset >= lastPart.text.length;
+ const atEnd = !lastPart || offset >= lastPart.text.length; // if no last part, we're at the end
return new DocumentOffset(offset, atEnd);
}
diff --git a/src/editor/serialize.js b/src/editor/serialize.js
index a55eed97da..ba380f2809 100644
--- a/src/editor/serialize.js
+++ b/src/editor/serialize.js
@@ -61,18 +61,26 @@ export function textSerialize(model) {
}
export function containsEmote(model) {
+ return startsWith(model, "/me ");
+}
+
+export function startsWith(model, prefix) {
const firstPart = model.parts[0];
// part type will be "plain" while editing,
// and "command" while composing a message.
return firstPart &&
(firstPart.type === "plain" || firstPart.type === "command") &&
- firstPart.text.startsWith("/me ");
+ firstPart.text.startsWith(prefix);
}
export function stripEmoteCommand(model) {
// trim "/me "
+ return stripPrefix(model, "/me ");
+}
+
+export function stripPrefix(model, prefix) {
model = model.clone();
- model.removeText({index: 0, offset: 0}, 4);
+ model.removeText({index: 0, offset: 0}, prefix.length);
return model;
}
diff --git a/src/emoji.js b/src/emoji.js
index 125864e381..20b05531ca 100644
--- a/src/emoji.js
+++ b/src/emoji.js
@@ -79,13 +79,13 @@ EMOJIBASE.forEach(emoji => {
});
/**
- * Strips variation selectors from a string
- * NB. Skin tone modifers are not variation selectors:
+ * Strips variation selectors from the end of given string
+ * NB. Skin tone modifiers are not variation selectors:
* this function does not touch them. (Should it?)
*
* @param {string} str string to strip
* @returns {string} stripped string
*/
function stripVariation(str) {
- return str.replace(/[\uFE00-\uFE0F]/, "");
+ return str.replace(/[\uFE00-\uFE0F]$/, "");
}
diff --git a/src/components/views/emojipicker/recent.js b/src/emojipicker/recent.js
similarity index 100%
rename from src/components/views/emojipicker/recent.js
rename to src/emojipicker/recent.js
diff --git a/src/hooks/useAsyncMemo.js b/src/hooks/useAsyncMemo.js
new file mode 100644
index 0000000000..ef7d256b04
--- /dev/null
+++ b/src/hooks/useAsyncMemo.js
@@ -0,0 +1,25 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import { useState, useEffect } from 'react';
+
+export const useAsyncMemo = (fn, deps, initialValue) => {
+ const [value, setValue] = useState(initialValue);
+ useEffect(() => {
+ fn().then(setValue);
+ }, deps); // eslint-disable-line react-hooks/exhaustive-deps
+ return value;
+};
diff --git a/src/hooks/useSettings.js b/src/hooks/useSettings.js
new file mode 100644
index 0000000000..151a6369de
--- /dev/null
+++ b/src/hooks/useSettings.js
@@ -0,0 +1,52 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import {useEffect, useState} from "react";
+import SettingsStore from '../settings/SettingsStore';
+
+// Hook to fetch the value of a setting and dynamically update when it changes
+export const useSettingValue = (settingName, roomId = null, excludeDefault = false) => {
+ const [value, setValue] = useState(SettingsStore.getValue(settingName, roomId, excludeDefault));
+
+ useEffect(() => {
+ const ref = SettingsStore.watchSetting(settingName, roomId, () => {
+ setValue(SettingsStore.getValue(settingName, roomId, excludeDefault));
+ });
+ // clean-up
+ return () => {
+ SettingsStore.unwatchSetting(ref);
+ };
+ }, [settingName, roomId, excludeDefault]);
+
+ return value;
+};
+
+// Hook to fetch whether a feature is enabled and dynamically update when that changes
+export const useFeatureEnabled = (featureName, roomId = null) => {
+ const [enabled, setEnabled] = useState(SettingsStore.isFeatureEnabled(featureName, roomId));
+
+ useEffect(() => {
+ const ref = SettingsStore.watchSetting(featureName, roomId, () => {
+ setEnabled(SettingsStore.isFeatureEnabled(featureName, roomId));
+ });
+ // clean-up
+ return () => {
+ SettingsStore.unwatchSetting(ref);
+ };
+ }, [featureName, roomId]);
+
+ return enabled;
+};
diff --git a/src/i18n/strings/ar.json b/src/i18n/strings/ar.json
index 436c518ba0..708778d15d 100644
--- a/src/i18n/strings/ar.json
+++ b/src/i18n/strings/ar.json
@@ -46,7 +46,6 @@
"Changelog": "سِجل التغييرات",
"Send Account Data": "إرسال بيانات الحساب",
"Waiting for response from server": "في انتظار الرد مِن الخادوم",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "سيسمح لك هذا بالعودة إلى حسابك بعد الخروج، وتسجيل الدخول على الأجهزة الأخرى.",
"Send logs": "إرسال السِجلات",
"Download this file": "تنزيل هذا الملف",
"Thank you!": "شكرًا !",
diff --git a/src/i18n/strings/az.json b/src/i18n/strings/az.json
index 538403f164..6cddb58ad1 100644
--- a/src/i18n/strings/az.json
+++ b/src/i18n/strings/az.json
@@ -74,9 +74,6 @@
"Moderator": "Moderator",
"Admin": "Administrator",
"Start a chat": "Danışığa başlamaq",
- "Who would you like to communicate with?": "Kimlə siz əlaqə saxlamaq istəyirdiniz?",
- "Start Chat": "Danışığa başlamaq",
- "Invite new room members": "Yeni iştirakçıların otağına dəvət etmək",
"You need to be logged in.": "Siz sistemə girməlisiniz.",
"You need to be able to invite users to do that.": "Bunun üçün siz istifadəçiləri dəvət etmək imkanına malik olmalısınız.",
"Failed to send request.": "Sorğunu göndərməyi bacarmadı.",
@@ -126,14 +123,11 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s iştirakçılar üçün danışıqların tarixini açdı.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s hamı üçün danışıqların tarixini açdı.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s naməlum rejimdə otağın tarixini açdı (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s включил(а) в комнате сквозное шифрование (алгоритм %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s üçün %(fromPowerLevel)s-dan %(toPowerLevel)s-lə",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s hüquqların səviyyələrini dəyişdirdi %(powerLevelDiffText)s.",
"Failed to join room": "Otağa girməyi bacarmadı",
"Always show message timestamps": "Həmişə mesajların göndərilməsi vaxtını göstərmək",
"Autoplay GIFs and videos": "GIF animasiyalarını və videolarını avtomatik olaraq oynayır",
- "Never send encrypted messages to unverified devices from this device": "Heç vaxt (bu qurğudan) yoxlanılmamış qurğulara şifrlənmiş mesajları göndərməmək",
- "Never send encrypted messages to unverified devices in this room from this device": "Heç vaxt (bu otaqda, bu qurğudan) yoxlanılmamış qurğulara şifrlənmiş mesajları göndərməmək",
"Accept": "Qəbul etmək",
"Error": "Səhv",
"Incorrect verification code": "Təsdiq etmənin səhv kodu",
@@ -152,8 +146,6 @@
"Failed to set display name": "Görünüş adını təyin etmək bacarmadı",
"Notification targets": "Xəbərdarlıqlar üçün qurğular",
"On": "Qoşmaq",
- "Invalid alias format": "Adının yolverilməz formatı",
- "'%(alias)s' is not a valid format for an alias": "Ad '%(alias)s' yolverilməz formata malikdir",
"not specified": "qeyd edilmədi",
"Local addresses for this room:": "Sizin serverinizdə bu otağın ünvanları:",
"New address (e.g. #foo:%(localDomain)s)": "Yeni ünvan (məsələn, #nəsə:%(localDomain)s)",
@@ -168,8 +160,6 @@
"Failed to toggle moderator status": "Moderatorun statusunu dəyişdirməyi bacarmadı",
"Failed to change power level": "Hüquqların səviyyəsini dəyişdirməyi bacarmadı",
"Are you sure?": "Siz əminsiniz?",
- "No devices with registered encryption keys": "Şifrləmənin qeyd edilmiş açarlarıyla qurğu yoxdur",
- "Devices": "Qurğular",
"Unignore": "Blokdan çıxarmaq",
"Ignore": "Bloklamaq",
"User Options": "Hərəkətlər",
@@ -182,17 +172,13 @@
"Video call": "Video çağırış",
"Upload file": "Faylı göndərmək",
"You do not have permission to post to this room": "Siz bu otağa yaza bilmirsiniz",
- "Hide Text Formatting Toolbar": "Mətnin formatlaşdırılmasının alətlərini gizlətmək",
"Command error": "Komandanın səhvi",
- "Markdown is disabled": "Markdown kəsilmişdir",
- "Markdown is enabled": "Markdown qoşulmuşdur",
"Join Room": "Otağa girmək",
"Upload avatar": "Avatar-ı yükləmək",
"Settings": "Qurmalar",
"Forget room": "Otağı unutmaq",
"Invites": "Dəvətlər",
"Favourites": "Seçilmişlər",
- "People": "İnsanlar",
"Low priority": "Əhəmiyyətsizlər",
"Historical": "Arxiv",
"Failed to unban": "Blokdan çıxarmağı bacarmadı",
@@ -267,7 +253,6 @@
"Click to unmute audio": "Klikləyin, səsi qoşmaq üçün",
"Click to mute audio": "Klikləyin, səsi söndürmək üçün",
"Failed to load timeline position": "Xronologiyadan nişanı yükləməyi bacarmadı",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Şifrə uğurla dəyişdirildi. Təkrar avtorizasiyaya qədər siz başqa cihazlarda push-xəbərdarlıqları almayacaqsınız",
"Unable to remove contact information": "Əlaqə məlumatlarının silməyi bacarmadı",
"": "",
"Import E2E room keys": "Şifrləmənin açarlarının idxalı",
@@ -282,7 +267,6 @@
"click to reveal": "açılış üçün basın",
"Homeserver is": "Ev serveri bu",
"Identity Server is": "Eyniləşdirmənin serveri bu",
- "matrix-react-sdk version:": "matrix-react-sdk versiyası:",
"olm version:": "Olm versiyası:",
"Failed to send email": "Email göndərilməsinin səhvi",
"A new password must be entered.": "Yeni parolu daxil edin.",
@@ -317,7 +301,6 @@
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "'Çörək parçaları' funksiyadan istifadə edmiirsiniz (otaqlar siyahısından yuxarıdakı avatarlar)",
"Analytics": "Analitik",
"Call Failed": "Uğursuz zəng",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Bu otaqda məlum olmayan cihazlar var: onları təsdiq etmədən davam etsəniz, kimsə zənginizə qulaq asmaq mümkün olacaq.",
"Review Devices": "Cihazları nəzərdən keçirin",
"Call Anyway": "Hər halda zəng edin",
"Answer Anyway": "Hər halda cavab verin",
@@ -358,8 +341,6 @@
"Registration Required": "Qeydiyyat tələb olunur",
"You need to register to do this. Would you like to register now?": "Bunu etmək üçün qeydiyyatdan keçməlisiniz. İndi qeydiyyatdan keçmək istərdiniz?",
"Restricted": "Məhduddur",
- "Email, name or Matrix ID": "E-poçt, ad və ya Matrix ID",
- "Send Invites": "Dəvət göndərin",
"Failed to invite": "Dəvət alınmadı",
"Failed to invite users to the room:": "İstifadəçiləri otağa dəvət etmək alınmadı:",
"Unable to create widget.": "Widjet yaratmaq olmur.",
@@ -370,8 +351,6 @@
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "¯ \\ _ (ツ) _ / ¯ işarəsini mesaja elavə edir.",
"Searches DuckDuckGo for results": "Nəticələr üçün DuckDuckGo-da axtarır",
"Upgrades a room to a new version": "Bir otağı yeni bir versiyaya yüksəldir",
- "Room upgrade confirmation": "Otaq yenilənməsi quraşdırılması",
- "Upgrading a room can be destructive and isn't always necessary.": "Bir otağı təkmilləşdirməsi dağıdıcı ola bilər və həmişə lazım deyil.",
"Changes your display nickname in the current room only": "Yalnız cari otaqda ekran ləqəbinizi dəyişdirir",
"Changes your avatar in this current room only": "Avatarınızı yalnız bu cari otaqda dəyişir",
"Changes your avatar in all rooms": "Bütün otaqlarda avatarınızı dəyişdirir",
@@ -384,12 +363,9 @@
"Opens the Developer Tools dialog": "Geliştirici Alətlər dialoqunu açır",
"Adds a custom widget by URL to the room": "Otağa URL tərəfindən xüsusi bir widjet əlavə edir",
"You cannot modify widgets in this room.": "Bu otaqda vidjetləri dəyişdirə bilməzsiniz.",
- "Verifies a user, device, and pubkey tuple": "Bir istifadəçini, cihazı və publik açarı yoxlayır",
- "Unknown (user, device) pair:": "Naməlum (istifadəçi, cihaz) qoşulma:",
"Verified key": "Təsdiqlənmiş açar",
"Sends the given message coloured as a rainbow": "Verilən mesajı göy qurşağı kimi rəngli göndərir",
"Sends the given emote coloured as a rainbow": "Göndərilmiş emote rəngini göy qurşağı kimi göndərir",
- "Unrecognised command:": "Tanınmayan əmr:",
"Add Email Address": "Emal ünvan əlavə etmək",
"Add Phone Number": "Telefon nömrəsi əlavə etmək",
"e.g. %(exampleValue)s": "e.g. %(exampleValue)s",
@@ -410,7 +386,6 @@
"Only continue if you trust the owner of the server.": "Yalnız server sahibinə etibar etsəniz davam edin.",
"Trust": "Etibar",
"Custom (%(level)s)": "Xüsusi (%(level)s)",
- "Failed to start chat": "Söhbətə başlamaq olmur",
"Failed to invite the following users to the %(roomName)s room:": "Aşağıdakı istifadəçiləri %(roomName)s otağına dəvət etmək alınmadı:",
"Room %(roomId)s not visible": "Otaq %(roomId)s görünmür",
"Messages": "Mesajlar",
@@ -425,10 +400,6 @@
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "E-poçtla dəvət etmək üçün şəxsiyyət serverindən istifadə edin. Defolt şəxsiyyət serverini (%(defaultIdentityServerName)s) istifadə etməyə və ya Parametrlərdə idarə etməyə davam edin.",
"Use an identity server to invite by email. Manage in Settings.": "E-poçtla dəvət etmək üçün şəxsiyyət serverindən istifadə edin. Parametrlərdə idarə edin.",
"Please supply a https:// or http:// widget URL": "Zəhmət olmasa https:// və ya http:// widget URL təmin edin",
- "Device already verified!": "Cihaz artıq təsdiqləndi!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "XƏBƏRDARLIQ: Cihaz artıq təsdiqləndi, lakin açarlar uyğun gəlmir!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "XƏBƏRDARLIQ: ƏSAS VERIFİKASİYA VERİLİR! %(userId)s və cihaz %(deviceId)s üçün imza açarı \"%(fprint)s\" ilə təmin olunmayan \"%(fingerprint)s\". Bu, ünsiyyətlərinizin tutulduğunu ifadə edə bilər!",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Təqdim etdiyiniz imza açarı %(userId)s cihazının %(deviceId)s cihazından aldığınız imza açarına uyğundur. Cihaz təsdiqlənmiş kimi qeyd edildi.",
"Forces the current outbound group session in an encrypted room to be discarded": "Şifrəli bir otaqda mövcud qrup sessiyasını ləğv etməyə məcbur edir",
"Displays list of commands with usages and descriptions": "İstifadə qaydaları və təsvirləri ilə komanda siyahısını göstərir",
"%(senderName)s requested a VoIP conference.": "%(senderName)s VoIP konfrans istədi.",
diff --git a/src/i18n/strings/bg.json b/src/i18n/strings/bg.json
index 108eb8ffb7..4fbe3b2903 100644
--- a/src/i18n/strings/bg.json
+++ b/src/i18n/strings/bg.json
@@ -102,10 +102,6 @@
"Moderator": "Модератор",
"Admin": "Администратор",
"Start a chat": "Започване на чат",
- "Who would you like to communicate with?": "С кой бихте желали да си комуникирате?",
- "Start Chat": "Започни чат",
- "Invite new room members": "Покана на нови членове в стаята",
- "Send Invites": "Изпрати покани",
"Failed to invite": "Неуспешна покана",
"Failed to invite the following users to the %(roomName)s room:": "Следните потребителите не успяха да бъдат добавени в %(roomName)s:",
"You need to be logged in.": "Трябва да влезете в профила си.",
@@ -131,10 +127,7 @@
"You are now ignoring %(userId)s": "Вече игнорирате %(userId)s",
"Unignored user": "Неигнориран потребител",
"You are no longer ignoring %(userId)s": "Вече не игнорирате %(userId)s",
- "Device already verified!": "Устройството е вече потвърдено!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ВНИМАНИЕ: Устройстовото е потвърдено, но ключовете не съвпадат!",
"Verified key": "Потвърден ключ",
- "Unrecognised command:": "Неразпозната команда:",
"Reason": "Причина",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s прие поканата за %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s прие поканата.",
@@ -171,7 +164,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s направи бъдещата история на стаята видима за всички членове в нея.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s направи бъдещата история на стаята видима за всеки.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s направи бъдещата история на стаята видима по непознат начин (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s включи шифроване от край до край (алгоритъм %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s от %(fromPowerLevel)s на %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s смени нивото на достъп на %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s смени закачените съобщения за стаята.",
@@ -194,8 +186,6 @@
"Enable automatic language detection for syntax highlighting": "Включване на автоматично разпознаване на език за подчертаване на синтаксиса",
"Automatically replace plain text Emoji": "Автоматично откриване и заместване на емотикони в текста",
"Mirror local video feed": "Показвай ми огледално моя видео образ",
- "Never send encrypted messages to unverified devices from this device": "Никога не изпращай шифровани съобщения от това устройство до непотвърдени устройства",
- "Never send encrypted messages to unverified devices in this room from this device": "Никога не изпращай шифровани съобщения от това устройство до непотвърдени устройства в тази стая",
"Enable inline URL previews by default": "Включване по подразбиране на URL прегледи",
"Enable URL previews for this room (only affects you)": "Включване на URL прегледи за тази стая (засяга само Вас)",
"Enable URL previews by default for participants in this room": "Включване по подразбиране на URL прегледи за участници в тази стая",
@@ -223,10 +213,7 @@
"New Password": "Нова парола",
"Confirm password": "Потвърждаване на парола",
"Change Password": "Смяна на парола",
- "Unable to load device list": "Неуспешно зареждане на списък с устройства",
"Authentication": "Автентикация",
- "Delete %(count)s devices|other": "Изтрий %(count)s устройства",
- "Delete %(count)s devices|one": "Изтрий устройство",
"Device ID": "Идентификатор на устройство",
"Last seen": "Последно видян",
"Failed to set display name": "Неуспешно задаване на име",
@@ -244,9 +231,6 @@
"%(senderName)s sent a video": "%(senderName)s изпрати видео",
"%(senderName)s uploaded a file": "%(senderName)s качи файл",
"Options": "Настройки",
- "Undecryptable": "Невъзможно разшифроване",
- "Encrypted by an unverified device": "Шифровано от непотвърдено устройство",
- "Unencrypted message": "Нешифровано съобщение",
"Please select the destination room for this message": "Моля, изберете стаята, в която искате да изпратите това съобщение",
"Blacklisted": "В черния списък",
"device id: ": "идентификатор на устройството: ",
@@ -266,8 +250,6 @@
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "След като си намалите нивото на достъп, няма да можете да възвърнете тази промяна. Ако сте последния потребител с привилегии в тази стая, ще бъде невъзможно да възвърнете привилегии си.",
"Are you sure?": "Сигурни ли сте?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Няма да можете да възвърнете тази промяна, тъй като повишавате този потребител до същото ниво на достъп като Вашето.",
- "No devices with registered encryption keys": "Няма устройства с регистрирани ключове за шифроване",
- "Devices": "Устройства",
"Unignore": "Премахни игнорирането",
"Ignore": "Игнорирай",
"Mention": "Спомени",
@@ -287,20 +269,14 @@
"Voice call": "Гласово повикване",
"Video call": "Видео повикване",
"Upload file": "Качи файл",
- "Show Text Formatting Toolbar": "Показване на лентата с инструменти за форматиране на текст",
"Send an encrypted reply…": "Изпрати шифрован отговор…",
"Send a reply (unencrypted)…": "Отговори (нешифрованo)…",
"Send an encrypted message…": "Изпрати шифровано съобщение…",
"Send a message (unencrypted)…": "Изпрати съобщение (нешифровано)…",
"You do not have permission to post to this room": "Нямате разрешение да публикувате в тази стая",
- "Hide Text Formatting Toolbar": "Скриване на лентата с инструменти за форматиране на текст",
"Server error": "Сървърна грешка",
"Server unavailable, overloaded, or something else went wrong.": "Сървърът е недостъпен, претоварен или нещо друго се обърка.",
"Command error": "Грешка в командата",
- "bold": "удебелен",
- "italic": "курсивен",
- "Markdown is disabled": "Markdown е изключен",
- "Markdown is enabled": "Markdown е включен",
"No pinned messages.": "Няма закачени съобщения.",
"Loading...": "Зареждане...",
"Pinned Messages": "Закачени съобщения",
@@ -328,7 +304,6 @@
"Community Invites": "Покани за общност",
"Invites": "Покани",
"Favourites": "Любими",
- "People": "Хора",
"Low priority": "Нисък приоритет",
"Historical": "Архив",
"This room": "В тази стая",
@@ -357,8 +332,6 @@
"Advanced": "Разширени",
"Add a topic": "Добавете тема",
"Jump to first unread message.": "Отиди до първото непрочетено съобщение.",
- "Invalid alias format": "Невалиден формат на псевдонима",
- "'%(alias)s' is not a valid format for an alias": "%(alias)s не е валиден формат на псевдоним",
"not specified": "неопределен",
"Remote addresses for this room:": "Отдалечени адреси на тази стая:",
"Local addresses for this room:": "Локалните адреси на тази стая са:",
@@ -408,8 +381,6 @@
"Community %(groupId)s not found": "Общност %(groupId)s не е намерена",
"Create a new community": "Създаване на нова общност",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Създайте общност, за да групирате потребители и стаи! Изградете персонализирана начална страница, за да маркирате своето пространство в Matrix Вселената.",
- "Unknown (user, device) pair:": "Непозната двойка (потребител, устройство):",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Подписващият ключ, който сте предоставили, съвпада с подписващия ключ, който сте получили от устройството %(deviceId)s на %(userId)s. Устройството е маркирано като потвърдено.",
"Jump to message": "Отиди до съобщението",
"Jump to read receipt": "Отиди до потвърждението за прочитане",
"Revoke Moderator": "Премахване на правата на модератора",
@@ -457,7 +428,6 @@
"Blacklist": "Добави в черен списък",
"Unverify": "Махни потвърждението",
"Verify...": "Потвърди...",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Вашето непотвърдено устройство '%(displayName)s' изисква ключове за шифроване.",
"I have verified my email address": "Потвърдих имейл адреса си",
"NOT verified": "НЕ е потвърдено",
"verified": "потвърдено",
@@ -543,18 +513,13 @@
"Unknown error": "Неизвестна грешка",
"Incorrect password": "Неправилна парола",
"Deactivate Account": "Затвори акаунта",
- "Device name": "Име на устройство",
- "Device key": "Ключ на устройство",
- "Verify device": "Потвърждение на устройство",
"Start verification": "Започни потвърждението",
"Verification Pending": "Очакване на потвърждение",
"Verification": "Потвърждение",
"I verify that the keys match": "Потвърждавам, че ключовете съвпадат",
"An error has occurred.": "Възникна грешка.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Добавихте ново устройство '%(displayName)s', което изисква ключове за шифроване.",
"Share without verifying": "Сподели без потвърждение",
"Ignore request": "Игнорирай поканата",
- "Loading device info...": "Зареждане на информация за устройството...",
"Encryption key request": "Заявка за ключ за шифроване",
"Unable to restore session": "Неуспешно възстановяване на сесията",
"Invalid Email Address": "Невалиден имейл адрес",
@@ -574,10 +539,6 @@
"Username available": "Потребителското име не е заето",
"To get started, please pick a username!": "За да започнете, моля изберете потребителско име!",
"If you already have a Matrix account you can log in instead.": "Ако вече имате Matrix профил, можете да влезете с него.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "В момента Вие блокирате непотвърдени устройства; за да изпращате съобщения до тези устройства, трябва да ги потвърдите.",
- "Room contains unknown devices": "Стаята съдържа непознати устройства",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" съдържа устройства, който не сте виждали до сега.",
- "Unknown devices": "Непознати устройства",
"Private Chat": "Личен чат",
"Public Chat": "Публичен чат",
"Alias (optional)": "Псевдоним (по избор)",
@@ -619,8 +580,6 @@
"Error whilst fetching joined communities": "Грешка при извличането на общности, към които сте присъединени",
"You have no visible notifications": "Нямате видими известия",
"Scroll to bottom of page": "Отиди до края на страницата",
- "Message not sent due to unknown devices being present": "Съобщението не е изпратено поради наличието на непознати устройства",
- "Show devices, send anyway or cancel.": "Покажи устройствата, изпрати въпреки това или откажи.",
"%(count)s of your messages have not been sent.|other": "Някои от Вашите съобщение не бяха изпратени.",
"%(count)s of your messages have not been sent.|one": "Вашето съобщение не беше изпратено.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Изпрати всички отново или откажи всички сега. Също така може да изберете индивидуални съобщения, които да изпратите отново или да откажете.",
@@ -652,12 +611,9 @@
"Light theme": "Светла тема",
"Dark theme": "Тъмна тема",
"Success": "Успешно",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Вашата парола беше успешно сменена. Няма да получавате известия на други устройства, докато не влезете отново в профила си от тях",
"": "<не се поддържа>",
"Import E2E room keys": "Импортирай E2E ключове",
"Cryptography": "Криптография",
- "Device ID:": "Идентификатор на устройството:",
- "Device key:": "Ключ на устройството:",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot събира анонимни статистики, за да ни позволи да подобрим приложението.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Поверителността е важна за нас, затова не събираме лични или идентифициращи Вас данни.",
"Learn more about how we use analytics.": "Научете повече за това как използваме статистическите данни.",
@@ -678,7 +634,6 @@
"click to reveal": "натиснете за показване",
"Homeserver is": "Home сървър:",
"Identity Server is": "Сървър за самоличност:",
- "matrix-react-sdk version:": "Версия на matrix-react-sdk:",
"riot-web version:": "Версия на riot-web:",
"olm version:": "Версия на olm:",
"Failed to send email": "Неуспешно изпращане на имейл",
@@ -706,7 +661,6 @@
"Kicks user with given id": "Изгонва потребителя с даден идентификатор",
"Changes your display nickname": "Сменя Вашия псевдоним",
"Searches DuckDuckGo for results": "Търси в DuckDuckGo за резултати",
- "Verifies a user, device, and pubkey tuple": "Потвърждава потребител, устройство или ключова двойка",
"Ignores a user, hiding their messages from you": "Игнорира потребител, скривайки съобщенията му от Вас",
"Stops ignoring a user, showing their messages going forward": "Спира игнорирането на потребител, показвайки съобщенията му занапред",
"Commands": "Команди",
@@ -726,7 +680,6 @@
"Claimed Ed25519 fingerprint key": "Заявен ключов отпечатък Ed25519",
"End-to-end encryption information": "Информация за шифроването от край до край",
"Event information": "Информация за събитието",
- "Sender device information": "Информация за устройството на подателя",
"Passphrases must match": "Паролите трябва да съвпадат",
"Passphrase must not be empty": "Паролата не трябва да е празна",
"Export room keys": "Експортиране на ключове за стаята",
@@ -737,16 +690,10 @@
"File to import": "Файл за импортиране",
"Import": "Импортирай",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Когато тази страница съдържа информация идентифицираща Вас (като например стая, потребител или идентификатор на група), тези данни биват премахнати преди да бъдат изпратени до сървъра.",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Има непознати устройства в тази стая. Ако продължите без да ги потвърдите, ще бъде възможно за някого да подслушва Вашия разговор.",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ВНИМАНИЕ: НЕУСПЕШНО ПОТВЪРЖДАВАНЕ НА КЛЮЧА! Ключът за подписване за %(userId)s и устройството %(deviceId)s е \"%(fprint)s\", което не съвпада с предоставения ключ \"%(fingerprint)s\". Това може да означава, че Вашата комуникация е прихваната!",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Смяната на парола ще нулира всички ключове за шифроване от край до край на всички устройства, правейки историята на шифрования чат невъзможна за четене, освен ако първо не експортирате ключовете за стаята и ги импортирате отново след това. В бъдеще това ще бъде подобрено.",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "На път сте да бъдете отведени до друг сайт, където можете да удостоверите профила си за използване с %(integrationsUrl)s. Искате ли да продължите?",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Сигурни ли сте, че искате да премахнете (изтриете) това събитие? Забележете, че ако изтриете събитие за промяна на името на стая или тема, това може да обърне промяната.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "За да потвърдите, че на това устройство може да се вярва, моля свържете се със собственика му по друг начин (напр. на живо или чрез телефонен разговор) и го попитайте дали ключът, който той вижда в неговите настройки на потребителя за това устройство, съвпада с ключа по-долу:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Ако съвпада, моля натиснете бутона за потвърждение по-долу. Ако не, то тогава някой друг имитира това устройство и вероятно искате вместо това да натиснете бутона за черен списък.",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Ако преди сте използвали по-нова версия на Riot, Вашата сесия може да не бъде съвместима с текущата версия. Затворете този прозорец и се върнете в по-новата версия.",
"This will be your account name on the homeserver, or you can pick a different server.": "Това ще бъде името на профила Ви на Home сървъра, или можете да изберете друг сървър.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Препоръчваме Ви да минете през процеса за потвърждение за всяко устройство, за да потвърдите, че принадлежат на легитимен собственик. Ако предпочитате, можете да изпратите съобщение без потвърждение.",
"Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Засечени са данни от по-стара версия на Riot. Това ще доведе до неправилна работа на криптографията от край до край в по-старата версия. Шифрованите от край до край съобщения, които са били обменени наскоро (при използването на по-стара версия), може да не успеят да бъдат разшифровани в тази версия. Това също може да доведе до неуспех в обмяната на съобщения в тази версия. Ако имате проблеми, излезте и влезте отново в профила си. За да запазите историята на съобщенията, експортирайте и импортирайте отново Вашите ключове.",
"Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Няма връзка с Home сървъра. Моля, проверете Вашата връзка. Уверете се, че SSL сертификатът на Home сървъра е надежден и че някое разширение на браузъра не блокира заявките.",
"none": "няма",
@@ -756,11 +703,7 @@
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Експортираният файл може да бъде предпазен с парола. Трябва да въведете парола тук, за да разшифровате файла.",
"Did you know: you can use communities to filter your Riot.im experience!": "Знаете ли, че: може да използвате общности, за да филтрирате Вашето Riot.im преживяване!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "За да създадете филтър, дръпнете и пуснете аватара на общността върху панела за филтриране в най-лявата част на екрана. По всяко време може да натиснете върху аватар от панела, за да видите само стаите и хората от тази общност.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Заявката за споделяне на ключ е изпратена. Моля, проверете заявките за споделяне на другите Ви устройства.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Заявки за споделяне на ключове се изпращат автоматично към другите Ви устройства. Ако сте ги отхвърлили от другите устройства, натиснете тук, за да заявите нови за тази сесия.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Ако другите Ви устройства нямат ключа за това съобщение, няма да можете да го разшифровате.",
"Key request sent.": "Заявката за ключ е изпратена.",
- "Re-request encryption keys from your other devices.": "Заявете отново ключове за шифроване от другите Ви устройства.",
"Code": "Код",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Ако сте изпратили грешка чрез GitHub, логовете за дебъгване могат да ни помогнат да проследим проблема. Логовете за дебъгване съдържат данни за използване на приложението, включващи потребителското Ви име, идентификаторите или псевдонимите на стаите или групите, които сте посетили, и потребителските имена на други потребители. Те не съдържат съобщения.",
"Submit debug logs": "Изпрати логове за дебъгване",
@@ -823,7 +766,6 @@
"Noisy": "Шумно",
"Collecting app version information": "Събиране на информация за версията на приложението",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Изтриване на псевдонима %(alias)s на стаята и премахване на %(name)s от директорията?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Това ще Ви позволи да се върнете в профила си след излизане от него, и да влезете от други устройства.",
"Enable notifications for this account": "Включване на известия за този профил",
"Invite to this community": "Покани в тази общност",
"Search…": "Търсене…",
@@ -912,8 +854,6 @@
"Your User Agent": "Вашият браузър",
"Your device resolution": "Разделителната способност на устройството Ви",
"Always show encryption icons": "Винаги показвай икони за шифроване",
- "Unable to reply": "Не може да се отговори",
- "At this time it is not possible to reply with an emote.": "В момента не може да се отговори с емотикона.",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Не може да се зареди събитието, на което е отговорено. Или не съществува или нямате достъп да го видите.",
"Popout widget": "Изкарай в нов прозорец",
"Clear Storage and Sign Out": "Изчисти запазените данни и излез",
@@ -965,12 +905,6 @@
"Permission Required": "Необходимо е разрешение",
"A call is currently being placed!": "В момента се осъществява разговор!",
"You do not have permission to start a conference call in this room": "Нямате достъп да започнете конферентен разговор в тази стая",
- "deleted": "изтрито",
- "underlined": "подчертано",
- "inline-code": "код",
- "block-quote": "цитат",
- "bulleted-list": "списък (с тирета)",
- "numbered-list": "номериран списък",
"Failed to remove widget": "Неуспешно премахване на приспособление",
"An error ocurred whilst trying to remove the widget from the room": "Възникна грешка при премахването на приспособлението от стаята",
"System Alerts": "Системни уведомления",
@@ -1059,11 +993,6 @@
"Encrypted messages in group chats": "Шифровани съобщения в групови чатове",
"Delete Backup": "Изтрий резервното копие",
"Unable to load key backup status": "Неуспешно зареждане на състоянието на резервното копие на ключа",
- "Backup has a valid signature from this device": "Резервното копие има валиден подпис за това устройство",
- "Backup has a valid signature from unverified device ": "Резервното копие има валиден подпис от непотвърдено устройство ",
- "Backup has an invalid signature from verified device ": "Резервното копие има невалиден подпис от потвърдено устройство ",
- "Backup has an invalid signature from unverified device ": "Резервното копие има невалиден подпис от непотвърдено устройство ",
- "Backup is not signed by any of your devices": "Резервното копие не е подписано от нито едно Ваше устройство",
"Backup version: ": "Версия на резервното копие: ",
"Algorithm: ": "Алгоритъм: ",
"Don't ask again": "Не питай пак",
@@ -1090,7 +1019,6 @@
"This looks like a valid recovery key!": "Това изглежда като валиден ключ за възстановяване!",
"Not a valid recovery key": "Не е валиден ключ за възстановяване",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Получете достъп до защитената история на съобщенията и настройте защитен чат, чрез въвеждане на ключа за възстановяване.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Ако сте забравили паролата за възстановяване, може да настройте нов вариант за възстановяване",
"Invalid homeserver discovery response": "Невалиден отговор по време на откриването на конфигурацията за сървъра",
"Invalid identity server discovery response": "Невалиден отговор по време на откриването на конфигурацията за сървъра за самоличност",
"General failure": "Обща грешка",
@@ -1107,12 +1035,9 @@
"Your Recovery Key": "Вашия ключ за възстановяване",
"Copy to clipboard": "Копирай в клипборд",
"Download": "Свали",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Ключа Ви за възстановяване беше копиран в клипборда, поставете го в:",
- "Your Recovery Key is in your Downloads folder.": "Ключът Ви за възстановяване е в папка Изтеглени.",
"Print it and store it somewhere safe": "Принтирайте го и го съхранявайте на безопасно място",
"Save it on a USB key or backup drive": "Запазете го на USB или резервен диск",
"Copy it to your personal cloud storage": "Копирайте го в персонално облачно пространство",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Без настроено Възстановяване на Защитени Съобщения, няма да може да възстановите шифрованата история на съобщенията, в случай че излезете от профила си или използвате друго устройство.",
"Set up Secure Message Recovery": "Настрой Възстановяване на Защитени Съобщения",
"Keep it safe": "Пазете го в безопасност",
"Create Key Backup": "Създай резервно копие на ключа",
@@ -1123,7 +1048,6 @@
"Straight rows of keys are easy to guess": "Клавиши от прави редици са лесни за отгатване",
"Short keyboard patterns are easy to guess": "Къси клавиатурни последователности са лесни за отгатване",
"Custom user status messages": "Собствено статус съобщение",
- "Backup has a valid signature from verified device ": "Резервното копие има валиден подпис от потвърдено устройство ",
"Unable to load commit detail: %(msg)s": "Неуспешно зареждане на информация за commit: %(msg)s",
"Set a new status...": "Задаване на нов статус...",
"Clear status": "Изчисти статуса",
@@ -1164,20 +1088,17 @@
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Защитените съобщения с този потребител са шифровани от край-до-край и не могат да бъдат прочетени от други.",
"Got It": "Разбрах",
"Verify this user by confirming the following number appears on their screen.": "Потвърдете този потребител като се уверите, че следното число се вижда на екрана му.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "За максимална сигурност, препоръчваме да го направите на живо или да използвате друг надежден начин за комуникация.",
"Yes": "Да",
"No": "Не",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Изпратихме Ви имейл за да потвърдим адреса Ви. Последвайте инструкциите в имейла и след това кликнете на бутона по-долу.",
"Email Address": "Имейл адрес",
"Backing up %(sessionsRemaining)s keys...": "Правене на резервно копие на %(sessionsRemaining)s ключа...",
"All keys backed up": "Всички ключове са в резервното копие",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Резервното копие съдържа подпис от непознато устройство с идентификатор %(deviceId)s.",
"Add an email address to configure email notifications": "Добавете имейл адрес за да конфигурирате уведомления по имейл",
"Unable to verify phone number.": "Неуспешно потвърждение на телефонния номер.",
"Verification code": "Код за потвърждение",
"Phone Number": "Телефонен номер",
"Profile picture": "Профилна снимка",
- "Upload profile picture": "Качи профилна снимка",
"Display Name": "Име",
"Room information": "Информация за стаята",
"Internal room ID:": "Идентификатор на стаята:",
@@ -1220,8 +1141,6 @@
"Voice & Video": "Глас и видео",
"Main address": "Основен адрес",
"Room avatar": "Снимка на стаята",
- "Upload room avatar": "Качи снимка на стаята",
- "No room avatar": "Няма снимка на стаята",
"Room Name": "Име на стаята",
"Room Topic": "Тема на стаята",
"Join": "Присъедини се",
@@ -1231,7 +1150,6 @@
"Waiting for partner to accept...": "Изчакване партньора да приеме...",
"Use two-way text verification": "Използвай двустранно текстово потвърждение",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Потвърди потребителя и го маркирай като доверен. Доверяването на потребители Ви дава допълнително спокойствие при използване на съобщения шифровани от край-до-край.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Потвърждението на този потребител ще маркира устройството му като доверено, а Вашето ще бъде маркирано като доверено при него.",
"Waiting for partner to confirm...": "Изчакване партньора да потвърди...",
"Incoming Verification Request": "Входяща заявка за потвърждение",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "За да се избегнат дублиращи се проблеми, моля първо прегледайте съществуващите проблеми (и гласувайте с +1) или създайте нов проблем, ако не сте намерили съществуващ.",
@@ -1267,10 +1185,7 @@
"Keep going...": "Продължавайте...",
"Starting backup...": "Започване на резервното копие...",
"A new recovery passphrase and key for Secure Messages have been detected.": "Беше открита нова парола и ключ за Защитени Съобщения.",
- "This device is encrypting history using the new recovery method.": "Устройството шифрова историята използвайки новия метод за възстановяване.",
"Recovery Method Removed": "Методът за възстановяване беше премахнат",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Устройството откри, че паролата за възстановяване и ключът за Защитени Съобщения са били премахнати.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Ако сте извършили това по погрешка, може да настройте Защитени Съобщения за това устройство, което ще зашифрова наново историята на съобщенията за това устройство, използвайки новия метод за възстановяване.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ако не сте премахнали метода за възстановяване, е възможно нападател да се опитва да получи достъп до акаунта Ви. Променете паролата на акаунта и настройте нов метод за възстановяване веднага от Настройки.",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Файлът '%(fileName)s' надхвърля ограничението за размер на файлове за този сървър",
"Gets or sets the room topic": "Взима или настройва темата на стаята",
@@ -1329,7 +1244,6 @@
"Book": "Книга",
"Pencil": "Молив",
"Paperclip": "Кламер",
- "Padlock": "Катинар",
"Key": "Ключ",
"Hammer": "Чук",
"Telephone": "Телефон",
@@ -1347,12 +1261,6 @@
"Headphones": "Слушалки",
"Folder": "Папка",
"Pin": "Кабърче",
- "Your homeserver does not support device management.": "Вашият сървър не поддържа управление на устройствата.",
- "This backup is trusted because it has been restored on this device": "Това резервно копие е доверено, понеже е било възстановено на това устройство",
- "Some devices for this user are not trusted": "Някои устройства на този потребител не са доверени",
- "Some devices in this encrypted room are not trusted": "Някои устройства в тази шифрована стая не са доверени",
- "All devices for this user are trusted": "Всички устройства на този потребител са доверени",
- "All devices in this encrypted room are trusted": "Всички устройства в тази шифрована стая са доверени",
"Recovery Key Mismatch": "Ключа за възстановяване не съвпада",
"Incorrect Recovery Passphrase": "Неправилна парола за възстановяване",
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "Резервното копие не можа да бъде разшифровано с тази парола: потвърдете, че сте въвели правилната парола.",
@@ -1362,16 +1270,13 @@
"This homeserver does not support communities": "Този сървър не поддържа общности",
"A verification email will be sent to your inbox to confirm setting your new password.": "Ще Ви бъде изпратен имейл за потвърждение на новата парола.",
"Your password has been reset.": "Паролата беше анулирана.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Бяхте изхвърлени от профила на всички ваши устройства и вече няма да получавате известия на тях. За да включите известията отново, влезте пак от всяко едно устройство.",
"This homeserver does not support login using email address.": "Този сървър не поддържа влизане в профил посредством имейл адрес.",
"Registration has been disabled on this homeserver.": "Регистрацията е изключена на този сървър.",
"Unable to query for supported registration methods.": "Неуспешно взимане на поддържаните методи за регистрация.",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Сигурни ли сте? Ако нямате работещо резервно копие на ключовете, ще загубите достъп до шифрованите съобщения.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Шифрованите съобщения са защитени с шифроване от край до край. Само Вие и получателят (получателите) имате ключове за четенето им.",
"Restore from Backup": "Възстанови от резервно копие",
- "This device is backing up your keys. ": "Това устройство прави резервни копия на ключовете. ",
"Back up your keys before signing out to avoid losing them.": "Направете резервно копие на ключовете преди изход от профила, за да не ги загубите.",
- "Your keys are not being backed up from this device.": "Това устройство не прави резервно копие на ключовете Ви.",
"Start using Key Backup": "Включи резервни копия за ключовете",
"Never lose encrypted messages": "Никога не губете шифровани съобщения",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Съобщенията в тази стая са защитени с шифроване от край до край. Само Вие и получателят (получателите) имате ключове за разчитането им.",
@@ -1390,7 +1295,6 @@
"Set up with a Recovery Key": "Настрой с ключ за възстановяване",
"Please enter your passphrase a second time to confirm.": "Въведете паролата отново за потвърждение.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Ключът за възстановяване дава допълнителна сигурност - може да го използвате за да възстановите достъпа до шифрованите съобщения, в случай че забравите паролата.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Пазете ключът за възстановяване на много сигурно място, например в password manager програма или сейф",
"Your keys are being backed up (the first backup could take a few minutes).": "Прави се резервно копие на ключовете Ви (първото копие може да отнеме няколко минути).",
"Secure your backup with a passphrase": "Защитете резервното копие с парола",
"Confirm your passphrase": "Потвърдете паролата",
@@ -1448,22 +1352,15 @@
"Power level": "Ниво на достъп",
"Please install Chrome, Firefox, or Safari for the best experience.": "Инсталирайте Chrome, Firefox или Safari за най-добра работа.",
"Want more than a community? Get your own server": "Искате повече от общност? Сдобийте се със собствен сървър",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Промяната на паролата Ви, ще анулира всички ключове за шифроване от-край-до-край по всички Ваши устройства, правейки историята на чата нечетима. Настройте резервно копие на ключовете или експортирайте ключовете от друго устройство преди да промените паролата си.",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Дали използвате 'breadcrumbs' функцията (аватари над списъка със стаи)",
"Replying With Files": "Отговаряне с файлове",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Все още не е възможно да отговорите с файл. Искате ли да качите файла без той да бъде отговор?",
"The file '%(fileName)s' failed to upload.": "Файлът '%(fileName)s' не можа да бъде качен.",
- "Room upgrade confirmation": "Потвърждение на обновяването на стаята",
- "Upgrading a room can be destructive and isn't always necessary.": "Обновяването на стаята може да бъде деструктивно и не винаги е задължително.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Обновяването на стаи обикновено се препоръчва за стаи с версии считащи се за нестабилни. Нестабилните версии може да имат бъгове, липсващи функции или проблеми със сигурността.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Обновяванията на стаи обикновено повлияват само сървърната обработка. Ако имате проблем с Riot, моля съобщете за него със .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Внимание: Обновяването на стаята няма автоматично да прехвърли членовете в новата версия на стаята. Ще изпратим съобщение в старата стая с връзка към новата - членовете на стаята ще трябва да кликнат на връзката за да влязат в новата стая.",
"Adds a custom widget by URL to the room": "Добавя собствено приспособление от URL в стаята",
"Please supply a https:// or http:// widget URL": "Моля, укажете https:// или http:// адрес на приспособление",
"You cannot modify widgets in this room.": "Не можете да модифицирате приспособления в тази стая.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s премахна покана към %(targetDisplayName)s за присъединяване в стаята.",
- "Enable desktop notifications for this device": "Включи известия на работния плот за това устройство",
- "Enable audible notifications for this device": "Включи звукови уведомления за това устройство",
"Upgrade this room to the recommended room version": "Обнови тази стая до препоръчаната версия на стаята",
"This room is running room version , which this homeserver has marked as unstable.": "Тази стая използва версия на стая , която сървърът счита за нестабилна.",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Обновяването на тази стая ще изключи текущата стая и ще създаде обновена стая със същото име.",
@@ -1504,8 +1401,6 @@
"A conference call could not be started because the integrations server is not available": "Не може да бъде започнат конферентен разговор, защото сървърът за интеграции не е достъпен",
"The server does not support the room version specified.": "Сървърът не поддържа указаната версия на стая.",
"Name or Matrix ID": "Име или Matrix идентификатор",
- "Email, name or Matrix ID": "Имейл, име или Matrix идентификатор",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Потвърдете, че искате да обновите стаята от до .",
"Changes your avatar in this current room only": "Променя снимката Ви само в тази стая",
"Unbans user with given ID": "Премахва блокирането на потребител с даден идентификатор",
"Sends the given message coloured as a rainbow": "Изпраща текущото съобщение оцветено като дъга",
@@ -1515,10 +1410,6 @@
"Sends the given emote coloured as a rainbow": "Изпраща дадената емоция, оцветена като дъга",
"Show hidden events in timeline": "Покажи скрити събития по времевата линия",
"When rooms are upgraded": "Когато стаите се актуализират",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Това устройстовото не архивира ключовете ви, вие обаче имате съществуващ архив, от който можете да ги възстановите и към който да ги добавяте в бъдеще.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Преди да се отпишете, свържете устройство си към архивирането, за да предотвратите загуба на ключове, който може да се намират само на него.",
- "Connect this device to Key Backup": "Свържете това устройство към Архивиране на ключове",
- "Backup has an invalid signature from this device": "Архивирането получи невалиден подпис от това устройство",
"this room": "тази стая",
"View older messages in %(roomName)s.": "Виж по-стари съобщения в %(roomName)s.",
"Joining room …": "Влизане в стая …",
@@ -1612,8 +1503,6 @@
"Changes your avatar in all rooms": "Променя снимката ви във всички стаи",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Моля, кажете ни какво се обърка, или още по-добре - създайте проблем в GitHub обясняващ ситуацията.",
"Removing…": "Премахване…",
- "Clear all data on this device?": "Изчистване на всички данни от това устройство?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Изчистването на всички данни от устройството е необратимо. Шифрованите съобщения ще бъдат загубени, освен ако не е било направено резервно копие на ключовете.",
"Clear all data": "Изчисти всички данни",
"Your homeserver doesn't seem to support this feature.": "Не изглежда сървърът ви да поддържа тази функция.",
"Resend edit": "Изпрати наново корекцията",
@@ -1621,14 +1510,12 @@
"Resend removal": "Изпрати наново премахването",
"Failed to re-authenticate due to a homeserver problem": "Неуспешна повторна автентикация поради проблем със сървъра",
"Failed to re-authenticate": "Неуспешна повторна автентикация",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Възвърнете си достъпа до профила и възстановете ключовете за шифроване съхранени на това устройство. Без тях няма да можете да четете защитени съобщения на кое да е устройство.",
"Enter your password to sign in and regain access to your account.": "Въведете паролата си за да влезете и да възстановите достъп до профила.",
"Forgotten your password?": "Забравили сте си паролата?",
"Sign in and regain access to your account.": "Влез и възвърни достъп до профила.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Не можете да влезете в профила си. Свържете се с администратора на сървъра за повече информация.",
"You're signed out": "Излязохте от профила",
"Clear personal data": "Изчисти личните данни",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Внимание: личните ви данни (включително ключове за шифроване) все още се съхраняват на това устройство. Изчистете, ако сте приключили с използването на това устройство или искате да влезете в друг профил.",
"Identity Server": "Сървър за самоличност",
"Find others by phone or email": "Открийте други по телефон или имейл",
"Be found by phone or email": "Бъдете открит по телефон или имейл",
@@ -1641,7 +1528,6 @@
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Попитайте администратора на сървъра ви (%(homeserverDomain)s) да конфигурира TURN сървър, за да може разговорите да работят надеждно.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Като алтернатива, може да използвате публичния сървър turn.matrix.org, но той не е толкова надежден, а и IP адресът ви ще бъде споделен с него. Може да управлявате това в Настройки.",
"Try using turn.matrix.org": "Опитай turn.matrix.org",
- "Failed to start chat": "Неуспешно започване на чат",
"Messages": "Съобщения",
"Actions": "Действия",
"Displays list of commands with usages and descriptions": "Показва списък с команди, начин на използване и описания",
@@ -1667,7 +1553,6 @@
"Discovery": "Откриване",
"Deactivate account": "Деактивиране на акаунт",
"Always show the window menu bar": "Винаги показвай менютата на прозореца",
- "A device's public name is visible to people you communicate with": "Публичното име на устройството е видимо от всички, с които комуникирате",
"Unable to revoke sharing for email address": "Неуспешно оттегляне на споделянето на имейл адреса",
"Unable to share email address": "Неуспешно споделяне на имейл адрес",
"Revoke": "Оттегли",
@@ -1680,7 +1565,6 @@
"Remove %(email)s?": "Премахни %(email)s?",
"Remove %(phone)s?": "Премахни %(phone)s?",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Беше изпратено SMS съобщение към +%(msisdn)s. Въведете съдържащият се код за потвърждение.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "За да потвърдите, че устройството е доверено, проверете дали ключът в Потребителски Настройки на устройството съвпада с ключа по-долу:",
"Command Help": "Помощ за команди",
"No identity server is configured: add one in server settings to reset your password.": "Не е конфигуриран сървър за самоличност: добавете такъв в настройки за сървъри за да може да възстановите паролата си.",
"You do not have the required permissions to use this command.": "Нямате необходимите привилегии за да използвате тази команда.",
@@ -1772,7 +1656,6 @@
"Add Phone Number": "Добави телефонен номер",
"This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Това действие изисква връзка със сървъра за самоличност за валидиране на имейл адреса или телефонния номер, но сървърът не предоставя условия за ползване.",
"Trust": "Довери се",
- "Use the new, faster, composer for writing messages": "Използвай новия, по-бърз редактор за писане на съобщения",
"Show previews/thumbnails for images": "Показвай преглед (умален размер) на снимки",
"You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Би било добре да премахнете личните си данни от сървъра за самоличност преди прекъсване на връзката. За съжаление, сървърът за самоличност в момента не е достъпен.",
"You should:": "Ще е добре да:",
@@ -1841,8 +1724,6 @@
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s започна гласово обаждане. (не се поддържа от този браузър)",
"%(senderName)s placed a video call.": "%(senderName)s започна видео обаждане.",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s започна видео обаждане. (не се поддържа от този браузър)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Изпращай заявки за потвърждение в директни съобщения, както и нов панел за верификация на членове.",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Включи кръстосано-подписване, за да се верифицира на ниво потребител, а не устройство (в процес на разработка)",
"Enable local event indexing and E2EE search (requires restart)": "Включи локални индексиране на събития и E2EE търсене (изисква рестартиране)",
"Match system theme": "Напасване със системната тема",
"My Ban List": "Моя списък с блокирания",
@@ -1874,11 +1755,9 @@
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s промени правило блокиращо достъпа до неща отговарящи на %(oldGlob)s към отговарящи на %(newGlob)s поради %(reason)s",
"The message you are trying to send is too large.": "Съобщението, което се опитвате да изпратите е прекалено голямо.",
"Cross-signing and secret storage are enabled.": "Кръстосано-подписване и секретно складиране са включени.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "За вашия профил има самоличност за кръстосано-подписване в секретно складиране, но все още не е доверена от това устройство.",
"Cross-signing and secret storage are not yet set up.": "Кръстосаното-подписване и секретно складиране все още не са настроени.",
"Bootstrap cross-signing and secret storage": "Инициализирай кръстосано-подписване и секретно складиране",
"Cross-signing public keys:": "Публични ключове за кръстосано-подписване:",
- "on device": "на устройството",
"not found": "не са намерени",
"Cross-signing private keys:": "Private ключове за кръстосано подписване:",
"in secret storage": "в секретно складиране",
@@ -1888,10 +1767,7 @@
"Backup has a valid signature from this user": "Резервното копие има валиден подпис за този потребител",
"Backup has a invalid signature from this user": "Резервното копие има невалиден подпис за този потребител",
"Backup has a signature from unknown user with ID %(deviceId)s": "Резервното копие има подпис от непознат потребител с идентификатор %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Резервното копие има подпис от непознато устройство с идентификатор %(deviceId)s",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Резервния ключ е съхранен в секретно складиране, но тази функция не е включена на това устройство. Включете кръстосано-подписване от Labs за да промените състоянието на резервното копие на ключа.",
"Backup key stored: ": "Резервният ключ е съхранен: ",
- "Start using Key Backup with Secure Secret Storage": "Започни използване на резервно копие на ключ в защитено секретно складиране",
"Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Използвай мениджър на интеграции %(serverName)s за управление на ботове, приспособления и стикери.",
"Use an Integration Manager to manage bots, widgets, and sticker packs.": "Използвай мениджър на интеграции за управление на ботове, приспособления и стикери.",
"Manage integrations": "Управление на интеграциите",
@@ -1928,11 +1804,6 @@
"Room ID or alias of ban list": "Идентификатор или име на стая списък за блокиране",
"Subscribe": "Абонирай ме",
"Cross-signing": "Кръстосано-подписване",
- "This user has not verified all of their devices.": "Този потребител не е потвърдил всичките си устройства.",
- "You have not verified this user. This user has verified all of their devices.": "Не сте потвърдили този потребител. Потребителят е потвърдил всичките си устройства.",
- "You have verified this user. This user has verified all of their devices.": "Потвърдили сте този потребител. Потребителят е потвърдил всичките си устройства.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Някои потребители в тази стая не са потвърдени от вас или не са потвърдили собствените си устройства.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Всички потребители в тази стая са потвърдени от вас и са потвърдили всичките си устройства.",
"This message cannot be decrypted": "Съобщението не може да бъде дешифровано",
"Unencrypted": "Нешифровано",
"Close preview": "Затвори прегледа",
@@ -1945,7 +1816,6 @@
"%(count)s verified sessions|other": "%(count)s потвърдени сесии",
"%(count)s verified sessions|one": "1 потвърдена сесия",
"Direct message": "Директно съобщение",
- "Unverify user": "Отпотвърди потребители",
"%(role)s in %(roomName)s": "%(role)s в%(roomName)s",
"Messages in this room are end-to-end encrypted.": "Съобщенията в тази стая са шифровани от край-до-край.",
"Verify": "Потвърди",
@@ -1982,11 +1852,9 @@
"Enter secret storage passphrase": "Въведете парола за секретно складиране",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "Неуспешен достъп до секретно складиране. Уверете се, че сте въвели правилната парола.",
"Warning: You should only access secret storage from a trusted computer.": "Внимание: Трябва да достъпвате секретно складиране само от доверен компютър.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "Въведете парола за да достъпите защитената история на съобщенията и самоличността за кръстосано-подписване и потвърждение на други устройства.",
"If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Ако сте забравили паролата си, може да използвате ключ за възстановяване или да настройте опции за възстановяване.",
"Enter secret storage recovery key": "Въведете ключ за възстановяване на секретно складиране",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Неуспешен достъп до секретно складиране. Подсигурете се, че сте въвели правилния ключ за възстановяване.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "Въведете ключа за възстановяване за да достъпите защитената история на съобщенията и самоличността за кръстосано-подписване и потвърждение на други устройства.",
"If you've forgotten your recovery key you can set up new recovery options.": "Ако сте забравили ключа си за възстановяване, може да настройте нови опции за възстановяване.",
"Warning: You should only set up key backup from a trusted computer.": "Внимание: Трябва да настройвате резервно копие на ключове само от доверен компютър.",
"If you've forgotten your recovery key you can set up new recovery options": "Ако сте забравили ключа за възстановяване, може да настройте нови опции за възстановяване",
@@ -2000,37 +1868,29 @@
"Country Dropdown": "Падащо меню за избор на държава",
"Verification Request": "Заявка за потвърждение",
" (1/%(totalCount)s)": " (1/%(totalCount)s)",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "Секретно Складиране ще бъде настроено със съществуващия ви резервен ключ. Паролата и ключа за секретно складиране ще бъдат същите каквито са за резервно складиране",
- "Warning: You should only set up secret storage from a trusted computer.": "Внимание: Желателно е да настройвате секретно складиране само от доверен компютър.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "Ще използваме секретно складиране за да предоставим опцията да се съхрани шифровано копие на идентичността ви за кръстосано-подписване, за потвърждаване на други устройства и ключове. Защитете достъпа си до шифровани съобщения с парола за да е защитено.",
"Set up with a recovery key": "Настрой с ключ за възстановяване",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Като предпазна мярка, ако забравите паролата, може да го използвате за да възстановите достъпа до шифрованите съобщения.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Като предпазна мярка, може да го използвате за да възстановите достъпа до шифрованите съобщения.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Съхранявайте ключа за възстановяване на сигурно място, като в password manager (или сейф).",
"Your recovery key has been copied to your clipboard, paste it to:": "Ключа за възстановяване беше копиран в клиборд, поставете го в:",
"Your recovery key is in your Downloads folder.": "Ключа за възстановяване е във вашата папка Изтегляния.",
- "Your access to encrypted messages is now protected.": "Достъпът ви до шифровани съобщения вече е защитен.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "Без настройка на секретно складиране, ако излезе от профила или използвате друго устройство, няма да можете да възстановите достъпа до шифровани съобщения или идентичността за кръстосано-подписване за потвърждаване на други устройства.",
- "Set up secret storage": "Настрой секретно складиране",
- "Migrate from Key Backup": "Мигрирай от резервно копие на ключове",
- "Secure your encrypted messages with a passphrase": "Защитете шифрованите съобщения с парола",
"Storing secrets...": "Складиране на тайни...",
"Unable to set up secret storage": "Неуспешна настройка на секретно складиране",
- "New DM invite dialog (under development)": "Нов процес за канене чрез директни съобщения (все още се разработва)",
"Show info about bridges in room settings": "Показвай информация за връзки с други мрежи в настройките на стаята",
- "This bridge was provisioned by ": "Тази връзка с друга мрежа е била настроена от ",
"This bridge is managed by .": "Тази връзка с друга мрежа се управлява от .",
- "Bridged into , on ": "Свързано с , посредством ",
- "Connected to on ": "Свързано с посредством ",
- "Connected via %(protocolName)s": "Свързано посредством %(protocolName)s",
- "Bridge Info": "Информация за връзката с друга мрежа",
- "Below is a list of bridges connected to this room.": "По-долу е списък на връзки с други мрежи свързани с тази стая.",
"Recent Conversations": "Скорошни разговори",
"Suggestions": "Предложения",
"Show more": "Покажи повече",
"Direct Messages": "Директни съобщения",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ако не можете да намерите някой, питайте за потребителското им име, или споделете своето (%(userId)s) или връзка към профила.",
"Go": "Давай",
"Failed to find the following users": "Неуспешно откриване на следните потребители",
- "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Следните потребители не съществуват или са невалидни и не могат да бъдат поканени: %(csvNames)s"
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Следните потребители не съществуват или са невалидни и не могат да бъдат поканени: %(csvNames)s",
+ "The version of Riot": "Версията на Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Дали използвате Riot на устройство, на което основния механизъм за достъп е докосване",
+ "Whether you're using Riot as an installed Progressive Web App": "Дали използвате Riot като инсталирано прогресивно уеб приложение (PWA)",
+ "Your user agent": "Информация за браузъра ви",
+ "The information being sent to us to help make Riot better includes:": "Информацията, която се изпраща за да ни помогне да подобрим Riot включва:",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "В тази стая има непознати сесии: ако продължите без да ги потвърдите, ще е възможно някой да подслуша обаждането ви.",
+ "Review Sessions": "Прегледай сесиите",
+ "If you cancel now, you won't complete verifying the other user.": "Ако се откажете сега, няма да завършите верификацията на другия потребител."
}
diff --git a/src/i18n/strings/ca.json b/src/i18n/strings/ca.json
index 77c8a9e635..aee9559eb7 100644
--- a/src/i18n/strings/ca.json
+++ b/src/i18n/strings/ca.json
@@ -1,5 +1,4 @@
{
- "People": "Gent",
"Add a widget": "Afegeix un giny",
"Account": "Compte",
"No Microphones detected": "No s'ha detectat cap micròfon",
@@ -42,7 +41,6 @@
"This phone number is already in use": "Aquest número de telèfon ja està en ús",
"Failed to verify email address: make sure you clicked the link in the email": "No s'ha pogut verificar l'adreça de correu electrònic. Assegureu-vos de fer clic a l'enllaç del correu electrònic de verificació",
"Call Failed": "No s'ha pogut realitzar la trucada",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Hi ha dispositius desconeguts a aquesta sala: si continueu sense verificar-los, és possible que algú escolti la vostra trucada.",
"Review Devices": "Revisió de dispositius",
"Call Anyway": "Truca de totes maneres",
"Answer Anyway": "Contesta de totes maneres",
@@ -105,10 +103,6 @@
"Moderator": "Moderador",
"Admin": "Administrador",
"Start a chat": "Comença un xat",
- "Who would you like to communicate with?": "Amb qui us voleu comunicar?",
- "Start Chat": "Comença un xat",
- "Invite new room members": "Convida a nous membres a la sala",
- "Send Invites": "Envia invitacions",
"Failed to invite": "No s'ha pogut tramitar la invitació",
"Failed to invite the following users to the %(roomName)s room:": "No s'ha pogut convidar a la sala %(roomName)s els següents usuaris:",
"You need to be logged in.": "És necessari estar autenticat.",
@@ -119,9 +113,9 @@
"Power level must be positive integer.": "El nivell de poders ha de ser un enter positiu.",
"You are not in this room.": "No heu entrat a aquesta sala.",
"You do not have permission to do that in this room.": "No teniu el permís per realitzar aquesta acció en aquesta sala.",
- "Missing room_id in request": "Falta l'ID de la sala en la vostra sol·licitud",
+ "Missing room_id in request": "Falta el room_id en la vostra sol·licitud",
"Room %(roomId)s not visible": "La sala %(roomId)s no és visible",
- "Missing user_id in request": "Falta el user_id a la sol·licitud",
+ "Missing user_id in request": "Falta l'user_id a la vostra sol·licitud",
"Usage": "Ús",
"/ddg is not a command": "/ddg no és un comandament",
"To use it, just wait for autocomplete results to load and tab through them.": "Per utilitzar-lo, simplement espereu que es completin els resultats automàticament i seleccioneu-ne el desitjat.",
@@ -130,14 +124,8 @@
"You are now ignoring %(userId)s": "Esteu ignorant l'usuari %(userId)s",
"Unignored user": "Usuari no ignorat",
"You are no longer ignoring %(userId)s": "Ja no esteu ignorant l'usuari %(userId)s",
- "Device already verified!": "El dispositiu ja estava verificat!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "AVÍS: El dispositiu ja estava verificat, però les claus NO COINCIDEIXEN!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "AVÍS: NO S'HA POGUT VERIFICAR! La clau de signatura de l'usuari %(userId)s i el dispositiu %(deviceId)s és \"%(fprint)s\", però no coincideix amb la clau \"%(fingerprint)s\". Això pot voler dir que les vostres comunicacions estan sent interceptades!",
"Verified key": "Claus verificades",
"Call Timeout": "Temps d'espera de les trucades",
- "Unknown (user, device) pair:": "Parell desconegut (usuari, dispositiu):",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "La clau de signatura que heu proporcionat coincideix amb la clau de signatura que heu rebut del dispositiu %(deviceId)s de l'usuari %(userId)s. S'ha marcat el dispositiu com a dispositiu verificat.",
- "Unrecognised command:": "Ordre no reconegut:",
"Reason": "Raó",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s ha acceptat la invitació de %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s ha acceptat una invitació.",
@@ -174,7 +162,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s ha fet visible l'històric futur de la sala a tots els membres de la sala.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s ha fet visible el futur historial de la sala per a tothom.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s ha fet visible el futur historial de la sala per a desconeguts (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ha activat el xifratge d'extrem a extrem (algoritme %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s a %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s ha canviat el nivell de poders de %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s ha canviat els missatges fixats de la sala.",
@@ -196,7 +183,6 @@
"Autoplay GIFs and videos": "Reprodueix de forma automàtica els GIF i vídeos",
"Enable automatic language detection for syntax highlighting": "Activa la detecció automàtica d'idiomes per al ressaltat de sintaxi",
"Automatically replace plain text Emoji": "Substitueix automàticament Emoji de text pla",
- "Never send encrypted messages to unverified devices in this room from this device": "No enviïs mai missatges xifrats a dispositius no verificats en aquesta sala des d'aquest dispositiu",
"Enable inline URL previews by default": "Activa per defecte la vista prèvia d'URL en línia",
"Enable URL previews for this room (only affects you)": "Activa la vista prèvia d'URL d'aquesta sala (no afecta altres usuaris)",
"Enable URL previews by default for participants in this room": "Activa per defecte la vista prèvia d'URL per als participants d'aquesta sala",
@@ -204,7 +190,6 @@
"Active call (%(roomName)s)": "Trucada activa (%(roomName)s)",
"unknown caller": "trucada d'un desconegut",
"Incoming voice call from %(name)s": "Trucada de veu entrant de %(name)s",
- "Never send encrypted messages to unverified devices from this device": "No enviïs mai missatges xifrats a dispositius no verificats des d'aquest dispositiu",
"Incoming video call from %(name)s": "Trucada de vídeo entrant de %(name)s",
"Incoming call from %(name)s": "Trucada entrant de %(name)s",
"Decline": "Declina",
@@ -218,7 +203,6 @@
"No display name": "Sense nom visible",
"New passwords don't match": "Les noves contrasenyes no coincideixen",
"Passwords can't be empty": "Les contrasenyes no poden estar buides",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Si canvieu la contrasenya, es reiniciaran totes les actuals claus de xifratge d'extrem per a tots els dispositius, fent que l'historial xifrat no sigui llegible, tret que primer exporteu les claus de la vostra sala i les torneu a importar després. En un futur això serà millorat.",
"Export E2E room keys": "Exporta les claus E2E de la sala",
"Do you want to set an email address?": "Voleu establir una adreça de correu electrònic?",
"Current password": "Contrasenya actual",
@@ -226,10 +210,7 @@
"New Password": "Nova contrasenya",
"Confirm password": "Confirma la contrasenya",
"Change Password": "Canvia la contrasenya",
- "Unable to load device list": "No s'ha pogut carregar la llista de dispositius",
"Authentication": "Autenticació",
- "Delete %(count)s devices|other": "Suprimeix %(count)s dispositius",
- "Delete %(count)s devices|one": "Suprimeix el dispositiu",
"Device ID": "ID del dispositiu",
"Last seen": "Vist per última vegada",
"Failed to set display name": "No s'ha pogut establir el nom visible",
@@ -246,9 +227,6 @@
"%(senderName)s sent a video": "%(senderName)s ha enviat un vídeo",
"%(senderName)s uploaded a file": "%(senderName)s ha pujat un fitxer",
"Options": "Opcions",
- "Undecryptable": "Indesxifrable",
- "Encrypted by an unverified device": "Xifrat per un dispositiu no verificat",
- "Unencrypted message": "Missatge no xifrat",
"Please select the destination room for this message": "Si us plau, seleccioneu la sala destinatària per a aquest missatge",
"Blacklisted": "Llista negre",
"device id: ": "ID del dispositiu: ",
@@ -269,8 +247,6 @@
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "No podreu desfer aquest canvi ja que estareu baixant de grau de privilegis. Només un altre usuari amb més privilegis podrà fer que els recupereu.",
"Are you sure?": "Esteu segur?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "No podreu desfer aquesta acció ja que esteu donant al usuari el mateix nivell de privilegi que el vostre.",
- "No devices with registered encryption keys": "No hi ha cap dispositiu amb les claus de xifratge registrades",
- "Devices": "Dispositius",
"Unignore": "Deixa de ignorar",
"Ignore": "Ignora",
"Jump to read receipt": "Vés a l'últim missatge llegit",
@@ -292,21 +268,15 @@
"Voice call": "Trucada de veu",
"Video call": "Trucada de vídeo",
"Upload file": "Puja un fitxer",
- "Show Text Formatting Toolbar": "Mostra la barra d'eines de format de text",
"Send an encrypted reply…": "Envia una resposta xifrada…",
"Send a reply (unencrypted)…": "Envia una resposta (sense xifrar)…",
"Send an encrypted message…": "Envia un missatge xifrat…",
"Send a message (unencrypted)…": "Envia un missatge (sense xifrar)…",
"You do not have permission to post to this room": "No teniu el permís per escriure en aquesta sala",
- "Hide Text Formatting Toolbar": "Amaga la barra d'eines de format de text",
"Server error": "S'ha produït un error al servidor",
"Mirror local video feed": "Mostra el vídeo local com un mirall",
"Server unavailable, overloaded, or something else went wrong.": "El servidor no està disponible, està sobrecarregat o alguna altra cosa no ha funcionat correctament.",
"Command error": "S'ha produït un error en l'ordre",
- "bold": "negreta",
- "italic": "cursiva",
- "Markdown is disabled": "El Markdown està desactivat",
- "Markdown is enabled": "El Markdown està activat",
"Jump to message": "Salta al missatge",
"No pinned messages.": "No hi ha cap missatge fixat.",
"Loading...": "S'està carregant...",
@@ -362,8 +332,6 @@
"Permissions": "Permisos",
"Add a topic": "Afegeix un tema",
"Jump to first unread message.": "Salta al primer missatge no llegit.",
- "Invalid alias format": "El format de l'àlies no és vàlid",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' no és un format d'àlies vàlid",
"Anyone who knows the room's link, including guests": "Qualsevol que conegui l'enllaç de la sala, inclosos els usuaris d'altres xarxes",
"not specified": "sense especificar",
"Remote addresses for this room:": "Adreces remotes per a aquesta sala:",
@@ -521,19 +489,11 @@
"Unknown error": "S'ha produït un error desconegut",
"Incorrect password": "Contrasenya incorrecta",
"Deactivate Account": "Desactivar el compte",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Per verificar que es pot confiar en aquest dispositiu, poseu-vos en contacte amb el propietari mitjançant altres mitjans (per exemple, en persona o amb una trucada telefònica) i pregunteu-li si la clau que veuen a la configuració del seu usuari, aquest dispositiu coincideix amb la següent clau:",
- "Device name": "Nom del dispositiu",
- "Device key": "Clau del dispositiu",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Si coincideix, premeu el botó de verificació de sota. Si no coincideix, algú més està interceptant aquest dispositiu i probablement voleu prémer el botó de llista negra.",
- "Verify device": "Verifica el dispositiu",
"I verify that the keys match": "Verifico que les claus coincideixen",
"An error has occurred.": "S'ha produït un error.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Heu afegit el nou dispositiu «%(displayName)s», que està demanant les claus de xifratge.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "El dispositiu no verificat «%(displayName)s» està demanant les claus de xifratge.",
"Start verification": "Inicia la verificació",
"Share without verifying": "Comparteix sense verificar",
"Ignore request": "Ignora la sol·licitud",
- "Loading device info...": "S'està carregant la informació del dispositiu...",
"Encryption key request": "Sol·licitud de claus",
"Unable to restore session": "No s'ha pogut restaurar la sessió",
"Invalid Email Address": "El correu electrònic no és vàlid",
@@ -552,11 +512,6 @@
"This will be your account name on the homeserver, or you can pick a different server.": "Aquest serà el nom del seu compte al servidor amfitrió, o bé trieu-ne un altre different server.",
"If you already have a Matrix account you can log in instead.": "Si ja teniu un compte a Matrix, podeu log in.",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Si anteriorment heu utilitzat un versió de Riot més recent, la vostra sessió podría ser incompatible amb aquesta versió. Tanqueu aquesta finestra i torneu a la versió més recent.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Actualment teniu a la llista negre els dispositius no verificats; per enviar missatges a aquests dispositius, els heu de verificar abans.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Recomanem que dugueu a terme el procès de verificació per a cada dispositiu per tal de confirmar que són del legítim propietari, però podeu enviar el missatge sense verificar-ho si ho preferiu.",
- "Room contains unknown devices": "Hi ha dispositius desconeguts a la sala",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "A la sala «%(RoomName)s» hi ha dispositius que no havíeu vist abans.",
- "Unknown devices": "Dispositius desconeguts",
"Private Chat": "Xat privat",
"Public Chat": "Xat públic",
"Custom": "Personalitzat",
@@ -613,7 +568,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Crea una comunitat per agrupar usuaris i sales! Creeu una pàgina d'inici personalitzada per definir el vostre espai a l'univers Matrix.",
"You have no visible notifications": "No teniu cap notificació visible",
"Scroll to bottom of page": "Desplaça't fins a la part inferior de la pàgina",
- "Message not sent due to unknown devices being present": "El missatge no s'ha enviat perquè hi ha dispositius desconeguts presents",
"%(count)s of your messages have not been sent.|other": "Alguns dels vostres missatges no s'han enviat.",
"%(count)s of your messages have not been sent.|one": "El vostre missatge no s'ha enviat.",
"Warning": "Avís",
@@ -636,7 +590,6 @@
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "S'ha intentat carregar un punt específic dins la línia de temps d'aquesta sala, però no teniu permís per veure el missatge en qüestió.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "S'ha intentat carregar un punt específic de la línia de temps d'aquesta sala, però no s'ha pogut trobar.",
"Failed to load timeline position": "No s'ha pogut carregar aquesta posició de la línia de temps",
- "Show devices, send anyway or cancel.": "Mostra els dispositius, envia de totes maneres o cancel·la.",
"Signed Out": "Sessió tancada",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Reenviar tot o cancel·lar tot ara. També pots seleccionar missatges individualment per reenviar o cancel·lar.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Reenviar missarge o cancel·lar missatge ara.",
@@ -645,13 +598,10 @@
"Uploading %(filename)s and %(count)s others|zero": "Pujant %(filename)s",
"Light theme": "Tema clar",
"Dark theme": "Tema fosc",
- "Sign out": "Tancar sessió",
+ "Sign out": "Tanca la sessió",
"Import E2E room keys": "Importar claus E2E de sala",
"Cryptography": "Criptografia",
- "Device ID:": "ID del dispositiu:",
- "Device key:": "Clau del dispositiu:",
"Labs": "Laboraroris",
- "matrix-react-sdk version:": "Versió de matrix-react-sdk:",
"riot-web version:": "Versió de riot-web:",
"olm version:": "Versió d'olm:",
"Incorrect username and/or password.": "Usuari i/o contrasenya incorrectes.",
@@ -664,7 +614,6 @@
"Event information": "Informació d'esdeveniment",
"User ID": "ID de l'usuari",
"Decryption error": "Error de desxifratge",
- "Sender device information": "Informació del dispositiu remitent",
"Export room keys": "Exporta les claus de la sala",
"Upload an avatar:": "Pujar un avatar:",
"Confirm passphrase": "Introduïu una contrasenya",
@@ -684,7 +633,7 @@
"The platform you're on": "La plataforma a la que estàs",
"Your language of choice": "El teu idioma preferit",
"Which officially provided instance you are using, if any": "Quina instància oficial estàs utilitzant, si escau",
- "Whether or not you're using the Richtext mode of the Rich Text Editor": "Si estàs utilitzant el mode Richtext del Rich Text Editor o no",
+ "Whether or not you're using the Richtext mode of the Rich Text Editor": "Si esteu utilitzant el mode Richtext del Rich Text Editor o no",
"The information being sent to us to help make Riot.im better includes:": "La informació enviada a Riot.im per ajudar-nos a millorar inclou:",
"Fetching third party location failed": "S'ha produït un error en obtenir la ubicació de tercers",
"A new version of Riot is available.": "Hi ha una versió nova del Riot disponible.",
@@ -736,7 +685,6 @@
"Noisy": "Sorollós",
"Collecting app version information": "S'està recollint la informació de la versió de l'aplicació",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Voleu esborrar de la sala l'alies %(alias)s i retirar %(name)s del directori?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Això farà possible que pugueu tronar al vostre compte des de qualsevol dispositiu.",
"Enable notifications for this account": "Habilita les notificacions per aquest compte",
"Invite to this community": "Convida a aquesta comunitat",
"Search…": "Cerca…",
@@ -847,7 +795,6 @@
"Define the power level of a user": "Defineix el nivell d'autoritat d'un usuari",
"Deops user with given id": "Degrada l'usuari amb l'id donat",
"Opens the Developer Tools dialog": "Obre el diàleg d'Eines del desenvolupador",
- "Verifies a user, device, and pubkey tuple": "Verifica un usuari, dispositiu i tupla de clau pública",
"Displays action": "Mostra l'acció",
"Whether or not you're logged in (we don't record your username)": "Si heu iniciat sessió o no (no desem el vostre usuari)",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "El fitxer %(fileName)s supera el límit de pujades del servidor",
@@ -925,5 +872,13 @@
"Show a reminder to enable Secure Message Recovery in encrypted rooms": "Mostra un recordatori per activar la Recuperació de missatges segurs en sales encriptades",
"Show avatars in user and room mentions": "Mostra avatars en mencions d'usuaris i sales",
"Enable big emoji in chat": "Activa Emojis grans en xats",
- "Send analytics data": "Envia dades d'anàlisi"
+ "Send analytics data": "Envia dades d'anàlisi",
+ "Upload": "Puja",
+ "Email addresses": "Adreces de correu electrònic",
+ "Phone numbers": "Números de telèfon",
+ "Language and region": "Idioma i regió",
+ "Theme": "Tema",
+ "Phone Number": "Número de telèfon",
+ "Help": "Ajuda",
+ "Send typing notifications": "Envia notificacions d'escriptura"
}
diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json
index 5aacb27c80..46675489b4 100644
--- a/src/i18n/strings/cs.json
+++ b/src/i18n/strings/cs.json
@@ -1,18 +1,16 @@
{
"Close": "Zavřít",
"Favourites": "Oblíbené",
- "Filter room members": "Filtrovat členy místnosti",
+ "Filter room members": "Najít člena místnosti",
"Historical": "Historické",
"Home": "Úvod",
"Jump to first unread message.": "Přeskočit na první nepřečtenou zprávu.",
"Logout": "Odhlásit se",
"Low priority": "Nízká priorita",
- "Notifications": "Upozornění",
- "People": "Lidé",
+ "Notifications": "Oznámení",
"Rooms": "Místnosti",
"Search": "Hledání",
"Settings": "Nastavení",
- "Start Chat": "Začít chat",
"This room": "Tato místnost",
"Video call": "Videohovor",
"Voice call": "Telefonát",
@@ -38,12 +36,12 @@
"There are no visible files in this room": "V této místnosti nejsou žádné viditelné soubory",
"Create new room": "Založit novou místnost",
"Room directory": "Adresář místností",
- "Start chat": "Začít chat",
+ "Start chat": "Zahájit konverzaci",
"Options": "Volby",
"Register": "Zaregistrovat",
"Cancel": "Storno",
"Error": "Chyba",
- "Favourite": "V oblíbených",
+ "Favourite": "Oblíbené",
"Mute": "Ztlumit",
"Continue": "Pokračovat",
"Failed to change password. Is your password correct?": "Nepodařilo se změnit heslo. Zadáváte své heslo správně?",
@@ -53,13 +51,13 @@
"OK": "OK",
"Failed to forget room %(errCode)s": "Nepodařilo se zapomenout místnost %(errCode)s",
"Dismiss": "Zahodit",
- "powered by Matrix": "poháněno Matrixem",
- "Custom Server Options": "Vlastní serverové volby",
+ "powered by Matrix": "používá protokol Matrix",
+ "Custom Server Options": "Vlastní nastavení serveru",
"Add a widget": "Přidat widget",
"Accept": "Přijmout",
- "%(targetName)s accepted an invitation.": "%(targetName)s přijal/a pozvání.",
+ "%(targetName)s accepted an invitation.": "Uživatel %(targetName)s přijal pozvání.",
"Account": "Účet",
- "Access Token:": "Přístupový žeton:",
+ "Access Token:": "Přístupový token:",
"Add": "Přidat",
"Add a topic": "Přidat téma",
"Admin": "Správce",
@@ -69,38 +67,37 @@
"Default Device": "Výchozí zařízení",
"Microphone": "Mikrofon",
"Camera": "Kamera",
- "Advanced": "Pokročilé",
+ "Advanced": "Rozšířené",
"Algorithm": "Algoritmus",
"Always show message timestamps": "Vždy zobrazovat časové značky zpráv",
"Authentication": "Ověření",
"A new password must be entered.": "Musíte zadat nové heslo.",
"An error has occurred.": "Nastala chyba.",
"Anyone": "Kdokoliv",
- "Are you sure?": "Určitě?",
- "Are you sure you want to leave the room '%(roomName)s'?": "Určitě chcete odejít z místnosti '%(roomName)s'?",
- "Are you sure you want to reject the invitation?": "Určitě chcete odmítnout pozvání?",
+ "Are you sure?": "Opravdu?",
+ "Are you sure you want to leave the room '%(roomName)s'?": "Opravdu chcete opustit místnost '%(roomName)s'?",
+ "Are you sure you want to reject the invitation?": "Opravdu chcete odmítnout pozvání?",
"Attachment": "Příloha",
"Autoplay GIFs and videos": "Automaticky přehrávat GIFy a videa",
- "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Nelze se připojit k domovskému serveru – zkontrolujte prosím své připojení, prověřte, zdali je SSL certifikát vašeho domovského serveru důvěryhodný, a že některé z rozšíření prohlížeče neblokuje komunikaci.",
- "Anyone who knows the room's link, apart from guests": "Kdokoliv, kdo má odkaz na místnost, kromě hostů",
- "Anyone who knows the room's link, including guests": "Kdokoliv, kdo má odkaz na místnost, a to i hosté",
+ "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Nelze se připojit k domovskému serveru – zkontrolujte prosím své připojení, prověřte, zda je SSL certifikát vašeho domovského serveru důvěryhodný, a že některé z rozšíření prohlížeče neblokuje komunikaci.",
+ "Anyone who knows the room's link, apart from guests": "Kdokoliv s odkazem na místnost, kromě hostů",
+ "Anyone who knows the room's link, including guests": "Kdokoliv s odkazem na místnost, včetně hostů",
"Banned users": "Vykázaní uživatelé",
"Ban": "Vykázat",
"Bans user with given id": "Vykáže uživatele s daným id",
"Cannot add any more widgets": "Nelze přidat žádné další widgety",
"Change Password": "Změnit heslo",
- "%(senderName)s changed their profile picture.": "%(senderName)s změnil/a svůj profilový obrázek.",
- "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s změnil/a název místnosti na %(roomName)s.",
- "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s odstranil/a název místnosti.",
- "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s změnil/a téma na „%(topic)s“.",
+ "%(senderName)s changed their profile picture.": "Uživatel %(senderName)s změnil svůj profilový obrázek.",
+ "%(senderDisplayName)s changed the room name to %(roomName)s.": "Uživatel %(senderDisplayName)s změnil název místnosti na %(roomName)s.",
+ "%(senderDisplayName)s removed the room name.": "Uživatel %(senderDisplayName)s odstranil název místnosti.",
+ "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "Uživatel %(senderDisplayName)s změnil téma na „%(topic)s“.",
"Changes your display nickname": "Změní vaši zobrazovanou přezdívku",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "V současnosti změna hesla resetuje všechny šifrovací klíče na všech zařízeních, což vám znepřístupní historii zašifrovaných chatů, pokud si nejprve nevyexportujete klíče svých místností a pak je do nich znova nevložíte. Toto bude v budoucnu lépe ošetřeno.",
"Command error": "Chyba příkazu",
"Commands": "Příkazy",
"Confirm password": "Potvrďte heslo",
"Could not connect to the integration server": "Nepodařilo se spojit se začleňovacím serverem",
"Create Room": "Vytvořit místnost",
- "Cryptography": "Kryptografie",
+ "Cryptography": "Šifrování",
"Current password": "Současné heslo",
"Custom": "Vlastní",
"Custom level": "Vlastní úroveň",
@@ -111,25 +108,20 @@
"Decryption error": "Chyba dešifrování",
"Delete widget": "Vymazat widget",
"Default": "Výchozí",
- "Device already verified!": "Zařízení již bylo ověřeno!",
"Device ID": "ID zařízení",
- "Device ID:": "ID zařízení:",
"device id: ": "id zařízení: ",
- "Device key:": "Klíč zařízení:",
- "Devices": "Zařízení",
- "Direct chats": "Přímé chaty",
- "Disable Notifications": "Vypnout upozornění",
+ "Direct chats": "Přímé zprávy",
+ "Disable Notifications": "Vypnout oznámení",
"Disinvite": "Odvolat pozvání",
"Download %(text)s": "Stáhnout %(text)s",
"Drop File Here": "Přetáhněte soubor sem",
"Edit": "Upravit",
"Email": "E-mail",
"Email address": "E-mailová adresa",
- "Emoji": "Emodži",
- "Enable automatic language detection for syntax highlighting": "Zapnout kvůli zvýrazňování syntaxe automatické rozpoznávání jazyka",
- "Enable Notifications": "Zapnout upozornění",
- "Encrypted by an unverified device": "Zašifrováno neověřeným zařízením",
- "%(senderName)s ended the call.": "%(senderName)s ukončil/a hovor.",
+ "Emoji": "Emoji",
+ "Enable automatic language detection for syntax highlighting": "Zapnout automatické rozpoznávání jazyků pro zvýrazňování syntaxe",
+ "Enable Notifications": "Zapnout oznámení",
+ "%(senderName)s ended the call.": "Uživatel %(senderName)s ukončil hovor.",
"End-to-end encryption information": "Informace o end-to-end šifrování",
"Enter passphrase": "Zadejte heslo",
"Error decrypting attachment": "Chyba při dešifrování přílohy",
@@ -137,11 +129,11 @@
"Event information": "Informace o události",
"Existing Call": "Probíhající hovor",
"Export": "Exportovat",
- "Export E2E room keys": "Exportovat E2E klíče místnosti",
+ "Export E2E room keys": "Exportovat end-to-end klíče místnosti",
"Failed to ban user": "Nepodařilo se vykázat uživatele",
"Failed to join room": "Vstup do místnosti se nezdařil",
"Failed to kick": "Vykopnutí se nezdařilo",
- "Failed to leave room": "Odejití z místnosti se nezdařilo",
+ "Failed to leave room": "Opuštění místnosti se nezdařilo",
"Failed to mute user": "Ztlumení uživatele se nezdařilo",
"Failed to send email": "Odeslání e-mailu se nezdařilo",
"Failed to reject invitation": "Nepodařilo se odmítnout pozvání",
@@ -155,43 +147,39 @@
"Forget room": "Zapomenout místnost",
"For security, this session has been signed out. Please sign in again.": "Z bezpečnostních důvodů bylo toto přihlášení ukončeno. Přihlašte se prosím znovu.",
"and %(count)s others...|other": "a %(count)s další...",
- "%(widgetName)s widget modified by %(senderName)s": "%(widgetName)s widget upravil/a %(senderName)s",
- "%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s widget odstranil/a %(senderName)s",
- "%(widgetName)s widget added by %(senderName)s": "%(widgetName)s widget přidal/a %(senderName)s",
- "Automatically replace plain text Emoji": "Automaticky nahrazovat textové emotikony",
+ "%(widgetName)s widget modified by %(senderName)s": "Uživatel %(senderName)s upravil widget %(widgetName)s",
+ "%(widgetName)s widget removed by %(senderName)s": "Uživatel %(senderName)s odstranil widget %(widgetName)s",
+ "%(widgetName)s widget added by %(senderName)s": "Uživatel %(senderName)s přidal widget %(widgetName)s",
+ "Automatically replace plain text Emoji": "Automaticky nahrazovat textové emoji",
"Failed to upload image": "Obrázek se nepodařilo nahrát",
- "%(senderName)s answered the call.": "%(senderName)s přijal/a hovor.",
- "Click to mute audio": "Kliknutím ztlumíte zvuk",
- "Failed to verify email address: make sure you clicked the link in the email": "E-mailovou adresu se nepodařilo ověřit. Přesvědčte se, že jste kliknul/a na zaslaný odkaz",
+ "%(senderName)s answered the call.": "Uživatel %(senderName)s přijal hovor.",
+ "Click to mute audio": "Klepněte pro vypnutí zvuku",
+ "Failed to verify email address: make sure you clicked the link in the email": "E-mailovou adresu se nepodařilo ověřit. Přesvědčte se, že jste klepli na odkaz v e-mailové zprávě",
"Guests cannot join this room even if explicitly invited.": "Hosté nemohou vstoupit do této místnosti, i když jsou přímo pozváni.",
"Homeserver is": "Domovský server je",
"Identity Server is": "Server identity je",
- "I have verified my email address": "Ověřil/a jsem svoji e-mailovou adresu",
+ "I have verified my email address": "Ověřil/a jsem svou e-mailovou adresu",
"Import": "Importovat",
- "Import E2E room keys": "Importovat E2E klíče místností",
+ "Import E2E room keys": "Importovat end-to-end klíče místností",
"Incoming call from %(name)s": "Příchozí hovor od %(name)s",
"Incoming video call from %(name)s": "Příchozí videohovor od %(name)s",
"Incoming voice call from %(name)s": "Příchozí hlasový hovor od %(name)s",
"Incorrect username and/or password.": "Nesprávné uživatelské jméno nebo heslo.",
"Incorrect verification code": "Nesprávný ověřovací kód",
- "Invalid alias format": "Neplaný formát aliasu",
"Invalid Email Address": "Neplatná e-mailová adresa",
- "%(senderName)s invited %(targetName)s.": "%(senderName)s pozval/a %(targetName)s.",
- "Invite new room members": "Pozvat do místnosti nové členy",
+ "%(senderName)s invited %(targetName)s.": "Uživatel %(senderName)s pozval uživatele %(targetName)s.",
"Invites": "Pozvánky",
"Invites user with given id to current room": "Pozve do aktuální místnosti uživatele s daným id",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' není platný formát aliasu",
"Join Room": "Vstoupit do místnosti",
- "%(targetName)s joined the room.": "%(targetName)s vstoupil/a do místnosti.",
- "%(senderName)s kicked %(targetName)s.": "%(senderName)s vykopnul/a %(targetName)s.",
+ "%(targetName)s joined the room.": "Uživatel %(targetName)s vstoupil do místnosti.",
+ "%(senderName)s kicked %(targetName)s.": "Uživatel %(senderName)s vykopl uživatele %(targetName)s.",
"Kick": "Vykopnout",
"Kicks user with given id": "Vykopne uživatele s daným id",
- "Last seen": "Naposledy viděn/a",
- "Leave room": "Odejít z místnosti",
+ "Last seen": "Naposledy aktivní",
+ "Leave room": "Opustit místnost",
"Local addresses for this room:": "Místní adresy této místnosti:",
- "matrix-react-sdk version:": "Verze matrix-react-sdk:",
"Moderator": "Moderátor",
- "Name": "Jméno",
+ "Name": "Název",
"New address (e.g. #foo:%(localDomain)s)": "Nová adresa (např. #neco:%(localDomain)s)",
"New passwords don't match": "Nová hesla se neshodují",
"New passwords must match each other.": "Nová hesla se musí shodovat.",
@@ -210,7 +198,7 @@
"Passwords can't be empty": "Hesla nemohou být prázdná",
"Permissions": "Oprávnění",
"Phone": "Telefon",
- "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s změnil/a úroveň oprávnění o %(powerLevelDiffText)s.",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "Uživatel %(senderName)s změnil úroveň oprávnění o %(powerLevelDiffText)s.",
"Define the power level of a user": "Stanovte úroveň oprávnění uživatele",
"Failed to change power level": "Nepodařilo se změnit úroveň oprávnění",
"Power level must be positive integer.": "Úroveň oprávnění musí být kladné celé číslo.",
@@ -219,48 +207,44 @@
"Alias (optional)": "Alias (nepovinný)",
"Results from DuckDuckGo": "Výsledky z DuckDuckGo",
"Return to login screen": "Vrátit k přihlašovací obrazovce",
- "Riot does not have permission to send you notifications - please check your browser settings": "Riot není oprávněn posílat vám upozornění – zkontrolujte prosím nastavení svého prohlížeče",
- "Riot was not given permission to send notifications - please try again": "Riot nebyl oprávněn k posílání upozornění – zkuste to prosím znovu",
+ "Riot does not have permission to send you notifications - please check your browser settings": "Riot není oprávněn posílat vám oznámení – zkontrolujte prosím nastavení svého prohlížeče",
+ "Riot was not given permission to send notifications - please try again": "Riot nebyl oprávněn k posílání oznámení – zkuste to prosím znovu",
"riot-web version:": "verze riot-web:",
"Room %(roomId)s not visible": "Místnost %(roomId)s není viditelná",
"Room Colour": "Barva místnosti",
- "Room contains unknown devices": "V místnosti jsou neznámá zařízení",
"%(roomName)s does not exist.": "%(roomName)s neexistuje.",
"%(roomName)s is not accessible at this time.": "Místnost %(roomName)s není v tuto chvíli dostupná.",
"Save": "Uložit",
"Scroll to bottom of page": "Přejít na konec stránky",
"Send anyway": "Přesto poslat",
- "Sender device information": "Informace o zařízení odesílatele",
"Send Reset Email": "Poslat resetovací e-mail",
- "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s poslal/a obrázek.",
- "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s poslal/a %(targetDisplayName)s pozvánku ke vstupu do místnosti.",
+ "%(senderDisplayName)s sent an image.": "Uživatel %(senderDisplayName)s poslal obrázek.",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "Uživatel %(senderName)s pozval uživatele %(targetDisplayName)s ke vstupu do místnosti.",
"Server error": "Chyba serveru",
"Server may be unavailable, overloaded, or search timed out :(": "Server může být nedostupný, přetížený nebo vyhledávání vypršelo :(",
"Server may be unavailable, overloaded, or you hit a bug.": "Server může být nedostupný, přetížený nebo jste narazili na chybu.",
"Server unavailable, overloaded, or something else went wrong.": "Server je nedostupný, přetížený nebo se něco pokazilo.",
"Session ID": "ID sezení",
- "%(senderName)s set a profile picture.": "%(senderName)s si nastavil/a profilový obrázek.",
- "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s si změnil/a zobrazované jméno na %(displayName)s.",
+ "%(senderName)s set a profile picture.": "Uživatel %(senderName)s si nastavil profilový obrázek.",
+ "%(senderName)s set their display name to %(displayName)s.": "Uživatel %(senderName)s si změnil zobrazované jméno na %(displayName)s.",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Zobrazovat čas v 12hodinovém formátu (např. 2:30 odp.)",
"Sign in": "Přihlásit",
"Sign out": "Odhlásit",
"%(count)s of your messages have not been sent.|other": "Některé z vašich zpráv nebyly odeslány.",
"Someone": "Někdo",
- "Start a chat": "Začít chat",
+ "Start a chat": "Zahájit konverzaci",
"Start authentication": "Začít ověření",
"Submit": "Odeslat",
"Success": "Úspěch",
"The phone number entered looks invalid": "Zadané telefonní číslo se zdá být neplatné",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Zadaný podepisovaný klíč se shoduje s klíčem obdrženým od uživatele %(userId)s ze zařízení %(deviceId)s. Zařízení je označeno jako ověřené.",
- "This email address is already in use": "Tato e-mailová adresa je již používaná",
+ "This email address is already in use": "Tato e-mailová adresa je již požívána",
"This email address was not found": "Tato e-mailová adresa nebyla nalezena",
"This room has no local addresses": "Tato místnost nemá žádné místní adresy",
"This room is not recognised.": "Tato místnost nebyla rozpoznána.",
"VoIP is unsupported": "VoIP není podporován",
"Warning!": "Varování!",
- "Who can access this room?": "Kdo má přístup k této místnosti?",
+ "Who can access this room?": "Kdo má přístup do této místnosti?",
"Who can read history?": "Kdo může číst historii?",
- "Who would you like to communicate with?": "S kým byste chtěli komunikovat?",
"You are not in this room.": "Nejste v této místnosti.",
"You do not have permission to do that in this room.": "V této místnosti nemáte na toto právo.",
"You cannot place a call with yourself.": "Nemůžete volat sami sobě.",
@@ -269,54 +253,48 @@
"Online": "Online",
"Offline": "Offline",
"Check for update": "Zkontrolovat aktualizace",
- "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s přijal/a pozvánku pro %(displayName)s.",
+ "%(targetName)s accepted the invitation for %(displayName)s.": "Uživatel %(targetName)s přijal pozvání pro %(displayName)s.",
"Active call (%(roomName)s)": "Probíhající hovor (%(roomName)s)",
- "%(senderName)s banned %(targetName)s.": "%(senderName)s vykázal/a %(targetName)s.",
- "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Nelze se připojit k domovskému serveru přes HTTP, pokud je v adresním řádku HTTPS. Buď použijte HTTPS, nebo povolte nebezpečné scripty.",
- "Click here to fix": "Klikněte zde pro opravu",
- "Click to mute video": "Klikněte pro zakázání videa",
- "click to reveal": "klikněte pro odhalení",
- "Click to unmute video": "Klikněte pro povolení videa",
- "Click to unmute audio": "Klikněte pro povolení zvuku",
+ "%(senderName)s banned %(targetName)s.": "Uživatel %(senderName)s vykázal uživatele %(targetName)s.",
+ "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Nelze se připojit k domovskému serveru přes HTTP, pokud je v adresním řádku HTTPS. Buď použijte HTTPS, nebo povolte nezabezpečené skripty.",
+ "Click here to fix": "Pro opravu klepněte zde",
+ "Click to mute video": "Klepněte pro zakázání videa",
+ "click to reveal": "pro odhlení klepněte",
+ "Click to unmute video": "Klepněte pro povolení videa",
+ "Click to unmute audio": "Klepněte pro povolení zvuku",
"Displays action": "Zobrazí akci",
"Ed25519 fingerprint": "Ed25519 otisk",
"Fill screen": "Vyplnit obrazovku",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s z %(fromPowerLevel)s na %(toPowerLevel)s",
"This doesn't appear to be a valid email address": "Tato e-mailová adresa se zdá být neplatná",
- "This phone number is already in use": "Toto číslo se již používá",
+ "This phone number is already in use": "Toto telefonní číslo je již používáno",
"This room is not accessible by remote Matrix servers": "Tato místnost není přístupná vzdáleným Matrix serverům",
"To use it, just wait for autocomplete results to load and tab through them.": "Použijte tak, že vyčkáte na načtení našeptávaných výsledků a ty pak projdete tabulátorem.",
- "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Nemáte práva k zobrazení zprávy v daném časovém úseku.",
- "Tried to load a specific point in this room's timeline, but was unable to find it.": "Zpráva v daném časovém úseku nenalezena.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s zapnul/a end-to-end šifrování (algoritmus %(algorithm)s).",
+ "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Pokusili jste se načíst bod v časové ose místnosti, ale pro zobrazení zpráv z daného časového úseku nemáte oprávnění.",
+ "Tried to load a specific point in this room's timeline, but was unable to find it.": "Pokusili jste se načíst bod v časové ose místnosti, ale nepodařilo se ho najít.",
"Unable to add email address": "Nepodařilo se přidat e-mailovou adresu",
"Unable to create widget.": "Nepodařilo se vytvořit widget.",
"Unable to remove contact information": "Nepodařilo se smazat kontaktní údaje",
"Unable to verify email address.": "Nepodařilo se ověřit e-mailovou adresu.",
"Unban": "Přijmout zpět",
- "%(senderName)s unbanned %(targetName)s.": "%(senderName)s přijal/a zpět %(targetName)s.",
+ "%(senderName)s unbanned %(targetName)s.": "Uživatel %(senderName)s přijal zpět uživatele %(targetName)s.",
"Unable to capture screen": "Nepodařilo se zachytit obrazovku",
- "Unable to enable Notifications": "Nepodařilo se povolit upozornění",
- "Unable to load device list": "Nepodařilo se načíst seznam zařízení",
- "Undecryptable": "Nerozšifrovatelné",
+ "Unable to enable Notifications": "Nepodařilo se povolit oznámení",
"unencrypted": "nešifrované",
- "Unencrypted message": "Nešifrovaná zpráva",
"unknown caller": "neznámý volající",
"unknown device": "neznámé zařízení",
"Unknown room %(roomId)s": "Neznámá místnost %(roomId)s",
- "Unknown (user, device) pair:": "Neznámý pár (uživatel, zařízení):",
"Unmute": "Povolit",
"Unnamed Room": "Nepojmenovaná místnost",
- "Unrecognised command:": "Nerozpoznaný příkaz:",
"Unrecognised room alias:": "Nerozpoznaný alias místnosti:",
- "Uploading %(filename)s and %(count)s others|zero": "Nahrávám %(filename)s",
- "Uploading %(filename)s and %(count)s others|one": "Nahrávám %(filename)s a %(count)s další",
- "Uploading %(filename)s and %(count)s others|other": "Nahrávám %(filename)s a %(count)s další",
+ "Uploading %(filename)s and %(count)s others|zero": "Nahrávání souboru %(filename)s",
+ "Uploading %(filename)s and %(count)s others|one": "Nahrávání souboru %(filename)s a %(count)s dalších",
+ "Uploading %(filename)s and %(count)s others|other": "Nahrávání souboru %(filename)s a %(count)s dalších",
"Upload Failed": "Nahrávání selhalo",
"Upload file": "Nahrát soubor",
"Upload new:": "Nahrát nový:",
"Usage": "Použití",
- "Use compact timeline layout": "Použít kompaktní rozvržení timeline",
+ "Use compact timeline layout": "Použít kompaktní rozvržení časové osy",
"User ID": "ID uživatele",
"Username invalid: %(errMessage)s": "Neplatné uživatelské jméno: %(errMessage)s",
"Users": "Uživatelé",
@@ -326,7 +304,6 @@
"Verified key": "Ověřený klíč",
"(no answer)": "(žádná odpověď)",
"(unknown failure: %(reason)s)": "(neznámá chyba: %(reason)s)",
- "WARNING: Device already verified, but keys do NOT MATCH!": "VAROVÁNÍ: Zařízení byl již ověřeno, ale klíče se NESHODUJÍ!",
"The remote side failed to pick up": "Vzdálené straně se nepodařilo hovor přijmout",
"Who would you like to add to this community?": "Koho chcete přidat do této skupiny?",
"Invite new community members": "Pozvěte nové členy skupiny",
@@ -344,25 +321,23 @@
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
"Failed to add the following rooms to %(groupId)s:": "Nepodařilo se přidat následující místnosti do %(groupId)s:",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Vaše e-mailová adresa zřejmě nepatří k žádnému Matrix ID na tomto domovském serveru.",
- "Send Invites": "Odeslat pozvánky",
"Failed to invite": "Pozvání se nezdařilo",
"Failed to invite the following users to the %(roomName)s room:": "Do místnosti %(roomName)s se nepodařilo pozvat následující uživatele:",
- "You need to be logged in.": "Musíte být přihlášen/a.",
+ "You need to be logged in.": "Musíte být přihlášeni.",
"You are now ignoring %(userId)s": "Nyní ignorujete %(userId)s",
"You are no longer ignoring %(userId)s": "Už neignorujete %(userId)s",
"Add rooms to this community": "Přidat místnosti do této skupiny",
"Unpin Message": "Odepnout zprávu",
"Ignored user": "Ignorovaný uživatel",
"Unignored user": "Odignorovaný uživatel",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "VAROVÁNÍ: OVĚŘENÍ KLÍČE SELHALO! Podepisovací klíč uživatele %(userId)s a zařízení %(deviceId)s je „%(fprint)s“, což nesouhlasí s dodaným klíčem „%(fingerprint)s“. Toto může znamenat, že vaše komunikace je odposlouchávána!",
"Reason": "Důvod",
"VoIP conference started.": "VoIP konference započata.",
"VoIP conference finished.": "VoIP konference ukončena.",
- "%(targetName)s left the room.": "%(targetName)s opustil/a místnost.",
+ "%(targetName)s left the room.": "Uživatel %(targetName)s opustil místnost.",
"You are already in a call.": "Již máte probíhající hovor.",
- "%(senderName)s requested a VoIP conference.": "%(senderName)s požádal/a o VoIP konferenci.",
- "%(senderName)s removed their profile picture.": "%(senderName)s odstranil/a svůj profilový obrázek.",
- "%(targetName)s rejected the invitation.": "%(targetName)s odmítl/a pozvání.",
+ "%(senderName)s requested a VoIP conference.": "Uživatel %(senderName)s požádal o VoIP konferenci.",
+ "%(senderName)s removed their profile picture.": "Uživatel %(senderName)s odstranil svůj profilový obrázek.",
+ "%(targetName)s rejected the invitation.": "Uživatel %(targetName)s odmítl pozvání.",
"Communities": "Skupiny",
"Message Pinning": "Připíchnutí zprávy",
"Your browser does not support the required cryptography extensions": "Váš prohlížeč nepodporuje požadovaná kryptografická rozšíření",
@@ -371,51 +346,45 @@
"Unignore": "Odignorovat",
"Ignore": "Ignorovat",
"Admin Tools": "Nástroje pro správce",
- "bold": "tučně",
- "italic": "kurzíva",
"No pinned messages.": "Žádné připíchnuté zprávy.",
"Pinned Messages": "Připíchnuté zprávy",
- "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s odstranil/a svoje zobrazované jméno (%(oldDisplayName)s).",
- "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s odvolal/a pozvánku pro %(targetName)s.",
- "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s učinil/a budoucí historii místnosti viditelnou všem členům, a to od chvíle jejich pozvání.",
- "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s učinil/a budoucí historii místnosti viditelnou všem členům, a to od chvíle jejich vstupu do místnosti.",
- "%(senderName)s made future room history visible to all room members.": "%(senderName)s učinil/a budoucí historii místnosti viditelnou všem členům.",
- "%(senderName)s made future room history visible to anyone.": "%(senderName)s učinil/a budoucí historii místnosti viditelnou komukoliv.",
- "%(senderName)s changed the pinned messages for the room.": "%(senderName)s změnil/a připíchnuté zprávy této místnosti.",
+ "%(senderName)s removed their display name (%(oldDisplayName)s).": "Uživatel %(senderName)s odstranil své zobrazované jméno (%(oldDisplayName)s).",
+ "%(senderName)s withdrew %(targetName)s's invitation.": "Uživatel %(senderName)s zrušil pozvání pro uživatele %(targetName)s.",
+ "%(senderName)s made future room history visible to all room members, from the point they are invited.": "Uživatel %(senderName)s nastavil viditelnost budoucích zpráv v této místnosti pro všechny její členy, a to od chvíle jejich pozvání.",
+ "%(senderName)s made future room history visible to all room members, from the point they joined.": "Uživatel %(senderName)s nastavil viditelnost budoucích zpráv v této místnosti pro všechny její členy, a to od chvíle jejich vstupu.",
+ "%(senderName)s made future room history visible to all room members.": "Uživatel %(senderName)s nastavil viditelnost budoucích zpráv v této místnosti pro všechny její členy.",
+ "%(senderName)s made future room history visible to anyone.": "Uživatel %(senderName)s nastavil viditelnost budoucích zpráv pro kohokoliv.",
+ "%(senderName)s changed the pinned messages for the room.": "Uživatel %(senderName)s změnil připíchnuté zprávy této místnosti.",
"Authentication check failed: incorrect password?": "Kontrola ověření selhala: špatné heslo?",
"You need to be able to invite users to do that.": "Pro tuto akci musíte mít právo zvát uživatele.",
"Delete Widget": "Smazat widget",
"Error decrypting image": "Chyba při dešifrování obrázku",
"Error decrypting video": "Chyba při dešifrování videa",
- "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s odstranil/a avatar místnosti.",
- "%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s změnil/a avatar místnosti na ",
+ "%(senderDisplayName)s removed the room avatar.": "Uživatel %(senderDisplayName)s odstranil avatar místnosti.",
+ "%(senderDisplayName)s changed the room avatar to ": "Uživatel %(senderDisplayName)s změnil avatar místnosti na ",
"Copied!": "Zkopírováno!",
"Failed to copy": "Nepodařilo se zkopírovat",
"Removed or unknown message type": "Zpráva odstraněna nebo neznámého typu",
- "Message removed by %(userId)s": "Zprávu odstranil/a %(userId)s",
- "Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Smazáním widgetu jej odstraníte všem uživatelům v této místnosti. Určitě chcete tento widget smazat?",
+ "Message removed by %(userId)s": "Zprávu odstranil uživatel %(userId)s",
+ "Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Smazáním widgetu ho odstraníte všem uživatelům v této místnosti. Opravdu chcete tento widget smazat?",
"The maximum permitted number of widgets have already been added to this room.": "V této místnosti již bylo dosaženo limitu pro maximální počet widgetů.",
"Drop file here to upload": "Přetažením sem nahrajete",
"Example": "Příklad",
- "Create Community": "Vytvořit komunitu",
+ "Create Community": "Vytvořit skupinu",
"Community Name": "Název skupiny",
"Community ID": "ID skupiny",
"example": "příklad",
"Create": "Vytvořit",
"User Options": "Volby uživatele",
"Please select the destination room for this message": "Vyberte prosím pro tuto zprávu cílovou místnost",
- "No devices with registered encryption keys": "Žádná zařízení se zaregistrovanými šifrovacími klíči",
"Jump to read receipt": "Skočit na poslední potvrzení o přečtení",
"Invite": "Pozvat",
"Revoke Moderator": "Odebrat moderátorství",
"Make Moderator": "Udělit moderátorství",
"and %(count)s others...|one": "a někdo další...",
"Hangup": "Zavěsit",
- "Show Text Formatting Toolbar": "Zobrazit nástroje formátování textu",
- "Hide Text Formatting Toolbar": "Skrýt nástroje formátování textu",
"Jump to message": "Přeskočit na zprávu",
"Loading...": "Načítání...",
- "Loading device info...": "Načítá se info o zařízení...",
"You seem to be uploading files, are you sure you want to quit?": "Zřejmě právě nahráváte soubory. Chcete přesto odejít?",
"You seem to be in a call, are you sure you want to quit?": "Zřejmě máte probíhající hovor. Chcete přesto odejít?",
"Idle": "Nečinný/á",
@@ -431,22 +400,19 @@
"Mention": "Zmínit",
"Blacklisted": "Na černé listině",
"Invited": "Pozvaní",
- "Markdown is disabled": "Markdown je vypnutý",
- "Markdown is enabled": "Markdown je zapnutý",
"Joins room with given alias": "Vstoupí do místnosti s daným aliasem",
- "Leave Community": "Odejít ze skupiny",
- "Leave %(groupName)s?": "Odejít z %(groupName)s?",
- "Leave": "Odejít",
+ "Leave Community": "Opustit skupinu",
+ "Leave %(groupName)s?": "Opustit %(groupName)s?",
+ "Leave": "Opustit",
"Failed to remove user from community": "Nepodařilo se odebrat uživatele ze skupiny",
"Failed to remove room from community": "Nepodařilo se odebrat místnost ze skupiny",
"Failed to remove '%(roomName)s' from %(groupId)s": "'%(roomName)s' se nepodařilo odebrat z %(groupId)s",
- "Failed to update community": "Nepodařilo se aktualizovat komunitu",
+ "Failed to update community": "Skupinu se nepodařilo aktualizovat",
"Failed to load %(groupId)s": "Nepodařilo se načíst %(groupId)s",
"Search failed": "Vyhledávání selhalo",
"Failed to fetch avatar URL": "Nepodařilo se získat adresu avataru",
"Error decrypting audio": "Chyba při dešifrování zvuku",
- "Banned by %(displayName)s": "Vykázán/a uživatelem %(displayName)s",
- "Never send encrypted messages to unverified devices in this room from this device": "Nikdy z tohoto zařízení neposílat šifrované zprávy neověřeným zařízením v této místnosti",
+ "Banned by %(displayName)s": "Vstup byl zakázán uživatelem %(displayName)s",
"Privileged Users": "Privilegovaní uživatelé",
"No users have specific privileges in this room": "Žádní uživatelé v této místnosti nemají zvláštní privilegia",
"Publish this room to the public in %(domain)s's room directory?": "Zapsat tuto místnost do veřejného adresáře místností na %(domain)s?",
@@ -454,21 +420,21 @@
"Invalid community ID": "Neplatné ID skupiny",
"'%(groupId)s' is not a valid community ID": "'%(groupId)s' není platné ID skupiny",
"New community ID (e.g. +foo:%(localDomain)s)": "Nové ID skupiny (např. +neco:%(localDomain)s)",
- "%(senderName)s sent an image": "%(senderName)s poslal/a obrázek",
- "%(senderName)s sent a video": "%(senderName)s poslal/a video",
- "%(senderName)s uploaded a file": "%(senderName)s nahrál/a soubor",
+ "%(senderName)s sent an image": "Uživatel %(senderName)s poslal obrázek",
+ "%(senderName)s sent a video": "Uživatel %(senderName)s poslal video",
+ "%(senderName)s uploaded a file": "Uživatel %(senderName)s nahrál soubor",
"Disinvite this user?": "Odvolat pozvání tohoto uživatele?",
"Kick this user?": "Vykopnout tohoto uživatele?",
"Unban this user?": "Přijmout zpět tohoto uživatele?",
"Ban this user?": "Vykázat tohoto uživatele?",
- "Community Invites": "Komunitní pozvánky",
+ "Community Invites": "Pozvánky do skupin",
"Members only (since the point in time of selecting this option)": "Pouze členové (od chvíle vybrání této volby)",
"Members only (since they were invited)": "Pouze členové (od chvíle jejich pozvání)",
"Members only (since they joined)": "Pouze členové (od chvíle jejich vstupu)",
- "You have disabled URL previews by default.": "Vypnul/a jste automatické náhledy webových adres.",
- "You have enabled URL previews by default.": "Zapnul/a jste automatické náhledy webových adres.",
+ "You have disabled URL previews by default.": "Vypnuli jste automatické náhledy webových adres.",
+ "You have enabled URL previews by default.": "Zapnuli jste automatické náhledy webových adres.",
"URL Previews": "Náhledy webových adres",
- "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s změnil/a avatar místnosti %(roomName)s",
+ "%(senderDisplayName)s changed the avatar for %(roomName)s": "Uživatel %(senderDisplayName)s změnil avatar místnosti %(roomName)s",
"Add an Integration": "Přidat začlenění",
"Message removed": "Zpráva odstraněna",
"An email has been sent to %(emailAddress)s": "Na adresu %(emailAddress)s jsme poslali e-mail",
@@ -478,7 +444,7 @@
"Passphrase must not be empty": "Heslo nesmí být prázdné",
"Export room keys": "Exportovat klíče místnosti",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Tento proces vám umožňuje exportovat do souboru klíče ke zprávám, které jste dostali v šifrovaných místnostech. Když pak tento soubor importujete do jiného Matrix klienta, všechny tyto zprávy bude možné opět dešifrovat.",
- "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "Kdokoliv, kdo získá přístup k exportovanému souboru, bude moci dešifrovat všechny vaše přijaté zprávy, a proto je třeba dbát zvýšenou pozornost jeho zabezpečení. Z toho důvodu byste měl/a do kolonky níže zadat heslo, se kterým exportovaná data zašifrujeme. Import pak bude možný pouze se znalostí zadaného hesla.",
+ "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "Kdokoliv, kdo získá přístup k exportovanému souboru, bude moci dešifrovat všechny vaše přijaté zprávy, a proto je třeba dbát zvýšenou pozornost jeho zabezpečení. Z toho důvodu byste měli do kolonky níže zadat heslo, se kterým exportovaná data zašifrujeme. Import pak bude možný pouze se znalostí zadaného hesla.",
"Confirm passphrase": "Potvrďte heslo",
"Import room keys": "Importovat klíče místnosti",
"Call Timeout": "Časový limit hovoru",
@@ -487,15 +453,12 @@
"Missing room_id in request": "V zadání chybí room_id",
"Missing user_id in request": "V zadání chybí user_id",
"(could not connect media)": "(média se nepodařilo spojit)",
- "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s zpřístupnil budoucí historii místnosti neznámým (%(visibility)s).",
+ "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s nastavil viditelnost budoucí zpráv v místnosti neznámým (%(visibility)s).",
"Not a valid Riot keyfile": "Neplatný soubor s klíčem Riot",
"Mirror local video feed": "Zrcadlit lokání video",
- "Never send encrypted messages to unverified devices from this device": "Z tohoto zařízení nikdy neodesílat šifrované zprávy na neověřená zařízení",
"Enable inline URL previews by default": "Nastavit povolení náhledů URL adres jako výchozí",
"Enable URL previews for this room (only affects you)": "Povolit náhledy URL adres pro tuto místnost (ovlivňuje pouze vás)",
"Enable URL previews by default for participants in this room": "Povolit náhledy URL adres pro členy této místnosti jako výchozí",
- "Delete %(count)s devices|one": "Smazat zařízení",
- "Delete %(count)s devices|other": "Smazat %(count)s zařízení",
" (unsupported)": " (nepodporované)",
"Join as voice or video.": "Připojte se prostřednictvím audio nebo video.",
"Ongoing conference call%(supportedText)s.": "Probíhající konferenční hovor%(supportedText)s.",
@@ -507,25 +470,25 @@
"Idle for %(duration)s": "Nečinný po dobu %(duration)s",
"Offline for %(duration)s": "Offline po dobu %(duration)s",
"Unknown for %(duration)s": "Neznámý po dobu %(duration)s",
- "Flair": "Vztah ke komunitě",
- "Showing flair for these communities:": "Místnost má vztah k těmto komunitám:",
- "This room is not showing flair for any communities": "Tato místnost nemá vztah k žádné komunitě",
+ "Flair": "Příslušnost ke skupině",
+ "Showing flair for these communities:": "Místnost přísluší do těchto skupin:",
+ "This room is not showing flair for any communities": "Tato místnost nemá příslušnost k žádné skupině",
"URL previews are enabled by default for participants in this room.": "Ve výchozím nastavení jsou náhledy URL adres povolené pro členy této místnosti.",
"URL previews are disabled by default for participants in this room.": "Ve výchozím nastavení jsou náhledy URL adres zakázané pro členy této místnosti.",
"Invalid file%(extra)s": "Neplatný soubor%(extra)s",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Budete přesměrováni na stránku třetí strany k ověření svého účtu pro používání s %(integrationsUrl)s. Chcete pokračovat?",
"To continue, please enter your password.": "Aby jste mohli pokračovat, zadejte prosím své heslo.",
- "Please check your email to continue registration.": "Prosím zkontrolujte své emaily, abyste mohli pokračovat v registraci.",
+ "Please check your email to continue registration.": "Pro pokračování v registraci prosím zkontrolujte své e-maily.",
"Token incorrect": "Neplatný token",
"A text message has been sent to %(msisdn)s": "Na číslo %(msisdn)s byla odeslána textová zpráva",
"Please enter the code it contains:": "Prosím zadejte kód z této zprávy:",
"Sign in with": "Přihlásit se pomocí",
- "If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Pokud nezadáte vaši emailovou adresu, nebude možné obnovit vaše heslo. Opravdu chcete pokračovat?",
+ "If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Pokud nezadáte svou e-mailovou adresu, nebude možné obnovit vaše heslo. Opravdu chcete pokračovat?",
"Remove from community": "Odstranit ze skupiny",
"Disinvite this user from community?": "Zrušit pozvání tohoto uživatele?",
"Remove this user from community?": "Odstranit tohoto uživatele ze skupiny?",
"Failed to withdraw invitation": "Stažení pozvání selhalo",
- "Filter community members": "Filtrovat členy skupiny",
+ "Filter community members": "Najít člena skupiny",
"Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "Opravdu chcete odstranit místnost '%(roomName)s' z %(groupId)s?",
"Removing a room from the community will also remove it from the community page.": "Pokud odstraníte místnost ze skupiny, odstraní se i odkaz do místnosti ze stránky skupiny.",
"Something went wrong!": "Něco se nepodařilo!",
@@ -533,9 +496,9 @@
"Visibility in Room List": "Zobrazení v Seznamu Místností",
"Visible to everyone": "Zobrazení pro každého",
"Only visible to community members": "Zobrazuje se pouze pro členy skupiny",
- "Filter community rooms": "Filtrovat místnosti skupiny",
+ "Filter community rooms": "Najít místnost ve skupině",
"Something went wrong when trying to get your communities.": "Při pokusu o nahrání vašich skupin se něco pokazilo.",
- "Display your community flair in rooms configured to show it.": "Zobrazit vaše vztahy ke komunitám v místnostech.",
+ "Display your community flair in rooms configured to show it.": "Zobrazovat příslušnost ke skupině v místnostech, které to mají nastaveno.",
"You're not currently a member of any communities.": "V současnosti nejste členem žádné skupiny.",
"Unknown Address": "Neznámá adresa",
"Unblacklist": "Odblokovat",
@@ -583,10 +546,10 @@
"were kicked %(count)s times|one": "byli vyhozeni",
"was kicked %(count)s times|other": "byl %(count)s krát vyhozen",
"was kicked %(count)s times|one": "byl vyhozen",
- "%(severalUsers)schanged their name %(count)s times|other": "%(severalUsers)ssi %(count)s krát změnili jméno",
- "%(severalUsers)schanged their name %(count)s times|one": "%(severalUsers)ssi změnili jméno",
- "%(oneUser)schanged their name %(count)s times|other": "%(oneUser)ssi %(count)s krát změnili jméno",
- "%(oneUser)schanged their name %(count)s times|one": "%(oneUser)ssi změnili jméno",
+ "%(severalUsers)schanged their name %(count)s times|other": "Uživatelé %(severalUsers)s si %(count)s krát změnili jméno",
+ "%(severalUsers)schanged their name %(count)s times|one": "Uživatelé %(severalUsers)s si změnili jméno",
+ "%(oneUser)schanged their name %(count)s times|other": "Uživatel %(oneUser)s si %(count)s krát změnil jméno",
+ "%(oneUser)schanged their name %(count)s times|one": "Uživatel %(oneUser)s si změnil jméno",
"%(severalUsers)schanged their avatar %(count)s times|other": "%(severalUsers)ssi %(count)s krát změnili avatary",
"%(severalUsers)schanged their avatar %(count)s times|one": "%(severalUsers)ssi změnili avatary",
"%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)ssi %(count)s krát změnil avatar",
@@ -599,7 +562,7 @@
"Add User": "Přidat uživatele",
"Matrix ID": "Matrix ID",
"Matrix Room ID": "Identifikátor místnosti",
- "email address": "emailová adresa",
+ "email address": "e-mailová adresa",
"Try using one of the following valid address types: %(validTypesList)s.": "Zkuste použít jeden z následujících správných tvarů adres: %(validTypesList)s.",
"You have entered an invalid address.": "Zadali jste neplatnou adresu.",
"Confirm Removal": "Potvrdit odstranění",
@@ -608,39 +571,28 @@
"Something went wrong whilst creating your community": "Něco se pokazilo během vytváření vaší skupiny",
"Unknown error": "Neznámá chyba",
"Incorrect password": "Nesprávné heslo",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Pokud si chcete ověřit, zda je zařízení skutečně důvěryhodné, kontaktujte vlastníka jiným způsobem (např. osobně anebo telefonicky) a zeptejte se ho na klíč, který má pro toto zařízení zobrazený v nastavení a zda se shoduje s klíčem zobrazeným níže:",
- "Device name": "Název zařízení",
- "Device key": "Klíč zařízení",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Pokud se klíče shodují, stlačte ověřovací tlačítko uvedené níže. Pokud se neshodují, někdo další odposlouchává toto zařízení a v takovém případě by jste měli místo toho vybrat tlačítko černé listiny.",
- "Verify device": "Ověřit zařízení",
"I verify that the keys match": "Ověřil jsem, klíče se shodují",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Přidali jste nové zařízení s názvem '%(displayName)s', vyžadující šifrovací klíč.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Vaše neověřené zařízení s názvem '%(displayName)s' vyžaduje šifrovací klíč.",
"Start verification": "Zahájit ověřování",
"Share without verifying": "Sdílet bez ověření",
"Ignore request": "Ignorovat žádost",
"Encryption key request": "Žádost o šifrovací klíč",
"Unable to restore session": "Nelze obnovit relaci",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Pokud jste se v minulosti již přihlásili s novější verzi programu Riot, vaše relace nemusí být kompatibilní s touto verzí. Zavřete prosím toto okno a přihlaste se znovu pomocí nové verze.",
- "Please check your email and click on the link it contains. Once this is done, click continue.": "Prosím, zkontrolujte si email a klikněte na odkaz ve zprávě, kterou jsme vám zaslali. V případě, že jste tak již učinili, klikněte na tlačítko Pokračovat.",
- "This will allow you to reset your password and receive notifications.": "Toto vám umožní obnovit si heslo a přijímat oznámení emailem.",
+ "Please check your email and click on the link it contains. Once this is done, click continue.": "Zkontrolujte svou e-mailovou schránku a klepněte na odkaz ve zprávě, kterou jsme vám poslali. V případě, že jste to už udělali, klepněte na tlačítko Pokračovat.",
+ "This will allow you to reset your password and receive notifications.": "Toto vám umožní obnovit si heslo a přijímat oznámení e-mailem.",
"Skip": "Přeskočit",
"Username not available": "Uživatelské jméno už není dostupné",
"An error occurred: %(error_string)s": "Vyskytla se chyba: %(error_string)s",
"Username available": "Dostupné uživatelské jméno",
"To get started, please pick a username!": "Začněte tím, že si zvolíte uživatelské jméno!",
- "This will be your account name on the homeserver, or you can pick a different server.": "Toto bude název vašeho účtu na domácím serveru , anebo si můžete zvolit jiný server.",
- "If you already have a Matrix account you can log in instead.": "Pokud již účet Matrix máte, můžete se ihned Přihlásit.",
+ "This will be your account name on the homeserver, or you can pick a different server.": "Toto bude název vašeho účtu na domovském serveru , anebo si můžete zvolit jiný server.",
+ "If you already have a Matrix account you can log in instead.": "Pokud už účet v síti Matrix máte, můžete se ihned Přihlásit.",
"%(oneUser)sjoined %(count)s times|other": "%(oneUser)s %(count)s krát vstoupil",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Neověřená zařízení jsou v této chvíli na černé listině; pokud chcete zasílat zprávy na tato zařízení, musíte je nejdříve ověřit.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Doporučujeme vám projít procesem ověřování pro všechna zařízení, abyste si potvrdili, že patří jejich pravým vlastníkům, ale pokud si to přejete, můžete zprávu znovu odeslat bez ověřování.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "V místnosti „%(RoomName)s“ jsou zařízení s kterými jste dosud nikdy nekomunikovali.",
- "Unknown devices": "Neznámá zařízení",
- "Private Chat": "Soukromý chat",
- "Public Chat": "Veřejný chat",
- "You must register to use this functionality": "Musíte být zaregistrovaný pokud chcete využívat této funkce",
- "You must join the room to see its files": "Musíte vstoupit do místnosti pokud chcete soubory zobrazit",
- "
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
HTML kód vaší skupiny
\n
\n Pomocí dlouhého popisu představte skupinu novým členům anebo uvěďte \n nějaké důležité odkazy\n
\n
\n Můžete používat i HTML 'img' značky\n
\n",
+ "Private Chat": "Soukromá konverzace",
+ "Public Chat": "Veřejná konverzace",
+ "You must register to use this functionality": "Pro využívání této funkce se zaregistrujte",
+ "You must join the room to see its files": "Pro zobrazení souborů musíte do místnosti vstoupit",
+ "
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
HTML kód stránky vaší skupiny
\n
\n Pomocí dlouhého popisu nejprve představte skupinu novým členům nebo uvěďte \n nějaké důležité odkazy\n
\n
\n Pro vložení obrázků můžete používat i HTML značky 'img'\n
\n",
"Add rooms to the community summary": "Přidat místnosti do přehledu skupiny",
"Which rooms would you like to add to this summary?": "Které místnosti se přejete přidat do tohoto přehledu?",
"Add to summary": "Přidat do přehledu",
@@ -657,13 +609,13 @@
"Unable to accept invite": "Nelze přijmout pozvání",
"Unable to reject invite": "Nelze odmítnout pozvání",
"Community Settings": "Nastavení skupiny",
- "These rooms are displayed to community members on the community page. Community members can join the rooms by clicking on them.": "Tyto místnosti se zobrazují všem členům na stránce skupiny. Členové skupiny mohou vstoupit do místnosti kliknutím.",
+ "These rooms are displayed to community members on the community page. Community members can join the rooms by clicking on them.": "Tyto místnosti se zobrazují všem členům na stránce skupiny. Členové skupiny mohou vstoupit do místnosti klepnutím.",
"Featured Rooms:": "Hlavní místnosti:",
"Featured Users:": "Významní uživatelé:",
- "%(inviter)s has invited you to join this community": "%(inviter)s vás pozval ke vstupu do této místnosti",
+ "%(inviter)s has invited you to join this community": "Uživatel %(inviter)s vás pozval do této skupiny",
"You are an administrator of this community": "Jste správcem této skupiny",
"You are a member of this community": "Jste členem této skupiny",
- "Your community hasn't got a Long Description, a HTML page to show to community members. Click here to open settings and give it one!": "Vaše skupina nemá vyplněný dlouhý popis, který je součástí HTML stránky skupiny a která se zobrazuje jejím členům. Kliknutím zde otevřete nastavení, kde ho můžete doplnit!",
+ "Your community hasn't got a Long Description, a HTML page to show to community members. Click here to open settings and give it one!": "Vaše skupina nemá vyplněný dlouhý popis, který je součástí HTML stránky skupiny a která se zobrazuje jejím členům. Klepnutím zde otevřete nastavení, kde ho můžete doplnit!",
"Long Description (HTML)": "Dlouhý popis (HTML)",
"Description": "Popis",
"Community %(groupId)s not found": "Skupina %(groupId)s nenalezena",
@@ -672,18 +624,16 @@
"Your Communities": "Vaše skupiny",
"Error whilst fetching joined communities": "Při získávání vašich skupin se vyskytla chyba",
"Create a new community": "Vytvořit novou skupinu",
- "Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Vytvořte skupinu s cílem seskupit uživatele a místnosti! Vytvořte si vlastní domovskou stránku a vymezte tak váš prostor ve světe Matrix.",
+ "Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Vytvořte skupinu s cílem seskupit uživatele a místnosti! Vytvořte si vlastní domovskou stránku a vymezte tak svůj prostor ve světe Matrix.",
"You have no visible notifications": "Nejsou dostupná žádná oznámení",
"Connectivity to the server has been lost.": "Spojení se serverem bylo přerušeno.",
"Sent messages will be stored until your connection has returned.": "Odeslané zprávy zůstanou uložené, dokud se spojení znovu neobnoví.",
"Active call": "Aktivní hovor",
"There's no one else here! Would you like to invite others or stop warning about the empty room?": "Kromě vás není v této místnosti nikdo jiný! Přejete si Pozvat další anebo Přestat upozorňovat na prázdnou místnost?",
- "Message not sent due to unknown devices being present": "Zpráva nebyla odeslána vzhledem k nalezeným neznámým zařízením",
"Room": "Místnost",
- "Failed to load timeline position": "Nepodařilo se načíst pozici na časové ose",
- "Light theme": "Světlý motiv",
- "Dark theme": "Tmavý motiv",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Vaše heslo bylo úspěšně změněno. Na ostatních zařízeních se vám již nebudou zobrazovat okamžitá oznámení do té chvíle než se na nich znovu přihlásíte",
+ "Failed to load timeline position": "Bod v časové ose se nepodařilo načíst",
+ "Light theme": "Světlý vzhled",
+ "Dark theme": "Tmavý vzhled",
"Analytics": "Analytické údaje",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot sbírá anonymní analytické údaje, které nám umožňují aplikaci dále zlepšovat.",
"Labs": "Experimentální funkce",
@@ -692,16 +642,15 @@
"No media permissions": "Žádná oprávnění k médiím",
"You may need to manually permit Riot to access your microphone/webcam": "Je možné, že budete potřebovat manuálně povolit Riot přístup k mikrofonu/webkameře",
"Profile": "Profil",
- "The email address linked to your account must be entered.": "Musíte zadat emailovou adresu spojenou s vaším účtem.",
- "An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "Na adresu %(emailAddress)s byla odeslána zpráva. Potom, co přejdete na odkaz z této zprávy, klikněte níže.",
- "Please note you are logging into the %(hs)s server, not matrix.org.": "Upozornění: právě se přihlašujete na server %(hs)s, a nikoliv na server matrix.org.",
+ "The email address linked to your account must be entered.": "Musíte zadat e-mailovou adresu spojenou s vaším účtem.",
+ "An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "Na adresu %(emailAddress)s byla odeslána zpráva. Potom, co přejdete na odkaz z této zprávy, klepněte níže.",
+ "Please note you are logging into the %(hs)s server, not matrix.org.": "Právě se přihlašujete na server %(hs)s, a nikoliv na server matrix.org.",
"This homeserver doesn't offer any login flows which are supported by this client.": "Tento domovský server nenabízí žádné přihlašovací toky podporované touto službou/klientem.",
"Set a display name:": "Nastavit zobrazované jméno:",
"Upload an avatar:": "Nahrát avatar:",
"This server does not support authentication with a phone number.": "Tento server nepodporuje ověření telefonním číslem.",
"Deops user with given id": "Zruší stav moderátor uživateli se zadaným ID",
"Searches DuckDuckGo for results": "Vyhledá výsledky na DuckDuckGo",
- "Verifies a user, device, and pubkey tuple": "Ověří zadané údaje uživatele, zařízení a veřejný klíč",
"Ignores a user, hiding their messages from you": "Ignoruje uživatele a skryje všechny jeho zprávy",
"Stops ignoring a user, showing their messages going forward": "Přestane ignorovat uživatele a začne zobrazovat jeho zprávy",
"Notify the whole room": "Oznámení pro celou místnost",
@@ -711,7 +660,6 @@
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Tento proces vás provede importem šifrovacích klíčů, které jste si stáhli z jiného Matrix klienta. Po úspěšném naimportování budete v tomto klientovi moci dešifrovat všechny zprávy, které jste mohli dešifrovat v původním klientovi.",
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Stažený soubor je chráněn heslem. Soubor můžete naimportovat pouze pokud zadáte odpovídající heslo.",
"Call Failed": "Hovor selhal",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "V této místnosti jsou neznámá zařízení: Pokud budete pokračovat bez jejich ověření, někdo může Váš hovor odposlouchávat.",
"Review Devices": "Ověřit zařízení",
"Call Anyway": "Přesto zavolat",
"Answer Anyway": "Přesto přijmout",
@@ -721,21 +669,21 @@
"collapse": "sbalit",
"expand": "rozbalit",
"Old cryptography data detected": "Nalezeny starší šifrované datové zprávy",
- "Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Nalezeny datové zprávy ze starší verze Riot. Důsledkem bude, že E2E šifrování nebude ve starší verzi Riot správně fungovat. Šifrované zprávy ze starší verze nemusí být čitelné v nové verzi. Může dojít i k selhání zasílaní zpráv s touto verzí Riot. Pokud zaznamenáte některý z uvedených problému, odhlaste se a přihlaste znovu. Pro zachování historie zpráv exportujte a znovu importujte vaše klíče.",
- "Warning": "Upozornění",
+ "Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Byly nalezeny datové zprávy ze starší verze Riot. Důsledkem bude, že end-to-end šifrování nebude ve starší verzi Riot správně fungovat. Šifrované zprávy ze starší verze nemusí být čitelné v nové verzi. Může dojít i k selhání zasílaní zpráv s touto verzí Riotu. Pokud zaznamenáte některý z uvedených problému, odhlaste se a znovu přihlaste. Pro zachování historie zpráv exportujte a znovu importujte své klíče.",
+ "Warning": "Varování",
"Fetching third party location failed": "Nepodařilo se zjistit umístění třetí strany",
"A new version of Riot is available.": "Je dostupná nová verze Riotu.",
"I understand the risks and wish to continue": "Rozumím rizikům a přeji si pokračovat",
"Send Account Data": "Poslat data o účtu",
- "Advanced notification settings": "Pokročilé nastavení upozornění",
- "Uploading report": "Nahrávám hlášení",
+ "Advanced notification settings": "Rozšířená nastavení oznámení",
+ "Uploading report": "Nahrávání hlášení",
"Sunday": "Neděle",
"Messages sent by bot": "Zprávy poslané robotem",
- "Notification targets": "Cíle upozornění",
- "Failed to set direct chat tag": "Nepodařilo se nastavit štítek přímého chatu",
+ "Notification targets": "Cíle oznámení",
+ "Failed to set direct chat tag": "Nepodařilo se nastavit štítek přímé konverzace",
"Today": "Dnes",
"Files": "Soubory",
- "You are not receiving desktop notifications": "Nedostáváte upozornění na desktopu",
+ "You are not receiving desktop notifications": "Nedostáváte oznámení na plochu",
"Friday": "Pátek",
"Update": "Aktualizace",
"What's New": "Co je nového",
@@ -743,7 +691,7 @@
"Changelog": "Seznam změn",
"Waiting for response from server": "Čekám na odezvu ze serveru",
"Send Custom Event": "Odeslat vlastní událost",
- "All notifications are currently disabled for all targets.": "Veškeré notifikace jsou aktuálně pro všechny cíle vypnuty.",
+ "All notifications are currently disabled for all targets.": "Veškerá oznámení jsou aktuálně pro všechny cíle vypnuty.",
"delete the alias.": "smazat alias.",
"To return to your account in future you need to set a password": "Abyste se mohli ke svému účtu v budoucnu vrátit, musíte si nastavit heslo",
"Forget": "Zapomenout",
@@ -755,14 +703,14 @@
"Messages containing my display name": "Zprávy obsahující mé zobrazované jméno",
"Remember, you can always set an email address in user settings if you change your mind.": "Vězte, že kdybyste si to rozmysleli, e-mailovou adresu můžete kdykoliv doplnit v uživatelském nastavení.",
"Unavailable": "Nedostupné",
- "Error saving email notification preferences": "Chyba při ukládání nastavení e-mailových upozornění",
+ "Error saving email notification preferences": "Chyba při ukládání nastavení e-mailových oznámení",
"View Decrypted Source": "Zobrazit dešifrovaný zdroj",
"Failed to update keywords": "Nepodařilo se aktualizovat klíčová slova",
"remove %(name)s from the directory.": "odebrat %(name)s z adresáře.",
- "Notifications on the following keywords follow rules which can’t be displayed here:": "Upozornění na následující klíčová slova se řídí pravidly, která zde nelze zobrazit:",
+ "Notifications on the following keywords follow rules which can’t be displayed here:": "Oznámení na následující klíčová slova se řídí pravidly, která zde nelze zobrazit:",
"Please set a password!": "Prosím nastavte si heslo!",
"You have successfully set a password!": "Úspěšně jste si nastavili heslo!",
- "Explore Room State": "Prohlížet stav místnosti",
+ "Explore Room State": "Zjistit stav místnosti",
"Source URL": "Zdrojová URL",
"Failed to add tag %(tagName)s to room": "Nepodařilo se přidat štítek %(tagName)s k místnosti",
"Filter results": "Filtrovat výsledky",
@@ -771,15 +719,14 @@
"Resend": "Poslat znovu",
"Collecting app version information": "Sbírání informací o verzi aplikace",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Smazat alias místnosti %(alias)s a odstranit %(name)s z adresáře?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Toto vám umožní vrátit se po odhlášení ke svému účtu a používat jej na ostatních zařízeních.",
"Keywords": "Klíčová slova",
- "Enable notifications for this account": "Zapnout upozornění na tomto účtu",
- "Invite to this community": "Pozvat do této komunity",
+ "Enable notifications for this account": "Zapnout oznámení na tomto účtu",
+ "Invite to this community": "Pozvat do této skupiny",
"Messages containing keywords": "Zprávy obsahující klíčová slova",
"View Source": "Zobrazit zdroj",
"Tuesday": "Úterý",
"Enter keywords separated by a comma:": "Vložte klíčová slova oddělená čárkou:",
- "Forward Message": "Přeposlat zprávu",
+ "Forward Message": "Přeposlat",
"You have successfully set a password and an email address!": "Úspěšně jste si nastavili heslo a e-mailovou adresu!",
"Remove %(name)s from the directory?": "Odebrat %(name)s z adresáře?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot používá mnoho pokročilých funkcí, z nichž některé jsou ve vašem současném prohlížeči nedostupné nebo experimentální.",
@@ -787,16 +734,16 @@
"Explore Account Data": "Prozkoumat data o účtu",
"Remove from Directory": "Odebrat z adresáře",
"Saturday": "Sobota",
- "Messages in one-to-one chats": "Zprávy v individuálních chatech",
- "Direct Chat": "Přímý chat",
+ "Messages in one-to-one chats": "Přímé zprávy",
+ "Direct Chat": "Přímá konverzace",
"The server may be unavailable or overloaded": "Server může být nedostupný nebo přetížený",
"Reject": "Odmítnout",
"Failed to set Direct Message status of room": "Nepodařilo se přiřadit místnosti status Přímé zprávy",
"Monday": "Pondělí",
- "All messages (noisy)": "Všechny zprávy (hlasitě)",
+ "All messages (noisy)": "Všechny zprávy (hlučné)",
"Enable them now": "Povolit nyní",
"Toolbox": "Sada nástrojů",
- "Collecting logs": "Sbírání logů",
+ "Collecting logs": "Sběr záznamů",
"You must specify an event type!": "Musíte určit typ události!",
"(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)",
"Invite to this room": "Pozvat do této místnosti",
@@ -808,8 +755,8 @@
"Failed to send custom event.": "Nepodařilo se odeslat vlastní událost.",
"What's new?": "Co je nového?",
"Notify me for anything else": "Upozorni mě na cokoliv jiného",
- "When I'm invited to a room": "Pokud jsem pozván do místnosti",
- "Can't update user notification settings": "Nelze aktualizovat uživatelské nastavení upozornění",
+ "When I'm invited to a room": "Pozvánka do místnosti",
+ "Can't update user notification settings": "Nelze aktualizovat uživatelské nastavení oznámení",
"Notify for all other messages/rooms": "Upozorni na všechny ostatní zprávy/místnosti",
"Unable to look up room ID from server": "Nelze získat ID místnosti ze serveru",
"Couldn't find a matching Matrix room": "Odpovídající Matrix místost nenalezena",
@@ -820,49 +767,49 @@
"Back": "Zpět",
"Failed to change settings": "Nepodařilo se změnit nastavení",
"Reply": "Odpovědět",
- "Show message in desktop notification": "Zobrazovat zprávu v upozornění na ploše",
+ "Show message in desktop notification": "Zobrazovat zprávu v oznámení na ploše",
"Unhide Preview": "Zobrazit náhled",
"Unable to join network": "Nelze se připojit k síti",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Snad jste je nastavili v jiném klientu než Riot. V Riotu je nemůžete upravit, ale přesto platí",
- "Sorry, your browser is not able to run Riot.": "Omlouváme se, váš prohlížeč není schopný spustit Riot.",
+ "Sorry, your browser is not able to run Riot.": "Omlouváme se, váš prohlížeč není schopný Riot spustit.",
"Uploaded on %(date)s by %(user)s": "Nahráno %(date)s uživatelem %(user)s",
- "Messages in group chats": "Zprávy ve skupinových chatech",
+ "Messages in group chats": "Zprávy ve skupinách",
"Yesterday": "Včera",
"Error encountered (%(errorDetail)s).": "Nastala chyba (%(errorDetail)s).",
"Low Priority": "Nízká priorita",
"Riot does not know how to join a room on this network": "Riot neví, jak vstoupit do místosti na této síti",
"Set Password": "Nastavit heslo",
- "An error occurred whilst saving your email notification preferences.": "Při ukládání nastavení e-mailových upozornění nastala chyba.",
+ "An error occurred whilst saving your email notification preferences.": "Při ukládání nastavení e-mailových oznámení nastala chyba.",
"Off": "Vypnout",
"Mentions only": "Pouze zmínky",
"Failed to remove tag %(tagName)s from room": "Nepodařilo se odstranit štítek %(tagName)s z místnosti",
"Wednesday": "Středa",
- "You can now return to your account after signing out, and sign in on other devices.": "Nyní se můžete ke svému účtu vrátit i po odhlášení a používat jej na ostatních zařízeních.",
- "Enable email notifications": "Zapnout upozornění přes e-mail",
+ "You can now return to your account after signing out, and sign in on other devices.": "Nyní se můžete ke svému účtu vrátit i po odhlášení a používat ho na ostatních zařízeních.",
+ "Enable email notifications": "Zapnout oznámení přes e-mail",
"Event Type": "Typ události",
"Download this file": "Stáhnout tento soubor",
"Pin Message": "Připíchnout zprávu",
"Thank you!": "Děkujeme vám!",
- "View Community": "Zobrazit Komunitu",
+ "View Community": "Zobrazit skupinu",
"Event sent!": "Událost odeslána!",
"Event Content": "Obsah události",
- "Unable to fetch notification target list": "Nepodařilo se získat seznam cílů upozornění",
+ "Unable to fetch notification target list": "Nepodařilo se získat seznam cílů oznámení",
"Quote": "Citovat",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Vzhled a chování aplikace může být ve vašem aktuální prohlížeči nesprávné a některé nebo všechny funkce mohou být chybné. Chcete-li i přes to pokračovat, nebudeme vám bránit, ale se všemi problémy, na které narazíte, si musíte poradit sami!",
"Checking for an update...": "Kontrola aktualizací...",
- "There are advanced notifications which are not shown here": "Jsou k dispozici pokročilá upozornění, která zde nejsou zobrazena",
- "The platform you're on": "Platforma na které jste",
+ "There are advanced notifications which are not shown here": "Jsou k dispozici pokročilá oznámení, která zde nejsou zobrazena",
+ "The platform you're on": "Vámi používaná platforma",
"The version of Riot.im": "Verze Riot.im",
- "Your language of choice": "Vaše jazyková volba",
+ "Your language of choice": "Váš jazyk",
"Which officially provided instance you are using, if any": "Kterou oficiální instanci Riot.im používáte (a jestli vůbec)",
- "Whether or not you're using the Richtext mode of the Rich Text Editor": "Jestli při psaní zpráv používáte rozbalenou lištu formátování textu",
- "Your homeserver's URL": "URL vámi používaného domovského serveru",
+ "Whether or not you're using the Richtext mode of the Rich Text Editor": "Zda při psaní zpráv používáte rozbalenou lištu formátování textu",
+ "Your homeserver's URL": "URL vašeho domovského serveru",
"Your identity server's URL": "URL Vámi používaného serveru identity",
"e.g. %(exampleValue)s": "např. %(exampleValue)s",
"Every page you use in the app": "Každou stránku v aplikaci, kterou navštívíte",
"e.g. ": "např. ",
"Your User Agent": "Řetězec User Agent Vašeho zařízení",
- "Your device resolution": "Rozlišení obrazovky Vašeho zařízení",
+ "Your device resolution": "Rozlišení obrazovky vašeho zařízení",
"The information being sent to us to help make Riot.im better includes:": "S cílem vylepšovat aplikaci Riot.im shromažďujeme následující údaje:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "V případě, že se na stránce vyskytují identifikační údaje, jako například název místnosti, ID uživatele, místnosti a nebo skupiny, jsou tyto údaje před odesláním na server odstraněny.",
"Call in Progress": "Probíhající hovor",
@@ -874,54 +821,42 @@
"Missing roomId.": "Chybějící ID místnosti.",
"Opens the Developer Tools dialog": "Otevře dialog nástrojů pro vývojáře",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s si změnil zobrazované jméno na %(displayName)s.",
- "Always show encryption icons": "Vždy zobrazovat ikony stavu šifrovaní",
+ "Always show encryption icons": "Vždy zobrazovat ikonu stavu šifrovaní",
"Send analytics data": "Odesílat analytická data",
"Enable widget screenshots on supported widgets": "Povolit screenshot widgetu pro podporované widgety",
"This event could not be displayed": "Tato událost nemohla být zobrazena",
- "Your key share request has been sent - please check your other devices for key share requests.": "Žádost o sdílení klíče byla odeslána - prosím zkontrolujte si Vaše ostatí zařízení.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Žádost o sdílení klíčů je automaticky odesílaná na Vaše ostatní zařízení. Jestli jste žádost odmítly nebo zrušili dialogové okno se žádostí na ostatních zařízeních, kliknutím sem ji můžete opakovaně pro tuto relaci vyžádat.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Pokud Vaše ostatní zařízení nemají klíč pro tyto zprávy, nebudete je moci dešifrovat.",
"Key request sent.": "Žádost o klíč poslána.",
- "Re-request encryption keys from your other devices.": "Znovu vyžádat šifrovací klíče z vašich ostatních zařízení.",
"Demote yourself?": "Snížit Vaši vlastní hodnost?",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Tuto změnu nebudete moci vzít zpět, protože snižujete svoji vlastní hodnost, jste-li poslední privilegovaný uživatel v místnosti, bude nemožné vaši současnou hodnost získat zpět.",
"Demote": "Degradovat",
"Share Link to User": "Sdílet odkaz na uživatele",
- "deleted": "smazáno",
- "underlined": "podtrženo",
- "inline-code": "vnořený kód",
- "block-quote": "citace",
- "bulleted-list": "odrážkový seznam",
- "numbered-list": "číselný seznam",
"Send an encrypted reply…": "Odeslat šifrovanou odpověď …",
"Send a reply (unencrypted)…": "Odeslat odpověď (nešifrovaně) …",
"Send an encrypted message…": "Odeslat šifrovanou zprávu …",
"Send a message (unencrypted)…": "Odeslat zprávu (nešifrovaně) …",
- "Unable to reply": "Není možné odpovědět",
- "At this time it is not possible to reply with an emote.": "V odpovědi zatím nejde vyjádřit pocit.",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) viděl %(dateTime)s",
"Replying": "Odpovídá",
"Share room": "Sdílet místnost",
"System Alerts": "Systémová varování",
"Muted Users": "Umlčení uživatelé",
- "Only room administrators will see this warning": "Jen administrátoři místnosti uvidí toto varování",
+ "Only room administrators will see this warning": "Toto varování uvidí jen správci místnosti",
"You don't currently have any stickerpacks enabled": "Momentálně nemáte aktívní žádné balíčky s nálepkami",
"Stickerpack": "Balíček s nálepkami",
"Hide Stickers": "Skrýt nálepky",
"Show Stickers": "Zobrazit nálepky",
- "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "V šifrovaných místnostech, jako je tato, jsou URL náhledy ve výchozím nastavení zakázané, aby bylo možné zajistit, že váš domácí server nemůže shromažďovat informace o odkazech, které v této místnosti vidíte.",
+ "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "V šifrovaných místnostech, jako je tato, jsou URL náhledy ve výchozím nastavení vypnuté, aby bylo možné zajistit, že váš domovský server neshromažďuje informace o odkazech, které v této místnosti vidíte.",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Když někdo ve zprávě pošle URL adresu, může být zobrazen její náhled obsahující informace jako titulek, popis a obrázek z cílové stránky.",
"Code": "Kód",
"The email field must not be blank.": "E-mail nemůže být prázdný.",
"The phone number field must not be blank.": "Telefonní číslo nemůže být prázdné.",
"The password field must not be blank.": "Heslo nemůže být prázdné.",
- "Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Prosím pomozte nám vylepšovat Riot.im odesíláním anonymních údajů o používaní. Na tento účel použijeme cookie (přečtěte si jak cookies používáme).",
+ "Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Prosím pomozte nám vylepšovat Riot.im odesíláním anonymních údajů o používaní. Použijeme k tomu cookies (přečtěte si jak cookies používáme).",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie.": "Prosím pomozte nám vylepšovat Riot.im odesíláním anonymních údajů o používaní. Na tento účel použijeme cookie.",
"Yes, I want to help!": "Ano, chci pomoci!",
- "Please contact your service administrator to continue using the service.": "Please contact your service administrator to continue using the service.\nProsím kontaktujte Vašeho administratora aby jste mohli pokračovat v používání Vašeho zařízení.",
+ "Please contact your service administrator to continue using the service.": "Pro další používání vašeho zařízení prosím kontaktujte prosím správce vaší služby.",
"This homeserver has hit its Monthly Active User limit.": "Tento domovský server dosáhl svého měsíčního limitu pro aktivní uživatele.",
"This homeserver has exceeded one of its resource limits.": "Tento domovský server překročil některý z limitů.",
- "Please contact your service administrator to get this limit increased.": "Prosím kontaktujte Vašeho administrátora pro zvýšení tohoto limitu.",
+ "Please contact your service administrator to get this limit increased.": "Pro zvýšení tohoto limitu prosím kontaktujte správce své služby.",
"This homeserver has hit its Monthly Active User limit so some users will not be able to log in.": "Tento domovský server dosáhl svého měsíčního limitu pro aktivní uživatele, proto se někteří uživatelé nebudou moci přihlásit.",
"This homeserver has exceeded one of its resource limits so some users will not be able to log in.": "Tento domovský server překročil některý z limitů, proto se někteří uživatelé nebudou moci přihlásit.",
"Failed to remove widget": "Nepovedlo se odstranit widget",
@@ -934,15 +869,15 @@
"Logs sent": "Záznamy odeslány",
"Failed to send logs: ": "Nepodařilo se odeslat záznamy: ",
"Submit debug logs": "Odeslat ladící záznamy",
- "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Ladící záznamy obsahují data o používání aplikace včetně Vašeho uživatelského jména, ID nebo aliasy navštívených místností a skupin a uživatelská jména jiných uživatelů. Neobsahují zprávy.",
- "Community IDs cannot be empty.": "ID komunity nemůže být prázdné.",
+ "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Ladící záznamy obsahují data o používání aplikace včetně vašeho uživatelského jména, ID nebo aliasy navštívených místností a skupin a uživatelská jména jiných uživatelů. Neobsahují zprávy.",
+ "Community IDs cannot be empty.": "ID skupiny nemůže být prázdné.",
"This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Toto učiní účet permanentně nepoužitelný. Nebudete se moci přihlásit a nikdo se nebude moci se stejným uživatelskym ID znovu zaregistrovat. Účet bude odstraněn ze všech místnosti a bude vymazán ze serveru identity.Tato akce je nevratná.",
"Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "Deaktivace účtu automaticky nesmaže zprávy, které jste poslali. Chcete-li je smazat, zaškrtněte prosím odpovídající pole níže.",
- "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Viditelnost zpráv v Matrixu je podobná e-mailu. Výmaz Vašich zpráv znamené, že už nebudou sdíleny s žádným novým nebo neregistrovaným uživatelem, ale registrovaní uživatelé, kteří už přístup ke zprávám mají, budou stále mít přístup k jejich kopii.",
+ "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Viditelnost zpráv v Matrixu je podobná e-mailu. Smazání vašich zpráv znamená, že už nebudou sdíleny s žádným novým nebo neregistrovaným uživatelem, ale registrovaní uživatelé, kteří už přístup ke zprávám mají, budou stále mít přístup k jejich kopii.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "S deaktivací účtu si přeji smazat všechny mnou odeslané zprávy (Pozor: způsobí, že noví uživatelé uvidí nekompletní konverzace)",
- "To continue, please enter your password:": "Pro pokračování, zadejte Vaše heslo:",
+ "To continue, please enter your password:": "Pro pokračování, zadejte své heslo:",
"Upgrade Room Version": "Upgradeovat verzi místnosti",
- "Create a new room with the same name, description and avatar": "Vytvoříme místnost se stejným jménem, popisem a avatarem",
+ "Create a new room with the same name, description and avatar": "Vznikne místnost se stejným názvem, popisem a avatarem",
"Update any local room aliases to point to the new room": "Aktualizujeme všechny lokální aliasy místnosti tak, aby ukazovaly na novou místnost",
"Stop users from speaking in the old version of the room, and post a message advising users to move to the new room": "Přerušíme konverzace ve staré verzi místnosti a pošleme uživatelům zprávu o přechodu do nové mistnosti",
"Put a link back to the old room at the start of the new room so people can see old messages": "Na začátek nové místnosti umístíme odkaz na starou místnost tak, aby uživatelé mohli vidět staré zprávy",
@@ -950,114 +885,111 @@
"Send Logs": "Odeslat záznamy",
"Refresh": "Obnovit",
"We encountered an error trying to restore your previous session.": "V průběhu obnovování Vaší minulé relace nastala chyba.",
- "Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Vymazání uložiště prohlížeče možna opraví Váš problem, zároveň se tím ale odhlásíte a historie Vašich šifrovaných konverzací se pro Vás může stát nečitelnou.",
+ "Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Vymazání úložiště prohlížeče možná váš problém opraví, zároveň se tím ale odhlásíte a můžete přijít o historii svých šifrovaných konverzací.",
"Share Room": "Sdílet místnost",
"Link to most recent message": "Odkaz na nejnovější zprávu",
"Share User": "Sdílet uživatele",
- "Share Community": "Sdílet komunitu",
+ "Share Community": "Sdílet skupinu",
"Share Room Message": "Sdílet zprávu z místnosti",
"Link to selected message": "Odkaz na vybranou zprávu",
"COPY": "Kopírovat",
- "Share Message": "Sdílet zprávu",
+ "Share Message": "Sdílet",
"Collapse Reply Thread": "Sbalit vlákno odpovědi",
- "Unable to join community": "Není možné vstoupit do komunity",
- "Unable to leave community": "Není možné opustit komunitu",
- "Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "Změny ve Vaší komunitě název a avatar možná nebudou viditelné pro ostatní uživatele po dobu až 30 minut.",
- "Join this community": "Vstoupit do komunity",
- "Leave this community": "Opustit komunitu",
- "Who can join this community?": "Kdo může vstoupit do této komunity?",
+ "Unable to join community": "Není možné vstoupit do skupiny",
+ "Unable to leave community": "Není možné opustit skupinu",
+ "Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "Změny názvu a avataru vaší skupiny možná nebudou viditelné pro ostatní uživatele po dobu až 30 minut.",
+ "Join this community": "Vstoupit do skupiny",
+ "Leave this community": "Opustit skupinu",
+ "Who can join this community?": "Kdo může vstoupit do této skupiny?",
"Everyone": "Všichni",
"This room is not public. You will not be able to rejoin without an invite.": "Tato místnost není veřejná. Bez pozvánky nebudete moci znovu vstoupit.",
- "Can't leave Server Notices room": "Z místnosti \"Server Notices\" nejde odejit",
- "This room is used for important messages from the Homeserver, so you cannot leave it.": "Tato místnost je určena pro důležité zprávy od domovský serveru, a proto z ní nemůžete odejít.",
+ "Can't leave Server Notices room": "Místnost \"Server Notices\" nelze opustit",
+ "This room is used for important messages from the Homeserver, so you cannot leave it.": "Tato místnost je určena pro důležité zprávy od domovského serveru, a proto ji nelze opustit.",
"Terms and Conditions": "Smluvní podmínky",
"To continue using the %(homeserverDomain)s homeserver you must review and agree to our terms and conditions.": "Chcete-li nadále používat domovský server %(homeserverDomain)s, měli byste si přečíst a odsouhlasit naše smluvní podmínky.",
"Review terms and conditions": "Přečíst smluvní podmínky",
- "Did you know: you can use communities to filter your Riot.im experience!": "Věděli jste, že: práci s Riot.im si můžete zpříjemnit s použitím komunit!",
- "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Pro nastavení filtru přetáhněte avatar komunity na panel filtrování na levé straně obrazovky. Potom můžete kdykoliv kliknout na avatar komunity na tomto panelu a Riot Vám bude zobrazovat jen místnosti a lidi z dané komunity.",
- "Show devices, send anyway or cancel.": "Zobrazit zařízení, i tak odeslat a nebo zrušit.",
+ "Did you know: you can use communities to filter your Riot.im experience!": "Věděli jste, že práci s Riot.im si můžete zpříjemnit používáním skupin!",
+ "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Pro nastavení filtru přetáhněte avatar skupiny na panel filtrování na levé straně obrazovky. Potom můžete kdykoliv klepnout na avatar skupiny v tomto panelu a Riot vám bude zobrazovat jen místnosti a lidi z dané skupiny.",
"You can't send any messages until you review and agree to our terms and conditions.": "Dokud si nepřečtete a neodsouhlasíte naše smluvní podmínky, nebudete moci posílat žádné zprávy.",
- "Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Vaše zpráva nebyla odeslána, protože tento domácí server dosáhl svého měsíčního limitu pro aktivní uživatele. Prosím kontaktujte Vašeho administratora pro další využívání služby.",
- "Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Vaše zpráva nebyla odeslána, protože tento domácí server dosáhl limitu. Prosím kontaktujte Vašeho administratora pro další využívání služby.",
+ "Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Vaše zpráva nebyla odeslána, protože tento domovský server dosáhl svého měsíčního limitu pro aktivní uživatele. Pro další využívání služby prosím kontaktujte jejího správce.",
+ "Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Vaše zpráva nebyla odeslána, protože tento domovský server dosáhl limitu svých zdrojů. Pro další využívání služby prosím kontaktujte jejího správce.",
"%(count)s of your messages have not been sent.|one": "Vaše zpráva nebyla odeslána.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Znovu poslat všechny nebo zrušit všechny. Můžete též vybrat jednotlivé zprávy pro znovu odeslání nebo zrušení.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Znovu poslat zprávu nebo zrušit zprávu.",
"Clear filter": "Zrušit filtr",
- "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Jestli jste odeslali hlášení o chybě na GitHub, ladící záznamy nám pomohou problém najít. Ladicí záznamy obsahuji data o používání aplikate, která obsahují uživatelské jmeno, ID nebo aliasy navštívených místnosti a uživatelská jména dalších uživatelů. Neobsahují zprávy.",
- "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Soukromí je pro nás důležité a proto neshromažďujeme osobní údaje ani údaje na základě, kterých by Vás bylo možne identifikovat.",
+ "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Jestli jste odeslali hlášení o chybě na GitHub, ladící záznamy nám pomohou problém najít. Ladicí záznamy obsahuji data o používání aplikace, která obsahují uživatelské jméno, ID nebo aliasy navštívených místnosti a uživatelská jména dalších uživatelů. Neobsahují zprávy.",
+ "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Soukromí je pro nás důležité a proto neshromažďujeme osobní údaje ani údaje na základě, kterých by vás bylo možné identifikovat.",
"Learn more about how we use analytics.": "Dozvědět se více o tom, jak zpracováváme analytické údaje.",
"No Audio Outputs detected": "Nebyly rozpoznány žádné zvukové výstupy",
"Audio Output": "Zvukový výstup",
- "Please contact your service administrator to continue using this service.": "Pro pokračování využívání této služby prosím kontaktujte Vašeho administrátora.",
+ "Please contact your service administrator to continue using this service.": "Pro pokračování využívání této služby prosím kontaktujte jejího správce.",
"Manually export keys": "Export klíčů",
"You'll lose access to your encrypted messages": "Přijdete o přístup k šifrovaným zprávám",
"Are you sure you want to sign out?": "Opravdu se chcete odhlásit?",
"Updating Riot": "Aktualizujeme Riot",
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Jestli máte nějakou zpětnou vazbu nebo máte s Riotem nějaký problém, dejte nám vědět na GitHubu.",
- "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Abychom předešli řešení jednoho problému několikrát, podívejte se prosím nejdřív seznam existijících issue (a můžete jim dát 👍) nebo můžete vyrobit nové. Jenom nám prosím pište anglicky.",
- "Report bugs & give feedback": "Hlášení chyb & zpětná vazba",
+ "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Abychom předešli řešení jednoho problému několikrát, podívejte se prosím nejdřív seznam existujících issue (a můžete jim dát 👍) nebo můžete vyrobit nové. Jenom nám prosím pište anglicky.",
+ "Report bugs & give feedback": "Hlášení chyb a zpětná vazba",
"Go back": "Zpět",
"Failed to upgrade room": "Nepovedlo se upgradeovat místnost",
"The room upgrade could not be completed": "Upgrade místnosti se nepovedlo dokončit",
"Upgrade this room to version %(version)s": "Upgradování místnosti na verzi %(version)s",
- "Use Legacy Verification (for older clients)": "Použít starší verzi verifikace (funguje staršími klienty)",
+ "Use Legacy Verification (for older clients)": "Použít starší verzi ověření (funguje se staršími klienty)",
"Verify by comparing a short text string.": "Verfikujete porovnáním krátkého textu.",
- "Begin Verifying": "Zahájit verifikaci",
+ "Begin Verifying": "Zahájit ověření",
"Waiting for partner to accept...": "Čekáme až partner přijme žádost...",
- "Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Nic se neděje? Ne všechny klienty podporují interaktivní verifikaci. Použít starší verzi.",
+ "Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Nic se neděje? Ne všichni klienti klienti podporují interaktivní ověření. Použít starší verzi.",
"Waiting for %(userId)s to confirm...": "Čekáme až to %(userId)s potvrdí...",
- "Use two-way text verification": "Použít oboustrannou verifikaci",
- "Security & Privacy": "Bezpečnost & Soukromí",
+ "Use two-way text verification": "Použít oboustranné ověření",
+ "Security & Privacy": "Bezpečnost a soukromí",
"Encryption": "Šifrování",
"Once enabled, encryption cannot be disabled.": "Když se šifrování zapne, už nepůjde vypnout.",
"Encrypted": "Šifrování",
"General": "Obecné",
"General failure": "Nějaká chyba",
- "This homeserver does not support login using email address.": "Tento homeserver neumožňuje přihlášní pomocí emailu.",
+ "This homeserver does not support login using email address.": "Tento domovský serveru neumožňuje přihlášení pomocí e-mailu.",
"Set a new password": "Nastavit nové heslo",
- "Room Name": "Jméno místnosti",
+ "Room Name": "Název místnosti",
"Room Topic": "Téma místnosti",
- "No room avatar": "Žádný avatar místnosti",
"Room avatar": "Avatar místnosti",
- "Upload room avatar": "Nahrát avatar místnosti",
- "Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.": "Změny toho kdo smí číst historické zprávy se aplikují jenom na další zprávy v této místosti. Viditelnost už poslaných zpráv zůstane jaká byla.",
+ "Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.": "Změny viditelnosti historie této místnosti ovlivní jenom nové zprávy. Viditelnost starších zpráv zůstane, jaká byla v době jejich odeslání.",
"To link to this room, please add an alias.": "K vytvoření odkazu je potřeba vyrobit místnosti alias.",
- "Roles & Permissions": "Funkce & Práva",
+ "Roles & Permissions": "Role a oprávnění",
"Room information": "Informace o místnosti",
"Internal room ID:": "Interní ID:",
"Room version": "Verze místnosti",
"Room version:": "Verze místnosti:",
"Developer options": "Možnosti pro vývojáře",
- "Help & About": "Pomoc & O Riotu",
+ "Help & About": "O aplikaci a pomoc",
"Bug reporting": "Hlášení chyb",
- "FAQ": "Máte dotazy?",
+ "FAQ": "Často kladené dotazy (FAQ)",
"Versions": "Verze",
- "Legal": "Právní věci",
- "Voice & Video": "Audio & Video",
- "Missing media permissions, click the button below to request.": "Chybí nám práva na práci audiem/videem. Klikněte na tlačítko a my si o ně požádáme.",
- "Request media permissions": "Požádat o práva k mikrofonu a kameře",
+ "Legal": "Právní informace",
+ "Voice & Video": "Zvuk a video",
+ "Missing media permissions, click the button below to request.": "Pro práci se zvukem a videem je potřeba oprávnění. Klepněte na tlačítko a my o ně požádáme.",
+ "Request media permissions": "Požádat o oprávnění k mikrofonu a kameře",
"Allow Peer-to-Peer for 1:1 calls": "Povolit Peer-to-Peer hovory",
- "Preferences": "Preference",
+ "Preferences": "Předvolby",
"Composer": "Editor zpráv",
- "Enable Emoji suggestions while typing": "Povolit napovídání emotikonů",
- "Send typing notifications": "Posílat notifikace \"... právě píše...\"",
+ "Enable Emoji suggestions while typing": "Napovídat emoji",
+ "Send typing notifications": "Posílat oznámení, když píšete",
"Room list": "Seznam místností",
- "Timeline": "Zprávy v místnosti",
+ "Timeline": "Časová osa",
"Autocomplete delay (ms)": "Zpožnění našeptávače (ms)",
- "Enable big emoji in chat": "Povolit velké emotikony v chatu",
- "Show avatars in user and room mentions": "Zobrazovat ikony uživatelů ve zmínkách o nich",
- "Prompt before sending invites to potentially invalid matrix IDs": "Zeptat před odesláním pozvánky potenciálně neplatným Matrixovým identifikátorům",
+ "Enable big emoji in chat": "Povolit velké emoji",
+ "Show avatars in user and room mentions": "U zmínek uživatelů a místností zobrazovat jejich avatary",
+ "Prompt before sending invites to potentially invalid matrix IDs": "Potvrdit odeslání pozvánky potenciálně neplatným Matrix ID",
"Show avatar changes": "Zobrazovat změny avatarů",
- "Show join/leave messages (invites/kicks/bans unaffected)": "Zobrazovat zprávy o připojení/opuštění (netýká se pozvánek/vykopnutí/vykázání)",
- "Show a placeholder for removed messages": "Zobrazovat zamazání místo smazané zprávy",
- "Show display name changes": "Zobrazovat změny jména",
+ "Show join/leave messages (invites/kicks/bans unaffected)": "Zobrazovat zprávy o vstupu/opuštění (netýká se pozvánek/vykopnutí/vykázání)",
+ "Show a placeholder for removed messages": "Zobrazovat smazané zprávy jako zamazané",
+ "Show display name changes": "Zobrazovat změny zobrazovaného jména",
"Messages containing my username": "Zprávy obsahující moje uživatelské jméno",
- "Messages containing @room": "Zprávy obsahující @místnost",
- "Encrypted messages in one-to-one chats": "Zašifrované zprávy v přímých chatech",
- "Email addresses": "Emailové adresy",
+ "Messages containing @room": "Zprávy obsahující @room",
+ "Encrypted messages in one-to-one chats": "Šifrované přímé zprávy",
+ "Email addresses": "E-mailové adresy",
"Set a new account password...": "Nastavit nové heslo...",
"Language and region": "Jazyk a region",
- "Theme": "Motiv",
+ "Theme": "Motiv vzhledu",
"Account management": "Správa účtu",
"Deactivating your account is a permanent action - be careful!": "Deaktivace účtu je nevratná - buďte opatrní!",
"Phone numbers": "Telefonní čísla",
@@ -1065,75 +997,60 @@
"Unable to verify phone number.": "Nepovedlo se ověřit telefonní číslo.",
"Verification code": "Ověřovací kód",
"Profile picture": "Profilový obrázek",
- "Upload profile picture": "Nahrát profilový obrázek",
"Display Name": "Zobrazované jméno",
"Room Addresses": "Adresy místnosti",
- "For help with using Riot, click here.": "Pro pomoc s používáním Riotu, klikněte sem.",
- "For help with using Riot, click here or start a chat with our bot using the button below.": "Pro pomoc s používáním Riotu, klikněte sem nebo následujícím tlačítkem zahajte konverzaci s robotem.",
+ "For help with using Riot, click here.": "Pro pomoc s používáním Riotu klepněte sem.",
+ "For help with using Riot, click here or start a chat with our bot using the button below.": "Pro pomoc s používáním Riotu klepněte sem nebo následujícím tlačítkem zahajte konverzaci s robotem.",
"Chat with Riot Bot": "Konverzovat s Riot Botem",
"Ignored users": "Ignorovaní uživatelé",
"Bulk options": "Hromadná možnost",
"Key backup": "Záloha klíčů",
- "Some devices for this user are not trusted": "Některá zařízení nejsou důvěryhodné",
- "Some devices in this encrypted room are not trusted": "Některá zařízení v této šifrované místnosti nejsou důvěryhodné",
- "All devices for this user are trusted": "Všechna zařízení tohoto uživatele jsou důvěryhodná",
- "All devices in this encrypted room are trusted": "Všechna zařízení v této šifrované místnosti jsou důveryhodná",
"This room has been replaced and is no longer active.": "Tato místnost byla nahrazena a už není používaná.",
"The conversation continues here.": "Konverzace pokračuje zde.",
- "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Poslali jsme Vám ověřovací email. Následujte prosím instrukce a pak klikněte na následující tlačítko.",
- "Email Address": "Emailová adresa",
+ "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Poslali jsme vám ověřovací e-mail. Postupujte prosím podle instrukcí a pak klepněte na následující tlačítko.",
+ "Email Address": "E-mailová adresa",
"Delete Backup": "Smazat zálohu",
- "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Opravdu? Pokud klíče nejsou správně zálohované můžete přijít o zašifrované zprávy.",
- "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Šifrované zprávy jsou zabezpečené end-to-end šifrováním. Jenom Vy a příjemci mají dešifrovací klíče.",
+ "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Opravdu? Pokud klíče nejsou správně zálohované můžete přijít o šifrované zprávy.",
+ "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Šifrované zprávy jsou zabezpečené end-to-end šifrováním. Klíče pro jejich dešifrování máte jen vy a příjemci zpráv.",
"Unable to load key backup status": "Nepovedlo se načíst stav zálohy",
"Restore from Backup": "Obnovit ze zálohy",
- "This device is backing up your keys. ": "Toto zařízení má zálohované klíče. ",
"Back up your keys before signing out to avoid losing them.": "Před odhlášením si zazálohujte klíče abyste o ně nepřišli.",
"Backing up %(sessionsRemaining)s keys...": "Zálohování %(sessionsRemaining)s klíčů...",
"All keys backed up": "Všechny klíče jsou zazálohované",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Záloha je podepsaná neznámým zařízením s ID %(deviceId)s.",
- "Backup has a valid signature from this device": "Záloha má platný podpis tohoto zařízení",
- "Backup has a valid signature from verified device ": "Záloha má platný podpis ověřeného zařízení ",
- "Backup has a valid signature from unverified device ": "Záloha má platný podpis neověřeného zařízení ",
- "Backup has an invalid signature from verified device ": "Záloha má neplatný podpis ověřeného zařízení ",
- "Backup has an invalid signature from unverified device ": "Záloha má neplatný podpis neověřeného zařízení ",
- "Backup is not signed by any of your devices": "Záloha není podepsaná žádným Vaším zařízením",
- "This backup is trusted because it has been restored on this device": "Tato záloha je důvěryhodná, protože už z ní byly obnovené klíče",
"Backup version: ": "Verze zálohy: ",
"Algorithm: ": "Algoritmus: ",
- "Your keys are not being backed up from this device.": "Vaše klíče se z tohoto zařízení nezálohují.",
"Start using Key Backup": "Začít používat zálohu klíčů",
- "Add an email address to configure email notifications": "Pro nastavení emailových upozornění je třeba přidat emailovou adresu",
- "Whether or not you're logged in (we don't record your username)": "Jestli jste přihlášený/á (nezaznamenáváme ale Vaše jméno)",
+ "Add an email address to configure email notifications": "Pro nastavení e-mailových oznámení je třeba přidat e-mailovou adresu",
+ "Whether or not you're logged in (we don't record your username)": "Zda jste nebo nejste přihlášeni (vaše uživatelské jméno se nezaznamenává)",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Soubor '%(fileName)s' je větší než povoluje limit domovského serveru",
- "Unable to load! Check your network connectivity and try again.": "Nepovedlo se načíst! Zkontrolujte si připojení k síti a zkuste to prosím znovu.",
+ "Unable to load! Check your network connectivity and try again.": "Stránku se nepovedlo načíst! Zkontrolujte prosím své připojení k internetu a zkuste to znovu.",
"Registration Required": "Je vyžadována registrace",
"You need to register to do this. Would you like to register now?": "Na toto potřebujete registraci. Chcete se zaregistrovat teď hned?",
"Failed to invite users to the room:": "Nepovedlo se pozvat uživatele do místnosti:",
"Upgrades a room to a new version": "Upgraduje místnost na novou verzi",
"This room has no topic.": "Tato místnost nemá žádné specifické téma.",
- "Sets the room name": "Nastaví jméno místnosti",
- "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s upgradoval/a místnost.",
- "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s udělal/a místnost veřejnou pro všechny s odkazem.",
- "%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s udělal/a místnost přístupnou pouze na pozvánky.",
- "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s změnil/a pravidlo k připojení na %(rule)s",
- "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s povolil/a hostům přístup.",
- "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s zakázal/a hostům přístup.",
- "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s změnil/a pravidlo pro přístup hostů na %(rule)s",
- "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s přidal/a nové adresy místnosti: %(addedAddresses)s.",
- "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "%(senderName)s přidal/a novou adresu místnosti: %(addedAddresses)s.",
- "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "%(senderName)s odstranil/a adresy místnosti: %(removedAddresses)s.",
- "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s odstranil/a adresu místnosti: %(removedAddresses)s.",
- "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s přidal/a adresy místnosti %(addedAddresses)s a odebral %(removedAddresses)s.",
- "%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s nastavil/a hlavní addresu této místnosti na %(address)s.",
+ "Sets the room name": "Nastaví název místnosti",
+ "%(senderDisplayName)s upgraded this room.": "Uživatel %(senderDisplayName)s upgradoval místnost.",
+ "%(senderDisplayName)s made the room public to whoever knows the link.": "Uživatel %(senderDisplayName)s zveřejnil místnost pro všechny s odkazem.",
+ "%(senderDisplayName)s made the room invite only.": "Uživatel %(senderDisplayName)s zpřístupnil místnost pouze na pozvání.",
+ "%(senderDisplayName)s changed the join rule to %(rule)s": "Uživatel %(senderDisplayName)s změnil pravidlo k připojení na %(rule)s",
+ "%(senderDisplayName)s has allowed guests to join the room.": "Uživatel %(senderDisplayName)s povolil přístup hostům.",
+ "%(senderDisplayName)s has prevented guests from joining the room.": "Uživatel %(senderDisplayName)s zakázal přístup hostům.",
+ "%(senderDisplayName)s changed guest access to %(rule)s": "Uživatel %(senderDisplayName)s změnil pravidlo pro přístup hostů na %(rule)s",
+ "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "Uživatel %(senderName)s přidal této místnosti nové adresy %(addedAddresses)s.",
+ "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "Uživatel %(senderName)s přidal této místnosti novou adresu %(addedAddresses)s.",
+ "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "Uživatel %(senderName)s odstranil této místnosti adresy %(removedAddresses)s.",
+ "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "Uživatel %(senderName)s odstranil této místnosti adresu %(removedAddresses)s.",
+ "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "Uživatel %(senderName)s přidal této místnosti adresy %(addedAddresses)s a odebral %(removedAddresses)s.",
+ "%(senderName)s set the main address for this room to %(address)s.": "Uživatel %(senderName)s hlavní adresu této místnosti na %(address)s.",
"%(senderName)s removed the main address for this room.": "%(senderName)s zrušil hlavní adresu této místnosti.",
"%(displayName)s is typing …": "%(displayName)s píše …",
"%(names)s and %(count)s others are typing …|other": "%(names)s a %(count)s dalších píše …",
"%(names)s and %(count)s others are typing …|one": "%(names)s a jeden další píše …",
"%(names)s and %(lastPerson)s are typing …": "%(names)s a %(lastPerson)s píšou …",
- "Unable to connect to Homeserver. Retrying...": "Připojení k homeserveru se nezdařilo. Zkoušíme to znovu...",
+ "Unable to connect to Homeserver. Retrying...": "Připojení k domovskému serveru se nezdařilo. Zkoušíme to znovu...",
"Unrecognised address": "Neznámá adresa",
- "You do not have permission to invite people to this room.": "Nemáte práva na zvaní lidí do této místnosti.",
+ "You do not have permission to invite people to this room.": "Nemáte oprávnění zvát lidi do této místnosti.",
"User %(user_id)s does not exist": "Uživatel %(user_id)s neexistuje",
"User %(user_id)s may or may not exist": "Uživatel %(user_id)s možná neexistuje",
"Unknown server error": "Neznámá chyba serveru",
@@ -1143,8 +1060,8 @@
"Avoid repeated words and characters": "Vyvarujte se opakujících se slov a znaků",
"Avoid sequences": "Vyvarujte se běžných posloupností",
"Avoid recent years": "Nepoužívejte čísla roků",
- "Avoid years that are associated with you": "Nepoužívejte roky které s Vámi nějak souvisí",
- "Avoid dates and years that are associated with you": "Nepoužívejte data a roky která s Vámi nějak souvisí",
+ "Avoid years that are associated with you": "Nepoužívejte roky, které s vámi nějak souvisí",
+ "Avoid dates and years that are associated with you": "Nepoužívejte data ani roky, které s vámi nějak souvisí",
"Capitalization doesn't help very much": "Zvětšení nějakých písmen zas tolik nepomůže",
"All-uppercase is almost as easy to guess as all-lowercase": "Všechno velkými je skoro stejně jednoduché jako všechno malými písmeny",
"Reversed words aren't much harder to guess": "Otočená slova nejsou moc těžká na uhodnutí",
@@ -1160,22 +1077,21 @@
"This is a very common password": "Toto je velmi používané heslo",
"This is similar to a commonly used password": "Toto je moc podobné běžně používanému heslu",
"A word by itself is easy to guess": "Jenom jedno slovo je moc jednoduché uhodnout",
- "Names and surnames by themselves are easy to guess": "Jména a příjmění je moc jednoduché uhodnout",
- "Common names and surnames are easy to guess": "Běžná jména a příjmení je moc jednoduché uhodnout",
+ "Names and surnames by themselves are easy to guess": "Jména a příjmení je velmi jednoduché uhodnout",
+ "Common names and surnames are easy to guess": "Běžná jména a příjmení je velmi jednoduché uhodnout",
"Straight rows of keys are easy to guess": "Řádky na klávesnici je moc jednoduché uhodnout",
"Short keyboard patterns are easy to guess": "Krátké sekvence kláves je moc jednoduché uhodnout",
- "There was an error joining the room": "Chyba při připojování k místnosti",
- "Sorry, your homeserver is too old to participate in this room.": "Pardón, ale Váš domovský server je moc zastaralý aby se sem mohl připojit.",
- "Please contact your homeserver administrator.": "Kontaktujte prosím administrátora domovského serveru.",
- "The other party cancelled the verification.": "Druhá strana verifikaci zrušila.",
+ "There was an error joining the room": "Při vstupu do místnosti došlo k chybě",
+ "Sorry, your homeserver is too old to participate in this room.": "Jejda, váš domovský server je moc zastaralý abyste do této místnosti mohli vstoupit.",
+ "Please contact your homeserver administrator.": "Kontaktujte prosím správce domovského serveru.",
+ "The other party cancelled the verification.": "Druhá strana ověření zrušila.",
"Verified!": "Ověřeno!",
"You've successfully verified this user.": "Uživatel úspěšně ověřen.",
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Bezpečné zprávy s tímto uživatelem jsou end-to-end šifrované a nikdo další je nemůže číst.",
"Got It": "OK",
- "Verify this user by confirming the following emoji appear on their screen.": "Ověřte uživatele zkontrolováním, že se mu na obrazovce objevily stejné obrázky.",
+ "Verify this user by confirming the following emoji appear on their screen.": "Ověřte uživatele zkontrolováním, že se mu na obrazovce objevily stejné emoji.",
"Verify this user by confirming the following number appears on their screen.": "Ověřte uživatele zkontrolováním, že se na obrazovce objevila stejná čísla.",
"Unable to find a supported verification method.": "Nepovedlo se nám najít podporovanou metodu ověření.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Pro co nejlepší bezpečnost doporučujeme ověření dělat osobně nebo přes nějaký jiný důvěryhodný kanál.",
"Dog": "Pes",
"Cat": "Kočka",
"Lion": "Lev",
@@ -1210,8 +1126,8 @@
"Robot": "Robot",
"Hat": "Klobouk",
"Glasses": "Brýle",
- "Spanner": "Utahovací klíč",
- "Santa": "Santa",
+ "Spanner": "Maticový klíč",
+ "Santa": "Santa Klaus",
"Thumbs up": "Palec nahoru",
"Umbrella": "Deštník",
"Hourglass": "Přesýpací hodiny",
@@ -1221,53 +1137,51 @@
"Book": "Kniha",
"Pencil": "Tužka",
"Paperclip": "Sponka",
- "Padlock": "Zámek",
"Key": "Klíč",
"Hammer": "Kladivo",
"Telephone": "Telefon",
"Flag": "Vlajka",
"Train": "Vlak",
- "Bicycle": "Jízní kolo",
+ "Bicycle": "Jízdní kolo",
"Aeroplane": "Letadlo",
"Rocket": "Raketa",
"Trophy": "Trofej",
"Ball": "Míč",
"Guitar": "Kytara",
"Trumpet": "Trumpeta",
- "Bell": "Zvonek",
+ "Bell": "Zvon",
"Anchor": "Kotva",
"Headphones": "Sluchátka",
"Folder": "Desky",
"Pin": "Připínáček",
"Yes": "Ano",
"No": "Ne",
- "Never lose encrypted messages": "Nikdy nepřijdete o zašifrované zprávy",
- "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Zprávy v této místnosti jsou zabezpečené end-to-end šifrováním. Jenom vy a příjemci je můžou číst.",
+ "Never lose encrypted messages": "Nikdy nepřijdete o šifrované zprávy",
+ "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Zprávy v této místnosti jsou zabezpečené end-to-end šifrováním. Můžete je číst jen vy a jejich příjemci.",
"Securely back up your keys to avoid losing them. Learn more.": "Bezpečně zazálohujte své klíče abyste o ně nepřišli. Více informací.",
"Not now": "Teď ne",
"Don't ask me again": "Už se mě na to nikdy neptejte",
"Add some now": "Přidat nějaké",
"Main address": "Hlavní adresa",
"This room is a continuation of another conversation.": "Tato místost je pokračováním jiné konverzace.",
- "Click here to see older messages.": "Kliknutím zobrazíte starší zprávy.",
+ "Click here to see older messages.": "Klepnutím zobrazíte starší zprávy.",
"Failed to load group members": "Nepovedlo se načíst členy skupiny",
- "Join": "Přidat se",
- "That doesn't look like a valid email address": "To nevypadá jako platná emailová adresa",
+ "Join": "Vstoupit",
+ "That doesn't look like a valid email address": "To nevypadá jako platná e-mailová adresa",
"The following users may not exist": "Následující uživatel možná neexistuje",
"Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Nepovedlo se najít profily následujících Matrix ID - chcete je stejně pozvat?",
"Invite anyway and never warn me again": "Stejně je pozvat a nikdy mě nevarujte znovu",
"Invite anyway": "Stejně je pozvat",
- "Before submitting logs, you must create a GitHub issue to describe your problem.": "Na odeslání zápisu je potřeba vyrobit issue na GitHubu s popisem problému.",
+ "Before submitting logs, you must create a GitHub issue to describe your problem.": "Pro odeslání záznamů je potřeba vyrobit issue na GitHubu s popisem problému.",
"Unable to load commit detail: %(msg)s": "Nepovedlo se načíst detaily revize: %(msg)s",
"Incompatible Database": "Nekompatibilní databáze",
"Continue With Encryption Disabled": "Pokračovat bez šifrování",
- "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Po ověření bude uživatel označen jako důvěryhodný. Ověřování uživatelů Vám dává jistotu, že je komunikace důvěrná.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Ověření uživatele označí jeho zařízení za důvěryhodná a Vaše zařízení budou důvěryhodná pro něj.",
+ "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Po ověření bude uživatel označen jako důvěryhodný. Ověřování uživatelů vám dává jistotu, že je komunikace důvěrná.",
"Waiting for partner to confirm...": "Čekám až to partner potvrdí...",
- "Incoming Verification Request": "Přišla Vám žádost o ověření",
+ "Incoming Verification Request": "Přišla vám žádost o ověření",
"Incompatible local cache": "Nekompatibilní lokální vyrovnávací paměť",
"Clear cache and resync": "Smazat paměť a sesynchronizovat",
- "I don't want my encrypted messages": "Nechci svoje zašifrované zprávy",
+ "I don't want my encrypted messages": "Už své zašifrované zprávy nechci",
"Checking...": "Kontroluji...",
"Unable to load backup status": "Nepovedlo se načíst stav zálohy",
"Recovery Key Mismatch": "Klíč zálohy neodpovídá",
@@ -1281,20 +1195,18 @@
"Restored %(sessionCount)s session keys": "Obnovili jsme %(sessionCount)s klíčů",
"Enter Recovery Passphrase": "Zadejte heslo k záloze",
"Warning: you should only set up key backup from a trusted computer.": "Varování: záloha by měla být prováděna na důvěryhodném počítači.",
- "Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Zadáním hesla k záloze získáte zpět přístup k zašifrovaným zprávám a zabezpečené komunikaci.",
+ "Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Zadáním hesla k záloze získáte zpět přístup k šifrovaným zprávám a zabezpečené komunikaci.",
"Next": "Další",
- "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options": "Pokud jste zapomněl/a heslo k záloze, použijte obnovovací klíč nebo nastavte další možnosti obnovení",
+ "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options": "Pokud jste zapomněli své obnovovací heslo, použijte obnovovací klíč nebo nastavte další možnosti obnovení",
"Enter Recovery Key": "Zadejte obnovovací klíč",
"This looks like a valid recovery key!": "To vypadá jako správný klíč!",
"Not a valid recovery key": "To není správný klíč",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Zadejte obnovovací klíč pro přístupu k historii zpráv a zabezpečené komunikaci.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Pokud si nepamatujete heslo k obnovení, můžete si nastavit další možnosti obnovení klíčů",
"Recovery Method Removed": "Záloha klíčů byla odstraněna",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Na tomto zařízení došlo k odstranění hesla k zálohám a klíče k zabezpečné konverzaci.",
"Go to Settings": "Přejít do nastavení",
"Enter a passphrase...": "Zadejte silné heslo...",
"For maximum security, this should be different from your account password.": "Z bezpečnostních důvodů by toto heslo mělo být jiné než přihlašovací heslo.",
- "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Uložíme na našich serverech zašifrovanou zálohu Vašich klíčů. Zvolte si silné heslo (např. delší frázi) aby byla záloha v bezpečí.",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Na našich serverech uložíme šifrovanou zálohu vašich klíčů. Zvolte si silné heslo (např. delší frázi) aby byla záloha v bezpečí.",
"Great! This passphrase looks strong enough.": "Super! Na první pohled to vypadá dostatečně silně.",
"Keep going...": "Pokračujte...",
"Set up with a Recovery Key": "Nastavit obnovovací klíč",
@@ -1305,13 +1217,10 @@
"Repeat your passphrase...": "Zopakute heslo...",
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Tento klíč můžete použít jako záchranou síť k obnově zašifrované historie pokud byste zapomněl/a heslo k záloze.",
"As a safety net, you can use it to restore your encrypted message history.": "Tento klíč můžete použít jako záchranou síť k obnově zašifrované historie.",
- "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Obnovovací klíč je záchraná síť - lze použít k obnově zašifrovaných zpráv když zapomenete heslo.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Uchovejte tento klíč na velmi bezpečném místě, například ve správci hesel (password manageru) nebo v trezoru",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Obnovovací klíč je záchranná síť - lze použít k obnově šifrovaných zpráv i když zapomenete heslo.",
"Your Recovery Key": "Váš klíč pro obnovu zálohy",
"Copy to clipboard": "Zkopírovat do schránky",
"Download": "Stáhnout",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Klíč byl uložen do schránky, vložte ho:",
- "Your Recovery Key is in your Downloads folder.": "Klíč byl uložen do složky se staženými soubory.",
"Print it and store it somewhere safe": "Vytiskněte si ho a bezpečně ho uložte",
"Save it on a USB key or backup drive": "Uložte ho na bezpečnou USB flash disk nebo zálohovací disk",
"Copy it to your personal cloud storage": "Zkopírujte si ho na osobní cloudové úložiště",
@@ -1326,17 +1235,14 @@
"Unable to create key backup": "Nepovedlo se vyrobit zálohů klíčů",
"Retry": "Zkusit znovu",
"Set up Secure Messages": "Nastavit bezpečné obnovení zpráv",
- "This device is encrypting history using the new recovery method.": "Toto zařízení šifruje historii pomocí nového způsobu zálohy a obnovy.",
- "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Pokud jste způsob obnovy neodstranili Vy, útočníci se můžou pokoušet dostat k vašemu účtu. Změňte si raději ihned heslo a nastavte nový způsob obnovy v Nastavení.",
+ "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Pokud jste způsob obnovy neodstranili vy, mohou se pokoušet k vašemu účtu dostat útočníci. Změňte si raději ihned heslo a nastavte nový způsob obnovy v Nastavení.",
"Set up": "Nastavit",
"Don't ask again": "Už se neptat",
"New Recovery Method": "Nový způsob obnovy",
"If you don't want to set this up now, you can later in Settings.": "Pokud nechcete nastavení dokončit teď, můžete se k tomu vrátit později v nastavení.",
"A new recovery passphrase and key for Secure Messages have been detected.": "Detekovali jsme nové heslo a klíč pro bezpečné obnovení.",
- "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Pokud jste nenastavili nový způsob obnovy Vy, útočníci se můžou pokoušet dostat k vašemu účtu. Změňte si raději ihned heslo a nastavte nový způsob obnovy v Nastavení.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Pokud jste to udělali omylem, můžete si na tomto zařízení nastavit bezpečné obnovení zpráv, což znovu zašifruje kompletní historii s novým způsobem obnovení.",
+ "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Pokud jste nenastavili nový způsob obnovy vy, mohou se pokoušet k vašemu účtu dostat útočníci. Změňte si raději ihned heslo a nastavte nový způsob obnovy v Nastavení.",
"Set up Secure Message Recovery": "Nastavit bezpečné obnovení zpráv",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Když si nenastavíte bezpečné obnovení zpráv, nebudete mít možnost po odhlášení nebo přihlášení se na jiném zařízení číst historii šifrovaných konverzací.",
"Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Bez nastavení bezpečného obnovení zpráv přijdete po odhlášení o historii šifrované komunikace.",
"Show a reminder to enable Secure Message Recovery in encrypted rooms": "V šifrovaných konverzacích zobrazovat upozornění na možnost aktivovat bezpečné obnovení zpráv",
"Gets or sets the room topic": "Nastaví nebo zjistí téma místnosti",
@@ -1344,13 +1250,12 @@
"Custom user status messages": "Vlastní statusy",
"Group & filter rooms by custom tags (refresh to apply changes)": "Skupinkování a filtování místností podle štítků (vyžaduje znovunačtení stránky)",
"Render simple counters in room header": "Zobrazovat stavová počítadla v hlavičce místnosti",
- "Enable Community Filter Panel": "Povolit panel Filtr komunity",
- "Show developer tools": "Zobrazit nástoje pro vývojáře",
+ "Enable Community Filter Panel": "Povolit panel Filtr skupiny",
+ "Show developer tools": "Zobrazit nástroje pro vývojáře",
"Encrypted messages in group chats": "Šifrované zprávy ve skupinových konverzacích",
- "Your homeserver does not support device management.": "Váš domovský server nepodporuje správu zařízení.",
"Open Devtools": "Otevřít nástroje pro vývojáře",
"Credits": "Poděkování",
- "You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "Už jste na adrese %(host)s použili novější verzi Riotu. Jestli chcete znovu používat tuto verzi i s E2E šifrováním, je potřeba se odhlásit a znovu přihlásit. ",
+ "You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "Už jste na adrese %(host)s použili novější verzi Riotu. Jestli chcete znovu používat tuto verzi i s end-to-end šifrováním, je potřeba se odhlásit a znovu přihlásit. ",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Na adrese %(host)s už jste použili Riot se zapnutou volbou načítání členů místností až při prvním zobrazení. V této verzi je načítání členů až při prvním zobrazení vypnuté. Protože je s tímto nastavením lokální vyrovnávací paměť nekompatibilní, Riot potřebuje znovu synchronizovat údaje z vašeho účtu.",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Pokud v jiné karťe otevřený jiný Riot, prosím zavřete ji, protože si dvě různé verze můžou navzájem působit problémy.",
"Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot teď používá 3-5× méně paměti, protože si informace o ostatních uživatelích načítá až když je potřebuje. Prosím počkejte na dokončení synchronizace se serverem!",
@@ -1360,25 +1265,25 @@
"Set a new status...": "Nastavit status...",
"Hide": "Skrýt",
"This homeserver would like to make sure you are not a robot.": "Domovský server se potřebuje přesvědčit, že nejste robot.",
- "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Ve vlastních serverových volbách si můžete nastavit použití vlastního domovského serveru. To Vám umožní používat tuto aplikaci s existujícím Matrix účtem na jiném serveru.",
+ "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Ve vlastním nastavení serveru můžete nastavit použití vlastního domovského serveru. To vám umožní používat tuto aplikaci s existujícím Matrix účtem na jiném serveru.",
"Please review and accept all of the homeserver's policies": "Pročtěte si a odsouhlaste prosím všechna pravidla domovského serveru",
"Please review and accept the policies of this homeserver:": "Pročtěte si a odsouhlaste prosím pravidla domovského serveru:",
- "Enter the location of your Modular homeserver. It may use your own domain name or be a subdomain of modular.im.": "Vložte adresu serveru Modular. Může používat Vaši vlastní doménu a nebo poddoménu modular.im.",
+ "Enter the location of your Modular homeserver. It may use your own domain name or be a subdomain of modular.im.": "Zadejte adresu serveru Modular. Můžete použít svou vlastní doménu a nebo subdoménu modular.im.",
"Homeserver URL": "URL domovského serveru",
- "This homeserver does not support communities": "Tento domovský server nepodporuje komunity",
+ "This homeserver does not support communities": "Tento domovský server nepodporuje skupiny",
"Invalid homeserver discovery response": "Neplatná odpověd při hledání domovského serveru",
"Failed to perform homeserver discovery": "Nepovedlo se zjisit adresu domovského serveru",
"Registration has been disabled on this homeserver.": "Tento domovský server nepovoluje registraci.",
"Identity Server URL": "URL serveru identity",
"Invalid identity server discovery response": "Neplatná odpověď při hledání serveru identity",
"Your Modular server": "Váš server Modular",
- "Server Name": "Jméno serveru",
+ "Server Name": "Název serveru",
"The username field must not be blank.": "Je potřeba vyplnit uživatelské jméno.",
"Username": "Uživatelské jméno",
- "Not sure of your password? Set a new one": "Napamatujete si heslo? Nastavte si nové",
+ "Not sure of your password? Set a new one": "Nepamatujete si heslo? Nastavte si nové",
"Change": "Změnit",
"Create your account": "Vytvořte si účet",
- "Email (optional)": "Email (nepovinné)",
+ "Email (optional)": "E-mail (nepovinné)",
"Phone (optional)": "Telefonní číslo (nepovinné)",
"Confirm": "Potvrdit",
"Other servers": "Další servery",
@@ -1389,39 +1294,38 @@
"Other": "Další možnosti",
"Find other public servers or use a custom server": "Najděte si jiný veřejný server a nebo používejte svůj vlastní",
"Couldn't load page": "Nepovedlo se načíst stránku",
- "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Jste administrátor této komunity. Bez pozvání od jiného administrátora nebudete mít možnost se připojit zpět.",
+ "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Jste správcem této skupiny. Bez pozvání od jiného správce nebudete mít možnost se připojit zpět.",
"Guest": "Host",
- "A verification email will be sent to your inbox to confirm setting your new password.": "Nastavení nového hesla je potřeba potvrdit. Bude Vám odeslán ověřovací email.",
+ "A verification email will be sent to your inbox to confirm setting your new password.": "Nastavení nového hesla je potřeba potvrdit. Bude vám odeslán ověřovací e-mail.",
"Sign in instead": "Přihlásit se",
"Your password has been reset.": "Heslo bylo resetováno.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Na všech zařízení jsme Vás odhlásili, takže nedostáváte žádné upozornění. Můžete je znovu povolit tím, že se na každém zařízení přihlásíte.",
"Sign in with single sign-on": "Přihlásit se přes jednotné přihlašování",
"Create account": "Vytvořit účet",
"Unable to query for supported registration methods.": "Nepovedlo se načíst podporované způsoby přihlášení.",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Vloží ¯\\_(ツ)_/¯ na začátek zprávy",
- "Changes your display nickname in the current room only": "Pro tuto místnost změní vaší přezdívku",
+ "Changes your display nickname in the current room only": "Změní vaši zobrazovanou přezdívku pouze v této místnosti",
"User %(userId)s is already in the room": "Uživatel %(userId)s už je v této místnosti",
- "The user must be unbanned before they can be invited.": "Uživatel je vykázán, nelze jej pozvat.",
+ "The user must be unbanned before they can be invited.": "Uživatel je vykázán, nelze ho pozvat.",
"Show read receipts sent by other users": "Zobrazovat potvrzení o přijetí",
"Order rooms in the room list by most important first instead of most recent": "Seřadit místosti v seznamu podle důležitosti místo podle posledního použití",
"Scissors": "Nůžky",
- "Accept all %(invitedRooms)s invites": "Přijmout všechny pozvánky: %(invitedRooms)s",
+ "Accept all %(invitedRooms)s invites": "Přijmout pozvání do všech těchto místností: %(invitedRooms)s",
"Change room avatar": "Změnit avatar místnosti",
- "Change room name": "Změnit jméno místnosti",
+ "Change room name": "Změnit název místnosti",
"Change main address for the room": "Změnit hlavní adresu místnosti",
"Change history visibility": "Změnit viditelnost historie",
"Change permissions": "Změnit oprávnění",
"Change topic": "Změnit téma",
- "Modify widgets": "Pozměnit widgety",
- "Send messages": "Poslat zprávy",
- "Invite users": "Pozvat uživatele",
- "Change settings": "Změnit nastavení",
+ "Modify widgets": "Spravovat widgety",
+ "Send messages": "Posílat zprávy",
+ "Invite users": "Zvát uživatele",
+ "Change settings": "Měnit nastavení",
"Kick users": "Vykopnout uživatele",
"Ban users": "Vykázat uživatele",
- "Remove messages": "Odstranit zprávy",
- "Notify everyone": "Upozornění pro celou místnost",
+ "Remove messages": "Mazat zprávy",
+ "Notify everyone": "Oznámení pro celou místnost",
"Enable encryption?": "Povolit šifrování?",
- "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Po zapnutí už nelze šifrování v této místnosti zakázat. Zprávy v šifrovaných místostech můžou číst jenom členové místnosti, server se k obsahu nedostane. Šifrování místností nepodporuje většina botů a propojení. Více informací o šifrování.",
+ "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Po zapnutí už nelze šifrování v této místnosti vypnout. Zprávy v šifrovaných místnostech mohou číst jenom členové místnosti, server se k obsahu nedostane. Šifrování místností nepodporuje většina botů a propojení. Více informací o šifrování.",
"Error updating main address": "Nepovedlo se změnit hlavní adresu",
"There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "Nastala chyba při pokusu o nastavení hlavní adresy místnosti. Mohl to zakázat server, nebo to může být dočasná chyba.",
"Error creating alias": "Nepovedlo se vyrobit alias",
@@ -1436,21 +1340,15 @@
"Sign in to your Matrix account on %(serverName)s": "Přihlašte se k účtu Matrix na %(serverName)s",
"Create your Matrix account on %(serverName)s": "Vytvořte si účet Matrix na %(serverName)s",
"Could not load user profile": "Nepovedlo se načíst profil uživatele",
- "Your Matrix account on %(serverName)s": "Váš účet Matrix na %(serverName)s",
- "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Jestli používáte funkci \"breadcrumb\" (ikony nad seznamem místností)",
+ "Your Matrix account on %(serverName)s": "Váš účet Matrix na serveru %(serverName)s",
+ "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Zda používáte funkci \"breadcrumb\" (ikony nad seznamem místností)",
"A conference call could not be started because the integrations server is not available": "Nelze spustit konferenční hovor, protože začleňovací server není dostupný",
"Replying With Files": "Odpovídání souborem",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Aktuálně nelze odpovědět souborem. Chcete soubor nahrát a poslat bez odpovídání?",
"The file '%(fileName)s' failed to upload.": "Soubor '%(fileName)s' se nepodařilo nahrát.",
"The server does not support the room version specified.": "Server nepodporuje určenou verzi místnosti.",
"Name or Matrix ID": "Jméno nebo Matrix ID",
- "Email, name or Matrix ID": "Email, jméno nebo Matrix ID",
- "Room upgrade confirmation": "Potvrzení: Upgrade místnosti",
- "Upgrading a room can be destructive and isn't always necessary.": "Upgrade místnosti může mít destruktivní následky a možná není potřeba.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Upgrade místnosti se většinou doporučuje pokud je původní verze nestabilní. V nestabilních verzích můžou být chyby, chybějící funkce nebo můžou mít bezpečnostní problémy.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Upgrade místnosti se většinou týká zpracování serverovem. Pokud máte problém s klientem Riot, nahlašte nám prosím chybu na GitHub: .",
- "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Varování: Upgrade místnosti automaticky převede všechny členy na novou verzi místnosti. Do staré místnosti pošleme odkaz na novou místnost - všichni členové na něj budou muset kliknout, aby se přidali do nové místnosti.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Potvrďte prosím, že chcete pokračovat a opravdu provést upgrade z verze na verzi .",
+ "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Varování: Upgrade místnosti automaticky převede všechny členy na novou verzi místnosti. Do staré místnosti pošleme odkaz na novou místnost - všichni členové na něj budou muset klepnout, aby se přidali do nové místnosti.",
"Changes your avatar in this current room only": "Změní váš avatar jen v této místnosti",
"Unbans user with given ID": "Přijmout zpět uživatele s daným identifikátorem",
"Adds a custom widget by URL to the room": "Přidá do místnosti vlastní widget podle adresy URL",
@@ -1458,21 +1356,15 @@
"You cannot modify widgets in this room.": "V této místnosti nemůžete manipulovat s widgety.",
"Sends the given message coloured as a rainbow": "Pošle zprávu v barvách duhy",
"Sends the given emote coloured as a rainbow": "Pošle reakci v barvách duhy",
- "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s přidal této místnosti vztah s komunitou %(groups)s.",
- "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s odebral této místnosti vztah s komunitou %(groups)s.",
- "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s přidal této místnosti vztah s komunitou %(newGroups)s a odebral vztah s %(oldGroups)s.",
+ "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "Uživatel %(senderDisplayName)s přidal této místnosti příslušnost ke skupině %(groups)s.",
+ "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "Uživatel %(senderDisplayName)s odebral této místnosti příslušnost ke skupině %(groups)s.",
+ "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "Uživatel %(senderDisplayName)s přidal této místnosti příslušnost ke skupině %(newGroups)s a odebral k %(oldGroups)s.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s zrušil pozvání do této místnosti pro uživatele %(targetDisplayName)s.",
"No homeserver URL provided": "Nebyla zadána URL adresa domovského server",
"Unexpected error resolving homeserver configuration": "Chyba při zjišťování konfigurace domovského serveru",
"The user's homeserver does not support the version of the room.": "Uživatelův domovský server nepodporuje verzi této místnosti.",
- "Show hidden events in timeline": "Zobrazovat skryté události",
- "When rooms are upgraded": "Když je proveden upgrade místnosti",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Toto zařízení nezálohuje vaše klíče, ale máte existující zálohu kterou lze obnovit.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Před odhlášením připojte toto zařízení k záloze klíčů, ať o ně nepřijdete.",
- "Connect this device to Key Backup": "Připojit zařízení k zálohování klíčů",
- "Backup has an invalid signature from this device": "Záloha má neplatný podpis z tohoto zařízení",
- "Enable desktop notifications for this device": "Povolit na tomto zařízení notifikace",
- "Enable audible notifications for this device": "Povolit na tomto zařízení zvukové notifikace",
+ "Show hidden events in timeline": "Zobrazovat v časové ose skryté události",
+ "When rooms are upgraded": "Upgrade místnosti",
"Upgrade to your own domain": "Přejít na vlastní doménu",
"Upgrade this room to the recommended room version": "Provést upgrade místnosti na doporučenou verzi",
"this room": "tato místnost",
@@ -1480,55 +1372,55 @@
"Default role": "Výchozí role",
"Send %(eventType)s events": "Poslat událost %(eventType)s",
"Select the roles required to change various parts of the room": "Vyberte role potřebné k provedení různých změn v této místnosti",
- "Joining room …": "Připojování se k místnosti …",
+ "Joining room …": "Vstupování do místnosti…",
"Loading …": "Načítání …",
- "Rejecting invite …": "Odmítání pozvánky …",
+ "Rejecting invite …": "Odmítání pozvánky…",
"Join the conversation with an account": "Připojte se ke konverzaci s účtem",
"Sign Up": "Zaregistrovat se",
"Sign In": "Přihlásit se",
- "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s vás vykopl z místnosti %(roomName)s",
+ "You were kicked from %(roomName)s by %(memberName)s": "Uživatel %(memberName)s vás vykopl z místnosti %(roomName)s",
"Reason: %(reason)s": "Důvod: %(reason)s",
"Forget this room": "Zapomenout na tuto místnost",
- "Re-join": "Znovu se přidat",
- "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s vás vykázal z místnosti %(roomName)s",
- "Something went wrong with your invite to %(roomName)s": "Něco se pokazilo s vaší pozvánkou do místnosti %(roomName)s",
- "You can only join it with a working invite.": "Můžete se připojit jen s funkční pozvánkou.",
- "You can still join it because this is a public room.": "Můžete se stejně připojit, tato místnost je veřejná.",
- "Join the discussion": "Připojit se k diskuzi",
- "Try to join anyway": "Stejně se zkusit připojit",
+ "Re-join": "Znovu vstoupit",
+ "You were banned from %(roomName)s by %(memberName)s": "Uživatel %(memberName)s vás vykázal z místnosti %(roomName)s",
+ "Something went wrong with your invite to %(roomName)s": "S vaší pozvánkou do místnosti %(roomName)s se něco pokazilo",
+ "You can only join it with a working invite.": "Vstoupit můžete jen s funkční pozvánkou.",
+ "You can still join it because this is a public room.": "I přesto můžete vstoupit, protože tato místnost je veřejná.",
+ "Join the discussion": "Zapojit se do diskuze",
+ "Try to join anyway": "Stejně se pokusit vstoupit",
"Do you want to chat with %(user)s?": "Chcete si povídat s uživatelem %(user)s?",
- "Do you want to join %(roomName)s?": "Chcete se přidat do místnosti %(roomName)s?",
- " invited you": " vás pozval",
- "You're previewing %(roomName)s. Want to join it?": "Prohlížíte si místnost %(roomName)s. Chcete se do ní přidat?",
- "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s si nelze jen tak prohlížet. Chcete se do ní přidat?",
+ "Do you want to join %(roomName)s?": "Chcete vstoupit do místnosti %(roomName)s?",
+ " invited you": "Uživatel vás pozval",
+ "You're previewing %(roomName)s. Want to join it?": "Nahlížíte do místnosti %(roomName)s. Chcete do ní vstoupit?",
+ "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s si nelze jen tak prohlížet. Chcete do ní vstoupit?",
"This room doesn't exist. Are you sure you're at the right place?": "Tato místnost neexistuje. Jste si jistí, že jste na správném místě?",
- "Try again later, or ask a room admin to check if you have access.": "Zkuste to znovu nebo se zeptejte administrátora aby zkontrolovat jestli máte přístup.",
- "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "Při pokusu o připojení došlo k chybě: %(errcode)s. Pokud si myslíte, že je to bug, můžete ho nahlásit.",
- "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrade místnosti vypne její aktuální verzi a vyrobí novou místnost se stejným jménem a novou verzí.",
+ "Try again later, or ask a room admin to check if you have access.": "Zkuste to znovu nebo se zeptejte správce, zda může zkontrolovat váš přístup.",
+ "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "Při pokusu o vstup do místnosti došlo k chybě: %(errcode)s. Pokud si myslíte, že je to chyba, nahlaste ji.",
+ "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrade místnosti vypne její aktuální verzi a vyrobí novou místnost se stejným názvem a novou verzí.",
"This room has already been upgraded.": "V této místnostu už byl proveden upgrade.",
"This room is running room version , which this homeserver has marked as unstable.": "Tato místnost běží na verzi , což domovský server označuje za nestabilní.",
- "Failed to revoke invite": "Nepovedlo se stáhnout pozvánku",
- "Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "Nepovedlo se stáhnout pozvánku. Mohlo dojít k dočasnému problému nebo na to nemáte dostatečná práva.",
- "Revoke invite": "Stáhnout pozvánku",
+ "Failed to revoke invite": "Pozvání se nepovedlo zrušit",
+ "Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "Pozvání se nepovedlo zrušit. Mohlo dojít k dočasnému problému nebo na to nemáte dostatečná práva.",
+ "Revoke invite": "Zrušit pozvání",
"Invited by %(sender)s": "Pozván od uživatele %(sender)s",
- "Error updating flair": "Nepovedlo se změnit vztah s komunitou",
- "There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Pro tutu místnost se nepovedlo změnit vztah s komunitou. Možná to server neumožňuje, nebo došlo k dočasné chybě.",
- "reacted with %(shortName)s": "regoval/a %(shortName)s",
+ "Error updating flair": "Nepovedlo se změnit příslušnost ke skupině",
+ "There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Pro tuto místnost se nepovedlo změnit příslušnost ke skupině. Možná to server neumožňuje, nebo došlo k dočasné chybě.",
+ "reacted with %(shortName)s": "Uživatel reagoval s %(shortName)s",
"edited": "pozměněno",
"Maximize apps": "Maximalizovat aplikace",
"Rotate Left": "Otočit doleva",
"Rotate counter-clockwise": "Otočit proti směru hodinových ručiček",
"Rotate Right": "Otočit doprava",
"Rotate clockwise": "Otočit po směru hodinových ručiček",
- "Edit message": "Pozměnit zprávu",
+ "Edit message": "Upravit zprávu",
"GitHub issue": "issue na GitHubu",
"Notes": "Poznámky",
"If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here.": "Pokud máte libovolné další informace, které by nám pomohly najít problém, tak nám je taky napište. Může pomoct kdy k problému došlo, identifikátory místnost a uživatele, ...",
"View Servers in Room": "Zobrazit servery v místnosti",
"Sign out and remove encryption keys?": "Odhlásit a odstranit šifrovací klíče?",
- "To help us prevent this in future, please send us logs.": "Abychom tomu mohli pro příště předejít, pošlete nám prosím logy.",
- "Missing session data": "Chybějící data sezení",
- "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Některá data sezení, například klíče od šifrovaných zpráv, nám chybí. Přihlašte se prosím znovu a obnovte si klíče ze zálohy.",
+ "To help us prevent this in future, please send us logs.": "Abychom tomu mohli pro příště předejít, pošlete nám prosím záznamy.",
+ "Missing session data": "Chybějící data relace",
+ "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Některá data sezení, například klíče od šifrovaných zpráv, nám chybí. Přihlaste se prosím znovu a obnovte si klíče ze zálohy.",
"Your browser likely removed this data when running low on disk space.": "Prohlížeč data možná smazal aby ušetřil místo na disku.",
"Upload files (%(current)s of %(total)s)": "Nahrát soubory (%(current)s z %(total)s)",
"Upload files": "Nahrát soubory",
@@ -1541,20 +1433,20 @@
"Cancel All": "Zrušit vše",
"Upload Error": "Chyba při nahrávání",
"A widget would like to verify your identity": "Widget by chtěl ověřit vaší identitu",
- "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Widget z adresy %(widgetUrl)s by chtěl ověřit vaší identitu. Povolením umožnítě widgetu ověřit vaše uživatelské ID, ale neumožníte mu provádět vaším jménem žádné operace.",
+ "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Widget z adresy %(widgetUrl)s by chtěl ověřit vaší identitu. Povolením umožníte widgetu ověřit vaše uživatelské ID, ale neumožníte mu provádět vaším jménem žádné operace.",
"Remember my selection for this widget": "Zapamatovat si volbu pro tento widget",
"Deny": "Zakázat",
"Unable to validate homeserver/identity server": "Nepovedlo se ověřit domovský server nebo server identity",
"Sign in to your Matrix account on ": "Přihlašte se k Matrix účtu na serveru ",
- "Use an email address to recover your account": "Použít emailovou adresu k obnovení přístupu k účtu",
- "Enter email address (required on this homeserver)": "Zadejte emailovou adresu (vyžaduje jí tento domovský server)",
- "Doesn't look like a valid email address": "To nevypadá jako emailová adresa",
+ "Use an email address to recover your account": "Použít e-mailovou adresu k obnovení přístupu k účtu",
+ "Enter email address (required on this homeserver)": "Zadejte e-mailovou adresu (tento domovský server ji vyžaduje)",
+ "Doesn't look like a valid email address": "To nevypadá jako e-mailová adresa",
"Enter password": "Zadejte heslo",
"Password is allowed, but unsafe": "Heslo můžete použít, ale není bezpečné",
"Nice, strong password!": "Super, to vypadá jako rozumné heslo!",
"Passwords don't match": "Hesla nejsou stejná",
- "Other users can invite you to rooms using your contact details": "Ostatní uživatelá vás můžou pozvat do místností podle kontaktních údajů",
- "Enter phone number (required on this homeserver)": "Zadejte telefonní číslo (domovský server jej vyžaduje)",
+ "Other users can invite you to rooms using your contact details": "Ostatní uživatelé vás můžou pozvat do místností podle kontaktních údajů",
+ "Enter phone number (required on this homeserver)": "Zadejte telefonní číslo (domovský server ho vyžaduje)",
"Doesn't look like a valid phone number": "To nevypadá jako telefonní číslo",
"Enter username": "Zadejte uživatelské jméno",
"Some characters not allowed": "Nějaké znaky jsou zakázané",
@@ -1565,11 +1457,10 @@
"Riot failed to get the public room list.": "Riot nemohl načíst seznam veřejných místností.",
"The homeserver may be unavailable or overloaded.": "Domovský server je nedostupný nebo přetížený.",
"Add room": "Přidat místnost",
- "You have %(count)s unread notifications in a prior version of this room.|other": "Máte %(count)s nepřečtených notifikací v předchozí verzi této místnosti.",
- "You have %(count)s unread notifications in a prior version of this room.|one": "Máte %(count)s nepřečtenou notifikaci v předchozí verzi této místnosti.",
+ "You have %(count)s unread notifications in a prior version of this room.|other": "Máte %(count)s nepřečtených oznámení v předchozí verzi této místnosti.",
+ "You have %(count)s unread notifications in a prior version of this room.|one": "Máte jedno nepřečtené oznámení v předchozí verzi této místnosti.",
"Your profile": "Váš profil",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Změna hesla resetuje šifrovací klíče na všech vašich zařízeních a přijdete tak o přístup k historickým zprávám. Před změnou hesla si nastavte zálohu klíčů nebo si klíče pro místnosti exportujte.",
- "Your Matrix account on ": "Váš Matrix účet na serveru ",
+ "Your Matrix account on ": "Váš účet Matrix na serveru ",
"Failed to get autodiscovery configuration from server": "Nepovedlo se automaticky načíst konfiguraci ze serveru",
"Invalid base_url for m.homeserver": "Neplatná base_url pro m.homeserver",
"Homeserver URL does not appear to be a valid Matrix homeserver": "Na URL domovského serveru asi není funkční Matrix server",
@@ -1579,37 +1470,36 @@
"Low bandwidth mode": "Mód nízké spotřeby dat",
"Uploaded sound": "Zvuk nahrán",
"Sounds": "Zvuky",
- "Notification sound": "Zvuk notifikace",
- "Reset": "Resetovat",
+ "Notification sound": "Zvuk oznámení",
+ "Reset": "Obnovit výchozí",
"Set a new custom sound": "Nastavit vlastní zvuk",
- "Browse": "Prohlížet",
+ "Browse": "Procházet",
"Cannot reach homeserver": "Nelze se připojit k domovskému serveru",
- "Ensure you have a stable internet connection, or get in touch with the server admin": "Ujistěte se, že máte stabilní internetové připojení. Případně problém řešte s administrátorem serveru",
+ "Ensure you have a stable internet connection, or get in touch with the server admin": "Ujistěte se, že máte stabilní internetové připojení. Případně problém řešte se správcem serveru",
"Your Riot is misconfigured": "Riot je špatně nakonfigurován",
- "Ask your Riot admin to check your config for incorrect or duplicate entries.": "Zeptejte se svého administrátora, jestli by vám nezkontrolovat konfiguraci Riotu, asi obsahuje chyby nebo duplicity.",
+ "Ask your Riot admin to check your config for incorrect or duplicate entries.": "Požádejte správce vašeho Riotu, aby zkontroloval vaši konfiguraci. Pravděpodobně obsahuje chyby nebo duplicity.",
"Unexpected error resolving identity server configuration": "Chyba při hledání konfigurace serveru identity",
"Use lowercase letters, numbers, dashes and underscores only": "Používejte pouze malá písmena, čísla, pomlčky a podtržítka",
"Cannot reach identity server": "Nelze se připojit k serveru identity",
- "You can register, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Můžete se zaregistrovat, ale některé funkce nebudou dostupné dokud nezačne server identity fungovat. Pokud se vám toto varování zobrazuje pořád, tak zkontrolujte svojí konfiguraci a nebo kontaktujte administrátora serveru.",
- "You can reset your password, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Můžete si změnit heslo, ale některé funkce nebudou dostupné dokud nezačne server identity fungovat. Pokud se vám toto varování zobrazuje pořád, tak zkontrolujte svojí konfiguraci a nebo kontaktujte administrátora serveru.",
- "You can log in, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Můžete se přihlásit, ale některé funkce nebudou dostupné dokud nezačne server identity fungovat. Pokud se vám toto varování zobrazuje pořád, tak zkontrolujte svojí konfiguraci a nebo kontaktujte administrátora serveru.",
+ "You can register, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Můžete se zaregistrovat, ale některé funkce nebudou dostupné dokud nezačne server identity fungovat. Pokud se vám toto varování zobrazuje pořád, tak zkontrolujte svojí konfiguraci a nebo kontaktujte správce serveru.",
+ "You can reset your password, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Můžete si změnit heslo, ale některé funkce nebudou dostupné dokud nezačne server identity fungovat. Pokud se vám toto varování zobrazuje pořád, tak zkontrolujte svojí konfiguraci a nebo kontaktujte správce serveru.",
+ "You can log in, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Můžete se přihlásit, ale některé funkce nebudou dostupné dokud nezačne server identity fungovat. Pokud se vám toto varování zobrazuje pořád, tak zkontrolujte svojí konfiguraci a nebo kontaktujte správce serveru.",
"Call failed due to misconfigured server": "Volání selhalo, protože je rozbitá konfigurace serveru",
- "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Zeptejte se administrátora (%(homeserverDomain)s) jestli by nemohl nakonfigurovat server TURN, aby začalo fungoval volání.",
+ "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Zeptejte se správce (%(homeserverDomain)s) jestli by nemohl nakonfigurovat server TURN, aby začalo fungoval volání.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Případně můžete zkusit použít veřejný server turn.matrix.org, což nemusí fungovat tak spolehlivě a řekne to tomu cizímu serveru vaší IP adresu. Můžete to udělat v Nastavení.",
"Try using turn.matrix.org": "Zkuste použít turn.matrix.org",
- "Failed to start chat": "Nepovedlo se začít chat",
"Messages": "Zprávy",
"Actions": "Akce",
"Sends a message as plain text, without interpreting it as markdown": "Pošle zprávu jako prostý text, neinterpretuje jí jako Markdown",
"You do not have the required permissions to use this command.": "Na provedení tohoto příkazu nemáte dostatečná oprávnění.",
- "Changes the avatar of the current room": "Změní váš avatar pro tuto místnost",
+ "Changes the avatar of the current room": "Změní avatar této místnosti",
"Changes your avatar in all rooms": "Změní váš avatar pro všechny místnosti",
"Use an identity server": "Používat server identit",
- "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Použít server identit na odeslání emailové pozvánky. Pokračováním použijete výchozí server identit (%(defaultIdentityServerName)s) nebo ho můžete změnit v Nastavení.",
- "Use an identity server to invite by email. Manage in Settings.": "Použít server identit na odeslání emailové pozvánky. Můžete spravovat v Nastavení.",
+ "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Použít server identit k odeslání e-mailové pozvánky. Pokračováním použijete výchozí server identit (%(defaultIdentityServerName)s) nebo ho můžete změnit v Nastavení.",
+ "Use an identity server to invite by email. Manage in Settings.": "Použít server identit na odeslání e-mailové pozvánky. Můžete spravovat v Nastavení.",
"Displays list of commands with usages and descriptions": "Zobrazuje seznam příkazu s popiskem",
"%(senderName)s made no change.": "%(senderName)s neudělal žádnou změnu.",
- "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Povolit použití serveru turn.matrix.org na spojení hlasového hovoru pokud váš domovský server tuto služby neposkytuje (sdělí to serveru vaší IP adresu)",
+ "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Povolit použití serveru turn.matrix.org pro hlasové hovory pokud váš domovský server tuto službu neposkytuje (vaše IP adresu bude během hovoru viditelná)",
"Send read receipts for messages (requires compatible homeserver to disable)": "Odesílat potvrzení o přijetí (vypnutá volba vyžaduje kompatibilní domovský server)",
"Accept to continue:": "Pro pokračování odsouhlaste :",
"ID": "ID",
@@ -1628,93 +1518,88 @@
"Disconnect from the identity server ?": "Odpojit se ze serveru identit ?",
"Disconnect": "Odpojit",
"You are still sharing your personal data on the identity server .": "Pořád sdílíte osobní údaje se serverem identit .",
- "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Předtím než se odpojíte doporučujeme odstranit emailovou adresu a telefonní číslo ze serveru identit.",
+ "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Než se odpojíte, doporučujeme odstranit e-mailovou adresu a telefonní číslo ze serveru identit.",
"Disconnect anyway": "Stejně se odpojit",
"Identity Server (%(server)s)": "Server identit (%(server)s)",
- "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "Aktuálně používáte server na hledání existujících kontaktů. Níže můžete server identit změnit.",
+ "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "Pro hledání existujících kontaktů používáte server identit . Níže ho můžete změnit.",
"If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Pokud nechcete na hledání existujících kontaktů používat server , zvolte si jiný server.",
"Identity Server": "Server identit",
- "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Aktuálně nepoužíváte žádný server identit. Na hledání existujících kontaktů a přidání se do registru kontatů přidejte server identit níže.",
- "Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Odpojení ze serveru identit znamená, že vás nepůjde najít podle emailové adresy ani telefonního čísla and vy také nebudete moct hledat ostatní.",
- "Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Použití serveru identit je volitelné. Nemusíte server identit používat, ale nepůjde vás pak najít podle emailové adresy ani telefonního čísla a vy také nebudete moct hledat ostatní.",
+ "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Pro hledání existujících kontaktů nepoužíváte žádný server identit . Abyste mohli hledat kontakty, nějaký níže nastavte.",
+ "Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Po odpojení od serveru identit nebude možné vás najít podle e-mailové adresy ani telefonního čísla, a zároveň podle nich ani vy nebudete moci hledat ostatní kontakty.",
+ "Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Použití serveru identit je volitelné. Nemusíte server identit používat, ale nepůjde vás pak najít podle e-mailové adresy ani telefonního čísla a vy také nebudete moci hledat ostatní.",
"Do not use an identity server": "Nepoužívat server identit",
"Enter a new identity server": "Zadejte nový server identit",
"Integration Manager": "Správce integrací",
- "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Musíte odsouhlasit podmínky použití serveru (%(serverName)s) abyste se mohli zapsat do registru emailových adres a telefonních čísel.",
- "Deactivate account": "Deaktivovat účet",
+ "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Pro zapsáním do registru e-mailových adres a telefonních čísel odsouhlaste podmínky používání serveru (%(serverName)s).",
+ "Deactivate account": "Deaktivace účtu",
"Always show the window menu bar": "Vždy zobrazovat horní lištu okna",
"Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Odeslat pozvánku pomocí serveru identit. Použít výchozí (%(defaultIdentityServerName)s) nebo přenastavit Nastavení.",
"Use an identity server to invite by email. Manage in Settings.": "Odeslat pozvánku pomocí serveru identit. Přenastavit v Nastavení.",
"Close dialog": "Zavřít dialog",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Napište nám prosím co se pokazilo a nebo nám napište issue na GitHub, kde popíšete problém.",
"Removing…": "Odstaňování…",
- "Clear all data on this device?": "Smazat všechna data na tomto zařízení?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Smazání všech dat na tomto zařízení je nevratné. Zašifrované zprávy nepůjde obnovit, pokud nejsou klíče zazálohované.",
"Clear all data": "Smazat všechna data",
- "Please enter a name for the room": "Zadejte prosím jméno místnosti",
+ "Please enter a name for the room": "Zadejte prosím název místnosti",
"Set a room alias to easily share your room with other people.": "Nastavte alias místnosti, abyste mohli místnost snadno sdílet s ostatními.",
- "This room is private, and can only be joined by invitation.": "Tato místnost je neveřejná a lze se připojit pouze s pozvánkou.",
+ "This room is private, and can only be joined by invitation.": "Tato místnost je neveřejná a lze do ní vstoupit jen s pozvánkou.",
"Create a public room": "Vytvořit veřejnou místnost",
"Create a private room": "Vytvořit neveřejnou místnost",
"Topic (optional)": "Téma (volitelné)",
"Make this room public": "Zveřejnit místnost",
"Hide advanced": "Skrýt pokročilé",
"Show advanced": "Zobrazit pokročilé",
- "Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Zamezit uživatelům jiných domovských serverů, aby se připojili do místnosti (Toto nelze později změnit!)",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Abyste ověřili, že je toto zařízení důvěryhodné, zkontrolujte, že klíč v Nastavení na tom zařízení se shoduje s tímto klíčem:",
+ "Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Zamezit uživatelům jiných domovských serverů, aby do místnosti vstoupili (nelze později změnit!)",
"Your homeserver doesn't seem to support this feature.": "Váš domovský server asi tuto funkci nepodporuje.",
"Message edits": "Editování zpráv",
"Please fill why you're reporting.": "Vyplňte prosím co chcete nahlásit.",
- "Report Content to Your Homeserver Administrator": "Nahlásit obsah administrátorovi vašeho domovského serveru",
- "Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Nahlášení této zprávy pošle její jedinečné 'event ID' administrátorovi vašeho domovského serveru. Pokud jsou zprávy šifrované, administrátor nebude mít možnost přečíst text zprávy ani se podívat na soubory nebo obrázky.",
+ "Report Content to Your Homeserver Administrator": "Nahlásit obsah správci vašeho domovského serveru",
+ "Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Nahlášení této zprávy pošle její jedinečné 'event ID' správci vašeho domovského serveru. Pokud jsou zprávy šifrované, správce nebude mít možnost přečíst text zprávy ani se podívat na soubory nebo obrázky.",
"Send report": "Nahlásit",
"Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Upgrade vyžaduje zrušení této místnosti a vyrobení nové, která jí nahradí. Pro usnadnění procesu pro členy místnosti, provedeme:",
"Command Help": "Nápověda příkazu",
- "Find others by phone or email": "Hledat ostatní pomocí emailu nebo telefonu",
- "Be found by phone or email": "Umožnit ostatním mě nalézt pomocí emailu nebo telefonu",
- "Add Email Address": "Přidat emailovou adresu",
+ "Find others by phone or email": "Najít ostatní pomocí e-mailu nebo telefonu",
+ "Be found by phone or email": "Umožnit ostatním mě nalézt pomocí e-mailu nebo telefonu",
+ "Add Email Address": "Přidat e-mailovou adresu",
"Add Phone Number": "Přidat telefonní číslo",
- "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Tato akce vyžaduje přístup k výchozímu serveru identity aby šlo ověřit email a telefon, ale server nemá podmínky použití.",
+ "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Tato akce vyžaduje přístup k výchozímu serveru identity aby šlo ověřit e-mail a telefon, ale server nemá podmínky použití.",
"Trust": "Důvěra",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Multiple integration managers": "Více správců integrací",
- "Use the new, faster, composer for writing messages": "Použít nový, rychlejší editor zpráv",
"Show previews/thumbnails for images": "Zobrazovat náhledy obrázků",
"You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Před odpojením byste měli smazat osobní údaje ze serveru identit . Bohužel, server je offline nebo neodpovídá.",
"You should:": "Měli byste:",
- "check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "zkontrolujte, jestli nemáte v prohlížeči nějaký doplněk blokující server identit (například Privacy Badger)",
- "contact the administrators of identity server ": "konaktujte administrátora serveru identit ",
+ "check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "zkontrolujte, jestli nemáte v prohlížeči nějaký doplněk blokující server identit (např. Privacy Badger)",
+ "contact the administrators of identity server ": "kontaktujte správce serveru identit ",
"wait and try again later": "počkejte z zkuste to znovu později",
- "Discovery": "Nalezitelnost",
+ "Discovery": "Veřejné",
"Clear cache and reload": "Smazat mezipaměť a načíst znovu",
"Show tray icon and minimize window to it on close": "Zobrazovat systémovou ikonu a minimalizovat při zavření",
- "Read Marker lifetime (ms)": "životnost značky přečteno (ms)",
- "Read Marker off-screen lifetime (ms)": "životnost značky přečteno mimo obrazovku (ms)",
- "A device's public name is visible to people you communicate with": "Veřejné jméno zařízení je viditelné pro lidi se kterými komunikujete",
+ "Read Marker lifetime (ms)": "Platnost značky přečteno (ms)",
+ "Read Marker off-screen lifetime (ms)": "Platnost značky přečteno mimo obrazovku (ms)",
"Upgrade the room": "Upgradovat místnost",
"Enable room encryption": "Povolit v místnosti šifrování",
"Error changing power level requirement": "Chyba změny požadavku na úroveň oprávnění",
- "An error occurred changing the room's power level requirements. Ensure you have sufficient permissions and try again.": "Došlo k chybě při změně požadované úrovně oprávnění v místnosti. Ubezpečte se, že na to máte dostatečná práva a zkuste to znovu.",
+ "An error occurred changing the room's power level requirements. Ensure you have sufficient permissions and try again.": "Došlo k chybě při změně požadované úrovně oprávnění v místnosti. Ubezpečte se, že na to máte dostatečná práva, a zkuste to znovu.",
"Error changing power level": "Chyba při změně úrovně oprávnění",
- "An error occurred changing the user's power level. Ensure you have sufficient permissions and try again.": "Došlo k chybě při změně úrovně oprávnění uživatele. Ubezpečte se, že na to máte dostatečná práva a zkuste to znovu.",
- "Unable to revoke sharing for email address": "Nepovedlo se zrušit sdílení emailové adresy",
- "Unable to share email address": "Nepovedlo se nasdílet emailovou adresu",
- "Your email address hasn't been verified yet": "Vaše emailová adresa nebyla zatím verifikována",
- "Click the link in the email you received to verify and then click continue again.": "Pro verifikaci a pokračování klikněte na odkaz v emailu, který vím přišel.",
- "Verify the link in your inbox": "Ověřte odkaz v emailové schánce",
+ "An error occurred changing the user's power level. Ensure you have sufficient permissions and try again.": "Došlo k chybě při změně úrovně oprávnění uživatele. Ubezpečte se, že na to máte dostatečná práva, a zkuste to znovu.",
+ "Unable to revoke sharing for email address": "Nepovedlo se zrušit sdílení e-mailové adresy",
+ "Unable to share email address": "Nepovedlo se nasdílet e-mailovou adresu",
+ "Your email address hasn't been verified yet": "Vaše e-mailová adresa ještě nebyla ověřena",
+ "Click the link in the email you received to verify and then click continue again.": "Pro ověření a pokračování klepněte na odkaz v e-mailu, který vím přišel.",
+ "Verify the link in your inbox": "Ověřte odkaz v e-mailové schránce",
"Complete": "Dokončit",
"Revoke": "Zneplatnit",
"Share": "Sdílet",
- "Discovery options will appear once you have added an email above.": "Možnosti nalezitelnosti se objeví až výše přidáte svou emailovou adresu.",
+ "Discovery options will appear once you have added an email above.": "Možnosti nastavení veřejného profilu se objeví po přidání e-mailové adresy výše.",
"Unable to revoke sharing for phone number": "Nepovedlo se zrušit sdílení telefonního čísla",
"Unable to share phone number": "Nepovedlo se nasdílet telefonní číslo",
"Please enter verification code sent via text.": "Zadejte prosím ověřovací SMS kód.",
- "Discovery options will appear once you have added a phone number above.": "Možnosti nalezitelnosti se objeví až zadáte telefonní číslo výše.",
- "Remove %(email)s?": "Odstranit %(email)s?",
+ "Discovery options will appear once you have added a phone number above.": "Možnosti nastavení veřejného profilu se objeví po přidání telefonního čísla výše.",
+ "Remove %(email)s?": "Odstranit adresu %(email)s?",
"Remove %(phone)s?": "Odstranit %(phone)s?",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "SMS zpráva byla odeslána na +%(msisdn)s. Zadejte prosím ověřovací kód, který obsahuje.",
"No recent messages by %(user)s found": "Nebyly nalezeny žádné nedávné zprávy od uživatele %(user)s",
- "Try scrolling up in the timeline to see if there are any earlier ones.": "Zkuste zascrollovat nahoru, jestli tam nejsou nějaké dřívější.",
+ "Try scrolling up in the timeline to see if there are any earlier ones.": "Zkuste posunout časovou osu nahoru, jestli tam nejsou nějaké dřívější.",
"Remove recent messages by %(user)s": "Odstranit nedávné zprávy od uživatele %(user)s",
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|other": "Odstraňujeme %(count)s zpráv od %(user)s. Nelze to vzít zpět. Chcete pokračovat?",
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Odstraňujeme jednu zprávu od %(user)s. Nelze to vzít zpět. Chcete pokračovat?",
@@ -1722,7 +1607,7 @@
"Remove %(count)s messages|other": "Odstranit %(count)s zpráv",
"Remove %(count)s messages|one": "Odstranit zprávu",
"Deactivate user?": "Deaktivovat uživatele?",
- "Deactivating this user will log them out and prevent them from logging back in. Additionally, they will leave all the rooms they are in. This action cannot be reversed. Are you sure you want to deactivate this user?": "Deaktivování uživatele ho odhlásí a zabrání mu v opětovném přihlášení. Navíc bude ostraněn ze všech místností. Akci nelze vzít zpět. Jste si jistí, že chcete uživatele deaktivovat?",
+ "Deactivating this user will log them out and prevent them from logging back in. Additionally, they will leave all the rooms they are in. This action cannot be reversed. Are you sure you want to deactivate this user?": "Deaktivování uživatele ho odhlásí a zabrání mu v opětovném přihlášení. Navíc bude odstraněn ze všech místností. Akci nelze vzít zpět. Opravdu chcete uživatele deaktivovat?",
"Deactivate user": "Deaktivovat uživatele",
"Remove recent messages": "Odstranit nedávné zprávy",
"Bold": "Tučně",
@@ -1732,12 +1617,12 @@
"Room %(name)s": "Místnost %(name)s",
"Recent rooms": "Nedávné místnosti",
"Loading room preview": "Načítání náhdledu místnosti",
- "An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "Při ověřování pozvánky jsme dostali chybu (%(errcode)s). Můžete zkusit tuto informaci předat administrátorovi místnosti.",
- "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Pozvánka do místnosti %(roomName)s byla poslána na %(email)s, který není přidaný k tomuto účtu",
- "Link this email with your account in Settings to receive invites directly in Riot.": "Přidejte si tento email k účtu v Nastavení, abyste dostávali pozvání přímo v Riotu.",
- "This invite to %(roomName)s was sent to %(email)s": "Pozvánka do %(roomName)s byla odeslána na %(email)s",
+ "An error (%(errcode)s) was returned while trying to validate your invite. You could try to pass this information on to a room admin.": "Při ověřování pozvánky došlo k chybě (%(errcode)s). Předejte tuto informaci správci místnosti.",
+ "This invite to %(roomName)s was sent to %(email)s which is not associated with your account": "Pozvánka do místnosti %(roomName)s byla poslána na adresu %(email)s, která není k tomuto účtu přidána",
+ "Link this email with your account in Settings to receive invites directly in Riot.": "Přidejte si tento e-mail k účtu v Nastavení, abyste dostávali pozvání přímo v Riotu.",
+ "This invite to %(roomName)s was sent to %(email)s": "Pozvánka do %(roomName)s byla odeslána na adresu %(email)s",
"Use an identity server in Settings to receive invites directly in Riot.": "Používat server identit z nastavení k přijímání pozvánek přímo v Riotu.",
- "Share this email in Settings to receive invites directly in Riot.": "Sdílet tento email v nastavení, abyste mohli dostávat pozvánky přímo v Riotu.",
+ "Share this email in Settings to receive invites directly in Riot.": "Sdílet tento e-mail v nastavení, abyste mohli dostávat pozvánky přímo v Riotu.",
"%(count)s unread messages including mentions.|other": "%(count)s nepřečtených zpráv a zmínek.",
"%(count)s unread messages including mentions.|one": "Nepřečtená zmínka.",
"%(count)s unread messages.|other": "%(count)s nepřečtených zpráv.",
@@ -1752,11 +1637,11 @@
"Show image": "Zobrazit obrázek",
"You verified %(name)s": "Ověřili jste %(name)s",
"You cancelled verifying %(name)s": "Zrušili jste ověření %(name)s",
- "%(name)s cancelled verifying": "%(name)s zrušil/a ověření",
+ "%(name)s cancelled verifying": "Uživatel %(name)s zrušil ověření",
"You accepted": "Přijali jste",
- "%(name)s accepted": "%(name)s přijal/a",
+ "%(name)s accepted": "Uživatel %(name)s přijal",
"You cancelled": "Zrušili jste",
- "%(name)s cancelled": "%(name)s zrušil/a",
+ "%(name)s cancelled": "Uživatel %(name)s zrušil",
"%(name)s wants to verify": "%(name)s chce ověřit",
"You sent a verification request": "Poslali jste požadavek na ověření",
"Show all": "Zobrazit vše",
@@ -1773,12 +1658,12 @@
"Quick Reactions": "Rychlé reakce",
"Cancel search": "Zrušit hledání",
"Please create a new issue on GitHub so that we can investigate this bug.": "Vyrobte prosím nové issue na GitHubu abychom mohli chybu opravit.",
- "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s neudělali %(count)s krát žádnou změnu",
- "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)sneudělali žádnou změnu",
- "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)sneudělal %(count)s krát žádnou změnu",
- "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)sneudělal žádnou změnu",
+ "%(severalUsers)smade no changes %(count)s times|other": "Uživatelé %(severalUsers)s neudělali %(count)s krát žádnou změnu",
+ "%(severalUsers)smade no changes %(count)s times|one": "Uživatelé %(severalUsers)s neudělali žádnou změnu",
+ "%(oneUser)smade no changes %(count)s times|other": "Uživatel %(oneUser)s neudělal %(count)s krát žádnou změnu",
+ "%(oneUser)smade no changes %(count)s times|one": "Uživatel %(oneUser)s neudělal žádnou změnu",
"Room alias": "Alias místnosti",
- "e.g. my-room": "například moje-mistost",
+ "e.g. my-room": "např. moje-mistnost",
"Please provide a room alias": "Zadejte prosím alias místnosti",
"This alias is available to use": "Tento alias je volný",
"This alias is already in use": "Tento alias už je používán",
@@ -1793,22 +1678,22 @@
"Resend %(unsentCount)s reaction(s)": "Poslat %(unsentCount)s reakcí znovu",
"Resend removal": "Odeslat smazání znovu",
"Report Content": "Nahlásit obsah",
- "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Na domovském serveru chybí veřejný klíč pro captcha. Nahlaste to prosím administrátorovi serveru.",
- "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Žádný server identit není nakonfigurován, takže nemůžete přidat emailovou adresu pro obnovení hesla.",
- "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Nastavit emailovou adresu pro obnovení hesla. Také můžete použít email nebo telefon, aby vás vaši přátelé snadno nalezli.",
- "Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "Nastavit emailovou adresu pro obnovení hesla. Také můžete použít email, aby vás vaši přátelé snadno nalezli.",
- "Enter your custom homeserver URL What does this mean?": "Zadejte adresu domovského serveru Co to znamená?",
- "Enter your custom identity server URL What does this mean?": "Zadejte adresu serveru identit Co to znamená?",
- "Explore": "Prohlížet",
- "Filter": "Filtrovat",
- "Filter rooms…": "Filtrovat místnosti…",
+ "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Na domovském serveru chybí veřejný klíč pro captcha. Nahlaste to prosím správci serveru.",
+ "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Žádný server identit není nakonfigurován, takže nemůžete přidat e-mailovou adresu pro obnovení hesla.",
+ "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Nastavte si e-mailovou adresu pro obnovení hesla. E-mail nebo telefon můžete také použít, aby vás vaši přátelé snadno našli.",
+ "Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "Nastavte si e-mailovou adresu pro obnovení hesla. E-mail můžete také použít, aby vás vaši přátelé snadno našli.",
+ "Enter your custom homeserver URL What does this mean?": "Zadejte adresu domovského serveru. Co to znamená?",
+ "Enter your custom identity server URL What does this mean?": "Zadejte adresu serveru identit. Co to znamená?",
+ "Explore": "Procházet",
+ "Filter": "Filtr místností",
+ "Filter rooms…": "Najít místnost…",
"%(creator)s created and configured the room.": "%(creator)s vytvořil a nakonfiguroval místnost.",
"Preview": "Náhled",
"View": "Zobrazit",
"Find a room…": "Najít místnost…",
- "Find a room… (e.g. %(exampleRoom)s)": "Najít místnost… (například %(exampleRoom)s)",
- "If you can't find the room you're looking for, ask for an invite or Create a new room.": "Pokud nemůžete nelézt místnost, kterou hledáte, napište si o pozvánku nebo Vytvořte novou.",
- "Explore rooms": "Prohlížet místnosti",
+ "Find a room… (e.g. %(exampleRoom)s)": "Najít místnost… (např. %(exampleRoom)s)",
+ "If you can't find the room you're looking for, ask for an invite or Create a new room.": "Pokud nemůžete nějakou místnost najít, požádejte stávající členy o pozvánku nebo si Vytvořte novou místnost.",
+ "Explore rooms": "Procházet místnosti",
"Jump to first unread room.": "Skočit na první nepřečtenou místnost.",
"Jump to first invite.": "Skočit na první pozvánku.",
"No identity server is configured: add one in server settings to reset your password.": "Žádný server identit není nakonfigurován: přidejte si ho v nastavení, abyste mohli obnovit heslo.",
@@ -1820,19 +1705,17 @@
"Registration Successful": "Úspěšná registrace",
"Failed to re-authenticate due to a homeserver problem": "Kvůli problémům s domovským server se nepovedlo autentifikovat znovu",
"Failed to re-authenticate": "Nepovedlo se autentifikovat",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Získejte znovu přístup k účtu a obnovte si šifrovací klíče uložené na tomto zařízení. Bez nich nebudete schopni číst zabezpečené zprávy na některých zařízeních.",
"Enter your password to sign in and regain access to your account.": "Zadejte heslo pro přihlášení a obnovte si přístup k účtu.",
"Forgotten your password?": "Zapomněli jste heslo?",
"Sign in and regain access to your account.": "Přihlaste se a získejte přístup ke svému účtu.",
- "You cannot sign in to your account. Please contact your homeserver admin for more information.": "Nemůžete se přihlásit do svého účtu. Kontaktujte administrátora domovského serveru pro více informací.",
+ "You cannot sign in to your account. Please contact your homeserver admin for more information.": "Nemůžete se přihlásit do svého účtu. Kontaktujte správce domovského serveru pro více informací.",
"You're signed out": "Jste odhlášeni",
"Clear personal data": "Smazat osobní data",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Varování: Vaše osobní data (včetně šifrovacích klíčů) jsou pořád uložena na tomto zařízení. Smažte je, pokud už toto zařízení nehodláte používat nebo se přihlašte pod jiný účet.",
"Command Autocomplete": "Automatické doplňování příkazů",
- "Community Autocomplete": "Automatické doplňování komunit",
+ "Community Autocomplete": "Automatické doplňování skupin",
"DuckDuckGo Results": "Výsledky hledání DuckDuckGo",
- "Emoji Autocomplete": "Automatické doplňování Emodži",
- "Notification Autocomplete": "Automatické doplňování upozornění",
+ "Emoji Autocomplete": "Automatické doplňování emoji",
+ "Notification Autocomplete": "Automatické doplňování oznámení",
"Room Autocomplete": "Automatické doplňování místností",
"User Autocomplete": "Automatické doplňování uživatelů",
"Custom (%(level)s)": "Vlastní (%(level)s)",
@@ -1855,25 +1738,23 @@
"%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s vytvořil pravidlo blokující místnosti odpovídající %(glob)s z důvodu %(reason)s",
"%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s vytvořil pravidlo blokující servery odpovídající %(glob)s z důvodu %(reason)s",
"%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s vytvořil blokovací pravidlo odpovídající %(glob)s z důvodu %(reason)s",
- "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s změnil pravidlo blokující uživatele odpovídající %(oldGlob)s na uživatele odpovídající %(newGlob)s z důvodu %(reason)s.",
+ "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s změnil pravidlo blokující uživatele odpovídající %(oldGlob)s na uživatele odpovídající %(newGlob)s z důvodu %(reason)s",
"%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s změnil pravidlo blokující místnosti odpovídající %(oldGlob)s na místnosti odpovídající %(newGlob)s z důvodu %(reason)s",
"%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s změnil pravidlo blokující servery odpovídající %(oldGlob)s na servery odpovídající %(newGlob)s z důvodu %(reason)s",
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s změnil blokovací pravidlo odpovídající %(oldGlob)s na odpovídající %(newGlob)s z důvodu %(reason)s",
"Try out new ways to ignore people (experimental)": "Vyzkošejte nové metody ignorování lidí (experimentální)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Poslat požadavek na ověření v přímé zprávě včetně nového verifikačního rozhraní v panelu.",
- "Enable local event indexing and E2EE search (requires restart)": "Povolit lokální indexování a vyhledávání v E2E šifrovaných zprávách (vyžaduje restart)",
- "Match system theme": "Přizpůsobit se systémovému vzhledu",
+ "Enable local event indexing and E2EE search (requires restart)": "Povolit lokální indexování a vyhledávání v end-to-end šifrovaných zprávách (vyžaduje restart)",
+ "Match system theme": "Nastavit podle vzhledu systému",
"My Ban List": "Můj seznam zablokovaných",
"This is your list of users/servers you have blocked - don't leave the room!": "Toto je váš seznam blokovaných uživatelů/serverů - neopouštějte tuto místnost!",
"Decline (%(counter)s)": "Odmítnout (%(counter)s)",
- "on device": "na zařízení",
- "Connecting to integration manager...": "Připojuji se ke správci integrací...",
+ "Connecting to integration manager...": "Připojování se ke správci integrací...",
"Cannot connect to integration manager": "Nepovedlo se připojení ke správci integrací",
"The integration manager is offline or it cannot reach your homeserver.": "Správce integrací neběží nebo se nemůže připojit k vašemu domovskému serveru.",
- "Clear notifications": "Odstranit notifikace",
+ "Clear notifications": "Odstranit oznámení",
"Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Použít správce integrací (%(serverName)s) na správu botů, widgetů a samolepek.",
"Use an Integration Manager to manage bots, widgets, and sticker packs.": "Použít správce integrací na správu botů, widgetů a samolepek.",
- "Manage integrations": "Spravovat integrace",
+ "Manage integrations": "Správa integrací",
"Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Správce integrací dostává konfigurační data a může za vás modifikovat widgety, posílat pozvánky a nastavovat úrovně oprávnění.",
"Customise your experience with experimental labs features. Learn more.": "Přizpůsobte si aplikaci s experimentálními funkcemi. Více informací.",
"Ignored/Blocked": "Ignorováno/Blokováno",
@@ -1895,10 +1776,10 @@
"View rules": "Zobrazit pravidla",
"You are currently subscribed to:": "Odebíráte:",
"⚠ These settings are meant for advanced users.": "⚠ Tato nastavení jsou pro pokročilé uživatele.",
- "Add users and servers you want to ignore here. Use asterisks to have Riot match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Sem přidejte uživatele a servery, které chcete ignorovat. Můžete použít hvězdičku místo libovolných znaků. Například pravidlo @bot:* bude blokovat všechny uživatele se jménem 'bot' na libovolném serveru.",
+ "Add users and servers you want to ignore here. Use asterisks to have Riot match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Sem přidejte uživatele a servery, které chcete ignorovat. Můžete použít hvězdičku místo libovolných znaků. Například pravidlo @bot:* zablokuje všechny uživatele se jménem 'bot' na libovolném serveru.",
"Ignoring people is done through ban lists which contain rules for who to ban. Subscribing to a ban list means the users/servers blocked by that list will be hidden from you.": "Lidé a servery jsou blokováni pomocí seznamů obsahující pravidla koho blokovat. Odebírání blokovacího seznamu znamená, že neuvidíte uživatele a servery na něm uvedené.",
"Personal ban list": "Osobní seznam blokací",
- "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Váš osobní seznam blokací obsahuje všechny uživatele a server, které nechcete vidět. Po ignorování prvního uživatele/server se vytvoří nová místnost 'Můj seznam blokací' - zůstaňte v ní aby seznam platil.",
+ "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Váš osobní seznam blokací obsahuje všechny uživatele a servery, které nechcete vidět. Po ignorování prvního uživatele/serveru se vytvoří nová místnost 'Můj seznam blokací' - zůstaňte v ní, aby seznam platil.",
"Server or user ID to ignore": "Server nebo ID uživatele",
"eg: @bot:* or example.org": "např.: @bot:* nebo example.org",
"Subscribed lists": "Odebírané seznamy",
@@ -1906,28 +1787,24 @@
"Subscribe": "Odebírat",
"This message cannot be decrypted": "Zprávu nelze rozšifrovat",
"Unencrypted": "Nešifrované",
- " wants to chat": " chce chatovat",
- "Start chatting": "Začít chatovat",
+ " wants to chat": " si chce psát",
+ "Start chatting": "Zahájit konverzaci",
"Failed to connect to integration manager": "Nepovedlo se připojit ke správci integrací",
"Trusted": "Důvěryhodné",
"Not trusted": "Nedůvěryhodné",
- "Hide verified Sign-In's": "Skrýt důvěryhodná přihlášení",
- "%(count)s verified Sign-In's|other": "%(count)s důvěryhodných přihlášení",
- "%(count)s verified Sign-In's|one": "1 důvěryhodné přihlášení",
"Direct message": "Přímá zpráva",
- "Unverify user": "Nedůvěřovat uživateli",
"%(role)s in %(roomName)s": "%(role)s v %(roomName)s",
- "Messages in this room are end-to-end encrypted.": "V této místosti jsou zprávy E2E šifrované.",
+ "Messages in this room are end-to-end encrypted.": "V této místnosti jsou zprávy šifrované end-to-end.",
"Security": "Bezpečnost",
"Verify": "Ověřit",
- "You have ignored this user, so their message is hidden. Show anyways.": "Tohoto uživatele ignorujete, takže jsou jeho/její zprávy skryté. Přesto zobrazit.",
+ "You have ignored this user, so their message is hidden. Show anyways.": "Tohoto uživatele ignorujete, takže jsou jeho zprávy skryté. Přesto zobrazit.",
"Reactions": "Reakce",
" reacted with %(content)s": " reagoval %(content)s",
"Any of the following data may be shared:": "Následující data můžou být sdílena:",
"Your display name": "Vaše zobrazované jméno",
"Your avatar URL": "URL vašeho avataru",
"Your user ID": "Vaše ID",
- "Your theme": "Váš motiv",
+ "Your theme": "Váš motiv vzhledu",
"Riot URL": "URL Riotu",
"Room ID": "ID místnosti",
"Widget ID": "ID widgetu",
@@ -1938,43 +1815,39 @@
"This widget may use cookies.": "Widget může používat cookies.",
"More options": "Více možností",
"Integrations are disabled": "Integrace jsou zakázané",
- "Enable 'Manage Integrations' in Settings to do this.": "Abyste mohli akci provést, povolte 'Spravovat integrace' v Nastavení.",
+ "Enable 'Manage Integrations' in Settings to do this.": "Pro provedení této akce povolte v nastavení správu integrací.",
"Integrations not allowed": "Integrace nejsou povolené",
- "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Váš Riot neumožňuje použít správce integrací. Kontaktujte prosím administrátora.",
+ "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Váš Riot neumožňuje použít správce integrací. Kontaktujte prosím správce.",
"Automatically invite users": "Automaticky zvát uživatele",
"Upgrade private room": "Upgradovat soukromou místnost",
"Upgrade public room": "Upgradovat veřejnou místnost",
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Upgradování místnosti je pokročilá operace a je doporučeno jí provést pokud je místnost nestabilní kvůli chybám, chybějícím funkcím nebo zranitelnostem.",
- "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Toto běžně ovlivňuje jak je místnost zpracovávána na serveru. Pokud máte problém s Riotem, nahlaste nám prosím bug.",
+ "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Toto běžně ovlivňuje pouze zpracovávání místnosti na serveru. Pokud máte problém s Riotem, nahlaste nám ho prosím.",
"You'll upgrade this room from to .": "Upgradujeme tuto místnost z na .",
"Upgrade": "Upgradovat",
- "Enter secret storage passphrase": "Zadejte tajné heslo k úložišti",
+ "Enter secret storage passphrase": "Zadejte tajné heslo k bezpečnému úložišti",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "Nepovedlo se přistoupit k bezpečnému úložišti. Zkontrolujte prosím, že je zadané správné heslo.",
"Warning: You should only access secret storage from a trusted computer.": "Varování: Přistupujte k bezpečnému úložišti pouze z důvěryhodných počítačů.",
- "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Pokud si nepamatujete heslo, můžete použít váš obnovovací klíč nebo si nastavte nové možnosti obnovení.",
+ "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Pokud si nepamatujete heslo, můžete použít svůj obnovovací klíč nebo si nastavte nové možnosti obnovení.",
"Enter secret storage recovery key": "Zadejte klíč k bezpečnému úložišti",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Nepovedlo se dostat k bezpečnému úložišti. Ověřte prosím, že je zadaný správný klíč.",
"If you've forgotten your recovery key you can set up new recovery options.": "Pokud si nepamatujete obnovovací klíč, můžete si nastavit nové možnosti obnovení.",
"Warning: You should only set up key backup from a trusted computer.": "Varování: Nastavujte zálohu jen z důvěryhodných počítačů.",
"If you've forgotten your recovery key you can set up new recovery options": "Pokud si nepamatujete obnovovací klíč, můžete si nastavit nové možnosti obnovení",
- "Notification settings": "Nastavení notifikací",
+ "Notification settings": "Nastavení oznámení",
"Reload": "Načíst znovu",
"Take picture": "Udělat fotku",
"Remove for everyone": "Odstranit pro všechny",
- "Remove for me": "Odstranit pro mě",
+ "Remove for me": "Odstranit (jen pro mě)",
"User Status": "Stav uživatele",
"Verification Request": "Požadavek na ověření",
" (1/%(totalCount)s)": " (1/%(totalCount)s)",
- "Warning: You should only set up secret storage from a trusted computer.": "Varování: Nastavujte bezpečné úložiště pouze z důvěryhodného počítače.",
"Set up with a recovery key": "Nastavit obnovovací klíč",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Můžete jej použít jako záchranou síť na obnovení šifrovaných zpráv když zapomenete heslo.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Můžete jej použít jako záchranou síť na obnovení šifrovaných zpráv.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Uschovejte svůj klíč na velmi bezpečném místě, například ve správci hesel (nebo v trezoru).",
"Your recovery key has been copied to your clipboard, paste it to:": "Váš obnovovací klíč byl zkopírován do schránky, vložte jej:",
- "Your recovery key is in your Downloads folder.": "Váš obnovací klíč je ve složce Stažené.",
- "Your access to encrypted messages is now protected.": "Přístup k šifrovaným zprávám je teď chráněn.",
- "Set up secret storage": "Nastavit bezpečné úložiště",
- "Secure your encrypted messages with a passphrase": "Zabezpečte vaše šifrované zprávy heslem",
+ "Your recovery key is in your Downloads folder.": "Váš obnovovací klíč je ve složce Stažené.",
"Storing secrets...": "Ukládám tajná data...",
"Unable to set up secret storage": "Nepovedlo se nastavit bezpečné úložiště",
"The message you are trying to send is too large.": "Zpráva kterou se snažíte odeslat je příliš velká.",
@@ -1982,17 +1855,320 @@
"Backup has a valid signature from this user": "Záloha má platný podpis od tohoto uživatele",
"Backup has a invalid signature from this user": "Záloha má neplatný podpis od tohoto uživatele",
"Backup has a signature from unknown user with ID %(deviceId)s": "Záloha je podepsaná neznámým uživatelem %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Záloha je podepsaná neznámým zařízením %(deviceId)s",
- "This user has not verified all of their devices.": "Uživatel neověřil všechna svá zařízení.",
- "You have not verified this user. This user has verified all of their devices.": "Tohoto uživatele jste neověřili. Uživatel má ověřená všechna svá zařízení.",
- "You have verified this user. This user has verified all of their devices.": "Tohoto uživatele jste ověřili. Uživatel má ověřená všechna svá zařízení.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Někteřé uživatele v této šifrované místnosti jste neověřili nebo nemají ověřená některá svá zařízení.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Všichni uživatelé v této šifrované místnosti jsou ověření a mají ověřená všechna svá zařízení.",
"Close preview": "Zavřít náhled",
"Hide verified sessions": "Schovat ověřené relace",
"%(count)s verified sessions|other": "%(count)s ověřených relací",
"%(count)s verified sessions|one": "1 ověřená relace",
"Language Dropdown": "Menu jazyků",
"Help": "Pomoc",
- "Country Dropdown": "Menu států"
+ "Country Dropdown": "Menu států",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "V místnosti jsou neověřené relace: pokud budete pokračovat bez ověření, bude možné váš hovor odposlouchávat.",
+ "Verify this session": "Ověřit tuto relaci",
+ "Encryption upgrade available": "Je dostupná aktualizace šifrování",
+ "Set up encryption": "Nastavit šifrování",
+ "Unverified session": "Neověřená relace",
+ "Verifies a user, session, and pubkey tuple": "Ověří uživatele, relaci a veřejné klíče",
+ "Unknown (user, session) pair:": "Neznámý pár (uživatel, relace):",
+ "Session already verified!": "Relace je už ověřená!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "VAROVÁNÍ: Relace je už ověřená, ale klíče NEODPOVÍDAJÍ!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "VAROVÁNÍ: OVĚŘENÍ KLÍČŮ SELHALO! Podpisový klíč pro uživatele %(userId)s a relaci %(deviceId)s je \"%(fprint)s\", což neodpovídá klíči \"%(fingerprint)s\". Může to znamenat, že je vaše komunikace rušena!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Zadaný podpisový klíč odpovídá klíči relace %(deviceId)s od uživatele %(userId)s. Relace byla označena za platnou.",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "Uživatel %(senderName)s přidal této místnosti adresu %(addedAddresses)s a %(count)s dalších",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "Uživatel %(senderName)s odstranil této místnosti adresu %(removedAddresses)s a %(count)s dalších",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "Uživatel %(senderName)s odstranil této místnosti %(countRemoved)s adres a přidal %(countAdded)s adres",
+ "a few seconds ago": "před pár vteřinami",
+ "about a minute ago": "před minutou",
+ "%(num)s minutes ago": "před %(num)s minutami",
+ "about an hour ago": "asi před hodinou",
+ "%(num)s hours ago": "před %(num)s hodinami",
+ "about a day ago": "před jedním dnem",
+ "%(num)s days ago": "před %(num)s dny",
+ "a few seconds from now": "za pár vteřin",
+ "about a minute from now": "asi za minutu",
+ "%(num)s minutes from now": "za %(num)s minut",
+ "about an hour from now": "asi za hodinu",
+ "%(num)s hours from now": "za %(num)s hodin",
+ "about a day from now": "asi za den",
+ "%(num)s days from now": "za %(num)s dní",
+ "Show a presence dot next to DMs in the room list": "V seznamu místností zobrazovat informaci o přítomnosti",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Povolit cross-signing pro ověření uživatelů místo zařízení (experimentální)",
+ "Show info about bridges in room settings": "Zobrazovat v nastavení místnosti informace o propojeních",
+ "Show padlocks on invite only rooms": "Zobrazovat zámek u místností vyžadujících pozvání",
+ "Never send encrypted messages to unverified sessions from this session": "Nikdy neposílat šifrované zprávy neověřených zařízením",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Nikdy v této místnosti neposílat šifrované zprávy neověřeným relacím",
+ "Enable message search in encrypted rooms": "Povolit vyhledávání v šifrovaných místnostech",
+ "Keep secret storage passphrase in memory for this session": "Pro toto přihlášení si uchovat heslo k bezpečnému úložišti",
+ "How fast should messages be downloaded.": "Jak rychle se mají zprávy stahovat.",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Ověřte, že jsou následující emoji zobrazeny na obou zařízeních ve stejném pořadí:",
+ "Verify this device by confirming the following number appears on its screen.": "Ověřit zařízení potvrzením, že jsou následující čísla zobrazena na jeho obrazovce.",
+ "Waiting for %(displayName)s to verify…": "Čekám až nás %(displayName)s ověří…",
+ "They match": "Odpovídají",
+ "They don't match": "Neodpovídají",
+ "To be secure, do this in person or use a trusted way to communicate.": "Aby to bylo bezpečné, udělejte to osobně nebo použijte důvěryhodný komunikační prostředek.",
+ "Lock": "Zámek",
+ "Verify yourself & others to keep your chats safe": "Ověřte sebe a ostatní, aby byla vaše komunikace bezpečná",
+ "Other users may not trust it": "Ostatní uživatelé této relaci nemusí věřit",
+ "Later": "Později",
+ "Review": "Prohlédnout",
+ "This bridge was provisioned by .": "Toto propojení poskytuje .",
+ "This bridge is managed by .": "Toto propojení spravuje .",
+ "Workspace: %(networkName)s": "Workspace: %(networkName)s",
+ "Channel: %(channelName)s": "Kanál: %(channelName)s",
+ "Show less": "Skrýt detaily",
+ "Show more": "Více",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Změna hesla resetuje šifrovací klíče pro všechny vaše relace. Pokud si nejdřív nevyexportujete klíče místností a po změně je znovu neimportujete, nedostanete se k historickým zprávám. V budoucnu se toto zjednoduší.",
+ "Cross-signing and secret storage are enabled.": "Cross-signing a bezpečné úložiště jsou zapnuté.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Váš účet má v bezpečném úložišti identitu pro cross-signing, ale v této relaci jí zatím nevěříte.",
+ "Cross-signing and secret storage are not yet set up.": "Zatím nemáte nastavený cross-signing a bezpečné úložiště.",
+ "Bootstrap cross-signing and secret storage": "Zapnout cross-signing a bezpečné úložiště",
+ "Cross-signing public keys:": "Veřejné klíče pro cross-signing:",
+ "in memory": "v paměti",
+ "Cross-signing private keys:": "Soukromé klíče pro cross-signing:",
+ "in secret storage": "v bezpečném úložišti",
+ "Secret storage public key:": "Veřejný klíč bezpečného úložiště:",
+ "in account data": "v datech účtu",
+ "Your homeserver does not support session management.": "Váš domovský server nepodporuje správu relací.",
+ "Unable to load session list": "Nepovedlo se načíst seznam relací",
+ "Delete %(count)s sessions|other": "Smazat %(count)s relací",
+ "Delete %(count)s sessions|one": "Smazat %(count)s relaci",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Bezpečně uchovávat šifrované zprávy na tomto zařízení, aby se v nich dalo vyhledávat pomocí ",
+ " to store messages from ": " na uchování zpráv z ",
+ "rooms.": "místností.",
+ "Manage": "Spravovat",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Bezpečně uchovávat zprávy na tomto zařízení aby se v nich dalo vyhledávat.",
+ "Enable": "Povolit",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot neumí bezpečně uchovávat zprávy když běží v prohlížeči. Pokud chcete vyhledávat v šifrovaných zprávách, použijte Riot Desktop.",
+ "This session is backing up your keys. ": "Tato relace zálohuje vaše klíče. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Tato relace nezálohuje vaše klíče, ale už máte zálohu ze které je můžete obnovit.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Než se odhlásíte, připojte tuto relaci k záloze klíčů, abyste nepřišli o klíče, které mohou být jen v této relaci.",
+ "Connect this session to Key Backup": "Připojit k zálohování klíčů",
+ "not stored": "není uložen",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Záloha je podepsaná z neznámé relace s ID %(deviceId)s",
+ "Backup has a valid signature from this session": "Záloha má platný podpis z této relace",
+ "Backup has an invalid signature from this session": "Záloha má neplatný podpis z této relace",
+ "Backup has a valid signature from verified session ": "Záloha má platný podpis z ověřené relace ",
+ "Backup has a valid signature from unverified session ": "Záloha má platný podpis z neověřené relace ",
+ "Backup has an invalid signature from verified session ": "Záloha má neplatný podpis z ověřené relace ",
+ "Backup has an invalid signature from unverified session ": "Záloha má neplatný podpis z neověřené relace ",
+ "Backup is not signed by any of your sessions": "Záloha nemá podpis z žádné vaší relace",
+ "This backup is trusted because it has been restored on this session": "Záloze věříme, protože už byla v této relaci načtena",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Zálohovací klíč je uložen v bezpečném úložišti, ale jeho načtení není v této relaci povolené. Zapněte prosím cross-signing v Experimentálních funkcích abyste mohli modifikovat stav zálohy.",
+ "Backup key stored: ": "Zálohovací klíč je uložen: ",
+ "Your keys are not being backed up from this session.": "Vaše klíče nejsou z této relace zálohovány.",
+ "Enable desktop notifications for this session": "Povolit v této relaci oznámení",
+ "Enable audible notifications for this session": "Povolit v této relaci zvuková oznámení",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Heslo bylo změněno. Dokud se znovu nepřihlásíte na ostatních zařízeních, nebudete na nich dostávat žádná oznámení",
+ "Session ID:": "ID relace:",
+ "Session key:": "Klíč relace:",
+ "Message search": "Vyhledávání ve zprávách",
+ "Cross-signing": "Cross-signing",
+ "Sessions": "Relace",
+ "A session's public name is visible to people you communicate with": "Lidé, se kterými komunikujete, mohou veřejný název zobrazit",
+ "This room is bridging messages to the following platforms. Learn more.": "Tato místnost je propojena s následujícími platformami. Více informací",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Tato místnost není propojená s žádnými dalšími platformami. Více informací.",
+ "Bridges": "Propojení",
+ "This user has not verified all of their sessions.": "Tento uživatel zatím neověřil všechny své relace.",
+ "You have not verified this user.": "Tohoto uživatele jste neověřil.",
+ "You have verified this user. This user has verified all of their sessions.": "Tohoto uživatele jste ověřili a on ověřil všechny své relace.",
+ "Someone is using an unknown session": "Někdo používá neznámou relaci",
+ "This room is end-to-end encrypted": "Místnost je šifrovaná end-to-end",
+ "Everyone in this room is verified": "V této místnosti jsou všichni ověřeni",
+ "Some sessions for this user are not trusted": "Některé relace tohoto uživatele jsou nedůvěryhodné",
+ "All sessions for this user are trusted": "Všem relacím tohoto uživatele věříme",
+ "Some sessions in this encrypted room are not trusted": "Některé relace v této místnosti jsou nedůvěryhodné",
+ "All sessions in this encrypted room are trusted": "Všem relacím v této místosti věříme",
+ "Mod": "Moderátor",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Požadavek na sdílení klíčů byl odeslán - podívejte se prosím na své ostatní relace, jestli vám přišel.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Požadavky na sdílení klíčů jsou vašim ostatním relacím odesílány automaticky. Pokud jste nějaký zamítli nebo ignorovali, tímto tlačítkem si ho můžete poslat znovu.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Pokud vaše ostatní relace nemají klíč pro tuto zprávu, nebudete mít možnost jí dešifrovat.",
+ "Re-request encryption keys from your other sessions.": "Znovu zažádat o šifrovací klíče z vašich ostatních relací.",
+ "Encrypted by an unverified session": "Šifrované neověřenou relací",
+ "Encrypted by a deleted session": "Šifrované smazanou relací",
+ "Invite only": "Pouze na pozvání",
+ "No sessions with registered encryption keys": "Žádné relace se šifrovacími klíči",
+ "Send a reply…": "Odpovědět…",
+ "Send a message…": "Napsat zprávu…",
+ "Direct Messages": "Přímé zprávy",
+ "Reject & Ignore user": "Odmítnout & ignorovat uživatele",
+ "Unknown Command": "Neznámý příkaz",
+ "Unrecognised command: %(commandText)s": "Nerozpoznaný příkaz: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Můžete použít /help na vypsání všech příkazů. Nebo jste text chtěli odeslat jako zprávu?",
+ "Hint: Begin your message with // to start it with a slash.": "Tip: Zprávu můžete začít //, pokud chcete aby začínala lomítkem.",
+ "Send as message": "Odeslat jako zprávu",
+ "Waiting for %(displayName)s to accept…": "Čekáme, než %(displayName)s přijme…",
+ "Start Verification": "Začít s ověřením",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Vaše zprávy jsou zabezpečené - pouze vy a jejich příjemci máte klíče potřebné k jejich přečtení.",
+ "Verify User": "Ověřit uživatele",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Pro lepší bezpečnost, ověřte uživatele zkontrolováním jednorázového kódu na vašich zařízeních.",
+ "Your messages are not secure": "Vaše zprávy nejsou zabezpečené",
+ "One of the following may be compromised:": "Něco z následujích věcí může být kompromitováno:",
+ "Your homeserver": "Váš domovský server",
+ "The homeserver the user you’re verifying is connected to": "Domovský server ověřovaného uživatele",
+ "Yours, or the other users’ internet connection": "Vaše připojení k internetu a nebo připojení ověřovaného uživatele",
+ "Yours, or the other users’ session": "Vaše relace a nebo relace ověřovaného uživatele",
+ "%(count)s sessions|other": "%(count)s relací",
+ "%(count)s sessions|one": "%(count)s relace",
+ "Hide sessions": "Skrýt relace",
+ "Verify by emoji": "Ověřit pomocí emoji",
+ "Verify by comparing unique emoji.": "Ověření porovnáním několika emoji.",
+ "Ask %(displayName)s to scan your code:": "Požádejte uživatele %(displayName)s o naskenování tohoto kódu pro vaše ověření:",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Pokud vám skenování kódů nefunguje, ověřte se porovnáním emoji.",
+ "You've successfully verified %(displayName)s!": "Úspěšně jste ověřili uživatele %(displayName)s!",
+ "Got it": "Dobře",
+ "Verification timed out. Start verification again from their profile.": "Čas na ověření vypršel. Začněte znovu z druhého profilu.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "Uživatel %(displayName)s zrušil ověření. Spustit ho můžete znovu z jeho profilu.",
+ "Encryption enabled": "Šifrování je zapnuté",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Zprávy v této místnosti jsou šifrované end-to-end. Více informací a možnost ověření uživatele najdete v jeho profilu.",
+ "Encryption not enabled": "Šifrování je vypnuté",
+ "The encryption used by this room isn't supported.": "Šifrování používané v této místnosti není podporované.",
+ "Clear all data in this session?": "Smazat všechna data v této relaci?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Výmaz všech dat v relaci je nevratný. Pokud nemáte zálohované šifrovací klíče, přijdete o šifrované zprávy.",
+ "Verify session": "Ověřit relaci",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Abychom ověřili, že je relace důvěryhodná, zkontrolujte prosím, že klíč v uživatelském nastavení na tom zařízení odpovídá následujícímu klíči:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Abychom ověřili, že tato relace je důvěryhodná, kontaktujte prosím jejího vlastníka nějakým dalším způsobem (osobně, telefonicky, apod.). Zkontrolujte spolu, že klíč v uživatelském nastavení na druhém zařízení odpovídá následujícímu klíči:",
+ "Session name": "Název relace",
+ "Session key": "Klíč relace",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Pokud odpovídá, zmáčkněte tlačítko ověřit. Pokud ne, druhé zařízení je pravděpodobně falešné a chcete ho zablokovat.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Ověření uživatele označí jeho relace za důvěryhodné a vaše relace budou důvěryhodné pro něj.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Ověření zařízení ho označí za důvěryhodné. Ověření konkrétního zařízení vám dát trochu klidu mysli navíc při používání šifrovaných zpráv.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Ověření zařízení ho označí za důvěryhodné a uživatelé, kteří věří vám budou také tomuto zařízení důvěřovat.",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Následující uživatele se nepovedlo do konverzace pozvat: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "Nepovedlo se nám vyrobit soukromou konverzaci. Zkontrolujte prosím, že pozvaný uživatel opravdu existuje a pak to zkuste znovu.",
+ "Something went wrong trying to invite the users.": "Při odesílání pozvánek se něco pokazilo.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Nemůžeme pozvat tyto uživatele. Zkontrolujte prosím, že opravdu existují a zkuste to znovu.",
+ "Failed to find the following users": "Nepovedlo se najít následující uživatele",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Následující uživatelé asi neexistují nebo jsou neplatní a nelze je pozvat: %(csvNames)s",
+ "Recent Conversations": "Nedávné konverzace",
+ "Suggestions": "Návrhy",
+ "Recently Direct Messaged": "Nedávno kontaktovaní",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Pokud nemůžete někoho najít, zeptejte se na uživatelské jméno, pošlete jim svoje (%(userId)s) a nebo pošlete odkaz na svůj profil.",
+ "Go": "Ok",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Pokud nemůžete někoho najít, zeptejte se na uživatelské jméno (např. @uzivatel:example.com) a nebo pošlete odkaz na tuto místnost.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Přidali jste novou relaci '%(displayName)s', která požaduje šifrovací klíče.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Vaše neověřená relace '%(displayName)s' požaduje šifrovací klíče.",
+ "Loading session info...": "Načítám informace o relaci...",
+ "New session": "Nová relace",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Použijte tuto relaci pro ověření nové a udělení jí přístupu k vašim šifrovaným zprávám:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Pokud jste se do této nové relace nepřihlásili, váš účet může být kompromitován.",
+ "This wasn't me": "To jsem nebyl/a já",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Toto vám umožní se přihlásit do dalších relací a vrátit se ke svému účtu poté, co se odhlásíte.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Máte zakázané posílání zpráv neověřeným relacím; abyste mohli zprávu odeslat, musíte je ověřit.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Doporučujeme projít ověřovací proces pro každou relaci abyste ověřili, že patří tomu, komu očekáváte. Můžete ale poslat zprávu i bez ověření, pokud chcete.",
+ "Room contains unknown sessions": "V místnosti jsou neověřené relace",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "V místnosti \"%(RoomName)s\" jsou relace, které jste ještě nikdy neviděli.",
+ "Unknown sessions": "Neznámá relace",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Zadejte svoje heslo a získejte přístup k bezpečnému úložišti historie zpráv a k identitě pro cross-signing pro snadné ověřování vašich relací.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Zadejte svůj obnovovací klíč a získejte přístup k bezpečnému úložišti historie zpráv a k identitě pro cross-signing pro snadné ověřování vašich relací.",
+ "Recovery key mismatch": "Obnovovací klíč neodpovídá",
+ "Incorrect recovery passphrase": "Nesprávné heslo pro obnovení",
+ "Backup restored": "Záloha byla nahrána",
+ "Enter recovery passphrase": "Zadejte heslo pro obnovení zálohy",
+ "Enter recovery key": "Zadejte obnovovací klíč",
+ "Confirm your identity by entering your account password below.": "Potvrďte svou identitu zadáním hesla ke svému účtu.",
+ "Message not sent due to unknown sessions being present": "Zpráva nebyla odeslána, protože jsou v místnosti neznámé relace",
+ "Show sessions, send anyway or cancel.": "Zobrazit relace, i tak odeslat, a nebo zrušit.",
+ "Verify this session to grant it access to encrypted messages.": "Ověřte relaci, aby získala přístup k šifrovaným zprávám.",
+ "Start": "Začít",
+ "Session verified": "Relace je ověřena",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Vaše nová relace je teď ověřená. Má přístup k šifrovaným zprávám a ostatní uživatelé jí budou věřit.",
+ "Your new session is now verified. Other users will see it as trusted.": "Vaše nová relace je teď ověřená. Ostatní uživatelé jí budou věřit.",
+ "Done": "Hotovo",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Bez dokončení ověření nebude mít nová relace přístup k šifrovaným zprávám.",
+ "Go Back": "Zpět",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Změna hesla resetuje šifrovací klíče ve všech vašich přihlášených relacích a přijdete tak o přístup k historickým zprávám. Před změnou hesla si nastavte zálohu klíčů nebo si klíče pro místnosti exportujte.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Všude jsme vás odhlásili, takže nedostáváte žádná oznámení. Můžete je znovu povolit tím, že se na všech svých zařízeních znovu přihlásíte.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Získejte znovu přístup k účtu a obnovte si šifrovací klíče uložené v této relaci. Bez nich nebudete schopni číst zabezpečené zprávy na některých zařízeních.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Varování: Vaše osobní data (včetně šifrovacích klíčů) jsou tu pořád uložena. Smažte je, pokud chcete tuto relaci zahodit, nebo se přihlaste pod jiný účet.",
+ "Sender session information": "Informace o relaci odesílatele",
+ "If you cancel now, you won't complete verifying the other user.": "Pokud teď proces zrušíte, tak nebude druhý uživatel ověřen.",
+ "If you cancel now, you won't complete verifying your other session.": "Pokud teď proces zrušíte, tak nebude druhá relace ověřena.",
+ "If you cancel now, you won't complete your secret storage operation.": "Pokud teď proces zrušíte, tak se nedokončí operace s bezpečným úložištěm.",
+ "Cancel entering passphrase?": "Zrušit zadávání hesla?",
+ "Setting up keys": "Příprava klíčů",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riotu chybí nějaké komponenty, které jsou potřeba pro vyhledávání v zabezpečených místnostech. Pokud chcete s touto funkcí experimentovat, tak si pořiďte vlastní Riot Desktop s přidanými komponentami.",
+ "Subscribing to a ban list will cause you to join it!": "Odebíráním seznamu zablokovaných uživatelů se přidáte do jeho místnosti!",
+ "If this isn't what you want, please use a different tool to ignore users.": "Pokud to nechcete, tak prosím použijte jiný nástroj na blokování uživatelů.",
+ "You cancelled verification. Start verification again from their profile.": "Zrušili jste ověření. Můžete začít znovu z druhého profilu.",
+ "Complete security": "Dokončení ověření",
+ "Restore your key backup to upgrade your encryption": "Pro aktualizaci šifrování obnovte klíče ze zálohy",
+ "Restore": "Obnovit",
+ "Enter your account password to confirm the upgrade:": "Potvrďte, že chcete aktualizaci provést zadáním svého uživatelského hesla:",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Server si vás potřebuje ověřit, abychom mohli provést aktualizaci.",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Aktualizujte tuto přihlášenou relaci abyste mohli ověřovat ostatní relace. Tím jim dáte přístup k šifrovaným konverzacím a ostatní uživatelé je jim budou automaticky věřit.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Zapněte v této přihlášené relaci šifrování abyste mohli ověřovat ostatní relace. Tím jim dáte přístup k šifrovaným konverzacím a ostatní uživatelé je jim budou automaticky věřit.",
+ "Show typing notifications": "Zobrazovat oznámení \"... právě píše...\"",
+ "Reset cross-signing and secret storage": "Obnovit bezpečné úložiště a cross-signing",
+ "Destroy cross-signing keys?": "Nenávratně smazat klíče pro cross-signing?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Smazání klíčů pro cross-signing je definitivní. Každý, kdo vás ověřil, teď uvidí bezpečnostní varování. Pokud jste zrovna neztratili všechna zařízení, ze kterých se můžete ověřit, tak to asi nechcete udělat.",
+ "Clear cross-signing keys": "Smazat klíče pro cross-signing",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Zabezpečte si šifrovací klíče silným heslem. Pro lepší bezpečnost by mělo být jiné než vaše heslo k přihlášení:",
+ "Enter a passphrase": "Zadejte heslo",
+ "The version of Riot": "Verze Riotu",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Zda používáte Riot na dotykovém zařízení",
+ "Whether you're using Riot as an installed Progressive Web App": "Zda používáte Riot jako nainstalovanou Progresivní Webovou Aplikaci",
+ "Your user agent": "Identifikace vašeho prohlížeče",
+ "The information being sent to us to help make Riot better includes:": "Abychom mohli Riot zlepšovat, posíláme si následující informace:",
+ "Verify this session by completing one of the following:": "Ověřte tuto relaci dokončením jednoho z následujících:",
+ "Scan this unique code": "Naskenujte tento jedinečný kód",
+ "or": "nebo",
+ "Compare unique emoji": "Porovnejte jedinečnou kombinaci emoji",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Pokud na žádném zařízení nemáte kameru, porovnejte jedinečnou kombinaci emoji",
+ "Not Trusted": "Nedůvěryhodné",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) se přihlásil do nové relace a neověřil ji:",
+ "Ask this user to verify their session, or manually verify it below.": "Poproste tohoto uživatele aby svojí relaci ověřil a nebo jí níže můžete ověřit manuálně.",
+ "Manually Verify": "Ověřit manuálně",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "Relace, kterou se snažíte ověřit, neumožňuje ověření QR kódem ani pomocí emoji, což je to, co Riot podporuje. Zkuste použít jiného klienta.",
+ "Verify by scanning": "Ověřte naskenováním",
+ "You declined": "Odmítli jste",
+ "%(name)s declined": "Uživatel %(name)s odmítl",
+ "accepting …": "přijímání …",
+ "declining …": "odmítání …",
+ "Back up my encryption keys, securing them with the same passphrase": "Zazálohovat šifrovací klíče zabezpečené tím stejným heslem",
+ "Enter your passphrase a second time to confirm it.": "Pro ověření zadejte své heslo podruhé.",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Uschovejte si kopii na bezpečném místě, například ve správci hesel nebo v trezoru.",
+ "Your recovery key": "Váš obnovovací klíč",
+ "Copy": "Zkopírovat",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Teď můžete ověřit své ostatní zařízení a další uživatelé, aby vaše komunikace byla bezpečná.",
+ "Upgrade your encryption": "Aktualizovat šifrování",
+ "Make a copy of your recovery key": "Vytvořit kopii svého obnovovacího klíče",
+ "You're done!": "Hotovo!",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Bez nastavení Bezpečného Obnovení Zpráv nebudete moci obnovit historii šifrovaných zpráv pokud se odhlásíte nebo použijete jinou relaci.",
+ "Create key backup": "Vytvořit zálohu klíčů",
+ "This session is encrypting history using the new recovery method.": "Tato relace šifruje historii zpráv s podporou nového způsobu obnovení.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Tato relace zjistila, že klíč a heslo k obnovení zpráv byly odstraněny.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Pokud se vám to stalo neúmyslně, můžete znovu nastavit zálohu zpráv pro tuto relaci. To znovu zašifruje historii zpráv novým způsobem.",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Když je to zakázané, zprávy v šifrovaných místnostech se nebudou objevovat ve výsledcích vyhledávání.",
+ "Disable": "Zakázat",
+ "Not currently downloading messages for any room.": "Aktuálně se nestahují žádné zprávy.",
+ "Downloading mesages for %(currentRoom)s.": "Stahují se zprávy pro %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot si bezpečně uchovává šifrované zprávy lokálně, aby v nich mohl vyhledávat:",
+ "Space used:": "Použitý prostor:",
+ "Indexed messages:": "Indexované zprávy:",
+ "Indexed rooms:": "Indexované místnosti:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s z %(totalRooms)s",
+ "Message downloading sleep time(ms)": "Čas na stažení zprávy (ms)",
+ "Sign In or Create Account": "Přihlásit nebo vytvořit nový účet",
+ "Use your account or create a new one to continue.": "Pro pokračování se přihlaste existujícím účtem, nebo si vytvořte nový.",
+ "Create Account": "Vytvořit účet",
+ "Order rooms by name": "Seřadit místnosti podle názvz",
+ "Show rooms with unread notifications first": "Zobrazovat místnosti s nepřečtenými oznámeními navrchu",
+ "Show shortcuts to recently viewed rooms above the room list": "Zobrazovat zkratky do nedávno zobrazených místností navrchu",
+ "Cancelling…": "Rušení…",
+ "Your homeserver does not support cross-signing.": "Váš domovský server nepodporuje cross-signing.",
+ "Homeserver feature support:": "Funkce podporované domovským serverem:",
+ "Accepting…": "Přijímání…",
+ "Accepting …": "Přijímání…",
+ "Declining …": "Odmítání…",
+ "Verification Requests": "Požadavky na ověření",
+ "Your account is not secure": "Váš účet není zabezpečený",
+ "Your password": "Vaše heslo",
+ "This session, or the other session": "Tato relace, nebo jiná",
+ "We recommend you change your password and recovery key in Settings immediately": "Doporučujeme vám si v nastavení okamžitě změnit své heslo a obnovovací klíče",
+ "exists": "existuje",
+ "The internet connection either session is using": "Internetové připojení používané jednou z relací",
+ "Displays information about a user": "Zobrazuje informace o uživateli",
+ "Mark all as read": "Označit vše jako přečtené",
+ "Not currently indexing messages for any room.": "Aktuálně neindexujeme žádné zprávy.",
+ "Currently indexing: %(currentRoom)s.": "Aktuálně indexujeme: %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s z %(totalRooms)s"
}
diff --git a/src/i18n/strings/cy.json b/src/i18n/strings/cy.json
index 951468c747..5795f3b5de 100644
--- a/src/i18n/strings/cy.json
+++ b/src/i18n/strings/cy.json
@@ -7,5 +7,6 @@
"The platform you're on": "Y platfform rydych chi arno",
"The version of Riot.im": "Fersiwn Riot.im",
"Whether or not you're logged in (we don't record your username)": "Os ydych wedi mewngofnodi ai peidio (nid ydym yn cofnodi'ch enw defnyddiwr)",
- "Your language of choice": "Eich iaith o ddewis"
+ "Your language of choice": "Eich iaith o ddewis",
+ "The version of Riot": "Fersiwn Riot"
}
diff --git a/src/i18n/strings/da.json b/src/i18n/strings/da.json
index 14063d0dd1..e0ed9a9bfa 100644
--- a/src/i18n/strings/da.json
+++ b/src/i18n/strings/da.json
@@ -3,7 +3,6 @@
"You have no visible notifications": "Du har ingen synlige meddelelser",
"Invites": "Invitationer",
"Favourites": "Favoritter",
- "People": "Personilg chat",
"Rooms": "Rum",
"Low priority": "Lav prioritet",
"Historical": "Historisk",
@@ -28,7 +27,6 @@
"Session ID": "Sessions ID",
"End-to-end encryption information": "End-to-end krypterings oplysninger",
"Event information": "Hændelses information",
- "Sender device information": "Afsende enheds-oplysning",
"Displays action": "Viser handling",
"Bans user with given id": "Forbyder bruger med givet id",
"Deops user with given id": "Fjerner OP af bruger med givet id",
@@ -146,10 +144,6 @@
"Restricted": "Begrænset",
"Moderator": "Moderator",
"Start a chat": "Start en chat",
- "Who would you like to communicate with?": "Hvem vil du kommunikere med?",
- "Start Chat": "Start Chat",
- "Invite new room members": "Inviter nye rummedlemmer",
- "Send Invites": "Send invitationer",
"Operation failed": "Operation mislykkedes",
"Failed to invite": "Kunne ikke invitere",
"Failed to invite the following users to the %(roomName)s room:": "Kunne ikke invitere de følgende brugere til %(roomName)s rummet:",
@@ -172,13 +166,7 @@
"You are now ignoring %(userId)s": "Du ignorere nu %(userId)s",
"Unignored user": "Holdt op med at ignorere bruger",
"You are no longer ignoring %(userId)s": "Du ignorer ikke længere %(userId)s",
- "Unknown (user, device) pair:": "Ukendt (bruger, enhed) par:",
- "Device already verified!": "Enhed allerede verificeret!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ADVARSEL: Enhed allerede verificeret, men nøgler PASSER IKKE!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ADVARSEL: NØGLE VERIFICERING FEJLEDE! Signaturnøglen for %(userId)s and enhed %(deviceId)s er \"%(fprint)s\" hvilket ikke passer med den oplyste nøgle \"%(fingerprint)s\". Dette kan betyde jeres kommunikation bliver opsnappet!",
"Verified key": "Verificeret nøgle",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Signaturnøglen du oplste passer med nøglen fra %(userId)ss enhed %(deviceId)s. Enheden er markeret som verificeret.",
- "Unrecognised command:": "Ukendt kommando:",
"Reason": "Årsag",
"%(senderName)s requested a VoIP conference.": "%(senderName)s forespurgte en VoIP konference.",
"%(senderName)s invited %(targetName)s.": "%(senderName)s inviterede %(targetName)s.",
@@ -259,7 +247,6 @@
"Noisy": "Støjende",
"Collecting app version information": "Indsamler app versionsoplysninger",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Slet rumaliaset %(alias)s og fjern %(name)s fra kataloget?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Dette vil tillade dig at vende tilbage til din konto efter at have logget ud og at logge ind på andre enheder.",
"Keywords": "Søgeord",
"Enable notifications for this account": "Aktivér underretninger for dette brugernavn",
"Invite to this community": "Inviter til dette fællesskab",
@@ -361,7 +348,6 @@
"The information being sent to us to help make Riot.im better includes:": "Information som sendes til os for at kunne forbedre Riot.im inkluderer:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Hvis denne side indeholder identificerbar information, så som rum, bruger eller gruppe ID, bliver disse fjernet før dataene sendes til serveren.",
"Call Failed": "Opkald mislykkedes",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Der er ukendte enheder i dette rum: hvis du fortsætter uden at bekræfte dem, kan det være muligt at nogen aflytter dit opkald.",
"Review Devices": "Gennemse enheder",
"Call Anyway": "Ring op alligevel",
"Answer Anyway": "Tag imod alligevel",
@@ -391,8 +377,6 @@
"Unable to load! Check your network connectivity and try again.": "Kunne ikke hente! Tjek din netværksforbindelse og prøv igen.",
"Registration Required": "Registrering påkrævet",
"You need to register to do this. Would you like to register now?": "Du behøver registrere dig for at gøre dette. Vil du registrere nu?",
- "Email, name or Matrix ID": "E-mail, navn eller Matrix-ID",
- "Failed to start chat": "Kunne ikke starte chatten",
"Failed to invite users to the room:": "Kunne ikke invitere brugere til rummet:",
"Missing roomId.": "roomId mangler.",
"Messages": "Beskeder",
@@ -402,12 +386,7 @@
"Sends a message as plain text, without interpreting it as markdown": "Sender en besked som ren tekst, uden at fortolke den som Markdown",
"Upgrades a room to a new version": "Opgraderer et rum til en ny version",
"You do not have the required permissions to use this command.": "Du har ikke de nødvendige rettigheder for at udføre denne kommando.",
- "Room upgrade confirmation": "Rum opgraderings information",
- "Upgrading a room can be destructive and isn't always necessary.": "At opgradere et rum kan være skadelig og er ikke altid nødvendigt.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Rumopgraderinger anbefales typisk når en rumversion betragtes som ustabil. Ustabile rumversioner kan have fejl, manglende funktioner eller sikkerhedsbrister.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Rumopgraderinger påvirker normalt kun servernes behandling af rum. Hvis du har problemer med din Riot-klient bedes du oprette en sag på .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Advarsel: Opgradering af et rum flytter ikke automatisk rummets medlemmer til den nye version af rummet. Vi sender et link til den nye version i den gamle version af rummet - rummets medlemmer må klikke på dette link for at tilgå det nye rum.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Bekræft venligst at du vil fortsætte med at opgradere rummet fra til .",
"Changes your display nickname in the current room only": "Ændrer dit viste navn kun for det nuværende rum",
"Changes the avatar of the current room": "Ændrer avataren af det nuværende rum",
"Changes your avatar in this current room only": "Ændrer din avatar kun for det nuværende rum",
@@ -427,7 +406,6 @@
"Adds a custom widget by URL to the room": "Tilføjer en widget til rummet vha. URL",
"Please supply a https:// or http:// widget URL": "Oplys en https:// eller http:// widget URL",
"You cannot modify widgets in this room.": "Du kan ikke ændre widgets i dette rum.",
- "Verifies a user, device, and pubkey tuple": "Bekræfter en tupel (kombination) af bruger, enhed og offentlig nøgle",
"Forces the current outbound group session in an encrypted room to be discarded": "Tvinger den nuværende udgående gruppe-session i et krypteret rum til at blive kasseret",
"Sends the given message coloured as a rainbow": "Sender beskeden med regnbuefarver",
"Sends the given emote coloured as a rainbow": "Sender emoji'en med regnbuefarver",
@@ -457,7 +435,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s gjorde fremtidig rumhistorik synligt for alle rummedlemmer.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s gjorde fremtidig rumhistorik synligt for alle.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s gjorde fremtidig rumhistorik synligt for ukendt (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s aktiverede end-to-end kryptering (algoritme %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s fra %(fromPowerLevel)s til %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s ændrede rettighedsniveau af %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s ændrede de fastgjorte beskeder for rummet.",
@@ -537,8 +514,10 @@
"Group & filter rooms by custom tags (refresh to apply changes)": "Gruppér og filtrér rum efter egne tags (opdater for at anvende ændringerne)",
"Render simple counters in room header": "Vis simple tællere i rumhovedet",
"Multiple integration managers": "Flere integrationsmanagere",
- "Use the new, faster, composer for writing messages": "Brug den nye, hurtigere editor for at forfatte beskeder",
"Enable Emoji suggestions while typing": "Aktiver emoji forslag under indtastning",
"Use compact timeline layout": "Brug kompakt tidslinje",
- "Show a placeholder for removed messages": "Vis en pladsholder for fjernede beskeder"
+ "Show a placeholder for removed messages": "Vis en pladsholder for fjernede beskeder",
+ "The version of Riot": "Riot versionen",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Hvorvidt du benytter Riot på en enhed, hvor touch er den primære input-grænseflade",
+ "Your user agent": "Din user agent"
}
diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json
index 1e75c59a21..9565299b8d 100644
--- a/src/i18n/strings/de_DE.json
+++ b/src/i18n/strings/de_DE.json
@@ -3,7 +3,6 @@
"You have no visible notifications": "Du hast keine sichtbaren Benachrichtigungen",
"Invites": "Einladungen",
"Favourites": "Favoriten",
- "People": "Personen",
"Rooms": "Räume",
"Low priority": "Niedrige Priorität",
"Historical": "Archiv",
@@ -28,7 +27,6 @@
"Session ID": "Sitzungs-ID",
"End-to-end encryption information": "Informationen zur Ende-zu-Ende-Verschlüsselung",
"Event information": "Ereignis-Information",
- "Sender device information": "Geräte-Informationen des Absenders",
"Displays action": "Zeigt Aktionen an",
"Bans user with given id": "Verbannt den Benutzer mit der angegebenen ID",
"Deops user with given id": "Setzt das Berechtigungslevel beim Benutzer mit der angegebenen ID zurück",
@@ -54,7 +52,6 @@
"Deactivate Account": "Benutzerkonto schließen",
"Failed to send email": "Fehler beim Senden der E-Mail",
"Account": "Benutzerkonto",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Dein Passwort wurde erfolgreich geändert. Du wirst erst Benachrichtigungen auf anderen Geräten empfangen können, wenn du dich dort erneut anmeldest",
"Click here to fix": "Zum reparieren hier klicken",
"Default": "Standard",
"Export E2E room keys": "E2E-Raum-Schlüssel exportieren",
@@ -72,14 +69,11 @@
"I have verified my email address": "Ich habe meine E-Mail-Adresse verifiziert",
"Import E2E room keys": "E2E-Raum-Schlüssel importieren",
"Invalid Email Address": "Ungültige E-Mail-Adresse",
- "Invite new room members": "Neue Raum-Mitglieder einladen",
"Sign in with": "Anmelden mit",
"Leave room": "Raum verlassen",
"Logout": "Abmelden",
"Manage Integrations": "Integrationen verwalten",
"Moderator": "Moderator",
- "Never send encrypted messages to unverified devices from this device": "Niemals verschlüsselte Nachrichten an unverifizierte Geräte von diesem Gerät aus versenden",
- "Never send encrypted messages to unverified devices in this room from this device": "Niemals verschlüsselte Nachrichten an unverifizierte Geräte in diesem Raum von diesem Gerät aus senden",
"Notifications": "Benachrichtigungen",
"": "",
"No users have specific privileges in this room": "Kein Benutzer hat in diesem Raum besondere Berechtigungen",
@@ -94,14 +88,12 @@
"Remove": "Entfernen",
"Return to login screen": "Zur Anmeldemaske zurückkehren",
"Room Colour": "Raumfarbe",
- "Send Invites": "Einladungen senden",
"Send Reset Email": "E-Mail zum Zurücksetzen senden",
"Settings": "Einstellungen",
"Signed Out": "Abgemeldet",
"Sign out": "Abmelden",
"Someone": "Jemand",
"Start a chat": "Chat starten",
- "Start Chat": "Chat beginnen",
"Success": "Erfolg",
"This doesn't appear to be a valid email address": "Dies scheint keine gültige E-Mail-Adresse zu sein",
"This room is not accessible by remote Matrix servers": "Remote-Matrix-Server können auf diesen Raum nicht zugreifen",
@@ -118,13 +110,12 @@
"Upload file": "Datei hochladen",
"Users": "Benutzer",
"Verification Pending": "Verifizierung ausstehend",
- "Video call": "Video-Anruf",
+ "Video call": "Videoanruf",
"Voice call": "Sprachanruf",
"VoIP conference finished.": "VoIP-Konferenz wurde beendet.",
"VoIP conference started.": "VoIP-Konferenz gestartet.",
"Who can access this room?": "Wer hat Zugang zu diesem Raum?",
"Who can read history?": "Wer kann den bisherigen Chatverlauf lesen?",
- "Who would you like to communicate with?": "Mit wem möchtest du kommunizieren?",
"You do not have permission to post to this room": "Du hast keine Berechtigung, in diesem Raum etwas zu senden",
"Call Timeout": "Anruf-Timeout",
"Existing Call": "Bereits bestehender Anruf",
@@ -185,10 +176,10 @@
"%(targetName)s joined the room.": "%(targetName)s hat den Raum betreten.",
"%(senderName)s kicked %(targetName)s.": "%(senderName)s hat %(targetName)s gekickt.",
"%(targetName)s left the room.": "%(targetName)s hat den Raum verlassen.",
- "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s hat den zukünftigen Chatverlauf sichtbar gemacht für alle Raum-Mitglieder (ab dem Zeitpunkt, an dem sie eingeladen wurden).",
- "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s hat den zukünftigen Chatverlauf sichtbar gemacht für alle Raum-Mitglieder (ab dem Zeitpunkt, an dem sie beigetreten sind).",
+ "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s hat den zukünftigen Chatverlauf für alle Raum-Mitglieder sichtbar gemacht (ab dem Zeitpunkt, an dem sie eingeladen wurden).",
+ "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s hat den zukünftigen Chatverlauf für alle Raum-Mitglieder sichtbar gemacht (ab dem Zeitpunkt, an dem sie beigetreten sind).",
"%(senderName)s made future room history visible to all room members.": "%(senderName)s hat den zukünftigen Chatverlauf sichtbar gemacht für: Alle Raum-Mitglieder.",
- "%(senderName)s made future room history visible to anyone.": "%(senderName)s hat den zukünftigen Chatverlauf sichtbar gemacht für Alle.",
+ "%(senderName)s made future room history visible to anyone.": "%(senderName)s hat den zukünftigen Chatverlauf sichtbar gemacht für: Alle.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s hat den zukünftigen Chatverlauf für Unbekannte sichtbar gemacht (%(visibility)s).",
"Missing room_id in request": "Fehlende room_id in Anfrage",
"Missing user_id in request": "Fehlende user_id in Anfrage",
@@ -206,7 +197,6 @@
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s hat den Anzeigenamen geändert in %(displayName)s.",
"This room is not recognised.": "Dieser Raum wurde nicht erkannt.",
"To use it, just wait for autocomplete results to load and tab through them.": "Um diese Funktion zu nutzen, warte einfach auf die Autovervollständigungsergebnisse und benutze dann die TAB-Taste zum durchblättern.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s hat die Ende-zu-Ende-Verschlüsselung aktiviert (Algorithmus: %(algorithm)s).",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s hat die Verbannung von %(targetName)s aufgehoben.",
"Usage": "Verwendung",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s hat die Einladung für %(targetName)s zurückgezogen.",
@@ -228,7 +218,6 @@
"Click to mute video": "Klicken, um das Video stummzuschalten",
"Command error": "Befehlsfehler",
"Decrypt %(text)s": "%(text)s entschlüsseln",
- "Devices": "Geräte",
"Direct chats": "Direkt-Chats",
"Disinvite": "Einladung zurückziehen",
"Download %(text)s": "%(text)s herunterladen",
@@ -240,19 +229,12 @@
"Failed to reject invite": "Ablehnen der Einladung ist fehlgeschlagen",
"Failed to set display name": "Anzeigename konnte nicht gesetzt werden",
"Fill screen": "Fülle Bildschirm",
- "Hide Text Formatting Toolbar": "Text-Formatierungs-Werkzeugleiste verbergen",
"Incorrect verification code": "Falscher Verifizierungscode",
- "Invalid alias format": "Ungültiges Alias-Format",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ist kein gültiges Alias-Format",
"Join Room": "Dem Raum beitreten",
"Kick": "Kicken",
"Local addresses for this room:": "Lokale Adressen dieses Raumes:",
- "Markdown is disabled": "Markdown ist deaktiviert",
- "Markdown is enabled": "Markdown ist aktiviert",
- "Message not sent due to unknown devices being present": "Nachrichten wurden nicht gesendet, da unbekannte Geräte anwesend sind",
"New address (e.g. #foo:%(localDomain)s)": "Neue Adresse (z. B. #foo:%(localDomain)s)",
"not specified": "nicht spezifiziert",
- "No devices with registered encryption keys": "Keine Geräte mit registrierten Verschlüsselungs-Schlüsseln",
"No more results": "Keine weiteren Ergebnisse",
"No results": "Keine Ergebnisse",
"OK": "OK",
@@ -267,16 +249,13 @@
"This room has no local addresses": "Dieser Raum hat keine lokale Adresse",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Es wurde versucht, einen bestimmten Punkt im Chatverlauf dieses Raumes zu laden. Dir fehlt jedoch die Berechtigung, die betreffende Nachricht zu sehen.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Es wurde versucht, einen bestimmten Punkt im Chatverlauf dieses Raumes zu laden, der Punkt konnte jedoch nicht gefunden werden.",
- "Unable to load device list": "Geräteliste konnte nicht geladen werden",
"Unknown room %(roomId)s": "Unbekannter Raum %(roomId)s",
- "You seem to be in a call, are you sure you want to quit?": "Du scheinst in einem Anruf zu sein. Bist du sicher schließen zu wollen?",
+ "You seem to be in a call, are you sure you want to quit?": "Du scheinst in einem Gespräch zu sein, bist du sicher, dass du aufhören willst?",
"You seem to be uploading files, are you sure you want to quit?": "Du scheinst Dateien hochzuladen. Bist du sicher schließen zu wollen?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Du wirst diese Änderung nicht rückgängig machen können, da der Benutzer dasselbe Berechtigungslevel wie du selbst erhalten wird.",
"Make Moderator": "Zum Moderator ernennen",
"Room": "Raum",
"Cancel": "Abbrechen",
- "bold": "Fett",
- "italic": "Kursiv",
"Click to unmute video": "Klicken, um die Video-Stummschaltung zu deaktivieren",
"Click to unmute audio": "Klicken, um den Ton wieder einzuschalten",
"Failed to load timeline position": "Laden der Chat-Position fehlgeschlagen",
@@ -291,7 +270,6 @@
"Confirm password": "Passwort bestätigen",
"Current password": "Aktuelles Passwort",
"Email": "E-Mail",
- "matrix-react-sdk version:": "Version von matrix-react-sdk:",
"New passwords don't match": "Die neuen Passwörter stimmen nicht überein",
"olm version:": "Version von olm:",
"Passwords can't be empty": "Passwortfelder dürfen nicht leer sein",
@@ -302,7 +280,6 @@
"Error decrypting attachment": "Fehler beim Entschlüsseln des Anhangs",
"Mute": "Stummschalten",
"Operation failed": "Aktion fehlgeschlagen",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Eine Änderung des Passworts setzt derzeit alle Schlüssel für die E2E-Verschlüsselung auf allen verwendeten Geräten zurück. Bereits verschlüsselte Chat-Inhalte sind somit nur noch lesbar, wenn du zunächst alle Schlüssel exportierst und später wieder importierst. Wir arbeiten an einer Verbesserung dieser momentan noch notwendigen Vorgehensweise.",
"Unmute": "Stummschalten aufheben",
"Invalid file%(extra)s": "Ungültige Datei%(extra)s",
"Please select the destination room for this message": "Bitte den Raum auswählen, an den diese Nachricht gesendet werden soll",
@@ -320,14 +297,8 @@
"Unknown error": "Unbekannter Fehler",
"Incorrect password": "Ungültiges Passwort",
"To continue, please enter your password.": "Zum fortfahren bitte Passwort eingeben.",
- "Device name": "Geräte-Name",
- "Device key": "Geräte-Schlüssel",
- "Verify device": "Gerät verifizieren",
"I verify that the keys match": "Ich bestätige, dass die Schlüssel identisch sind",
"Unable to restore session": "Sitzungswiederherstellung fehlgeschlagen",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Nicht verifizierte Geräte werden aktuell blockiert und auf die Sperrliste gesetzt. Um Nachrichten an diese Geräte senden zu können, müssen diese zunächst verifiziert werden.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" enthält Geräte, die du bislang noch nicht gesehen hast.",
- "Unknown devices": "Unbekannte Geräte",
"Unknown Address": "Unbekannte Adresse",
"Verify...": "Verifizieren...",
"ex. @bob:example.com": "z. B. @bob:example.com",
@@ -357,15 +328,12 @@
"Online": "Online",
" (unsupported)": " (nicht unterstützt)",
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Dieser Prozess erlaubt es dir, die zuvor von einem anderen Matrix-Client exportierten Verschlüsselungs-Schlüssel zu importieren. Danach kannst du alle Nachrichten entschlüsseln, die auch bereits auf dem anderen Client entschlüsselt werden konnten.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Um sicherzustellen, dass diesem Gerät vertraut werden kann, kontaktiere bitte den Eigentümer des Geräts über ein anderes Kommunikationsmittel (z.B. im persönlichen Gespräch oder durch einen Telefonanruf) und vergewissere dich, dass der Schlüssel, den der Eigentümer in den Benutzer-Einstellungen für dieses Gerät sieht, mit dem folgenden Schlüssel identisch ist:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Wenn er identisch ist, bitte den Bestätigen-Button unten verwenden. Falls er nicht identisch sein sollte, hat eine Fremdperson Kontrolle über dieses Gerät und es sollte gesperrt werden.",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Wenn du zuvor eine aktuellere Version von Riot verwendet hast, ist deine Sitzung eventuell inkompatibel mit dieser Version. Bitte schließe dieses Fenster und kehre zur aktuelleren Version zurück.",
"Blacklist": "Blockieren",
"Unblacklist": "Entblockieren",
"Unverify": "Verifizierung widerrufen",
"Drop file here to upload": "Datei hier loslassen zum hochladen",
"Idle": "Untätig",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Wir empfehlen dir, für jedes Gerät den Verifizierungsprozess durchzuführen, um sicherzustellen, dass sie tatsächlich ihrem rechtmäßigem Eigentümer gehören. Alternativ kannst du die Nachrichten auch ohne Verifizierung erneut senden.",
"Ongoing conference call%(supportedText)s.": "Laufendes Konferenzgespräch%(supportedText)s.",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Du wirst jetzt auf die Website eines Drittanbieters weitergeleitet, damit du dein Benutzerkonto für die Verwendung von %(integrationsUrl)s authentifizieren kannst. Möchtest du fortfahren?",
"Start automatically after system login": "Nach System-Login automatisch starten",
@@ -380,30 +348,22 @@
"Default Device": "Standard-Gerät",
"Microphone": "Mikrofon",
"Camera": "Kamera",
- "Device already verified!": "Gerät bereits verifiziert!",
"Export": "Export",
"Import": "Importieren",
"Incorrect username and/or password.": "Inkorrekter Nutzername und/oder Passwort.",
"Results from DuckDuckGo": "Ergebnisse von DuckDuckGo",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Den Signaturschlüssel den du bereitstellst stimmt mit dem Schlüssel den du von %(userId)s's Gerät %(deviceId)s empfangen hast überein. Gerät als verifiziert markiert.",
"Add a topic": "Thema hinzufügen",
"Anyone": "Jeder",
"Are you sure you want to leave the room '%(roomName)s'?": "Bist du sicher, dass du den Raum '%(roomName)s' verlassen möchtest?",
"Custom level": "Benutzerdefiniertes Berechtigungslevel",
- "Device ID:": "Geräte-Kennung:",
"device id: ": "Geräte-ID: ",
- "Device key:": "Geräte-Schlüssel:",
"Publish this room to the public in %(domain)s's room directory?": "Diesen Raum im Raum-Verzeichnis von %(domain)s veröffentlichen?",
"Register": "Registrieren",
"Save": "Speichern",
- "Unknown (user, device) pair:": "Unbekanntes (Benutzer-/Gerät-)Paar:",
"Remote addresses for this room:": "Remote-Adressen für diesen Raum:",
- "Unrecognised command:": "Unbekannter Befehl:",
"Unrecognised room alias:": "Unbekannter Raum-Alias:",
"Use compact timeline layout": "Kompaktes Chatverlauf-Layout verwenden",
"Verified key": "Verifizierter Schlüssel",
- "WARNING: Device already verified, but keys do NOT MATCH!": "WARNUNG: Gerät bereits verifiziert, aber Schlüssel sind NICHT GLEICH!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "WARNUNG: SCHLÜSSEL-VERIFIZIERUNG FEHLGESCHLAGEN! Der Signatur-Schlüssel für %(userId)s und das Gerät %(deviceId)s ist \"%(fprint)s\", welcher nicht mit dem bereitgestellten Schlüssel \"%(fingerprint)s\" übereinstimmt. Dies kann bedeuten, dass deine Kommunikation abgehört wird!",
"You have disabled URL previews by default.": "Du hast die URL-Vorschau standardmäßig deaktiviert.",
"You have enabled URL previews by default.": "Du hast die URL-Vorschau standardmäßig aktiviert.",
"%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s hat das Raum-Bild geändert zu ",
@@ -438,26 +398,21 @@
"Disable Notifications": "Benachrichtigungen deaktivieren",
"Drop File Here": "Lasse Datei hier los",
"Enable Notifications": "Benachrichtigungen aktivieren",
- "Encrypted by an unverified device": "Von einem nicht verifizierten Gerät verschlüsselt",
"Failed to upload profile picture!": "Hochladen des Profilbild's fehlgeschlagen!",
"Incoming call from %(name)s": "Eingehender Anruf von %(name)s",
- "Incoming video call from %(name)s": "Eingehender Video-Anruf von %(name)s",
- "Incoming voice call from %(name)s": "Eingehender Sprach-Anruf von %(name)s",
+ "Incoming video call from %(name)s": "Eingehender Videoanruf von %(name)s",
+ "Incoming voice call from %(name)s": "Eingehender Sprachanruf von %(name)s",
"Join as voice or video.": "Per Sprachanruf oder Videoanruf beitreten.",
"Last seen": "Zuletzt gesehen",
"No display name": "Kein Anzeigename",
"Private Chat": "Privater Chat",
"Public Chat": "Öffentlicher Chat",
- "Room contains unknown devices": "Raum enthält unbekannte Geräte",
"%(roomName)s does not exist.": "%(roomName)s existert nicht.",
"%(roomName)s is not accessible at this time.": "%(roomName)s ist aktuell nicht zugreifbar.",
"Seen by %(userName)s at %(dateTime)s": "Gesehen von %(userName)s um %(dateTime)s",
"Send anyway": "Trotzdem senden",
"Start authentication": "Authentifizierung beginnen",
- "Show Text Formatting Toolbar": "Text-Formatierungs-Werkzeugleiste anzeigen",
"This room": "In diesem Raum",
- "Undecryptable": "Nicht entschlüsselbar",
- "Unencrypted message": "Nicht verschlüsselbare Nachricht",
"unknown caller": "Unbekannter Anrufer",
"Unnamed Room": "Unbenannter Raum",
"Upload new:": "Neue(s) hochladen:",
@@ -476,9 +431,7 @@
"Start verification": "Verifizierung starten",
"Share without verifying": "Ohne Verifizierung verwenden",
"Ignore request": "Anforderung ignorieren",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Du hast das neue Gerät '%(displayName)s' hinzugefügt, welches nun Verschlüsselungs-Schlüssel anfordert.",
"Encryption key request": "Anforderung von Verschlüsselungs-Schlüsseln",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Dein nicht verifiziertes Gerät '%(displayName)s' fordert Verschlüsselungs-Schlüssel an.",
"Check for update": "Suche nach Updates",
"Add a widget": "Widget hinzufügen",
"Allow": "Erlauben",
@@ -490,16 +443,14 @@
"Unable to create widget.": "Widget kann nicht erstellt werden.",
"You are not in this room.": "Du bist nicht in diesem Raum.",
"You do not have permission to do that in this room.": "Du hast dafür keine Berechtigung in diesem Raum.",
- "Verifies a user, device, and pubkey tuple": "Verifiziert ein Tupel aus Benutzer, Gerät und öffentlichem Schlüssel",
- "Loading device info...": "Lädt Geräte-Info...",
"Example": "Beispiel",
"Create": "Erstellen",
"Featured Rooms:": "Hervorgehobene Räume:",
"Featured Users:": "Hervorgehobene Benutzer:",
"Automatically replace plain text Emoji": "Klartext-Emoji automatisch ersetzen",
"Failed to upload image": "Bild-Hochladen fehlgeschlagen",
- "AM": "a. m.",
- "PM": "p. m.",
+ "AM": "a.m.",
+ "PM": "p.m.",
"The maximum permitted number of widgets have already been added to this room.": "Die maximal erlaubte Anzahl an hinzufügbaren Widgets für diesen Raum wurde erreicht.",
"Cannot add any more widgets": "Kann keine weiteren Widgets hinzufügen",
"%(widgetName)s widget added by %(senderName)s": "%(senderName)s hat das Widget %(widgetName)s hinzugefügt",
@@ -574,7 +525,7 @@
"Invalid community ID": "Ungültige Community-ID",
"'%(groupId)s' is not a valid community ID": "'%(groupId)s' ist keine gültige Community-ID",
"New community ID (e.g. +foo:%(localDomain)s)": "Neue Community-ID (z. B. +foo:%(localDomain)s)",
- "Remove from community": "Aus Community entfernen",
+ "Remove from community": "Aus der Community entfernen",
"Failed to remove user from community": "Entfernen des Benutzers aus der Community fehlgeschlagen",
"Filter community members": "Community-Mitglieder filtern",
"Filter community rooms": "Community-Räume filtern",
@@ -605,7 +556,7 @@
"Message removed": "Nachricht entfernt",
"Mention": "Erwähnen",
"Invite": "Einladen",
- "Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Das Löschen eines Widgets entfernt das Widget für alle Benutzer in diesem Raum. Möchtest du dieses Widget wirklich löschen?",
+ "Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Das Löschen eines Widgets entfernt es für alle Nutzer in diesem Raum. Möchtest du dieses Widget wirklich löschen?",
"Mirror local video feed": "Lokalen Video-Feed spiegeln",
"Failed to withdraw invitation": "Die Einladung konnte nicht zurückgezogen werden",
"Community IDs may only contain characters a-z, 0-9, or '=_-./'": "Community-IDs dürfen nur die folgenden Zeichen enthalten: a-z, 0-9, or '=_-./'",
@@ -705,13 +656,10 @@
"Flair": "Abzeichen",
"Showing flair for these communities:": "Abzeichen für diese Communities zeigen:",
"This room is not showing flair for any communities": "Dieser Raum zeigt für keine Communities die Abzeichen an",
- "Delete %(count)s devices|other": "Lösche %(count)s Geräte",
- "Delete %(count)s devices|one": "Lösche Gerät",
"Something went wrong when trying to get your communities.": "Beim Laden deiner Communites ist etwas schief gelaufen.",
"Display your community flair in rooms configured to show it.": "Zeige deinen Community-Flair in den Räumen, die es erlauben.",
"This homeserver doesn't offer any login flows which are supported by this client.": "Dieser Heimserver verfügt über keinen, von diesem Client unterstütztes Anmeldeverfahren.",
"Call Failed": "Anruf fehlgeschlagen",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "In diesem Raum befinden sich nicht-verifizierte Geräte. Wenn du fortfährst ohne sie zu verifizieren, könnten Angreifer den Anruf mithören.",
"Review Devices": "Geräte ansehen",
"Call Anyway": "Trotzdem anrufen",
"Answer Anyway": "Trotzdem annehmen",
@@ -743,7 +691,6 @@
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Du wirst nicht in der Lage sein, die Änderung zurückzusetzen, da du dich degradierst. Wenn du der letze Nutzer mit Berechtigungen bist, wird es unmöglich sein die Privilegien zurückzubekommen.",
"Community IDs cannot be empty.": "Community-IDs können nicht leer sein.",
- "Show devices, send anyway or cancel.": "Geräte anzeigen, trotzdem senden oder abbrechen.",
"Learn more about how we use analytics.": "Lerne mehr darüber, wie wir die Analysedaten nutzen.",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Wenn diese Seite identifizierbare Informationen wie Raum, Nutzer oder Gruppen-ID enthalten, werden diese Daten entfernt bevor sie an den Server gesendet werden.",
"Which officially provided instance you are using, if any": "Welche offiziell angebotene Instanz du nutzt, wenn es der Fall ist",
@@ -754,13 +701,9 @@
"Failed to remove tag %(tagName)s from room": "Fehler beim Entfernen des \"%(tagName)s\"-Tags von dem Raum",
"Failed to add tag %(tagName)s to room": "Fehler beim Hinzufügen des \"%(tagName)s\"-Tags an dem Raum",
"Did you know: you can use communities to filter your Riot.im experience!": "Wusstest du: Du kannst Communities nutzen um deine Riot.im-Erfahrung zu filtern!",
- "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Um einen Filter zu setzen, siehe einen Community-Bild auf das Filter-Panel ganz links. Du kannst jederzeit auf einen Avatar im Filter-Panel klicken um nur die Räume und Personen aus der Community zu sehen.",
+ "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Um einen Filter zu setzen, ziehe ein Community-Bild auf das Filter-Panel ganz links. Du kannst jederzeit auf einen Avatar im Filter-Panel klicken um nur die Räume und Personen aus der Community zu sehen.",
"Clear filter": "Filter zurücksetzen",
- "Your key share request has been sent - please check your other devices for key share requests.": "Die Anfrage den Schlüssel zu teilen wurden gesendet. Bitte sieh auf deinen anderen Geräte nach der Anfrage.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Schlüssel-Anfragen wurden automatisch zu den anderen Geräten gesendet. Wenn du diese Anfragen auf deinen anderen Geräten abgelehnt oder verpasst hast, klicke hier um die Schlüssel für diese Sitzung erneut anzufragen.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Wenn deine anderen Geräte keine Schlüssel für diese Nachricht haben, wirst du diese nicht entschlüsseln können.",
"Key request sent.": "Schlüssel-Anfragen gesendet.",
- "Re-request encryption keys from your other devices.": "Verschlüsselungs-Schlüssel von deinen anderen Geräten erneut anfragen.",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Wenn du einen Fehler via GitHub gemeldet hast, können Fehlerberichte uns helfen um das Problem zu finden. Sie enthalten Anwendungsdaten wie deinen Nutzernamen, Raum- und Gruppen-ID's und Aliase die du besucht hast und Nutzernamen anderer Nutzer. Sie enthalten keine Nachrichten.",
"Submit debug logs": "Fehlerberichte einreichen",
"Code": "Code",
@@ -823,7 +766,6 @@
"Noisy": "Laut",
"Collecting app version information": "App-Versionsinformationen werden abgerufen",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Soll der Raum-Alias %(alias)s gelöscht und der %(name)s aus dem Verzeichnis entfernt werden?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Dies erlaubt dir, dich wieder an deinem Konto anzumelden, nachdem du dich abgemeldet hast.",
"Keywords": "Schlüsselwörter",
"Enable notifications for this account": "Benachrichtigungen für dieses Benutzerkonto aktivieren",
"Invite to this community": "In diese Community einladen",
@@ -838,7 +780,7 @@
"Developer Tools": "Entwicklerwerkzeuge",
"Preparing to send logs": "Senden von Logs wird vorbereitet",
"Remember, you can always set an email address in user settings if you change your mind.": "Vergiss nicht, dass du in den Benutzereinstellungen jederzeit eine E-Mail-Adresse setzen kannst, wenn du deine Meinung änderst.",
- "Explore Account Data": "Benutzerkonto-Daten analysieren",
+ "Explore Account Data": "Konto-Daten erkunden",
"All messages (noisy)": "Alle Nachrichten (laut)",
"Saturday": "Samstag",
"I understand the risks and wish to continue": "Ich verstehe das Risiko und möchte fortfahren",
@@ -913,7 +855,6 @@
"Your device resolution": "Deine Bildschirmauflösung",
"Popout widget": "Widget ausklinken",
"Always show encryption icons": "Immer Verschlüsselungssymbole zeigen",
- "Unable to reply": "Antworten nicht möglich",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Das Ereignis, auf das geantwortet wurde, konnte nicht geladen werden. Entweder es existiert nicht oder du hast keine Berechtigung, dieses anzusehen.",
"Send Logs": "Sende Protokoll",
"Clear Storage and Sign Out": "Speicher leeren und abmelden",
@@ -921,7 +862,6 @@
"We encountered an error trying to restore your previous session.": "Wir haben ein Problem beim Wiederherstellen deiner vorherigen Sitzung festgestellt.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Den Browser-Speicher zu löschen kann das Problem lösen, wird dich aber abmelden und verschlüsselte Chats unlesbar machen.",
"Collapse Reply Thread": "Antwort-Thread zusammenklappen",
- "At this time it is not possible to reply with an emote.": "An dieser Stelle ist es nicht möglich mit einer Umschreibung zu antworten.",
"Enable widget screenshots on supported widgets": "Widget-Screenshots bei unterstützten Widgets aktivieren",
"Send analytics data": "Analysedaten senden",
"e.g. %(exampleValue)s": "z.B. %(exampleValue)s",
@@ -929,7 +869,7 @@
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Bitte hilf uns Riot.im zu verbessern, in dem du anonyme Nutzungsdaten schickst. Dies wird ein Cookie benutzen (bitte beachte auch unsere Cookie-Richtlinie).",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie.": "Bitte hilf uns Riot.im zu verbessern, in dem du anonyme Nutzungsdaten schickst. Dies wird ein Cookie benutzen.",
"Yes, I want to help!": "Ja, ich möchte helfen!",
- "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Dies wird deinen Account permanent unbenutzbar machen. Du wirst nicht in der Lage sein, dich anzumelden und keiner wird dieselbe Benutzer-ID erneut registrieren können. Alle Räume, in denen der Account ist, werden verlassen und deine Account-Daten werden vom Identitätsserver gelöscht. Diese Aktion ist irreversibel!",
+ "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Dies wird deinen Account permanent unbenutzbar machen. Du wirst nicht in der Lage sein, dich anzumelden und keiner wird dieselbe Benutzer-ID erneut registrieren können. Alle Räume, in denen der Account ist, werden verlassen und deine Account-Daten werden vom Identitätsserver gelöscht. Diese Aktion ist unumkehrbar.",
"Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "Standardmäßig werden die von dir gesendeten Nachrichten beim Deaktiveren nicht gelöscht. Wenn du dies von uns möchtest, aktivere das Auswalfeld unten.",
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Sie Sichtbarkeit der Nachrichten in Matrix ist vergleichbar mit E-Mails: Wenn wir deine Nachrichten vergessen heißt das, dass diese nicht mit neuen oder nicht registrierten Nutzern teilen werden, aber registrierte Nutzer, die bereits zugriff haben, werden Zugriff auf ihre Kopie behalten.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Bitte vergesst alle Nachrichten, die ich gesendet habe, wenn mein Account deaktiviert wird. (Warnung: Zukünftige Nutzer werden eine unvollständige Konversation sehen)",
@@ -952,7 +892,7 @@
"No Audio Outputs detected": "Keine Ton-Ausgabe erkannt",
"Audio Output": "Ton-Ausgabe",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "In verschlüsselten Räumen, wie diesem, ist die Link-Vorschau standardmäßig deaktiviert damit dein Heimserver (auf dem die Vorschau erzeugt wird) keine Informationen über Links in diesem Raum bekommt.",
- "When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Wenn jemand eine Nachricht mit einem Link schickt, kann die Link-Vorschau mehr Informationen, wie Titel, Beschreibung und Bild der Webseite, über den Link anzeigen.",
+ "When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Wenn jemand eine URL in seine Nachricht einfügt, kann eine URL-Vorschau angezeigt werden, um mehr Informationen über diesen Link zu erhalten, wie z.B. den Titel, die Beschreibung und ein Bild von der Website.",
"The email field must not be blank.": "Das E-Mail-Feld darf nicht leer sein.",
"The phone number field must not be blank.": "Das Telefonnummern-Feld darf nicht leer sein.",
"The password field must not be blank.": "Das Passwort-Feld darf nicht leer sein.",
@@ -965,14 +905,8 @@
"A call is currently being placed!": "Ein Anruf wurde schon gestartet!",
"Permission Required": "Berechtigung benötigt",
"You do not have permission to start a conference call in this room": "Du hast keine Berechtigung um ein Konferenzgespräch in diesem Raum zu starten",
- "deleted": "gelöscht",
- "underlined": "unterstrichen",
- "bulleted-list": "Liste mit Punkten",
- "numbered-list": "Liste mit Nummern",
"Failed to remove widget": "Widget konnte nicht entfernt werden",
- "An error ocurred whilst trying to remove the widget from the room": "Ein Fehler trat auf, während versucht wurde das Widget aus diesem Raum zu entfernen",
- "inline-code": "Quellcode",
- "block-quote": "Zitat",
+ "An error ocurred whilst trying to remove the widget from the room": "Ein Fehler trat auf während versucht wurde, das Widget aus diesem Raum zu entfernen",
"System Alerts": "System-Benachrichtigung",
"Only room administrators will see this warning": "Nur Raum-Administratoren werden diese Nachricht sehen",
"Please contact your service administrator to continue using the service.": "Bitte kontaktiere deinen Systemadministrator um diesen Dienst weiter zu nutzen.",
@@ -1011,9 +945,9 @@
"%(senderName)s removed the main address for this room.": "%(senderName)s entfernte die Hauptadresse von diesem Raum.",
"%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s fügte %(addedAddresses)s hinzu und entfernte %(removedAddresses)s als Adressen von diesem Raum.",
"Before submitting logs, you must create a GitHub issue to describe your problem.": "Bevor du Log-Dateien übermittelst, musst du ein GitHub-Issue erstellen um dein Problem zu beschreiben.",
- "Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot benutzt nun 3-5x weniger Arbeitsspeicher, indem Informationen über andere Nutzer erst bei Bedarf geladen werden. Bitte warte, während die Daten erneut mit dem Server abgeglichen werden!",
+ "Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot benutzt nun 3-5-mal weniger Arbeitsspeicher, indem Informationen über andere Nutzer erst bei Bedarf geladen werden. Bitte warte, während die Daten erneut mit dem Server abgeglichen werden!",
"Updating Riot": "Aktualisiere Riot",
- "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Du hast zuvor Riot auf %(host)s ohne verzögertem Laden von Mitgliedern genutzt. In dieser Version war das verzögerte Laden deaktiviert. Da die lokal zwischengespeicherten Daten zwischen diesen Einstellungen nicht kompatibel ist, muss Riot dein Konto neu synchronisieren.",
+ "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Du hast zuvor Riot auf %(host)s ohne das verzögerte Laden von Mitgliedern genutzt. In dieser Version war das verzögerte Laden deaktiviert. Da die lokal zwischengespeicherten Daten zwischen diesen Einstellungen nicht kompatibel sind, muss Riot dein Konto neu synchronisieren.",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Wenn Riot mit der alten Version in einem anderen Tab geöffnet ist, schließe dies bitte, da das parallele Nutzen von Riot auf demselben Host mit aktivierten und deaktivierten verzögertem Laden, Probleme verursachen wird.",
"Incompatible local cache": "Inkompatibler lokaler Zwischenspeicher",
"Clear cache and resync": "Zwischenspeicher löschen und erneut synchronisieren",
@@ -1024,14 +958,9 @@
"Show developer tools": "Zeige Entwickler-Werkzeuge",
"Unable to load! Check your network connectivity and try again.": "Konnte nicht geladen werden! Überprüfe die Netzwerkverbindung und versuche es erneut.",
"Delete Backup": "Sicherung löschen",
- "Backup has a valid signature from this device": "Sicherung hat eine valide Signatur von diesem Gerät",
- "Backup has an invalid signature from verified device ": "Sicherung hat eine invalide Signatur vom verifiziertem Gerät ",
- "Backup has an invalid signature from unverified device ": "Sicherung hat eine invalide Signatur vom unverifiziertem Gerät ",
- "Backup has a valid signature from unverified device ": "Sicherung hat eine valide Signatur vom unverifiziertem Gerät ",
- "Backup is not signed by any of your devices": "Sicherung wurde von keinem deiner Geräte signiert",
"Backup version: ": "Sicherungsversion: ",
"Algorithm: ": "Algorithmus: ",
- "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Um deinen Chatverlauf nicht zu verlieren, musst du deine Raum-Schlüssel exportieren, bevor du dich abmeldest. Du musst zurück zu einer neueren Riot-Version gehen, um dies zu tun",
+ "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Um zu vermeiden, dass Ihr Chat-Verlauf verloren geht, müssen Sie Ihre Raum-Schlüssel exportieren, bevor Sie sich abmelden. Dazu müssen Sie auf die neuere Version von Riot zurückgehen",
"Incompatible Database": "Inkompatible Datenbanken",
"Continue With Encryption Disabled": "Mit deaktivierter Verschlüsselung fortfahren",
"Enter a passphrase...": "Passphrase eingeben...",
@@ -1055,7 +984,7 @@
"Backup Restored": "Sicherung wiederhergestellt",
"Enter Recovery Passphrase": "Gebe Wiederherstellungs-Passphrase ein",
"Enter Recovery Key": "Gebe Wiederherstellungsschlüssel ein",
- "This looks like a valid recovery key!": "Dies sieht nach einem validen Wiederherstellungsschlüssel aus",
+ "This looks like a valid recovery key!": "Dies sieht wie ein gültiger Wiederherstellungsschlüssel aus!",
"Not a valid recovery key": "Kein valider Wiederherstellungsschlüssel",
"There was an error joining the room": "Es gab einen Fehler beim Raum-Beitreten",
"Use a few words, avoid common phrases": "Benutze einige Worte, vermeide gängige Phrasen",
@@ -1095,10 +1024,9 @@
"Straight rows of keys are easy to guess": "Gerade Reihen von Tasten sind einfach zu erraten",
"Custom user status messages": "Angepasste Nutzerstatus-Nachrichten",
"Unable to load key backup status": "Konnte Status des Schlüsselbackups nicht laden",
- "Backup has a valid signature from verified device ": "Sicherung hat eine valide Signatur von einem verifiziertem Gerät ",
"Don't ask again": "Nicht erneut fragen",
"Set up": "Einrichten",
- "Please review and accept all of the homeserver's policies": "Bitte sieh dir die Heimserver-Regularien an und akzeptiere sie",
+ "Please review and accept all of the homeserver's policies": "Bitte prüfen und akzeptieren Sie alle Richtlinien des Heimservers",
"Failed to load group members": "Konnte Gruppenmitglieder nicht laden",
"That doesn't look like a valid email address": "Sieht nicht nach einer validen E-Mail-Adresse aus",
"Unable to load commit detail: %(msg)s": "Konnte Commit-Details nicht laden: %(msg)s",
@@ -1106,11 +1034,10 @@
"Unable to load backup status": "Konnte Backupstatus nicht laden",
"Failed to decrypt %(failedCount)s sessions!": "Konnte %(failedCount)s Sitzungen nicht entschlüsseln!",
"Restored %(sessionCount)s session keys": "%(sessionCount)s Sitzungsschlüssel wiederhergestellt",
- "Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Greife auf deinen sicheren Chatverlauf zu und richte sicheres Schreiben ein indem du deine Wiederherstellungspassphrase eingibst.",
+ "Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Greifen Sie auf Ihre sichere Nachrichtenhistorie zu und richten Sie einen sicheren Nachrichtenversand ein, indem Sie Ihre Wiederherstellungspassphrase eingeben.",
"If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options": "Wenn du deinen Wiederherstellungspassphrase vergessen hast, kannst du deinen Wiederherstellungsschlüssel benutzen oder neue Wiederherstellungsoptionen einrichten",
"You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "Du hast kürzlich eine neuere Version von Riot auf %(host)s verwendet. Um diese Version erneut mit Ende-zu-Ende-Verschlüsselung zu nutzen, musst du dich ab- und wieder anmelden. ",
- "Access your secure message history and set up secure messaging by entering your recovery key.": "Auf sichere Nachrichtenhistorie zugreifen und sicheren Nachrichtenversand einrichten indem du deinen Wiederherstellungsschlüssel eingibst.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Wenn du deine Wiederherstellungspassphrase vergessen hast, kannst du neue Wiederherstellungsoptionen einrichten",
+ "Access your secure message history and set up secure messaging by entering your recovery key.": "Greifen Sie auf Ihren sicheren Nachrichtenverlauf zu und richten Sie durch Eingabe Ihres Wiederherstellungsschlüssels einen sicheren Nachrichtenversand ein.",
"Set a new status...": "Setze einen neuen Status...",
"Clear status": "Status löschen",
"Invalid homeserver discovery response": "Ungültige Antwort beim Aufspüren des Heimservers",
@@ -1120,17 +1047,14 @@
"Great! This passphrase looks strong enough.": "Gut! Diese Passphrase sieht stark genug aus.",
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Als Sicherheitsnetz kannst du ihn benutzen um deine verschlüsselte Nachrichtenhistorie wiederherzustellen, falls du deine Wiederherstellungspassphrase vergessen hast.",
"As a safety net, you can use it to restore your encrypted message history.": "Als Sicherheitsnetz kannst du ihn benutzen um deine verschlüsselte Nachrichtenhistorie wiederherzustellen.",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Dein Wiederherstellungsschlüssel wurde in deine Zwischenablage kopiert. Füge ihn hier ein:",
- "Your Recovery Key is in your Downloads folder.": "Dein Wiederherstellungsschlüssel ist in deinem Downloads-Ordner.",
"Set up Secure Message Recovery": "Richte Sichere Nachrichten-Wiederherstellung ein",
"Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Ohne Sichere Nachrichten-Wiederherstellung einzurichten, wirst du deine sichere Nachrichtenhistorie verlieren, wenn du dich abmeldest.",
"If you don't want to set this up now, you can later in Settings.": "Wenn du dies jetzt nicht einrichten willst, kannst du dies später in den Einstellungen tun.",
"New Recovery Method": "Neue Wiederherstellungsmethode",
- "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Wenn du die neue Wiederherstellungsmethode nicht eingerichtet hast, kann ein Angreifer versuchen Zugang zu deinem Konto zu erlangen. Ändere sofort dein Passwort und setze eine neue Wiederherstellungsmethode.",
+ "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Wenn Sie die neue Wiederherstellungsmethode nicht festgelegt haben, versucht ein Angreifer möglicherweise, auf Ihr Konto zuzugreifen. Ändern Sie Ihr Kontopasswort und legen Sie sofort eine neue Wiederherstellungsmethode in den Einstellungen fest.",
"Set up Secure Messages": "Richte sichere Nachrichten ein",
"Go to Settings": "Gehe zu Einstellungen",
- "Sign in with single sign-on": "Mit Single Sign-On anmelden",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Wenn du die Sichere Nachrichten-Wiederherstellung nicht einrichtest, wirst du nicht in der Lage sein deine verschlüsselte Nachrichtenhistorie wiederherzustellen, wenn du dich abmeldest oder ein weiteres Gerät benutzt.",
+ "Sign in with single sign-on": "Melden Sie sich mit Single Sign-On an",
"Waiting for %(userId)s to confirm...": "Warte auf Bestätigung für %(userId)s ...",
"Unrecognised address": "Nicht erkannte Adresse",
"User %(user_id)s may or may not exist": "Existenz der Benutzer %(user_id)s unsicher",
@@ -1164,20 +1088,17 @@
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Sichere Nachrichten mit diesem Benutzer sind Ende-zu-Ende-verschlüsselt und können nicht von Dritten gelesen werden.",
"Got It": "Verstanden",
"Verify this user by confirming the following number appears on their screen.": "Verifizieren Sie diesen Benutzer, indem Sie bestätigen, dass die folgende Nummer auf dessen Bildschirm erscheint.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Für maximale Sicherheit empfehlen wir, dies persönlich zu tun oder ein anderes vertrauenswürdiges Kommunikationsmittel zu verwenden.",
"Yes": "Ja",
"No": "Nein",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Wir haben dir eine E-Mail geschickt, um deine Adresse zu überprüfen. Bitte folge den Anweisungen dort und klicke dann auf die Schaltfläche unten.",
"Email Address": "E-Mail-Adresse",
"Backing up %(sessionsRemaining)s keys...": "Sichere %(sessionsRemaining)s Schlüssel...",
"All keys backed up": "Alle Schlüssel gesichert",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Sicherung hat eine Signatur von einem unbekannten Gerät mit der ID %(deviceId)s.",
"Add an email address to configure email notifications": "Füge eine E-Mail-Adresse hinzu, um E-Mail-Benachrichtigungen zu konfigurieren",
"Unable to verify phone number.": "Die Telefonnummer kann nicht überprüft werden.",
"Verification code": "Bestätigungscode",
"Phone Number": "Telefonnummer",
"Profile picture": "Profilbild",
- "Upload profile picture": "Profilbild hochladen",
"Display Name": "Anzeigename",
"Room information": "Rauminformationen",
"Internal room ID:": "Interne Raum ID:",
@@ -1257,7 +1178,6 @@
"Book": "Buch",
"Pencil": "Stift",
"Paperclip": "Büroklammer",
- "Padlock": "Vorhängeschloss",
"Key": "Schlüssel",
"Hammer": "Hammer",
"Telephone": "Telefon",
@@ -1275,8 +1195,6 @@
"Headphones": "Kopfhörer",
"Folder": "Ordner",
"Pin": "Stecknadel",
- "Your homeserver does not support device management.": "Dein Heimserver unterstützt Geräte-Management nicht.",
- "This backup is trusted because it has been restored on this device": "Dieser Sicherung wird vertraut, weil es auf diesem Gerät wiederhergestellt wurde",
"Timeline": "Chatverlauf",
"Autocomplete delay (ms)": "Verzögerung zur Autovervollständigung (ms)",
"Roles & Permissions": "Rollen & Berechtigungen",
@@ -1292,14 +1210,8 @@
"Verify this user by confirming the following emoji appear on their screen.": "Verifizieren Sie diesen Benutzer, indem Sie bestätigen, dass folgendes Emoji auf dessen Bildschirm erscheint.",
"Missing media permissions, click the button below to request.": "Fehlende Medienberechtigungen. Drücke auf den Knopf unten, um sie anzufordern.",
"Request media permissions": "Medienberechtigungen anfordern",
- "Some devices for this user are not trusted": "Nicht allen Geräte dieses Benutzers wird vertraut",
- "Some devices in this encrypted room are not trusted": "Nicht allen Geräten in diesem Verschlüsselten Raum wird vertraut",
- "All devices for this user are trusted": "Allen Geräten dieses Benutzers wird vertraut",
- "All devices in this encrypted room are trusted": "Allen Geräten in diesem Raum wird vertraut",
"Main address": "Primäre Adresse",
"Room avatar": "Raum-Bild",
- "Upload room avatar": "Raum-Bild hochladen",
- "No room avatar": "Kein Raum-Bild",
"Room Name": "Raum-Name",
"Room Topic": "Raum-Thema",
"Join": "Beitreten",
@@ -1314,9 +1226,7 @@
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Bist du sicher? Du wirst deine verschlüsselten Nachrichten verlieren, wenn deine Schlüssel nicht gesichert sind.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Verschlüsselte Nachrichten sind mit Ende-zu-Ende-Verschlüsselung gesichert. Nur du und der/die Empfänger haben die Schlüssel um diese Nachrichten zu lesen.",
"Restore from Backup": "Von Sicherung wiederherstellen",
- "This device is backing up your keys. ": "Dieses Gerät sichert deine Schlüssel. ",
"Back up your keys before signing out to avoid losing them.": "Sichere deine Schlüssel bevor du dich abmeldest, damit du sie nicht verlierst.",
- "Your keys are not being backed up from this device.": "Deine Schlüssel werden nicht von diesem Gerät gesichert.",
"Start using Key Backup": "Beginne Schlüsselsicherung zu nutzen",
"Credits": "Danksagungen",
"Starting backup...": "Starte Backup...",
@@ -1336,12 +1246,11 @@
"Manually export keys": "Manueller Schlüssel Export",
"Composer": "Nachrichteneingabefeld",
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Es ist nichts aufgetaucht? Noch nicht alle Clients unterstützen die interaktive Verifikation. Nutze alte Verifikation.",
- "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifiziere diesen Benutzer und markiere ihn als \"vertraut\". Dies gibt dir bei Ende-zu-Ende-verschlüsselten Nachrichten extra Seelenfrieden.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Das Verifizieren dieses Benutzers wird seine Geräte als \"vertraut\" markieren und dein Gerät bei ihnen als \"vertraut\" markieren.",
+ "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Überprüfen Sie diesen Benutzer, um ihn als vertrauenswürdig zu kennzeichnen. Benutzern zu vertrauen gibt Ihnen zusätzliche Sicherheit bei der Verwendung von Ende-zu-Ende-verschlüsselten Nachrichten.",
"I don't want my encrypted messages": "Ich möchte meine verschlüsselten Nachrichten nicht",
"You'll lose access to your encrypted messages": "Du wirst den Zugang zu deinen verschlüsselten Nachrichten verlieren",
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Wenn du Fehler bemerkst oder eine Rückmeldung geben möchtest, teile dies uns auf GitHub mit.",
- "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Um doppelte Issues zu vermeiden, schau dir zuerst die existierenden Issues an (und füge hinzu oder erstelle ein neues Issue, wenn du keins finden kannst.",
+ "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Um doppelte Issues zu vermeiden, schauen Sie bitte zuerst die existierenden Issues an (und fügen Sie ein \"+1\" hinzu), oder erstellen Sie ein neues Issue, wenn Sie keines finden können.",
"Report bugs & give feedback": "Melde Fehler & gebe Rückmeldungen",
"Recovery Key Mismatch": "Wiederherstellungsschlüssel passt nicht",
"Update status": "Aktualisiere Status",
@@ -1372,7 +1281,6 @@
"A verification email will be sent to your inbox to confirm setting your new password.": "Eine Verifizierungs-E-Mail wird an dich gesendet um dein neues Passwort zu bestätigen.",
"Sign in instead": "Stattdessen anmelden",
"Your password has been reset.": "Dein Passwort wurde zurückgesetzt.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Du wurdest auf allen Geräten abgemeldet und wirst keine Push-Benachrichtigungen bekommen. Um Benachrichtigungen wieder zu aktivieren, melde dich auf jedem Gerät erneut an.",
"Set a new password": "Setze ein neues Passwort",
"This homeserver does not support login using email address.": "Dieser Heimserver unterstützt eine Anmeldung über E-Mail-Adresse nicht.",
"Create account": "Konto anlegen",
@@ -1383,12 +1291,8 @@
"Set up with a Recovery Key": "Wiederherstellungsschlüssel einrichten",
"Please enter your passphrase a second time to confirm.": "Bitte gebe deine Passphrase ein weiteres mal zur Bestätigung ein.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Dein Wiederherstellungsschlüssel ist ein Sicherungsnetz - Du kannst ihn benutzen um Zugang zu deinen verschlüsselten Nachrichten zu bekommen, wenn du deine Passphrase vergisst.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Speichere deinen Wiederherstellungsschlüssel irgendwo, wo er sicher ist. Das kann ein Passwort-Manager oder Safe sein",
"A new recovery passphrase and key for Secure Messages have been detected.": "Eine neue Wiederherstellungspassphrase und -Schlüssel für sichere Nachrichten wurde festgestellt.",
- "This device is encrypting history using the new recovery method.": "Dieses Gerät verschlüsselt die Historie mit einer neuen Wiederherstellungsmethode.",
"Recovery Method Removed": "Wiederherstellungsmethode gelöscht",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Dieses Gerät hat bemerkt, dass deine Wiederherstellungspassphrase und -Schlüssel für Sichere Nachrichten gelöscht wurde.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Wenn du dies aus Versehen getan hast, kannst du Sichere Nachrichten auf diesem Gerät einrichten, wodurch die Nachrichtenhistorie von diesem Gerät mit einer neuen Wiederherstellungsmethode erneut verschlüsselt wird.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Wenn du die Wiederherstellungsmethode nicht gelöscht hast, kann ein Angreifer versuchen Zugang zu deinem Konto zu bekommen. Ändere dein Passwort und richte sofort eine neue Wiederherstellungsmethode in den Einstellungen ein.",
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Sicherung konnte mit diesem Schlüssel nicht entschlüsselt werden: Bitte stelle sicher, dass du den richtigen Wiederherstellungsschlüssel eingegeben hast.",
"Incorrect Recovery Passphrase": "Falsche Wiederherstellungspassphrase",
@@ -1398,7 +1302,7 @@
"Enter the location of your Modular homeserver. It may use your own domain name or be a subdomain of modular.im.": "Gib die Adresse deines Modular-Heimservers an. Es kann deine eigene Domain oder eine Subdomain von modular.im sein.",
"Unable to query for supported registration methods.": "Konnte unterstützte Registrierungsmethoden nicht abrufen.",
"Bulk options": "Sammeloptionen",
- "Join millions for free on the largest public server": "Tritt wie Millionen andere kostenlos dem größten öffentlichen Server bei",
+ "Join millions for free on the largest public server": "Schließen Sie sich auf dem größten öffentlichen Server kostenlos Millionen von Menschen an",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Fügt ¯\\_(ツ)_/¯ vor einer Klartextnachricht ein",
"Changes your display nickname in the current room only": "Ändert den Anzeigenamen ausschließlich für den aktuellen Raum",
"%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s aktivierte Abzeichen der Gruppen %(groups)s für diesen Raum.",
@@ -1448,22 +1352,16 @@
"Want more than a community? Get your own server": "Du möchtest mehr als eine Community? Hol dir deinen eigenen Server",
"Could not load user profile": "Konnte Nutzerprofil nicht laden",
"Your Matrix account on %(serverName)s": "Dein Matrixkonto auf %(serverName)s",
- "Email, name or Matrix ID": "E-Mail, Name oder Matrix-ID",
"Name or Matrix ID": "Name oder Matrix ID",
"Your Riot is misconfigured": "Dein Riot ist falsch konfiguriert",
"You cannot modify widgets in this room.": "Du kannst in diesem Raum keine Widgets verändern.",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Ob du die \"Breadcrumbs\"-Funktion nutzt oder nicht (Avatare oberhalb der Raumliste)",
"A conference call could not be started because the integrations server is not available": "Ein Konferenzanruf konnte nicht gestartet werden, da der Integrationsserver nicht verfügbar ist",
"The server does not support the room version specified.": "Der Server unterstützt die angegebene Raumversion nicht.",
- "Room upgrade confirmation": "Raum-Upgradebestätigung",
- "Upgrading a room can be destructive and isn't always necessary.": "Ein Raum-Upgrade kann destruktiv sein und ist nicht immer notwendig.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Raum-Upgrades werden üblicherweise empfohlen, wenn eine Raum-Version instabil ist. Instabile Raum-Versionen können Bugs, fehlende Features oder Sicherheitslücken enthalten.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Raum-Upgrades betreffen überlicherweise nur serverseitige Datenverarbeitung des Raumes. Wenn du ein Problem mit deinem Riot-Client hast, dann erstelle bitte ein Issue mit .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Achtung: Ein Raum-Upgrade wird die Mitglieder des Raumes nicht automatisch auf die neue Version migrieren. Wir werden in der alten Raumversion einen Link zum neuen Raum posten - Raum-Mitglieder müssen dann auf diesen Link klicken um dem neuen Raum beizutreten.",
"Replying With Files": "Mit Dateien antworten",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Momentan ist es nicht möglich mit einer Datei zu antworten. Möchtest Du die Datei hochladen ohne zu antworten?",
"The file '%(fileName)s' failed to upload.": "Die Datei \"%(fileName)s\" konnte nicht hochgeladen werden.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Bitte bestätige, dass du mit dem Raum-Upgrade von auf fortfahren möchtest.",
"Changes your avatar in this current room only": "Ändert deinen Avatar für diesen Raum",
"Unbans user with given ID": "Entbannt den Benutzer mit der angegebenen ID",
"Sends the given message coloured as a rainbow": "Sendet die Nachricht in Regenbogenfarben",
@@ -1486,7 +1384,6 @@
"Show recently visited rooms above the room list": "Zeige kürzlich besuchte Räume oberhalb der Raumliste",
"Show hidden events in timeline": "Zeige versteckte Ereignisse in der Chronik",
"Low bandwidth mode": "Modus für niedrige Bandbreite",
- "Enable desktop notifications for this device": "Desktop-Benachrichtigungen für dieses Gerät aktivieren",
"Reset": "Zurücksetzen",
"Joining room …": "Raum beitreten…",
"Rejecting invite …": "Einladung ablehnen…",
@@ -1516,19 +1413,14 @@
"Revoke invite": "Einladung zurückziehen",
"Invited by %(sender)s": "Eingeladen von %(sender)s",
"Changes your avatar in all rooms": "Verändert dein Profilbild in allen Räumen",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Dieses Gerät speichert deine Schlüssel nicht, aber du hast ein bestehendes Backup, welches du wiederherstellen kannst um fortzufahren.",
- "Backup has an invalid signature from this device": "Das Backup besitzt eine ungültige Signatur von diesem Gerät",
- "Failed to start chat": "Chat konnte nicht gestartet werden",
"Messages": "Nachrichten",
"Actions": "Aktionen",
"Displays list of commands with usages and descriptions": "Zeigt eine Liste von Befehlen mit Verwendungen und Beschreibungen an",
- "Connect this device to Key Backup": "Schließen Sie dieses Gerät an Key Backup an",
"Call failed due to misconfigured server": "Anruf aufgrund eines falsch konfigurierten Servers fehlgeschlagen",
"Try using turn.matrix.org": "Versuchen Sie es mit turn.matrix.org",
"You do not have the required permissions to use this command.": "Sie haben nicht die erforderlichen Berechtigungen, um diesen Befehl zu verwenden.",
"Multiple integration managers": "Mehrere Integrationsmanager",
"Public Name": "Öffentlicher Name",
- "Enable audible notifications for this device": "Aktivieren Sie die akustischen Benachrichtigungen für dieses Gerät",
"Identity Server URL must be HTTPS": "Die Identity Server-URL muss HTTPS sein",
"Could not connect to Identity Server": "Verbindung zum Identity Server konnte nicht hergestellt werden",
"Checking server": "Server wird überprüft",
@@ -1545,7 +1437,6 @@
"Do not use an identity server": "Keinen Identitätsserver verwenden",
"Enter a new identity server": "Gib einen neuen Identitätsserver ein",
"Clear personal data": "Persönliche Daten löschen",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Warnung: Deine persönlichen Daten (inkl. Verschlüsselungsschlüssel) sind noch auf diesem Gerät gespeichert. Lösche diese Daten, wenn du mit der Nutzung auf diesem Gerät fertig bist oder dich in einen anderen Account einloggen möchtest.",
"Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Wenn du die Verbindung zu deinem Identitätsserver trennst, heißt das, dass du nicht mehr von anderen Benutzern gefunden werden und auch andere nicht mehr per E-Mail oder Telefonnummer einladen kannst.",
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Bitte frage den Administrator deines Heimservers (%(homeserverDomain)s) darum, einen TURN-Server einzurichten, damit Anrufe zuverlässig funktionieren.",
"Disconnect from the identity server ?": "Verbindung zum Identitätsserver trennen?",
@@ -1554,8 +1445,6 @@
"Changes the avatar of the current room": "Ändert den Avatar für diesen Raum",
"Deactivate account": "Benutzerkonto schließen",
"Show previews/thumbnails for images": "Zeige eine Vorschau für Bilder",
- "A device's public name is visible to people you communicate with": "Der Gerätename ist sichtbar für die Personen mit denen du kommunizierst",
- "Clear all data on this device?": "Alle Daten auf diesem Gerät löschen?",
"View": "Vorschau",
"Find a room…": "Suche einen Raum…",
"Find a room… (e.g. %(exampleRoom)s)": "Suche einen Raum… (z.B. %(exampleRoom)s)",
@@ -1569,9 +1458,6 @@
"Use an identity server to invite by email. Manage in Settings.": "Nutze einen Identitätsserver, um über E-Mail Einladungen zu verschicken. Verwalte es in den Einstellungen.",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Try out new ways to ignore people (experimental)": "Versuche neue Möglichkeiten, um Menschen zu ignorieren (experimentell)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Verschicke Bestätigungsanfragen via Direktnachricht, inklusive einer neuen Verifikationsnutzer*innenoberfläche im Mitglieds-Panel",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Schalte cross-signing ein, um Verifizierung per Benutzer*in statt per Gerät zu ermöglichen (in Entwicklung)",
- "Use the new, faster, composer for writing messages": "Nutze die neue, schnellere Schreiboberfläche um Nachrichten zu verfassen.",
"Send read receipts for messages (requires compatible homeserver to disable)": "Schicke Lesebestätigungen für Nachrichten (erfordert einen kompatiblen Heimserver zum Deaktivieren)",
"My Ban List": "Meine Bannliste",
"This is your list of users/servers you have blocked - don't leave the room!": "Dies ist die Liste von Benutzer*innen/Servern, die du blockiert hast - verlasse den Raum nicht!",
@@ -1582,8 +1468,276 @@
"check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "Überprüfe deinen Browser auf Erweiterungen, die den Identitätsserver blockieren könnten (z.B. Privacy Badger)",
"Error upgrading room": "Fehler beim Raum-Aufrüsten",
"Double check that your server supports the room version chosen and try again.": "Überprüfe nochmal ob dein Server die ausgewählte Raumversion unterstützt und versuche es nochmal.",
- "%(senderName)s placed a voice call.": "%(senderName)s tätigte einen Sprachanruf.",
- "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s tätigte einen Sprachanruf (Nicht von diesem Browser unterstützt)",
- "%(senderName)s placed a video call.": "%(senderName)s tätigte einen Videoanruf.",
- "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s tätigte einen Videoanruf (Nicht von diesem Browser unterstützt)"
+ "%(senderName)s placed a voice call.": "%(senderName)s hat einen Sprachanruf getätigt.",
+ "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s hat einen Sprachanruf getätigt. (Nicht von diesem Browser unterstützt)",
+ "%(senderName)s placed a video call.": "%(senderName)s hat einen Sprachanruf getätigt.",
+ "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s hat einen Sprachanruf getätigt. (Nicht von diesem Browser unterstützt)",
+ "Verify this session": "Sitzung verifizieren",
+ "Set up encryption": "Verschlüsselung einrichten",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s hat %(addedAddresses)s und %(count)s Adressen zu diesem Raum hinzugefügt",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s hat %(removedAddresses)s und %(count)s andere Adressen aus diesem Raum entfernt",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s hat %(countRemoved)s entfernt und %(countAdded)s Adressen zu diesem Raum hinzugefügt",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s hat die Ende-zu-Ende Verschlüsselung aktiviert.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s hat die Ende-zu-Ende Verschlüsselung aktiviert (unbekannter Algorithmus %(algorithm)s).",
+ "%(senderName)s updated an invalid ban rule": "%(senderName)s hat eine ungültige Bannregel aktualisiert",
+ "The message you are trying to send is too large.": "Die Nachricht, die du versuchst zu senden, ist zu lang.",
+ "a few seconds ago": "vor ein paar Sekunden",
+ "about a minute ago": "vor etwa einer Minute",
+ "%(num)s minutes ago": "vor %(num)s Minuten",
+ "about an hour ago": "vor etwa einer Stunde",
+ "%(num)s hours ago": "vor %(num)s Stunden",
+ "about a day ago": "vor etwa einem Tag",
+ "%(num)s days ago": "vor %(num)s Tagen",
+ "about a minute from now": "in etwa einer Minute",
+ "%(num)s minutes from now": "In etwa %(num)s Minuten",
+ "about an hour from now": "in etwa einer Stunde",
+ "%(num)s hours from now": "in %(num)s Stunden",
+ "about a day from now": "in etwa einem Tag",
+ "%(num)s days from now": "in %(num)s Tagen",
+ "Show info about bridges in room settings": "Information über Bridges in den Raumeinstellungen anzeigen",
+ "Enable message search in encrypted rooms": "Nachrichtensuche in verschlüsselten Räumen aktivieren",
+ "Lock": "Sperren",
+ "Later": "Später",
+ "Review": "Überprüfen",
+ "Verify": "Verifizieren",
+ "Decline (%(counter)s)": "Zurückweisen (%(counter)s)",
+ "not found": "nicht gefunden",
+ "rooms.": "Räume.",
+ "Manage": "Verwalten",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Speichere verschlüsselte Nachrichten sicher lokal zwischen, sodass sie in Suchergebnissen erscheinen können.",
+ "Enable": "Aktivieren",
+ "Connecting to integration manager...": "Verbinden zum Integrationsmanager...",
+ "Cannot connect to integration manager": "Verbindung zum Integrationsmanager fehlgeschlagen",
+ "The integration manager is offline or it cannot reach your homeserver.": "Der Integrationsmanager ist offline oder er kann den Heimserver nicht erreichen.",
+ "not stored": "nicht gespeichert",
+ "Backup has a signature from unknown user with ID %(deviceId)s": "Backup hat eine Signatur von Unbekanntem Nutzer mit ID %(deviceId)s",
+ "Backup key stored: ": "Backup Schlüssel gespeichert: ",
+ "Clear notifications": "Benachrichtigungen löschen",
+ "Disconnect from the identity server and connect to instead?": "Verbindung vom Identitätsserver trennen und stattdessen zu verbinden?",
+ "The identity server you have chosen does not have any terms of service.": "Der Identitätsserver, den du gewählt hast, hat keine Nutzungsbedingungen.",
+ "Disconnect identity server": "Verbindung zum Identitätsserver trennen",
+ "contact the administrators of identity server ": "Administrator des Identitätsservers kontaktieren",
+ "wait and try again later": "warte und versuche es später erneut",
+ "Disconnect anyway": "Verbindung trotzdem trennen",
+ "You are still sharing your personal data on the identity server .": "Du teilst deine persönlichen Daten immer noch auf dem Identitätsserver .",
+ "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Wir empfehlen, dass du deine Email Adressen und Telefonnummern vom Identitätsserver löschst, bevor du die Verbindung trennst.",
+ "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Du nutzt momentan keinen Identitätsserver. Um von bestehenden Kontakten die du kennst gefunden zu werden und diese zu finden, füge unten einen hinzu.",
+ "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Nutze einen Integrationsmanager (%(serverName)s) um Bots, Widgets und Sticker Packs zu verwalten.",
+ "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Verwende einen Integrationsmanager um Bots, Widgets und Sticker Packs zu verwalten.",
+ "Manage integrations": "Integrationen verwalten",
+ "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Stimme den Nutzungsbedingungen des Identitätsservers %(serverName)s zu, um dich per Email Adresse und Telefonnummer auffindbar zu machen.",
+ "Clear cache and reload": "Cache löschen und neu laden",
+ "Customise your experience with experimental labs features. Learn more.": "Passe deine Erfahrung mit experimentellen Lab Funktionen an. Mehr erfahren.",
+ "Ignored/Blocked": "Ignoriert/Blockiert",
+ "Something went wrong. Please try again or view your console for hints.": "Etwas ist schief gelaufen. Bitte versuche es erneut oder sieh für weitere Hinweise in deiner Konsole nach.",
+ "Error subscribing to list": "Fehler beim Abonnieren der Liste",
+ "Please verify the room ID or alias and try again.": "Bitte überprüfe die Raum ID oder den Alias und versuche es erneut.",
+ "Error removing ignored user/server": "Fehler beim Entfernen eines ignorierten Benutzers/Servers",
+ "Error unsubscribing from list": "Fehler beim Deabonnieren der Liste",
+ "Please try again or view your console for hints.": "Bitte versuche es erneut oder sieh für weitere Hinweise in deine Konsole.",
+ "Server rules": "Serverregeln",
+ "User rules": "Nutzerregeln",
+ "You have not ignored anyone.": "Du hast niemanden ignoriert.",
+ "You are currently ignoring:": "Du ignorierst momentan:",
+ "Unsubscribe": "Deabonnieren",
+ "View rules": "Regeln betrachten",
+ "You are currently subscribed to:": "Du abonnierst momentan:",
+ "⚠ These settings are meant for advanced users.": "⚠ Diese Einstellungen sind für fortgeschrittene Nutzer gedacht.",
+ "The version of Riot": "Die Version von Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Ob Sie Riot auf einem Gerät verwenden, bei dem Berührung der primäre Eingabemechanismus ist",
+ "Whether you're using Riot as an installed Progressive Web App": "Ob Sie Riot als installierte progressive Web-App verwenden",
+ "Your user agent": "Ihr User-Agent",
+ "The information being sent to us to help make Riot better includes:": "Zu den Informationen, die uns zugesandt werden, um zu helfen, Riot besser zu machen, gehören:",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Es sind unbekannte Sitzungen in diesem Raum: Wenn du ohne Verifizierung fortfährst, wird es für jemanden möglich sein, deinen Anruf zu belauschen.",
+ "If you cancel now, you won't complete verifying the other user.": "Wenn Sie jetzt abbrechen, werden Sie die Verifizierung des anderen Nutzers nicht beenden können.",
+ "If you cancel now, you won't complete verifying your other session.": "Wenn Sie jetzt abbrechen, werden Sie die Verifizierung der anderen Sitzung nicht beenden können.",
+ "If you cancel now, you won't complete your secret storage operation.": "Wenn Sie jetzt abbrechen, werden Sie die Geheimlagerungsoperation nicht beenden können.",
+ "Cancel entering passphrase?": "Eingabe der Passphrase abbrechen?",
+ "Setting up keys": "Einrichten der Schlüssel",
+ "Encryption upgrade available": "Verschlüsselungs-Update verfügbar",
+ "Unverified session": "Ungeprüfte Sitzung",
+ "Verifies a user, session, and pubkey tuple": "Verifiziert einen Benutzer, eine Sitzung und Pubkey-Tupel",
+ "Unknown (user, session) pair:": "Unbekanntes (Nutzer-, Sitzungs-) Paar:",
+ "Session already verified!": "Sitzung bereits verifiziert!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ACHTUNG: Sitzung bereits verifiziert, aber die Schlüssel passen NICHT ZUSAMMEN!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ACHTUNG: SCHLÜSSEL-VERIFIZIERUNG FEHLGESCHLAGEN! Der Signierschlüssel für %(userId)s und Sitzung %(deviceId)s ist \"%(fprint)s\", was nicht mit dem bereitgestellten Schlüssel \"%(fingerprint)s\" übereinstimmt. Das könnte bedeuten, dass Ihre Kommunikation abgehört wird!",
+ "Never send encrypted messages to unverified sessions from this session": "Sende niemals verschlüsselte Nachrichten von dieser Sitzung zu unverifizierten Sitzungen",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Sende niemals verschlüsselte Nachrichten von dieser Sitzung zu unverifizierten Sitzungen in diesem Raum",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Durch die Änderung des Passworts werden derzeit alle End-zu-End-Verschlüsselungsschlüssel in allen Sitzungen zurückgesetzt, sodass der verschlüsselte Chat-Verlauf nicht mehr lesbar ist, es sei denn, Sie exportieren zuerst Ihre Raumschlüssel und importieren sie anschließend wieder. In Zukunft wird dies verbessert werden.",
+ "Delete %(count)s sessions|other": "Lösche %(count)s Sitzungen",
+ "Backup is not signed by any of your sessions": "Die Sicherung ist von keiner Ihrer Sitzungen unterzeichnet",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Ihr Passwort wurde erfolgreich geändert. Sie erhalten keine Push-Benachrichtigungen zu anderen Sitzungen, bis Sie sich wieder bei diesen anmelden",
+ "Sessions": "Sitzungen",
+ "Notification sound": "Benachrichtigungston",
+ "Set a new custom sound": "Setze einen neuen benutzerdefinierten Sound",
+ "Browse": "Durchsuche",
+ "Direct Messages": "Direkte Nachrichten",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Sie können /help benutzen, um verfügbare Befehle aufzulisten. Wollten Sie dies als Nachricht senden?",
+ "Direct message": "Direkte Nachricht",
+ "Set a room alias to easily share your room with other people.": "Setze ein Raum-Alias, um deinen Raum einfach mit anderen Personen zu teilen.",
+ "Suggestions": "Vorschläge",
+ "Recently Direct Messaged": "Kürzlich direkt verschickt",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Wenn Sie niemanden finden können, fragen Sie nach deren Benutzernamen, teilen Sie ihren Benutzernamen (%(userId)s) oder Profil-Link.",
+ "Go": "Los",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Wenn Sie niemanden finden können, fragen Sie nach deren Benutzernamen (z.B. @benutzer:server.de) oder teilen Sie diesen Raum.",
+ "Command Help": "Befehl Hilfe",
+ "To help us prevent this in future, please send us logs.": "Um uns zu helfen, dies in Zukunft zu vermeiden, senden Sie uns bitte Logs.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Wir empfehlen Ihnen, den Verifizierungsprozess für jede Sitzung zu durchlaufen, um zu bestätigen, dass sie ihrem rechtmäßigen Eigentümer gehören, aber Sie können die Nachricht auch ohne Verifizierung erneut senden, wenn Sie dies bevorzugen.",
+ "Notification settings": "Benachrichtigungseinstellungen",
+ "Help": "Hilfe",
+ "Filter": "Filter",
+ "Filter rooms…": "Räume filtern…",
+ "You have %(count)s unread notifications in a prior version of this room.|one": "Sie haben %(count)s ungelesene Benachrichtigungen in einer früheren Version dieses Raumes.",
+ "Go Back": "Gehe zurück",
+ "Notification Autocomplete": "Benachrichtigung Autovervollständigen",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Wenn deaktiviert, werden Nachrichten von verschlüsselten Räumen nicht in den Ergebnissen auftauchen.",
+ "This user has not verified all of their sessions.": "Dieser Benutzer hat nicht alle seine Sitzungen verifiziert.",
+ "You have verified this user. This user has verified all of their sessions.": "Sie haben diesen Benutzer verifiziert. Dieser Benutzer hat alle seine Sitzungen verifiziert.",
+ "Some sessions for this user are not trusted": "Einige Sitzungen für diesen Benutzer sind nicht vertrauenswürdig",
+ "All sessions for this user are trusted": "Alle Sitzungen für diesen Benutzer sind vertrauenswürdig",
+ "Some sessions in this encrypted room are not trusted": "Einige Sitzungen in diesem verschlüsselten Raum sind nicht vertrauenswürdig",
+ "All sessions in this encrypted room are trusted": "Alle Sitzungen in diesem verschlüsselten Raum sind vertrauenswürdig",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Ihre Anfrage zur Schlüssel-Teilung wurde gesendet - bitte überprüfen Sie Ihre anderen Sitzungen auf Anfragen zur Schlüssel-Teilung.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Anfragen zum Teilen von Schlüsseln werden automatisch an Ihre anderen Sitzungen gesendet. Wenn Sie die Anfragen zum Teilen von Schlüsseln in Ihren anderen Sitzungen abgelehnt oder abgewiesen haben, klicken Sie hier, um die Schlüssel für diese Sitzung erneut anzufordern.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Wenn Ihre anderen Sitzungen nicht über den Schlüssel für diese Nachricht verfügen, können Sie sie nicht entschlüsseln.",
+ "Re-request encryption keys from your other sessions.": "Fordern Sie Verschlüsselungsschlüssel aus Ihren anderen Sitzungen erneut an.",
+ "No sessions with registered encryption keys": "Keine Sitzungen mit registrierten Verschlüsselungsschlüsseln",
+ "Room %(name)s": "Raum %(name)s",
+ "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Ein Upgrade dieses Raums schaltet die aktuelle Instanz des Raums ab und erstellt einen aktualisierten Raum mit demselben Namen.",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) hat sich zu einer neuen Sitzung angemeldet, ohne sie zu verifizieren:",
+ "%(count)s verified sessions|other": "%(count)s verifizierte Sitzungen",
+ "Hide verified sessions": "Verifizierte Sitzungen ausblenden",
+ "%(count)s sessions|other": "%(count)s Sitzungen",
+ "Hide sessions": "Sitzungen ausblenden",
+ "Encryption enabled": "Verschlüsselung aktiviert",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Nachrichten in diesem Raum sind Ende-zu-Ende verschlüsselt. Erfahren Sie mehr & überprüfen Sie diesen Benutzer in seinem Benutzerprofil.",
+ "Encryption not enabled": "Verschlüsselung nicht aktiviert",
+ "You verified %(name)s": "Du hast %(name)s verifiziert",
+ "You cancelled verifying %(name)s": "Sie haben die Verifizierung von %(name)s abgebrochen",
+ "%(name)s cancelled verifying": "%(name)s hat die Verifizierung abgebrochen",
+ "%(name)s accepted": "%(name)s hat akzeptiert",
+ "%(name)s declined": "%(name)s hat abgelehnt",
+ "%(name)s cancelled": "%(name)s hat abgebrochen",
+ "%(name)s wants to verify": "%(name)s will eine Verifizierung",
+ "Your display name": "Ihr Anzeigename",
+ "Please enter a name for the room": "Bitte geben Sie einen Namen für den Raum ein",
+ "This room is private, and can only be joined by invitation.": "Dieser Raum ist privat und kann nur auf Einladung betreten werden.",
+ "Create a private room": "Erstelle einen privaten Raum",
+ "Topic (optional)": "Thema (optional)",
+ "Make this room public": "Machen Sie diesen Raum öffentlich",
+ "Hide advanced": "Fortgeschrittenes ausblenden",
+ "Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Hindere Benutzer auf anderen Matrix-Homeservern daran, diesem Raum beizutreten (Diese Einstellung kann später nicht geändert werden!)",
+ "Session name": "Name der Sitzung",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "So können Sie nach der Abmeldung zu Ihrem Konto zurückkehren und sich bei anderen Sitzungen anmelden.",
+ "Use bots, bridges, widgets and sticker packs": "Benutze Bots, Bridges, Widgets und Sticker-Packs",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Sie blockieren derzeit nicht verifizierte Sitzungen; um Nachrichten an diese Sitzungen zu senden, müssen Sie sie verifizieren.",
+ "Room contains unknown sessions": "Raum enthält unbekannte Sitzungen",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" enthält Sitzungen, die Sie noch nie zuvor gesehen haben.",
+ "Unknown sessions": "Unbekannte Sitzungen",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Greifen Sie durch Eingabe Ihrer Passphrase auf Ihren sicheren Nachrichtenverlauf und Ihre Quersignatur-Identität zu, um andere Sitzungen zu überprüfen.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Greifen Sie durch Eingabe Ihres Wiederherstellungsschlüssels auf Ihren sicheren Nachrichtenverlauf und Ihre Quersignatur-Identität zur Überprüfung anderer Sitzungen zu.",
+ "Message not sent due to unknown sessions being present": "Nachricht wird nicht gesendet, da unbekannte Sitzungen vorhanden sind",
+ "Show sessions, send anyway or cancel.": "Sitzungen anzeigen, trotzdem senden oder abbrechen.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Wenn Sie Ihr Passwort ändern, werden alle End-to-End-Verschlüsselungsschlüssel für alle Ihre Sitzungen zurückgesetzt, sodass der verschlüsselte Chat-Verlauf nicht mehr lesbar ist. Richten Sie ein Schlüssel-Backup ein oder exportieren Sie Ihre Raumschlüssel aus einer anderen Sitzung, bevor Sie Ihr Passwort zurücksetzen.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Sie wurden von allen Sitzungen abgemeldet und erhalten keine Push-Benachrichtigungen mehr. Um die Benachrichtigungen wieder zu aktivieren, melden Sie sich auf jedem Gerät erneut an.",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Aktualisieren Sie diese Sitzung, damit sie andere Sitzungen verifizieren kann, indem sie ihnen Zugang zu verschlüsselten Nachrichten gewährt und sie für andere Benutzer als vertrauenswürdig markiert.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Richten Sie für diese Sitzung eine Verschlüsselung ein, damit sie andere Sitzungen verifizieren kann, indem sie ihnen Zugang zu verschlüsselten Nachrichten gewährt und sie für andere Benutzer als vertrauenswürdig markiert.",
+ "Sign out and remove encryption keys?": "Abmelden und Verschlüsselungsschlüssel entfernen?",
+ "Sign in to your Matrix account on ": "Melde dich bei deinem Matrix-Konto auf an",
+ "Enter your password to sign in and regain access to your account.": "Gib dein Passwort ein, um dich anzumelden und wieder Zugang zu deinem Konto zu erhalten.",
+ "Sign in and regain access to your account.": "Melden dich an und erhalte wieder Zugang zu deinem Konto.",
+ "You cannot sign in to your account. Please contact your homeserver admin for more information.": "Du kannst dich nicht bei deinem Konto anmelden. Bitte kontaktiere deinen Homeserver-Administrator für weitere Informationen.",
+ "Sign In or Create Account": "Anmelden oder Account erstellen",
+ "Use your account or create a new one to continue.": "Benutze deinen Account oder erstellen einen neuen, um fortzufahren.",
+ "Create Account": "Account erstellen",
+ "Show typing notifications": "Zeige Tipp-Benachrichtigungen",
+ "Order rooms by name": "Sortiere Räume nach Name",
+ "When rooms are upgraded": "Wenn Räume verbessert werden",
+ "Scan this unique code": "Scanne diesen einzigartigen Code",
+ "or": "oder",
+ "Compare unique emoji": "Vergleiche einzigartige Emojis",
+ "Start": "Starte",
+ "Discovery": "Entdeckung",
+ "Done": "Erledigt",
+ "Manually Verify": "Manuell verifizieren",
+ "Trusted": "Vertrauenswürdig",
+ "Not trusted": "Nicht vertrauenswürdig",
+ "%(count)s verified sessions|one": "1 verifizierte Sitzung",
+ "%(count)s sessions|one": "%(count)s Sitzung",
+ "Messages in this room are not end-to-end encrypted.": "Nachrichten in diesem Raum sind nicht Ende-zu-Ende verschlüsselt.",
+ "Security": "Sicherheit",
+ "Ask %(displayName)s to scan your code:": "Bitte %(displayName)s, deinen Code zu scannen:",
+ "Verify by emoji": "Verifizierung durch Emojis",
+ "Verify by comparing unique emoji.": "Verifizierung durch den Vergleich einzigartiger Emojis.",
+ "You've successfully verified %(displayName)s!": "Du hast %(displayName)s erfolgreich verifiziert!",
+ "Got it": "Verstanden",
+ "Widget added by": "Widget hinzugefügt von",
+ "This widget may use cookies.": "Dieses Widget kann Cookies verwenden.",
+ "More options": "Weitere Optionen",
+ "Terms of Service": "Nutzungsbedingungen",
+ "To continue you need to accept the terms of this service.": "Um fortzufahren, musst du die Bedingungen dieses Dienstes akzeptieren.",
+ "Service": "Dienst",
+ "Summary": "Zusammenfassung",
+ "Document": "Dokument",
+ "Explore": "Erkunde",
+ "Explore rooms": "Erkunde Räume",
+ "Maximize apps": "Apps maximieren",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Dein bereitgestellter Signaturschlüssel passt zu dem Schlüssel, der von %(userId)s's Sitzung %(deviceId)s empfangen wurde. Sitzung wird als verifiziert markiert.",
+ "Match system theme": "An System-Design anpassen",
+ "Verify this session by completing one of the following:": "Verifiziere diese Sitzung, indem du eine der folgenden Aktionen ausführst:",
+ "Your homeserver does not support session management.": "Dein Heimserver unterstützt keine Sitzungsverwaltung.",
+ "Unable to load session list": "Sitzungsliste kann nicht geladen werden",
+ "Delete %(count)s sessions|one": "%(count)s Sitzung löschen",
+ "This session is backing up your keys. ": "Diese Sitzung sichert deine Schlüssel. ",
+ "Connect this session to Key Backup": "Diese Sitzung mit der Schlüsselsicherung verbinden",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Die Sicherung hat eine Signatur von einer unbekannten Sitzung mit der ID %(deviceId)s",
+ "Backup has a valid signature from this session": "Die Sicherung hat eine gültige Signatur von dieser Sitzung",
+ "Backup has an invalid signature from this session": "Die Sicherung hat eine ungültige Signatur von dieser Sitzung",
+ "Discovery options will appear once you have added an email above.": "Entdeckungsoptionen werden angezeigt, sobald oben eine E-Mail hinzugefügt wurde.",
+ "Discovery options will appear once you have added a phone number above.": "Entdeckungsoptionen werden angezeigt, sobald eine Telefonnummer hinzugefügt wurde.",
+ "Close preview": "Vorschau schließen",
+ "Loading room preview": "Lade Raumvorschau",
+ "Join the discussion": "Trete der Diskussion bei",
+ "Remove for everyone": "Für alle entfernen",
+ "Remove for me": "Für mich entfernen",
+ "Create your Matrix account on ": "Erstelle dein Matrix-Konto auf ",
+ "Preview": "Vorschau",
+ "Your Matrix account on ": "Dein Matrix-Konto auf ",
+ "Remove %(email)s?": "%(email)s entfernen?",
+ "Remove %(phone)s?": "%(phone)s entfernen?",
+ "Remove recent messages by %(user)s": "Letzte Nachrichten von %(user)s entfernen",
+ "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|other": "Du bist dabei %(count)s Nachrichten von %(user)s zu löschen, was nicht rückgängig gemacht werden kann. Fortfahren?",
+ "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Du bist dabei eine Nachrichten von %(user)s zu löschen, was nicht rückgängig gemacht werden kann. Fortfahren?",
+ "Remove %(count)s messages|other": "%(count)s Nachrichten entfernen",
+ "Remove %(count)s messages|one": "Eine Nachricht entfernen",
+ "Remove recent messages": "Letzte Nachrichten entfernen",
+ "You're previewing %(roomName)s. Want to join it?": "Du betrachtest %(roomName)s. Willst du beitreten?",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s hat die alternative Adresse 2%(addresses)s für diesen Raum hinzugefügt.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s hat die Adresse für diesen Raum geändert.",
+ "Review Sessions": "Sitzungen überprüfen",
+ "Displays information about a user": "Zeigt Informationen über einen Benutzer",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s hat den Raumnamen von %(oldRoomName)s zu %(newRoomName)s geändert.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s hat die alternative Adresse %(addresses)s für diesen Raum hinzugefügt.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s hat die alternativen Adressen %(addresses)s für diesen Raum entfernt",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s hat die alternative Adresse %(addresses)s für diesen Raum entfernt",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s hat die alternative Adresse für diesen Raum geändert.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s hat die Haupt- und Alternativadresse für diesen Raum geändert.",
+ "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s entfernte die Ausschluss-Regel für Nutzer, die %(glob)s entsprechen",
+ "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s entfernte die Ausschluss-Regel für Räume, die %(glob)s entsprechen",
+ "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s entfernte die Ausschluss-Regel für Server, die %(glob)s entsprechen",
+ "%(senderName)s removed a ban rule matching %(glob)s": "%(senderName)s entfernte die Ausschluss-Regel, die %(glob)s entspricht",
+ "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s aktualisierte die Ausschluss-Regel für Nutzer, die aufgrund von %(reason)s %(glob)s entsprechen",
+ "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s aktualisierte die Ausschluss-Regel für Räume, die aufgrund von %(reason)s %(glob)s entsprechen",
+ "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s aktualisierte die Ausschluss-Regel für Server, die aufgrund von %(reason)s %(glob)s entsprechen",
+ "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s aktualisierte eine Ausschluss-Regel, die wegen %(reason)s %(glob)s entspricht",
+ "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s erstellte eine Ausschluss-Regel für Nutzer, die wegen %(reason)s %(glob)s entspricht",
+ "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s erstellte eine Ausschluss-Regel für Räume, die wegen %(reason)s %(glob)s entspricht",
+ "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s erstellte eine Ausschluss-Regel für Server, die aufgrund von %(reason)s %(glob)s entsprechen",
+ "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s erstellt eine Ausschluss-Regel, die aufgrund von %(reason)s %(glob)s entsprechen",
+ "Do you want to chat with %(user)s?": "Möchtest du mit %(user)s chatten?",
+ " wants to chat": " möchte mit dir chatten",
+ "Start chatting": "Chat starten",
+ "Reject & Ignore user": "Ablehnen & Nutzer ignorieren",
+ "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ändert eine Ausschluss-Regel von %(oldGlob)s nach %(newGlob)s, wegen %(reason)s",
+ "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ändert eine Ausschluss-Regel für Räume von %(oldGlob)s nach %(newGlob)s, wegen %(reason)s"
}
diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json
index b4de278ef0..8bbcf47cbe 100644
--- a/src/i18n/strings/el.json
+++ b/src/i18n/strings/el.json
@@ -59,12 +59,8 @@
"Decrypt %(text)s": "Αποκρυπτογράφηση %(text)s",
"Decryption error": "Σφάλμα αποκρυπτογράφησης",
"Default": "Προεπιλογή",
- "Device already verified!": "Η συσκευή έχει ήδη επαληθευτεί!",
"Device ID": "Αναγνωριστικό συσκευής",
- "Device ID:": "Αναγνωριστικό συσκευής:",
"device id: ": "αναγνωριστικό συσκευής: ",
- "Device key:": "Κλειδί συσκευής:",
- "Devices": "Συσκευές",
"Direct chats": "Απευθείας συνομιλίες",
"Disinvite": "Ανάκληση πρόσκλησης",
"Download %(text)s": "Λήψη %(text)s",
@@ -103,7 +99,6 @@
"Incorrect username and/or password.": "Λανθασμένο όνομα χρήστη και/ή κωδικός.",
"Incorrect verification code": "Λανθασμένος κωδικός επαλήθευσης",
"Invalid Email Address": "Μη έγκυρη διεύθυνση ηλεκτρονικής αλληλογραφίας",
- "Invite new room members": "Προσκαλέστε νέα μέλη",
"Invited": "Προσκλήθηκε",
"Invites": "Προσκλήσεις",
"Sign in with": "Συνδεθείτε με",
@@ -118,8 +113,6 @@
"Local addresses for this room:": "Τοπική διεύθυνση για το δωμάτιο:",
"Logout": "Αποσύνδεση",
"Low priority": "Χαμηλής προτεραιότητας",
- "matrix-react-sdk version:": "Έκδοση matrix-react-sdk:",
- "Message not sent due to unknown devices being present": "Το μήνυμα δεν στάλθηκε γιατί υπάρχουν άγνωστες συσκευές",
"Click here to fix": "Κάνε κλικ εδώ για διόρθωση",
"Command error": "Σφάλμα εντολής",
"Commands": "Εντολές",
@@ -140,7 +133,6 @@
"olm version:": "Έκδοση olm:",
"Password": "Κωδικός πρόσβασης",
"Passwords can't be empty": "Οι κωδικοί πρόσβασης δεν γίνετε να είναι κενοί",
- "People": "Άτομα",
"Phone": "Τηλέφωνο",
"Register": "Εγγραφή",
"riot-web version:": "Έκδοση riot-web:",
@@ -157,12 +149,9 @@
"This email address is already in use": "Η διεύθυνση ηλ. αλληλογραφίας χρησιμοποιείται ήδη",
"This email address was not found": "Δεν βρέθηκε η διεύθυνση ηλ. αλληλογραφίας",
"Success": "Επιτυχία",
- "Start Chat": "Συνομιλία",
"Cancel": "Ακύρωση",
"Custom Server Options": "Προσαρμοσμένες ρυθμίσεις διακομιστή",
"Dismiss": "Απόρριψη",
- "bold": "έντονα",
- "italic": "πλάγια",
"Close": "Κλείσιμο",
"Create new room": "Δημιουργία νέου δωματίου",
"Room directory": "Ευρετήριο",
@@ -193,8 +182,6 @@
"Home": "Αρχική",
"Last seen": "Τελευταία εμφάνιση",
"Manage Integrations": "Διαχείριση ενσωματώσεων",
- "Markdown is disabled": "Το Markdown είναι απενεργοποιημένο",
- "Markdown is enabled": "Το Markdown είναι ενεργοποιημένο",
"Missing room_id in request": "Λείπει το room_id στο αίτημα",
"Permissions": "Δικαιώματα",
"Power level must be positive integer.": "Το επίπεδο δύναμης πρέπει να είναι ένας θετικός ακέραιος.",
@@ -214,7 +201,6 @@
"Searches DuckDuckGo for results": "Γίνεται αναζήτηση στο DuckDuckGo για αποτελέσματα",
"Seen by %(userName)s at %(dateTime)s": "Διαβάστηκε από τον/την %(userName)s στις %(dateTime)s",
"Send anyway": "Αποστολή ούτως ή άλλως",
- "Send Invites": "Αποστολή προσκλήσεων",
"Send Reset Email": "Αποστολή μηνύματος επαναφοράς",
"%(senderDisplayName)s sent an image.": "Ο %(senderDisplayName)s έστειλε μια φωτογραφία.",
"Session ID": "Αναγνωριστικό συνεδρίας",
@@ -231,15 +217,12 @@
"Unban": "Άρση αποκλεισμού",
"%(senderName)s unbanned %(targetName)s.": "Ο χρήστης %(senderName)s έδιωξε τον χρήστη %(targetName)s.",
"Unable to enable Notifications": "Αδυναμία ενεργοποίησης των ειδοποιήσεων",
- "Unable to load device list": "Αδυναμία φόρτωσης της λίστας συσκευών",
"unencrypted": "μη κρυπτογραφημένο",
- "Unencrypted message": "Μη κρυπτογραφημένο μήνυμα",
"unknown caller": "άγνωστος καλών",
"unknown device": "άγνωστη συσκευή",
"Unknown room %(roomId)s": "Άγνωστο δωμάτιο %(roomId)s",
"Unmute": "Άρση σίγασης",
"Unnamed Room": "Ανώνυμο δωμάτιο",
- "Unrecognised command:": "Μη αναγνωρίσιμη εντολή:",
"Unrecognised room alias:": "Μη αναγνωρίσιμο ψευδώνυμο:",
"Upload avatar": "Αποστολή προσωπικής εικόνας",
"Upload Failed": "Απέτυχε η αποστολή",
@@ -252,7 +235,6 @@
"Video call": "Βιντεοκλήση",
"Voice call": "Φωνητική κλήση",
"Warning!": "Προειδοποίηση!",
- "Who would you like to communicate with?": "Με ποιον θα θέλατε να επικοινωνήσετε;",
"You are already in a call.": "Είστε ήδη σε μια κλήση.",
"You have no visible notifications": "Δεν έχετε ορατές ειδοποιήσεις",
"You must register to use this functionality": "Πρέπει να εγγραφείτε για να χρησιμοποιήσετε αυτή την λειτουργία",
@@ -300,11 +282,7 @@
"Unknown error": "Άγνωστο σφάλμα",
"Incorrect password": "Λανθασμένος κωδικός πρόσβασης",
"To continue, please enter your password.": "Για να συνεχίσετε, παρακαλούμε πληκτρολογήστε τον κωδικό πρόσβασής σας.",
- "Device name": "Όνομα συσκευής",
- "Device key": "Κλειδί συσκευής",
- "Verify device": "Επιβεβαίωση συσκευής",
"Unable to restore session": "Αδυναμία επαναφοράς συνεδρίας",
- "Unknown devices": "Άγνωστες συσκευές",
"Unknown Address": "Άγνωστη διεύθυνση",
"Blacklist": "Μαύρη λίστα",
"Verify...": "Επιβεβαίωση...",
@@ -327,7 +305,6 @@
"Username not available": "Μη διαθέσιμο όνομα χρήστη",
"Something went wrong!": "Κάτι πήγε στραβά!",
"Could not connect to the integration server": "Αδυναμία σύνδεσης στον διακομιστή ενσωμάτωσης",
- "Encrypted by an unverified device": "Κρυπτογραφημένο από μια ανεπιβεβαίωτη συσκευή",
"Error: Problem communicating with the given homeserver.": "Σφάλμα: πρόβλημα κατά την επικοινωνία με τον ορισμένο διακομιστή.",
"Failed to ban user": "Δεν ήταν δυνατό ο αποκλεισμός του χρήστη",
"Failed to change power level": "Δεν ήταν δυνατή η αλλαγή του επιπέδου δύναμης",
@@ -335,26 +312,20 @@
"Failed to unban": "Δεν ήταν δυνατή η άρση του αποκλεισμού",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s από %(fromPowerLevel)s σε %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Οι επισκέπτες δεν μπορούν να συνδεθούν στο δωμάτιο ακόμη και αν έχουν καλεστεί.",
- "Hide Text Formatting Toolbar": "Απόκρυψη εργαλειοθήκης μορφοποίησης κειμένου",
"Incoming call from %(name)s": "Εισερχόμενη κλήση από %(name)s",
"Incoming video call from %(name)s": "Εισερχόμενη βιντεοκλήση από %(name)s",
"Incoming voice call from %(name)s": "Εισερχόμενη φωνητική κλήση από %(name)s",
- "Invalid alias format": "Μη έγκυρη μορφή ψευδώνυμου",
"Invalid file%(extra)s": "Μη έγκυρο αρχείο %(extra)s",
"%(senderName)s invited %(targetName)s.": "Ο %(senderName)s προσκάλεσε τον %(targetName)s.",
"Invites user with given id to current room": "Προσκαλεί τον χρήστη με το δοσμένο αναγνωριστικό στο τρέχον δωμάτιο",
- "'%(alias)s' is not a valid format for an alias": "Το '%(alias)s' δεν είναι μια έγκυρη μορφή ψευδώνυμου",
"%(senderName)s made future room history visible to all room members, from the point they are invited.": "Ο %(senderName)s έκανε το μελλοντικό ιστορικό του δωματίου δημόσιο όλα τα μέλη, από τη στιγμή που προσκλήθηκαν.",
"%(senderName)s made future room history visible to all room members, from the point they joined.": "Ο %(senderName)s έκανε το μελλοντικό ιστορικό του δωματίου δημόσιο όλα τα μέλη, από τη στιγμή που συνδέθηκαν.",
"%(senderName)s made future room history visible to all room members.": "Ο %(senderName)s έκανε το μελλοντικό ιστορικό του δωματίου δημόσιο όλα τα μέλη.",
"%(senderName)s made future room history visible to anyone.": "Ο %(senderName)s έκανε το μελλοντικό ιστορικό του δωματίου δημόσιο οποιοσδήποτε.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "Ο %(senderName)s έκανε το μελλοντικό ιστορικό του δωματίου δημόσιο άγνωστο (%(visibility)s).",
"Missing user_id in request": "Λείπει το user_id στο αίτημα",
- "Never send encrypted messages to unverified devices from this device": "Να μη γίνει ποτέ αποστολή κρυπτογραφημένων μηνυμάτων σε ανεπιβεβαίωτες συσκευές από αυτή τη συσκευή",
- "Never send encrypted messages to unverified devices in this room from this device": "Να μη γίνει ποτέ αποστολή κρυπτογραφημένων μηνυμάτων σε ανεπιβεβαίωτες συσκευές, σε αυτό το δωμάτιο, από αυτή τη συσκευή",
"not specified": "μη καθορισμένο",
"NOT verified": "ΧΩΡΙΣ επαλήθευση",
- "No devices with registered encryption keys": "Καθόλου συσκευές με εγγεγραμένα κλειδιά κρυπτογράφησης",
"No display name": "Χωρίς όνομα",
"No users have specific privileges in this room": "Κανένας χρήστης δεν έχει συγκεκριμένα δικαιώματα σε αυτό το δωμάτιο",
"Only people who have been invited": "Μόνο άτομα που έχουν προσκληθεί",
@@ -363,18 +334,14 @@
"%(senderName)s requested a VoIP conference.": "Ο %(senderName)s αιτήθηκε μια συνδιάσκεψη VoIP.",
"Riot does not have permission to send you notifications - please check your browser settings": "Το Riot δεν έχει δικαιώματα για αποστολή ειδοποιήσεων - παρακαλούμε ελέγξτε τις ρυθμίσεις του περιηγητή σας",
"Riot was not given permission to send notifications - please try again": "Δεν δόθηκαν δικαιώματα αποστολής ειδοποιήσεων στο Riot - παρακαλούμε προσπαθήστε ξανά",
- "Room contains unknown devices": "Το δωμάτιο περιέχει άγνωστες συσκευές",
"%(roomName)s is not accessible at this time.": "Το %(roomName)s δεν είναι προσβάσιμο αυτή τη στιγμή.",
"Scroll to bottom of page": "Μετάβαση στο τέλος της σελίδας",
- "Sender device information": "Πληροφορίες συσκευής αποστολέα",
"Server may be unavailable, overloaded, or search timed out :(": "Ο διακομιστής μπορεί να είναι μη διαθέσιμος, υπερφορτωμένος, ή να έχει λήξει η αναζήτηση :(",
"Server may be unavailable, overloaded, or you hit a bug.": "Ο διακομιστής μπορεί να είναι μη διαθέσιμος, υπερφορτωμένος, ή να πέσατε σε ένα σφάλμα.",
"Server unavailable, overloaded, or something else went wrong.": "Ο διακομιστής μπορεί να είναι μη διαθέσιμος, υπερφορτωμένος, ή κάτι άλλο να πήγε στραβά.",
- "Show Text Formatting Toolbar": "Εμφάνιση της εργαλειοθήκης μορφοποίησης κειμένου",
"%(count)s of your messages have not been sent.|other": "Μερικά από τα μηνύματα σας δεν έχουν αποσταλεί.",
"This room is not recognised.": "Αυτό το δωμάτιο δεν αναγνωρίζεται.",
"Unable to capture screen": "Αδυναμία σύλληψης οθόνης",
- "Unknown (user, device) pair:": "Άγνωστο ζεύγος (χρήστη, συσκευής):",
"Uploading %(filename)s and %(count)s others|zero": "Γίνεται αποστολή του %(filename)s",
"Uploading %(filename)s and %(count)s others|other": "Γίνεται αποστολή του %(filename)s και %(count)s υπολοίπων",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (δύναμη %(powerLevelNumber)s)",
@@ -385,7 +352,6 @@
"VoIP conference finished.": "Ολοκληρώθηκε η συνδιάσκεψη VoIP.",
"VoIP conference started.": "Ξεκίνησησε η συνδιάσκεψη VoIP.",
"VoIP is unsupported": "Δεν υποστηρίζεται το VoIP",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η συσκευή έχει επαληθευτεί, αλλά τα κλειδιά ΔΕΝ ΤΑΙΡΙΑΖΟΥΝ!",
"Who can access this room?": "Ποιος μπορεί να προσπελάσει αυτό το δωμάτιο;",
"Who can read history?": "Ποιος μπορεί να διαβάσει το ιστορικό;",
"%(senderName)s withdrew %(targetName)s's invitation.": "Ο %(senderName)s ανακάλεσε την πρόσκληση του %(targetName)s.",
@@ -401,7 +367,6 @@
"Riot collects anonymous analytics to allow us to improve the application.": "Το Riot συλλέγει ανώνυμα δεδομένα επιτρέποντας μας να βελτιώσουμε την εφαρμογή.",
"Failed to invite": "Δεν ήταν δυνατή η πρόσκληση",
"I verify that the keys match": "Επιβεβαιώνω πως ταιριάζουν τα κλειδιά",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "Το \"%(RoomName)s\" περιέχει συσκευές που δεν έχετε ξαναδεί.",
"Please check your email to continue registration.": "Παρακαλούμε ελέγξτε την ηλεκτρονική σας αλληλογραφία για να συνεχίσετε με την εγγραφή.",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Αν δεν ορίσετε μια διεύθυνση ηλεκτρονικής αλληλογραφίας, δεν θα θα μπορείτε να επαναφέρετε τον κωδικό πρόσβασης σας. Είστε σίγουροι;",
"Removed or unknown message type": "Αφαιρέθηκε ή άγνωστος τύπος μηνύματος",
@@ -418,8 +383,6 @@
"The email address linked to your account must be entered.": "Πρέπει να εισηχθεί η διεύθυνση ηλ. αλληλογραφίας που είναι συνδεδεμένη με τον λογαριασμό σας.",
"The remote side failed to pick up": "Η απομακρυσμένη πλευρά απέτυχε να συλλέξει",
"This room is not accessible by remote Matrix servers": "Αυτό το δωμάτιο δεν είναι προσβάσιμο από απομακρυσμένους διακομιστές Matrix",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "Ο %(senderName)s ενεργοποίησε την από άκρο σε άκρο κρυπτογράφηση (algorithm %(algorithm)s).",
- "Undecryptable": "Μη αποκρυπτογραφημένο",
"Uploading %(filename)s and %(count)s others|one": "Γίνεται αποστολή του %(filename)s και %(count)s υπολοίπα",
"You have disabled URL previews by default.": "Έχετε απενεργοποιημένη από προεπιλογή την προεπισκόπηση συνδέσμων.",
"You have enabled URL previews by default.": "Έχετε ενεργοποιημένη από προεπιλογή την προεπισκόπηση συνδέσμων.",
@@ -432,9 +395,7 @@
"Join as voice or video.": "Συμμετάσχετε με φωνή ή βίντεο.",
"Joins room with given alias": "Συνδέεστε στο δωμάτιο με δοσμένο ψευδώνυμο",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Εμφάνιση χρονικών σημάνσεων σε 12ωρη μορφή ώρας (π.χ. 2:30 μ.μ.)",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Το κλειδί υπογραφής που δώσατε αντιστοιχεί στο κλειδί υπογραφής που λάβατε από τη συσκευή %(userId)s %(deviceId)s. Η συσκευή έχει επισημανθεί ως επιβεβαιωμένη.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Η διεύθυνση της ηλ. αλληλογραφίας σας δεν φαίνεται να συσχετίζεται με μια ταυτότητα Matrix σε αυτόν τον Διακομιστή Φιλοξενίας.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Ο κωδικός πρόσβασής σας άλλαξε επιτυχώς. Δεν θα λάβετε ειδοποιήσεις push σε άλλες συσκευές μέχρι να συνδεθείτε ξανά σε αυτές",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Δεν θα μπορέσετε να αναιρέσετε αυτήν την αλλαγή καθώς προωθείτε τον χρήστη να έχει το ίδιο επίπεδο δύναμης με τον εαυτό σας.",
"Sent messages will be stored until your connection has returned.": "Τα απεσταλμένα μηνύματα θα αποθηκευτούν μέχρι να αακτηθεί η σύνδεσή σας.",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Είστε βέβαιοι ότι θέλετε να καταργήσετε (διαγράψετε) αυτό το συμβάν; Σημειώστε ότι αν διαγράψετε το όνομα δωματίου ή αλλάξετε το θέμα, θα μπορούσε να αναιρέσει την αλλαγή.",
@@ -452,22 +413,16 @@
"Your browser does not support the required cryptography extensions": "Ο περιηγητής σας δεν υποστηρίζει τα απαιτούμενα πρόσθετα κρυπτογράφησης",
"Not a valid Riot keyfile": "Μη έγκυρο αρχείο κλειδιού Riot",
"Authentication check failed: incorrect password?": "Αποτυχία ελέγχου πιστοποίησης: λανθασμένος κωδικός πρόσβασης;",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Η αλλαγή του κωδικού πρόσβασης θα επαναφέρει τα κλειδιά κρυπτογράφησης από άκρο σε άκρο σε όλες τις συσκευές, καθιστώντας το κρυπτογραφημένο ιστορικό συζητήσεων μη αναγνώσιμο, εκτός και αν εξάγετε πρώτα τα κλειδιά και τα εισαγάγετε ξανά στο δωμάτιο. Στο μέλλον αυτή η διαδικασία θα βελτιωθεί.",
"Claimed Ed25519 fingerprint key": "Απαιτήθηκε κλειδί αποτυπώματος Ed25519",
"Displays action": "Εμφανίζει την ενέργεια",
"To use it, just wait for autocomplete results to load and tab through them.": "Για να το χρησιμοποιήσετε, απλά περιμένετε μέχρι να φορτωθούν τα αποτέλεσμα αυτόματης συμπλήρωσης. Έπειτα επιλέξτε ένα από αυτά χρησιμοποιώντας τον στηλοθέτη.",
"Use compact timeline layout": "Χρήση συμπαγούς διάταξης χρονολογίου",
"(could not connect media)": "(αδυναμία σύνδεσης με το πολυμέσο)",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: ΑΠΕΤΥΧΕ Η ΕΠΙΒΕΒΑΙΩΣΗ ΤΟΥ ΚΛΕΙΔΙΟΥ! Το κλειδί υπογραφής για τον χρήστη %(userId)s και συσκευή %(deviceId)s είναι \"%(fprint)s\" και δεν ταιριάζει με το δοσμένο κλειδί \"%(fingerprint)s\". Αυτό σημαίνει ότι η επικοινωνία σας μπορεί να έχει υποκλαπεί!",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Αυτή η διαδικασία σας επιτρέπει να εξαγάγετε τα κλειδιά για τα μηνύματα που έχετε λάβει σε κρυπτογραφημένα δωμάτια σε ένα τοπικό αρχείο. Στη συνέχεια, θα μπορέσετε να εισάγετε το αρχείο σε άλλο πρόγραμμα του Matrix, έτσι ώστε το πρόγραμμα να είναι σε θέση να αποκρυπτογραφήσει αυτά τα μηνύματα.",
"The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "Το αρχείο εξαγωγής θα επιτρέψει σε οποιονδήποτε που μπορεί να το διαβάσει να αποκρυπτογραφήσει κρυπτογραφημένα μηνύματα που εσείς μπορείτε να δείτε, οπότε θα πρέπει να είστε προσεκτικοί για να το κρατήσετε ασφαλές. Για να βοηθήσετε με αυτό, θα πρέπει να εισαγάγετε ένα συνθηματικό, το οποία θα χρησιμοποιηθεί για την κρυπτογράφηση των εξαγόμενων δεδομένων. Η εισαγωγή δεδομένων θα είναι δυνατή χρησιμοποιώντας μόνο το ίδιο συνθηματικό.",
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Αυτή η διαδικασία σας επιτρέπει να εισαγάγετε κλειδιά κρυπτογράφησης που έχετε προηγουμένως εξάγει από άλλο πρόγραμμα του Matrix. Στη συνέχεια, θα μπορέσετε να αποκρυπτογραφήσετε τυχόν μηνύματα που το άλλο πρόγραμμα θα μπορούσε να αποκρυπτογραφήσει.",
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Το αρχείο εξαγωγής θα είναι προστατευμένο με συνθηματικό. Θα χρειαστεί να πληκτρολογήσετε το συνθηματικό εδώ για να αποκρυπτογραφήσετε το αρχείο.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Για να βεβαιωθείτε ότι είναι αξιόπιστη αυτή η συσκευή, επικοινωνήστε με τον κάτοχο της χρησιμοποιώντας άλλα μέσα (π.χ. προσωπικά ή μέσω τηλεφώνου) και ρωτήστε εάν το κλειδί που βλέπετε στις ρυθμίσεις χρήστη για αυτήν τη συσκευή ταιριάζει με το παρακάτω κλειδί:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Εάν ταιριάζει, πατήστε το κουμπί επιβεβαίωσης παρακάτω. Εάν όχι, τότε κάποιος άλλος παρακολουθεί αυτή τη συσκευή και ίσως θέλετε να πατήσετε το κουμπί της μαύρης λίστας.",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Αν χρησιμοποιούσατε προηγουμένως μια πιο πρόσφατη έκδοση του Riot, η συνεδρία σας ίσως είναι μη συμβατή με αυτήν την έκδοση. Κλείστε αυτό το παράθυρο και επιστρέψτε στην πιο πρόσφατη έκδοση.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Αυτήν τη στιγμή βάζετε σε μαύρη λίστα μη επιβαιωμένες συσκευές. Για να στείλετε μηνύματα σε αυτές τις συσκευές, πρέπει να τις επιβεβαιώσετε.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Σας συνιστούμε να ολοκληρώσετε τη διαδικασία επαλήθευσης για κάθε συσκευή και να επιβεβαιώσετε ότι ανήκουν στον νόμιμο κάτοχό της, αλλά εάν προτιμάτε μπορείτε να στείλετε ξανά το μήνυμα χωρίς επαλήθευση.",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Θα μεταφερθείτε σε έναν ιστότοπου τρίτου για να πραγματοποιηθεί η πιστοποίηση του λογαριασμού σας με το %(integrationsUrl)s. Θα θέλατε να συνεχίσετε;",
"Do you want to set an email address?": "Θέλετε να ορίσετε μια διεύθυνση ηλεκτρονικής αλληλογραφίας;",
"This will allow you to reset your password and receive notifications.": "Αυτό θα σας επιτρέψει να επαναφέρετε τον κωδικό πρόσβαση σας και θα μπορείτε να λαμβάνετε ειδοποιήσεις.",
@@ -475,8 +430,6 @@
"Start verification": "Έναρξη επιβεβαίωσης",
"Share without verifying": "Κοινή χρήση χωρίς επιβεβαίωση",
"Ignore request": "Παράβλεψη αιτήματος",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Έχετε προσθέσει μια νέα συσκευή '%(displayName)s', η οποία ζητά κλειδιά κρυπτογράφησης.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Η ανεπιβεβαίωτη συσκευή σας '%(displayName)s' ζητά κλειδιά κρυπτογράφησης.",
"Encryption key request": "Αίτημα κλειδιού κρυπτογράφησης",
"Check for update": "Έλεγχος για ενημέρωση",
"Fetching third party location failed": "Η λήψη τοποθεσίας απέτυχε",
@@ -527,7 +480,6 @@
"Noisy": "Δυνατά",
"Collecting app version information": "Συγκέντρωση πληροφοριών σχετικά με την έκδοση της εφαρμογής",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Διαγραφή του ψευδώνυμου %(alias)s και αφαίρεση του %(name)s από το ευρετήριο;",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Αυτό θα σας επιτρέψει να επιστρέψετε στον λογαριασμό σας αφού αποσυνδεθείτε και συνδεθείτε από άλλες συσκευές.",
"Keywords": "Λέξεις κλειδιά",
"Enable notifications for this account": "Ενεργοποίηση ειδοποιήσεων για τον λογαριασμό",
"Messages containing keywords": "Μηνύματα που περιέχουν λέξεις κλειδιά",
@@ -624,7 +576,6 @@
"Failed to invite users to community": "Αποτυχία πρόσκλησης χρηστών στην κοινότητα",
"Failed to invite users to %(groupId)s": "Αποτυχία πρόσκλησης χρηστών στο %(groupId)s",
"Failed to add the following rooms to %(groupId)s:": "Αποτυχία προσθήκης στο %(groupId)s των δωματίων:",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Υπάρχουν άγνωστες συσκευές στο δωμάτιο: εάν συνεχίσετε χωρίς να τις επιβεβαιώσετε, θα μπορούσε κάποιος να κρυφακούει την κλήση σας.",
"Show these rooms to non-members on the community page and room list?": "Εμφάνιση αυτών των δωματίων σε μη-μέλη στην σελίδα της κοινότητας και στη λίστα δωματίων;",
"Room name or alias": "Όνομα η ψευδώνυμο δωματίου",
"Restricted": "Περιορισμένο/η",
@@ -640,15 +591,12 @@
"%(widgetName)s widget removed by %(senderName)s": "Το widget %(widgetName)s αφαιρέθηκε από τον/την %(senderName)s",
"Message Pinning": "Καρφίτσωμα Μηνυμάτων",
"Enable URL previews for this room (only affects you)": "Ενεργοποίηση προεπισκόπισης URL για αυτό το δωμάτιο (επηρεάζει μόνο εσάς)",
- "Delete %(count)s devices|other": "Διαγραφή %(count)s συσκευών",
- "Delete %(count)s devices|one": "Διαγραφή συσκευής",
"Cannot add any more widgets": "Δεν είναι δυνατή η προσθήκη άλλων γραφικών στοιχείων",
"The maximum permitted number of widgets have already been added to this room.": "Ο μέγιστος επιτρεπτός αριθμός γραφικών στοιχείων έχει ήδη προστεθεί σε αυτό το δωμάτιο.",
"Add a widget": "Προσθέστε ένα γραφικό στοιχείο",
"%(senderName)s sent an image": "Ο/Η %(senderName)s έστειλε μία εικόνα",
"%(senderName)s sent a video": "Ο/Η %(senderName)s έστειλε ένα βίντεο",
"%(senderName)s uploaded a file": "Ο/Η %(senderName)s αναφόρτωσε ένα αρχείο",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Εάν οι άλλες συσκευές σας δεν έχουν το κλειδί για αυτό το μήνυμα, τότε δεν θα μπορείτε να το αποκρυπτογραφήσετε.",
"Disinvite this user?": "Απόσυρση της πρόσκλησης αυτού του χρήστη;",
"Mention": "Αναφορά",
"Invite": "Πρόσκληση",
@@ -657,7 +605,6 @@
"Send a reply (unencrypted)…": "Αποστολή απάντησης (μη κρυπτογραφημένης)…",
"Send an encrypted message…": "Αποστολή κρυπτογραφημένου μηνύματος…",
"Send a message (unencrypted)…": "Αποστολή μηνύματος (μη κρυπτογραφημένου)…",
- "Unable to reply": "Αδυναμία απάντησης",
"Unpin Message": "Ξεκαρφίτσωμα μηνύματος",
"Jump to message": "Πηγαίντε στο μήνυμα",
"No pinned messages.": "Κανένα καρφιτσωμένο μήνυμα.",
@@ -704,8 +651,6 @@
"Unable to load! Check your network connectivity and try again.": "Αδυναμία φόρτωσης! Ελέγξτε την σύνδεση του δικτύου και προσπαθήστε ξανά.",
"Registration Required": "Απαιτείτε Εγγραφή",
"You need to register to do this. Would you like to register now?": "Χρειάζεται να γίνει εγγραφή για αυτό. Θα θέλατε να κάνετε εγγραφή τώρα;",
- "Email, name or Matrix ID": "Ηλ. ταχυδρομείο, όνομα ή ταυτότητα Matrix",
- "Failed to start chat": "Αποτυχία αρχικοποίησης συνομιλίας",
"Failed to invite users to the room:": "Αποτυχία πρόσκλησης χρηστών στο δωμάτιο:",
"Missing roomId.": "Λείπει η ταυτότητα δωματίου.",
"Messages": "Μηνύματα",
@@ -715,12 +660,7 @@
"Sends a message as plain text, without interpreting it as markdown": "Αποστέλλει ένα μήνυμα ως απλό κείμενο, χωρίς να το ερμηνεύει ως \"markdown\"",
"Upgrades a room to a new version": "Αναβαθμίζει το δωμάτιο σε μια καινούργια έκδοση",
"You do not have the required permissions to use this command.": "Δεν διαθέτετε τις απαιτούμενες άδειες για να χρησιμοποιήσετε αυτήν την εντολή.",
- "Room upgrade confirmation": "Επιβεβαίωση αναβάθμισης δωματίου",
- "Upgrading a room can be destructive and isn't always necessary.": "Η αναβάθμιση ενός δωματίου μπορεί να είναι καταστροφική και δεν είναι πάντα απαραίτητη.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Οι αναβαθμίσεις δωματίου είναι συνήθως προτεινόμενες όταν μια έκδοση δωματίου θεωρείτε ασταθής. Ασταθείς εκδόσεις δωματίων μπορεί να έχουν σφάλματα, ελλειπή χαρακτηριστικά, ή αδυναμίες ασφαλείας.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Οι αναβαθμίσεις δωματίων συνήθως επηρεάζουν μόνο την επεξεργασία του δωματίου από την πλευρά του διακομιστή. Εάν έχετε προβλήματα με το πρόγραμμα-πελάτη Riot, παρακαλώ αρχειοθετήστε ένα πρόβλημα μέσω .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Προσοχή: Αναβαθμίζοντας ένα δωμάτιο δεν θα μεταφέρει αυτόματα τα μέλη του δωματίου στη νέα έκδοση του δωματίου. Θα αναρτήσουμε ένα σύνδεσμο προς το νέο δωμάτιο στη παλιά έκδοση του δωματίου - τα μέλη του δωματίου θα πρέπει να πατήσουν στον σύνδεσμο για να μπουν στο νέο δωμάτιο.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Παρακαλώ επιβεβαιώστε ότι θα θέλατε να προχωρήσετε με την αναβάθμιση του δωματίου από σε .",
"Changes your display nickname in the current room only": "Αλλάζει το εμφανιζόμενο ψευδώνυμο μόνο στο παρόν δωμάτιο",
"Changes the avatar of the current room": "Αλλάζει το άβαταρ αυτού του δωματίου",
"Changes your avatar in this current room only": "Αλλάζει το άβαταρ σας μόνο στο παρόν δωμάτιο",
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 9b08e41a8c..ff016bb988 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -5,25 +5,29 @@
"Failed to verify email address: make sure you clicked the link in the email": "Failed to verify email address: make sure you clicked the link in the email",
"Add Phone Number": "Add Phone Number",
"The platform you're on": "The platform you're on",
- "The version of Riot.im": "The version of Riot.im",
+ "The version of Riot": "The version of Riot",
"Whether or not you're logged in (we don't record your username)": "Whether or not you're logged in (we don't record your username)",
"Your language of choice": "Your language of choice",
"Which officially provided instance you are using, if any": "Which officially provided instance you are using, if any",
"Whether or not you're using the Richtext mode of the Rich Text Editor": "Whether or not you're using the Richtext mode of the Rich Text Editor",
- "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)",
"Your homeserver's URL": "Your homeserver's URL",
- "Your identity server's URL": "Your identity server's URL",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Whether you're using Riot on a device where touch is the primary input mechanism",
+ "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)",
+ "Whether you're using Riot as an installed Progressive Web App": "Whether you're using Riot as an installed Progressive Web App",
"e.g. %(exampleValue)s": "e.g. %(exampleValue)s",
"Every page you use in the app": "Every page you use in the app",
"e.g. ": "e.g. ",
- "Your User Agent": "Your User Agent",
+ "Your user agent": "Your user agent",
"Your device resolution": "Your device resolution",
"Analytics": "Analytics",
- "The information being sent to us to help make Riot.im better includes:": "The information being sent to us to help make Riot.im better includes:",
+ "The information being sent to us to help make Riot better includes:": "The information being sent to us to help make Riot better includes:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.",
+ "Error": "Error",
+ "Unable to load! Check your network connectivity and try again.": "Unable to load! Check your network connectivity and try again.",
+ "Dismiss": "Dismiss",
"Call Failed": "Call Failed",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.",
- "Review Devices": "Review Devices",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.",
+ "Review Sessions": "Review Sessions",
"Call Anyway": "Call Anyway",
"Answer Anyway": "Answer Anyway",
"Call": "Call",
@@ -41,8 +45,6 @@
"VoIP is unsupported": "VoIP is unsupported",
"You cannot place VoIP calls in this browser.": "You cannot place VoIP calls in this browser.",
"You cannot place a call with yourself.": "You cannot place a call with yourself.",
- "Could not connect to the integration server": "Could not connect to the integration server",
- "A conference call could not be started because the integrations server is not available": "A conference call could not be started because the integrations server is not available",
"Call in Progress": "Call in Progress",
"A call is currently being placed!": "A call is currently being placed!",
"A call is already in progress!": "A call is already in progress!",
@@ -57,7 +59,13 @@
"Server may be unavailable, overloaded, or you hit a bug.": "Server may be unavailable, overloaded, or you hit a bug.",
"The server does not support the room version specified.": "The server does not support the room version specified.",
"Failure to create room": "Failure to create room",
- "Send cross-signing keys to homeserver": "Send cross-signing keys to homeserver",
+ "If you cancel now, you won't complete verifying the other user.": "If you cancel now, you won't complete verifying the other user.",
+ "If you cancel now, you won't complete verifying your other session.": "If you cancel now, you won't complete verifying your other session.",
+ "If you cancel now, you won't complete your secret storage operation.": "If you cancel now, you won't complete your secret storage operation.",
+ "Cancel entering passphrase?": "Cancel entering passphrase?",
+ "Enter passphrase": "Enter passphrase",
+ "Cancel": "Cancel",
+ "Setting up keys": "Setting up keys",
"Send anyway": "Send anyway",
"Send": "Send",
"Sun": "Sun",
@@ -85,6 +93,10 @@
"%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
+ "Verify this session": "Verify this session",
+ "Encryption upgrade available": "Encryption upgrade available",
+ "Set up encryption": "Set up encryption",
+ "Unverified login. Was this you?": "Unverified login. Was this you?",
"Who would you like to add to this community?": "Who would you like to add to this community?",
"Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Warning: any person you add to a community will be publicly visible to anyone who knows the community ID",
"Invite new community members": "Invite new community members",
@@ -104,31 +116,22 @@
"This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.",
"Only continue if you trust the owner of the server.": "Only continue if you trust the owner of the server.",
"Trust": "Trust",
- "Error": "Error",
- "Unable to load! Check your network connectivity and try again.": "Unable to load! Check your network connectivity and try again.",
- "Dismiss": "Dismiss",
"Riot does not have permission to send you notifications - please check your browser settings": "Riot does not have permission to send you notifications - please check your browser settings",
"Riot was not given permission to send notifications - please try again": "Riot was not given permission to send notifications - please try again",
"Unable to enable Notifications": "Unable to enable Notifications",
"This email address was not found": "This email address was not found",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Your email address does not appear to be associated with a Matrix ID on this Homeserver.",
- "Registration Required": "Registration Required",
- "You need to register to do this. Would you like to register now?": "You need to register to do this. Would you like to register now?",
- "Register": "Register",
+ "Sign In or Create Account": "Sign In or Create Account",
+ "Use your account or create a new one to continue.": "Use your account or create a new one to continue.",
+ "Create Account": "Create Account",
+ "Sign In": "Sign In",
"Default": "Default",
"Restricted": "Restricted",
"Moderator": "Moderator",
"Admin": "Admin",
"Custom (%(level)s)": "Custom (%(level)s)",
- "Start a chat": "Start a chat",
- "Who would you like to communicate with?": "Who would you like to communicate with?",
- "Email, name or Matrix ID": "Email, name or Matrix ID",
- "Start Chat": "Start Chat",
- "Invite new room members": "Invite new room members",
- "Send Invites": "Send Invites",
- "Failed to start chat": "Failed to start chat",
- "Operation failed": "Operation failed",
"Failed to invite": "Failed to invite",
+ "Operation failed": "Operation failed",
"Failed to invite users to the room:": "Failed to invite users to the room:",
"Failed to invite the following users to the %(roomName)s room:": "Failed to invite the following users to the %(roomName)s room:",
"You need to be logged in.": "You need to be logged in.",
@@ -187,19 +190,19 @@
"Adds a custom widget by URL to the room": "Adds a custom widget by URL to the room",
"Please supply a https:// or http:// widget URL": "Please supply a https:// or http:// widget URL",
"You cannot modify widgets in this room.": "You cannot modify widgets in this room.",
- "Verifies a user, device, and pubkey tuple": "Verifies a user, device, and pubkey tuple",
- "Unknown (user, device) pair:": "Unknown (user, device) pair:",
- "Device already verified!": "Device already verified!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "WARNING: Device already verified, but keys do NOT MATCH!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!",
+ "Verifies a user, session, and pubkey tuple": "Verifies a user, session, and pubkey tuple",
+ "Unknown (user, session) pair:": "Unknown (user, session) pair:",
+ "Session already verified!": "Session already verified!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "WARNING: Session already verified, but keys do NOT MATCH!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!",
"Verified key": "Verified key",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.",
"Displays action": "Displays action",
"Forces the current outbound group session in an encrypted room to be discarded": "Forces the current outbound group session in an encrypted room to be discarded",
"Sends the given message coloured as a rainbow": "Sends the given message coloured as a rainbow",
"Sends the given emote coloured as a rainbow": "Sends the given emote coloured as a rainbow",
"Displays list of commands with usages and descriptions": "Displays list of commands with usages and descriptions",
- "Unrecognised command:": "Unrecognised command:",
+ "Displays information about a user": "Displays information about a user",
"Reason": "Reason",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s accepted the invitation for %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s accepted an invitation.",
@@ -223,6 +226,7 @@
"%(senderName)s kicked %(targetName)s.": "%(senderName)s kicked %(targetName)s.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s changed the topic to \"%(topic)s\".",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s removed the room name.",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.",
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s changed the room name to %(roomName)s.",
"%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s upgraded this room.",
"%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s made the room public to whoever knows the link.",
@@ -235,13 +239,15 @@
"%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s disabled flair for %(groups)s in this room.",
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sent an image.",
- "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s added %(addedAddresses)s as addresses for this room.",
- "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "%(senderName)s added %(addedAddresses)s as an address for this room.",
- "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "%(senderName)s removed %(removedAddresses)s as addresses for this room.",
- "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s removed %(removedAddresses)s as an address for this room.",
- "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.",
"%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s set the main address for this room to %(address)s.",
"%(senderName)s removed the main address for this room.": "%(senderName)s removed the main address for this room.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s added the alternative addresses %(addresses)s for this room.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s added alternative address %(addresses)s for this room.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s removed the alternative addresses %(addresses)s for this room.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s removed alternative address %(addresses)s for this room.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s changed the alternative addresses for this room.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s changed the main and alternative addresses for this room.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s changed the addresses for this room.",
"Someone": "Someone",
"(not supported by this browser)": "(not supported by this browser)",
"%(senderName)s answered the call.": "%(senderName)s answered the call.",
@@ -260,7 +266,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s made future room history visible to all room members.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s made future room history visible to anyone.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s made future room history visible to unknown (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s changed the power level of %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s changed the pinned messages for the room.",
@@ -286,6 +291,12 @@
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s",
"Light theme": "Light theme",
"Dark theme": "Dark theme",
+ "Not Trusted": "Not Trusted",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) signed in to a new session without verifying it:",
+ "Ask this user to verify their session, or manually verify it below.": "Ask this user to verify their session, or manually verify it below.",
+ "Manually Verify by Text": "Manually Verify by Text",
+ "Interactively verify by Emoji": "Interactively verify by Emoji",
+ "Done": "Done",
"%(displayName)s is typing …": "%(displayName)s is typing …",
"%(names)s and %(count)s others are typing …|other": "%(names)s and %(count)s others are typing …",
"%(names)s and %(count)s others are typing …|one": "%(names)s and one other is typing …",
@@ -372,11 +383,12 @@
"Render simple counters in room header": "Render simple counters in room header",
"Multiple integration managers": "Multiple integration managers",
"Try out new ways to ignore people (experimental)": "Try out new ways to ignore people (experimental)",
- "New DM invite dialog (under development)": "New DM invite dialog (under development)",
"Show a presence dot next to DMs in the room list": "Show a presence dot next to DMs in the room list",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Enable cross-signing to verify per-user instead of per-device (in development)",
+ "Support adding custom themes": "Support adding custom themes",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Enable cross-signing to verify per-user instead of per-session (in development)",
"Enable local event indexing and E2EE search (requires restart)": "Enable local event indexing and E2EE search (requires restart)",
"Show info about bridges in room settings": "Show info about bridges in room settings",
+ "Show padlocks on invite only rooms": "Show padlocks on invite only rooms",
"Enable Emoji suggestions while typing": "Enable Emoji suggestions while typing",
"Use compact timeline layout": "Use compact timeline layout",
"Show a placeholder for removed messages": "Show a placeholder for removed messages",
@@ -393,14 +405,15 @@
"Show avatars in user and room mentions": "Show avatars in user and room mentions",
"Enable big emoji in chat": "Enable big emoji in chat",
"Send typing notifications": "Send typing notifications",
+ "Show typing notifications": "Show typing notifications",
"Automatically replace plain text Emoji": "Automatically replace plain text Emoji",
"Mirror local video feed": "Mirror local video feed",
"Enable Community Filter Panel": "Enable Community Filter Panel",
"Match system theme": "Match system theme",
"Allow Peer-to-Peer for 1:1 calls": "Allow Peer-to-Peer for 1:1 calls",
"Send analytics data": "Send analytics data",
- "Never send encrypted messages to unverified devices from this device": "Never send encrypted messages to unverified devices from this device",
- "Never send encrypted messages to unverified devices in this room from this device": "Never send encrypted messages to unverified devices in this room from this device",
+ "Never send encrypted messages to unverified sessions from this session": "Never send encrypted messages to unverified sessions from this session",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Never send encrypted messages to unverified sessions in this room from this session",
"Enable inline URL previews by default": "Enable inline URL previews by default",
"Enable URL previews for this room (only affects you)": "Enable URL previews for this room (only affects you)",
"Enable URL previews by default for participants in this room": "Enable URL previews by default for participants in this room",
@@ -408,13 +421,18 @@
"Enable widget screenshots on supported widgets": "Enable widget screenshots on supported widgets",
"Prompt before sending invites to potentially invalid matrix IDs": "Prompt before sending invites to potentially invalid matrix IDs",
"Show developer tools": "Show developer tools",
- "Order rooms in the room list by most important first instead of most recent": "Order rooms in the room list by most important first instead of most recent",
- "Show recently visited rooms above the room list": "Show recently visited rooms above the room list",
+ "Order rooms by name": "Order rooms by name",
+ "Show rooms with unread notifications first": "Show rooms with unread notifications first",
+ "Show shortcuts to recently viewed rooms above the room list": "Show shortcuts to recently viewed rooms above the room list",
"Show hidden events in timeline": "Show hidden events in timeline",
"Low bandwidth mode": "Low bandwidth mode",
"Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)",
"Send read receipts for messages (requires compatible homeserver to disable)": "Send read receipts for messages (requires compatible homeserver to disable)",
"Show previews/thumbnails for images": "Show previews/thumbnails for images",
+ "Enable message search in encrypted rooms": "Enable message search in encrypted rooms",
+ "Keep secret storage passphrase in memory for this session": "Keep secret storage passphrase in memory for this session",
+ "How fast should messages be downloaded.": "How fast should messages be downloaded.",
+ "Manually verify all remote sessions": "Manually verify all remote sessions",
"Collecting app version information": "Collecting app version information",
"Collecting logs": "Collecting logs",
"Uploading report": "Uploading report",
@@ -445,11 +463,22 @@
"You've successfully verified this user.": "You've successfully verified this user.",
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.",
"Got It": "Got It",
+ "Verify this session by completing one of the following:": "Verify this session by completing one of the following:",
+ "Scan this unique code": "Scan this unique code",
+ "or": "or",
+ "Compare unique emoji": "Compare unique emoji",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Compare a unique set of emoji if you don't have a camera on either device",
+ "Start": "Start",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Confirm the emoji below are displayed on both devices, in the same order:",
"Verify this user by confirming the following emoji appear on their screen.": "Verify this user by confirming the following emoji appear on their screen.",
+ "Verify this device by confirming the following number appears on its screen.": "Verify this device by confirming the following number appears on its screen.",
"Verify this user by confirming the following number appears on their screen.": "Verify this user by confirming the following number appears on their screen.",
"Unable to find a supported verification method.": "Unable to find a supported verification method.",
- "Cancel": "Cancel",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "For maximum security, we recommend you do this in person or use another trusted means of communication.",
+ "Waiting for %(displayName)s to verify…": "Waiting for %(displayName)s to verify…",
+ "Cancelling…": "Cancelling…",
+ "They match": "They match",
+ "They don't match": "They don't match",
+ "To be secure, do this in person or use a trusted way to communicate.": "To be secure, do this in person or use a trusted way to communicate.",
"Dog": "Dog",
"Cat": "Cat",
"Lion": "Lion",
@@ -514,17 +543,30 @@
"Headphones": "Headphones",
"Folder": "Folder",
"Pin": "Pin",
+ "Verify yourself & others to keep your chats safe": "Verify yourself & others to keep your chats safe",
+ "Other users may not trust it": "Other users may not trust it",
+ "Update your secure storage": "Update your secure storage",
+ "Upgrade": "Upgrade",
+ "Verify": "Verify",
+ "Later": "Later",
+ "Review": "Review",
"Decline (%(counter)s)": "Decline (%(counter)s)",
"Accept to continue:": "Accept to continue:",
"Upload": "Upload",
"Remove": "Remove",
+ "This bridge was provisioned by .": "This bridge was provisioned by .",
+ "This bridge is managed by .": "This bridge is managed by .",
+ "Workspace: %(networkName)s": "Workspace: %(networkName)s",
+ "Channel: %(channelName)s": "Channel: %(channelName)s",
+ "Show less": "Show less",
+ "Show more": "Show more",
"Failed to upload profile picture!": "Failed to upload profile picture!",
"Upload new:": "Upload new:",
"No display name": "No display name",
"New passwords don't match": "New passwords don't match",
"Passwords can't be empty": "Passwords can't be empty",
"Warning!": "Warning!",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.",
"Export E2E room keys": "Export E2E room keys",
"Do you want to set an email address?": "Do you want to set an email address?",
"Current password": "Current password",
@@ -532,28 +574,49 @@
"New Password": "New Password",
"Confirm password": "Confirm password",
"Change Password": "Change Password",
+ "Your homeserver does not support cross-signing.": "Your homeserver does not support cross-signing.",
"Cross-signing and secret storage are enabled.": "Cross-signing and secret storage are enabled.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.",
"Cross-signing and secret storage are not yet set up.": "Cross-signing and secret storage are not yet set up.",
+ "Reset cross-signing and secret storage": "Reset cross-signing and secret storage",
"Bootstrap cross-signing and secret storage": "Bootstrap cross-signing and secret storage",
"Cross-signing public keys:": "Cross-signing public keys:",
- "on device": "on device",
+ "in memory": "in memory",
"not found": "not found",
"Cross-signing private keys:": "Cross-signing private keys:",
"in secret storage": "in secret storage",
+ "Self signing private key:": "Self signing private key:",
+ "cached locally": "cached locally",
+ "not found locally": "not found locally",
+ "User signing private key:": "User signing private key:",
+ "Session backup key:": "Session backup key:",
"Secret storage public key:": "Secret storage public key:",
"in account data": "in account data",
- "Your homeserver does not support device management.": "Your homeserver does not support device management.",
- "Unable to load device list": "Unable to load device list",
+ "Homeserver feature support:": "Homeserver feature support:",
+ "exists": "exists",
+ "Secret Storage key format:": "Secret Storage key format:",
+ "outdated": "outdated",
+ "up to date": "up to date",
+ "Your homeserver does not support session management.": "Your homeserver does not support session management.",
+ "Unable to load session list": "Unable to load session list",
"Authentication": "Authentication",
- "Delete %(count)s devices|other": "Delete %(count)s devices",
- "Delete %(count)s devices|one": "Delete device",
+ "Delete %(count)s sessions|other": "Delete %(count)s sessions",
+ "Delete %(count)s sessions|one": "Delete %(count)s session",
"ID": "ID",
"Public Name": "Public Name",
"Last seen": "Last seen",
"Failed to set display name": "Failed to set display name",
+ "Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.": "Individually verify each session used by a user to mark it as trusted, not trusting cross-signed devices.",
"Disable Notifications": "Disable Notifications",
"Enable Notifications": "Enable Notifications",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Securely cache encrypted messages locally for them to appear in search results, using ",
+ " to store messages from ": " to store messages from ",
+ "rooms.": "rooms.",
+ "Manage": "Manage",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Securely cache encrypted messages locally for them to appear in search results.",
+ "Enable": "Enable",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.",
"Connecting to integration manager...": "Connecting to integration manager...",
"Cannot connect to integration manager": "Cannot connect to integration manager",
"The integration manager is offline or it cannot reach your homeserver.": "The integration manager is offline or it cannot reach your homeserver.",
@@ -562,31 +625,30 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.",
"Unable to load key backup status": "Unable to load key backup status",
"Restore from Backup": "Restore from Backup",
- "This device is backing up your keys. ": "This device is backing up your keys. ",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.",
- "Connect this device to Key Backup": "Connect this device to Key Backup",
+ "This session is backing up your keys. ": "This session is backing up your keys. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.",
+ "Connect this session to Key Backup": "Connect this session to Key Backup",
"not stored": "not stored",
"Backing up %(sessionsRemaining)s keys...": "Backing up %(sessionsRemaining)s keys...",
"All keys backed up": "All keys backed up",
"Backup has a valid signature from this user": "Backup has a valid signature from this user",
"Backup has a invalid signature from this user": "Backup has a invalid signature from this user",
"Backup has a signature from unknown user with ID %(deviceId)s": "Backup has a signature from unknown user with ID %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Backup has a signature from unknown device with ID %(deviceId)s",
- "Backup has a valid signature from this device": "Backup has a valid signature from this device",
- "Backup has an invalid signature from this device": "Backup has an invalid signature from this device",
- "Backup has a valid signature from verified device ": "Backup has a valid signature from verified device ",
- "Backup has a valid signature from unverified device ": "Backup has a valid signature from unverified device ",
- "Backup has an invalid signature from verified device ": "Backup has an invalid signature from verified device ",
- "Backup has an invalid signature from unverified device ": "Backup has an invalid signature from unverified device ",
- "Backup is not signed by any of your devices": "Backup is not signed by any of your devices",
- "This backup is trusted because it has been restored on this device": "This backup is trusted because it has been restored on this device",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Backup has a signature from unknown session with ID %(deviceId)s",
+ "Backup has a valid signature from this session": "Backup has a valid signature from this session",
+ "Backup has an invalid signature from this session": "Backup has an invalid signature from this session",
+ "Backup has a valid signature from verified session ": "Backup has a valid signature from verified session ",
+ "Backup has a valid signature from unverified session ": "Backup has a valid signature from unverified session ",
+ "Backup has an invalid signature from verified session ": "Backup has an invalid signature from verified session ",
+ "Backup has an invalid signature from unverified session ": "Backup has an invalid signature from unverified session ",
+ "Backup is not signed by any of your sessions": "Backup is not signed by any of your sessions",
+ "This backup is trusted because it has been restored on this session": "This backup is trusted because it has been restored on this session",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.",
"Backup version: ": "Backup version: ",
"Algorithm: ": "Algorithm: ",
"Backup key stored: ": "Backup key stored: ",
- "Start using Key Backup with Secure Secret Storage": "Start using Key Backup with Secure Secret Storage",
- "Your keys are not being backed up from this device.": "Your keys are not being backed up from this device.",
+ "Your keys are not being backed up from this session.": "Your keys are not being backed up from this session.",
"Back up your keys before signing out to avoid losing them.": "Back up your keys before signing out to avoid losing them.",
"Start using Key Backup": "Start using Key Backup",
"Error saving email notification preferences": "Error saving email notification preferences",
@@ -610,9 +672,9 @@
"Advanced notification settings": "Advanced notification settings",
"There are advanced notifications which are not shown here": "There are advanced notifications which are not shown here",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply",
- "Enable desktop notifications for this device": "Enable desktop notifications for this device",
+ "Enable desktop notifications for this session": "Enable desktop notifications for this session",
"Show message in desktop notification": "Show message in desktop notification",
- "Enable audible notifications for this device": "Enable audible notifications for this device",
+ "Enable audible notifications for this session": "Enable audible notifications for this session",
"Off": "Off",
"On": "On",
"Noisy": "Noisy",
@@ -657,13 +719,18 @@
"Flair": "Flair",
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
"Success": "Success",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them",
+ "Invalid theme schema.": "Invalid theme schema.",
+ "Error downloading theme information.": "Error downloading theme information.",
+ "Theme added!": "Theme added!",
"Profile": "Profile",
"Email addresses": "Email addresses",
"Phone numbers": "Phone numbers",
- "Account": "Account",
"Set a new account password...": "Set a new account password...",
+ "Account": "Account",
"Language and region": "Language and region",
+ "Custom theme URL": "Custom theme URL",
+ "Add theme": "Add theme",
"Theme": "Theme",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.",
"Account management": "Account management",
@@ -684,9 +751,10 @@
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.",
"Submit debug logs": "Submit debug logs",
"Clear cache and reload": "Clear cache and reload",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.",
"FAQ": "FAQ",
+ "Keyboard Shortcuts": "Keyboard Shortcuts",
"Versions": "Versions",
- "matrix-react-sdk version:": "matrix-react-sdk version:",
"riot-web version:": "riot-web version:",
"olm version:": "olm version:",
"Homeserver is": "Homeserver is",
@@ -733,9 +801,9 @@
"Always show the window menu bar": "Always show the window menu bar",
"Show tray icon and minimize window to it on close": "Show tray icon and minimize window to it on close",
"Preferences": "Preferences",
+ "Room list": "Room list",
"Composer": "Composer",
"Timeline": "Timeline",
- "Room list": "Room list",
"Autocomplete delay (ms)": "Autocomplete delay (ms)",
"Read Marker lifetime (ms)": "Read Marker lifetime (ms)",
"Read Marker off-screen lifetime (ms)": "Read Marker off-screen lifetime (ms)",
@@ -743,16 +811,17 @@
"": "",
"Import E2E room keys": "Import E2E room keys",
"Cryptography": "Cryptography",
- "Device ID:": "Device ID:",
- "Device key:": "Device key:",
+ "Session ID:": "Session ID:",
+ "Session key:": "Session key:",
"Bulk options": "Bulk options",
"Accept all %(invitedRooms)s invites": "Accept all %(invitedRooms)s invites",
"Reject all %(invitedRooms)s invites": "Reject all %(invitedRooms)s invites",
"Key backup": "Key backup",
+ "Message search": "Message search",
"Cross-signing": "Cross-signing",
"Security & Privacy": "Security & Privacy",
- "Devices": "Devices",
- "A device's public name is visible to people you communicate with": "A device's public name is visible to people you communicate with",
+ "Sessions": "Sessions",
+ "A session's public name is visible to people you communicate with": "A session's public name is visible to people you communicate with",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot collects anonymous analytics to allow us to improve the application.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.",
"Learn more about how we use analytics.": "Learn more about how we use analytics.",
@@ -779,15 +848,10 @@
"Room version:": "Room version:",
"Developer options": "Developer options",
"Open Devtools": "Open Devtools",
- "This bridge was provisioned by ": "This bridge was provisioned by ",
- "This bridge is managed by .": "This bridge is managed by .",
- "Bridged into , on ": "Bridged into , on ",
- "Connected to on ": "Connected to on ",
- "Connected via %(protocolName)s": "Connected via %(protocolName)s",
- "Bridge Info": "Bridge Info",
- "Below is a list of bridges connected to this room.": "Below is a list of bridges connected to this room.",
+ "This room is bridging messages to the following platforms. Learn more.": "This room is bridging messages to the following platforms. Learn more.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "This room isn’t bridging messages to any platforms. Learn more.",
+ "Bridges": "Bridges",
"Room Addresses": "Room Addresses",
- "Publish this room to the public in %(domain)s's room directory?": "Publish this room to the public in %(domain)s's room directory?",
"URL Previews": "URL Previews",
"Uploaded sound": "Uploaded sound",
"Sounds": "Sounds",
@@ -881,30 +945,34 @@
" (unsupported)": " (unsupported)",
"Join as voice or video.": "Join as voice or video.",
"Ongoing conference call%(supportedText)s.": "Ongoing conference call%(supportedText)s.",
- "This user has not verified all of their devices.": "This user has not verified all of their devices.",
- "You have not verified this user. This user has verified all of their devices.": "You have not verified this user. This user has verified all of their devices.",
- "You have verified this user. This user has verified all of their devices.": "You have verified this user. This user has verified all of their devices.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Some users in this encrypted room are not verified by you or they have not verified their own devices.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "All users in this encrypted room are verified by you and they have verified their own devices.",
- "Some devices for this user are not trusted": "Some devices for this user are not trusted",
- "All devices for this user are trusted": "All devices for this user are trusted",
- "Some devices in this encrypted room are not trusted": "Some devices in this encrypted room are not trusted",
- "All devices in this encrypted room are trusted": "All devices in this encrypted room are trusted",
+ "This user has not verified all of their sessions.": "This user has not verified all of their sessions.",
+ "You have not verified this user.": "You have not verified this user.",
+ "You have verified this user. This user has verified all of their sessions.": "You have verified this user. This user has verified all of their sessions.",
+ "Someone is using an unknown session": "Someone is using an unknown session",
+ "This room is end-to-end encrypted": "This room is end-to-end encrypted",
+ "Everyone in this room is verified": "Everyone in this room is verified",
+ "Some sessions for this user are not trusted": "Some sessions for this user are not trusted",
+ "All sessions for this user are trusted": "All sessions for this user are trusted",
+ "Some sessions in this encrypted room are not trusted": "Some sessions in this encrypted room are not trusted",
+ "All sessions in this encrypted room are trusted": "All sessions in this encrypted room are trusted",
"Edit message": "Edit message",
+ "Mod": "Mod",
"This event could not be displayed": "This event could not be displayed",
"%(senderName)s sent an image": "%(senderName)s sent an image",
"%(senderName)s sent a video": "%(senderName)s sent a video",
"%(senderName)s uploaded a file": "%(senderName)s uploaded a file",
- "Your key share request has been sent - please check your other devices for key share requests.": "Your key share request has been sent - please check your other devices for key share requests.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "If your other devices do not have the key for this message you will not be able to decrypt them.",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Your key share request has been sent - please check your other sessions for key share requests.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "If your other sessions do not have the key for this message you will not be able to decrypt them.",
"Key request sent.": "Key request sent.",
- "Re-request encryption keys from your other devices.": "Re-request encryption keys from your other devices.",
+ "Re-request encryption keys from your other sessions.": "Re-request encryption keys from your other sessions.",
"This message cannot be decrypted": "This message cannot be decrypted",
- "Encrypted by an unverified device": "Encrypted by an unverified device",
+ "Encrypted by an unverified session": "Encrypted by an unverified session",
"Unencrypted": "Unencrypted",
+ "Encrypted by a deleted session": "Encrypted by a deleted session",
"Please select the destination room for this message": "Please select the destination room for this message",
- "Scroll to bottom of page": "Scroll to bottom of page",
+ "Invite only": "Invite only",
+ "Scroll to most recent messages": "Scroll to most recent messages",
"Close preview": "Close preview",
"device id: ": "device id: ",
"Disinvite": "Disinvite",
@@ -936,12 +1004,13 @@
"Failed to change power level": "Failed to change power level",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.",
"Are you sure?": "Are you sure?",
- "No devices with registered encryption keys": "No devices with registered encryption keys",
+ "No sessions with registered encryption keys": "No sessions with registered encryption keys",
"Jump to read receipt": "Jump to read receipt",
"Mention": "Mention",
"Invite": "Invite",
"Share Link to User": "Share Link to User",
"User Options": "User Options",
+ "Start a chat": "Start a chat",
"Direct chats": "Direct chats",
"Remove recent messages": "Remove recent messages",
"Unmute": "Unmute",
@@ -960,8 +1029,10 @@
"Hangup": "Hangup",
"Upload file": "Upload file",
"Send an encrypted reply…": "Send an encrypted reply…",
- "Send a reply (unencrypted)…": "Send a reply (unencrypted)…",
+ "Send a reply…": "Send a reply…",
"Send an encrypted message…": "Send an encrypted message…",
+ "Send a message…": "Send a message…",
+ "Send a reply (unencrypted)…": "Send a reply (unencrypted)…",
"Send a message (unencrypted)…": "Send a message (unencrypted)…",
"The conversation continues here.": "The conversation continues here.",
"This room has been replaced and is no longer active.": "This room has been replaced and is no longer active.",
@@ -1008,7 +1079,7 @@
"Community Invites": "Community Invites",
"Invites": "Invites",
"Favourites": "Favourites",
- "People": "People",
+ "Direct Messages": "Direct Messages",
"Start chat": "Start chat",
"Rooms": "Rooms",
"Low priority": "Low priority",
@@ -1020,7 +1091,6 @@
"Rejecting invite …": "Rejecting invite …",
"Join the conversation with an account": "Join the conversation with an account",
"Sign Up": "Sign Up",
- "Sign In": "Sign In",
"Loading room preview": "Loading room preview",
"You were kicked from %(roomName)s by %(memberName)s": "You were kicked from %(roomName)s by %(memberName)s",
"Reason: %(reason)s": "Reason: %(reason)s",
@@ -1045,6 +1115,7 @@
"Do you want to join %(roomName)s?": "Do you want to join %(roomName)s?",
" invited you": " invited you",
"Reject": "Reject",
+ "Reject & Ignore user": "Reject & Ignore user",
"You're previewing %(roomName)s. Want to join it?": "You're previewing %(roomName)s. Want to join it?",
"%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s can't be previewed. Do you want to join it?",
"%(roomName)s does not exist.": "%(roomName)s does not exist.",
@@ -1075,6 +1146,11 @@
"Server error": "Server error",
"Command error": "Command error",
"Server unavailable, overloaded, or something else went wrong.": "Server unavailable, overloaded, or something else went wrong.",
+ "Unknown Command": "Unknown Command",
+ "Unrecognised command: %(commandText)s": "Unrecognised command: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "You can use /help to list available commands. Did you mean to send this as a message?",
+ "Hint: Begin your message with // to start it with a slash.": "Hint: Begin your message with // to start it with a slash.",
+ "Send as message": "Send as message",
"Failed to connect to integration manager": "Failed to connect to integration manager",
"You don't currently have any stickerpacks enabled": "You don't currently have any stickerpacks enabled",
"Add some now": "Add some now",
@@ -1086,18 +1162,26 @@
"Revoke invite": "Revoke invite",
"Invited by %(sender)s": "Invited by %(sender)s",
"Jump to first unread message.": "Jump to first unread message.",
+ "Mark all as read": "Mark all as read",
"Error updating main address": "Error updating main address",
"There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.",
"Error creating alias": "Error creating alias",
"There was an error creating that alias. It may not be allowed by the server or a temporary failure occurred.": "There was an error creating that alias. It may not be allowed by the server or a temporary failure occurred.",
- "Error removing alias": "Error removing alias",
+ "You don't have permission to delete the alias.": "You don't have permission to delete the alias.",
"There was an error removing that alias. It may no longer exist or a temporary error occurred.": "There was an error removing that alias. It may no longer exist or a temporary error occurred.",
+ "Error removing alias": "Error removing alias",
"Main address": "Main address",
"not specified": "not specified",
- "Remote addresses for this room:": "Remote addresses for this room:",
- "Local addresses for this room:": "Local addresses for this room:",
"This room has no local addresses": "This room has no local addresses",
- "New address (e.g. #foo:%(localDomain)s)": "New address (e.g. #foo:%(localDomain)s)",
+ "Local address": "Local address",
+ "Published Addresses": "Published Addresses",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.",
+ "Other published addresses:": "Other published addresses:",
+ "No other published addresses yet, add one below": "No other published addresses yet, add one below",
+ "New published address (e.g. #alias:server)": "New published address (e.g. #alias:server)",
+ "Local Addresses": "Local Addresses",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)",
"Error updating flair": "Error updating flair",
"There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.",
"Invalid community ID": "Invalid community ID",
@@ -1108,19 +1192,38 @@
"Room Name": "Room Name",
"Room Topic": "Room Topic",
"Room avatar": "Room avatar",
+ "Publish this room to the public in %(domain)s's room directory?": "Publish this room to the public in %(domain)s's room directory?",
"You have enabled URL previews by default.": "You have enabled URL previews by default.",
"You have disabled URL previews by default.": "You have disabled URL previews by default.",
"URL previews are enabled by default for participants in this room.": "URL previews are enabled by default for participants in this room.",
"URL previews are disabled by default for participants in this room.": "URL previews are disabled by default for participants in this room.",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.",
+ "Waiting for %(displayName)s to accept…": "Waiting for %(displayName)s to accept…",
+ "Accepting…": "Accepting…",
+ "Start Verification": "Start Verification",
+ "Messages in this room are end-to-end encrypted.": "Messages in this room are end-to-end encrypted.",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Your messages are secured and only you and the recipient have the unique keys to unlock them.",
+ "Messages in this room are not end-to-end encrypted.": "Messages in this room are not end-to-end encrypted.",
+ "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.": "In encrypted rooms, your messages are secured and only you and the recipient have the unique keys to unlock them.",
+ "Verify User": "Verify User",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "For extra security, verify this user by checking a one-time code on both of your devices.",
+ "Your messages are not secure": "Your messages are not secure",
+ "One of the following may be compromised:": "One of the following may be compromised:",
+ "Your homeserver": "Your homeserver",
+ "The homeserver the user you’re verifying is connected to": "The homeserver the user you’re verifying is connected to",
+ "Yours, or the other users’ internet connection": "Yours, or the other users’ internet connection",
+ "Yours, or the other users’ session": "Yours, or the other users’ session",
"Members": "Members",
"Files": "Files",
"Trusted": "Trusted",
"Not trusted": "Not trusted",
- "Hide verified sessions": "Hide verified sessions",
"%(count)s verified sessions|other": "%(count)s verified sessions",
"%(count)s verified sessions|one": "1 verified session",
+ "Hide verified sessions": "Hide verified sessions",
+ "%(count)s sessions|other": "%(count)s sessions",
+ "%(count)s sessions|one": "%(count)s session",
+ "Hide sessions": "Hide sessions",
"Direct message": "Direct message",
"Remove from community": "Remove from community",
"Disinvite this user from community?": "Disinvite this user from community?",
@@ -1129,10 +1232,23 @@
"Failed to remove user from community": "Failed to remove user from community",
"%(role)s in %(roomName)s": "%(role)s in %(roomName)s",
"This client does not support end-to-end encryption.": "This client does not support end-to-end encryption.",
- "Messages in this room are not end-to-end encrypted.": "Messages in this room are not end-to-end encrypted.",
- "Messages in this room are end-to-end encrypted.": "Messages in this room are end-to-end encrypted.",
- "Verify": "Verify",
"Security": "Security",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.",
+ "Verify by scanning": "Verify by scanning",
+ "Ask %(displayName)s to scan your code:": "Ask %(displayName)s to scan your code:",
+ "Verify by emoji": "Verify by emoji",
+ "If you can't scan the code above, verify by comparing unique emoji.": "If you can't scan the code above, verify by comparing unique emoji.",
+ "Verify by comparing unique emoji.": "Verify by comparing unique emoji.",
+ "Verify all users in a room to ensure it's secure.": "Verify all users in a room to ensure it's secure.",
+ "In encrypted rooms, verify all users to ensure it’s secure.": "In encrypted rooms, verify all users to ensure it’s secure.",
+ "Verified": "Verified",
+ "You've successfully verified %(displayName)s!": "You've successfully verified %(displayName)s!",
+ "Got it": "Got it",
+ "Verification timed out. Start verification again from their profile.": "Verification timed out. Start verification again from their profile.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s cancelled verification. Start verification again from their profile.",
+ "You cancelled verification. Start verification again from their profile.": "You cancelled verification. Start verification again from their profile.",
+ "Verification cancelled": "Verification cancelled",
+ "Compare emoji": "Compare emoji",
"Sunday": "Sunday",
"Monday": "Monday",
"Tuesday": "Tuesday",
@@ -1143,6 +1259,10 @@
"Today": "Today",
"Yesterday": "Yesterday",
"View Source": "View Source",
+ "Encryption enabled": "Encryption enabled",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.",
+ "Encryption not enabled": "Encryption not enabled",
+ "The encryption used by this room isn't supported.": "The encryption used by this room isn't supported.",
"Error decrypting audio": "Error decrypting audio",
"React": "React",
"Reply": "Reply",
@@ -1161,8 +1281,12 @@
"%(name)s cancelled verifying": "%(name)s cancelled verifying",
"You accepted": "You accepted",
"%(name)s accepted": "%(name)s accepted",
+ "You declined": "You declined",
"You cancelled": "You cancelled",
+ "%(name)s declined": "%(name)s declined",
"%(name)s cancelled": "%(name)s cancelled",
+ "Accepting …": "Accepting …",
+ "Declining …": "Declining …",
"%(name)s wants to verify": "%(name)s wants to verify",
"You sent a verification request": "You sent a verification request",
"Error decrypting video": "Error decrypting video",
@@ -1339,9 +1463,24 @@
"This alias is available to use": "This alias is available to use",
"This alias is already in use": "This alias is already in use",
"Room directory": "Room directory",
+ "Sign in with single sign-on": "Sign in with single sign-on",
"And %(count)s more...|other": "And %(count)s more...",
"ex. @bob:example.com": "ex. @bob:example.com",
"Add User": "Add User",
+ "Enter a server name": "Enter a server name",
+ "Looks good": "Looks good",
+ "Can't find this server or its room list": "Can't find this server or its room list",
+ "All rooms": "All rooms",
+ "Your server": "Your server",
+ "Are you sure you want to remove %(serverName)s": "Are you sure you want to remove %(serverName)s",
+ "Remove server": "Remove server",
+ "Matrix": "Matrix",
+ "Add a new server": "Add a new server",
+ "Enter the name of a new server you want to explore.": "Enter the name of a new server you want to explore.",
+ "Server name": "Server name",
+ "Add a new server...": "Add a new server...",
+ "%(networkName)s rooms": "%(networkName)s rooms",
+ "Matrix rooms": "Matrix rooms",
"Matrix ID": "Matrix ID",
"Matrix Room ID": "Matrix Room ID",
"email address": "email address",
@@ -1371,10 +1510,13 @@
"Changelog": "Changelog",
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
"Removing…": "Removing…",
+ "Destroy cross-signing keys?": "Destroy cross-signing keys?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.",
+ "Clear cross-signing keys": "Clear cross-signing keys",
"Confirm Removal": "Confirm Removal",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.",
- "Clear all data on this device?": "Clear all data on this device?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.",
+ "Clear all data in this session?": "Clear all data in this session?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.",
"Clear all data": "Clear all data",
"Community IDs cannot be empty.": "Community IDs cannot be empty.",
"Community IDs may only contain characters a-z, 0-9, or '=_-./'": "Community IDs may only contain characters a-z, 0-9, or '=_-./'",
@@ -1409,20 +1551,20 @@
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)",
"To continue, please enter your password:": "To continue, please enter your password:",
- "Verify device": "Verify device",
+ "Verify session": "Verify session",
"Use Legacy Verification (for older clients)": "Use Legacy Verification (for older clients)",
"Verify by comparing a short text string.": "Verify by comparing a short text string.",
"Begin Verifying": "Begin Verifying",
"Waiting for partner to accept...": "Waiting for partner to accept...",
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.",
"Waiting for %(userId)s to confirm...": "Waiting for %(userId)s to confirm...",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:",
"Use two-way text verification": "Use two-way text verification",
- "Device name": "Device name",
- "Device ID": "Device ID",
- "Device key": "Device key",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.",
+ "Session name": "Session name",
+ "Session ID": "Session ID",
+ "Session key": "Session key",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.",
"I verify that the keys match": "I verify that the keys match",
"Back": "Back",
"Send Custom Event": "Send Custom Event",
@@ -1437,32 +1579,49 @@
"Explore Room State": "Explore Room State",
"Explore Account Data": "Explore Account Data",
"View Servers in Room": "View Servers in Room",
+ "Verification Requests": "Verification Requests",
"Toolbox": "Toolbox",
"Developer Tools": "Developer Tools",
- "Failed to find the following users": "Failed to find the following users",
- "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s",
- "Recent Conversations": "Recent Conversations",
- "Suggestions": "Suggestions",
- "Show more": "Show more",
- "Direct Messages": "Direct Messages",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.",
- "Go": "Go",
"An error has occurred.": "An error has occurred.",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.",
"Waiting for partner to confirm...": "Waiting for partner to confirm...",
"Incoming Verification Request": "Incoming Verification Request",
"Integrations are disabled": "Integrations are disabled",
"Enable 'Manage Integrations' in Settings to do this.": "Enable 'Manage Integrations' in Settings to do this.",
"Integrations not allowed": "Integrations not allowed",
"Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "You added a new device '%(displayName)s', which is requesting encryption keys.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Your unverified device '%(displayName)s' is requesting encryption keys.",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Failed to invite the following users to chat: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "We couldn't create your DM. Please check the users you want to invite and try again.",
+ "Something went wrong trying to invite the users.": "Something went wrong trying to invite the users.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "We couldn't invite those users. Please check the users you want to invite and try again.",
+ "Failed to find the following users": "Failed to find the following users",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s",
+ "Recent Conversations": "Recent Conversations",
+ "Suggestions": "Suggestions",
+ "Recently Direct Messaged": "Recently Direct Messaged",
+ "Start a conversation with someone using their name, username (like ) or email address.": "Start a conversation with someone using their name, username (like ) or email address.",
+ "Go": "Go",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "You added a new session '%(displayName)s', which is requesting encryption keys.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Your unverified session '%(displayName)s' is requesting encryption keys.",
"Start verification": "Start verification",
"Share without verifying": "Share without verifying",
"Ignore request": "Ignore request",
- "Loading device info...": "Loading device info...",
+ "Loading session info...": "Loading session info...",
"Encryption key request": "Encryption key request",
+ "a new master key signature": "a new master key signature",
+ "a new cross-signing key signature": "a new cross-signing key signature",
+ "a device cross-signing signature": "a device cross-signing signature",
+ "a key signature": "a key signature",
+ "Riot encountered an error during upload of:": "Riot encountered an error during upload of:",
+ "Upload completed": "Upload completed",
+ "Cancelled signature upload": "Cancelled signature upload",
+ "Unabled to upload": "Unabled to upload",
+ "Signature upload success": "Signature upload success",
+ "Signature upload failed": "Signature upload failed",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.",
"Incompatible local cache": "Incompatible local cache",
@@ -1473,8 +1632,20 @@
"Manually export keys": "Manually export keys",
"You'll lose access to your encrypted messages": "You'll lose access to your encrypted messages",
"Are you sure you want to sign out?": "Are you sure you want to sign out?",
+ "Confirm by comparing the following with the User Settings in your other session:": "Confirm by comparing the following with the User Settings in your other session:",
+ "Confirm this user's session by comparing the following with their User Settings:": "Confirm this user's session by comparing the following with their User Settings:",
+ "If they don't match, the security of your communication may be compromised.": "If they don't match, the security of your communication may be compromised.",
"Your homeserver doesn't seem to support this feature.": "Your homeserver doesn't seem to support this feature.",
"Message edits": "Message edits",
+ "Your account is not secure": "Your account is not secure",
+ "Your password": "Your password",
+ "This session, or the other session": "This session, or the other session",
+ "The internet connection either session is using": "The internet connection either session is using",
+ "We recommend you change your password and recovery key in Settings immediately": "We recommend you change your password and recovery key in Settings immediately",
+ "New session": "New session",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Use this session to verify your new one, granting it access to encrypted messages:",
+ "If you didn’t sign in to this session, your account may be compromised.": "If you didn’t sign in to this session, your account may be compromised.",
+ "This wasn't me": "This wasn't me",
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.",
"Report bugs & give feedback": "Report bugs & give feedback",
@@ -1498,7 +1669,6 @@
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.",
"This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.",
"You'll upgrade this room from to .": "You'll upgrade this room from to .",
- "Upgrade": "Upgrade",
"Sign out and remove encryption keys?": "Sign out and remove encryption keys?",
"Clear Storage and Sign Out": "Clear Storage and Sign Out",
"Send Logs": "Send Logs",
@@ -1527,7 +1697,7 @@
"Remember, you can always set an email address in user settings if you change your mind.": "Remember, you can always set an email address in user settings if you change your mind.",
"(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)",
"Please set a password!": "Please set a password!",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "This will allow you to return to your account after signing out, and sign in on other devices.",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "This will allow you to return to your account after signing out, and sign in on other sessions.",
"Share Room": "Share Room",
"Link to most recent message": "Link to most recent message",
"Share User": "Share User",
@@ -1550,11 +1720,11 @@
"Summary": "Summary",
"Document": "Document",
"Next": "Next",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.",
- "Room contains unknown devices": "Room contains unknown devices",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contains devices that you haven't seen before.",
- "Unknown devices": "Unknown devices",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.",
+ "Room contains unknown sessions": "Room contains unknown sessions",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" contains sessions that you haven't seen before.",
+ "Unknown sessions": "Unknown sessions",
"Upload files (%(current)s of %(total)s)": "Upload files (%(current)s of %(total)s)",
"Upload files": "Upload files",
"Upload all": "Upload all",
@@ -1565,6 +1735,7 @@
"Upload %(count)s other files|one": "Upload %(count)s other file",
"Cancel All": "Cancel All",
"Upload Error": "Upload Error",
+ "Verification Request": "Verification Request",
"A widget would like to verify your identity": "A widget would like to verify your identity",
"A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.",
"Remember my selection for this widget": "Remember my selection for this widget",
@@ -1573,29 +1744,29 @@
"Enter secret storage passphrase": "Enter secret storage passphrase",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "Unable to access secret storage. Please verify that you entered the correct passphrase.",
"Warning: You should only access secret storage from a trusted computer.": "Warning: You should only access secret storage from a trusted computer.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.",
"If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.",
"Enter secret storage recovery key": "Enter secret storage recovery key",
- "This looks like a valid recovery key!": "This looks like a valid recovery key!",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Unable to access secret storage. Please verify that you entered the correct recovery key.",
+ "This looks like a valid recovery key!": "This looks like a valid recovery key!",
"Not a valid recovery key": "Not a valid recovery key",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.",
"If you've forgotten your recovery key you can set up new recovery options.": "If you've forgotten your recovery key you can set up new recovery options.",
"Unable to load backup status": "Unable to load backup status",
- "Recovery Key Mismatch": "Recovery Key Mismatch",
+ "Recovery key mismatch": "Recovery key mismatch",
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.",
- "Incorrect Recovery Passphrase": "Incorrect Recovery Passphrase",
+ "Incorrect recovery passphrase": "Incorrect recovery passphrase",
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.",
"Unable to restore backup": "Unable to restore backup",
"No backup found!": "No backup found!",
- "Backup Restored": "Backup Restored",
+ "Backup restored": "Backup restored",
"Failed to decrypt %(failedCount)s sessions!": "Failed to decrypt %(failedCount)s sessions!",
"Restored %(sessionCount)s session keys": "Restored %(sessionCount)s session keys",
- "Enter Recovery Passphrase": "Enter Recovery Passphrase",
+ "Enter recovery passphrase": "Enter recovery passphrase",
"Warning: you should only set up key backup from a trusted computer.": "Warning: you should only set up key backup from a trusted computer.",
"Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Access your secure message history and set up secure messaging by entering your recovery passphrase.",
"If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options": "If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options",
- "Enter Recovery Key": "Enter Recovery Key",
+ "Enter recovery key": "Enter recovery key",
"Warning: You should only set up key backup from a trusted computer.": "Warning: You should only set up key backup from a trusted computer.",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Access your secure message history and set up secure messaging by entering your recovery key.",
"If you've forgotten your recovery key you can set up new recovery options": "If you've forgotten your recovery key you can set up new recovery options",
@@ -1650,7 +1821,7 @@
"Country Dropdown": "Country Dropdown",
"Custom Server Options": "Custom Server Options",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.",
- "To continue, please enter your password.": "To continue, please enter your password.",
+ "Confirm your identity by entering your account password below.": "Confirm your identity by entering your account password below.",
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.",
"Please review and accept all of the homeserver's policies": "Please review and accept all of the homeserver's policies",
"Please review and accept the policies of this homeserver:": "Please review and accept the policies of this homeserver:",
@@ -1695,6 +1866,7 @@
"Phone (optional)": "Phone (optional)",
"Create your Matrix account on %(serverName)s": "Create your Matrix account on %(serverName)s",
"Create your Matrix account on ": "Create your Matrix account on ",
+ "Register": "Register",
"Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.",
"Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "Set an email for account recovery. Use email to optionally be discoverable by existing contacts.",
"Enter your custom homeserver URL What does this mean?": "Enter your custom homeserver URL What does this mean?",
@@ -1776,7 +1948,6 @@
"Review terms and conditions": "Review terms and conditions",
"Old cryptography data detected": "Old cryptography data detected",
"Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.",
- "Verification Request": "Verification Request",
"Logout": "Logout",
"%(creator)s created and configured the room.": "%(creator)s created and configured the room.",
"Your Communities": "Your Communities",
@@ -1807,8 +1978,8 @@
"Find a room… (e.g. %(exampleRoom)s)": "Find a room… (e.g. %(exampleRoom)s)",
"If you can't find the room you're looking for, ask for an invite or Create a new room.": "If you can't find the room you're looking for, ask for an invite or Create a new room.",
"Explore rooms": "Explore rooms",
- "Message not sent due to unknown devices being present": "Message not sent due to unknown devices being present",
- "Show devices, send anyway or cancel.": "Show devices, send anyway or cancel.",
+ "Message not sent due to unknown sessions being present": "Message not sent due to unknown sessions being present",
+ "Show sessions, send anyway or cancel.": "Show sessions, send anyway or cancel.",
"You can't send any messages until you review and agree to our terms and conditions.": "You can't send any messages until you review and agree to our terms and conditions.",
"Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.",
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.",
@@ -1849,11 +2020,13 @@
"Uploading %(filename)s and %(count)s others|zero": "Uploading %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "Uploading %(filename)s and %(count)s other",
"Could not load user profile": "Could not load user profile",
+ "Complete security": "Complete security",
+ "Session verified": "Session verified",
"Failed to send email": "Failed to send email",
"The email address linked to your account must be entered.": "The email address linked to your account must be entered.",
"A new password must be entered.": "A new password must be entered.",
"New passwords must match each other.": "New passwords must match each other.",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.",
"Your Matrix account on %(serverName)s": "Your Matrix account on %(serverName)s",
"Your Matrix account on ": "Your Matrix account on ",
"No identity server is configured: add one in server settings to reset your password.": "No identity server is configured: add one in server settings to reset your password.",
@@ -1863,7 +2036,7 @@
"An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.",
"I have verified my email address": "I have verified my email address",
"Your password has been reset.": "Your password has been reset.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.",
"Return to login screen": "Return to login screen",
"Set a new password": "Set a new password",
"Invalid homeserver discovery response": "Invalid homeserver discovery response",
@@ -1885,13 +2058,12 @@
"Error: Problem communicating with the given homeserver.": "Error: Problem communicating with the given homeserver.",
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.",
"Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.",
- "Sign in with single sign-on": "Sign in with single sign-on",
"Create account": "Create account",
"Failed to fetch avatar URL": "Failed to fetch avatar URL",
"Set a display name:": "Set a display name:",
"Upload an avatar:": "Upload an avatar:",
- "Registration has been disabled on this homeserver.": "Registration has been disabled on this homeserver.",
"Unable to query for supported registration methods.": "Unable to query for supported registration methods.",
+ "Registration has been disabled on this homeserver.": "Registration has been disabled on this homeserver.",
"This server does not support authentication with a phone number.": "This server does not support authentication with a phone number.",
"Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).": "Your new account (%(newAccountId)s) is registered, but you're already logged into a different account (%(loggedInUserId)s).",
"Continue with previous account": "Continue with previous account",
@@ -1899,16 +2071,23 @@
"You can now close this window or log in to your new account.": "You can now close this window or log in to your new account.",
"Registration Successful": "Registration Successful",
"Create your account": "Create your account",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "Open an existing session & use it to verify this one, granting it access to encrypted messages.",
+ "Waiting…": "Waiting…",
+ "If you can’t access one, use your recovery key or passphrase.": "If you can’t access one, use your recovery key or passphrase.",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.",
+ "Your new session is now verified. Other users will see it as trusted.": "Your new session is now verified. Other users will see it as trusted.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Without completing security on this session, it won’t have access to encrypted messages.",
+ "Go Back": "Go Back",
"Failed to re-authenticate due to a homeserver problem": "Failed to re-authenticate due to a homeserver problem",
"Failed to re-authenticate": "Failed to re-authenticate",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.",
"Enter your password to sign in and regain access to your account.": "Enter your password to sign in and regain access to your account.",
"Forgotten your password?": "Forgotten your password?",
"Sign in and regain access to your account.": "Sign in and regain access to your account.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "You cannot sign in to your account. Please contact your homeserver admin for more information.",
"You're signed out": "You're signed out",
"Clear personal data": "Clear personal data",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.",
"Commands": "Commands",
"Command Autocomplete": "Command Autocomplete",
"Community Autocomplete": "Community Autocomplete",
@@ -1926,6 +2105,7 @@
"NOT verified": "NOT verified",
"Blacklisted": "Blacklisted",
"verified": "verified",
+ "Device ID": "Device ID",
"Verification": "Verification",
"Ed25519 fingerprint": "Ed25519 fingerprint",
"User ID": "User ID",
@@ -1935,15 +2115,13 @@
"Algorithm": "Algorithm",
"unencrypted": "unencrypted",
"Decryption error": "Decryption error",
- "Session ID": "Session ID",
"Event information": "Event information",
- "Sender device information": "Sender device information",
+ "Sender session information": "Sender session information",
"Passphrases must match": "Passphrases must match",
"Passphrase must not be empty": "Passphrase must not be empty",
"Export room keys": "Export room keys",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.",
"The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.",
- "Enter passphrase": "Enter passphrase",
"Confirm passphrase": "Confirm passphrase",
"Export": "Export",
"Import room keys": "Import room keys",
@@ -1951,55 +2129,50 @@
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.",
"File to import": "File to import",
"Import": "Import",
- "Key Backup is enabled on your account but has not been set up from this session. To set up secret storage, restore your key backup.": "Key Backup is enabled on your account but has not been set up from this session. To set up secret storage, restore your key backup.",
+ "Enter your account password to confirm the upgrade:": "Enter your account password to confirm the upgrade:",
+ "Restore your key backup to upgrade your encryption": "Restore your key backup to upgrade your encryption",
"Restore": "Restore",
- "Secret Storage will be set up using your existing key backup details. Your secret storage passphrase and recovery key will be the same as they were for your key backup": "Secret Storage will be set up using your existing key backup details. Your secret storage passphrase and recovery key will be the same as they were for your key backup",
+ "You'll need to authenticate with the server to confirm the upgrade.": "You'll need to authenticate with the server to confirm the upgrade.",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.",
"Great! This passphrase looks strong enough.": "Great! This passphrase looks strong enough.",
- "Warning: You should only set up secret storage from a trusted computer.": "Warning: You should only set up secret storage from a trusted computer.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.",
- "For maximum security, this should be different from your account password.": "For maximum security, this should be different from your account password.",
- "Enter a passphrase...": "Enter a passphrase...",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:",
+ "Enter a passphrase": "Enter a passphrase",
+ "Back up my encryption keys, securing them with the same passphrase": "Back up my encryption keys, securing them with the same passphrase",
"Set up with a recovery key": "Set up with a recovery key",
"That matches!": "That matches!",
"That doesn't match.": "That doesn't match.",
"Go back to set it again.": "Go back to set it again.",
- "Please enter your passphrase a second time to confirm.": "Please enter your passphrase a second time to confirm.",
- "Repeat your passphrase...": "Repeat your passphrase...",
- "As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.",
- "As a safety net, you can use it to restore your access to encrypted messages.": "As a safety net, you can use it to restore your access to encrypted messages.",
+ "Enter your passphrase a second time to confirm it.": "Enter your passphrase a second time to confirm it.",
+ "Confirm your passphrase": "Confirm your passphrase",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Keep your recovery key somewhere very secure, like a password manager (or a safe).",
- "Your Recovery Key": "Your Recovery Key",
- "Copy to clipboard": "Copy to clipboard",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Keep a copy of it somewhere secure, like a password manager or even a safe.",
+ "Your recovery key": "Your recovery key",
+ "Copy": "Copy",
"Download": "Download",
"Your recovery key has been copied to your clipboard, paste it to:": "Your recovery key has been copied to your clipboard, paste it to:",
"Your recovery key is in your Downloads folder.": "Your recovery key is in your Downloads folder.",
"Print it and store it somewhere safe": "Print it and store it somewhere safe",
"Save it on a USB key or backup drive": "Save it on a USB key or backup drive",
"Copy it to your personal cloud storage": "Copy it to your personal cloud storage",
- "Your access to encrypted messages is now protected.": "Your access to encrypted messages is now protected.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.",
- "Set up secret storage": "Set up secret storage",
- "Restore your Key Backup": "Restore your Key Backup",
- "Migrate from Key Backup": "Migrate from Key Backup",
- "Secure your encrypted messages with a passphrase": "Secure your encrypted messages with a passphrase",
- "Confirm your passphrase": "Confirm your passphrase",
- "Recovery key": "Recovery key",
- "Keep it safe": "Keep it safe",
- "Storing secrets...": "Storing secrets...",
- "Success!": "Success!",
+ "You can now verify your other devices, and other users to keep your chats safe.": "You can now verify your other devices, and other users to keep your chats safe.",
+ "Upgrade your encryption": "Upgrade your encryption",
+ "Make a copy of your recovery key": "Make a copy of your recovery key",
+ "You're done!": "You're done!",
"Unable to set up secret storage": "Unable to set up secret storage",
"Retry": "Retry",
"We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.",
- "Set up with a Recovery Key": "Set up with a Recovery Key",
- "As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.",
- "As a safety net, you can use it to restore your encrypted message history.": "As a safety net, you can use it to restore your encrypted message history.",
+ "For maximum security, this should be different from your account password.": "For maximum security, this should be different from your account password.",
+ "Enter a passphrase...": "Enter a passphrase...",
+ "Please enter your passphrase a second time to confirm.": "Please enter your passphrase a second time to confirm.",
+ "Repeat your passphrase...": "Repeat your passphrase...",
"Your keys are being backed up (the first backup could take a few minutes).": "Your keys are being backed up (the first backup could take a few minutes).",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.",
"Set up Secure Message Recovery": "Set up Secure Message Recovery",
"Secure your backup with a passphrase": "Secure your backup with a passphrase",
"Starting backup...": "Starting backup...",
- "Create Key Backup": "Create Key Backup",
+ "Success!": "Success!",
+ "Create key backup": "Create key backup",
"Unable to create key backup": "Unable to create key backup",
"Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.",
"If you don't want to set this up now, you can later in Settings.": "If you don't want to set this up now, you can later in Settings.",
@@ -2008,14 +2181,65 @@
"New Recovery Method": "New Recovery Method",
"A new recovery passphrase and key for Secure Messages have been detected.": "A new recovery passphrase and key for Secure Messages have been detected.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.",
- "This device is encrypting history using the new recovery method.": "This device is encrypting history using the new recovery method.",
+ "This session is encrypting history using the new recovery method.": "This session is encrypting history using the new recovery method.",
"Go to Settings": "Go to Settings",
"Set up Secure Messages": "Set up Secure Messages",
"Recovery Method Removed": "Recovery Method Removed",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "This device has detected that your recovery passphrase and key for Secure Messages have been removed.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "This session has detected that your recovery passphrase and key for Secure Messages have been removed.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "If disabled, messages from encrypted rooms won't appear in search results.",
+ "Disable": "Disable",
+ "Not currently indexing messages for any room.": "Not currently indexing messages for any room.",
+ "Currently indexing: %(currentRoom)s.": "Currently indexing: %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot is securely caching encrypted messages locally for them to appear in search results:",
+ "Space used:": "Space used:",
+ "Indexed messages:": "Indexed messages:",
+ "Indexed rooms:": "Indexed rooms:",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s out of %(totalRooms)s",
+ "Message downloading sleep time(ms)": "Message downloading sleep time(ms)",
"Failed to set direct chat tag": "Failed to set direct chat tag",
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
- "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room"
+ "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
+ "Navigation": "Navigation",
+ "Calls": "Calls",
+ "Room List": "Room List",
+ "Autocomplete": "Autocomplete",
+ "Alt": "Alt",
+ "Alt Gr": "Alt Gr",
+ "Shift": "Shift",
+ "Super": "Super",
+ "Ctrl": "Ctrl",
+ "Toggle Bold": "Toggle Bold",
+ "Toggle Italics": "Toggle Italics",
+ "Toggle Quote": "Toggle Quote",
+ "New line": "New line",
+ "Navigate recent messages to edit": "Navigate recent messages to edit",
+ "Jump to start/end of the composer": "Jump to start/end of the composer",
+ "Navigate composer history": "Navigate composer history",
+ "Cancel replying to a message": "Cancel replying to a message",
+ "Toggle microphone mute": "Toggle microphone mute",
+ "Toggle video on/off": "Toggle video on/off",
+ "Jump to room search": "Jump to room search",
+ "Navigate up/down in the room list": "Navigate up/down in the room list",
+ "Select room from the room list": "Select room from the room list",
+ "Collapse room list section": "Collapse room list section",
+ "Expand room list section": "Expand room list section",
+ "Clear room list filter field": "Clear room list filter field",
+ "Scroll up/down in the timeline": "Scroll up/down in the timeline",
+ "Previous/next unread room or DM": "Previous/next unread room or DM",
+ "Previous/next room or DM": "Previous/next room or DM",
+ "Toggle the top left menu": "Toggle the top left menu",
+ "Close dialog or context menu": "Close dialog or context menu",
+ "Activate selected button": "Activate selected button",
+ "Toggle right panel": "Toggle right panel",
+ "Toggle this dialog": "Toggle this dialog",
+ "Move autocomplete selection up/down": "Move autocomplete selection up/down",
+ "Cancel autocomplete": "Cancel autocomplete",
+ "Page Up": "Page Up",
+ "Page Down": "Page Down",
+ "Esc": "Esc",
+ "Enter": "Enter",
+ "Space": "Space",
+ "End": "End"
}
diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json
index 70e4bf5092..05f29c3887 100644
--- a/src/i18n/strings/en_US.json
+++ b/src/i18n/strings/en_US.json
@@ -47,7 +47,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s removed the room name.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s changed the topic to \"%(topic)s\".",
"Changes your display nickname": "Changes your display nickname",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.",
"Claimed Ed25519 fingerprint key": "Claimed Ed25519 fingerprint key",
"Click here to fix": "Click here to fix",
"Click to mute audio": "Click to mute audio",
@@ -72,12 +71,8 @@
"Deops user with given id": "Deops user with given id",
"Default": "Default",
"Delete widget": "Delete widget",
- "Device already verified!": "Device already verified!",
"Device ID": "Device ID",
- "Device ID:": "Device ID:",
"device id: ": "device id: ",
- "Device key:": "Device key:",
- "Devices": "Devices",
"Direct chats": "Direct chats",
"Disinvite": "Disinvite",
"Displays action": "Displays action",
@@ -124,7 +119,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Guests cannot join this room even if explicitly invited.",
"Hangup": "Hangup",
- "Hide Text Formatting Toolbar": "Hide Text Formatting Toolbar",
"Historical": "Historical",
"Homeserver is": "Homeserver is",
"Identity Server is": "Identity Server is",
@@ -133,15 +127,12 @@
"Import E2E room keys": "Import E2E room keys",
"Incorrect username and/or password.": "Incorrect username and/or password.",
"Incorrect verification code": "Incorrect verification code",
- "Invalid alias format": "Invalid alias format",
"Invalid Email Address": "Invalid Email Address",
"Invalid file%(extra)s": "Invalid file%(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s invited %(targetName)s.",
- "Invite new room members": "Invite new room members",
"Invited": "Invited",
"Invites": "Invites",
"Invites user with given id to current room": "Invites user with given id to current room",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' is not a valid format for an alias",
"Sign in with": "Sign in with",
"Join Room": "Join Room",
"%(targetName)s joined the room.": "%(targetName)s joined the room.",
@@ -172,17 +163,11 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s made future room history visible to anyone.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s made future room history visible to unknown (%(visibility)s).",
"Manage Integrations": "Manage Integrations",
- "Markdown is disabled": "Markdown is disabled",
- "Markdown is enabled": "Markdown is enabled",
- "matrix-react-sdk version:": "matrix-react-sdk version:",
- "Message not sent due to unknown devices being present": "Message not sent due to unknown devices being present",
"Missing room_id in request": "Missing room_id in request",
"Missing user_id in request": "Missing user_id in request",
"Moderator": "Moderator",
"Mute": "Mute",
"Name": "Name",
- "Never send encrypted messages to unverified devices from this device": "Never send encrypted messages to unverified devices from this device",
- "Never send encrypted messages to unverified devices in this room from this device": "Never send encrypted messages to unverified devices in this room from this device",
"New address (e.g. #foo:%(localDomain)s)": "New address (e.g. #foo:%(localDomain)s)",
"New passwords don't match": "New passwords don't match",
"New passwords must match each other.": "New passwords must match each other.",
@@ -192,7 +177,6 @@
"(not supported by this browser)": "(not supported by this browser)",
"": "",
"NOT verified": "NOT verified",
- "No devices with registered encryption keys": "No devices with registered encryption keys",
"No more results": "No more results",
"No results": "No results",
"No users have specific privileges in this room": "No users have specific privileges in this room",
@@ -202,7 +186,6 @@
"Operation failed": "Operation failed",
"Password": "Password",
"Passwords can't be empty": "Passwords can't be empty",
- "People": "People",
"Permissions": "Permissions",
"Phone": "Phone",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Please check your email and click on the link it contains. Once this is done, click continue.",
@@ -233,8 +216,6 @@
"Search": "Search",
"Search failed": "Search failed",
"Searches DuckDuckGo for results": "Searches DuckDuckGo for results",
- "Sender device information": "Sender device information",
- "Send Invites": "Send Invites",
"Send Reset Email": "Send Reset Email",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sent an image.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.",
@@ -253,10 +234,8 @@
"%(count)s of your messages have not been sent.|other": "Some of your messages have not been sent.",
"Someone": "Someone",
"Start a chat": "Start a chat",
- "Start Chat": "Start Chat",
"Submit": "Submit",
"Success": "Success",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.",
"This email address is already in use": "This email address is already in use",
"This email address was not found": "This email address was not found",
"The email address linked to your account must be entered.": "The email address linked to your account must be entered.",
@@ -269,7 +248,6 @@
"To use it, just wait for autocomplete results to load and tab through them.": "To use it, just wait for autocomplete results to load and tab through them.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Tried to load a specific point in this room's timeline, but was unable to find it.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).",
"Unable to add email address": "Unable to add email address",
"Unable to remove contact information": "Unable to remove contact information",
"Unable to verify email address.": "Unable to verify email address.",
@@ -277,14 +255,11 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s unbanned %(targetName)s.",
"Unable to capture screen": "Unable to capture screen",
"Unable to enable Notifications": "Unable to enable Notifications",
- "Unable to load device list": "Unable to load device list",
"unencrypted": "unencrypted",
"unknown device": "unknown device",
"unknown error code": "unknown error code",
"Unknown room %(roomId)s": "Unknown room %(roomId)s",
- "Unknown (user, device) pair:": "Unknown (user, device) pair:",
"Unmute": "Unmute",
- "Unrecognised command:": "Unrecognized command:",
"Unrecognised room alias:": "Unrecognized room alias:",
"Upload avatar": "Upload avatar",
"Upload Failed": "Upload Failed",
@@ -306,11 +281,8 @@
"(no answer)": "(no answer)",
"(unknown failure: %(reason)s)": "(unknown failure: %(reason)s)",
"Warning!": "Warning!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "WARNING: Device already verified, but keys do NOT MATCH!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!",
"Who can access this room?": "Who can access this room?",
"Who can read history?": "Who can read history?",
- "Who would you like to communicate with?": "Who would you like to communicate with?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s withdrew %(targetName)s's invitation.",
"You are already in a call.": "You are already in a call.",
"You cannot place a call with yourself.": "You cannot place a call with yourself.",
@@ -322,7 +294,6 @@
"You need to be able to invite users to do that.": "You need to be able to invite users to do that.",
"You need to be logged in.": "You need to be logged in.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Your email address does not appear to be associated with a Matrix ID on this Homeserver.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them",
"You seem to be in a call, are you sure you want to quit?": "You seem to be in a call, are you sure you want to quit?",
"You seem to be uploading files, are you sure you want to quit?": "You seem to be uploading files, are you sure you want to quit?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.",
@@ -359,8 +330,6 @@
"Sent messages will be stored until your connection has returned.": "Sent messages will be stored until your connection has returned.",
"Cancel": "Cancel",
"Active call": "Active call",
- "bold": "bold",
- "italic": "italic",
"Please select the destination room for this message": "Please select the destination room for this message",
"Start automatically after system login": "Start automatically after system login",
"Analytics": "Analytics",
@@ -387,18 +356,9 @@
"Unknown error": "Unknown error",
"Incorrect password": "Incorrect password",
"To continue, please enter your password.": "To continue, please enter your password.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:",
- "Device name": "Device name",
- "Device key": "Device key",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.",
- "Verify device": "Verify device",
"I verify that the keys match": "I verify that the keys match",
"Unable to restore session": "Unable to restore session",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contains devices that you haven't seen before.",
- "Unknown devices": "Unknown devices",
"Unknown Address": "Unknown Address",
"Unblacklist": "Unblacklist",
"Blacklist": "Blacklist",
@@ -444,7 +404,6 @@
"Room directory": "Room directory",
"Start chat": "Start chat",
"Drop File Here": "Drop File Here",
- "Encrypted by an unverified device": "Encrypted by an unverified device",
"Error: Problem communicating with the given homeserver.": "Error: Problem communicating with the given homeserver.",
"Failed to fetch avatar URL": "Failed to fetch avatar URL",
"Failed to upload profile picture!": "Failed to upload profile picture!",
@@ -457,17 +416,13 @@
"No display name": "No display name",
"Private Chat": "Private Chat",
"Public Chat": "Public Chat",
- "Room contains unknown devices": "Room contains unknown devices",
"%(roomName)s does not exist.": "%(roomName)s does not exist.",
"%(roomName)s is not accessible at this time.": "%(roomName)s is not accessible at this time.",
"Seen by %(userName)s at %(dateTime)s": "Seen by %(userName)s at %(dateTime)s",
"Send anyway": "Send anyway",
- "Show Text Formatting Toolbar": "Show Text Formatting Toolbar",
"Start authentication": "Start authentication",
"The phone number entered looks invalid": "The phone number entered looks invalid",
"This room": "This room",
- "Undecryptable": "Undecryptable",
- "Unencrypted message": "Unencrypted message",
"unknown caller": "unknown caller",
"Unnamed Room": "Unnamed Room",
"Uploading %(filename)s and %(count)s others|zero": "Uploading %(filename)s",
@@ -494,8 +449,6 @@
"Start verification": "Start verification",
"Share without verifying": "Share without verifying",
"Ignore request": "Ignore request",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "You added a new device '%(displayName)s', which is requesting encryption keys.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Your unverified device '%(displayName)s' is requesting encryption keys.",
"Encryption key request": "Encryption key request",
"Check for update": "Check for update",
"Allow": "Allow",
@@ -508,7 +461,6 @@
"Unable to create widget.": "Unable to create widget.",
"You are not in this room.": "You are not in this room.",
"You do not have permission to do that in this room.": "You do not have permission to do that in this room.",
- "Loading device info...": "Loading device info...",
"Message removed by %(userId)s": "Message removed by %(userId)s",
"Example": "Example",
"Create": "Create",
@@ -519,7 +471,6 @@
"Failed to upload image": "Failed to upload image",
"%(widgetName)s widget added by %(senderName)s": "%(widgetName)s widget added by %(senderName)s",
"%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s widget removed by %(senderName)s",
- "Verifies a user, device, and pubkey tuple": "Verifies a user, device, and pubkey tuple",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s changed the pinned messages for the room.",
"Fetching third party location failed": "Fetching third party location failed",
"A new version of Riot is available.": "A new version of Riot is available.",
@@ -568,7 +519,6 @@
"Files": "Files",
"Collecting app version information": "Collecting app version information",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Delete the room alias %(alias)s and remove %(name)s from the directory?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "This will allow you to return to your account after signing out, and sign in on other devices.",
"Keywords": "Keywords",
"Unpin Message": "Unpin Message",
"Enable notifications for this account": "Enable notifications for this account",
@@ -653,7 +603,6 @@
"The information being sent to us to help make Riot.im better includes:": "The information being sent to us to help make Riot.im better includes:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.",
"Call Failed": "Call Failed",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.",
"Review Devices": "Review Devices",
"Call Anyway": "Call Anyway",
"Answer Anyway": "Answer Anyway",
@@ -701,15 +650,9 @@
"The server does not support the room version specified.": "The server does not support the room version specified.",
"Name or Matrix ID": "Name or Matrix ID",
"Unable to load! Check your network connectivity and try again.": "Unable to load! Check your network connectivity and try again.",
- "Email, name or Matrix ID": "Email, name or Matrix ID",
"Failed to invite users to the room:": "Failed to invite users to the room:",
"Upgrades a room to a new version": "Upgrades a room to a new version",
- "Room upgrade confirmation": "Room upgrade confirmation",
- "Upgrading a room can be destructive and isn't always necessary.": "Upgrading a room can be destructive and isn't always necessary.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Please confirm that you'd like to go forward with upgrading this room from to .",
"Changes your display nickname in the current room only": "Changes your display nickname in the current room only",
"Changes your avatar in this current room only": "Changes your avatar in this current room only",
"Gets or sets the room topic": "Gets or sets the room topic",
@@ -743,7 +686,6 @@
"Call failed due to misconfigured server": "Call failed due to misconfigured server",
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.",
"Try using turn.matrix.org": "Try using turn.matrix.org",
- "Failed to start chat": "Failed to start chat",
"Messages": "Messages",
"Actions": "Actions",
"Other": "Other"
diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json
index 4ac519d16a..f4bb6ec244 100644
--- a/src/i18n/strings/eo.json
+++ b/src/i18n/strings/eo.json
@@ -4,12 +4,12 @@
"Failed to verify email address: make sure you clicked the link in the email": "Kontrolo de via retpoŝtadreso malsukcesis: certigu, ke vi alklakis la ligilon en la retmesaĝo",
"Call Timeout": "Voka tempolimo",
"The remote side failed to pick up": "La defora flanko malsukcesis respondi",
- "Unable to capture screen": "Ne eblas registri ekranon",
+ "Unable to capture screen": "Ne povas registri ekranon",
"You cannot place a call with yourself.": "Vi ne povas voki vin mem.",
"Warning!": "Averto!",
"Sign in with": "Saluti per",
"Sign in": "Saluti",
- "For security, this session has been signed out. Please sign in again.": "Pro sekurecaj kialoj, la seanco finiĝis. Bonvolu resaluti.",
+ "For security, this session has been signed out. Please sign in again.": "Pro sekurecaj kialoj, la salutaĵo adiaŭiĝis. Bonvolu resaluti.",
"Upload Failed": "Alŝuto malsukcesis",
"Sun": "Dim",
"Mon": "Lun",
@@ -54,7 +54,7 @@
"Failed to add the following rooms to %(groupId)s:": "Malsukcesis aldoni jenajn ĉambrojn al %(groupId)s:",
"Riot does not have permission to send you notifications - please check your browser settings": "Riot ne havas permeson sciigi vin – bonvolu kontroli la agordojn de via foliumilo",
"Riot was not given permission to send notifications - please try again": "Riot ne ricevis permeson sendi sciigojn – bonvolu reprovi",
- "Unable to enable Notifications": "Sciigoj ne sendeblas",
+ "Unable to enable Notifications": "Ne povas ŝalti sciigojn",
"This email address was not found": "Tiu ĉi retpoŝtadreso ne troviĝis",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Via retpoŝtareso ŝajne ne ligiĝas al Matrix-identigilo sur tiu ĉi hejmservilo.",
"Default": "Norma",
@@ -62,16 +62,12 @@
"Moderator": "Ĉambrestro",
"Admin": "Administranto",
"Start a chat": "Komenci babilon",
- "Who would you like to communicate with?": "Kun kiu vi volas komuniki?",
- "Start Chat": "Komenci babilon",
- "Invite new room members": "Inviti novajn ĉambranojn",
- "Send Invites": "Sendi invitojn",
"Operation failed": "Ago malsukcesis",
"Failed to invite": "Invito malsukcesis",
"Failed to invite the following users to the %(roomName)s room:": "Malsukcesis inviti la jenajn uzantojn al la ĉambro %(roomName)s:",
"You need to be logged in.": "Vi devas esti salutinta.",
"You need to be able to invite users to do that.": "Vi bezonas permeson inviti uzantojn por tio.",
- "Unable to create widget.": "Fenestraĵo ne kreeblas.",
+ "Unable to create widget.": "Ne povas krei fenestraĵon.",
"Failed to send request.": "Malsukcesis sendi peton.",
"This room is not recognised.": "Ĉi tiu ĉambro ne estas rekonita.",
"Power level must be positive integer.": "Nivelo de potenco devas esti entjero pozitiva.",
@@ -88,13 +84,7 @@
"You are now ignoring %(userId)s": "Vi nun malatentas uzanton %(userId)s",
"Unignored user": "Reatentata uzanto",
"You are no longer ignoring %(userId)s": "Vi nun reatentas uzanton %(userId)s",
- "Unknown (user, device) pair:": "Nekonata duopo (uzanto, aparato):",
- "Device already verified!": "Aparato jam kontroliĝis!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "AVERTO: Aparato jam kontroliĝis, sed la ŝlosiloj NE KONGRUAS!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "AVERTO: KONTROLO DE ŜLOSILO MALSUKCESIS! Subskriba ŝlosilo por %(userId)s kaj aparato%(deviceId)s estas « %(fprint)s », kiu ne kongruas kun la donita ŝlosilo « %(fingerprint)s ». Eble do via komuniko estas subaŭskultata!",
"Verified key": "Kontrolita ŝlosilo",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "La donita subskriba ŝlosilo kongruas kun la ŝlosilo ricevita de %(userId)s por ĝia aparato %(deviceId)s. Aparato markita kiel kontrolita.",
- "Unrecognised command:": "Nerekonita komando:",
"Reason": "Kialo",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s akceptis la inviton por %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s akceptis inviton.",
@@ -121,7 +111,7 @@
"Someone": "Iu",
"(not supported by this browser)": "(nesubtenata de tiu ĉi foliumilo)",
"%(senderName)s answered the call.": "%(senderName)s akceptis la vokon.",
- "(could not connect media)": "(aŭdvidaĵoj ne kunigeblis)",
+ "(could not connect media)": "(ne povis kunigi aŭdovidaĵojn)",
"(no answer)": "(sen respondo)",
"(unknown failure: %(reason)s)": "(nekonata eraro: %(reason)s)",
"%(senderName)s ended the call.": "%(senderName)s finis la vokon.",
@@ -131,7 +121,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s videbligis estontan historion de la ĉambro al ĉiuj ĉambranoj.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s videbligis estontan historion de la ĉambro al ĉiuj.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s videbligis estontan historion de la ĉambro al nekonata (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ŝaltis ĝiscelan ĉifradon (algoritmo: %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s al %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s ŝanĝis la potencan nivelon de %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s ŝanĝis la fiksitajn mesaĝojn de la ĉambro.",
@@ -143,7 +132,7 @@
"Unnamed Room": "Sennoma Ĉambro",
"Your browser does not support the required cryptography extensions": "Via foliumilo ne subtenas la bezonatajn ĉifrajn kromprogramojn",
"Not a valid Riot keyfile": "Nevalida ŝlosila dosiero de Riot",
- "Authentication check failed: incorrect password?": "Aŭtentiga kontrolo malsukcesis: ĉu pro malĝusta pasvorto?",
+ "Authentication check failed: incorrect password?": "Aŭtentikiga kontrolo malsukcesis: ĉu pro malĝusta pasvorto?",
"Failed to join room": "Malsukcesis aliĝi al ĉambro",
"Message Pinning": "Fikso de mesaĝoj",
"Use compact timeline layout": "Uzi densan okazordan aranĝon",
@@ -151,7 +140,6 @@
"Always show message timestamps": "Ĉiam montri mesaĝajn tempindikojn",
"Autoplay GIFs and videos": "Memfare ludi GIF-bildojn kaj filmojn",
"Call Failed": "Voko malsukcesis",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "En la ĉambro estas nekonataj aparatoj: se vi daŭrigos ne kontrolante ilin, iu povos subaŭskulti vian vokon.",
"Review Devices": "Kontroli aparatojn",
"Call Anyway": "Tamen voki",
"Answer Anyway": "Tamen respondi",
@@ -162,8 +150,6 @@
"Enable automatic language detection for syntax highlighting": "Ŝalti memagan rekonon de lingvo por sintaksa markado",
"Automatically replace plain text Emoji": "Memfare anstataŭigi tekstajn mienetojn",
"Mirror local video feed": "Speguli lokan filmon",
- "Never send encrypted messages to unverified devices from this device": "Neniam sendi neĉifritajn mesaĝojn al nekontrolitaj aparatoj de tiu ĉi aparato",
- "Never send encrypted messages to unverified devices in this room from this device": "Neniam sendi ĉifritajn mesaĝojn al nekontrolitaj aparatoj en tiu ĉi ĉambro el tiu ĉi aparato",
"Enable inline URL previews by default": "Ŝalti entekstan antaŭrigardon al retadresoj",
"Enable URL previews for this room (only affects you)": "Ŝalti URL-antaŭrigardon en ĉi tiu ĉambro (nur por vi)",
"Enable URL previews by default for participants in this room": "Ŝalti URL-antaŭrigardon por anoj de ĉi tiu ĉambro",
@@ -183,7 +169,7 @@
"Failed to upload profile picture!": "Malsukcesis alŝuti vian profilbildon!",
"Upload new:": "Alŝuti novan:",
"No display name": "Sen vidiga nomo",
- "New passwords don't match": "Novaj pasvortoj ne kongruas",
+ "New passwords don't match": "Novaj pasvortoj ne akordas",
"Passwords can't be empty": "Pasvortoj ne povas esti malplenaj",
"Continue": "Daŭrigi",
"Export E2E room keys": "Elporti ĝiscele ĉifrajn ŝlosilojn de la ĉambro",
@@ -193,10 +179,7 @@
"New Password": "Nova pasvorto",
"Confirm password": "Konfirmi pasvorton",
"Change Password": "Ŝanĝi pasvorton",
- "Unable to load device list": "Listo de aparatoj ne legeblas",
- "Authentication": "Aŭtentigo",
- "Delete %(count)s devices|other": "Forigi %(count)s aparatojn",
- "Delete %(count)s devices|one": "Forigi aparaton",
+ "Authentication": "Aŭtentikigo",
"Device ID": "Aparata identigilo",
"Last seen": "Laste vidita",
"Failed to set display name": "Malsukcesis agordi vidigan nomon",
@@ -214,9 +197,6 @@
"%(senderName)s sent a video": "%(senderName)s sendis filmon",
"%(senderName)s uploaded a file": "%(senderName)s alŝutis dosieron",
"Options": "Agordoj",
- "Undecryptable": "Nemalĉifrebla",
- "Encrypted by an unverified device": "Ĉifrita de nekontrolita aparato",
- "Unencrypted message": "Neĉifrita mesaĝo",
"Please select the destination room for this message": "Bonvolu elekti celan ĉambron por tiu mesaĝo",
"Blacklisted": "Senpova legi ĉifritajn mesaĝojn",
"device id: ": "aparata identigilo: ",
@@ -235,13 +215,10 @@
"Failed to change power level": "Malsukcesis ŝanĝi nivelon de potenco",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Tiun ĉi ŝanĝon vi ne povos fareblos, ĉar vi donas al la uzanto la saman nivelon de potenco, kiun havas vi mem.",
"Are you sure?": "Ĉu vi certas?",
- "No devices with registered encryption keys": "Neniuj aparatoj kun registritaj ĉifraj ŝlosiloj",
- "Devices": "Aparatoj",
"Unignore": "Reatenti",
"Ignore": "Malatenti",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Ŝanĝo de pasvorto nuntempe nuligos ĉiujn ĝiscele ĉifrajn ŝlosilojn sur ĉiuj viaj aparatoj. Tio igos ĉifritajn babilajn historiojn nelegeblaj, krom se vi unue elportos viajn ĉambrajn ŝlosilojn kaj reenportos ilin poste. Estonte tio pliboniĝos.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s ŝanĝis la profilbildon de %(roomName)s",
- "You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Vi estas direktota al ekstera retejo por aŭtentigi vian konton por uzo kun %(integrationsUrl)s. Ĉu vi volas daŭrigi tion?",
+ "You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Vi estas direktota al ekstera retejo por aŭtentikigi vian konton por uzo kun %(integrationsUrl)s. Ĉu vi volas daŭrigi tion?",
"Jump to read receipt": "Salti al legokonfirmo",
"Mention": "Mencio",
"Invite": "Inviti",
@@ -262,16 +239,10 @@
"Voice call": "Voĉvoko",
"Video call": "Vidvoko",
"Upload file": "Alŝuti dosieron",
- "Show Text Formatting Toolbar": "Montri tekstaranĝan breton",
"You do not have permission to post to this room": "Mankas al vi permeso afiŝi en tiu ĉambro",
- "Hide Text Formatting Toolbar": "Kaŝi tekstaranĝan breton",
"Server error": "Servila eraro",
"Server unavailable, overloaded, or something else went wrong.": "Servilo estas neatingebla, troŝarĝita, aŭ io alia misokazis.",
"Command error": "Komanda eraro",
- "bold": "grasa",
- "italic": "kursiva",
- "Markdown is disabled": "Marksubo estas malŝaltita",
- "Markdown is enabled": "Marksubo estas ŝaltita",
"Unpin Message": "Malfiksi mesaĝon",
"Jump to message": "Salti al mesaĝo",
"No pinned messages.": "Neniuj fiksitaj mesaĝoj.",
@@ -305,7 +276,6 @@
"Community Invites": "Komunumaj invitoj",
"Invites": "Invitoj",
"Favourites": "Ŝatataj",
- "People": "Homoj",
"Rooms": "Ĉambroj",
"Low priority": "Malpli gravaj",
"Historical": "Estintaj",
@@ -340,8 +310,6 @@
"Cancel": "Nuligi",
"Jump to first unread message.": "Salti al unua nelegita mesaĝo.",
"Close": "Fermi",
- "Invalid alias format": "Malvalida formo de kromnomo",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ne estas valida formo de kromnomo",
"not specified": "nespecifita",
"Remote addresses for this room:": "Foraj adresoj de ĉi tiu ĉambro:",
"Local addresses for this room:": "Lokaj adresoj por ĉi tiu ĉambro:",
@@ -386,7 +354,7 @@
"Token incorrect": "Malĝusta ĵetono",
"A text message has been sent to %(msisdn)s": "Tekstmesaĝo sendiĝîs al %(msisdn)s",
"Please enter the code it contains:": "Bonvolu enigi la enhavatan kodon:",
- "Start authentication": "Komenci aŭtentigon",
+ "Start authentication": "Komenci aŭtentikigon",
"Email address": "Retpoŝtadreso",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Se vi ne enigos retpoŝtadreson, vi ne povos restarigi vian pasvorton. Ĉu vi certas?",
"Remove from community": "Forigi de komunumo",
@@ -502,28 +470,20 @@
"Unknown error": "Nekonata eraro",
"Incorrect password": "Malĝusta pasvorto",
"Deactivate Account": "Malaktivigi konton",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Por kontroli ke tiu ĉi aparato estas fidinda, bonvolu kontakti ties posedanton per alia maniero (ekz-e persone aŭ telefone) kaj demandi ĝin ĉu la ŝlosilo, kiun ĝi vidas en agordoj de uzanto ĉe si, kongruas kun la ĉi-suba ŝlosilo:",
- "Device name": "Aparata nomo",
- "Device key": "Aparata ŝlosilo",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Se ĝi kongruas, premu la kontrolan butonon sube. Se ne, tiuokaze iu alia interkaptas ĉi tiun aparaton, kaj eble vi premu la malpermesan butonon anstataŭe.",
- "Verify device": "Kontroli aparaton",
- "I verify that the keys match": "Mi kontrolas, ke la ŝlosiloj kongruas",
+ "I verify that the keys match": "Mi kontrolas, ke la ŝlosiloj akordas",
"An error has occurred.": "Okazis eraro.",
"OK": "Bone",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Vi aldonis novan aparaton “%(displayName)s”, kiu petas ĉifrajn ŝlosilojn.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Via nekontrolita aparato '%(displayName)s' petas ĉifrajn ŝlosilojn.",
"Start verification": "Komenci kontrolon",
"Share without verifying": "Kunhavigi sen kontrolo",
"Ignore request": "Malatenti peton",
- "Loading device info...": "Enleganta informojn pri aparato…",
"Encryption key request": "Peto por ĉifra ŝlosilo",
- "Unable to restore session": "Seanco ne restaŭreblas",
- "If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se vi antaŭe uzis pli novan version de Riot, via seanco eble ne kongruos kun ĉi tiu versio. Fermu ĉi tiun fenestron kaj revenu al la pli nova versio.",
+ "Unable to restore session": "Salutaĵo ne rehaveblas",
+ "If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se vi antaŭe uzis pli novan version de Riot, via salutaĵo eble ne akordos kun ĉi tiu versio. Fermu ĉi tiun fenestron kaj revenu al la pli nova versio.",
"Invalid Email Address": "Malvalida retpoŝtadreso",
"This doesn't appear to be a valid email address": "Tio ĉi ne ŝajnas esti valida retpoŝtadreso",
"Verification Pending": "Atendanta kontrolon",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Bonvolu kontroli vian retpoŝton, kaj alklaki la ligilon enhavatan en la sendita mesaĝo. Farinte tion, klaku je 'daŭrigi'.",
- "Unable to add email address": "Retpoŝtadreso ne aldoneblas",
+ "Unable to add email address": "Ne povas aldoni retpoŝtadreson",
"Unable to verify email address.": "Retpoŝtadreso ne kontroleblas.",
"This will allow you to reset your password and receive notifications.": "Tio ĉi permesos al vi restarigi vian pasvorton kaj ricevi sciigojn.",
"Skip": "Preterpasi",
@@ -532,11 +492,6 @@
"Blacklist": "Malpermesi legadon de ĉifritaj mesaĝoj",
"Unverify": "Malkontroli",
"If you already have a Matrix account you can log in instead.": "Se vi jam havas Matrix-konton, vi povas saluti anstataŭe.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Vi nun malpermesas legadon de ĉifritaj mesaĝoj al nekontrolitaj aparatoj; por sendi mesaĝojn al tiuj, vi devas ilin kontroli.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Ni rekomendas al vi bone kontroli ĉiun aparaton por certigi, ke ĝi apartenas al la verŝajna posedanto, sed vi povas resendi la mesaĝon sen kontrolo, laŭprefere.",
- "Room contains unknown devices": "Ĉambro enhavas nekonatajn aparatojn",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "« %(RoomName)s » enhavas aparatojn, kiujn vi neniam vidis antaŭe.",
- "Unknown devices": "Nekonataj aparatoj",
"Private Chat": "Privata babilo",
"Public Chat": "Publika babilo",
"Custom": "Propra",
@@ -561,8 +516,8 @@
"The user '%(displayName)s' could not be removed from the summary.": "Uzanto '%(displayName)s' ne forigeblas de la superrigardo.",
"Failed to upload image": "Malsukcesis alŝuti bildon",
"Failed to update community": "Malskucesis ĝisdatigi la komunumon",
- "Unable to accept invite": "Invito ne akcepteblas",
- "Unable to reject invite": "Invito ne rifuzeblas",
+ "Unable to accept invite": "Ne povas akcepti inviton",
+ "Unable to reject invite": "Ne povas rifuzi inviton",
"Leave Community": "Forlasi komunumon",
"Leave %(groupName)s?": "Ĉu foriri el %(groupName)s?",
"Community Settings": "Komunumaj agordoj",
@@ -592,7 +547,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Kreu komunumon por kunigi uzantojn kaj ĉambrojn! Fari propran hejmpaĝon por montri vian spacon en la universo de Matrix.",
"You have no visible notifications": "Neniuj videblaj sciigoj",
"Scroll to bottom of page": "Rulumi al susbo de la paĝo",
- "Message not sent due to unknown devices being present": "Mesaĝo ne sendita pro ĉeesto de nekonataj aparatoj",
"Connectivity to the server has been lost.": "Konekto al la servilo perdiĝis.",
"Sent messages will be stored until your connection has returned.": "Senditaj mesaĝoj konserviĝos ĝis via konekto refunkcios.",
"Active call": "Aktiva voko",
@@ -600,7 +554,7 @@
"You seem to be uploading files, are you sure you want to quit?": "Ŝajne vi alŝutas dosierojn nun; ĉu vi tamen volas foriri?",
"You seem to be in a call, are you sure you want to quit?": "Ŝajne vi vokas nun; ĉu vi tamen volas foriri?",
"Search failed": "Serĉo malsukcesis",
- "Server may be unavailable, overloaded, or search timed out :(": "Aŭ la servilo estas neatingebla aŭ troŝargita, aŭ la serĉo eltempiĝis :(",
+ "Server may be unavailable, overloaded, or search timed out :(": "Aŭ la servilo estas neatingebla aŭ troŝarĝita, aŭ la serĉo eltempiĝis :(",
"No more results": "Neniuj pliaj rezultoj",
"Unknown room %(roomId)s": "Nekonata ĉambro %(roomId)s",
"Room": "Ĉambro",
@@ -620,13 +574,10 @@
"Dark theme": "Malhela haŭto",
"Sign out": "Adiaŭi",
"Success": "Sukceso",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Via pasvorto sukcese ŝanĝiĝis. Vi ne ricevos puŝatentigojn je aliaj aparatoj ĝis tiam, kiam vi resalutos per ili",
- "Unable to remove contact information": "Kontaktaj informoj ne forigeblas",
+ "Unable to remove contact information": "Ne povas forigi kontaktajn informojn",
"": "",
"Import E2E room keys": "Enporti ĝiscele ĉifrajn ĉambrajn ŝlosilojn",
"Cryptography": "Kriptografio",
- "Device ID:": "Aparata identigilo:",
- "Device key:": "Aparata ŝlosilo:",
"Analytics": "Analizo",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot kolektas sennomaj analizajn datumojn por helpi plibonigadon de la programo.",
"Labs": "Eksperimentaj funkcioj",
@@ -648,13 +599,12 @@
"click to reveal": "klaku por malkovri",
"Homeserver is": "Hejmservilo estas",
"Identity Server is": "Identiga servilo estas",
- "matrix-react-sdk version:": "versio de matrix-react-sdk:",
"riot-web version:": "versio de riot-web:",
"olm version:": "versio de olm:",
"Failed to send email": "Malsukcesis sendi retleteron",
"The email address linked to your account must be entered.": "Vi devas enigi retpoŝtadreson ligitan al via konto.",
"A new password must be entered.": "Vi devas enigi novan pasvorton.",
- "New passwords must match each other.": "Novaj pasvortoj devas kongrui.",
+ "New passwords must match each other.": "Novaj pasvortoj devas akordi.",
"An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "Retletero sendiĝis al %(emailAddress)s. Irinte al la ligilo en tiu mesaĝo, klaku sube.",
"I have verified my email address": "Mi kontrolis mian retpoŝtadreson",
"Return to login screen": "Reiri al saluta paĝo",
@@ -664,11 +614,11 @@
"This homeserver doesn't offer any login flows which are supported by this client.": "Tiu ĉi hejmservilo ne proponas salutajn fluojn subtenatajn de tiu ĉi kliento.",
"Error: Problem communicating with the given homeserver.": "Eraro: Estas problemo en komunikado kun la hejmservilo.",
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Hejmservilo ne alkonekteblas per HTTP kun HTTPS URL en via adresbreto. Aŭ uzu HTTPS aŭ ŝaltu malsekurajn skriptojn.",
- "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Ne eblas konekti al hejmservilo – bonvolu kontroli vian konekton, certigi ke la SSL-atestilo de via hejmservilo estas fidata, kaj ke neniu foliumila kromprogramo baras petojn.",
+ "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Ne eblas konekti al hejmservilo – bonvolu kontroli vian konekton, certigi ke la SSL-atestilo de via hejmservilo estas fidata, kaj ke neniu foliumila kromprogramo blokas petojn.",
"Failed to fetch avatar URL": "Malsukcesis venigi adreson de profilbildo",
"Set a display name:": "Agordi vidigan nomon:",
"Upload an avatar:": "Alŝuti profilbildon:",
- "This server does not support authentication with a phone number.": "Ĉi tiu servilo ne subtenas aŭtentigon per telefona numero.",
+ "This server does not support authentication with a phone number.": "Ĉi tiu servilo ne subtenas aŭtentikigon per telefona numero.",
"Displays action": "Montras agon",
"Bans user with given id": "Forbaras uzanton kun la donita identigilo",
"Define the power level of a user": "Difini la potencan nivelon de uzanto",
@@ -678,7 +628,6 @@
"Kicks user with given id": "Forpelas uzanton kun la donita identigilo",
"Changes your display nickname": "Ŝanĝas vian vidigan nomon",
"Searches DuckDuckGo for results": "Serĉas rezultojn per DuckDuckGo",
- "Verifies a user, device, and pubkey tuple": "Kontrolas opon de uzanto, aparato, kaj publika ŝlosilo",
"Ignores a user, hiding their messages from you": "Malatentas uzanton, kaŝante ĝiajn mesaĝojn de vi",
"Stops ignoring a user, showing their messages going forward": "Ĉesas malatenti uzanton, montronte ĝiajn pluajn mesaĝojn",
"Commands": "Komandoj",
@@ -698,11 +647,10 @@
"Algorithm": "Algoritmo",
"unencrypted": "neĉifritaj",
"Decryption error": "Malĉifra eraro",
- "Session ID": "Seanca identigilo",
+ "Session ID": "Identigilo de salutaĵo",
"End-to-end encryption information": "Informoj pri tutvoja ĉifrado",
"Event information": "Informoj pri okazaĵo",
- "Sender device information": "Informoj pri aparato de sendinto",
- "Passphrases must match": "Pasfrazoj devas kongrui",
+ "Passphrases must match": "Pasfrazoj devas akordi",
"Passphrase must not be empty": "Pasfrazoj maldevas esti malplenaj",
"Export room keys": "Elporti ĉambrajn ŝlosilojn",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Tio ĉi permesos al vi elporti al loka dosiero ŝlosilojn por la mesaĝoj ricevitaj en ĉifritaj ĉambroj. Poste vi povos enporti la dosieron en alian klienton de Matrix, por povigi ĝin malĉifri tiujn mesaĝojn.",
@@ -734,7 +682,7 @@
"The platform you're on": "Via platformo",
"Which officially provided instance you are using, if any": "Kiun oficiale disponeblan nodon vi uzas, se iun ajn",
"Whether or not you're using the Richtext mode of the Rich Text Editor": "Ĉu vi uzas la riĉtekstan reĝimon de la riĉteksta redaktilo aŭ ne",
- "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Kiam ĉi tiu paĝo enhavas identigeblajn informojn, ekzemple ĉambron, uzantan aŭ grupan identigilon, ili estas formetataj antaŭ ol sendado al la servilo.",
+ "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Kiam ĉi tiu paĝo enhavas identigeblajn informojn, ekzemple ĉambron, uzantulan aŭ grupan identigilon, ili estas formetataj antaŭ sendado al la servilo.",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(day)s %(monthName)s %(fullYear)s",
"Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al ĉambro",
"Submit debug logs": "Sendi sencimigan protokolon",
@@ -785,7 +733,6 @@
"Resend": "Resendi",
"Collecting app version information": "Kolektanta informon pri versio de la aplikaĵo",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ĉu forigi la ĉambran kromnomon %(alias)s kaj forigi %(name)s de la ujo?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Ĉi tio permesos al vi reveni al via konto post adiaŭo, kaj saluti kun aliaj aparatoj.",
"Enable notifications for this account": "Ŝalti sciigojn por tiu ĉi konto",
"Invite to this community": "Inviti al tiu ĉi komunumo",
"Messages containing keywords": "Mesaĝoj enhavantaj ŝlosilovortojn",
@@ -804,7 +751,7 @@
"Direct Chat": "Rekta babilo",
"The server may be unavailable or overloaded": "La servilo povas esti nedisponebla aŭ troŝarĝita",
"Reject": "Rifuzi",
- "Failed to set Direct Message status of room": "Malsukcesis agordi staton de rekta mesaĝo al la ĉambro",
+ "Failed to set Direct Message status of room": "Malsukcesis agordi staton de rekteco al la ĉambro",
"Monday": "Lundo",
"Remove from Directory": "Forigi de ujo",
"Enable them now": "Ŝalti ilin nun",
@@ -815,7 +762,7 @@
"Invite to this room": "Inviti al ĉi tiu ĉambro",
"Wednesday": "Merkredo",
"You cannot delete this message. (%(code)s)": "Vi ne povas forigi tiun ĉi mesaĝon. (%(code)s)",
- "Quote": "Citi",
+ "Quote": "Citaĵo",
"Send logs": "Sendi protokolojn",
"All messages": "Ĉiuj mesaĝoj",
"Call invitation": "Invito al voko",
@@ -828,8 +775,8 @@
"Keywords": "Ŝlosilvortoj",
"Can't update user notification settings": "Agordoj de sciigoj al uzanto ne ĝisdatigeblas",
"Notify for all other messages/rooms": "Sciigu min por ĉiuj aliaj mesaĝoj/ĉambroj",
- "Unable to look up room ID from server": "Ĉambra identigilo ne akireblas de la servilo",
- "Couldn't find a matching Matrix room": "Malsukcesis trovi kongruan ĉambron en Matrix",
+ "Unable to look up room ID from server": "Ne povas akiri ĉambran identigilon de la servilo",
+ "Couldn't find a matching Matrix room": "Malsukcesis trovi akordan ĉambron en Matrix",
"All Rooms": "Ĉiuj ĉambroj",
"Thursday": "Ĵaŭdo",
"Forward Message": "Plusendi mesaĝon",
@@ -838,7 +785,7 @@
"Reply": "Respondi",
"Show message in desktop notification": "Montradi mesaĝojn en labortablaj sciigoj",
"Unhide Preview": "Malkaŝi antaŭrigardon",
- "Unable to join network": "Malsukcesis konektiĝi al la reto",
+ "Unable to join network": "Ne povas konektiĝi al la reto",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Vi eble agordis ilin en alia kliento. Vi ne povas agordi ilin en Riot, sed ili ankoraŭ validas",
"Sorry, your browser is not able to run Riot.": "Pardonon, via foliumilo ne kapablas funkciigi klienton Riot.",
"Uploaded on %(date)s by %(user)s": "Alŝutita je %(date)s de %(user)s",
@@ -846,7 +793,7 @@
"Yesterday": "Hieraŭ",
"Error encountered (%(errorDetail)s).": "Okazis eraro (%(errorDetail)s).",
"Low Priority": "Malalta prioritato",
- "Unable to fetch notification target list": "Malsukcesis akiri la liston de celoj por sciigoj",
+ "Unable to fetch notification target list": "Ne povas akiri la liston de celoj por sciigoj",
"Set Password": "Agordi pasvorton",
"Off": "For",
"Riot does not know how to join a room on this network": "Riot ne scias aliĝi al ĉambroj en tiu ĉi reto",
@@ -873,14 +820,12 @@
"Every page you use in the app": "Ĉiu paĝo kiun vi uzas en la aplikaĵo",
"e.g. ": "ekz. ",
"Your User Agent": "Via klienta aplikaĵo",
- "Your device resolution": "La distingo de via aparato",
+ "Your device resolution": "La distingumo de via aparato",
"Call in Progress": "Voko farata",
"A call is already in progress!": "Voko estas jam farata!",
"Always show encryption icons": "Ĉiam montri bildetojn de ĉifrado",
"Send analytics data": "Sendi statistikajn datumojn",
- "Key request sent.": "Demando de ŝlosilo sendita.",
- "Re-request encryption keys from your other devices.": "Redemandi ĉifroŝlosilojn el viaj aliaj aparatoj.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Se viaj aliaj aparatoj ne havas la ŝlosilon por ĉi tiu mesaĝo, vi ne povos malĉifri ĝin.",
+ "Key request sent.": "Peto de ŝlosilo sendita.",
"Permission Required": "Necesas permeso",
"Registration Required": "Necesas registriĝo",
"You need to register to do this. Would you like to register now?": "Por fari ĉi tion, vi bezonas registriĝi. Ĉu vi volas registriĝi nun?",
@@ -894,7 +839,7 @@
"%(senderName)s removed the main address for this room.": "%(senderName)s forigis la ĉefan adreson de la ĉambro.",
"Please contact your service administrator to continue using the service.": "Bonvolu kontakti administranton de la servo por daŭre uzadi la servon.",
"A call is currently being placed!": "Alia voko nun dumas!",
- "Unable to load! Check your network connectivity and try again.": "Ne eblas ŝargi! Kontrolu vian retan konekton kaj reprovu.",
+ "Unable to load! Check your network connectivity and try again.": "Ne eblas enlegi! Kontrolu vian retan konekton kaj reprovu.",
"Failed to invite users to the room:": "Malsukcesis inviti uzantojn al la ĉambro:",
"Opens the Developer Tools dialog": "Maflermas evoluigistan interagujon",
"This homeserver has hit its Monthly Active User limit.": "Tiu ĉi hejmservilo atingis sian monatan limon de aktivaj uzantoj.",
@@ -938,10 +883,8 @@
"Language and region": "Lingvo kaj regiono",
"Theme": "Haŭto",
"General": "Ĝenerala",
- "Unable to reply": "Ne eblas respondi",
"In reply to": "Respondanta al",
"Share Message": "Diskonigi",
- "Show devices, send anyway or cancel.": "Montri aparatojn, tamen sendi aŭ nuligi.",
"Whether or not you're logged in (we don't record your username)": "Ĉu vi salutis aŭ ne (ni ne registras vian uzantonomon)",
"You do not have permission to start a conference call in this room": "Vi ne havas permeson komenci grupvokon en ĉi tiu ĉambro",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "La dosiero '%(fileName)s' superas la grandecan limon de ĉi tiu hejmservilo",
@@ -991,7 +934,6 @@
"Book": "Libro",
"Pencil": "Grifelo",
"Scissors": "Tondilo",
- "Padlock": "Penda seruro",
"Key": "Ŝlosilo",
"Hammer": "Martelo",
"Telephone": "Telefono",
@@ -1013,7 +955,6 @@
"Email Address": "Retpoŝtadreso",
"Phone Number": "Telefonnumero",
"Profile picture": "Profilbildo",
- "Upload profile picture": "Alŝuti profilbildon",
"Upgrade to your own domain": "Ĝisdatigi al via propra domajno",
"Display Name": "Vidiga nomo",
"Set a new account password...": "Agordi novan kontan pasvorton...",
@@ -1024,7 +965,7 @@
"For help with using Riot, click here.": "Por helpo kun uzo de Riot, alklaku ĉi tie.",
"For help with using Riot, click here or start a chat with our bot using the button below.": "Por helpo kun uzo de Riot, alklaku ĉi tie aŭ komencu babilon kun nia roboto uzante la butonon sube.",
"Chat with Riot Bot": "Babilu kun la roboto Riot Bot",
- "Help & About": "Helpo & Pri",
+ "Help & About": "Helpo kaj Prio",
"Bug reporting": "Cim-raportado",
"FAQ": "Oftaj demandoj",
"Versions": "Versioj",
@@ -1060,12 +1001,6 @@
"Roles & Permissions": "Roloj & Permesoj",
"Enable encryption?": "Ĉu ŝalti ĉifradon?",
"Share Link to User": "Kunhavigi ligilon al uzanto",
- "deleted": "forigita",
- "underlined": "substrekita",
- "inline-code": "enteksta-kodo",
- "block-quote": "blokcito",
- "bulleted-list": "bula-listo",
- "numbered-list": "numerita-listo",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "Vidita de %(displayName)s (%(userName)s) je %(dateTime)s",
"Share room": "Kunhavigi ĉambron",
"System Alerts": "Sistemaj avertoj",
@@ -1073,8 +1008,6 @@
"Don't ask me again": "Ne demandu min denove",
"Main address": "Ĉefa adreso",
"Room avatar": "Profilbildo de ĉambro",
- "Upload room avatar": "Alŝuti profilbildon de ĉambro",
- "No room avatar": "Neniu profilbildo de ĉambro",
"Room Name": "Nomo de ĉambro",
"Room Topic": "Temo de ĉambro",
"Yes, I want to help!": "Jes. Mi volas helpi!",
@@ -1114,9 +1047,9 @@
"Identity Server URL": "URL de identiga servilo",
"Free": "Senpaga",
"Other": "Alia",
- "Couldn't load page": "Ne povis ŝargi paĝon",
- "Unable to join community": "Ne eblas aliĝi al komunumo",
- "Unable to leave community": "Ne eblas forlasi komunumon",
+ "Couldn't load page": "Ne povis enlegi paĝon",
+ "Unable to join community": "Ne povas aliĝi al komunumo",
+ "Unable to leave community": "Ne povas forlasi komunumon",
"Join this community": "Aliĝi al ĉi tiu komunumo",
"Leave this community": "Forlasi ĉi tiun komunumon",
"Everyone": "Ĉiuj",
@@ -1125,7 +1058,7 @@
"%(count)s of your messages have not been sent.|one": "Via mesaĝo ne sendiĝis.",
"Clear filter": "Vakigi filtrilon",
"Guest": "Gasto",
- "Could not load user profile": "Ne povis ŝargi uzantan profilon",
+ "Could not load user profile": "Ne povis enlegi profilon de uzanto",
"Your Matrix account on %(serverName)s": "Via Matrix-konto sur %(serverName)s",
"A verification email will be sent to your inbox to confirm setting your new password.": "Kontrola retpoŝtmesaĝo estos sendita al via enirkesto por kontroli agordadon de via nova pasvorto.",
"Sign in instead": "Anstataŭe saluti",
@@ -1137,8 +1070,8 @@
"Great! This passphrase looks strong enough.": "Bonege! Ĉi tiu pasfrazo ŝajnas sufiĉe forta.",
"Keep going...": "Daŭrigu…",
"Enter a passphrase...": "Enigu pasfrazon…",
- "That matches!": "Tio kongruas!",
- "That doesn't match.": "Tio ne kongruas.",
+ "That matches!": "Tio akordas!",
+ "That doesn't match.": "Tio ne akordas.",
"Repeat your passphrase...": "Ripetu vian pasfrazon...",
"Download": "Elŝuti",
"Success!": "Sukceso!",
@@ -1150,14 +1083,8 @@
"The file '%(fileName)s' failed to upload.": "Malsukcesis alŝuti dosieron « %(fileName)s ».",
"The server does not support the room version specified.": "La servilo ne subtenas la donitan ĉambran version.",
"Name or Matrix ID": "Nomo aŭ Matrix-identigilo",
- "Email, name or Matrix ID": "Retpoŝtadreso, nomo, aŭ Matrix-identigilo",
"Upgrades a room to a new version": "Gradaltigas ĉambron al nova versio",
- "Room upgrade confirmation": "Konfirmo de ĉambra gradaltigo",
- "Upgrading a room can be destructive and isn't always necessary.": "Gradaltigo de ĉambro povas esti detrua kaj ne estas ĉiam necesa.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Gradaltigoj de ĉambroj estas kutime rekomendataj kiam ĉambra versio estas opiniata malstabila. Malstabilaj ĉambraj versioj povas kunhavi erarojn, mankojn de funkcioj, aŭ malsekuraĵojn.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Ĉambraj gradaltigoj efikas nur sur servil-flanka funkciado de la ĉambro. Se vi havas problemon kun via kliento (Riot), bonvolu raparti problemon per .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Averto: Gradaltigo de ĉambro ne transmetos ĉiujn ĉambranojn al la nova versio de la ĉambro. Ni afiŝos ligilon al la nova ĉambro en la malnova versio de la ĉambro – ĉambranoj devos tien klaki por aliĝi al la nova ĉambro.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Bonvolu konfirmi, ke vi certe volas gradaltigi ĉi tiun ĉambron de al .",
"Changes your display nickname in the current room only": "Ŝanĝas vian vidigan nomon nur en la nuna ĉambro",
"Changes your avatar in this current room only": "Ŝanĝas vian profilbildon nur en la nuna ĉambro",
"Gets or sets the room topic": "Ekhavas aŭ agordas la temon de la ĉambro",
@@ -1205,38 +1132,22 @@
"Verify this user by confirming the following emoji appear on their screen.": "Kontrolu ĉi tiun uzanton per konfirmo, ke la jenaj bildsignoj aperis sur ĝia ekrano.",
"Verify this user by confirming the following number appears on their screen.": "Kontrolu ĉu tiun uzanton per konfirmo, ke la jena numero aperis sur ĝia ekrano.",
"Unable to find a supported verification method.": "Ne povas trovi subtenatan metodon de kontrolo.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Por la plej bona sekureco, ni rekomendas fari ĉi tion persone, aŭ per alia, fidata komunikilo.",
"Santa": "Kristnaska viro",
"Thumbs up": "Dikfingro supren",
"Paperclip": "Paperkuntenilo",
"Pin": "Pinglo",
- "Your homeserver does not support device management.": "Via hejmservilo ne subtenas administradon de aparatoj.",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Ni sendis al vi retleteron por konfirmi vian adreson. Bonvolu sekvi la tieajn intrukciojn kaj poste klaki al la butono sube.",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Ĉu vi certas? Vi perdos ĉiujn viajn ĉifritajn mesaĝojn, se viaj ŝlosiloj ne estas savkopiitaj.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Ĉifritaj mesaĝoj estas sekurigitaj per tutvoja ĉifrado. Nur vi kaj la ricevonto(j) havas la ŝlosilojn necesajn por legado.",
- "This device is backing up your keys. ": "Ĉi tiu aparato savkopias viajn ŝlosilojn. ",
"Custom user status messages": "Propraj uzantoaj statmesaĝoj",
"Group & filter rooms by custom tags (refresh to apply changes)": "Grupigi kaj filtri ĉambrojn per propraj etikedoj (aktualigu por ŝanĝojn apliki)",
"Restore from Backup": "Rehavi el savkopio",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Tiu ĉi aparato ne ne savkopias viajn ŝlosilojn, sed vi jam havas savkopion, kiun vi povas restarigi, kaj aldonadi al ĝi de nun.",
"Backing up %(sessionsRemaining)s keys...": "Savkopianta %(sessionsRemaining)s ŝlosilojn…",
"All keys backed up": "Ĉiuj ŝlosiloj estas savkopiitaj",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Savkopio havas subskribon de nekonata aparato kun la identigilo %(deviceId)s.",
- "Backup has a valid signature from this device": "Savkopio havas validan subskribon de ĉi tiu aparato",
- "Backup has an invalid signature from this device": "Savkopio havas nevalidan subskribon de tiu ĉi aparato",
- "Backup has a valid signature from verified device ": "Savkopio havas validan subskribon de kontrolita aparato ",
- "Backup has a valid signature from unverified device ": "Savkopio havas validan subskribon de nekontrolita aparato ",
- "Backup has an invalid signature from verified device ": "Savkopio havas nevalidan subskribon de kontrolita aparato ",
- "Backup has an invalid signature from unverified device ": "Savkopio havas nevalidan subskribon de nekontrolita aparato ",
- "Backup is not signed by any of your devices": "Savkopio estas subskribita de neniu el viaj aparatoj",
- "This backup is trusted because it has been restored on this device": "Ĉi tiu savkopio estas fidata ĉar ĝi estis restarigita por ĉi tiu aparato",
"Backup version: ": "Versio de savkopio: ",
"Algorithm: ": "Algoritmo: ",
- "Your keys are not being backed up from this device.": "Viaj ŝlosiloj ne estas savkopiataj de ĉi tiu aparato.",
"Back up your keys before signing out to avoid losing them.": "Savkopiu viajn ŝlosilojn antaŭ adiaŭo, por ilin ne perdi.",
"Add an email address to configure email notifications": "Aldonu retpoŝtadreson por agordi retpoŝtajn sciigojn",
- "Enable desktop notifications for this device": "Ŝalti labortablajn sciigojn por ĉi tiu aparato",
- "Enable audible notifications for this device": "Ŝalti sonajn sciigojn por ĉi tiu aparato",
"Unable to verify phone number.": "Ne povas kontroli telefonnumeron.",
"Verification code": "Kontrola kodo",
"Deactivating your account is a permanent action - be careful!": "Malaktivigo de via konto estas nemalfarebla – atentu!",
@@ -1287,10 +1198,6 @@
"This room has already been upgraded.": "Ĉi tiu ĉambro jam gradaltiĝis.",
"This room is running room version , which this homeserver has marked as unstable.": "Ĉi tiu ĉambro uzas ĉambran version , kiun la hejmservilo markis kiel nestabilan.",
"Your Riot is misconfigured": "Via kliento Riot estas misagordita",
- "All devices for this user are trusted": "Ĉiuj aparatoj de tiu ĉi uzanto estas fidataj",
- "All devices in this encrypted room are trusted": "Ĉiuj aparatoj en ĉi tiu ĉifrita ĉambro estas fidataj",
- "Your key share request has been sent - please check your other devices for key share requests.": "Via peto por havigo de ŝlosilo sendiĝis – bonvolu kontroli viajn aliajn aparatojn pro petoj.",
- "At this time it is not possible to reply with an emote.": "Ankoraŭ ne eblas respondi per mieno.",
"Joining room …": "Aliĝanta al ĉambro …",
"Loading …": "Enleganta …",
"Rejecting invite …": "Rifuzanta inviton …",
@@ -1338,7 +1245,6 @@
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Ĉu neniu aperas? Ankoraŭ ne ĉiuj klientoj subtenas interagan kontrolon. Uzi malnovecan kontrolon.",
"Waiting for %(userId)s to confirm...": "Atendanta konfirmon de %(userId)s…",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Kontrolu ĉi tiun uzanton por marki ĝin fidata. Fidado devas vin trankviligi dum uzado de tutvoja ĉifrado.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Kontrolo de ĉi tiu uzanto markos ĝian aparaton fidata, kaj ankaŭ la vian por ĝi.",
"Waiting for partner to confirm...": "Atendas konfirmon de kunulo…",
"Incoming Verification Request": "Venas kontrolpeto",
"Manually export keys": "Mane elporti ŝlosilojn",
@@ -1370,7 +1276,7 @@
"A widget located at %(widgetUrl)s would like to verify your identity. By allowing this, the widget will be able to verify your user ID, but not perform actions as you.": "Fenestraĵo de %(widgetUrl)s volas kontroli vian identecon. Se vi permesos tion, ĝi povos kontroli vian identigilon de uzanto, sed ne agi per vi.",
"Remember my selection for this widget": "Memoru mian elekton por tiu ĉi fenestraĵo",
"Deny": "Rifuzi",
- "Unable to load backup status": "Ne eblas legi staton de savkopio",
+ "Unable to load backup status": "Ne povas legi staton de savkopio",
"Collapse Reply Thread": "Maletendi respondan fadenon",
"This homeserver would like to make sure you are not a robot.": "Ĉi tiu hejmservilo volas certigi, ke vi ne estas roboto.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Vi povas uzi proprajn servilajn elektojn por saluti aliajn servilojn de Matrix per alia hejmservila URL. Tio ebligos uzi ĉi tiun aplikaĵon kun jama Matrix-konto en alia hejmservilo.",
@@ -1398,7 +1304,6 @@
"You have %(count)s unread notifications in a prior version of this room.|other": "Vi havas %(count)s nelegitajn sciigojn en antaŭa versio de ĉi tiu ĉambro.",
"You have %(count)s unread notifications in a prior version of this room.|one": "Vi havas %(count)s nelegitan sciigon en antaŭa versio de ĉi tiu ĉambro.",
"Your profile": "Via profilo",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Ŝanĝo de pasvorto renovigos tutvoje ĉifrajn ŝlosilojn de ĉiuj viaj aparatoj, igante la historion de ĉifrita babilo nelegebla. Agordu savkopiadon de ŝlosiloj, aŭ elportu ŝlosilojn de viaj ĉambroj el alia aparato, antaŭ ol vi ŝanĝos la pasvorton.",
"Your Matrix account on ": "Via Matrix-konto sur ",
"This homeserver does not support login using email address.": "Ĉi tiu hejmservilo ne subtenas saluton per retpoŝtadreso.",
"Registration has been disabled on this homeserver.": "Registriĝoj malŝaltiĝis sur ĉi tiu hejmservilo.",
@@ -1414,7 +1319,7 @@
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Ĉu vi uzas la funkcion « spuroj » (profilbildoj super la listo de ĉambroj)",
"Adds a custom widget by URL to the room": "Aldonas propran fenestraĵon al la ĉambro per URL",
"You cannot modify widgets in this room.": "Vi ne rajtas modifi fenestraĵojn en ĉi tiu ĉambro.",
- "Forces the current outbound group session in an encrypted room to be discarded": "Devigas la aktualan eliran grupan kunsidon en ĉifrita ĉambro forĵetiĝi",
+ "Forces the current outbound group session in an encrypted room to be discarded": "Devigas la aktualan eliran grupan salutaĵon en ĉifrita ĉambro forĵetiĝi",
"%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s ŝaltis etikedojn por %(groups)s en ĉi tiu ĉambro.",
"%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s malŝaltis etikedojn por %(groups)s en ĉi tiu ĉambro.",
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s ŝaltis etikedojn por %(newGroups)s kaj malŝaltis etikedojn por %(oldGroups)s en ĉi tiu ĉambro.",
@@ -1440,7 +1345,6 @@
"Show recently visited rooms above the room list": "Montri freŝe vizititajn ĉambrojn super la listo de ĉambroj",
"Show hidden events in timeline": "Montri kaŝitajn okazojn en historio",
"Low bandwidth mode": "Reĝimo de malmulta kapacito",
- "Connect this device to Key Backup": "Konekti ĉi tiun aparaton al Savkopiado de ŝlosiloj",
"Start using Key Backup": "Ekuzi Savkopiadon de ŝlosiloj",
"Timeline": "Historio",
"Autocomplete delay (ms)": "Prokrasto de memaga kompletigo",
@@ -1451,7 +1355,6 @@
"Notification sound": "Sono de sciigo",
"Set a new custom sound": "Agordi novan propran sonon",
"Browse": "Foliumi",
- "Some devices for this user are not trusted": "Iuj aparatoj de tiu ĉi uzanto ne estas fidataj",
"Show all": "Montri ĉiujn",
"Edited at %(date)s. Click to view edits.": "Redaktita je %(date)s. Klaku por vidi redaktojn.",
"That doesn't look like a valid email address": "Tio ne ŝajnas esti valida retpoŝtadreso",
@@ -1480,8 +1383,6 @@
"Encryption": "Ĉifrado",
"Once enabled, encryption cannot be disabled.": "Post ŝalto, ne plu eblas malŝalti ĉifradon.",
"Encrypted": "Ĉifrata",
- "Some devices in this encrypted room are not trusted": "Iuj aparatoj en ĉi tiu ĉifrata ĉambro ne estas fidataj",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Petoj pri kunhavigo de ŝlosiloj sendiĝas al viaj aliaj aparatoj memage. Se vi rifuzis aŭ forlasis la peton en viaj aliaj aparatoj, klaku ĉi tien por repeti la ŝlosilojn por tiu ĉi kunsido.",
"The conversation continues here.": "La interparolo pluas ĉi tie.",
"This room has been replaced and is no longer active.": "Ĉi tiu ĉambro estas anstataŭita, kaj ne plu aktivas.",
"Loading room preview": "Preparas antaŭrigardon al la ĉambro",
@@ -1496,17 +1397,15 @@
"%(oneUser)smade no changes %(count)s times|other": "%(oneUser)snenion ŝanĝis je %(count)s fojoj",
"%(oneUser)smade no changes %(count)s times|one": "%(oneUser)snenion ŝanĝis",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Ne povas enlegi la responditan okazon; aŭ ĝi ne ekzistas, aŭ vi ne rajtas vidi ĝin.",
- "Clear all data on this device?": "Ĉu vakigi ĉiujn datumojn en tiu ĉi aparato?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Vakigo de ĉiuj datumoj de tiu ĉi aparato estas porĉiama. Ĉifritaj mesaĝoj perdiĝos, malse vi savkopiis iliajn ŝlosilojn.",
"Clear all data": "Vakigi ĉiujn datumojn",
"Community IDs cannot be empty.": "Identigilo de komunumo ne estu malplena.",
"To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Por eviti perdon de via babila historio, vi devas elporti la ŝlosilojn de viaj ĉambroj antaŭ adiaŭo. Por tio vi bezonos reveni al la pli nova versio de Riot",
"You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "Vi antaŭe uzis pli novan version de Riot je %(host)s. Por ree uzi ĉi tiun version kun ĉifrado, vi devos adiaŭi kaj resaluti. ",
- "Incompatible Database": "Nekongrua datumbazo",
+ "Incompatible Database": "Neakorda datumbazo",
"View Servers in Room": "Montri servilojn en ĉambro",
- "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Vi antaŭe uzis Riot-on je %(host)s kun ŝaltita malfrua enlegado de anoj. En ĉi tiu versio, malfrua enlegado estas malŝaltita. Ĉar la loka kaŝmemoro de ambaŭ versioj ne kongruas, Riot bezonas respeguli vian konton.",
+ "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Vi antaŭe uzis Riot-on je %(host)s kun ŝaltita malfrua enlegado de anoj. En ĉi tiu versio, malfrua enlegado estas malŝaltita. Ĉar la loka kaŝmemoro de ambaŭ versioj ne akordas, Riot bezonas respeguli vian konton.",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Se la alia versio de Riot ankoraŭ estas malfermita en alia langeto, bonvolu tiun fermi, ĉar uzado de Riot je la sama gastiganto, kun malfrua enlegado samtempe ŝaltita kaj malŝaltita, kaŭzos problemojn.",
- "Incompatible local cache": "Nekongrua loka kaŝmemoro",
+ "Incompatible local cache": "Neakorda loka kaŝmemoro",
"Clear cache and resync": "Vakigi kaŝmemoron kaj respeguli",
"Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot nun uzas 3–5-oble malpli da memoro, ĉar ĝi enlegas informojn pri aliaj uzantoj nur tiam, kiam ĝi bezonas. Bonvolu atendi ĝis ni respegulos la servilon!",
"You'll lose access to your encrypted messages": "Vi perdos aliron al viaj ĉifritaj mesaĝoj",
@@ -1517,18 +1416,18 @@
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Por eviti duoblajn raportojn, bonvolu unue rigardi jamajn raportojn (kaj meti +1) aŭ raporti novan problemon se vi neniun trovos.",
"Report bugs & give feedback": "Raporti erarojn kaj sendi prikomentojn",
"Clear Storage and Sign Out": "Vakigi memoron kaj adiaŭi",
- "We encountered an error trying to restore your previous session.": "Ni renkontis eraron provante rehavi vian antaŭan kunsidon.",
+ "We encountered an error trying to restore your previous session.": "Ni renkontis eraron provante rehavi vian antaŭan salutaĵon.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Vakigo de la memoro de via foliumilo eble korektos la problemon, sed adiaŭigos vin, kaj malebligos legadon de historio de ĉifritaj babiloj.",
- "Missing session data": "Mankas kunsidaj datumoj",
- "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Iuj kunsidaj datumoj, inkluzive viajn ĉifrajn ŝlosilojn, mankas. Por tion korekti, resalutu, kaj rehavu la ŝlosilojn el savkopio.",
+ "Missing session data": "Mankas datumoj de salutaĵo",
+ "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Iuj datumoj de salutaĵo, inkluzive viajn ĉifrajn ŝlosilojn, mankas. Por tion korekti, resalutu, kaj rehavu la ŝlosilojn el savkopio.",
"Your browser likely removed this data when running low on disk space.": "Via foliumilo probable forigos ĉi tiujn datumojn kiam al ĝi mankos spaco sur disko.",
"Recovery Key Mismatch": "Malakordo de rehava ŝlosilo",
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Savkopio ne povas esti malĉifrita per ĉi tiu ŝlosilo: bonvolu kontroli, ke vi enigis la ĝustan rehavan ŝlosilon.",
"Incorrect Recovery Passphrase": "Malĝusta rehava pasfrazo",
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "Savkopio ne sukcesis malĉifriĝi per ĉi tiu pasfrazo: bonvolu kontroli, ĉu vi enigis la ĝustan rehavan pasfrazon.",
"Unable to restore backup": "Ne povas rehavi savkopion",
- "Failed to decrypt %(failedCount)s sessions!": "Malsukcesis malĉifri%(failedCount)s kunsidojn!",
- "Restored %(sessionCount)s session keys": "Rehavis %(sessionCount)s kunsidajn ŝlosilojn",
+ "Failed to decrypt %(failedCount)s sessions!": "Malsukcesis malĉifri%(failedCount)s salutaĵojn!",
+ "Restored %(sessionCount)s session keys": "Rehavis %(sessionCount)s ŝlosilojn de salutaĵo",
"Enter Recovery Passphrase": "Enigu rehavan pasfrazon",
"Warning: you should only set up key backup from a trusted computer.": "Averto: vi agordu ŝlosilan savkopion nur per fidata komputilo.",
"Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Aliru vian sekuran mesaĝan historion kaj agordu sekuran mesaĝadon per enigo de via rehava pasfrazo.",
@@ -1537,11 +1436,10 @@
"This looks like a valid recovery key!": "Ŝajnas esti valida rehava ŝlosilo!",
"Not a valid recovery key": "Ne estas valida rehava ŝlosilo",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Aliru vian sekuran mesaĝan historion kaj agordu sekuran mesaĝadon per enigo de via rehava ŝlosilo.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Se vi forgesis vian rehavan pasfrazon, vi povas agordi novajn rehavajn elektojn",
"Resend %(unsentCount)s reaction(s)": "Resendi %(unsentCount)s reago(j)n",
"Resend removal": "Resendi forigon",
"Share Permalink": "Kunhavi daŭran ligilon",
- "Passwords don't match": "Pasvortoj ne kongruas",
+ "Passwords don't match": "Pasvortoj ne akordas",
"Other users can invite you to rooms using your contact details": "Aliaj uzantoj povas inviti vin al ĉambroj per viaj kontaktaj detaloj",
"Enter phone number (required on this homeserver)": "Enigu telefonnumeron (bezonata sur ĉi tiu hejmservilo)",
"Doesn't look like a valid phone number": "Ne ŝajnas esti valida telefonnumero",
@@ -1570,51 +1468,40 @@
"New Recovery Method": "Nova rehava metodo",
"A new recovery passphrase and key for Secure Messages have been detected.": "Novaj rehava pasfrazo kaj ŝlosilo por sekuraj mesaĝoj troviĝis.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Se vi ne agordis la novan rehavan metodon, eble atakanto provas aliri vian konton. Vi tuj ŝanĝu la pasvorton de via konto, kaj agordu novan rehavan metodon en la agordoj.",
- "This device is encrypting history using the new recovery method.": "Ĉi tiu aparato ĉifras historion kun la nova rehava metodo.",
"Set up Secure Messages": "Agordi sekurajn mesaĝojn",
"Recovery Method Removed": "Rehava metodo foriĝis",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Ĉi tiu aparato trovis, ke viaj rehava pasfrazo kaj ŝlosilo por sekuraj mesaĝoj foriĝis.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Se vi faris tion akcidente, vi povas agordi sekurajn mesaĝojn per ĉi tiu aparato, reĉifrante la mesaĝan historion de la aparato kun nova rehava metodo.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Se vi ne forigis la rehavan metodon, eble atakanto provas aliri vian konton. Vi tuj ŝanĝu la pasvorton de via konto, kaj agordu novan rehavan metodon en la agordoj.",
"Use a longer keyboard pattern with more turns": "Uzu pli longan tekston kun plia varieco",
"Unable to load key backup status": "Ne povas enlegi staton de ŝlosila savkopio",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Konektu ĉi tiun aparaton al ŝlosila savkopiado antaŭ adiaŭo, por eviti perdon de ŝlosiloj de tiu ĉi aparato.",
- "Reset": "Reagordi",
+ "Reset": "Restarigi",
"Demote yourself?": "Ĉu malrangaltigi vin mem?",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Vi ne povos malfari tiun ŝanĝon, ĉar vi malrangaltigas vin mem; se vi estas la lasta povohava uzanto en la ĉambro, estos neeble vian povon rehavi.",
"Demote": "Malrangaltigi",
"Power level": "Povonivelo",
"Use two-way text verification": "Uzi duflankan tekstan kontrolon",
"Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Gradaltigo de ĉi tiu ĉambro bezonas fermi ĝin, kaj krei novan por anstataŭi ĝin. Por plejbonigi sperton de la ĉambranoj, ni:",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Vi adiaŭis ĉiujn aparatojn kaj ne plu ricevados sciigojn. Por reŝalti ilin, resalutu per ĉiu el la aparatoj.",
"Invalid homeserver discovery response": "Nevalida eltrova respondo de hejmservilo",
"Failed to get autodiscovery configuration from server": "Malsukcesis akiri agordojn de memaga eltrovado de la servilo",
"Homeserver URL does not appear to be a valid Matrix homeserver": "URL por hejmservilo ŝajne ne ligas al valida hejmservilo de Matrix",
"Invalid identity server discovery response": "Nevalida eltrova respondo de identiga servilo",
"Identity server URL does not appear to be a valid identity server": "URL por identiga servilo ŝajne ne ligas al valida identiga servilo",
"Sign in with single sign-on": "Salutu per ununura saluto",
- "Failed to re-authenticate due to a homeserver problem": "Malsukcesis reaŭtentigi pro hejmservila problemo",
- "Failed to re-authenticate": "Malsukcesis reaŭtentigi",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Rehavu aliron al via konto kaj ĉifrajn ŝlosilojn memoratajn de tiu ĉi aparato. Sen ili, vi ne povos legi ĉiujn viajn sekurajn mesaĝojn per iu ajn aparato.",
+ "Failed to re-authenticate due to a homeserver problem": "Malsukcesis reaŭtentikigi pro hejmservila problemo",
+ "Failed to re-authenticate": "Malsukcesis reaŭtentikigi",
"Enter your password to sign in and regain access to your account.": "Enigu vian pasvorton por saluti kaj rehavi aliron al via konto.",
"Sign in and regain access to your account.": "Saluti kaj rehavi aliron al via konto.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Vi ne povas saluti per via konto. Bonvolu kontakti administranton de via hejmservilo por akiri pliajn informojn.",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Averto: Tiu ĉi aparato ankoraŭ memoras viajn personajn datumojn (inkluzive ĉifrajn ŝlosilojn). Vakigu ilin, se vi ĉesas uzi ĉi tiun aparaton, aŭ volas saluti per alia konto.",
"Set up with a Recovery Key": "Agordi per rehava ŝlosilo",
"Go back to set it again.": "Reiru por reagordi ĝin.",
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Asekure vi povas uzi ĝin por rehavi vian historion de ĉifritaj mesaĝoj se vi forgesos vian rehavan pasfrazon.",
"As a safety net, you can use it to restore your encrypted message history.": "Asekure vi povas uzi ĝin por rehavi vian historion de ĉifritaj mesaĝoj.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Via rehava ŝlosilo estas asekuro – vi povos uzi ĝin por rehavi aliron al viaj ĉifritaj mesaĝoj, se vi forgesos vian pasfrazon.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Konservu vian rehavan ŝlosilon en tre sekura loko, kiel en administrilo de pasvortoj (aŭ sekurŝranko)",
"Your Recovery Key": "Via rehava ŝlosilo",
"Copy to clipboard": "Kopii al tondujo",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Via rehava ŝlosilo kopiiĝis al via tondujo, algluu ĝin al:",
- "Your Recovery Key is in your Downloads folder.": "Via rehava ŝlosilo estas en via elŝuta dosierujo.",
"Print it and store it somewhere safe": "Presu ĝin kaj konservu ĝin en sekura loko",
"Save it on a USB key or backup drive": "Konservu ĝin en poŝmemorilo aŭ savkopia disko",
"Copy it to your personal cloud storage": "Kopiu ĝin al via persona enreta konservejo",
"Your keys are being backed up (the first backup could take a few minutes).": "Viaj ŝlosiloj estas savkopiataj (la unua savkopio povas daŭri kelkajn minutojn).",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Sen agordo de sekura rehavo de mesaĝoj, vi ne povos rehavi vian historion de ĉifritaj mesaĝoj se vi adiaŭos aŭ uzos alian aparaton.",
"Set up Secure Message Recovery": "Agordi sekuran rehavon de mesaĝoj",
"Secure your backup with a passphrase": "Sekurigi vian savkopion per pasfrazo",
"Confirm your passphrase": "Konfirmu vian pasfrazon",
@@ -1650,7 +1537,6 @@
"Public Name": "Publika nomo",
"Do not use an identity server": "Ne uzi identigan servilon",
"Enter a new identity server": "Enigi novan identigan servilon",
- "Failed to start chat": "Malsukcesis komenci babilon",
"Messages": "Mesaĝoj",
"Actions": "Agoj",
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Uzu identigan servilon por inviti retpoŝte. Klaku al « daŭrigi » por uzi la norman identigan servilon (%(defaultIdentityServerName)s) aŭ administru tion en Agordoj.",
@@ -1683,7 +1569,6 @@
"Discovery": "Trovado",
"Deactivate account": "Malaktivigi konton",
"Always show the window menu bar": "Ĉiam montri la fenestran menubreton",
- "A device's public name is visible to people you communicate with": "Publika nomo de aparato estas videbla de homoj, kun kiuj vi komunikas",
"Upgrade the room": "Gradaltigi la ĉambron",
"Enable room encryption": "Ŝalti ĉifradon de la ĉambro",
"Error changing power level requirement": "Eraris ŝanĝo de postulo de potenconivelo",
@@ -1721,7 +1606,6 @@
"Trust": "Fido",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Multiple integration managers": "Pluraj kunigiloj",
- "Use the new, faster, composer for writing messages": "Uzi la novan, pli rapidan verkilon de mesaĝoj",
"Show previews/thumbnails for images": "Montri antaŭrigardojn/bildetojn je bildoj",
"You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Vi forigu viajn personajn datumojn de identiga servilo antaŭ ol vi malkonektiĝos. Bedaŭrinde, identiga servilo estas nuntempe eksterreta kaj ne eblas ĝin atingi.",
"You should:": "Vi:",
@@ -1796,8 +1680,8 @@
"Please provide a room alias": "Bonvolu doni kromnomon de ĉambro",
"This alias is available to use": "Ĉi tiu kromnomo estas disponebla",
"This alias is already in use": "Ĉi tiu kromnomo jam estas uzata",
- "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Uzu identigan servilon por inviti per retpoŝto. Uzu la norman (%(defaultIdentityServerName)s) aŭ mastrumu per Agordoj.",
- "Use an identity server to invite by email. Manage in Settings.": "Uzu identigan servilon por inviti per retpoŝto. Mastrumu per Agordoj.",
+ "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Uzu identigan servilon por inviti per retpoŝto. Uzu la norman (%(defaultIdentityServerName)s) aŭ administru per Agordoj.",
+ "Use an identity server to invite by email. Manage in Settings.": "Uzu identigan servilon por inviti per retpoŝto. Administru per Agordoj.",
"Close dialog": "Fermi interagujon",
"Please enter a name for the room": "Bonvolu enigi nomon por la ĉambro",
"Set a room alias to easily share your room with other people.": "Agordu kromnomon de la ĉambro por facile ĝin kunhavigi al aliaj homoj.",
@@ -1809,7 +1693,6 @@
"Hide advanced": "Kaŝi specialajn",
"Show advanced": "Montri specialajn",
"Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Bloki aliĝojn al ĉi tiu ĉambro de uzantoj el aliaj Matrix-serviloj (Ĉi tiun agordon ne eblas poste ŝanĝi!)",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Por kontroli ke tiu ĉi aparato estas fidinda, bonvolu kontroli, ke la ŝlosilo, kiun vi vidas en viaj Agordoj de uzanto je tiu aparato, akordas kun la ŝlosilo sube:",
"Please fill why you're reporting.": "Bonvolu skribi, kial vi raportas.",
"Report Content to Your Homeserver Administrator": "Raporti enhavon al la administrantode via hejmservilo",
"Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Per raporto de ĝi tiu mesaĝo vi sendos ĝian unikan « eventan identigilon » al la administranto de via hejmservilo. Se mesaĝoj en ĉi tiu ĉambro estas ĉifrataj, la administranto de via hejmservilo ne povos legi la tekston de la mesaĝo, nek rigardi dosierojn aŭ bildojn.",
@@ -1839,10 +1722,9 @@
"%(senderName)s placed a video call.": "%(senderName)s metis vidvokon.",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s metis vidvokon. (mankas subteno en ĉi tiu foliumilo)",
"Try out new ways to ignore people (experimental)": "Elprovi novajn manierojn malatenti homojn (eksperimente)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Sendadi kontrolajn petojn per rektaj mesaĝoj, inkluzive novan kontrolan ilaron en la membra panelo.",
"Match system theme": "Similiĝi la sisteman haŭton",
"My Ban List": "Mia listo de forbaroj",
- "This is your list of users/servers you have blocked - don't leave the room!": "Ĉi tio estas la listo de uzantoj/serviloj, kiujn vi forbaris – ne eliru el la ĉambro!",
+ "This is your list of users/servers you have blocked - don't leave the room!": "Ĉi tio estas la listo de uzantoj/serviloj, kiujn vi blokis – ne eliru el la ĉambro!",
"Decline (%(counter)s)": "Malakcepti (%(counter)s)",
"Clear notifications": "Vakigi sciigojn",
"Error subscribing to list": "Eraris abono al listo",
@@ -1851,7 +1733,7 @@
"Error unsubscribing from list": "Eraris malabono de la listo",
"Please try again or view your console for hints.": "Bonvolu reprovi aŭ serĉi helpilojn en via konzolo.",
"You have not ignored anyone.": "Vi neniun malatentis.",
- "You are not subscribed to any lists": "Vi neniun liston abonis.",
+ "You are not subscribed to any lists": "Vi neniun liston abonis",
"Unsubscribe": "Malaboni",
"View rules": "Montri regulojn",
"You are currently subscribed to:": "Vi nun abonas:",
@@ -1867,5 +1749,530 @@
"Widget ID": "Identigilo de fenestraĵo",
"Widgets do not use message encryption.": "Fenestraĵoj ne uzas ĉifradon de mesaĝoj.",
"Widget added by": "Fenestraĵon aldonis",
- "This widget may use cookies.": "Ĉi tiu fenestraĵo povas uzi kuketojn."
+ "This widget may use cookies.": "Ĉi tiu fenestraĵo povas uzi kuketojn.",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s aldonis %(addedAddresses)s kaj %(count)s aliajn adresojn al ĉi tiu ĉambro",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s forigis %(removedAddresses)s kaj %(count)s aliajn adresojn el ĉi tiu ĉambro",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s forigis %(countRemoved)s kaj aldonis %(countAdded)s adresojn al ĉi tiu ĉambro",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s ŝaltis tutvojan ĉifradon.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s ŝaltis tutvojan ĉifradon (nerekonita algoritmo %(algorithm)s).",
+ "a few seconds ago": "antaŭ kelkaj sekundoj",
+ "about a minute ago": "antaŭ ĉirkaŭ minuto",
+ "%(num)s minutes ago": "antaŭ %(num)s minutoj",
+ "about an hour ago": "antaŭ ĉirkaŭ horo",
+ "%(num)s hours ago": "antaŭ %(num)s horoj",
+ "about a day ago": "antaŭ ĉirkaŭ tago",
+ "%(num)s days ago": "antaŭ %(num)s tagoj",
+ "a few seconds from now": "kelkajn sekundojn de nun",
+ "about a minute from now": "ĉirkaŭ minuton de nun",
+ "%(num)s minutes from now": "%(num)s minutojn de nun",
+ "about an hour from now": "ĉirkaŭ horon de nun",
+ "%(num)s hours from now": "%(num)s horojn de nun",
+ "about a day from now": "ĉirkaŭ tagon de nun",
+ "%(num)s days from now": "%(num)s tagojn de nun",
+ "Lock": "Seruro",
+ "Other users may not trust it": "Aliaj uzantoj eble ne kredas ĝin",
+ "Later": "Pli poste",
+ "Verify": "Kontroli",
+ "Set up encryption": "Agordi ĉifradon",
+ "Upgrade": "Gradaltigi",
+ "Cannot connect to integration manager": "Ne povas konektiĝi al kunigilo",
+ "The integration manager is offline or it cannot reach your homeserver.": "La kunigilo estas eksterreta aŭ ne povas atingi vian hejmservilon.",
+ "Backup has a valid signature from this user": "Savkopio havas validan subskribon de ĉi tiu uzanto",
+ "Backup has a invalid signature from this user": "Savkopio havas nevalidan subskribon de ĉi tiu uzanto",
+ "This room is end-to-end encrypted": "Ĉi tiu ĉambro uzas tutvojan ĉifradon",
+ "Everyone in this room is verified": "Ĉiu en la ĉambro estas kontrolita",
+ "This message cannot be decrypted": "Ĉi tiun mesaĝon ne eblas malĉifri",
+ "Unencrypted": "Neĉifrita",
+ "Send a reply…": "Sendi respondon…",
+ "Send a message…": "Sendi mesaĝon…",
+ "Direct Messages": "Rektaj ĉambroj",
+ " wants to chat": " volas babili",
+ "Start chatting": "Ekbabili",
+ "Reject & Ignore user": "Rifuzi kaj malatenti uzanton",
+ "Unknown Command": "Nekonata komando",
+ "Send as message": "Sendi mesaĝon",
+ "Failed to connect to integration manager": "Malsukcesis konekton al kunigilo",
+ "Verify User": "Kontroli uzanton",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Por plia sekureco, kontrolu ĉi tiun uzanton per unufoja kodo aperonta sur ambaŭ el viaj aparatoj.",
+ "Start Verification": "Komenci kontrolon",
+ "Trusted": "Fidata",
+ "Not trusted": "Nefidata",
+ "Direct message": "Rekta ĉambro",
+ "Security": "Sekureco",
+ "Reactions": "Reagoj",
+ "More options": "Pliaj elektebloj",
+ "Integrations are disabled": "Kunigoj estas malŝaltitaj",
+ "Integrations not allowed": "Kunigoj ne estas permesitaj",
+ "Suggestions": "Proponoj",
+ "Automatically invite users": "Memage inviti uzantojn",
+ "Upgrade private room": "Gradaltigi privatan ĉambron",
+ "Upgrade public room": "Gradaltigi publikan ĉambron",
+ "Notification settings": "Sciigaj agordoj",
+ "Take picture": "Foti",
+ "Start": "Komenci",
+ "Done": "Fini",
+ "Go Back": "Reiri",
+ "Verify other users in their profile.": "Kontrolu aliajn uzantojn en iliaj profiloj.",
+ "Upgrade your encryption": "Gradaltigi vian ĉifradon",
+ "Encryption upgraded": "Ĉifrado gradaltigita",
+ "Encryption setup complete": "Agordo de ĉifrado finita",
+ "The version of Riot": "La versio de Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Ĉu vi uzas Rioton per aparato, kies ĉefa enigilo estas tuŝado",
+ "The information being sent to us to help make Riot better includes:": "La informoj sendataj al ni por plibonigi Rioton inkluzivas:",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Nekonataj salutaĵoj ĉeestas la ĉambron; se vi daŭrigos ne kontrolinte ilin, iu povos subaŭskulti vian vokon.",
+ "If you cancel now, you won't complete verifying the other user.": "Se vi nuligos nun, vi ne finos kontrolon de la alia uzanto.",
+ "If you cancel now, you won't complete verifying your other session.": "Se vi nuligos nun, vi ne finos kontrolon de via alia salutaĵo.",
+ "Cancel entering passphrase?": "Ĉu nuligi enigon de pasfrazo?",
+ "Setting up keys": "Agordo de klavoj",
+ "Verify this session": "Kontroli ĉi tiun salutaĵon",
+ "Encryption upgrade available": "Ĝisdatigo de ĉifrado haveblas",
+ "Unverified session": "Nekontrolita salutaĵo",
+ "Sign In or Create Account": "Salutu aŭ kreu konton",
+ "Use your account or create a new one to continue.": "Por daŭrigi, uzu vian konton aŭ kreu novan.",
+ "Create Account": "Krei konton",
+ "Error upgrading room": "Eraris ĝisdatigo de la ĉambro",
+ "Double check that your server supports the room version chosen and try again.": "Bone kontrolu, ĉu via servilo subtenas la elektitan version de ĉambro, kaj reprovu.",
+ "Verifies a user, session, and pubkey tuple": "Kontrolas opon de uzanto, salutaĵo, kaj publika ŝlosilo",
+ "Unknown (user, session) pair:": "Nekonata duopo (uzanto, salutaĵo):",
+ "Session already verified!": "Kunsido jam estas kontrolita!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "AVERTO: Salutaĵo jam estas kontrolita, sed la ŝlosiloj NE AKORDAS!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "AVERTO: MALSUKCESIS KONTROLO DE ŜLOSILOJ! La subskriba ŝlosilo de %(userId)s kaj session %(deviceId)s estas «%(fprint)s», kiu ne akordas la donitan ŝlosilon «%(fingerprint)s». Tio povus signifi, ke via komunikado estas spionata!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "La subskriba ŝlosilo, kiun vi donis, akordas la subskribas ŝlosilon, kinu vi ricevis de la salutaĵo %(deviceId)s de la uzanto %(userId)s. Salutaĵo estis markita kontrolita.",
+ "Displays information about a user": "Montras informojn pri uzanto",
+ "The message you are trying to send is too large.": "La mesaĝo, kiun vi provas sendi, estas tro granda.",
+ "Show typing notifications": "Montri sciigojn pri tajpado",
+ "Never send encrypted messages to unverified sessions from this session": "Neniam sendi ĉifritajn mesaĝojn al nekontrolitaj salutaĵoj de ĉi tiu salutaĵo",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Neniam sendi ĉifritajn mesaĝojn al nekontrolitaj salutaĵoj en ĉi tiu ĉambro de ĉi tiu salutaĵo",
+ "Order rooms by name": "Ordigi ĉambrojn laŭ nomo",
+ "Show rooms with unread notifications first": "Montri ĉambrojn kun nelegitaj sciigoj unue",
+ "Show shortcuts to recently viewed rooms above the room list": "Montri tujirilojn al freŝe rigarditaj ĉambroj super la listo de ĉambroj",
+ "Enable message search in encrypted rooms": "Ŝalti serĉon de mesaĝoj en ĉifritaj ĉambroj",
+ "How fast should messages be downloaded.": "Kiel rapide elŝuti mesaĝojn.",
+ "Verify this session by completing one of the following:": "Kontrolu la salutaĵon per plenumado de unu el la jenaj:",
+ "Scan this unique code": "Skanu ĉi tiun unikan kodon",
+ "or": "aŭ",
+ "Compare unique emoji": "Komparu unikajn bildsignojn",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Komparu unikan aron de bildsignoj se vi ne havas kameraon sur la alia aparato",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Konfirmu, ke la ĉi-subaj bildsignoj estas montrataj sur ambaŭ aparatoj, samorde:",
+ "Verify this device by confirming the following number appears on its screen.": "Kontrolu ĉi tiun aparaton per kontrolo, ke la jena nombro aperas sur ĝia ekrano.",
+ "Waiting for %(displayName)s to verify…": "Atendas kontrolon de %(displayName)s…",
+ "Cancelling…": "Nuliganta…",
+ "They match": "Ili akordas",
+ "They don't match": "Ili ne akordas",
+ "To be secure, do this in person or use a trusted way to communicate.": "Por plia sekureco, faru tion persone, aŭ uzu alian fidatan komunikilon.",
+ "Verify yourself & others to keep your chats safe": "Kontrolu vin mem kaj aliajn por sekurigi viajn babilojn",
+ "Channel: %(channelName)s": "Kanalo: %(channelName)s",
+ "Show less": "Montri pli",
+ "Show more": "Montri malpli",
+ "Help": "Helpo",
+ "Message not sent due to unknown sessions being present": "Mesaĝo ne sendiĝis pro ĉeesto de nekonataj salutaĵoj",
+ "Show sessions, send anyway or cancel.": "Montri salutaĵojn, tamen sendi aŭ nuligi.",
+ "Complete security": "Plena sekureco",
+ "Verify this session to grant it access to encrypted messages.": "Kontrolu ĉi tiun salutaĵon por doni al ĝi aliron al la ĉifritaj mesaĝoj.",
+ "Session verified": "Salutaĵo kontroliĝis",
+ "Copy": "Kopii",
+ "Your user agent": "Via klienta aplikaĵo",
+ "If you cancel now, you won't complete your secret storage operation.": "Se vi nuligos nun, vi ne finos la operacion de la sekreta deponejo.",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s ŝanĝis nomon de la ĉambro de %(oldRoomName)s al %(newRoomName)s.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s aldonis la alternativajn adresojn %(addresses)s por ĉi tiu ĉambro.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s aldonis alternativan adreson %(addresses)s por ĉi tiu ĉambro.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s forigis la alternativajn adresojn %(addresses)s por ĉi tiu ĉambro.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s forigis alternativan adreson %(addresses)s por ĉi tiu ĉambro.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s ŝanĝis la alternativan adreson de ĉi tiu ĉambro.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ŝanĝis la ĉefan kaj alternativan adresojn de ĉi tiu ĉambro.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s ŝanĝis la adresojn de ĉi tiu ĉambro.",
+ "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s forigis la regulon forbarantan uzantojn, kiuj akordas kun %(glob)s",
+ "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s forigis la regulon forbarantan ĉambrojn, kiuj akordas kun %(glob)s",
+ "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s forigis la regulon forbarantan servilojn, kiuj akordas kun %(glob)s",
+ "%(senderName)s removed a ban rule matching %(glob)s": "%(senderName)s forigis forbaran regulon, kiu akordas kun %(glob)s",
+ "%(senderName)s updated an invalid ban rule": "%(senderName)s ĝisdatigis nevalidan forbaran regulon",
+ "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s ĝisdatigis la regulon forbarantan uzantojn, kiuj akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s ĝisdatigis la regulon forbarantan ĉambrojn, kiuj akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s ĝisdatigis la regulon forbarantan servilojn, kiuj akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s ĝisdatigis forbaran regulon, kiu akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s kreis regulon forbarantan uzantojn, kiuj akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s kreis regulon forbarantan ĉambrojn, kiuj akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s kreis regulon forbarantan servilojn, kiuj akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s kreis forbaran regulon, kiu akordas kun %(glob)s, pro %(reason)s",
+ "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ŝanĝis regulon forbarintan uzantojn, kiuj akordis kun %(oldGlob)s, al akordo kun %(newGlob)s, pro %(reason)s",
+ "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ŝanĝis regulon forbarintan ĉambrojn, kiuj akordis kun %(oldGlob)s, al akordo kun %(newGlob)s, pro %(reason)s",
+ "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ŝanĝis regulon forbarintan servilojn, kiuj akordis kun %(oldGlob)s, al akordo kun %(newGlob)s, pro %(reason)s",
+ "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ĝisdatigis forbaran regulon, kiu akordis kun %(oldGlob)s, al akordo kun %(newGlob)s, pro %(reason)s",
+ "Not Trusted": "Nefidata",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) salutis novan salutaĵon ne kontrolante ĝin:",
+ "Ask this user to verify their session, or manually verify it below.": "Petu, ke ĉi tiu la uzanto kontrolu sian salutaĵon, aŭ kontrolu ĝin permane sube.",
+ "Manually Verify": "Permane kontroli",
+ "Show a presence dot next to DMs in the room list": "Montri punkton de ĉeesteco apud rektaj ĉambroj en la listo de ĉambroj",
+ "Support adding custom themes": "Subteni aldonadon de propraj haŭtoj",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Ŝalti transirajn subskribojn por kontroli uzantojn anstataŭ aparatojn (ankoraŭ evoluigate)",
+ "Enable local event indexing and E2EE search (requires restart)": "Ŝalti lokan indeksadon de okazoj kaj serĉon en tutvoja ĉifrado (bezonas restartigon)",
+ "Show info about bridges in room settings": "Montri informon pri pontoj en agordoj de ĉambro",
+ "Show padlocks on invite only rooms": "Montri serurojn sur ĉambroj por invititaj",
+ "Keep secret storage passphrase in memory for this session": "Teni pasfrazon de sekreta deponejo en memoro dum ĉi tiu salutaĵo",
+ "Review": "Rekontroli",
+ "This bridge was provisioned by .": "Ĉi tiu ponto estas provizita de .",
+ "This bridge is managed by .": "Ĉi tiu ponto estas administrata de .",
+ "Workspace: %(networkName)s": "Labortablo: %(networkName)s",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Ŝanĝo de pasvorto nuntempe restarigos ĉiujn tutvoje ĉifrajn ŝlosilojn en ĉiuj salutaĵoj, malebligante legadon de ĉifrita historio, malse vi unue elportus la ŝlosilojn de viaj ĉambroj kaj reenportus ilin poste. Ĉi tion ni plibonigos ose.",
+ "Your homeserver does not support cross-signing.": "Via hejmservilo ne subtenas transirajn subskribojn.",
+ "Cross-signing and secret storage are enabled.": "Transiraj subskriboj kaj sekreta deponejo estas ŝaltitaj.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Via konto havas identecon de transiraj subskriboj en sekreta deponejo, sed ĉi tiu salutaĵo ankoraŭ ne fidas ĝin.",
+ "Cross-signing and secret storage are not yet set up.": "Transiraj subskriboj kaj sekreta deponejo ankoraŭ ne agordiĝis.",
+ "Reset cross-signing and secret storage": "Remeti transirajn subskribojn kaj sekretan deponejon",
+ "Bootstrap cross-signing and secret storage": "Praŝargi transirajn subskribojn kaj sekretan deponejon",
+ "Cross-signing public keys:": "Transiraj publikaj ŝlosiloj:",
+ "in memory": "en memoro",
+ "not found": "ne trovita",
+ "Cross-signing private keys:": "Transiraj privataj ŝlosiloj:",
+ "in secret storage": "en sekreta deponejo",
+ "Secret storage public key:": "Publika ŝlosilo de sekreta deponejo:",
+ "in account data": "en datumoj de konto",
+ "Homeserver feature support:": "Funkciaj kapabloj de hejmservilo:",
+ "exists": "ekzistas",
+ "Your homeserver does not support session management.": "Via hejmservilo ne subtenas administradon de salutaĵoj.",
+ "Unable to load session list": "Ne povas enlegi liston de salutaĵoj",
+ "Delete %(count)s sessions|other": "Forigi %(count)s salutaĵojn",
+ "Delete %(count)s sessions|one": "Forigi %(count)s salutaĵon",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Sekure kaŝmemori ĉifritajn mesaĝojn loke, por aperigi ilin en serĉrezultoj, uzante ",
+ " to store messages from ": " por deponi mesaĝojn el ",
+ "rooms.": "ĉambroj.",
+ "Manage": "Administri",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Sekure kaŝmemori ĉifritajn mesaĝojn loke, por aperigi ilin en serĉrezultoj.",
+ "Enable": "Ŝalti",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot malhavas kelkajn partojn bezonajn por sekura loka kaŝmemorado de ĉirfitaj mesaĝoj. Se vi volas eksperimenti pri ĉi tiu kapablo, kunmetu propran klienton «Riot Dekstop» kun aldonitaj serĉopartoj.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot ne povas sekure loke kaŝmemori ĉifritajn mesaĝojn, rulate en reta foliumilo. Uzu la klienton Riot Desktop por aperigi ĉirfritajn mesaĝojn en serĉorezultoj.",
+ "Connecting to integration manager...": "Konektante al kunigilo…",
+ "This session is backing up your keys. ": "Ĉi tiu salutaĵo savkopias viajn ŝlosilojn. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Ĉi tiu salutaĵo ne savkopias viajn ŝlosilojn, sed vi jam havas savkopion, el kiu vi povas rehavi datumojn, kaj ilin kreskigi plue.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Konektu ĉi tiun salutaĵon al savkopiado de ŝlosiloj antaŭ ol vi adiaŭos, por ne perdi ŝlosilojn, kiuj povus troviĝi nur en ĉi tiu salutaĵo.",
+ "Connect this session to Key Backup": "Konekti ĉi tiun salutaĵon al Savkopiado de ŝlosiloj",
+ "not stored": "ne deponita",
+ "Backup has a signature from unknown user with ID %(deviceId)s": "Savkopio havas subskribon de nekonata uzanto kun la identigilo %(deviceId)s",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Savkopio havas subskribon de nekonata salutaĵo kun la identigilo %(deviceId)s",
+ "Backup has a valid signature from this session": "Savkopio havas validan subskribon de ĉi tiu salutaĵo",
+ "Backup has an invalid signature from this session": "Savkopio havas nevalidan subskribon de ĉi tiu salutaĵo",
+ "Backup has a valid signature from verified session ": "Savkopio havas validan subskribon de kontrolita salutaĵo ",
+ "Backup has a valid signature from unverified session ": "Savkopio havas validan subskribon de nekontrolita salutaĵo ",
+ "Backup has an invalid signature from verified session ": "Savkopio havas nevalidan subskribon de kontrolita salutaĵo ",
+ "Backup has an invalid signature from unverified session ": "Savkopio havas nevalidan subskribon de nekontrolita salutaĵo ",
+ "Backup is not signed by any of your sessions": "Savkopio estas subskribita de neniu el viaj salutaĵoj",
+ "This backup is trusted because it has been restored on this session": "Ĉi tiu savkopio estas fidata, ĉar ĝi estis rehavita en ĉi tiu salutaĵo",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Savkopia ŝlosilo estas deponita en sekreta deponejo, sed tiu funkcio ne estas ŝaltita en ĉi tiu salutaĵo. Bonvolu ŝalti transirajn subskribojn en Laboratorio por modifi la staton de savkopiado.",
+ "Backup key stored: ": "Savkopia ŝlosilo deponita: ",
+ "Your keys are not being backed up from this session.": "Viaj ŝlosiloj ne estas savkopiataj el ĉi tiu salutaĵo.",
+ "Enable desktop notifications for this session": "Ŝalti labortablajn sciigojn por ĉi tiu salutaĵo",
+ "Enable audible notifications for this session": "Ŝalti aŭdeblajn sciigojn por ĉi tiu salutaĵo",
+ "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Uzu kunigilon (%(serverName)s) por administrado de robotoj, fenestraĵoj, kaj glumarkaroj.",
+ "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Uzu kunigilon por administrado de robotoj, fenestraĵoj, kaj glumarkaroj.",
+ "Manage integrations": "Administri kunigojn",
+ "Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Kunigiloj ricevas agordajn datumojn, kaj povas modifi fenestraĵojn, sendi invitojn al ĉambroj, kaj vianome agordi nivelojn de potenco.",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Via pasvorto sukcese ŝanĝiĝis. Vi ne ricevados pasivajn sciigojn en aliaj salutaĵoj, ĝis vi ilin resalutos",
+ "Error downloading theme information.": "Eraris elŝuto de informoj pri haŭto.",
+ "Theme added!": "Haŭto aldoniĝis!",
+ "Custom theme URL": "Propra URL al haŭto",
+ "Add theme": "Aldoni haŭton",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Por raparto de sekureca problemo rilata al Matrix, bonvolu legi la Eldiran Politikon pri Sekureco de Matrix.org.",
+ "Customise your experience with experimental labs features. Learn more.": "Alĝustigu vian sperton per eksperimentaj laboratoriaj funkcioj. Eksciu plion.",
+ "Ignored/Blocked": "Malatentita/Blokita",
+ "Error adding ignored user/server": "Eraris aldono de malatentita uzanto/servilo",
+ "Something went wrong. Please try again or view your console for hints.": "Io eraris. Bonvolu reprovi aŭ serĉi helpilojn en via konzolo.",
+ "None": "Neniu",
+ "Ban list rules - %(roomName)s": "Reguloj de listo de forbaroj – %(roomName)s",
+ "Server rules": "Servilaj reguloj",
+ "User rules": "Uzantulaj reguloj",
+ "You are currently ignoring:": "Vi nun malatentas:",
+ "Add users and servers you want to ignore here. Use asterisks to have Riot match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Aldonu ĉi tien uzantojn kaj servilojn, kiujn vi volas malatenti. Uzu steleton por akordigi ĉiajn signojn. Ekzemple, @bot:* malatentigus ĉiujn uzantojn kun la nomo «bot» sur ĉiu servilo.",
+ "Ignoring people is done through ban lists which contain rules for who to ban. Subscribing to a ban list means the users/servers blocked by that list will be hidden from you.": "Malatento de homoj okazas per listoj de forbaroj, kiuj enhavas regulojn pri tio, kiun forbari. Abono de listo de forbaroj signifas, ke la uzantoj/serviloj blokataj de la listo estos kaŝitaj de vi.",
+ "Personal ban list": "Persona listo de forbaroj",
+ "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Via persona listo de forbaroj tenas ĉiujn uzantojn/servilojn, kies mesaĝoj vi persone ne volas vidi. Post via unua malatento, nova ĉambro aperos en via listo de ĉambroj, nomita «Mia listo de forbaroj» – restu en ĝi por efikigi la liston de forbaroj.",
+ "Server or user ID to ignore": "Malatentota servilo aŭ identigilo de uzanto",
+ "eg: @bot:* or example.org": "ekz: @bot:* aŭ ekzemplo.org",
+ "Subscribing to a ban list will cause you to join it!": "Abono de listo de forbaroj aligos vin al ĝi!",
+ "If this isn't what you want, please use a different tool to ignore users.": "Se vi ne volas tion, bonvolu uzi alian ilon por malatenti uzantojn.",
+ "Room ID or alias of ban list": "Identigilo de ĉambro aŭ kromnomo de listo de forbaroj",
+ "Session ID:": "Identigilo de salutaĵo:",
+ "Session key:": "Ŝlosilo de salutaĵo:",
+ "Message search": "Serĉado de mesaĝoj",
+ "Cross-signing": "Transiraj subskriboj",
+ "Sessions": "Salutaĵoj",
+ "A session's public name is visible to people you communicate with": "Publika nomo de salutaĵo estas videbla al homoj, kun kiuj vi komunikas",
+ "This room is bridging messages to the following platforms. Learn more.": "Ĉi tiu ĉambro transpontigas mesaĝojn al la jenaj platformoj. Eksciu plion.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Ĉi tiu ĉambro transpontigas mesaĝojn al neniu platformo. Eksciu plion.",
+ "Bridges": "Pontoj",
+ "This user has not verified all of their sessions.": "Ĉi tiu uzanto ne kontrolis ĉiomon da siaj salutaĵoj.",
+ "You have not verified this user.": "Vi ne kontrolis tiun ĉi uzanton.",
+ "You have verified this user. This user has verified all of their sessions.": "Vi kontrolis tiun ĉi uzanton. Ĝi kontrolis ĉiomon da siaj salutaĵoj.",
+ "Someone is using an unknown session": "Iu uzas nekonatan salutaĵon",
+ "Some sessions for this user are not trusted": "Iuj salutaĵoj de ĉi tiu uzanto ne estas fidataj",
+ "All sessions for this user are trusted": "Ĉiuj salutaĵoj de ĉi tiu uzanto estas fidataj",
+ "Some sessions in this encrypted room are not trusted": "Iuj salutaĵoj en ĉi tiu ĉifrita ĉambro ne estas fidataj",
+ "All sessions in this encrypted room are trusted": "Ĉiuj salutaĵoj en ĉi tiu ĉifrita ĉambro estas fidataj",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Via peto pri havigo de ŝlosilo estas sendita – bonvolu kontroli viajn aliajn salutaĵojn je petojn pri havigo de ŝlosiloj.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Petoj pri havigo de ŝlosiloj estas memage sendataj al viaj aliaj salutaĵoj. Se vi rifuzis aŭ forigis la peton pri havigo de ŝlosiloj en aliaj viaj salutaĵoj, klaku ĉi tien por ree peti ŝlosilojn por ĉi tiu salutaĵo.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Se viaj aliaj salutaĵoj ne havas la ŝlosilon por ĉi tiu mesaĝo, vi ne povos ilin malĉifri.",
+ "Re-request encryption keys from your other sessions.": "Repeti viajn ĉifrajn ŝlosilojn de ceteraj viaj salutaĵoj.",
+ "Encrypted by an unverified session": "Ĉifrita de nekontrolita salutaĵo",
+ "Encrypted by a deleted session": "Ĉifrita de forigita salutaĵo",
+ "Invite only": "Nur por invititaj",
+ "Close preview": "Fermi antaŭrigardon",
+ "No sessions with registered encryption keys": "Neniuj salutaĵoj kun registritaj ĉifraj ŝlosiloj",
+ "Unrecognised command: %(commandText)s": "Nerekonita komando: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Vi povas komandi /help por listigi uzeblajn komandojn. Ĉu vi intencis sendi ĉi tion kiel mesaĝon?",
+ "Hint: Begin your message with // to start it with a slash.": "Helpeto: Komencu vian mesaĝon per // por komenci ĝin per suprenstreko.",
+ "Mark all as read": "Marki ĉion legita",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Eraris ĝisdatigo de la alternativaj adresoj de la ĉambro. Eble la servilo ne permesas tion, aŭ io dumtempe ne funkcias.",
+ "You don't have permission to delete the alias.": "Vi ne havas permeson forigi la kromnomon.",
+ "Alternative addresses for this room:": "Alternativaj adresoj de ĉi tiu ĉambro:",
+ "This room has no alternative addresses": "Ĉi tiu ĉambro ne havas alternativajn adresojn",
+ "New address (e.g. #foo:domain)": "Nova adreso (ekz. #foo:domain)",
+ "Local addresses (unmoderated content)": "Lokaj adresoj (nereguligata enhavo)",
+ "Waiting for %(displayName)s to accept…": "Atendante akcepton de %(displayName)s…",
+ "Accepting…": "Akceptante…",
+ "Messages in this room are end-to-end encrypted.": "Mesaĝoj en ĉi tiu ĉambro estas tutvoje ĉifrataj.",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Viaj mesaĝoj estas sekurigitaj, kaj nur vi kaj la ricevanto posedas la unikan ŝlosilojn, kiuj ilin povas malĉifri.",
+ "Your messages are not secure": "Viaj mesaĝoj ne estas sekuraj",
+ "One of the following may be compromised:": "Unu el la jenaj eble estas malkonfidencigita:",
+ "Your homeserver": "Via hejmservilo",
+ "The homeserver the user you’re verifying is connected to": "La hejmservilo, al kiu konektiĝis la kontrolata uzanto",
+ "Yours, or the other users’ internet connection": "Interreta konekto de vi aŭ la aliaj uzantoj",
+ "Yours, or the other users’ session": "Salutaĵo de vi aŭ la aliaj uzantoj",
+ "%(count)s verified sessions|other": "%(count)s kontrolitaj salutaĵoj",
+ "%(count)s verified sessions|one": "1 kontrolita salutaĵo",
+ "Hide verified sessions": "Kaŝi kontrolitajn salutaĵojn",
+ "%(count)s sessions|other": "%(count)s salutaĵoj",
+ "%(count)s sessions|one": "%(count)s salutaĵo",
+ "Hide sessions": "Kaŝi salutaĵojn",
+ "%(role)s in %(roomName)s": "%(role)s en %(roomName)s",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "La salutaĵo, kiun vi provas kontroli, ne subtenas skanadon de rapidrespondaj kodoj nek kontrolon per bildsignoj, kiujn subtenas Riot. Provu per alia kliento.",
+ "Verify by scanning": "Kontroli per skanado",
+ "Ask %(displayName)s to scan your code:": "Petu de %(displayName)s skani vian kodon:",
+ "Verify by emoji": "Kontroli per bildsignoj",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Se vi ne povas skani la supran kodon, kontrolu per komparo de unikaj bildsignoj.",
+ "Verify by comparing unique emoji.": "Kontrolu per komparo de unikaj bildsignoj.",
+ "You've successfully verified %(displayName)s!": "Vi sukcese kontrolis uzanton %(displayName)s!",
+ "Got it": "Komprenite",
+ "Verification timed out. Start verification again from their profile.": "Kontrolo atingis tempolimon. Rekomencu la kontrolon de ĝia profilo.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s nuligis la kontrolon. Rekomencu ĝin de ĝia profilo.",
+ "You cancelled verification. Start verification again from their profile.": "Vi nuligis la kontrolon. Rekomencu ĝin de ĝia profilo.",
+ "Encryption enabled": "Ĉifrado estas ŝaltita",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Mesaĝojn en ĉi tiu ĉambro estas tutvoje ĉifrataj. Eksciu plion kaj kontrolu ĉi tiun uzanton el ĝia profilo.",
+ "Encryption not enabled": "Ĉifrado ne estas ŝaltita",
+ "The encryption used by this room isn't supported.": "La ĉifro uzata de ĉi tiu ĉambro ne estas subtenata.",
+ "You have ignored this user, so their message is hidden. Show anyways.": "Vi malatentis ĉi tiun uzanton, ĝia mesaĝo estas do kaŝita. Tamen montri.",
+ "You declined": "Vi rifuzis",
+ "%(name)s declined": "%(name)s rifuzis",
+ "Accepting …": "Akceptante…",
+ "Declining …": "Rifuzante…",
+ " reacted with %(content)s": " reagis per %(content)s",
+ "Any of the following data may be shared:": "Ĉiu el la jenaj datumoj povas kunhaviĝi:",
+ "Using this widget may share data with %(widgetDomain)s & your Integration Manager.": "Uzo de tiu ĉi fenestraĵo eble havigos datumojn kun %(widgetDomain)s kaj via kunigilo.",
+ "Using this widget may share data with %(widgetDomain)s.": "Uzo de tiu ĉi fenestraĵo eble havigos datumojn kun %(widgetDomain)s.",
+ "Language Dropdown": "Lingva falmenuo",
+ "Destroy cross-signing keys?": "Ĉu detrui transire ĉifrajn ŝlosilojn?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Forigo de transire ĉifraj ŝlosiloj estas porĉiama. Ĉiu, kun kiu vi interkontrolis, vidos avertojn pri sekureco. Vi preskaŭ certe ne volas ĉi tion fari, malse vi perdis ĉiun aparaton, el kiu vi povus transire subskribadi.",
+ "Clear cross-signing keys": "Vakigi transire ĉifrajn ŝlosilojn",
+ "Clear all data in this session?": "Ĉu vakigi ĉiujn datumojn en ĉi tiu salutaĵo?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Vakigo de ĉiuj datumoj el ĉi tiu salutaĵo estas porĉiama. Ĉifritaj mesaĝoj perdiĝos, malse iliaj ŝlosiloj savkopiiĝis.",
+ "Verify session": "Kontroli salutaĵon",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Por kontroli, ke ĉi tiu salutaĵo estas fidinda, bonvolu kontroli, ke la ŝlosilo, kiun vi vidas en Agordoj de uzanto en tiu aparato, akordas kun la suba:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Por kontroli, ke ĉi tiu salutaĵo estas fidinda, bonvolu kontakti ĝian posedanton alimaniere (ekz. persone aŭ telefone), kaj demandu al ĝi, ĉu la ŝlosilo, kiun ĝi vidas en siaj Agordoj de uzanto por ĉi tiu salutaĵo akordas kun la suba:",
+ "Session name": "Nomo de salutaĵo",
+ "Session key": "Ŝlosilo de salutaĵo",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Se ĝi akordas, premu la kontrolan butonon sube. Se ne, iu alia spionas la salutaĵon kaj vi probable volos premi la forlistigan butonon anstataŭe.",
+ "Verification Requests": "Petoj de kontrolo",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Kontrolo de tiu ĉi uzanto markos ĝian salutaĵon fidata, kaj ankaŭ markos vian salutaĵon fidata por ĝi.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Kontrolu ĉi tiun aparaton por marki ĝin fidata. Fidado povas pacigi la menson de vi kaj aliaj uzantoj dum uzado de tutvoje ĉifrataj mesaĝoj.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Kontrolo de ĉi tiu aparato markos ĝin fidata, kaj ankaŭ la uzantoj, kiuj interkontrolis kun vi, fidos ĉi tiun aparaton.",
+ "Enable 'Manage Integrations' in Settings to do this.": "Ŝaltu «Administri kunigojn» en Agordoj, por fari ĉi tion.",
+ "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Via Rioto ne permesas al vi uzi kunigilon por tio. Bonvolu kontakti administranton.",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Malsukcesis inviti la jenajn uzantojn al babilo: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "Ni ne povis krei vian rektan ĉambron. Bonvolu kontroli, kiujn uzantojn vi invitas, kaj reprovu.",
+ "Something went wrong trying to invite the users.": "Io eraris dum invito de la uzantoj.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Ni ne povis inviti tiujn uzantojn. Bonvolu kontroli, kiujn uzantojn vi invitas, kaj reprovu.",
+ "Failed to find the following users": "Malsukcesis trovi la jenajn uzantojn",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "La jenaj uzantoj eble ne ekzistas aŭ ne validas, kaj ne povas invitiĝi: %(csvNames)s",
+ "Recent Conversations": "Freŝaj interparoloj",
+ "Recently Direct Messaged": "Freŝaj rektaj ĉambroj",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Se vi ne povas iun trovi, petu ĝian uzantonomon, kaj havigu al ĝi vian uzantonomon (%(userId)s) aŭ ligilon al profilo.",
+ "Go": "Iri",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Se vi ne povas iun trovi, petu ĝian uzantonomon (ekz. @uzanto:servilo.net), aŭ prezentu al ĝi tiun ĉi ĉambron.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Vi aldonis novas salutaĵon «%(displayName)s», kiu petas ĉifrajn ŝlosilojn.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Via nekontrolita salutaĵo «%(displayName)s» petas ĉifrajn ŝlosilojn.",
+ "Loading session info...": "Enlegante informojn pri salutaĵo…",
+ "Your account is not secure": "Via konto ne estas sekura",
+ "Your password": "Via pasvorto",
+ "This session, or the other session": "Ĉi tiu salutaĵo, aŭ la alia salutaĵo",
+ "The internet connection either session is using": "La retkonekto uzata de iu el la salutaĵoj",
+ "We recommend you change your password and recovery key in Settings immediately": "Ni rekomendas, ke vi tuj ŝanĝu viajn pasvorton kaj rehavan ŝlosilon en Agordoj",
+ "New session": "Nova salutaĵo",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Uzu ĉi tiun salutaĵon por kontroli vian novan, donante al ĝi aliron al ĉifritaj mesaĝoj:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Se vi ne salutis ĉi tiun salutaĵon, via konto eble estas malkonfidencigita.",
+ "This wasn't me": "Tio ne estis mi",
+ "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Gradaltigo de ĉambro estas altnivela ago kaj estas kutime rekomendata kiam ĉambro estas malstabila pro eraroj, mankantaj funkcioj, aŭ malsekuraĵoj.",
+ "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Ĉi tio kutime influas nur traktadon de la ĉambro de la servilo. Se vi spertas problemojn pri Riot, bonvolu raporti problemon.",
+ "You'll upgrade this room from to .": "Vi gradaltigos ĉi tiun ĉambron de al .",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Ĉi tio ebligos saluti aliajn salutaĵojn, kaj reveni al via konto post adiaŭo.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Vi nun forlistigas nekontrolitajn salutaĵojn; por sendi mesaĝojn al tiuj salutaĵoj, vi devas ilin kontroli.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Ni rekomendas, ke vi trairu la kontrolon de ĉiu salutaĵo por konfirmi, ke ili apartenas al siaj ĝustaj posedantoj, sed laŭplaĉe vi povas ankaŭ sendi la mesaĝon sen kontrolo.",
+ "Room contains unknown sessions": "Ĉambro enhavas nekonatajn salutaĵojn",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "«%(RoomName)s» enhavas salutaĵojn, kiujn vi ne vidis antaŭe.",
+ "Unknown sessions": "Nekonataj salutaĵoj",
+ "Verification Request": "Kontrolpeto",
+ "Enter secret storage passphrase": "Enigu pasfrazon de sekreta deponejo",
+ "Unable to access secret storage. Please verify that you entered the correct passphrase.": "Ne povis atingi sekretan deponejon. Bonvolu kontroli, ke vi enigis la ĝustan pasfrazon.",
+ "Warning: You should only access secret storage from a trusted computer.": "Averto: vi aliru sekretan deponejon nur de fidata komputilo.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Aliru viajn sekuran historion de mesaĝoj kaj identecon de transiraj subskriboj por kontrolo de aliaj salutaĵoj per enigo de via pasfrazo.",
+ "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Se vi forgesis vian pasfrazon, vi povas uzi vian rehavan ŝlosilon aŭ reagordi rehavon.",
+ "Enter secret storage recovery key": "Enigu rehavan ŝlosilon de la sekreta deponejo",
+ "Unable to access secret storage. Please verify that you entered the correct recovery key.": "Ne povas atingi sekretan deponejon. Bonvolu kontroli, ke vi enigis la ĝustan rehavan ŝlosilon.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Aliru vian sekuran historion de mesaĝoj kaj vian identecon de transiraj subskriboj por kontrolo de aliaj salutaĵoj per enigo de via rehava ŝlosilo.",
+ "If you've forgotten your recovery key you can set up new recovery options.": "Se vi forgesis vian rehavan ŝlosilon, vi povas reagordi rehavon.",
+ "Recovery key mismatch": "Malakordo de rehavaj ŝlosiloj",
+ "Incorrect recovery passphrase": "Malĝusta rehava pasfrazo",
+ "Backup restored": "Savkopio rehavita",
+ "Enter recovery passphrase": "Enigu la rehavan pasfrazon",
+ "Enter recovery key": "Enigu la rehavan ŝlosilon",
+ "Warning: You should only set up key backup from a trusted computer.": "Averto: savkopiadon de ŝlosiloj vi starigu nur el fidata komputilo.",
+ "If you've forgotten your recovery key you can set up new recovery options": "Se vi forgesis vian rehavan ŝlosilon, vi povas reagordi rehavon",
+ "Reload": "Relegi",
+ "Remove for everyone": "Forigi por ĉiuj",
+ "Remove for me": "Forigi por mi mem",
+ "User Status": "Stato de uzanto",
+ "Country Dropdown": "Landa falmenuo",
+ "Confirm your identity by entering your account password below.": "Konfirmu vian identecon per enigo de la pasvorto de via konto sube.",
+ "Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Mankas publika ŝlosilo por testo de homeco en hejmservila agordaro. Bonvolu raporti tion al la administranto de via hejmservilo.",
+ " (1/%(totalCount)s)": " (1/%(totalCount)s)",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Via nova salutaĵo nun estas kontrolita. Ĝi povas atingi viajn ĉifritajn mesaĝojn, kaj aliaj uzantoj vidos ĝin fidata.",
+ "Your new session is now verified. Other users will see it as trusted.": "Via nova salutaĵo nun estas kontrolita. Aliaj uzantoj vidos ĝin fidata.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Sen plenigo de sekureco en ĉi tiu salutaĵo, ĝi ne povos atingi ĉifritajn mesaĝojn.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Ŝanĝo de via pasvorto restarigos ĉiujn tutvoje ĉifrajn ŝlosilojn en ĉiuj viaj salutaĵoj, igante ĉifritan historion de babilo nelegebla. Agordu Savkopiadon de ŝlosiloj aŭ elportu viajn ĉambrajn ŝlosilojn el alia salutaĵo, antaŭ ol vi restarigos vian pasvorton.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Vi adiaŭis ĉiujn viajn salutaĵojn kaj ne plu ricevados pasivajn sciigojn. Por reŝalti sciigojn, vi resalutu per ĉiu el viaj aparatoj.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Reprenu aliron al via konto kaj rehavu ĉifrajn ŝlosilojn deponitajn en ĉi tiu salutaĵo. Sen ili, vi ne povos legi ĉiujn viajn sekurajn mesaĝojn en iu ajn salutaĵo.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Viaj personaj datumoj (inkluzive ĉifrajn ŝlosilojn) estas ankorŭ deponitaj en ĉi tiu salutaĵo. Vakigu ĝin, se vi ne plu uzos ĉi tiun salutaĵon, aŭ volas saluti alian konton.",
+ "Sender session information": "Informoj pri salutaĵo de sendinto",
+ "Enter your account password to confirm the upgrade:": "Enigu pasvorton de via konto por konfirmi la gradaltigon:",
+ "Restore your key backup to upgrade your encryption": "Rehavu vian savkopion de ŝlosiloj por gradaltigi vian ĉifradon",
+ "Restore": "Rehavi",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Vi devos aŭtentikigi kun la servilo por konfirmi la gradaltigon.",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Gradaltigu ĉi tiun salutaĵon por ebligi al ĝi kontroladon de aliaj salutaĵoj, donante al ili aliron al ĉifritaj mesaĵoj, kaj markante ilin fidataj por aliaj uzantoj.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Starigu ĉifradon en ĉi tiu salutaĵo por ebligi al ĝi kontroladon de aliaj salutaĵoj, donante al ili aliron al ĉifritaj mesaĵoj, kaj markante ilin fidataj por aliaj uzantoj.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Sekurigu viajn ĉifrajn ŝlosilojn per pasfrazo. Por plejgranda sekureco, ĝi malsamu la pasvorton de via konto:",
+ "Enter a passphrase": "Enigu pasfrazon",
+ "Back up my encryption keys, securing them with the same passphrase": "Savkopiu miajn ĉifrajn ŝlosilojn, sekurigante ilin per la sama pasfrazo",
+ "Set up with a recovery key": "Starigi kun rehava ŝlosilo",
+ "Enter your passphrase a second time to confirm it.": "Enigu vian pasfrazon duan fojon por konfirmi ĝin.",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Tenu ĝian kopion en sekura loko, ekzemple mastrumilo de pasvortoj, aŭ eĉ sekurkesto.",
+ "Your recovery key": "Via rehava ŝlosilo",
+ "Your recovery key has been copied to your clipboard, paste it to:": "Via rehava ŝlosilo estis kopiita al via tondujo, algluu ĝin al:",
+ "Your recovery key is in your Downloads folder.": "Via rehava ŝlosilo estas en via dosierujo kun Elŝutoj.",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Vi nun povas kontroli aliajn viajn aparatojn, kaj aliajn uzantojn, por teni viajn babilojn sekurajn.",
+ "Make a copy of your recovery key": "Fari kopionde via rehava ŝlosilo",
+ "You're done!": "Vi finis!",
+ "Unable to set up secret storage": "Ne povas starigi sekretan deponejon",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Sen Sekura rehavo de mesaĝoj, vi ne povos rehavi vian historion de ĉifritaj mesaĝoj se vi adiaŭos aŭ uzos alian salutaĵon.",
+ "Create key backup": "Krei savkopion de ŝlosiloj",
+ "This session is encrypting history using the new recovery method.": "Ĉi tiu salutaĵo nun ĉifras historion kun la nova rehava metodo.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Ĉi tiu salutaĵo trovis, ke viaj rehava pasfrazo kaj ŝlosilo por Sekuraj mesaĝoj estis forigitaj.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Se vi faris tion akcidente, vi povas agordi Sekurajn mesaĝojn en ĉi tiu salutaĵo, kio reĉifros la historion de mesaj de ĉi tiu salutaĵo kun nova rehava metodo.",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Post malŝalto, mesaĝoj el ĉifritaj ĉambroj ne aperos en serĉorezultoj.",
+ "Disable": "Malŝalti",
+ "Not currently indexing messages for any room.": "Mesaĝoj estas indeksataj en neniu ĉambro.",
+ "Currently indexing: %(currentRoom)s.": "Nun indeksante: %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot sekure loke kaŝmemoras ĉifritajn mesaĝojn por aperigi ilin en serĉorezultoj:",
+ "Space used:": "Spaco uzita:",
+ "Indexed messages:": "Indeksitaj masaĝoj:",
+ "Indexed rooms:": "Indeksitaj ĉambroj:",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s el %(totalRooms)s",
+ "Message downloading sleep time(ms)": "Dormotempo de elŝuto de mesaĝoj (milonsekunde)",
+ "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Permesi repaŝan vokasistan servilon turn.matrix.org, kiam via hejmservilo iun ne disponigas (via IP-adreso estus havigata dum voko)",
+ "Scroll to most recent messages": "Rulumi al plej freŝaj mesaĝoj",
+ "Local address": "Loka adreso",
+ "Published Addresses": "Publikigitaj adresoj",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Publikigitan adreson povas uzi ĉiu persono el ĉiu servilo por aliĝi al via ĉambro. Por ke adreso publikiĝu, ĝi unue estu agordita kiel adreso loka.",
+ "Other published addresses:": "Aliaj publikigitaj adresoj:",
+ "No other published addresses yet, add one below": "Ankoraŭ neniuj aliaj publikigitaj adresoj; aldonu iun sube",
+ "New published address (e.g. #alias:server)": "Nova publikigita adreso (ekz. #kromnomo:servilo)",
+ "Local Addresses": "Lokaj adresoj",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Agordu adresojn por ĉi tiu ĉambro, por ke uzantoj povu ĝin trovi per via hejmservilo (%(localDomain)s)",
+ "Enter a server name": "Enigu nomon de servilo",
+ "Looks good": "Ŝajnas en ordo",
+ "Can't find this server or its room list": "Ne povas trovi ĉi tiun servilon aŭ ĝian liston de ĉambroj",
+ "All rooms": "Ĉiuj ĉambroj",
+ "Your server": "Via servilo",
+ "Are you sure you want to remove %(serverName)s": "Ĉu vi certe volas forigi servilon %(serverName)s",
+ "Remove server": "Forigi servilon",
+ "Matrix": "Matrix",
+ "Add a new server": "Aldoni novan servilon",
+ "Enter the name of a new server you want to explore.": "Enigu la nomon de nova servilo, kiun vi volas esplori.",
+ "Server name": "Nomo de servilo",
+ "Add a new server...": "Aldoni novan servilon…",
+ "%(networkName)s rooms": "Ĉambroj de %(networkName)s",
+ "Matrix rooms": "Ĉambroj de Matrix",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "Malfermi jaman salutaĵon kaj kontroli ĉi tiun per ĝi, permesante al ĝi aliron al ĉifritaj mesaĝoj.",
+ "Waiting…": "Atendante…",
+ "If you can’t access one, use your recovery key or passphrase.": "Se vi ne povas iun atingi, uzu vian rehavan ŝlosilon aŭ pasfrazon.",
+ "Manually Verify by Text": "Permane kontroli tekste",
+ "Interactively verify by Emoji": "Interage kontroli bildosigne",
+ "Self signing private key:": "Memsubskriba privata ŝlosilo",
+ "cached locally": "kaŝmemorita loke",
+ "not found locally": "ne trovita loke",
+ "User signing private key:": "Uzantosubskriba privata ŝlosilo:",
+ "Secret Storage key format:": "Ŝlosila formo de sekreta deponejo:",
+ "outdated": "eksdata",
+ "up to date": "ĝisdata",
+ "Keyboard Shortcuts": "Klavkombinoj",
+ "Start a conversation with someone using their name, username (like ) or email address.": "Komencu interparolon kun iu per ĝia nomo, uzantonomo (kiel ), aŭ retpoŝtadreso.",
+ "a new master key signature": "nova ĉefŝlosila subskribo",
+ "a new cross-signing key signature": "nova transire subskriba ŝlosila subskribo",
+ "a device cross-signing signature": "aparata transire subskriba ŝlosila subskribo",
+ "a key signature": "ŝlosila subskribo",
+ "Riot encountered an error during upload of:": "Riot eraris dum alŝuto de:",
+ "Upload completed": "Alŝuto finiĝis",
+ "Cancelled signature upload": "Alŝuto de subskribo nuliĝis",
+ "Unabled to upload": "Ne povas alŝuti",
+ "Signature upload success": "Alŝuto de subskribo sukcesis",
+ "Signature upload failed": "Alŝuto de subskribo malsukcesis",
+ "Confirm by comparing the following with the User Settings in your other session:": "Konfirmu per komparo de la sekva kun la agardoj de uzanto en via alia salutaĵo:",
+ "Confirm this user's session by comparing the following with their User Settings:": "Konfirmu la salutaĵon de ĉi tiu uzanto per komparo de la sekva kun ĝiaj agordoj de uzanto",
+ "If they don't match, the security of your communication may be compromised.": "Se ili ne akordas, la sekureco de via komunikado eble estas rompita.",
+ "Navigation": "Navigado",
+ "Calls": "Vokoj",
+ "Room List": "Listo de ĉambroj",
+ "Autocomplete": "Memkompletigo",
+ "Alt": "Alt-klavo",
+ "Alt Gr": "Alt-Gr-klavo",
+ "Shift": "Majuskliga klavo",
+ "Super": "Super-klavo",
+ "Ctrl": "Stir-klavo",
+ "Toggle Bold": "Ŝalti grason",
+ "Toggle Italics": "Ŝalti kursivon",
+ "Toggle Quote": "Ŝalti citaĵon",
+ "New line": "Nova linio",
+ "Navigate recent messages to edit": "Navigi freŝajn mesaĝojn redaktotajn",
+ "Jump to start/end of the composer": "Salti al komenco/fino de la komponilo",
+ "Navigate composer history": "Navigi historion de la komponilo",
+ "Toggle microphone mute": "Baskuligi silentigon de mikrofono",
+ "Toggle video on/off": "Baskuligi filmojn",
+ "Jump to room search": "Salti al serĉo de ĉambroj",
+ "Navigate up/down in the room list": "Navigi supren/malsupren en la listo de ĉambroj",
+ "Select room from the room list": "Elekti ĉambron el la listo de ĉambroj",
+ "Collapse room list section": "Maletendi parton kun listo de ĉambroj",
+ "Expand room list section": "Etendi parton kun listo de ĉambroj",
+ "Clear room list filter field": "Vakigi filtrilon de la listo de ĉambroj",
+ "Scroll up/down in the timeline": "Rulumi supren/suben en la historio",
+ "Previous/next unread room or DM": "Antaŭa/sekva nelegita ĉambro",
+ "Previous/next room or DM": "Antaŭa/sekva ĉambro",
+ "Toggle the top left menu": "Baskuligi la supran maldekstran menuon",
+ "Close dialog or context menu": "Fermi interagujon aŭ kuntekstan menuon",
+ "Activate selected button": "Aktivigi la elektitan butonon",
+ "Toggle right panel": "Baskuligi la dekstran panelon",
+ "Toggle this dialog": "Baskuligi ĉi tiun interagujon",
+ "Move autocomplete selection up/down": "Movi memkompletigan elekton supren/suben",
+ "Cancel autocomplete": "Nuligi memkompletigon",
+ "Page Up": "Paĝosupren-klavo",
+ "Page Down": "Paĝosuben-klavo",
+ "Esc": "Eskapa klavo",
+ "Enter": "Eniga klavo",
+ "Space": "Spaco",
+ "End": "Finen-klavo"
}
diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json
index 958203a020..872bd7ab4c 100644
--- a/src/i18n/strings/es.json
+++ b/src/i18n/strings/es.json
@@ -33,7 +33,6 @@
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s cambió el nombre de la sala a %(roomName)s.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s cambió el tema a \"%(topic)s\".",
"Changes your display nickname": "Cambia tu apodo público",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "El cambio de contraseña restablecerá actualmente todas las claves de cifrado de extremo a extremo de todos los dispositivos, haciendo que el historial de chat cifrado sea ilegible, a menos que primero exporte las claves de la habitación y vuelva a importarlas después. En el futuro esto será mejorado.",
"Claimed Ed25519 fingerprint key": "Clave de huella digital Ed25519 reclamada",
"Click here to fix": "Haz clic aquí para arreglar",
"Click to mute audio": "Haz clic para silenciar el audio",
@@ -57,7 +56,6 @@
"Deops user with given id": "Degrada al usuario con la ID dada",
"Default": "Por Defecto",
"Device ID": "ID de Dispositivo",
- "Devices": "Dispositivos",
"Direct chats": "Conversaciones directas",
"Disinvite": "Deshacer invitación",
"Displays action": "Muestra la acción",
@@ -100,21 +98,17 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s a %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Invitados no pueden unirse a esta sala aun cuando han sido invitados explícitamente.",
"Hangup": "Colgar",
- "Hide Text Formatting Toolbar": "Ocultar barra de herramientas de formato de texto",
"Historical": "Histórico",
"Homeserver is": "El Servidor Doméstico es",
"Identity Server is": "El Servidor de Identidad es",
"I have verified my email address": "He verificado mi dirección de correo electrónico",
"Import E2E room keys": "Importar claves de salas con Cifrado de Extremo a Extremo",
"Incorrect verification code": "Verificación de código incorrecta",
- "Invalid alias format": "Formato de alias inválido",
"Invalid Email Address": "Dirección de Correo Electrónico Inválida",
"Invalid file%(extra)s": "Archivo inválido %(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s invitó a %(targetName)s.",
- "Invite new room members": "Invitar nuevos miembros a la sala",
"Invites": "Invitaciones",
"Invites user with given id to current room": "Invita al usuario con la ID dada a la sala actual",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' no es un formato de alias válido",
"Sign in with": "Quiero iniciar sesión con",
"Join Room": "Unirse a la Sala",
"%(targetName)s joined the room.": "%(targetName)s se unió a la sala.",
@@ -142,12 +136,9 @@
"Custom": "Personalizado",
"Custom level": "Nivel personalizado",
"Decline": "Rechazar",
- "Device already verified!": "¡El dispositivo ya ha sido verificado!",
- "Device ID:": "ID de Dispositivo:",
"device id: ": "ID de dispositivo: ",
"Disable Notifications": "Deshabilitar Notificaciones",
"Enable Notifications": "Habilitar Notificaciones",
- "Encrypted by an unverified device": "Cifrado por un dispositivo sin verificar",
"Enter passphrase": "Ingresar frase de contraseña",
"Error: Problem communicating with the given homeserver.": "Error: No es posible comunicar con el servidor doméstico indicado.",
"Export": "Exportar",
@@ -187,13 +178,9 @@
"Unknown error": "Error desconocido",
"Incorrect password": "Contraseña incorrecta",
"To continue, please enter your password.": "Para continuar, ingresa tu contraseña por favor.",
- "Device name": "Nombre de dispositivo",
- "Device key": "Clave de dispositivo",
- "Verify device": "Verificar dispositivo",
"I verify that the keys match": "Verifico que las claves coinciden",
"Unable to restore session": "No se puede recuperar la sesión",
"Room Colour": "Color de la sala",
- "Room contains unknown devices": "La sala contiene dispositivos desconocidos",
"%(roomName)s does not exist.": "%(roomName)s no existe.",
"%(roomName)s is not accessible at this time.": "%(roomName)s no es accesible en este momento.",
"Rooms": "Salas",
@@ -203,8 +190,6 @@
"Search failed": "Falló la búsqueda",
"Seen by %(userName)s at %(dateTime)s": "Visto por %(userName)s el %(dateTime)s",
"Send anyway": "Enviar de todos modos",
- "Sender device information": "Información del dispositivo emisor",
- "Send Invites": "Enviar Invitaciones",
"Send Reset Email": "Enviar Correo Electrónico de Restauración",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s envió una imagen.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s invitó a %(targetDisplayName)s a unirse a la sala.",
@@ -216,7 +201,6 @@
"%(senderName)s set a profile picture.": "%(senderName)s estableció una imagen de perfil.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s estableció %(displayName)s como su nombre público.",
"Settings": "Ajustes",
- "Show Text Formatting Toolbar": "Mostrar la barra de formato de texto",
"Signed Out": "Desconectado",
"Sign in": "Conectar",
"Sign out": "Cerrar sesión",
@@ -224,7 +208,6 @@
"Someone": "Alguien",
"Start a chat": "Iniciar una conversación",
"Start authentication": "Iniciar autenticación",
- "Start Chat": "Iniciar Conversación",
"Submit": "Enviar",
"Success": "Éxito",
"The phone number entered looks invalid": "El número telefónico indicado parece erróneo",
@@ -235,21 +218,14 @@
"Are you sure you want to leave the room '%(roomName)s'?": "¿Está seguro de que desea abandonar la sala '%(roomName)s'?",
"Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "No se puede conectar al servidor doméstico - compruebe su conexión, asegúrese de que el certificado SSL del servidor es de confiaza, y compruebe que no hay extensiones del navegador bloqueando las peticiones.",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s eliminó el nombre de la sala.",
- "Device key:": "Clave de dispositivo:",
"Drop File Here": "Deje el fichero aquí",
"Join as voice or video.": "Unirse con voz o vídeo.",
"Manage Integrations": "Gestionar integraciones",
- "Markdown is disabled": "Markdown está deshabilitado",
- "Markdown is enabled": "Markdown está activado",
- "matrix-react-sdk version:": "Versión de matrix-react-sdk:",
- "Message not sent due to unknown devices being present": "Mensaje no enviado debido a la presencia de dispositivos desconocidos",
"Missing room_id in request": "Falta el room_id en la solicitud",
"Missing user_id in request": "Falta el user_id en la solicitud",
"Moderator": "Moderador",
"Mute": "Silenciar",
"Name": "Nombre",
- "Never send encrypted messages to unverified devices from this device": "Nunca enviar mensajes cifrados a dispositivos sin verificar desde este dispositivo",
- "Never send encrypted messages to unverified devices in this room from this device": "Nunca enviar mensajes cifrados a dispositivos sin verificar en esta sala desde este dispositivo",
"New address (e.g. #foo:%(localDomain)s)": "Dirección nueva (ej. #foo:%(localDomain)s)",
"New passwords don't match": "Las contraseñas nuevas no coinciden",
"New passwords must match each other.": "Las contraseñas nuevas deben coincidir.",
@@ -259,7 +235,6 @@
"(not supported by this browser)": "(no soportado por este navegador)",
"": "",
"NOT verified": "SIN verificar",
- "No devices with registered encryption keys": "No hay dispositivos con claves de cifrado registradas",
"No display name": "Sin nombre público",
"No more results": "No hay más resultados",
"No results": "No hay resultados",
@@ -270,7 +245,6 @@
"Operation failed": "Falló la operación",
"Password": "Contraseña",
"Passwords can't be empty": "Las contraseñas no pueden estar en blanco",
- "People": "Personas",
"Permissions": "Permisos",
"Phone": "Teléfono",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Por favor, consulta tu correo electrónico y haz clic en el enlace que contiene. Una vez hecho esto, haz clic en continuar.",
@@ -297,7 +271,6 @@
"Room %(roomId)s not visible": "La sala %(roomId)s no está visible",
"Searches DuckDuckGo for results": "Busca resultados en DuckDuckGo",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Mostrar marcas temporales en formato de 12 horas (ej. 2:30pm)",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "La clave de firma que usted ha proporcionado coincide con la recibida del dispositivo %(deviceId)s de %(userId)s. Dispositivo verificado.",
"This email address is already in use": "Esta dirección de correo electrónico ya está en uso",
"This email address was not found": "No se encontró esta dirección de correo electrónico",
"The email address linked to your account must be entered.": "Debes ingresar la dirección de correo electrónico vinculada a tu cuenta.",
@@ -330,7 +303,6 @@
"To get started, please pick a username!": "Para empezar, ¡por favor elija un nombre de usuario!",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Se ha intentado cargar cierto punto en la cronología de esta sala, pero no tiene permiso para ver el mensaje solicitado.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Se ha intentado cargar cierto punto en la cronología de esta sala, pero no se ha podido encontrarlo.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s activó el cifrado de extremo a extremo (algoritmo %(algorithm)s).",
"Unable to add email address": "No es posible añadir la dirección de correo electrónico",
"Unable to create widget.": "No es posible crear el componente.",
"Unable to remove contact information": "No se ha podido eliminar la información de contacto",
@@ -338,13 +310,9 @@
"Unban": "Quitar Veto",
"Unable to capture screen": "No es posible capturar la pantalla",
"Unable to enable Notifications": "No es posible habilitar las Notificaciones",
- "Unable to load device list": "No se ha podido cargar la lista de dispositivos",
- "Undecryptable": "No se puede descifrar",
- "Unencrypted message": "Mensaje sin cifrar",
"unknown caller": "Persona que llama desconocida",
"unknown device": "dispositivo desconocido",
"Unknown room %(roomId)s": "Sala desconocida %(roomId)s",
- "Unknown (user, device) pair:": "Pareja desconocida (usuario, dispositivo):",
"Unnamed Room": "Sala sin nombre",
"Uploading %(filename)s and %(count)s others|zero": "Subiendo %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "Subiendo %(filename)s y otros %(count)s",
@@ -371,10 +339,8 @@
"(no answer)": "(sin respuesta)",
"(unknown failure: %(reason)s)": "(error desconocido: %(reason)s)",
"Warning!": "¡Advertencia!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ADVERTENCIA: Dispositivo ya verificado, ¡pero las claves NO COINCIDEN!",
"Who can access this room?": "¿Quién puede acceder a esta sala?",
"Who can read history?": "¿Quién puede leer el historial?",
- "Who would you like to communicate with?": "¿Con quién te gustaría comunicarte?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s retiró la invitación de %(targetName)s.",
"You are already in a call.": "Ya estás participando en una llamada.",
"You are not in this room.": "No estás en esta sala.",
@@ -389,10 +355,8 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s le quitó el veto a %(targetName)s.",
"unencrypted": "sin cifrar",
"Unmute": "Dejar de silenciar",
- "Unrecognised command:": "Comando no identificado:",
"Unrecognised room alias:": "Alias de sala no reconocido:",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (nivel de permisos %(powerLevelNumber)s)",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ADVERTENCIA: VERIFICACIÓN DE CLAVE FALLO\" La clave de firma para %(userId)s y el dispositivo %(deviceId)s es \"%(fprint)s\" la cual no concuerda con la clave provista por \"%(fingerprint)s\". Esto puede significar que sus comunicaciones están siendo interceptadas!",
"You cannot place VoIP calls in this browser.": "No puedes realizar llamadas VoIP en este navegador.",
"You do not have permission to post to this room": "No tienes permiso para publicar en esta sala",
"You have disabled URL previews by default.": "Ha deshabilitado la vista previa de URL por defecto.",
@@ -402,7 +366,6 @@
"You need to be able to invite users to do that.": "Debes ser capaz de invitar usuarios para realizar esa acción.",
"You need to be logged in.": "Necesitas haber iniciado sesión.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Tu dirección de correo electrónico no parece estar asociada a una ID de Matrix en este Servidor Doméstico.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Su contraseña a sido cambiada exitosamente. No recibirá notificaciones en otros dispositivos hasta que ingrese de nuevo en ellos",
"You seem to be in a call, are you sure you want to quit?": "Parece estar en medio de una llamada, ¿esta seguro que desea salir?",
"You seem to be uploading files, are you sure you want to quit?": "Pareces estar subiendo archivos, ¿seguro que quieres salir?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "No podrás deshacer este cambio porque estás promoviendo al usuario para tener el mismo nivel de autoridad que tú.",
@@ -501,7 +464,6 @@
"Noisy": "Ruidoso",
"Collecting app version information": "Recolectando información de la versión de la aplicación",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "¿Borrar el alias de la sala %(alias)s y eliminar %(name)s del directorio?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Esto te permitirá regresar a tu cuenta después de cerrar sesión, así como iniciar sesión en otros dispositivos.",
"Keywords": "Palabras clave",
"Enable notifications for this account": "Habilitar notificaciones para esta cuenta",
"Invite to this community": "Invitar a esta comunidad",
@@ -589,7 +551,6 @@
"Every page you use in the app": "Cada página que utilizas en la aplicación",
"Your User Agent": "Tu Agente de Usuario",
"Your device resolution": "La resolución de tu dispositivo",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Hay dispositivos desconocidos en esta sala: si continúas sin verificarlos, será posible que alguien escuche tu llamada.",
"Which officially provided instance you are using, if any": "Qué instancia proporcionada oficialmente estás utilizando, si estás utilizando alguna",
"e.g. %(exampleValue)s": "ej. %(exampleValue)s",
"e.g. ": "ej. ",
@@ -620,7 +581,6 @@
"Unignored user": "Usuario no ignorado",
"You are no longer ignoring %(userId)s": "Ya no está ignorando a %(userId)s",
"Opens the Developer Tools dialog": "Abre el diálogo de Herramientas de Desarrollador",
- "Verifies a user, device, and pubkey tuple": "Verifica a un usuario, dispositivo, y tupla de clave pública",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s cambió su nombre público a %(displayName)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s cambió los mensajes con chincheta en la sala.",
"%(widgetName)s widget modified by %(senderName)s": "el widget %(widgetName)s fue modificado por %(senderName)s",
@@ -637,8 +597,6 @@
"Enable URL previews for this room (only affects you)": "Activar vista previa de URL en esta sala (sólo le afecta a ud.)",
"Enable URL previews by default for participants in this room": "Activar vista previa de URL por defecto para los participantes en esta sala",
"Enable widget screenshots on supported widgets": "Activar capturas de pantalla de widget en los widgets soportados",
- "Delete %(count)s devices|other": "Eliminar %(count)s dispositivos",
- "Delete %(count)s devices|one": "Eliminar dispositivo",
"Drop file here to upload": "Soltar aquí el fichero a subir",
" (unsupported)": " (no soportado)",
"Ongoing conference call%(supportedText)s.": "Llamada de conferencia en curso%(supportedText)s.",
@@ -646,11 +604,7 @@
"%(senderName)s sent an image": "%(senderName)s envió una imagen",
"%(senderName)s sent a video": "%(senderName)s envió un vídeo",
"%(senderName)s uploaded a file": "%(senderName)s subió un fichero",
- "Your key share request has been sent - please check your other devices for key share requests.": "Se envió su solicitud para compartir la clave - por favor, compruebe sus otros dispositivos para solicitudes de compartir clave.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Las solicitudes para compartir la clave se envían a sus otros dispositivos automáticamente. Si rechazó o descartó la solicitud en sus otros dispositivos, pulse aquí para solicitar otra vez las claves durante esta sesión.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Si sus otros dispositivos no tienen la clave para este mensaje no podrá descifrarlos.",
"Key request sent.": "Solicitud de clave enviada.",
- "Re-request encryption keys from your other devices.": "Volver a solicitar las claves de cifrado de tus otros dispositivos.",
"Disinvite this user?": "¿Dejar de invitar a este usuario?",
"Kick this user?": "¿Echar a este usuario?",
"Unban this user?": "¿Quitarle el veto a este usuario?",
@@ -666,20 +620,10 @@
"Share Link to User": "Compartir Enlace al Usuario",
"User Options": "Opciones de Usuario",
"Make Moderator": "Convertir a Moderador",
- "bold": "negrita",
- "italic": "cursiva",
- "deleted": "eliminado",
- "underlined": "subrayado",
- "inline-code": "código en línea",
- "block-quote": "cita extensa",
- "bulleted-list": "lista con viñetas",
- "numbered-list": "lista numerada",
"Send an encrypted reply…": "Enviar una respuesta cifrada…",
"Send a reply (unencrypted)…": "Enviar una respuesta (sin cifrar)…",
"Send an encrypted message…": "Enviar un mensaje cifrado…",
"Send a message (unencrypted)…": "Enviar un mensaje (sin cifrar)…",
- "Unable to reply": "No se pudo responder",
- "At this time it is not possible to reply with an emote.": "En este momento no es posible responder con un emoticono.",
"Jump to message": "Ir a mensaje",
"No pinned messages.": "No hay mensajes con chincheta.",
"Loading...": "Cargando...",
@@ -856,11 +800,6 @@
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "La visibilidad de mensajes en Matrix es similar a la del correo electrónico. Que olvidemos tus mensajes implica que los mensajes que hayas enviado no se compartirán con ningún usuario nuevo o no registrado, pero aquellos usuarios registrados que ya tengan acceso a estos mensajes seguirán teniendo acceso a su copia.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Por favor, olvida todos los mensajes enviados al desactivar mi cuenta. (Advertencia: esto provocará que los usuarios futuros vean conversaciones incompletas)",
"To continue, please enter your password:": "Para continuar, ingresa tu contraseña por favor:",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Para verificar que este dispositivo es confiable, por favor contacta a su dueño por algún otro medio (ej. cara a cara o por teléfono) y pregúntale si la clave que ve en sus Ajustes de Usuario para este dispositivo coincide con la clave a continuación:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Si coincide, oprime el botón de verificar a continuación. Si no coincide, entonces alguien más está interceptando este dispositivo y probablemente prefieras oprimir el botón de prohibir.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Añadiste un nuevo dispositivo '%(displayName)s', que está solicitando claves de cifrado.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Tu dispositivo sin verificar '%(displayName)s' está solicitando claves de cifrado.",
- "Loading device info...": "Cargando información del dispositivo...",
"Encryption key request": "Solicitud de clave de cifrado",
"Clear Storage and Sign Out": "Borrar Almacenamiento y Cerrar Sesión",
"Send Logs": "Enviar Registros",
@@ -880,10 +819,6 @@
"Share Room Message": "Compartir el mensaje de la sala",
"Link to selected message": "Enlazar a mensaje seleccionado",
"COPY": "COPIAR",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Está actualmente prohibiendo dispositivos sin verificar; para enviar mensajes a los mismos deber verificarlos.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Le recomendamos que efectúe el proceso de verificación con cada dispositivo para confirmar que pertenecen a su propietario legítimo, pero si lo prefiere puede reenviar el mensaje sin verificar.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contiene dispositivos que no ha visto antes.",
- "Unknown devices": "Dispositivos desconocidos",
"Unable to reject invite": "No se pudo rechazar la invitación",
"Share Message": "Compartir mensaje",
"Collapse Reply Thread": "Colapsar Hilo de Respuestas",
@@ -940,7 +875,6 @@
"Error whilst fetching joined communities": "Error al recuperar las comunidades a las que estás unido",
"Create a new community": "Crear una comunidad nueva",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Crear una comunidad para agrupar usuarios y salas. Construye una página de inicio personalizada para destacarla.",
- "Show devices, send anyway or cancel.": "Mostrar dispositivos, enviar de todos modos o cancelar.",
"You can't send any messages until you review and agree to our terms and conditions.": "No puede enviar ningún mensaje hasta que revise y esté de acuerdo con nuestros términos y condiciones.",
"%(count)s of your messages have not been sent.|one": "No se envió su mensaje.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Reenviar todo o cancelar todo ahora. También puedes seleccionar mensajes individuales para reenviar o cancelar.",
@@ -1022,7 +956,6 @@
"Gets or sets the room topic": "Obtiene o establece el tema de la sala",
"This room has no topic.": "Esta sala no tiene tema.",
"Sets the room name": "Establece el nombre de la sala",
- "Upload profile picture": "Subir imagen de perfil",
"Phone numbers": "Números de teléfono",
"Email addresses": "Correos electrónicos",
"Language and region": "Idioma y región",
@@ -1087,7 +1020,7 @@
"Prompt before sending invites to potentially invalid matrix IDs": "Pedir confirmación antes de enviar invitaciones a IDs de matrix que parezcan inválidos",
"Show developer tools": "Mostrar herramientas de desarrollador",
"Messages containing my username": "Mensajes que contengan mi nombre",
- "Messages containing @room": "Mensajes que contengan @sala",
+ "Messages containing @room": "Mensajes que contengan @room",
"Encrypted messages in one-to-one chats": "Mensajes cifrados en salas 1 a 1",
"Encrypted messages in group chats": "Mensajes cifrados en chats grupales",
"The other party cancelled the verification.": "El otro lado canceló la verificación.",
@@ -1096,7 +1029,6 @@
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Los mensajes seguros con este usuario están cifrados punto a punto y no es posible que los lean otros.",
"Verify this user by confirming the following number appears on their screen.": "Verifica a este usuario confirmando que este número aparece en su pantalla.",
"Unable to find a supported verification method.": "No es posible encontrar un método de verificación soportado.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Para mayor seguridad, recomendamos que hagas esto en persona o uses otro medio de comunicación fiables.",
"Dog": "Perro",
"Cat": "Gato",
"Lion": "León",
@@ -1142,7 +1074,6 @@
"Book": "Libro",
"Pencil": "Lápiz",
"Paperclip": "Clip",
- "Padlock": "Candado",
"Key": "Llave",
"Hammer": "Martillo",
"Telephone": "Teléfono",
@@ -1160,7 +1091,6 @@
"Headphones": "Auriculares",
"Folder": "Carpeta",
"Pin": "Pin",
- "Your homeserver does not support device management.": "Tu servidor doméstico no soporta gestión de dispositivos.",
"Yes": "Sí",
"No": "No",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Te hemos enviado un mensaje para verificar tu dirección de correo. Por favor, sigue las instrucciones y después haz clic el botón de abajo.",
@@ -1170,18 +1100,11 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Los mensajes cifrados son seguros con el cifrado punto a punto. Solo tú y el/los destinatario/s tiene/n las claves para leer estos mensajes.",
"Unable to load key backup status": "No se pudo cargar el estado de la copia de la clave",
"Restore from Backup": "Restaurar desde copia",
- "This device is backing up your keys. ": "Este dispositivo está haciendo copia de tus claves. ",
"Back up your keys before signing out to avoid losing them.": "Haz copia de tus claves antes de salir para evitar perderlas.",
"Backing up %(sessionsRemaining)s keys...": "Haciendo copia de %(sessionsRemaining)s claves...",
"All keys backed up": "Se han copiado todas las claves",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "La copia tiene una firma de un dispositivo desconocido con ID %(deviceId)s.",
- "Backup has a valid signature from this device": "La copia tiene una firma válida desde este dispositivo",
- "Backup has a valid signature from verified device ": "La copia tiene una firma válida desde el dispositivoverificado",
- "Backup is not signed by any of your devices": "La copia no está firmada por ninguno de tus dispositivos",
- "This backup is trusted because it has been restored on this device": "Se confía en la copia porque se ha restaurado en este dispositivo",
"Backup version: ": "Versión de la copia: ",
"Algorithm: ": "Algoritmo: ",
- "Your keys are not being backed up from this device.": "Tus claves no se está copiando desde este dispositivo.",
"Start using Key Backup": "Comenzar a usar la copia de claves",
"Add an email address to configure email notifications": "Añade una dirección para configurar las notificaciones por correo",
"Unable to verify phone number.": "No se pudo verificar el número de teléfono.",
@@ -1219,10 +1142,6 @@
"Key backup": "Copia de clave",
"Missing media permissions, click the button below to request.": "No hay permisos de medios, haz clic abajo para pedirlos.",
"Request media permissions": "Pedir permisos de los medios",
- "Some devices for this user are not trusted": "Algunos dispositivos de este usuario no son confiables",
- "Some devices in this encrypted room are not trusted": "Algunos dispositivos de esta sala cifrada no son confiables",
- "All devices for this user are trusted": "Todos los dispositivos de este usuario son confiables",
- "All devices in this encrypted room are trusted": "Todos los dispositivos para esta sala cifrada con confiables",
"Never lose encrypted messages": "Nunca perder mensajes cifrados",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Los mensajes en esta sala están cifrados de extremo a extremo. Solo tu y el/los destinatario/s tiene/n las claves para leer estos mensajes.",
"Securely back up your keys to avoid losing them. Learn more.": "Haz copia de manera segura de tus claves para evitar perderlas. Lee más.",
@@ -1231,8 +1150,6 @@
"Add some now": "Añadir algunos ahora",
"Main address": "Dirección principal",
"Room avatar": "Avatar de la sala",
- "Upload room avatar": "Subir avatar de la sala",
- "No room avatar": "Sin avatar de la sala",
"Room Name": "Nombre de sala",
"Failed to load group members": "No se pudieron cargar los miembros del grupo",
"Join": "Unirse",
@@ -1255,7 +1172,6 @@
"Waiting for %(userId)s to confirm...": "Esperando a que confirme %(userId)s...",
"Use two-way text verification": "Usar verificación de texto en dos sentidos",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifica ese usuario para marcar como confiable. Confiar en usuarios aporta mucha tranquilidad en los mensajes cifrados de extremo a extremo.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Verificar a este usuario lo marcará como confiable, y también marca tu dispositivo como fiable para él.",
"Waiting for partner to confirm...": "Esperando que confirme el compañero...",
"Incoming Verification Request": "Petición de verificación entrante",
"%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s cambió la regla para unirse a %(rule)s",
@@ -1263,23 +1179,17 @@
"Use a longer keyboard pattern with more turns": "Usa un patrón de tecleo más largo y con más vueltas",
"Enable Community Filter Panel": "Habilitar el Panel de Filtro de Comunidad",
"Verify this user by confirming the following emoji appear on their screen.": "Verifica este usuario confirmando que los siguientes emojis aparecen en su pantalla.",
- "Backup has a valid signature from unverified device ": "La copia tiene una firma válida de un dispositivono verificado",
"Your Riot is misconfigured": "Riot tiene un error de configuración",
"Whether or not you're logged in (we don't record your username)": "Hayas o no iniciado sesión (no guardamos tu nombre de usuario)",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Uses o no los 'breadcrumbs' (iconos sobre la lista de salas)",
- "A conference call could not be started because the integrations server is not available": "No se puede iniciar la llamada porque no hay servidor de integraciones disponible.",
+ "A conference call could not be started because the integrations server is not available": "No se pudo iniciar la conferencia porque el servidor de integraciones no está disponible",
"Replying With Files": "Respondiendo con archivos",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "En este momento no es posible responder con un archivo. ¿Te gustaría subir el archivo sin responder?",
"The file '%(fileName)s' failed to upload.": "Falló en subir el archivo '%(fileName)s'.",
"The server does not support the room version specified.": "El servidor no soporta la versión de sala especificada.",
- "Name or Matrix ID": "Nombre o identificador (ID) Matrix ",
- "Email, name or Matrix ID": "Correo, nombre o identificador (ID) Matrix.",
- "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Pone ¯\\_(ツ)_/¯ al principio de un mensaje de texto.",
- "Upgrading a room can be destructive and isn't always necessary.": "Actualizar una sala podría dañarla y no siempre es necesario.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Se recomienda actualizar una sala cuando su versión es considerada inestable. Las versiones de sala inestables pueden tener bugs, menos funcionalidades o problemas de seguridad.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Las actualizaciones de sala normalmente sólo afectan a la sala en el lado del servidor. Si tienes problema con tu cliente, por favor comunica el problema en .",
+ "Name or Matrix ID": "Nombre o Matrix ID",
+ "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Añade ¯\\_(ツ)_/¯ al principio de un mensaje de texto plano",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Aviso: Actualizar una sala no migrará automáticamente a sus miembros a la nueva versión de la sala. Incluiremos un enlace a la nueva sala en la versión antigüa de la misma - los miembros tendrán que seguir ese enlace para unirse a la nueva sala.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Por favor confirma que quieres continuar con la actualización de la sala de a .",
"Changes your display nickname in the current room only": "Cambia tu apodo sólo en la sala actual",
"Changes your avatar in this current room only": "Cambia tu avatar sólo en la sala actual",
"Changes your avatar in all rooms": "Cambia tu avatar en todas las salas",
@@ -1292,22 +1202,22 @@
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s ha habilitado las insignias para %(newGroups)s y las ha deshabilitado para %(oldGroups)s en esta sala.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s ha revocado la invitación para que %(targetDisplayName)s se una a la sala.",
"Cannot reach homeserver": "No se puede conectar con el servidor",
- "Ensure you have a stable internet connection, or get in touch with the server admin": "Asegúrate de tener conexión a internet, o contacta con el administrador del servidor.",
- "Ask your Riot admin to check your config for incorrect or duplicate entries.": "Solicita al administrador de Riot que compruebe tu configuración por si hubiera errores o entradas duplicadas.",
+ "Ensure you have a stable internet connection, or get in touch with the server admin": "Asegúrate de tener conexión a internet, o contacta con el administrador del servidor",
+ "Ask your Riot admin to check your config for incorrect or duplicate entries.": "Solicita al administrador de Riot que compruebe si hay entradas duplicadas o erróneas en tu configuración.",
"Cannot reach identity server": "No se puede conectar con el servidor de identidad",
"You can register, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Te puedes registrar, pero algunas funcionalidades no estarán disponibles hasta que se pueda conectar con el servidor de identidad. Si continúas viendo este aviso, comprueba tu configuración o contacta con el administrador del servidor.",
"You can reset your password, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Puedes cambiar tu contraseña, pero algunas funcionalidades no estarán disponibles hasta que el servidor de identidad esté disponible. Si continúas viendo este aviso, comprueba tu configuración o contacta con el administrador del servidor.",
"You can log in, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Puedes iniciar sesión, pero algunas funcionalidades no estarán disponibles hasta que el servidor de identidad esté disponible. Si continúas viendo este mensaje, comprueba tu configuración o contacta con el administrador del servidor.",
- "No homeserver URL provided": "No se ha indicado la URL del servidor.",
+ "No homeserver URL provided": "No se ha indicado la URL del servidor",
"Unexpected error resolving homeserver configuration": "Error inesperado en la configuración del servidor",
"Unexpected error resolving identity server configuration": "Error inesperado en la configuración del servidor de identidad",
"User %(userId)s is already in the room": "El usuario %(userId)s ya está en la sala",
"The user must be unbanned before they can be invited.": "El usuario debe ser desbloqueado antes de poder ser invitado.",
"The user's homeserver does not support the version of the room.": "El servidor del usuario no soporta la versión de la sala.",
- "Show read receipts sent by other users": "Mostrar las confirmaciones de lectura de otros usuarios.",
+ "Show read receipts sent by other users": "Mostrar las confirmaciones de lectura enviadas por otros usuarios",
"Order rooms in the room list by most important first instead of most recent": "Ordenar la lista de salas por importancia en vez de por reciente",
"Show recently visited rooms above the room list": "Mostrar salas visitadas recientemente sobre la lista de salas",
- "Show hidden events in timeline": "Mostrar eventos ocultos en la línea del tiempo.",
+ "Show hidden events in timeline": "Mostrar eventos ocultos en la línea de tiempo",
"Low bandwidth mode": "Modo de ancho de banda bajo",
"Got It": "Entendido",
"Scissors": "Tijeras",
@@ -1315,7 +1225,6 @@
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Por favor pídele al administrador de tu servidor doméstico (%(homeserverDomain)s) que configure un servidor TURN para que las llamadas funcionen correctamente.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Alternativamente, puedes tratar de usar el servidor público en turn.matrix.org, pero éste no será igual de confiable, y compartirá tu dirección IP con ese servidor. También puedes administrar esto en Ajustes.",
"Try using turn.matrix.org": "Trata de usar turn.matrix.org",
- "Failed to start chat": "Error al iniciar el chat",
"Messages": "Mensajes",
"Actions": "Acciones",
"Other": "Otros",
@@ -1330,7 +1239,6 @@
"You cannot modify widgets in this room.": "No puedes modificar widgets en esta sala.",
"Displays list of commands with usages and descriptions": "Muestra lista de comandos con usos y descripciones",
"Multiple integration managers": "Administradores de integración múltiples",
- "Room upgrade confirmation": "Confirmación de actualización de sala",
"Add Email Address": "Añadir dirección de correo",
"Add Phone Number": "Añadir número de teléfono",
"Identity server has no terms of service": "El servidor de identidad no tiene términos de servicio",
@@ -1346,10 +1254,7 @@
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s hizo una llamada de vídeo (no soportada por este navegador)",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Try out new ways to ignore people (experimental)": "Pruebe nuevas formas de ignorar a usuarios (experimental)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Envíe solicitudes de verificación por mensaje directo, con una nueva interfaz de verificación en el panel de miembros.",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Active la firma cruzada para verificar usuarios en vez de dispositivos (en desarrollo)",
"Enable local event indexing and E2EE search (requires restart)": "Active el indexado de eventos locales y la búsqueda E2EE (necesita reiniciar)",
- "Use the new, faster, composer for writing messages": "Escriba mensajes con el nuevo y mejorado compositor",
"Match system theme": "Usar el tema del sistema",
"Show previews/thumbnails for images": "Mostrar vistas previas para las imágenes",
"When rooms are upgraded": "Cuando se mejoran las salas",
@@ -1370,5 +1275,266 @@
"Unread messages.": "Mensajes sin leer.",
"Jump to first unread room.": "Saltar a la primera sala sin leer.",
"You have %(count)s unread notifications in a prior version of this room.|other": "Tiene %(count)s notificaciones sin leer en una versión anterior de esta sala.",
- "You have %(count)s unread notifications in a prior version of this room.|one": "Tiene %(count)s notificaciones sin leer en una versión anterior de esta sala."
+ "You have %(count)s unread notifications in a prior version of this room.|one": "Tiene %(count)s notificaciones sin leer en una versión anterior de esta sala.",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Hay sesiones desconocidas en esta sala: si continúas sin verificarlas, será posible que alguien escuche secretamente tu llamada.",
+ "Setting up keys": "Configurando claves",
+ "Verify this session": "Verificar esta sesión",
+ "Encryption upgrade available": "Mejora de encriptación disponible",
+ "Set up encryption": "Configurar la encriptación",
+ "Unverified session": "Sesión sin verificar",
+ "Verifies a user, session, and pubkey tuple": "Verifica a un usuario, sesión y tupla de clave pública",
+ "Unknown (user, session) pair:": "Par (usuario, sesión) desconocido:",
+ "Session already verified!": "¡La sesión ya ha sido verificada!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ATENCIÓN: ¡La sesión ya ha sido verificada, pero las claves NO CONCUERDAN!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "¡ATENCIÓN: LA VERIFICACIÓN DE LA CLAVE HA FALLADO! La clave de firma para %(userId)s y sesión %(deviceId)s es \"%(fprint)s\", la cual no coincide con la clave proporcionada \"%(fingerprint)s\". ¡Esto podría significar que tus comunicaciones están siendo interceptadas!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "La clave de firma que proporcionaste coincide con la clave de firma que recibiste de la sesión %(deviceId)s de %(userId)s. Sesión marcada como verificada.",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s añadió %(addedAddresses)s y %(count)s otras direcciones a esta sala",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s eliminó %(removedAddresses)s y %(count)s otras direcciones de esta sala",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s eliminó %(countRemoved)s y añadió %(countAdded)s direcciones a esta sala",
+ "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s eliminó la regla que bloquea a usuarios que coinciden con %(glob)s",
+ "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s eliminó la regla que bloquea a salas que coinciden con %(glob)s",
+ "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s eliminó la regla que bloquea a servidores que coinciden con %(glob)s",
+ "%(senderName)s removed a ban rule matching %(glob)s": "%(senderName)s eliminó una regla correspondiente a %(glob)s",
+ "%(senderName)s updated an invalid ban rule": "%(senderName)s actualizó una regla de bloqueo inválida",
+ "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s actualizó una regla que bloquea a usuarios que coinciden con %(glob)s por %(reason)s",
+ "They match": "Coinciden",
+ "They don't match": "No coinciden",
+ "To be secure, do this in person or use a trusted way to communicate.": "Para ser seguro, haz esto en persona o usando una forma de comunicación de confianza.",
+ "Lock": "Bloquear",
+ "Verify yourself & others to keep your chats safe": "Verifícate y verifica a otros para mantener tus conversaciones seguras",
+ "Other users may not trust it": "Puede que otros usuarios no confíen en ello",
+ "Upgrade": "Actualizar",
+ "Verify": "Verificar",
+ "Later": "Más tarde",
+ "Upload": "Subir",
+ "Workspace: %(networkName)s": "Espacio de trabajo: %(networkName)s",
+ "Channel: %(channelName)s": "Canal: %(channelName)s",
+ "Show less": "Mostrar menos",
+ "Show more": "Mostrar más",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Cambiar la contraseña reiniciará cualquier clave de encriptación end-to-end en todas las sesiones, haciendo el historial de conversaciones encriptado ilegible, a no ser que primero exportes tus claves de sala y después las reimportes. En un futuro esto será mejorado.",
+ "in memory": "en memoria",
+ "not found": "no encontrado",
+ "Identity Server (%(server)s)": "Servidor de Identidad %(server)s",
+ "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "Estás usando actualmente para descubrir y ser descubierto por contactos existentes que conoces. Puedes cambiar tu servidor de identidad más abajo.",
+ "If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Si no quieres usar para descubrir y ser descubierto por contactos existentes que conoces, introduce otro servidor de identidad más abajo.",
+ "Identity Server": "Servidor de Identidad",
+ "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "No estás usando actualmente un servidor de identidad. Para descubrir y ser descubierto por contactos existentes que conoces, introduce uno más abajo.",
+ "Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Desconectarte de tu servidor de identidad significa que no podrás ser descubierto por otros usuarios y no podrás invitar a otros por email o teléfono.",
+ "Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Usar un servidor de identidad es opcional. Si eliges no usar un servidor de identidad, no podrás ser descubierto por otros usuarios y no podrás invitar a otros por email o teléfono.",
+ "Do not use an identity server": "No usar un servidor de identidad",
+ "Enter a new identity server": "Introducir un servidor de identidad nuevo",
+ "Change": "Cambiar",
+ "Manage integrations": "Administrar integraciones",
+ "Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Los administradores de integración reciben datos de configuración, y pueden modificar widgets, enviar invitaciones de sala, y establecer niveles de poder en tu nombre.",
+ "Something went wrong trying to invite the users.": "Algo salió mal al intentar invitar a los usuarios.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "No se pudo invitar a esos usuarios. Por favor, revisa los usuarios que quieres invitar e inténtalo de nuevo.",
+ "Failed to find the following users": "No se encontró a los siguientes usuarios",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Puede que los siguientes usuarios no existan o sean inválidos, y no pueden ser invitados: %(csvNames)s",
+ "Recent Conversations": "Conversaciones recientes",
+ "Suggestions": "Sugerencias",
+ "Recently Direct Messaged": "Enviado Mensaje Directo recientemente",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Si no encuentras a alguien, pídele su usuario, comparte tu usuario (%(userId)s) o enlace de perfil.",
+ "Go": "Ir",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Si no encuentras a alguien, pídele su usuario (p.ej. @user:server.com) o comparte esta sala.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Has añadido una nueva sesión '%(displayName)s', la cual está pidiendo claves de encriptación.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Tu sesión no verificada '%(displayName)s' esta pidiendo claves de encriptación.",
+ "Loading session info...": "Cargando información de sesión...",
+ "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Has usado Riot anteriormente en %(host)s con carga diferida de usuarios habilitada. En esta versión la carga diferida está deshabilitada. Como el caché local no es compatible entre estas dos configuraciones, Riot necesita resincronizar tu cuenta.",
+ "If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Si la otra versión de Riot esta todavía abierta en otra pestaña, por favor, ciérrala, ya que usar Riot en el mismo host con la opción de carga diferida habilitada y deshabilitada simultáneamente causará problemas.",
+ "Incompatible local cache": "Caché local incompatible",
+ "Clear cache and resync": "Limpiar la caché y resincronizar",
+ "I don't want my encrypted messages": "No quiero mis mensajes cifrados",
+ "Manually export keys": "Exportar claves manualmente",
+ "You'll lose access to your encrypted messages": "Perderás acceso a tus mensajes encriptados",
+ "Are you sure you want to sign out?": "¿Estás seguro de que quieres salir?",
+ "Message edits": "Ediciones del mensaje",
+ "New session": "Nueva sesión",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Usa esta sesión para verificar tu nueva sesión, dándola acceso a mensajes encriptados:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Si no te conectaste a esta sesión, es posible que tu cuenta haya sido comprometida.",
+ "This wasn't me": "No fui yo",
+ "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Si encuentras algún error o quieres compartir una opinión, por favor, contacta con nosotros en GitHub.",
+ "Report bugs & give feedback": "Reportar errores y compartir mi opinión",
+ "Please fill why you're reporting.": "Por favor, explica por qué estás reportando.",
+ "Report Content to Your Homeserver Administrator": "Reportar contenido a tu administrador del homeserver",
+ "Send report": "Enviar reporte",
+ "Room Settings - %(roomName)s": "Configuración de la sala - %(roomName)s",
+ "Upgrading this room requires closing down the current instance of the room and creating a new room in its place. To give room members the best possible experience, we will:": "Actualizar esta sala requiere cerrar la instancia actual de esta sala y crear una nueva sala en su lugar. Para dar a los miembros de la sala la mejor experiencia, haremos lo siguiente:",
+ "Automatically invite users": "Invitar a usuarios automáticamente",
+ "Upgrade private room": "Actualizar sala privada",
+ "Upgrade public room": "Actualizar sala pública",
+ "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Actualizar una sala es una acción avanzada y es normalmente recomendada cuando una sala es inestable debido a fallos, funcionalidades no disponibles y vulnerabilidades.",
+ "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Esto solo afecta a como la sala es procesada en el servidor. Si estás teniendo problemas con tu Riot, por favorreporta un fallo.",
+ "You'll upgrade this room from to .": "Actualizarás esta sala de a .",
+ "Sign out and remove encryption keys?": "¿Salir y borrar las claves de encriptación?",
+ "A username can only contain lower case letters, numbers and '=_-./'": "Un nombre de usuario solo puede contener letras minúsculas, números y '=_-./'",
+ "Checking...": "Comprobando...",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Esto te permitirá volver a tu cuenta después de desconectarte, y conectarte en otras sesiones.",
+ "To help us prevent this in future, please send us logs.": "Para ayudarnos a prevenir esto en el futuro, por favor, envíanos logs.",
+ "Missing session data": "Faltan datos de sesión",
+ "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Algunos datos de sesión, incluyendo claves de mensaje encriptadas, no se encuentran. Desconéctate y vuelve a conectarte para solucionarlo, reestableciendo las claves desde el backup.",
+ "Your browser likely removed this data when running low on disk space.": "Tu navegador probablemente borró estos datos cuando tenía poco espacio de disco.",
+ "Find others by phone or email": "Encontrar a otros por teléfono o email",
+ "Be found by phone or email": "Ser encontrado por teléfono o email",
+ "Use bots, bridges, widgets and sticker packs": "Usar robots, puentes, widgets, o packs de pegatinas",
+ "Terms of Service": "Términos de servicio",
+ "To continue you need to accept the terms of this service.": "Para continuar necesitas aceptar estos términos de servicio.",
+ "Service": "Servicio",
+ "Summary": "Resumen",
+ "Document": "Documento",
+ "Next": "Siguiente",
+ "Room contains unknown sessions": "La sala contiene sesiones desconocidas",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" contiene sesiones que no has visto antes.",
+ "Unknown sessions": "Sesiones desconocidas",
+ "Upload files (%(current)s of %(total)s)": "Subir archivos (%(current)s de %(total)s)",
+ "Upload files": "Subir archivos",
+ "Upload all": "Subir todo",
+ "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Este archivo es demasiado grande para subirse. El limite de tamaño de archivo es %(limit)s pero el archivo es %(sizeOfThisFile)s.",
+ "These files are too large to upload. The file size limit is %(limit)s.": "Estos archivos son demasiado grandes para ser subidos. El límite de tamaño de archivos es %(limit)s.",
+ "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Algunos archivos son demasiado grandes para ser subidos. El límite de tamaño de archivos es %(limit)s.",
+ "Upload %(count)s other files|other": "Subir %(count)s otros archivos",
+ "Upload %(count)s other files|one": "Subir %(count)s otro archivo",
+ "Cancel All": "Cancelar todo",
+ "Upload Error": "Error de subida",
+ "A widget would like to verify your identity": "Un widget quisiera verificar tu identidad",
+ "Remember my selection for this widget": "Recordar mi selección para este widget",
+ "Deny": "Rechazar",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Tu contraseña ha sido cambiada satisfactoriamente. No recibirás notificaciones push en otras sesiones hasta que te conectes de nuevo a ellas",
+ "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Aceptar los Términos de Servicio del servidor de identidad %(serverName)s para poder ser descubierto por dirección de email o número de teléfono.",
+ "Discovery": "Descubrimiento",
+ "Deactivate account": "Desactivar cuenta",
+ "Clear cache and reload": "Limpiar caché y recargar",
+ "Ignored/Blocked": "Ignorado/Bloqueado",
+ "Error adding ignored user/server": "Error al añadir usuario/servidor ignorado",
+ "Error subscribing to list": "Error al suscribirse a la lista",
+ "Please verify the room ID or alias and try again.": "Por favor, verifica el ID de la sala o el alias e inténtalo de nuevo.",
+ "Error removing ignored user/server": "Error al eliminar usuario/servidor ignorado",
+ "Error unsubscribing from list": "Error al cancelar la suscripción a la lista",
+ "None": "Ninguno",
+ "Server rules": "Reglas del servidor",
+ "User rules": "Reglas de usuario",
+ "You have not ignored anyone.": "No has ignorado a nadie.",
+ "You are currently ignoring:": "Estás ignorando actualmente:",
+ "You are not subscribed to any lists": "No estás suscrito a ninguna lista",
+ "Unsubscribe": "Desuscribirse",
+ "View rules": "Ver reglas",
+ "You are currently subscribed to:": "Estás actualmente suscrito a:",
+ "⚠ These settings are meant for advanced users.": "⚠ Estas opciones son indicadas para usuarios avanzados.",
+ "Personal ban list": "Lista de bloqueo personal",
+ "Server or user ID to ignore": "Servidor o ID de usuario a ignorar",
+ "eg: @bot:* or example.org": "p. ej.: @bot:* o ejemplo.org",
+ "The version of Riot": "La version de Riot",
+ "Your user agent": "Tu agente de usuario",
+ "The information being sent to us to help make Riot better includes:": "La información que se nos envía para ayudarnos a mejorar Riot incluye:",
+ "If you cancel now, you won't complete verifying the other user.": "Si cancelas ahora, no completarás la verificación del otro usuario.",
+ "If you cancel now, you won't complete verifying your other session.": "Si cancelas ahora, no completarás la verificación de tu otra sesión.",
+ "If you cancel now, you won't complete your secret storage operation.": "Si cancelas ahora, no completarás tu operación de almacén secreto.",
+ "Cancel entering passphrase?": "¿Cancelar la introducción de frase de contraseña?",
+ "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s actualizó la regla bloqueando salas que coinciden con %(glob)s por %(reason)s",
+ "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s actualizó la regla bloqueando servidores que coinciden con %(glob)s por %(reason)s",
+ "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s actualizó una regla de bloqueo correspondiente a %(glob)s por %(reason)s",
+ "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s creó una regla bloqueando a usuarios que coinciden con %(glob)s por %(reason)s",
+ "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s creó una regla bloqueando a salas que coinciden con %(glob)s por %(reason)s",
+ "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s creó una regla bloqueando a servidores que coinciden con %(glob)s por %(reason)s",
+ "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s creó una regla de bloqueo correspondiente a %(glob)s por %(reason)s",
+ "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s cambió una regla que estaba bloqueando a usuarios que coinciden con %(oldGlob)s a %(newGlob)s por %(reason)s",
+ "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s cambió una regla que estaba bloqueando a salas que coinciden con %(oldGlob)s a %(newGlob)s por %(reason)s",
+ "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s cambió una regla que estaba bloqueando a servidores que coinciden con %(oldGlob)s a %(newGlob)s por %(reason)s",
+ "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s actualizó una regla de bloqueo que correspondía a %(oldGlob)s a %(newGlob)s por %(reason)s",
+ "The message you are trying to send is too large.": "El mensaje que estás intentando enviar es demasiado largo.",
+ "a few seconds ago": "hace unos segundos",
+ "about a minute ago": "hace un minuto",
+ "%(num)s minutes ago": "hace %(num)s minutos",
+ "about an hour ago": "hace una hora",
+ "%(num)s hours ago": "hace %(num)s horas",
+ "about a day ago": "hace un día",
+ "%(num)s days ago": "hace %(num)s días",
+ "a few seconds from now": "dentro de unos segundos",
+ "about a minute from now": "dentro de un minuto",
+ "%(num)s minutes from now": "dentro de %(num)s minutos",
+ "about an hour from now": "dentro de una hora",
+ "%(num)s hours from now": "dentro de %(num)s horas",
+ "about a day from now": "dentro de un día",
+ "%(num)s days from now": "dentro de %(num)s días",
+ "Show typing notifications": "Mostrar notificaciones de escritura",
+ "Never send encrypted messages to unverified sessions from this session": "No enviar nunca mensajes cifrados a sesiones sin verificar desde esta sesión",
+ "Never send encrypted messages to unverified sessions in this room from this session": "No enviar nunca mensajes cifrados a sesiones sin verificar en esta sala desde esta sesión",
+ "Enable message search in encrypted rooms": "Habilitar la búsqueda de mensajes en salas cifradas",
+ "Keep secret storage passphrase in memory for this session": "Mantener la frase de contraseña en memoria para esta sesión",
+ "How fast should messages be downloaded.": "Con qué rapidez deben ser descargados los mensajes.",
+ "Verify this session by completing one of the following:": "Verifica esta sesión completando uno de los siguientes:",
+ "Scan this unique code": "Escanea este código único",
+ "or": "o",
+ "Compare unique emoji": "Comparar emoji único",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Comparar un conjunto de emojis si no tienes cámara en ninguno de los dispositivos",
+ "Start": "Comenzar",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Confirma que los emojis a continuación son mostrados en ambos dispositivos, en el mismo orden:",
+ "Verify this device by confirming the following number appears on its screen.": "Verifica este dispositivo confirmando que el siguiente número aparece en su pantalla.",
+ "Waiting for %(displayName)s to verify…": "Esperando la verificación de %(displayName)s …",
+ "Review": "Revisar",
+ "in secret storage": "en almacén secreto",
+ "Secret storage public key:": "Clave pública del almacén secreto:",
+ "in account data": "en datos de cuenta",
+ "Unable to load session list": "No se pudo cargar la lista de sesiones",
+ "Delete %(count)s sessions|other": "Borrar %(count)s sesiones",
+ "Delete %(count)s sessions|one": "Borrar %(count)s sesión",
+ "rooms.": "salas.",
+ "Manage": "Administrar",
+ "Enable": "Activar",
+ "This session is backing up your keys. ": "Esta sesión está haciendo una copia de seguridad de tus claves. ",
+ "not stored": "no almacenado",
+ "Message search": "Busqueda de mensajes",
+ "Sessions": "Sesiones",
+ "Upgrade this room to the recommended room version": "Actualizar esta sala a la versión de sala recomendada",
+ "this room": "esta sala",
+ "View older messages in %(roomName)s.": "Ver mensajes más antiguos en %(roomName)s.",
+ "Sounds": "Sonidos",
+ "Notification sound": "Sonido de notificación",
+ "Set a new custom sound": "Usar un nuevo sonido personalizado",
+ "Browse": "Navegar",
+ "Change room avatar": "Cambiar avatar de sala",
+ "Change room name": "Cambiar nombre de sala",
+ "Change main address for the room": "Cambiar dirección principal para la sala",
+ "Change history visibility": "Cambiar visibilidad del historial",
+ "Change permissions": "Cambiar permisos",
+ "Change topic": "Cambiar tema",
+ "Upgrade the room": "Actualizar la sala",
+ "Enable room encryption": "Activar el cifrado de sala",
+ "Modify widgets": "Modificar widgets",
+ "Error changing power level requirement": "Error al cambiar el requerimiento de nivel de poder",
+ "An error occurred changing the room's power level requirements. Ensure you have sufficient permissions and try again.": "Ocurrió un error cambiando los requerimientos de nivel de poder de la sala. Asegúrate de tener los permisos suficientes e inténtalo de nuevo.",
+ "Error changing power level": "Error al cambiar nivel de poder",
+ "An error occurred changing the user's power level. Ensure you have sufficient permissions and try again.": "Ocurrió un error cambiando los requerimientos de nivel de poder del usuario. Asegúrate de tener los permisos suficientes e inténtalo de nuevo.",
+ "Default role": "Rol por defecto",
+ "Send messages": "Enviar mensajes",
+ "Invite users": "Invitar usuarios",
+ "Change settings": "Cambiar la configuración",
+ "Kick users": "Echar a usuarios",
+ "Ban users": "Bloquear a usuarios",
+ "Remove messages": "Eliminar mensajes",
+ "Notify everyone": "Notificar a todos",
+ "Send %(eventType)s events": "Enviar eventos %(eventType)s",
+ "Select the roles required to change various parts of the room": "Selecciona los roles requeridos para cambiar varias partes de la sala",
+ "Enable encryption?": "¿Habilitar cifrado?",
+ "Your email address hasn't been verified yet": "Tu dirección de email no ha sido verificada",
+ "Verify the link in your inbox": "Verifica el enlace en tu bandeja de entrada",
+ "Complete": "Completar",
+ "Share": "Compartir",
+ "Remove %(email)s?": "¿Eliminar %(email)s?",
+ "Backup is not signed by any of your sessions": "La copia de seguridad no está firmada por ninguna de tus sesiones",
+ "This backup is trusted because it has been restored on this session": "Esta copia de seguridad es de confianza porque ha sido restaurada en esta sesión",
+ "Backup key stored: ": "Clave de seguridad almacenada: ",
+ "Your keys are not being backed up from this session.": "No se está haciendo una copia de seguridad de tus claves en esta sesión.",
+ "Clear notifications": "Limpiar notificaciones",
+ "Enable desktop notifications for this session": "Habilitar notificaciones de escritorio para esta sesión",
+ "Enable audible notifications for this session": "Habilitar notificaciones sonoras para esta sesión",
+ "Checking server": "Comprobando servidor",
+ "Change identity server": "Cambiar servidor de identidad",
+ "Disconnect from the identity server and connect to instead?": "¿Desconectarse del servidor de identidad y conectarse a ?",
+ "Terms of service not accepted or the identity server is invalid.": "Términos de servicio no aceptados o el servidor de identidad es inválido.",
+ "The identity server you have chosen does not have any terms of service.": "El servidor de identidad que has elegido no tiene ningún término de servicio.",
+ "Disconnect identity server": "Desconectar servidor de identidad",
+ "Disconnect from the identity server ?": "¿Desconectarse del servidor de identidad ?",
+ "Disconnect": "Desconectarse",
+ "You should:": "Deberías:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s de %(totalRooms)s"
}
diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json
index 11904a95f0..5610493999 100644
--- a/src/i18n/strings/eu.json
+++ b/src/i18n/strings/eu.json
@@ -28,7 +28,6 @@
"Sign out": "Amaitu saioa",
"Home": "Hasiera",
"Favourites": "Gogokoak",
- "People": "Jendea",
"Rooms": "Gelak",
"Invites": "Gonbidapenak",
"Low priority": "Lehentasun baxua",
@@ -61,7 +60,6 @@
"Phone": "Telefonoa",
"Advanced": "Aurreratua",
"Cryptography": "Kriptografia",
- "Devices": "Gailuak",
"Always show message timestamps": "Erakutsi beti mezuen denbora-zigilua",
"Name": "Izena",
"Last seen": "Azkenekoz ikusia",
@@ -80,7 +78,6 @@
"Banned users": "Debekatutako erabiltzaileak",
"Labs": "Laborategia",
"This room has no local addresses": "Gela honek ez du tokiko helbiderik",
- "Invalid alias format": "Ezizenaren formatu baliogabea",
"End-to-end encryption information": "Muturretik muturrerako zifratzearen informazioa",
"Event information": "Gertaeraren informazioa",
"Curve25519 identity key": "Curve25519 identitate gakoa",
@@ -88,10 +85,7 @@
"Algorithm": "Algoritmoa",
"Session ID": "Saioaren IDa",
"Decryption error": "Deszifratze errorea",
- "Sender device information": "Igorlearen gailuaren informazioa",
- "Device name": "Gailuaren izena",
"Device ID": "Gailuaren IDa",
- "Device key": "Gailuaren gakoa",
"Verification": "Egiaztaketa",
"Ed25519 fingerprint": "Ed25519 hatz-marka",
"Export E2E room keys": "Esportatu E2E geletako gakoak",
@@ -102,19 +96,15 @@
"Import E2E room keys": "Inportatu E2E geletako gakoak",
"Import room keys": "Inportatu gelako gakoak",
"Import": "Inportatu",
- "Never send encrypted messages to unverified devices from this device": "Ez bidali inoiz zifratutako mezuak egiaztatu gabeko gailuetara gailu honetatik",
"Blacklisted": "Blokeatuta",
"unknown device": "gailu ezezaguna",
"Unverify": "Kendu egiaztaketa",
"Blacklist": "Blokeatu",
"Unblacklist": "Desblokeatu",
- "Verify device": "Egiaztatu gailua",
"I verify that the keys match": "Gakoak bat datozela egiaztatu dut",
- "Room contains unknown devices": "Gelan gailu ezezagunak daude",
"Someone": "Norbait",
"Start a chat": "Hasi txat bat",
"Start authentication": "Hasi autentifikazioa",
- "Start Chat": "Hasi txata",
"Success": "Arrakasta",
"For security, this session has been signed out. Please sign in again.": "Segurtasunagatik saio hau amaitu da. Hasi saioa berriro.",
"Guests cannot join this room even if explicitly invited.": "Bisitariak ezin dira gela honetara elkartu ez bazaie zuzenean gonbidatu.",
@@ -167,10 +157,7 @@
"Decline": "Ukatu",
"Decrypt %(text)s": "Deszifratu %(text)s",
"Default": "Lehenetsia",
- "Device already verified!": "Gailua egiaztatuta dago!",
- "Device ID:": "Gailuaren IDa:",
"device id: ": "gailuaren id-a: ",
- "Device key:": "Gailuaren gakoa:",
"Direct chats": "Txat zuzenak",
"Disable Notifications": "Desgaitu jakinarazpenak",
"Displays action": "Ekintza bistaratzen du",
@@ -183,7 +170,6 @@
"Download %(text)s": "Deskargatu %(text)s",
"Emoji": "Emoji",
"Enable Notifications": "Gaitu jakinarazpenak",
- "Encrypted by an unverified device": "Egiaztatu gabeko gailu batek zifratuta",
"%(senderName)s ended the call.": "%(senderName)s erabiltzaileak deia amaitu du.",
"Error decrypting attachment": "Errorea eranskina deszifratzean",
"Error: Problem communicating with the given homeserver.": "Errorea: Arazoa emandako hasiera zerbitzariarekin komunikatzeko.",
@@ -208,7 +194,6 @@
"Fill screen": "Bete pantaila",
"Forget room": "Ahaztu gela",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s %(fromPowerLevel)s mailatik %(toPowerLevel)s mailara",
- "Hide Text Formatting Toolbar": "Ezkutatu testu-formatuaren tresna-barra",
"Incoming call from %(name)s": "%(name)s erabiltzailearen deia jasotzen",
"Incoming video call from %(name)s": "%(name)s erabiltzailearen bideo deia jasotzen",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s erabiltzaileak %(displayName)s erabiltzailearen gonbidapena onartu du.",
@@ -223,10 +208,8 @@
"Invalid Email Address": "E-mail helbide baliogabea",
"Invalid file%(extra)s": "Fitxategi %(extra)s baliogabea",
"%(senderName)s invited %(targetName)s.": "%(senderName)s erabiltzaileak %(targetName)s gonbidatu du.",
- "Invite new room members": "Gonbidatu kide berriak gelara",
"Invited": "Gonbidatuta",
"Invites user with given id to current room": "Emandako ID-a duen erabiltzailea gonbidatzen du gelara",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ez da baliozko formatua ezizen batentzat",
"Sign in with": "Hasi saioa hau erabilita:",
"Join as voice or video.": "Elkartu ahotsa edo bideoa erabiliz.",
"%(targetName)s joined the room.": "%(targetName)s erabiltzailea gelara elkartu da.",
@@ -242,13 +225,8 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s erabiltzaileak etorkizuneko gelaren historiala ikusgai jarri du edonorentzat.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s erabiltzaileak etorkizuneko gelaren historiala ikusgai jarri du ezezagunentzat (%(visibility)s).",
"Manage Integrations": "Kudeatu integrazioak",
- "Markdown is disabled": "Markdown desgaituta dago",
- "Markdown is enabled": "Markdown gaituta dago",
- "matrix-react-sdk version:": "matrix-react-sdk bertsioa:",
- "Message not sent due to unknown devices being present": "Ez da mezua bidali gailu ezezagunak daudelako",
"Missing room_id in request": "Gelaren ID-a falta da eskaeran",
"Missing user_id in request": "Erabiltzailearen ID-a falta da eskaeran",
- "Never send encrypted messages to unverified devices in this room from this device": "Ez bidali inoiz zifratutako mezuak egiaztatu gabeko gailuetara gela honetan gailu honetatik",
"New address (e.g. #foo:%(localDomain)s)": "Helbide berria (adib. #foo:%(localDomain)s)",
"New passwords don't match": "Pasahitz berriak ez datoz bat",
"New passwords must match each other.": "Pasahitz berriak berdinak izan behar dira.",
@@ -256,13 +234,11 @@
"(not supported by this browser)": "(nabigatzaile honek ez du euskarririk)",
"": "",
"NOT verified": "EZ egiaztatuta",
- "No devices with registered encryption keys": "Erregistratutako zifratze gakoak dituen gailurik ez",
"No display name": "Pantaila izenik ez",
"No more results": "Emaitza gehiagorik ez",
"No users have specific privileges in this room": "Ez dago gela honetan baimen zehatzik duen erabiltzailerik",
"olm version:": "olm bertsioa:",
"Server may be unavailable, overloaded, or you hit a bug.": "Agian zerbitzaria ez dago eskuragarri, edo gainezka dago, edo akats bat aurkitu duzu.",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Oraingoz pasahitza aldatzeak gailu guztietako muturretik muturrerako zifratze-gakoak berrezarriko ditu, eta ezin izango dituzu zifratutako txatetako historialak irakurri ez badituzu aurretik zure gelako gakoak esportatzen eta aldaketa eta gero berriro inportatzen. Etorkizunean hau hobetuko da.",
"Passwords can't be empty": "Pasahitzak ezin dira hutsik egon",
"Permissions": "Baimenak",
"Power level must be positive integer.": "Botere maila osoko zenbaki positibo bat izan behar da.",
@@ -279,7 +255,6 @@
"%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s erabiltzaileak bere pantaila-izena kendu du (%(oldDisplayName)s).",
"%(senderName)s removed their profile picture.": "%(senderName)s erabiltzaileak bere profileko argazkia kendu du.",
"%(senderName)s requested a VoIP conference.": "%(senderName)s erabiltzaileak VoIP konferentzia bat eskatu du.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Une honetan egiaztatu gabeko gailuak blokeatzen ari zara, gailu hauetara mezuak bidali ahal izateko egiaztatu behar dituzu.",
"Results from DuckDuckGo": "DuckDuckGo bilatzaileko emaitzak",
"Riot does not have permission to send you notifications - please check your browser settings": "Riotek ez du zuri jakinarazpenak bidaltzeko baimenik, egiaztatu nabigatzailearen ezarpenak",
"Riot was not given permission to send notifications - please try again": "Ez zaio jakinarazpenak bidaltzeko baimena eman Rioti, saiatu berriro",
@@ -293,7 +268,6 @@
"Searches DuckDuckGo for results": "DuckDuckGo-n bilatzen ditu emaitzak",
"Seen by %(userName)s at %(dateTime)s": "%(userName)s erabiltzaileak ikusia %(dateTime)s(e)an",
"Send anyway": "Bidali hala ere",
- "Send Invites": "Bidali gonbidapenak",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s erabiltzaileak irudi bat bidali du.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s erabiltzaileak gelara elkartzeko gonbidapen bat bidali dio %(targetDisplayName)s erbiltzaileari.",
"Server error": "Zerbitzari-errorea",
@@ -301,13 +275,11 @@
"Server unavailable, overloaded, or something else went wrong.": "Zerbitzaria eskuraezin edo gainezka egon daiteke edo zerbaitek huts egin du.",
"%(senderName)s set a profile picture.": "%(senderName)s erabiltzaileak profileko argazkia ezarri du.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s erabiltzaileak %(displayName)s ezarri du pantaila izen gisa.",
- "Show Text Formatting Toolbar": "Erakutsi testu-formatuaren tresna-barra",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Erakutsi denbora-zigiluak 12 ordutako formatuan (adib. 2:30pm)",
"Signed Out": "Saioa amaituta",
"Sign in": "Hasi saioa",
"%(count)s of your messages have not been sent.|other": "Zure mezu batzuk ez dira bidali.",
"The phone number entered looks invalid": "Sartutako telefono zenbakia ez dirudi baliozkoa",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Eman duzun sinadura-gakoa %(userId)s erabiltzailearen %(deviceId)s gailutik jasotako bera da. Gailua egiaztatuta gisa markatu da.",
"This email address was not found": "Ez da e-mail helbide hau aurkitu",
"The remote side failed to pick up": "Urruneko aldeak hartzean huts egin du",
"This room is not recognised.": "Ez da gela hau ezagutzen.",
@@ -317,23 +289,17 @@
"To use it, just wait for autocomplete results to load and tab through them.": "Erabiltzeko, itxaron osatze automatikoaren emaitzak kargatu arte eta gero tabuladorearekin hautatu.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Gela honen denbora-lerroko puntu zehatz bat kargatzen saiatu zara, baina ez duzu mezu zehatz hori ikusteko baimenik.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Gela honen denbora-lerroko puntu zehatz bat kargatzen saiatu da, baina ezin izan da aurkitu.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s erabiltzaileak muturretik muturrerako (%(algorithm)s algoritmoa) zifratzea aktibatu du.",
"Unable to add email address": "Ezin izan da e-mail helbidea gehitu",
"Unable to remove contact information": "Ezin izan da kontaktuaren informazioa kendu",
"Unable to verify email address.": "Ezin izan da e-mail helbidea egiaztatu.",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s erabiltzaileak debekua kendu dio %(targetName)s erabiltzaileari.",
"Unable to capture screen": "Ezin izan da pantaila-argazkia atera",
"Unable to enable Notifications": "Ezin izan dira jakinarazpenak gaitu",
- "Unable to load device list": "Ezin izan da gailuen zerrenda kargatu",
- "Undecryptable": "Deszifraezina",
"unencrypted": "zifratu gabe",
- "Unencrypted message": "Zifratu gabeko mezua",
"unknown caller": "deitzaile ezezaguna",
"Unknown room %(roomId)s": "%(roomId)s gela ezezaguna da",
- "Unknown (user, device) pair:": "Erabiltzaile eta gailu bikote ezezaguna:",
"Unmute": "Audioa aktibatu",
"Unnamed Room": "Izen gabeko gela",
- "Unrecognised command:": "Agindu ezezaguna:",
"Unrecognised room alias:": "Gelaren ezizen ezezaguna:",
"Uploading %(filename)s and %(count)s others|zero": "%(filename)s igotzen",
"Uploading %(filename)s and %(count)s others|one": "%(filename)s eta beste %(count)s igotzen",
@@ -358,9 +324,6 @@
"(could not connect media)": "(ezin izan da media konektatu)",
"(no answer)": "(erantzunik ez)",
"(unknown failure: %(reason)s)": "(hutsegite ezezaguna: %(reason)s)",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ABISUA: Gailua egiaztatuta dago, baina gakoak EZ DATOZ BAT!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ABISUA: GAKOEN EGIAZTAKETAK HUTS EGIN DU! %(userId)s erabiltzailearen %(deviceId)s gailuaren sinadura-gakoa \"%(fprint)s\" da, eta ez dator bat emandako \"%(fingerprint)s\" gakoarekin. Honek inor komunikazioa antzematen ari dela esan nahi lezake!",
- "Who would you like to communicate with?": "Norekin komunikatu nahi duzu?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s erabiltzaileak atzera bota du %(targetName)s erabiltzailearen gonbidapena.",
"You are already in a call.": "Bazaude dei batean.",
"You cannot place a call with yourself.": "Ezin diozu zure buruari deitu.",
@@ -372,7 +335,6 @@
"You need to be able to invite users to do that.": "Erabiltzaileak gonbidatzeko baimena behar duzu hori egiteko.",
"You need to be logged in.": "Saioa hasi duzu.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Zure e-mail helbidea ez dago antza hasiera zerbitzari honetako Matrix ID batekin lotuta.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Zure pasahitza ongi aldatu da. Ez dituzu beste gailuetan jakinarazpenak jasoko hauetan saioa berriro hasi arte",
"You seem to be in a call, are you sure you want to quit?": "Badirudi dei batean zaudela, ziur irten nahi duzula?",
"You seem to be uploading files, are you sure you want to quit?": "Badirudi fitxategiak iotzen zaudela, ziur irten nahi duzula?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Ezin izango duzu hau atzera bota erabiltzailea zure botere maila berera igotzen ari zarelako.",
@@ -407,8 +369,6 @@
"Sent messages will be stored until your connection has returned.": "Bidalitako mezuak zure konexioa berreskuratu arte gordeko dira.",
"(~%(count)s results)|one": "(~%(count)s emaitza)",
"(~%(count)s results)|other": "(~%(count)s emaitza)",
- "bold": "lodia",
- "italic": "etzana",
"Please select the destination room for this message": "Hautatu mezu hau bidaltzeko gela",
"New Password": "Pasahitz berria",
"Start automatically after system login": "Hasi automatikoki sisteman saioa hasi eta gero",
@@ -430,15 +390,10 @@
"Unknown error": "Errore ezezaguna",
"Incorrect password": "Pasahitz okerra",
"To continue, please enter your password.": "Jarraitzeko sartu zure pasahitza.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Gailu hau fidagarria dela egiaztatzeko, kontaktatu bere jabea beste medio bat erabiliz (adib. aurrez aurre edo telefonoz deituz) eta galdetu beraien erabiltzaile-ezarpenetan bere gailurako ikusten duen gakoa hemen beheko bera den:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Bat badator sakatu egiaztatu botoia. Bat ez badator, beste inor gailu hau atzematen dago eta blokeatu beharko zenuke.",
"Unable to restore session": "Ezin izan da saioa berreskuratu",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Aurretik Riot bertsio berriago bat erabili baduzu, zure saioa bertsio honekin bateraezina izan daiteke. Itxi leiho hau eta itzuli bertsio berriagora.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Gailu bakoitzaren egiaztaketa prozesua jarraitzea aholkatzen dizugu, benetako jabeari dagozkiela baieztatzeko, baina mezua egiaztatu gabe birbidali dezakezu ere.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" gelan aurretik ikusi ez dituzun gailuak daude.",
- "Unknown devices": "Gailu ezezagunak",
"Unknown Address": "Helbide ezezaguna",
- "Verify...": "Egiaztatu...",
+ "Verify...": "Egiaztatu…",
"ex. @bob:example.com": "adib. @urko:adibidea.eus",
"Add User": "Gehitu erabiltzailea",
"Please check your email to continue registration.": "Egiaztatu zure e-maila erregistroarekin jarraitzeko.",
@@ -472,14 +427,12 @@
"Start verification": "Hasi egiaztaketa",
"Share without verifying": "Partekatu egiaztatu gabe",
"Ignore request": "Ezikusi eskaera",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "'%(displayName)s' gailua gehitu duzu eta zifratze-gakoak eskatzen ari da.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Zure egiaztatu gabeko '%(displayName)s' gailua zifratze-gakoak eskatzen ari da.",
"Encryption key request": "Zifratze-gakoa eskatuta",
"Deops user with given id": "Emandako ID-a duen erabiltzailea mailaz jaisten du",
"Add a widget": "Gehitu trepeta bat",
"Allow": "Baimendu",
- "and %(count)s others...|other": "eta beste %(count)s...",
- "and %(count)s others...|one": "eta beste bat...",
+ "and %(count)s others...|other": "eta beste %(count)s…",
+ "and %(count)s others...|one": "eta beste bat…",
"Cannot add any more widgets": "Ezin dira trepeta gehiago gehitu",
"Delete widget": "Ezabatu trepeta",
"Define the power level of a user": "Zehaztu erabiltzaile baten botere maila",
@@ -493,7 +446,6 @@
"Unable to create widget.": "Ezin izan da trepeta sortu.",
"You are not in this room.": "Ez zaude gela honetan.",
"You do not have permission to do that in this room.": "Ez duzu gela honetan hori egiteko baimenik.",
- "Loading device info...": "Gailuaren informazioa kargatzen...",
"Example": "Adibidea",
"Create": "Sortu",
"Featured Rooms:": "Nabarmendutako gelak:",
@@ -502,7 +454,6 @@
"Failed to upload image": "Irudia igotzeak huts egin du",
"%(widgetName)s widget added by %(senderName)s": "%(widgetName)s trepeta gehitu du %(senderName)s erabiltzaileak",
"%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s trepeta kendu du %(senderName)s erabiltzaileak",
- "Verifies a user, device, and pubkey tuple": "Erabiltzaile, gailu eta gako publiko multzoa egiaztatzen du",
"%(widgetName)s widget modified by %(senderName)s": "%(widgetName)s trepeta aldatu du %(senderName)s erabiltzaileak",
"Copied!": "Kopiatuta!",
"Failed to copy": "Kopiak huts egin du",
@@ -521,7 +472,6 @@
"Unpin Message": "Desfinkatu mezua",
"Add rooms to this community": "Gehitu gelak komunitate honetara",
"Call Failed": "Deiak huts egin du",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Gailu ezezagunak daude gela honetan: hauek egiaztatu gabe aurrera jarraituz gero, posiblea litzateke inork zure deia entzutea.",
"Review Devices": "Berrikusi gailuak",
"Call Anyway": "Deitu hala ere",
"Answer Anyway": "Erantzun hala ere",
@@ -548,8 +498,6 @@
"Enable inline URL previews by default": "Gailu URL-en aurrebista lehenetsita",
"Enable URL previews for this room (only affects you)": "Gaitu URLen aurrebista gela honetan (zuretzat bakarrik aldatuko duzu)",
"Enable URL previews by default for participants in this room": "Gaitu URLen aurrebista lehenetsita gela honetako partaideentzat",
- "Delete %(count)s devices|other": "Ezabatu %(count)s gailu",
- "Delete %(count)s devices|one": "Ezabatu gailua",
"%(senderName)s sent an image": "%(senderName)s erabiltzaileak irudi bat bidali du",
"%(senderName)s sent a video": "%(senderName)s erabiltzaileak bideo bat bidali du",
"%(senderName)s uploaded a file": "%(senderName)s erabiltzaileak fitxategi bat bidali du",
@@ -561,7 +509,7 @@
"Invite": "Gonbidatu",
"Jump to message": "Saltatu mezura",
"No pinned messages.": "Finkatutako mezurik ez.",
- "Loading...": "Kargatzen...",
+ "Loading...": "Kargatzen…",
"Pinned Messages": "Finkatutako mezuak",
"%(duration)ss": "%(duration)s s",
"%(duration)sm": "%(duration)s m",
@@ -651,7 +599,7 @@
"%(oneUser)schanged their name %(count)s times|one": "%(oneUser)s erabiltzaileak bere izena aldatu du",
"collapse": "tolestu",
"expand": "hedatu",
- "And %(count)s more...|other": "Eta %(count)s gehiago...",
+ "And %(count)s more...|other": "Eta %(count)s gehiago…",
"Matrix ID": "Matrix IDa",
"Matrix Room ID": "Matrix gela IDa",
"email address": "e-mail helbidea",
@@ -747,7 +695,6 @@
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(fullYear)s(e)ko %(monthName)sk %(day)sa",
"This room is not public. You will not be able to rejoin without an invite.": "Gela hau ez da publikoa. Ezin izango zara berriro elkartu gonbidapenik gabe.",
"Community IDs cannot be empty.": "Komunitate ID-ak ezin dira hutsik egon.",
- "Show devices, send anyway or cancel.": "Erakutsi gailuak, bidali hala ere edo ezeztatu.",
"In reply to": "honi erantzunez:",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s erabiltzaileak bere pantaila izena aldatu du %(displayName)s izatera.",
"Failed to set direct chat tag": "Huts egin du txat zuzenarenaren etiketa jartzean",
@@ -756,11 +703,7 @@
"Clear filter": "Garbitu iragazkia",
"Did you know: you can use communities to filter your Riot.im experience!": "Ba al zenekien? Komunitateak erabili ditzakezu zure Riot.im esperientzia iragazteko!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Iragazki bat ezartzeko, arrastatu komunitate baten abatarra pantailaren ezkerrean dagoen iragazki-panelera. Iragazki-paneleko abatar batean klik egin dezakezu komunitate horri lotutako gelak eta pertsonak besterik ez ikusteko.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Zure gakoa partekatzeko eskaria bidali da - egiaztatu zure beste gailuetan gakoa partekatzeko eskariak.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Gakoa partekatzeko eskariak automatikoki bidaltzen dira zure beste gailuetara. Zure beste gailuetan gakoa partekatzeko eskaria ukatu edo baztertu baduzu, egin klik hemen saio honetarako gakoak eskatzeko berriz ere.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Zure beste gailuek mezu honetarako gakoa ez badute ezin izango dute deszifratu.",
"Key request sent.": "Gako eskaria bidalita.",
- "Re-request encryption keys from your other devices.": "Berriz eskatu zifratze-gakoak zure beste gailuetatik.",
"Code": "Kodea",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "GitHub bidez akats baten berri eman badiguzu, arazte-egunkariek arazoa aurkitzen lagundu gaitzakete. Arazte-egunkariek aplikazioaren erabileraren datuak dauzkate, zure erabiltzaile izena barne, eta bisitatu dituzun gelen ID-ak edo ezizenak eta beste erabiltzaileen izenak. Ez dute mezurik.",
"Submit debug logs": "Bidali arazte-egunkariak",
@@ -823,7 +766,6 @@
"Files": "Fitxategiak",
"Collecting app version information": "Aplikazioaren bertsio-informazioa biltzen",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ezabatu gelaren %(alias)s ezizena eta kendu %(name)s direktoriotik?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Honek zure kontura itzultzea ahalbidetuko dizu, beste gailuetan saioa amaitu eta berriro hasi eta gero.",
"Keywords": "Hitz gakoak",
"Enable notifications for this account": "Gaitu jakinarazpenak kontu honetarako",
"Invite to this community": "Gonbidatu komunitate honetara",
@@ -860,7 +802,7 @@
"Send logs": "Bidali egunkariak",
"All messages": "Mezu guztiak",
"Call invitation": "Dei gonbidapena",
- "Downloading update...": "Eguneraketa deskargatzen...",
+ "Downloading update...": "Eguneraketa deskargatzen…",
"State Key": "Egoera gakoa",
"Failed to send custom event.": "Huts egin du gertaera pertsonalizatua bidaltzean.",
"What's new?": "Zer dago berri?",
@@ -904,7 +846,7 @@
"Event Content": "Gertaeraren edukia",
"Thank you!": "Eskerrik asko!",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Zure oraingo nabigatzailearekin aplikazioaren itxura eta portaera guztiz okerra izan daiteke, eta funtzio batzuk ez dira ibiliko. Hala ere aurrera jarraitu dezakezu saiatu nahi baduzu, baina zure erantzukizunaren menpe geratzen dira aurkitu ditzakezun arazoak!",
- "Checking for an update...": "Eguneraketarik dagoen egiaztatzen...",
+ "Checking for an update...": "Eguneraketarik dagoen egiaztatzen…",
"There are advanced notifications which are not shown here": "Hemen erakusten ez diren jakinarazpen aurreratuak daude",
"Missing roomId.": "Gelaren ID-a falta da.",
"Every page you use in the app": "Aplikazioan erabilitako orri oro",
@@ -918,8 +860,6 @@
"Refresh": "Freskatu",
"We encountered an error trying to restore your previous session.": "Errore bat aurkitu dugu zure aurreko saioa berrezartzen saiatzean.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Zure nabigatzailearen biltegiratzea garbitzeak arazoa konpon lezake, baina saioa amaituko da eta zifratutako txaten historiala ezin izango da berriro irakurri.",
- "Unable to reply": "Ezin erantzun",
- "At this time it is not possible to reply with an emote.": "Une honetan ezin da irriabartxo batekin erantzun.",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Ezin izan da erantzundako gertaera kargatu, edo ez dago edo ez duzu ikusteko baimenik.",
"Collapse Reply Thread": "Tolestu erantzun-haria",
"Enable widget screenshots on supported widgets": "Gaitu trepeten pantaila-argazkiak, onartzen duten trepetetan",
@@ -965,12 +905,6 @@
"Permission Required": "Baimena beharrezkoa",
"You do not have permission to start a conference call in this room": "Ez duzu baimenik konferentzia dei bat hasteko gela honetan",
"This event could not be displayed": "Ezin izan da gertakari hau bistaratu",
- "deleted": "ezabatuta",
- "underlined": "azpimarratuta",
- "inline-code": "lineako kodea",
- "block-quote": "aipamen blokea",
- "bulleted-list": "buletdun zerrenda",
- "numbered-list": "zenbakidun zerrenda",
"Failed to remove widget": "Huts egin du trepeta kentzean",
"An error ocurred whilst trying to remove the widget from the room": "Trepeta gelatik kentzen saiatzean errore bat gertatu da",
"System Alerts": "Sistemaren alertak",
@@ -1002,7 +936,7 @@
"Forces the current outbound group session in an encrypted room to be discarded": "Uneko irteerako talde saioa zifratutako gela batean baztertzera behartzen du",
"Registration Required": "Erregistratzea ezinbestekoa da",
"You need to register to do this. Would you like to register now?": "Hau egiteko erregistratu egin behar zara. Orain erregistratu nahi duzu?",
- "Unable to connect to Homeserver. Retrying...": "Ezin izan da hasiera zerbitzarira konektatu. Berriro saiatzen...",
+ "Unable to connect to Homeserver. Retrying...": "Ezin izan da hasiera zerbitzarira konektatu. Berriro saiatzen…",
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "%(senderName)s erabiltzaileak %(addedAddresses)s gehitu du gelako helbide gisa.",
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s erabiltzaileak %(addedAddresses)s helbideak gehitu dizkio gela honi.",
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s erabiltzileak %(removedAddresses)s helbideak kendu ditu gela honetatik.",
@@ -1025,11 +959,6 @@
"Unable to load! Check your network connectivity and try again.": "Ezin da kargatu! Egiaztatu sare konexioa eta saiatu berriro.",
"Delete Backup": "Ezabatu babes-kopia",
"Unable to load key backup status": "Ezin izan da gakoen babes-kopiaren egoera kargatu",
- "Backup has a valid signature from this device": "Babes-kopiak gailu honen baliozko sinadura bat du",
- "Backup has a valid signature from unverified device ": "Babes-kopiak egiaztatu gabekogailu batenbaliozko sinadura du",
- "Backup has an invalid signature from verified device ": "Babes-kopiak egiaztatutako gailuaren balio gabeko sinadura du",
- "Backup has an invalid signature from unverified device ": "Babes-kopiak egiaztatu gabeko gailuaren baliogabeko sinadura du",
- "Backup is not signed by any of your devices": "Babes-kopia ez dago zure gailu batek sinauta",
"Backup version: ": "Babes-kopiaren bertsioa: ",
"Algorithm: ": "Algoritmoa: ",
"Please review and accept all of the homeserver's policies": "Berrikusi eta onartu hasiera-zerbitzariaren politika guztiak",
@@ -1047,12 +976,9 @@
"Your Recovery Key": "Zure berreskuratze gakoa",
"Copy to clipboard": "Kopiatu arbelera",
"Download": "Deskargatu",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Zure berreskuratze gakoa zure arbelera kopiatu da, itsatsi hemen:",
- "Your Recovery Key is in your Downloads folder.": "Zure berreskuratze gakoa zure Deskargak karpetan dago.",
"Print it and store it somewhere safe": "Inprimatu ezazu eta gorde toki seguruan",
"Save it on a USB key or backup drive": "Gorde ezazu USB giltza batean edo babes-kopien diskoan",
"Copy it to your personal cloud storage": "Kopiatu ezazu zure hodeiko biltegi pertsonalean",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Mezu seguruen berreskuratzea ezartzen ez bada, ezin izango duzu zure zifratutako mezuen historiala berreskuratu saioa amaitzen baduzu edo beste gailu bat erabiltzen baduzu.",
"Set up Secure Message Recovery": "Ezarri mezu seguruen berreskuratzea",
"Keep it safe": "Gorde toki seguruan",
"Create Key Backup": "Sortu gakoaren babes-kopia",
@@ -1071,7 +997,6 @@
"This looks like a valid recovery key!": "Hau baliozko berreskuratze gako bat dirudi!",
"Not a valid recovery key": "Ez da baliozko berreskuratze gako bat",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Atzitu zure mezu seguruen historiala eta ezarri mezularitza segurua zure berreskuratze gakoa sartuz.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Zure berreskuratze pasa-esaldia ahaztu baduzu berreskuratze aukera berriak ezarri ditzakezu",
"Sign in with single sign-on": "Hai saioa urrats batean",
"Failed to perform homeserver discovery": "Huts egin du hasiera-zerbitzarien bilaketak",
"Invalid homeserver discovery response": "Baliogabeko hasiera-zerbitzarien bilaketaren erantzuna",
@@ -1120,18 +1045,17 @@
"Straight rows of keys are easy to guess": "Teklatuko errenkadak asmatzeko errazak dira",
"Short keyboard patterns are easy to guess": "Teklatuko eredu laburrak asmatzeko errazak dira",
"Custom user status messages": "Erabiltzailearen egoera mezu pertsonalizatuak",
- "Checking...": "Egiaztatzen...",
- "Set a new status...": "Ezarri egoera berri bat...",
+ "Checking...": "Egiaztatzen…",
+ "Set a new status...": "Ezarri egoera berri bat…",
"Clear status": "Garbitu egoera",
"General failure": "Hutsegite orokorra",
"New Recovery Method": "Berreskuratze metodo berria",
"Set up Secure Messages": "Ezarri mezu seguruak",
"Go to Settings": "Joan ezarpenetara",
- "Backup has a valid signature from verified device ": "Babes-kopiak egiaztatutakogailu baten baliozko sinadura bat du",
"Unable to load commit detail: %(msg)s": "Ezin izan dira xehetasunak kargatu: %(msg)s",
"Invalid identity server discovery response": "Baliogabeko erantzuna identitate zerbitzariaren bilaketan",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ez baduzu berreskuratze sistema berria ezarri, erasotzaile bat zure kontua atzitzen saiatzen egon daiteke. Aldatu zure kontuaren pasahitza eta ezarri berreskuratze metodo berria berehala ezarpenetan.",
- "Waiting for %(userId)s to confirm...": "%(userId)s erabiltzaileak berretsi dezan itxaroten...",
+ "Waiting for %(userId)s to confirm...": "%(userId)s erabiltzaileak berretsi dezan itxaroten…",
"User %(user_id)s may or may not exist": "%(user_id)s erabiltzailea existitu daiteke edo ez",
"Unrecognised address": "Helbide ezezaguna",
"Prompt before sending invites to potentially invalid matrix IDs": "Galdetu baliogabeak izan daitezkeen matrix ID-eetara gonbidapenak bidali aurretik",
@@ -1214,8 +1138,6 @@
"Hammer": "Mailua",
"Telephone": "Telefonoa",
"Room avatar": "Gelaren abatarra",
- "Upload room avatar": "Igo gelaren abatarra",
- "No room avatar": "Gelaren abatarrik ez",
"Room Name": "Gelaren izena",
"Room Topic": "Gelaren mintzagaia",
"Verify by comparing a short text string.": "Egiaztatu testu-kate labur bat konparatuz.",
@@ -1248,7 +1170,7 @@
"Guest": "Gonbidatua",
"General": "Orokorra",
"Room Addresses": "Gelaren helbideak",
- "Set a new account password...": "Ezarri kontuaren pasahitz berria...",
+ "Set a new account password...": "Ezarri kontuaren pasahitz berria…",
"Email addresses": "E-mail helbideak",
"Phone numbers": "Telefono zenbakiak",
"Language and region": "Hizkuntza eta eskualdea",
@@ -1284,18 +1206,16 @@
"Your password has been reset.": "Zure pasahitza berrezarri da.",
"Set a new password": "Ezarri pasahitz berria",
"Create account": "Sortu kontua",
- "Keep going...": "Jarraitu...",
+ "Keep going...": "Jarraitu…",
"Starting backup...": "Babes-kopia hasten...",
"Recovery Method Removed": "Berreskuratze metodoa kendu da",
"Missing media permissions, click the button below to request.": "Multimedia baimenak falda dira, sakatu beheko botoia baimenak eskatzeko.",
"Request media permissions": "Eskatu multimedia baimenak",
"Allow Peer-to-Peer for 1:1 calls": "Baimendu Peer-to-Peer biren arteko deietan",
- "Your keys are not being backed up from this device.": "Ez da gakoen babes kopiarik sortzen gailu honetatik.",
"Start using Key Backup": "Hasi gakoen babes-kopia egiten",
"Restore from Backup": "Berrezarri babes-kopia",
- "This device is backing up your keys. ": "Gailu honek zure gakoen babes-kopia egiten du. ",
"Back up your keys before signing out to avoid losing them.": "Egin gakoen babes-kopia bat saioa amaitu aurretik, galdu nahi ez badituzu.",
- "Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s gakoen babes-kopia egiten...",
+ "Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s gakoen babes-kopia egiten…",
"All keys backed up": "Gako guztien babes.kopia egin da",
"Headphones": "Aurikularrak",
"Folder": "Karpeta",
@@ -1319,37 +1239,27 @@
"Verify this user by confirming the following emoji appear on their screen.": "Baieztatu erabiltzaile hau beheko emojiak bere pantailan agertzen direla egiaztatuz.",
"Verify this user by confirming the following number appears on their screen.": "Baieztatu erabiltzaile hau honako zenbakia bere pantailan agertzen dela egiaztatuz.",
"Unable to find a supported verification method.": "Ezin izan da onartutako egiaztaketa metodorik aurkitu.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Segurtasun hobe baterako, hau aurrez aurre egitea edo fidagarria den beste komunikazio modu baten bidez egitea aholkatzen dugu.",
"Thumbs up": "Ederto",
"Hourglass": "Harea-erlojua",
"Paperclip": "Klipa",
- "Padlock": "Giltzarrapoa",
"Pin": "Txintxeta",
- "Your homeserver does not support device management.": "Zure hasiera-zerbitzariak ez du gailuen kudeaketa onartzen.",
"Yes": "Bai",
"No": "Ez",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "E-mail bat bidali dizugu zure helbidea egiaztatzeko. Jarraitu hango argibideak eta gero sakatu beheko botoia.",
"Email Address": "E-mail helbidea",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Ziur al zaude? Zure zifratutako mezuak galduko dituzu zure gakoen babes-kopia egoki bat egiten ez bada.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Zifratutako mezuak muturretik muturrerako zifratzearen bidez babestuak daude. Zuk eta hartzaileak edo hartzaileek irakurri ditzakezue mezu horiek, beste inork ez.",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Babes-kopiak %(deviceId)s ID-a duen gailu ezezagun baten sinadura du.",
- "This backup is trusted because it has been restored on this device": "Babes-kopia hau fidagarritzat jotzen da gailu honetan berrezarri delako",
"Add an email address to configure email notifications": "Gehitu e-mail helbidea e-mail bidezko jakinarazpenak ezartzeko",
"Unable to verify phone number.": "Ezin izan da telefono zenbakia egiaztatu.",
"Verification code": "Egiaztaketa kodea",
"Phone Number": "Telefono zenbakia",
"Profile picture": "Profileko irudia",
- "Upload profile picture": "Igo profileko irudia",
"Display Name": "Pantaila-izena",
"Room information": "Gelako informazioa",
"Internal room ID:": "Gelaren barne ID-a:",
"Room version": "Gela bertsioa",
"Room version:": "Gela bertsioa:",
"Developer options": "Garatzaileen aukerak",
- "Some devices for this user are not trusted": "Erabiltzaile honen gailu batzuk ez dira fidagarritzat jotzen",
- "Some devices in this encrypted room are not trusted": "Zifratutako gela honetako gailu batzuk ez dira fidagarritzat jotzen",
- "All devices for this user are trusted": "Erabiltzaile honen gailu guztiak fidagarritzat jotzen dira",
- "All devices in this encrypted room are trusted": "Zifratutako gela honetako gailu guztiak fidagarritzat jotzen dira",
"Never lose encrypted messages": "Ez galdu inoiz zifratutako mezuak",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Gela honetako mezuak muturretik muturrerako zifratzeaz babestuak daude. Zuek eta hartzaileek besterik ez daukazue mezu horiek irakurtzeko giltza.",
"Composer": "Idazlekua",
@@ -1361,13 +1271,12 @@
"Securely back up your keys to avoid losing them. Learn more.": "Egin zure gakoen babes-kopia segurua hauek ez galtzeko. Ikasi gehiago.",
"Not now": "Orain ez",
"Don't ask me again": "Ez galdetu berriro",
- "Use Legacy Verification (for older clients)": "Erabili egiaztaketa zaharra (bezero zaharrekin)",
- "Waiting for partner to accept...": "Kideak onartu bitartean zain...",
- "Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Ez da ezer agertzen? Bezero guztiek ez dute egiaztaketa interaktiborako euskarria. Erabili egiaztaketa zaharra.",
+ "Use Legacy Verification (for older clients)": "Erabili egiaztaketa zaharra (bezero zaharrentzat)",
+ "Waiting for partner to accept...": "Kideak onartu bitartean zain…",
+ "Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Ez da ezer agertzen? Bezero guztiek ez dute egiaztaketa interaktiborako euskarria. Erabili egiaztaketa zaharra.",
"Use two-way text verification": "Erabili bi zentzutako testu egiaztaketa",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Egiaztatu erabiltzaile hau fidagarritzat markatzeko. Honek bakea ematen dizu muturretik muturrerako zifratutako mezuak erabiltzean.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Erabiltzaile hau egiaztatzean fidagarri gisa markatuko da, eta zure gailua berarentzat fidagarritzat markatuko da ere.",
- "Waiting for partner to confirm...": "Kideak baieztatzearen zain...",
+ "Waiting for partner to confirm...": "Kideak baieztatzearen zain…",
"Incoming Verification Request": "Jasotako egiaztaketa eskaria",
"I don't want my encrypted messages": "Ez ditut nire zifratutako mezuak nahi",
"Manually export keys": "Esportatu gakoak eskuz",
@@ -1381,7 +1290,6 @@
"Hide": "Ezkutatu",
"This homeserver does not support communities": "Hasiera-zerbitzari honek ez du komunitateetarako euskarria",
"A verification email will be sent to your inbox to confirm setting your new password.": "Egiaztaketa e-mail bat bidaliko da zure sarrera-ontzira pasahitz berria ezarri nahi duzula berresteko.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Gailu guztietan saioa amaitu duzu eta ez duzu push jakinarazpenik jasoko. Jakinarazpenak berriro aktibatzeko, hasi saioa gailuetan.",
"This homeserver does not support login using email address.": "Hasiera-zerbitzari honek ez du e-mail helbidea erabiliz saioa hastea onartzen.",
"Registration has been disabled on this homeserver.": "Izen ematea desaktibatuta dago hasiera-zerbitzari honetan.",
"Unable to query for supported registration methods.": "Ezin izan da onartutako izen emate metodoei buruz galdetu.",
@@ -1390,13 +1298,9 @@
"Set up with a Recovery Key": "Ezarri berreskuratze gakoarekin",
"Please enter your passphrase a second time to confirm.": "Sartu zure pasaesaldia berriro baieztatzeko.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Berreskuratze gakoa badaezpadako bat da, zure zifratutako mezuetara sarbidea berreskuratzeko erabili dezakezu pasaesaldia ahaztuz gero.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Gorde berreskuratze gakoa toki oso seguru batean, pasaesaldi kudeatzaile batean esaterako (edo gordailu kutxa batean)",
"Your keys are being backed up (the first backup could take a few minutes).": "Zure gakoen babes-kopia egiten ari da (lehen babes-kopiak minutu batzuk behar ditzake).",
"Success!": "Ongi!",
"A new recovery passphrase and key for Secure Messages have been detected.": "Berreskuratze pasaesaldi eta mezu seguruen gako berriak antzeman dira.",
- "This device is encrypting history using the new recovery method.": "Gailu honek historiala berreskuratze metodo berriarekin zifratzen du.",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Gailu honek zure berreskuratze pasaesaldia eta mezu seguruen gakoa kendu direla antzeman du.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Nahi gabe egin baduzu hau, Mezu seguruak ezarri ditzakezu gailu honetan eta gailu honetako mezuen historiala berreskuratze metodo berriarekin zifratuko da.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ez baduzu berreskuratze metodoa kendu, agian erasotzaile bat zure mezuen historialera sarbidea lortu nahi du. Aldatu kontuaren pasahitza eta ezarri berreskuratze metodo berri bat berehala ezarpenetan.",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Zerbitzari pertsonalizatuaren aukera erabili dezakezu beste Matrix zerbitzarietan saioa hasteko beste hasiera-zerbitzari batek URLa adieraziz. Honek aplikazio hau beste Matrix zerbitzari batean duzun Matrix kontua erabiltzea baimentzen dizu.",
"Changes your display nickname in the current room only": "Zure pantailako izena aldatzen du gela honetan bakarrik",
@@ -1448,14 +1352,8 @@
"Please install Chrome, Firefox, or Safari for the best experience.": "Instalatu Chrome, Firefox, edo Safari esperientzia hobe baterako.",
"Want more than a community? Get your own server": "Komunitate bat baino gehiago nahi duzu? Eskuratu zure zerbitzari propioa",
"Could not load user profile": "Ezin izan da erabiltzaile-profila kargatu",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Zure pasahitza aldatzeak zure gailu guztietako muturretik-muturrerako zifratzerako gakoak berrezarriko ditu, eta aurretik zifratutako mezuen historiala ezin izango da irakurri. Ezarri gakoen babes-kopia edo esportatu zure geletako gakoak beste gailu batetik pasahitza aldatu aurretik.",
- "Room upgrade confirmation": "Gela eguneratzeko berrespena",
- "Upgrading a room can be destructive and isn't always necessary.": "Gela bertsio-berritzeak ondorio suntsitzaileak izan ditzake eta ez da beti beharrezkoa.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Gela bertsio-berritzea aholkatzen da gelaren bertsioa ezegonkortzat jotzen denean. Gela bertsio ezegonkorrek akatsak izan ditzakete, falta diren ezaugarriak, edo segurtasun arazoak.",
"You cannot modify widgets in this room.": "Ezin dituzu gela honetako trepetak aldatu.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s erabiltzaileak %(targetDisplayName)s geñara elkartzeko gonbidapena errefusatu du.",
- "Enable desktop notifications for this device": "Gaitu mahaigaineko jakinarazpenak gailu honetan",
- "Enable audible notifications for this device": "Gaitu jakinarazpen entzungarriak gailu honetan",
"Upgrade this room to the recommended room version": "Bertsio-berritu gela hau aholkatutako bertsiora",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Gela hau bertsio-berritzeak gelaren oraingo instantzia itzaliko du eta izen bereko beste gela berri bat sortuko du.",
"Failed to revoke invite": "Gonbidapena indargabetzeak huts egin du",
@@ -1475,10 +1373,7 @@
"The file '%(fileName)s' failed to upload.": "Huts egin du '%(fileName)s' fitxategia igotzean.",
"The server does not support the room version specified.": "Zerbitzariak ez du emandako gela-bertsioa onartzen.",
"Name or Matrix ID": "Izena edo Matrix ID-a",
- "Email, name or Matrix ID": "E-mail, izena edo Matrix ID-a",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Gelak eguneratzeak zerbitzariaren aldeko gelaren prozesamenduan eragiten du besterik ez. Zure Riot bezeroarekin arazoak badituzu, eman arazoaren berri hemen .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Abisua:: Gela eguneratzeak ez ditu automatikoki migratuko kideak gelaren bertsio berrira. Gela berrira daraman esteka bat argitaratuko da gelaren bertsio zaharrean, gelako kideek estekan sakatu beharko dute gela berrira elkartzeko.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Berretsi gela eguneratzearekin jarraitu nahi duzula, bertsiotik bertsiora.",
"Changes your avatar in this current room only": "Zure abatarra aldatzen du gela honetan bakarrik",
"Unbans user with given ID": "ID zehatz bat duen erabiltzaileari debekua altxatzen dio",
"Adds a custom widget by URL to the room": "URL bidez trepeta pertsonalizatu bat gehitzen du gelara",
@@ -1497,10 +1392,6 @@
"Show hidden events in timeline": "Erakutsi gertaera ezkutuak denbora-lerroan",
"Low bandwidth mode": "Banda-zabalera gutxiko modua",
"When rooms are upgraded": "Gelak eguneratzean",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Gailu honek ez du zure gakoen babes-kopia egiten, baina badago babes-kopia bat eta berreskuratu dezakezu aurrera jarraitzeko.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Konektatu gailu hau gakoen babes-kopiara saioa amaitu aurretik, bakarrik gailu honetan egon daitezkeen gakoak galdu nahi ez badituzu.",
- "Connect this device to Key Backup": "Konektatu gailu hau gakoen babes-kopiara",
- "Backup has an invalid signature from this device": "Babes-kopiak gailu honen baliogabeko sinadura du",
"this room": "gela hau",
"View older messages in %(roomName)s.": "Ikusi %(roomName)s gelako mezu zaharragoak.",
"Uploaded sound": "Igotako soinua",
@@ -1611,24 +1502,20 @@
"%(oneUser)smade no changes %(count)s times|other": "%(oneUser)s erabiltzaileak ez du aldaketarik egin %(count)s aldiz",
"%(oneUser)smade no changes %(count)s times|one": "%(oneUser)s erabiltzaileak ez du aldaketarik egin",
"Removing…": "Kentzen…",
- "Clear all data on this device?": "Garbitu gailu honi buruzko datu guztiak?",
"Clear all data": "Garbitu datu guztiak",
"Your homeserver doesn't seem to support this feature.": "Antza zure hasiera-zerbitzariak ez du ezaugarri hau onartzen.",
"Resend edit": "Birbidali edizioa",
"Resend %(unsentCount)s reaction(s)": "Birbidali %(unsentCount)s erreakzio",
"Resend removal": "Birbidali kentzeko agindua",
- "Forgotten your password?": "Pasahitza ahaztu duzu?",
+ "Forgotten your password?": "Pasahitza ahaztuta?",
"Sign in and regain access to your account.": "Hasi saioa eta berreskuratu zure kontua.",
"You're signed out": "Saioa amaitu duzu",
"Clear personal data": "Garbitu datu pertsonalak",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Esaguzu zer ez den behar bezala ibili edo, hobe oraindik, sortu GitHub txosten bat zure arazoa deskribatuz.",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Datu guztiak gailu honetatik ezabatzea behin betiko da. Zifratutako mezuak galdu egingo dira ez bada bere gakoen babes-kopia bat egin.",
"Failed to re-authenticate due to a homeserver problem": "Berriro autentifikatzean huts egin du hasiera-zerbitzariaren arazo bat dela eta",
"Failed to re-authenticate": "Berriro autentifikatzean huts egin du",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Berreskuratu zure kontura sarbidea eta gailu honetan gordetako zifratze gakoak. Hauek gabe, ezin izango dituzu zure mezu seguruak irakurri beste gailuetatik.",
"Enter your password to sign in and regain access to your account.": "Sartu zure pasahitza saioa hasteko eta berreskuratu zure kontura sarbidea.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Ezin duzu zure kontuan saioa hasi. Jarri kontaktuan zure hasiera zerbitzariko administratzailearekin informazio gehiagorako.",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Abisua: Zure datu pertsonalak (zure zifratze gakoak barne) gailu honetan gordeko dira. Garbitu ezazu gailu hau erabiltzen bukatu duzunean edo beste kontu bat erabili nahi duzunean.",
"Identity Server": "Identitate zerbitzaria",
"Find others by phone or email": "Aurkitu besteak telefonoa edo e-maila erabiliz",
"Be found by phone or email": "Izan telefonoa edo e-maila erabiliz aurkigarria",
@@ -1640,7 +1527,6 @@
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Eskatu zure hasiera-zerbitzariaren administratzaileari (%(homeserverDomain)s) TURN zerbitzari bat konfiguratu dezala deiek ondo funtzionatzeko.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Bestela, turn.matrix.org zerbitzari publikoa erabili dezakezu, baina hau ez da hain fidagarria izango, eta zure IP-a partekatuko du zerbitzari horrekin. Hau ezarpenetan ere kudeatu dezakezu.",
"Try using turn.matrix.org": "Saiatu turn.matrix.org erabiltzen",
- "Failed to start chat": "Huts egin du txata hastean",
"Messages": "Mezuak",
"Actions": "Ekintzak",
"Displays list of commands with usages and descriptions": "Aginduen zerrenda bistaratzen du, erabilera eta deskripzioekin",
@@ -1669,7 +1555,6 @@
"Please enter verification code sent via text.": "Sartu SMS bidez bidalitako egiaztatze kodea.",
"Discovery options will appear once you have added a phone number above.": "Aurkitze aukerak behin goian telefono zenbaki bat gehitu duzunean agertuko dira.",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "SMS mezu bat bidali zaizu +%(msisdn)s zenbakira. Sartu hemen mezu horrek daukan egiaztatze-kodea.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Gailu hau fidagarria dela egiaztatzeko, egiaztatu gailu horretako Erabiltzaile ezarpenetan ikusi dezakezun gakoa beheko hau bera dela:",
"Command Help": "Aginduen laguntza",
"No identity server is configured: add one in server settings to reset your password.": "Eza da identitate-zerbitzaririk konfiguratu, gehitu bat zerbitzari-ezarpenetan zure pasahitza berrezartzeko.",
"This account has been deactivated.": "Kontu hau desaktibatuta dago.",
@@ -1697,7 +1582,6 @@
"Changes the avatar of the current room": "Uneko gelaren abatarra aldatzen du",
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Erabili identitate-zerbitzari bat e-mail bidez gonbidatzeko. Sakatu jarraitu lehenetsitakoa erabiltzeko (%(defaultIdentityServerName)s) edo aldatu ezarpenetan.",
"Use an identity server to invite by email. Manage in Settings.": "Erabili identitate-zerbitzari bat e-mail bidez gonbidatzeko. Kudeatu ezarpenetan.",
- "Use the new, faster, composer for writing messages": "Erabili mezuak idazteko tresna berri eta azkarragoa",
"Send read receipts for messages (requires compatible homeserver to disable)": "Bidali mezuentzako irakurragiriak (Hasiera-zerbitzari bateragarria behar da desgaitzeko)",
"Show previews/thumbnails for images": "Erakutsi irudien aurrebista/iruditxoak",
"Change identity server": "Aldatu identitate-zerbitzaria",
@@ -1714,7 +1598,6 @@
"Clear cache and reload": "Garbitu cachea eta birkargatu",
"Read Marker lifetime (ms)": "Orri-markagailuaren biziraupena (ms)",
"Read Marker off-screen lifetime (ms)": "Orri-markagailuaren biziraupena pantailaz kanpo (ms)",
- "A device's public name is visible to people you communicate with": "Gailuaren izen publikoa zurekin komunikatzen den jendeak ikusi dezake",
"Error changing power level requirement": "Errorea botere-maila eskaria aldatzean",
"An error occurred changing the room's power level requirements. Ensure you have sufficient permissions and try again.": "Errore bat gertatu da gelaren botere-maila eskariak aldatzean. Baieztatu baimen bahikoa duzula eta saiatu berriro.",
"Error changing power level": "Errorea botere-maila aldatzean",
@@ -1841,14 +1724,12 @@
"%(senderName)s placed a video call.": "%(senderName)s erabiltzaileak bideo-dei bat abiatu du.",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s erabiltzaileak bideo-dei bat abiatu du. (Nabigatzaile honek ez du onartzen)",
"Try out new ways to ignore people (experimental)": "Probatu jendea ez entzuteko modu berriak (esperimentala)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Bidali egiaztatze eskariak mezu zuzenetan, kide paneleko egiaztatze interfaze berria barne.",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Gaitu zeharkako sinadura erabiltzaileko eta ez gailuko egiaztatzeko (garapenean)",
"Enable local event indexing and E2EE search (requires restart)": "Gaitu gertaera lokalen indexazioa eta E2EE bilaketa (berrabiarazi behar da)",
"Match system theme": "Bat egin sistemako gaiarekin",
"My Ban List": "Nire debeku-zerrenda",
"This is your list of users/servers you have blocked - don't leave the room!": "Hau blokeatu dituzun erabiltzaile edo zerbitzarien zerrenda da, ez atera gelatik!",
"Decline (%(counter)s)": "Ukatu (%(counter)s)",
- "Connecting to integration manager...": "Integrazio kudeatzailera konektatzen...",
+ "Connecting to integration manager...": "Integrazio kudeatzailera konektatzen…",
"Cannot connect to integration manager": "Ezin da integrazio kudeatzailearekin konektatu",
"The integration manager is offline or it cannot reach your homeserver.": "Integrazio kudeatzailea lineaz kanpo dago edo ezin du zure hasiera-zerbitzaria atzitu.",
"Clear notifications": "Garbitu jakinarazpenak",
@@ -1890,11 +1771,7 @@
"Failed to connect to integration manager": "Huts egin du integrazio kudeatzailera konektatzean",
"Trusted": "Konfiantzazkoa",
"Not trusted": "Ez konfiantzazkoa",
- "Hide verified Sign-In's": "Ezkutatu baieztatuko saio hasierak",
- "%(count)s verified Sign-In's|other": "Baieztatutako %(count)s saio hasiera",
- "%(count)s verified Sign-In's|one": "Baieztatutako saio hasiera 1",
"Direct message": "Mezu zuzena",
- "Unverify user": "Kendu baieztatzea erabiltzaileari",
"%(role)s in %(roomName)s": "%(role)s %(roomName)s gelan",
"Messages in this room are end-to-end encrypted.": "Gela honetako mezuak ez daude muturretik muturrera zifratuta.",
"Security": "Segurtasuna",
@@ -1945,11 +1822,9 @@
"%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s erabiltzaileak zerbitzariak debekatzen dituen araua aldatu du %(oldGlob)s adierazpenetik %(newGlob)s adierazpenera, arrazoia: %(reason)s",
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s erabiltzaileak debeku arau bat aldatu du %(oldGlob)s adierazpenetik %(newGlob)s adierazpenera, arrazoia: %(reason)s",
"Cross-signing and secret storage are enabled.": "Zeharkako sinadura eta biltegi sekretua gaituta daude.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Zure kontuak zeharkako sinaduraren identitatea biltegi sekretuan du, baina gailu honek oraindik ez du fidagarritzat.",
"Cross-signing and secret storage are not yet set up.": "Zeharkako sinadura eta biltegi sekretua ez daude oraindik ezarrita.",
"Bootstrap cross-signing and secret storage": "Abiatu zeharkako sinadura eta biltegi sekretua",
"Cross-signing public keys:": "Zeharkako sinaduraren gako publikoak:",
- "on device": "gailuan",
"not found": "ez da aurkitu",
"Cross-signing private keys:": "Zeharkako sinaduraren gako pribatuak:",
"in secret storage": "biltegi sekretuan",
@@ -1959,10 +1834,7 @@
"Backup has a valid signature from this user": "Babes-kopiak erabiltzaile honen baliozko sinadura bat du",
"Backup has a invalid signature from this user": "Babes-kopiak erabiltzaile honen baliogabeko sinadura bat du",
"Backup has a signature from unknown user with ID %(deviceId)s": "Babes-kopiak %(deviceId)s ID-a duen erabiltzaile ezezagun baten sinadura du",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Babes-kopiak %(deviceId)s ID-a duen gailu ezezagun baten sinadura du",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Babes-kopiaren gakoa biltegi sekretuan gorde da, gaina ezaugarri hau ez dago aktibatuta gailu honetan. Gaitu zeharkako sinadura laborategian babes-kopiaren egoera aldatzeko.",
"Backup key stored: ": "Babes-kopiaren gakoa gordeta: ",
- "Start using Key Backup with Secure Secret Storage": "Hasi gakoen babes-kopia erabiltzen biltegi sekretu seguruarekin",
"Cross-signing": "Zeharkako sinadura",
"This message cannot be decrypted": "Mezu hau ezin da deszifratu",
"Unencrypted": "Zifratu gabe",
@@ -1984,56 +1856,424 @@
"Enter secret storage passphrase": "Sartu biltegi sekretuko pasaesaldia",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "Ezin izan da biltegi sekretura sartu. Egiaztatu pasaesaldi zuzena idatzi duzula.",
"Warning: You should only access secret storage from a trusted computer.": "Abisua: Biltegi sekretura ordenagailu fidagarri batetik konektatu beharko zinateke beti.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "Atzitu zure mezu seguruen historiala eta zeharkako sinaduraren identitatea beste gailuak egiaztatzeko zure pasa-esaldia sartuz.",
"If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Zure pasa-esaldia ahaztu baduzu berreskuratze gakoa erabili dezakezu edo berreskuratze aukera berriak ezarri ditzakezu.",
"Enter secret storage recovery key": "Sartu biltegi sekretuko berreskuratze-gakoa",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Ezin izan da biltegi sekretura sartu. Egiaztatu berreskuratze-gako zuzena sartu duzula.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "Atzitu zure mezu seguruen historiala eta zeharkako sinaduraren identitatea beste gailuak egiaztatzeko zure pasa-esaldia sartuz.",
"If you've forgotten your recovery key you can set up new recovery options.": "Zure berreskuratze-gakoa ahaztu baduzu berreskuratze aukera berriak ezarri ditzakezu.",
"Warning: You should only set up key backup from a trusted computer.": "Abisua:: Gakoen babes-kopia fidagarria den gailu batetik egin beharko zenuke beti.",
"If you've forgotten your recovery key you can set up new recovery options": "Zure berreskuratze-gakoa ahaztu baduzu berreskuratze aukera berriak ezarri ditzakezu",
"Notification settings": "Jakinarazpenen ezarpenak",
"User Status": "Erabiltzaile-egoera",
- "Warning: You should only set up secret storage from a trusted computer.": "Abisua: Biltegi sekretura ordenagailu fidagarri batetik konektatu beharko zinateke beti.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "Biltegi sekretua erabiliko dugu, aukeran, beste gailuak egiaztatzeko zure zeharkako sinaduraren identitatearen eta mezuen gakoen kopia zifratu bat zure zerbitzarian gordetzeko. Babestu zure mezu zifratuetara sarbidea pasa.esaldi batekin seguru mantentzeko.",
"Set up with a recovery key": "Ezarri berreskuratze gakoarekin",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Aukeran, berreskuratze pasa-esaldia ahazten baduzu, zure zifratutako mezuak berreskuratzeko erabili dezakezu.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Badaezpada, zure zifratutako mezuen historiala berreskuratzeko erabili dezakezu.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Gorde zure berreskuratze gakoa toki oso seguruan, esaterako pasahitz kudeatzaile batean (edo gordailu kutxan).",
"Your recovery key has been copied to your clipboard, paste it to:": "Zure berreskuratze gakoa arbelera kopiatu da, itsatsi hemen:",
"Your recovery key is in your Downloads folder.": "Zure berreskuratze gakoa zure Deskargak karpetan dago.",
- "Your access to encrypted messages is now protected.": "Zure zifratutako mezuetara sarbidea babestuta dago.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "Mezu seguruen berreskuratzea ezartzen ez bada, ezin izango duzu zure zifratutako mezuen historiala edo beste gailuak egiaztatzeko zeharkako sinadura berreskuratu saioa amaitzen baduzu edo beste gailu bat erabiltzen baduzu.",
- "Set up secret storage": "Ezarri biltegi sekretua",
- "Secure your encrypted messages with a passphrase": "Babestu zure zifratutako mezuak pasa-esaldi batekin",
"Storing secrets...": "Sekretuak gordetzen...",
"Unable to set up secret storage": "Ezin izan da biltegi sekretua ezarri",
"The message you are trying to send is too large.": "Bidali nahi duzun mezua handiegia da.",
- "This user has not verified all of their devices.": "Erabiltzaileak ez ditu bere gailu guztiak egiaztatu.",
- "You have not verified this user. This user has verified all of their devices.": "Ez duzu erabiltzaile hau egiaztatu. Erabiltzaile honek bere gailu guztiak egiaztatu ditu.",
- "You have verified this user. This user has verified all of their devices.": "Erabiltzaile hau egiaztatu duzu. Erabiltzaile honek bere gailu guztiak egiaztatu ditu.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Ez dituzu zifratutako gela honetako erabiltzaile batzuk egiaztatu, edo hauek ez dituzte bere gailu guztiak egiaztatu.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Zifratutako gela honetako erabiltzaile guztiak egiaztatu dituzu, eta hauek bere gailu guztiak egiaztatu dituzte.",
"Language Dropdown": "Hizkuntza menua",
"Help": "Laguntza",
"Country Dropdown": "Herrialde menua",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "Biltegi sekretua zure oraingo gakoen babes-kopiaren xehetasunak erabiliz ezarriko da. Zure biltegi sekretuaren pasa-esaldia eta berreskuratze gakoa lehen gakoen babes-kopiarako ziren berdinak izango dira",
- "Migrate from Key Backup": "Migratu gakoen babes-kopiatik",
- "New DM invite dialog (under development)": "Mezu zuzen bidezko gonbidapen elkarrizketa-koadro berria (garapenean)",
"Show info about bridges in room settings": "Erakutsi zubiei buruzko informazioa gelaren ezarpenetan",
- "This bridge was provisioned by ": "Zubi hau erabiltzaileak hornitu du",
"This bridge is managed by .": "Zubi hau erabiltzaileak kudeatzen du.",
- "Bridged into , on ": " kanalera zubia, protokoloan",
- "Connected to on ": " kanalera konektatuta, sarean",
- "Connected via %(protocolName)s": "%(protocolName)s bidez konektatuta",
- "Bridge Info": "Zubiaren informazioa",
- "Below is a list of bridges connected to this room.": "Behean gela honetara konektatutako zubien informazioa dago.",
"Show more": "Erakutsi gehiago",
"Recent Conversations": "Azken elkarrizketak",
"Direct Messages": "Mezu zuzenak",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ez baduzu baten bat aurkitzen, eska egiezu bere erabiltzaile-izena, edo eman egiezu zurea (%(userId)s) edo profilera esteka.",
"Go": "Joan",
"Suggestions": "Proposamenak",
"Failed to find the following users": "Ezin izan dira honako erabiltzaile hauek aurkitu",
- "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Honako erabiltzaile hauek agian ez dira existitzen edo baliogabeak dira, eta ezin dira gonbidatu: %(csvNames)s"
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Honako erabiltzaile hauek agian ez dira existitzen edo baliogabeak dira, eta ezin dira gonbidatu: %(csvNames)s",
+ "Show a presence dot next to DMs in the room list": "Erakutsi presentzia puntua mezu zuzenen ondoan gelen zerrendan",
+ "Lock": "Blokeatu",
+ "Restore": "Berrezarri",
+ "a few seconds ago": "duela segundo batzuk",
+ "about a minute ago": "duela minutu bat inguru",
+ "%(num)s minutes ago": "duela %(num)s minutu",
+ "about an hour ago": "duela ordubete inguru",
+ "%(num)s hours ago": "duela %(num)s ordu",
+ "about a day ago": "duela egun bat inguru",
+ "%(num)s days ago": "duela %(num)s egun",
+ "a few seconds from now": "hemendik segundo batzuetara",
+ "about a minute from now": "hemendik minutu batera",
+ "%(num)s minutes from now": "hemendik %(num)s minututara",
+ "about an hour from now": "hemendik ordubetera",
+ "%(num)s hours from now": "hemendik %(num)s ordutara",
+ "about a day from now": "hemendik egun batera",
+ "%(num)s days from now": "hemendik %(num)s egunetara",
+ "Other users may not trust it": "Beste erabiltzaile batzuk ez fidagarritzat jo lezakete",
+ "Later": "Geroago",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Ezin izan dira honako erabiltzaile hauek gonbidatu txatera: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "Ezin izan dugu zure mezu zuena sortu. Egiaztatu gonbidatu nahi dituzun erabiltzaileak eta saiatu berriro.",
+ "Something went wrong trying to invite the users.": "Okerren bat egon da erabiltzaileak gonbidatzen saiatzean.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Ezin izan ditugu erabiltzaile horiek gonbidatu. Egiaztatu gonbidatu nahi dituzun erabiltzaileak eta saiatu berriro.",
+ "Recently Direct Messaged": "Berriki mezu zuzena bidalita",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Ez baduzu baten bat aurkitzen, eskatu bere erabiltzaile-izena (adib. @erabiltzailea:zerbitzaria.eus) edo partekatu gela hau.",
+ "Complete security": "Segurtasun osoa",
+ "Verify this session to grant it access to encrypted messages.": "Egiaztatu saio hau zifratutako mezuetara sarbidea emateko.",
+ "Start": "Hasi",
+ "Session verified": "Saioa egiaztatuta",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Zure saio berria orain egiaztatuta dago. Zure zifratutako mezuetara sarbidea du, eta beste erabiltzaileek fidagarri gisa ikusiko zaituzte.",
+ "Done": "Egina",
+ "Go Back": "Joan atzera",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s erabiltzaileak %(addedAddresses)s helbideak eta beste %(count)s gehitu dizkio gela honi",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s erabiltzaileak %(removedAddresses)s helbideak eta beste %(count)s kendu dizkio gela honi",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s erabiltzaileak %(countRemoved)s helbide kendu eta %(countAdded)s gehitu dizkio gela honi",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s erabiltzaileak muturretik muturrera zifratzea aktibatu du.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s erabiltzaileak muturretik muturrera zifratzea gaitu du (%(algorithm)s algoritmo ezezaguna).",
+ "This room is end-to-end encrypted": "Gela hau muturretik muturrera zifratuta dago",
+ "Everyone in this room is verified": "Gelako guztiak egiaztatuta daude",
+ "Invite only": "Gonbidapenez besterik ez",
+ "Send a reply…": "Bidali erantzuna…",
+ "Send a message…": "Bidali mezua…",
+ "Reject & Ignore user": "Ukatu eta ezikusi erabiltzailea",
+ "Unknown Command": "Agindu ezezaguna",
+ "Unrecognised command: %(commandText)s": "Agindu ezezaguna: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "/help erabili dezakezu agindu erabilgarrien zerrenda ikusteko. Ala mezu gisa bidali nahi zenuen hau?",
+ "Hint: Begin your message with // to start it with a slash.": "Aholkua: Hasi zure mezua // idatziz barra batekin hasi nahi baduzu.",
+ "Send as message": "Bidali mezu gisa",
+ "Verify User": "Egiaztatu erabiltzailea",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Segurtasun gehiagorako, egiaztatu erabiltzaile hau aldi-bakarrerako kode bat bi gailuetan egiaztatuz.",
+ "Start Verification": "Hasi egiaztaketa",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Ez baduzu baten bat aurkitzen, eskatu bere erabiltzaile-izena, partekatu zurea (%(userId)s) edo partekatu profilaren esteka.",
+ "Enter your account password to confirm the upgrade:": "Sartu zure kontuaren pasa-hitza eguneraketa baieztatzeko:",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Zerbitzariarekin autentifikatu beharko duzu eguneraketa baieztatzeko.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Babestu zure zifratze gakoak pasa-esaldi batekin. Segurtasun gorenerako hau eta zure kontuaren pasahitza desberdinak izan beharko lukete:",
+ "Enter a passphrase": "Sartu pasa-esaldia",
+ "Enter your passphrase a second time to confirm it.": "Sartu zure pasa-esaldia berriro hau baieztatzeko.",
+ "Verify other users in their profile.": "Egiaztatu beste erabiltzaileak bere profiletan.",
+ "Upgrade your encryption": "Eguneratu zure zifratzea",
+ "Set up encryption": "Ezarri zifratzea",
+ "Encryption upgraded": "Zifratzea eguneratuta",
+ "Encryption setup complete": "Zifratzearen ezarpena egina",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Saio ezezagunak daude gela honetan: egiaztatu gabe aurrera jarraitzen baduzu, baten batek zure deian kuxkuxeatu lezake.",
+ "Setting up keys": "Gakoak ezartzea",
+ "Verify this session": "Egiaztatu saio hau",
+ "Encryption upgrade available": "Zifratze eguneratzea eskuragarri",
+ "Unverified session": "Egiaztatu gabeko saioa",
+ "Verifies a user, session, and pubkey tuple": "Erabiltzaile, saio eta gako-publiko tupla egiaztatzen du",
+ "Unknown (user, session) pair:": "(Erabiltzaile, saio) bikote ezezaguna:",
+ "Session already verified!": "Saioa jada egiaztatu da!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ABISUA: Saioa jada egiaztatu da, baina gakoak EZ DATOZ BAT!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ABISUA: GAKO EGIAZTAKETAK HUTS EGIN DU! %(userId)s eta %(deviceId)s saioaren sinatze gakoa %(fprint)s da, eta ez dator bat emandako %(fingerprint)s gakoarekin. Honek esan nahi lezake norbaitek zure komunikazioan esku sartzen ari dela!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Eman duzun sinatze gakoa bat dator %(userId)s eta %(deviceId)s saioarentzat jaso duzun sinatze-gakoarekin. Saioa egiaztatu gisa markatu da.",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Gaitu zeharkako sinatzea erabiltzaileko egiaztatzeko eta ez saioko (garapenean)",
+ "Show padlocks on invite only rooms": "Erakutsi giltzarrapoak soilik gonbidapenarekin diren geletan",
+ "Never send encrypted messages to unverified sessions from this session": "Ez bidali inoiz zifratutako mezuak egiaztatu gabeko saioetara saio honetatik",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Ez bidali inoiz zifratutako mezuak egiaztatu gabeko saioetara gela honetan saio honetatik",
+ "Enable message search in encrypted rooms": "Gaitu mezuen bilaketa gela zifratuetan",
+ "Keep secret storage passphrase in memory for this session": "Mantendu biltegi sekretuko pasa-esaldia memorian saio honetan",
+ "How fast should messages be downloaded.": "Zeinen azkar deskargatu behar diren mezuak.",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Baieztatu azpiko emojiak bi gailuetan ikusten direla, ordena berean:",
+ "Verify this device by confirming the following number appears on its screen.": "Egiaztatu gailu hau honako zenbakia bere pantailan agertzen dela baieztatuz.",
+ "Waiting for %(displayName)s to verify…": "%(displayName)s egiaztatu bitartean zain…",
+ "They match": "Bat datoz",
+ "They don't match": "Ez datoz bat",
+ "To be secure, do this in person or use a trusted way to communicate.": "Ziurtatzeko, egin hau aurrez aurre edo komunikabide seguru baten bidez.",
+ "Verify yourself & others to keep your chats safe": "Egiaztatu zure burua eta besteak txatak seguru mantentzeko",
+ "Review": "Berrikusi",
+ "This bridge was provisioned by .": "Zubi hau erabiltzaileak hornitu du.",
+ "Workspace: %(networkName)s": "Lan eremua: %(networkName)s",
+ "Channel: %(channelName)s": "Kanala: %(channelName)s",
+ "Show less": "Erakutsi gutxiago",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Pasahitza aldatzean oraingo muturretik muturrerako zifratze gako guztiak ezeztatuko ditu saio guztietan, zifratutako txaten historiala ezin izango da irakurri ez badituzu aurretik zure geletako gakoak esportatzen eta gero berriro inportatzen. Etorkizunean hau hobetuko da.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Zure kontua zeharkako sinatze identitate bat du biltegi sekretuan, baina saio honek ez du oraindik fidagarritzat.",
+ "in memory": "memorian",
+ "Your homeserver does not support session management.": "Zure hasiera-zerbitzariak ez du saio kudeaketa onartzen.",
+ "Unable to load session list": "Ezin izan da saioen zerrenda kargatu",
+ "Delete %(count)s sessions|other": "Ezabatu %(count)s saio",
+ "Delete %(count)s sessions|one": "Ezabatu saio %(count)s",
+ "rooms.": "gela.",
+ "Manage": "Kudeatu",
+ "Enable": "Gaitu",
+ "This session is backing up your keys. ": "Saio honek zure gakoen babes-kopia egiten du. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Saio honek ez du zure gakoen babes-kopia egiten, baina badago berreskuratu eta gehitu deakezun aurreko babes-kopia bat.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Konektatu saio hau gakoen babes-kopiara saioa amaitu aurretik saio honetan bakarrik dauden gakoak ez galtzeko.",
+ "Connect this session to Key Backup": "Konektatu saio hau gakoen babes-kopiara",
+ "Backup has a valid signature from this session": "Babes-kopiak saio honen baliozko sinadura bat du",
+ "Backup has an invalid signature from this session": "Babes-kopiak saio honen baliogabeko sinadura bat du",
+ "Backup has a valid signature from verified session ": "Babes-kopiak baliozko sinadura du, egiaztatutako saio batena, ",
+ "Backup has a valid signature from unverified session ": "Babes-kopiak baliozko sinadura du, egiaztatu gabeko saio batena, ",
+ "Backup has an invalid signature from verified session ": "Babes-kopiak baliogabeko sinadura du, egiaztatutako saio batena, ",
+ "Backup has an invalid signature from unverified session ": "Babes-kopiak baliogabeko sinadura du, egiaztatu gabeko saio batena, ",
+ "Backup is not signed by any of your sessions": "Babes-kopia ez dago zure saio batek sinatuta",
+ "This backup is trusted because it has been restored on this session": "Babes-kopia hau fidagarritzat jotzen da saio honetan berrekuratu delako",
+ "Your keys are not being backed up from this session.": "Ez da zure gakoen babes-kopia egiten saio honetatik.",
+ "Enable desktop notifications for this session": "Gaitu mahaigaineko jakinarazpenak saio honentzat",
+ "Enable audible notifications for this session": "Gaitu jakinarazpen entzungarriak saio honentzat",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Zure pasahitza ongi aldatu da. Ez duzu jakinarazpenik jasoko beste saioetan horietan saioa berriro hasi arte",
+ "Session ID:": "Saioaren ID-a:",
+ "Session key:": "Saioaren gakoa:",
+ "Message search": "Mezuen bilaketa",
+ "Sessions": "Saioak",
+ "A session's public name is visible to people you communicate with": "Saio baten izen publikoa zurekin komunikatzen den jendeak ikusi dezake",
+ "This room is bridging messages to the following platforms. Learn more.": "Gela honek honako plataformetara kopiatzen ditu mezuak. Argibide gehiago.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Gela honek ez ditu mezuak beste plataformatara kopiatzen. Argibide gehiago.",
+ "Bridges": "Zubiak",
+ "This user has not verified all of their sessions.": "Erabiltzaile honek ez ditu bere saio guztiak egiaztatu.",
+ "You have not verified this user.": "Ez duzu erabiltzaile hau egiaztatu.",
+ "Someone is using an unknown session": "Baten batek saio ezezagun bat erabiltzen du",
+ "Some sessions for this user are not trusted": "Erabiltzaile honen saio batzuk ez dira fidagarritzat jotzen",
+ "All sessions for this user are trusted": "Erabiltzaile honen saio guztiak fidagarritzat jotzen dira",
+ "Some sessions in this encrypted room are not trusted": "Zifratutako gela honetako saio batzuk ez dira fidagarritzat jotzen",
+ "All sessions in this encrypted room are trusted": "Zifratutako gela honetako saio guztiak fidagarritzat jotzen dira",
+ "Encrypted by an unverified session": "Egiaztatu gabeko saio batek zifratua",
+ "Encrypted by a deleted session": "Ezabatutako saio batek zifratua",
+ "Your messages are not secure": "Zure mezuak ez daude babestuta",
+ "Your homeserver": "Zure hasiera-zerbitzaria",
+ "The homeserver the user you’re verifying is connected to": "Egiztatzen ari zaren erabiltzailearen hasiera-zerbitzaria",
+ "Yours, or the other users’ internet connection": "Zure edo bestearen Internet konexioa",
+ "Yours, or the other users’ session": "Zure edo bestearen saioa",
+ "%(count)s sessions|other": "%(count)s saio",
+ "%(count)s sessions|one": "saio %(count)s",
+ "Hide sessions": "Ezkutatu saioak",
+ "Verify by emoji": "Egiaztatu emoji bidez",
+ "Verify by comparing unique emoji.": "Egiaztatu emoji bakanak konparatuz.",
+ "Ask %(displayName)s to scan your code:": "Eskatu %(displayName)s erabiltzaileari zure kodea eskaneatu dezan:",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Ezin baduzu goiko kodea eskaneatu, egiaztatu emoji bakanak konparatuz.",
+ "You've successfully verified %(displayName)s!": "Ongi egiaztatu duzu %(displayName)s!",
+ "Got it": "Ulertuta",
+ "Verification timed out. Start verification again from their profile.": "Egiaztaketarako denbora-muga agortu da. Hasi egiaztaketa berriro bere profiletik.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s erabiltzaileak egiaztaketa ezeztatu du. Hasi egiaztaketa berriro bere profiletik.",
+ "You cancelled verification. Start verification again from their profile.": "Egiaztaketa ezeztatu duzu. Hasi egiaztaketa berriro bere profiletik.",
+ "Encryption enabled": "Zifratzea gaituta",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Gela honetako mezuak muturretik muturrera zifratuta daude. Ikasi gehiago eta egiaztatu erabiltzaile hau bere erabiltzaile profilean.",
+ "Encryption not enabled": "Zifratzea gaitu gabe",
+ "The encryption used by this room isn't supported.": "Gela honetan erabilitako zifratzea ez da onartzen.",
+ "Clear all data in this session?": "Garbitu saio honetako datu guztiak?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Saio honetako datuak garbitzea behin betirako da. Zifratutako mezuak galdu egingo dira gakoen babes-kopia egin ez bada.",
+ "Verify session": "Egiaztatu saioa",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Saio hau fidagarritzat jo daitekeela egiaztatzeko, egiaztatu gailu horretako erabiltzaile ezarpenetan ikusten duzun gakoa beheko honekin bat datorrela:",
+ "Session name": "Saioaren izena",
+ "Session key": "Saioaren gakoa",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Bat badator, sakatu beheko egiaztatu botoia. Ez badator bat, beste inor saioa antzematen ari da eta zerrenda beltzean sartu beharko zenuke.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Erabiltzaile hau egiaztatzean bere saioa fidagarritzat joko da, eta zure saioak beretzat fidagarritzat ere.",
+ "Loading session info...": "Saioaren informazioa kargatzen…",
+ "New session": "Saio berria",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Erabili saio hau berria egiaztatzeko, honela mezu zifratuetara sarbidea emanez:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Ez baduzu saio hau zuk hasi, agian baten bat zure kontuan sartu da.",
+ "This wasn't me": "Ez naiz ni izan",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Honekin zure kontura itzuli ahalko zara beste saioak amaitu eta berriro hasita.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Egiaztatu gabeko saioak zerrenda beltzean sartzen ari zara, saio hauetara mezuak bidaltzeko egiaztatu behar dituzu.",
+ "Room contains unknown sessions": "Gelak saio ezezagunak ditu",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "%(RoomName)s gelan aurretik ikusi ez dituzun saioak daude.",
+ "Unknown sessions": "Saio ezezagunak",
+ "Recovery key mismatch": "Berreskuratze gakoak ez datoz bat",
+ "Incorrect recovery passphrase": "Berreskuratze pasa-esaldi okerra",
+ "Backup restored": "Babes-kopia berreskuratuta",
+ "Enter recovery passphrase": "Sartu berreskuratze pasa-esaldia",
+ "Enter recovery key": "Sartu berreskuratze gakoa",
+ "Confirm your identity by entering your account password below.": "Baieztatu zure identitatea zure kontuaren pasahitza azpian idatziz.",
+ "Message not sent due to unknown sessions being present": "Ez da mezua bidali saio ezezagunak daudelako",
+ "Your new session is now verified. Other users will see it as trusted.": "Zure saioa egiaztatuta dago orain. Beste erabiltzaileek fidagarri gisa ikusiko dute.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Saio honetan segurtasuna ezarri ezean, ez du zifratutako mezuetara sarbiderik izango.",
+ "Sender session information": "Igorlearen saioaren informazioa",
+ "Back up my encryption keys, securing them with the same passphrase": "Egin nire zifratze gakoen babes-kopia, babestu pasa-esaldi berberarekin",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Gorde kopia bat toki seguruan, esaterako pasahitz kudeatzaile batean edo gordailu kutxan.",
+ "Your recovery key": "Zure berreskuratze gakoa",
+ "Copy": "Kopiatu",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Orain zure beste gailuak eta beste erabiltzaileak egiaztatu ditzakezu txatak seguru mantentzeko.",
+ "Make a copy of your recovery key": "Egin zure berreskuratze gakoaren kopia",
+ "You're done!": "Bukatu duzu!",
+ "If you cancel now, you won't complete verifying the other user.": "Orain ezeztatzen baduzu, ez duzu beste erabiltzailearen egiaztaketa burutuko.",
+ "If you cancel now, you won't complete verifying your other session.": "Orain ezeztatzen baduzu, ez duzu beste zure beste saioaren egiaztaketa burutuko.",
+ "If you cancel now, you won't complete your secret storage operation.": "Orain ezeztatzen baduzu, ez duzu zure biltegi sekretuko eragiketa burutuko.",
+ "Cancel entering passphrase?": "Ezeztatu pasa-esaldiaren sarrera?",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Gorde zifratutako mezuak cachean modu seguruan bilaketen emaitzetan agertu daitezen.",
+ "You have verified this user. This user has verified all of their sessions.": "Erabiltzaile hau egiaztatu duzu. Erabiltzaile honek bere saio guztiak egiaztatu ditu.",
+ "Mod": "Moderatzailea",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Zure gako partekatze eskaria bidali da, egiaztatu zure beste saioak gako partekatze eskaera jaso duten.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Automatikoki bidaltzen dira gako partekatze eskaerak zure beste saioetara. Beste saioetan gako partekatze eskaera ukatu edo baztertu baduzu, sakatu hemen saio honentzat gakoak berriro eskatzeko.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Zure beste saioek ez badute mezu honen gakoa ezin izango duzu deszifratu.",
+ "Re-request encryption keys from your other sessions.": "Eskatu berriro zifratze gakoak zure beste saioei.",
+ "No sessions with registered encryption keys": "Ez dago zifratze gako hori duen saiorik",
+ "Waiting for %(displayName)s to accept…": "%(displayName)s(e)k onartu bitartean zain…",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Zuon mezuak babestuta daude eta soilik zuk eta hartzaileak dituzue hauek irekitzeko giltza.",
+ "One of the following may be compromised:": "Hauetakoren bat konprometituta egon daiteke:",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Egiztatu gailu hau fidagarri gisa markatzeko. Gailu hau fidagarritzat jotzeak lasaitasuna ematen du muturretik-muturrera zifratutako mezuak erabiltzean.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Gailu hau egiaztatzean fidagarri gisa markatuko da, eta egiaztatu zaituzten erabiltzaileek fidagarri gisa ikusiko dute.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "'%(displayName)s' saio berria gehitu duzu, eta zifratze gakoak eskatzen ari da.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Zure egiaztatu gabeko '%(displayName)s' saioa zifratze gakoak eskatzen ari da.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Egiaztaketa prozesua saio bakoitzeko egitea aholkatzen dizugu, benetan jabearenak direla baieztatzeko, baina egiaztaketa egin gabe mezua bidali dezakezu ere.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Atzitu zure mezu seguruen historiala eta zeharkako sinatzerako identitatea beste saioak egiaztatzeko zure pasa-esaldia sartuz.",
+ "Show sessions, send anyway or cancel.": "Erakutsi saioak, bidali edonola ere edo ezeztatu.",
+ "The information being sent to us to help make Riot better includes:": "Riot hobetzeko bidaltzen zaigun informazioa honakoa da, besteren artean:",
+ "Verify this session by completing one of the following:": "Egiaztatu saio hau hauetako bat osatuz:",
+ "or": "ala",
+ "The version of Riot": "Riot bertsioa",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Sarrera mekanismo nagusia ukimena den gailu bat erabiltzen duzun",
+ "Whether you're using Riot as an installed Progressive Web App": "Riot instalatutako aplikazio progresibo gisa erabiltzen duzun",
+ "Your user agent": "Zure erabiltzaile-agentea",
+ "Show typing notifications": "Erakutsi idazketa jakinarazpenak",
+ "Scan this unique code": "Eskaneatu kode bakan hau",
+ "Compare unique emoji": "Konparatu emoji bakana",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Konparatu emoji sorta bakana gailuek kamerarik ez badute",
+ "Sign In or Create Account": "Hasi saioa edo sortu kontua",
+ "Use your account or create a new one to continue.": "Erabili zure kontua edo sortu berri bat jarraitzeko.",
+ "Create Account": "Sortu kontua",
+ "Order rooms by name": "Ordenatu gelak izenez",
+ "Show rooms with unread notifications first": "Erakutsi irakurri gabeko jakinarazpenak dituztenak aurretik",
+ "Show shortcuts to recently viewed rooms above the room list": "Erakutsi ikusitako azken geletara lasterbideak gelen zerrendaren goialdean",
+ "Cancelling…": "Ezeztatzen…",
+ "Your homeserver does not support cross-signing.": "Zure hasiera-zerbitzariak ez du zeharkako sinatzea onartzen.",
+ "Reset cross-signing and secret storage": "Berrezarri zeharkako sinadura eta biltegi sekretua",
+ "Homeserver feature support:": "Hasiera-zerbitzariaren ezaugarrien euskarria:",
+ "exists": "badago",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Gorde zifratutako mezuak cachean modu seguruan bilaketen emaitzetan agertu daitezen, hau erabiliz ",
+ " to store messages from ": " hemengo mezuak gordetzeko ",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot-ek zifratutako mezuak cache lokalean modu seguruan gordetzeko elementu batzuk faltan ditu. Ezaugarri honekin esperimentatu nahi baduzu, konpilatu pertsonalizatutako Riot Desktop bilaketa osagaiekin.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot-ek ezin ditu zifratutako mezuak cache lokalean gorde web nabigatzaile batetik badabil. Erabili Riot Desktop zifratutako mezuak bilaketen emaitzetan agertzeko.",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Babes-kopiak %(deviceId)s ID-a duen erabiltzaile ezezagun baten sinadura du",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Babes-kopiaren gakoa biltegi sekretuan gorde da, baina ezaugarri hau ez dago saio honetan aktibatuta. Gaitu zeharkako sinatzea Laborategia atalean gakoen babes-kopiaren egoera aldatzeko.",
+ "Accepting…": "Onartzen…",
+ "Not Trusted": "Ez konfiantzazkoa",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) erabiltzaileak saio berria hasi du hau egiaztatu gabe:",
+ "Ask this user to verify their session, or manually verify it below.": "Eskatu erabiltzaile honi saioa egiaztatu dezala, edo egiaztatu eskuz azpian.",
+ "Manually Verify": "Eskuzko egiaztaketa",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "Egiaztatu nahi duzun saioak ez du QR kodea eskaneatzea onartzen, ezta emoji egiaztaketa, eta hau da Riot-ek onartzen duena. Saiatu beste bezero batekin.",
+ "Verify by scanning": "Egiaztatu eskaneatuz",
+ "You declined": "Ukatu egin duzu",
+ "%(name)s declined": "%(name)s erabiltzaileak ukatu du",
+ "Accepting …": "Onartzen…",
+ "Declining …": "Ukatzen…",
+ "Destroy cross-signing keys?": "Suntsitu zeharkako sinatzerako gakoak?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Zeharkako sinatzerako gakoak ezabatzea behin betiko da. Egiaztatu dituzunak segurtasun abisu bat jasoko dute. Ziur aski ez duzu hau egin nahi, zeharkako sinatzea ahalbidetzen dizun gailu oro galdu ez baduzu.",
+ "Clear cross-signing keys": "Garbitu zeharkako sinatzerako gakoak",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Saio hau fidagarritzat jo daitekeela egiaztatzeko, jarri jabearekin kontaktuan beste bide batetik (adib. aurrez aurre edo telefonoz deituz) eta galdetu saio honentzat erabiltzaile ezarpenetan ikusten duten gakoa beheko honekin bat datorren:",
+ "Verification Requests": "Egiaztatze eskaerak",
+ "Your account is not secure": "Zure kontua ez da segurua",
+ "Your password": "Zure pasahitza",
+ "This session, or the other session": "Saio hau, edo beste saioa",
+ "The internet connection either session is using": "Saioetako batek darabilen internet konexioa",
+ "We recommend you change your password and recovery key in Settings immediately": "Pasahitza eta ezarpenetako berreskuratze gakoa berehala aldatzea aholkatzen dizugu",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Atzitu zure mezu seguruen historiala eta zeharkako sinatzerako identitatea beste saioak egiaztatzeko zure berreskuratze gakoa sartuz.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Zure pasahitza aldatzeak zure saio guztietako muturretik-muturrerako zifratzerako gakoak berrezarriko ditu, eta aurretik zifratutako mezuen historiala ezin izango da irakurri. Ezarri gakoen babes-kopia edo esportatu zure geletako gakoak beste saio batetik pasahitza aldatu aurretik.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Saio guztiak amaitu dituzu eta ez duzu push jakinarazpenik jasoko. Jakinarazpenak berriro aktibatzeko, hasi saioa gailuetan.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Berreskuratu zure kontura sarbidea eta saio honetan gordetako zifratze gakoak. Horiek gabe, ezin izango dituzu zure mezu seguruak beste saioetan irakurri.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Abisua: Zure datu pertsonalak (zure zifratze gakoak barne) saio honetan daude oraindik. Garbitu ezazu saio hau erabiltzen bukatu duzunean, edo beste kontu batekin saioa hasi nahi duzunean.",
+ "Restore your key backup to upgrade your encryption": "Berreskuratu zure gakoen babes-kopia zure zifratzea eguneratzeko",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Eguneratu saio hau beste saioak egiaztatu ahal ditzan, zifratutako mezuetara sarbidea emanez eta beste erabiltzaileei fidagarri gisa agertu daitezen.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Ezarri zifratzea saio honetan beste saioak egiaztatu ahal ditzan, zifratutako mezuetara sarbidea emanez eta beste erabiltzaileei fidagarri gisa agertu daitezen.",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Mezuen berreskuratze segurua ezartzen ez baduzu, ezin izango duzu zifratutako mezuen historiala berreskuratu saioa amaitzen baduzu edo beste saio bat erabiltzen baduzu.",
+ "Create key backup": "Sortu gakoen babes-kopia",
+ "This session is encrypting history using the new recovery method.": "Saio honek historiala zifratzen du berreskuratze metodo berria erabiliz.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Saio honek zure berreskuratze pasa-esaldia eta mezu seguruen gakoa kendu direla antzeman du.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Nahi gabe egin baduzu hau, Mezu seguruak ezarri ditzakezu saio honetan eta saioaren mezuen historiala berriro zifratuko da berreskuratze metodo berriarekin.",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Desgaituz gero, zifratutako geletako mezuak ez dira bilaketen emaitzetan agertuko.",
+ "Disable": "Desgaitu",
+ "Not currently downloading messages for any room.": "Orain ez da inolako gelatik mezurik deskargatzen ari.",
+ "Downloading mesages for %(currentRoom)s.": "%(currentRoom)s gelako mezuak deskargatzen.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot-ek zifratutako mezuak cache lokalean gordetzen ditu modu seguruan bilaketen emaitzen ager daitezen:",
+ "Space used:": "Erabilitako espazioa:",
+ "Indexed messages:": "Indexatutako mezuak:",
+ "Indexed rooms:": "Indexatutako gelak:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s / %(totalRooms)s",
+ "Message downloading sleep time(ms)": "Mezuen deskargaren itxarote tartea (ms)",
+ "Displays information about a user": "Erabiltzaileari buruzko informazioa erakusten du",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Matrix-ekin lotutako segurtasun arazo baten berri emateko, irakurri Segurtasun ezagutarazte gidalerroak.",
+ "Mark all as read": "Markatu denak irakurrita gisa",
+ "Not currently indexing messages for any room.": "Orain ez da inolako gelako mezurik indexatzen.",
+ "Currently indexing: %(currentRoom)s.": "Orain indexatzen: %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s / %(totalRooms)s",
+ "Review Sessions": "Berrikusi saioak",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s erabiltzaileak gelaren izena aldatu du%(oldRoomName)s izatetik %(newRoomName)s izatera.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s erabiltzaileak %(addresses)s ordezko helbideak gehitu dizkio gela honi.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s erabiltzaileak %(addresses)s helbideak gehitu dizkio gela honi.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s erabiltzaileak %(addresses)s helbideak kendu dizkio gela honi.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s erabiltzaileak %(addresses)s ordezko helbideak kendu dizkio gela honi.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s erabiltzaileak gela honen ordezko helbideak aldatu ditu.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s erabiltzaileak gela honen helbide nagusia eta ordezko helbideak aldatu ditu.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s erabiltzaileak gela honen helbideak aldatu ditu.",
+ "Support adding custom themes": "Gai pertsonalizatua gehitzea onartzen du",
+ "Invalid theme schema.": "Baliogabeko gai eskema.",
+ "Error downloading theme information.": "Errorea gaiaren informazioa deskargatzean.",
+ "Theme added!": "Gaia gehituta!",
+ "Custom theme URL": "Gai pertsonalizatuaren URLa",
+ "Add theme": "Gehitu gaia",
+ "Scroll to most recent messages": "Korritu azken mezuetara",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Errore bat gertatu da gelaren ordezko helbideak eguneratzean. Agian zerbitzariak ez du onartzen edo une bateko akatsa izan da.",
+ "You don't have permission to delete the alias.": "Ez duzu ezizena ezabatzeko baimenik.",
+ "Local address": "Helbide lokala",
+ "Published Addresses": "Argitaratutako helbideak",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Argitaratutako helbideak edonork erabili ditzake edozein zerbitzaritik zure gelara elkartzeko. Helbide bat argitaratzeko aurretik helbide lokal gisa ezarri behar da.",
+ "Other published addresses:": "Argitaratutako beste helbideak:",
+ "No other published addresses yet, add one below": "Ez dago argitaratutako beste helbiderik, gehitu bat azpian",
+ "New published address (e.g. #alias:server)": "Argitaratutako helbide berria (adib. #ezizena:zerbitzaria)",
+ "Local Addresses": "Helbide lokalak",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Ezarri gela honen helbideak erabiltzaileek gela aurki dezaten zure hasiera-zerbitzariaren bidez (%(localDomain)s)",
+ "Enter a server name": "Sartu zerbitzari-izena",
+ "Looks good": "Itxura ona du",
+ "Can't find this server or its room list": "Ezin da zerbitzaria aurkitu edo honen gelen zerrenda",
+ "All rooms": "Gela guztiak",
+ "Your server": "Zure zerbitzaria",
+ "Are you sure you want to remove %(serverName)s": "Ziur %(serverName)s kendu nahi duzula",
+ "Remove server": "Kendu zerbitzaria",
+ "Matrix": "Matrix",
+ "Add a new server": "Gehitu zerbitzari berria",
+ "Enter the name of a new server you want to explore.": "Sartu arakatu nahi duzun zerbitzari berriaren izena.",
+ "Server name": "Zerbitzari-izena",
+ "Add a new server...": "Gehitu zerbitzari berria...",
+ "%(networkName)s rooms": "%(networkName)s(e)ko gelak",
+ "Matrix rooms": "Matrix gelak",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "Ireki badagoen saio bat eta erabili hura hau egiaztatzeko, mezu zifratuetara sarbidea emanez.",
+ "Waiting…": "Itxaroten…",
+ "If you can’t access one, use your recovery key or passphrase.": "Ezin baduzu bat atzitu, erabili berreskuratze gakoa edo pasahitza.",
+ "Manually Verify by Text": "Egiaztatu eskuz testu bidez",
+ "Interactively verify by Emoji": "Egiaztatu interaktiboki Emoji bidez",
+ "Keyboard Shortcuts": "Teklatu lasterbideak",
+ "Start a conversation with someone using their name, username (like ) or email address.": "Hasi elkarrizketa norbaitekin bere izena, erabiltzaile izena (esaterako ) edo e-mail helbidea erabiliz.",
+ "a new master key signature": "gako nagusiaren sinadura berria",
+ "a new cross-signing key signature": "zeharkako sinatze gako sinadura berria",
+ "a device cross-signing signature": "gailuz zeharkako sinadura berria",
+ "a key signature": "gako sinadura",
+ "Riot encountered an error during upload of:": "Riotek errorea aurkitu du hau igotzean:",
+ "Upload completed": "Igoera burututa",
+ "Cancelled signature upload": "Sinadura igoera ezeztatuta",
+ "Unabled to upload": "Ezin izan da igo",
+ "Signature upload success": "Sinaduren igoera ongi burutu da",
+ "Signature upload failed": "Sinaduren igoerak huts egin du",
+ "Confirm by comparing the following with the User Settings in your other session:": "Berretsi honako hau zure beste saioaren erabiltzaile-ezarpenetan agertzen denarekin alderatuz:",
+ "Confirm this user's session by comparing the following with their User Settings:": "Baieztatu erabiltzaile saio hau, honako hau bestearen erabiltzaile-ezarpenekin alderatuz:",
+ "If they don't match, the security of your communication may be compromised.": "Ez badatoz bat, komunikazioaren segurtasuna konprometitua egon daiteke.",
+ "Navigation": "Nabigazioa",
+ "Calls": "Deiak",
+ "Room List": "Gelen zerrenda",
+ "Autocomplete": "Osatze automatikoa",
+ "Alt": "Alt",
+ "Alt Gr": "Alt Gr",
+ "Shift": "Maius.",
+ "Super": "Super",
+ "Ctrl": "Ctrl",
+ "Toggle Bold": "Txandakatu lodia",
+ "Toggle Italics": "Txandakatu etzana",
+ "Toggle Quote": "Txandakatu aipamena",
+ "New line": "Lerro berria",
+ "Navigate recent messages to edit": "Nabigatu azken mezuetara editatzeko",
+ "Jump to start/end of the composer": "Jauzi konposatzailearen hasierara/amaierara",
+ "Navigate composer history": "Nabigatu konposatzailearen historiala",
+ "Toggle microphone mute": "Txandakatu mikrofonoa mututzea",
+ "Toggle video on/off": "Txandakatu bideoa bai/ez",
+ "Jump to room search": "Jauzi gelaren bilaketara",
+ "Navigate up/down in the room list": "Nabigatu gora/behera gelen zerrendan",
+ "Select room from the room list": "Hautatu gela gelen zerrendan",
+ "Collapse room list section": "Tolestu gelen zerrendako hautaketa",
+ "Expand room list section": "Hedatu gelen zerrendako hautaketa",
+ "Clear room list filter field": "Garbitu gelen zerrendaren iragazki eremua",
+ "Scroll up/down in the timeline": "Korritu gora/behera denbora-lerroan",
+ "Previous/next unread room or DM": "Aurreko/hurrengo irakurri gabeko gela edo mezu zuzena",
+ "Previous/next room or DM": "Aurreko/hurrengo gela edo mezu zuzena",
+ "Toggle the top left menu": "Txandakatu goi ezkerreko menua",
+ "Close dialog or context menu": "Itxi elkarrizketa-koadroa edo laster-menua",
+ "Activate selected button": "Aktibatu hautatutako botoia",
+ "Toggle right panel": "Txandakatu eskumako panela",
+ "Toggle this dialog": "Txandakatu elkarrizketa-koadro hau",
+ "Move autocomplete selection up/down": "Mugitu osatze automatikoaren hautaketa gora/behera",
+ "Cancel autocomplete": "Ezeztatu osatze automatikoa",
+ "Page Up": "Orrialdea gora",
+ "Page Down": "Orrialdea behera",
+ "Esc": "Esc",
+ "Enter": "Sartu",
+ "Space": "Zuriune-barra",
+ "End": "Amaiera"
}
diff --git a/src/i18n/strings/fa.json b/src/i18n/strings/fa.json
index 056aa9400c..badb785132 100644
--- a/src/i18n/strings/fa.json
+++ b/src/i18n/strings/fa.json
@@ -52,7 +52,6 @@
"Noisy": "پرسروصدا",
"Collecting app version information": "درحال جمعآوری اطلاعات نسخهی برنامه",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "آیا مطمئنید که میخواهید نام مستعار گپ %(alias)s را پاک و %(name)s را از فهرست حذف کنید؟",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "این به شما اجازه خواهد داد که پس از خروج به اکانت خود بازگردید و از سایر دستگاهها وارد شوید.",
"Cancel": "لغو",
"Enable notifications for this account": "آگاه سازی با رایانامه را برای این اکانت فعال کن",
"Messages containing keywords": "پیامهای دارای این کلیدواژهها ",
diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json
index e53afb2598..8f44d21c19 100644
--- a/src/i18n/strings/fi.json
+++ b/src/i18n/strings/fi.json
@@ -83,12 +83,8 @@
"Decline": "Hylkää",
"Decryption error": "Virhe salauksen purkamisessa",
"Default": "Oletus",
- "Device already verified!": "Laite on jo varmennettu!",
"Device ID": "Laitetunniste",
- "Device ID:": "Laitetunniste:",
"device id: ": "laitetunniste: ",
- "Device key:": "Laiteavain:",
- "Devices": "Laitteet",
"Direct chats": "Suorat keskustelut",
"Disable Notifications": "Ota ilmoitukset pois käytöstä",
"Disinvite": "Peru kutsu",
@@ -100,9 +96,8 @@
"Email address": "Sähköpostiosoite",
"Emoji": "Emoji",
"Enable Notifications": "Ota ilmoitukset käyttöön",
- "Encrypted by an unverified device": "Varmentamattoman laiteen salaama",
"End-to-end encryption information": "Osapuolten välisen salauksen tiedot",
- "Enter passphrase": "Syötä salasana",
+ "Enter passphrase": "Syötä salalause",
"Error decrypting attachment": "Virhe purettaessa liitteen salausta",
"Event information": "Tapahtumatiedot",
"Export": "Vie",
@@ -129,7 +124,6 @@
"Filter room members": "Suodata huoneen jäseniä",
"Forget room": "Unohda huone",
"For security, this session has been signed out. Please sign in again.": "Turvallisuussyistä tämä istunto on kirjattu ulos. Ole hyvä ja kirjaudu uudestaan.",
- "Hide Text Formatting Toolbar": "Piilota tekstinmuotoilutyökalupalkki",
"Homeserver is": "Kotipalvelin on",
"Identity Server is": "Identiteettipalvelin on",
"I have verified my email address": "Olen varmistanut sähköpostiosoitteeni",
@@ -140,9 +134,7 @@
"Incoming voice call from %(name)s": "Saapuva äänipuhelu käyttäjältä %(name)s",
"Incorrect username and/or password.": "Virheellinen käyttäjätunnus ja/tai salasana.",
"Incorrect verification code": "Virheellinen varmennuskoodi",
- "Invalid alias format": "Aliaksen muoto on virheellinen",
"Invalid Email Address": "Virheellinen sähköpostiosoite",
- "Invite new room members": "Kutsu lisää jäseniä huoneeseen",
"Invited": "Kutsuttu",
"Invites": "Kutsut",
"Invites user with given id to current room": "Kutsuu tunnuksen mukaisen käyttäjän huoneeseen",
@@ -159,10 +151,6 @@
"Logout": "Kirjaudu ulos",
"Low priority": "Alhainen prioriteetti",
"Manage Integrations": "Hallinnoi integraatioita",
- "Markdown is disabled": "Markdown on pois päältä",
- "Markdown is enabled": "Markdown on päällä",
- "matrix-react-sdk version:": "Matrix-react-sdk:n versio:",
- "Message not sent due to unknown devices being present": "Viestiä ei lähetetty koska paikalla on tuntemattomia laitteita",
"Moderator": "Moderaattori",
"Name": "Nimi",
"New passwords don't match": "Uudet salasanat eivät täsmää",
@@ -181,7 +169,6 @@
"Only people who have been invited": "Vain kutsutut käyttäjät",
"Password": "Salasana",
"Passwords can't be empty": "Salasanat eivät voi olla tyhjiä",
- "People": "Henkilöt",
"Permissions": "Oikeudet",
"Phone": "Puhelin",
"Private Chat": "Yksityinen keskustelu",
@@ -194,15 +181,12 @@
"Return to login screen": "Palaa kirjautumissivulle",
"riot-web version:": "Riot-webin versio:",
"Room Colour": "Huoneen väri",
- "Room contains unknown devices": "Huone sisältää tuntemattomia laitteita",
"Rooms": "Huoneet",
"Save": "Tallenna",
"Scroll to bottom of page": "Vieritä sivun loppuun",
"Search failed": "Haku epäonnistui",
"Searches DuckDuckGo for results": "Hakee DuckDuckGo:n avulla",
"Send anyway": "Lähetä silti",
- "Sender device information": "Lähettäjän laitteen tiedot",
- "Send Invites": "Lähetä kutsut",
"Server error": "Palvelinvirhe",
"Session ID": "Istuntotunniste",
"Sign in": "Kirjaudu sisään",
@@ -210,7 +194,6 @@
"%(count)s of your messages have not been sent.|other": "Osaa viesteistäsi ei ole lähetetty.",
"Someone": "Joku",
"Start a chat": "Aloita keskustelu",
- "Start Chat": "Aloita keskustelu",
"Submit": "Lähetä",
"This email address is already in use": "Tämä sähköpostiosoite on jo käytössä",
"This email address was not found": "Sähköpostiosoitetta ei löytynyt",
@@ -219,16 +202,12 @@
"This room": "Tämä huone",
"This room is not accessible by remote Matrix servers": "Tähän huoneeseen ei pääse ulkopuolisilta Matrix-palvelimilta",
"Unban": "Poista porttikielto",
- "Undecryptable": "Salauksen purku ei ole mahdollista",
"unencrypted": "salaamaton",
- "Unencrypted message": "Salaamaton viesti",
"unknown caller": "tuntematon soittaja",
"unknown device": "tuntematon laite",
"Unknown room %(roomId)s": "Tuntematon huone %(roomId)s",
- "Unknown (user, device) pair:": "Tuntematon (käyttäjä, laite)-pari:",
"Unmute": "Poista mykistys",
"Unnamed Room": "Nimeämätön huone",
- "Unrecognised command:": "Tuntematon komento:",
"Unrecognised room alias:": "Tuntematon huonealias:",
"Uploading %(filename)s and %(count)s others|zero": "Ladataan %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "Ladataan %(filename)s ja %(count)s muuta",
@@ -243,14 +222,12 @@
"Invalid file%(extra)s": "Virheellinen tiedosto%(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s kutsui käyttäjän %(targetName)s.",
"none": "Ei mikään",
- "No devices with registered encryption keys": "Ei laitteita, joilla on rekisteröityjä salausavaimia",
"No users have specific privileges in this room": "Kellään käyttäjällä ei ole erityisiä oikeuksia",
"%(senderName)s requested a VoIP conference.": "%(senderName)s pyysi VoIP-konferenssia.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s asetti näyttönimekseen %(displayName)s.",
"This room is not recognised.": "Huonetta ei tunnistettu.",
"This doesn't appear to be a valid email address": "Tämä ei vaikuta olevan kelvollinen sähköpostiosoite",
"This phone number is already in use": "Puhelinnumero on jo käytössä",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s otti osapuolten välisen salauksen käyttöön (algoritmi %(algorithm)s).",
"Username invalid: %(errMessage)s": "Käyttäjätunnus ei kelpaa: %(errMessage)s",
"Users": "Käyttäjät",
"Verification": "Varmennus",
@@ -266,7 +243,6 @@
"Warning!": "Varoitus!",
"Who can access this room?": "Ketkä pääsevät tähän huoneeseen?",
"Who can read history?": "Ketkä voivat lukea historiaa?",
- "Who would you like to communicate with?": "Kenen kanssa haluaisit kommunikoida?",
"You are already in a call.": "Sinulla on jo puhelu käynnissä.",
"You are not in this room.": "Et ole tässä huoneessa.",
"You do not have permission to do that in this room.": "Sinulla ei ole oikeutta tehdä tuota tässä huoneessa.",
@@ -299,8 +275,6 @@
"(~%(count)s results)|one": "(~%(count)s tulos)",
"(~%(count)s results)|other": "(~%(count)s tulosta)",
"Active call": "Aktiivinen puhelu",
- "bold": "lihavoitu",
- "italic": "kursiivi",
"Please select the destination room for this message": "Ole hyvä ja valitse vastaanottava huone tälle viestille",
"New Password": "Uusi salasana",
"Start automatically after system login": "Käynnistä automaattisesti käyttöjärjestelmään kirjautumisen jälkeen",
@@ -320,9 +294,6 @@
"Confirm Removal": "Varmista poistaminen",
"Unknown error": "Tuntematon virhe",
"Incorrect password": "Virheellinen salasana",
- "Device name": "Laitenimi",
- "Device key": "Laiteavain",
- "Verify device": "Varmenna laite",
"I verify that the keys match": "Varmistin, että avaimet vastaavat toisiaan",
"Unable to restore session": "Istunnon palautus epäonnistui",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s poisti huoneen nimen.",
@@ -338,8 +309,6 @@
"Publish this room to the public in %(domain)s's room directory?": "Julkaise tämä huone verkkotunnuksen %(domain)s huoneluettelossa?",
"Missing room_id in request": "room_id puuttuu kyselystä",
"Missing user_id in request": "user_id puuttuu kyselystä",
- "Never send encrypted messages to unverified devices from this device": "Älä koskaan lähetä salattuja viestejä varmentamattomiin laitteisiin tältä laitteelta",
- "Never send encrypted messages to unverified devices in this room from this device": "Älä koskaan lähetä salattuja viestejä tässä huoneessa oleviin varmentamattomiin laitteisiin tältä laitteelta",
"New address (e.g. #foo:%(localDomain)s)": "Uusi osoite (esim. #foo:%(localDomain)s)",
"Revoke Moderator": "Poista moderaattorioikeudet",
"%(targetName)s rejected the invitation.": "%(targetName)s hylkäsi kutsun.",
@@ -354,20 +323,17 @@
"Send Reset Email": "Lähetä salasanan palautusviesti",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s lähetti kuvan.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s kutsui käyttäjän %(targetDisplayName)s liittymään huoneeseen.",
- "Show Text Formatting Toolbar": "Näytä tekstinmuotoilupalkki",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Näytä aikaleimat 12 tunnin muodossa (esim. 2:30pm)",
"Signed Out": "Uloskirjautunut",
"Start authentication": "Aloita tunnistus",
"Success": "Onnistui",
"The phone number entered looks invalid": "Syötetty puhelinnumero näyttää virheelliseltä",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Syöttämäsi allekirjoitusavain vastaa käyttäjän %(userId)s laitteelta %(deviceId)s saamaasi allekirjoitusavainta. Laite on merkitty varmennetuksi.",
"Unable to add email address": "Sähköpostiosoitteen lisääminen epäonnistui",
"Unable to remove contact information": "Yhteystietojen poistaminen epäonnistui",
"Unable to verify email address.": "Sähköpostin vahvistaminen epäonnistui.",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s poisti porttikiellon käyttäjältä %(targetName)s.",
"Unable to capture screen": "Ruudun kaappaus epäonnistui",
"Unable to enable Notifications": "Ilmoitusten käyttöönotto epäonnistui",
- "Unable to load device list": "Laitelistan lataaminen epäonnistui",
"Uploading %(filename)s and %(count)s others|other": "Ladataan %(filename)s ja %(count)s muuta",
"Upload Failed": "Lataus epäonnistui",
"Upload file": "Lataa tiedosto",
@@ -376,10 +342,8 @@
"Use compact timeline layout": "Käytä tiivistä aikajanaa",
"User ID": "Käyttäjätunnus",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s vaihtoi aiheeksi \"%(topic)s\".",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Salasanan muuttaminen nollaa myös osapuolten välisen salauksen avaimet kaikilla laitteilla. Tällöin vanhojen viestien lukeminen ei ole enää mahdollista, ellet ensin tallenna huoneavaimia ja tuo niitä takaisin jälkeenpäin. Tähän tulee tulevaisuudessa parannusta.",
"Define the power level of a user": "Määritä käyttäjän oikeustaso",
"Failed to change power level": "Oikeustason muuttaminen epäonnistui",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ei ole kelvollinen muoto aliakselle",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Ole hyvä ja tarkista sähköpostisi ja seuraa sen sisältämää linkkiä. Kun olet valmis, paina jatka.",
"Power level must be positive integer.": "Oikeustason pitää olla positiivinen kokonaisluku.",
"Server may be unavailable, overloaded, or search timed out :(": "Palvelin saattaa olla saavuttamattomissa, ylikuormitettu tai haku kesti liian kauan :(",
@@ -393,10 +357,7 @@
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (oikeustaso %(powerLevelNumber)s)",
"Verification Pending": "Varmennus odottaa",
"(could not connect media)": "(mediaa ei voitu yhdistää)",
- "WARNING: Device already verified, but keys do NOT MATCH!": "VAROITUS: Laite on jo varmennettu mutta avaimet eivät vastaa toisiaan!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "VAROITUS: AVAIMEN VARMENNUS EPÄONNISTUI! Käyttäjän %(userId)s ja laitteen %(deviceId)s allekirjoitusavain on \"%(fprint)s\" joka ei vastaa annettua avainta \"%(fingerprint)s\". Tämä saattaa tarkoittaa että viestintäsi siepataan!",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s veti takaisin käyttäjän %(targetName)s kutsun.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Salasanan vaihtaminen onnistui. Et saa push-ilmoituksia muilla laitteilla ennen kuin kirjaudut niihin takaisin",
"You seem to be in a call, are you sure you want to quit?": "Sinulla näyttää olevan puhelu kesken. Haluatko varmasti lopettaa?",
"You seem to be uploading files, are you sure you want to quit?": "Näytät lataavan tiedostoja. Oletko varma että haluat lopettaa?",
"Jan": "tammi",
@@ -412,9 +373,6 @@
"Nov": "marras",
"Dec": "joulu",
"To continue, please enter your password.": "Ole hyvä ja syötä salasanasi jatkaaksesi.",
- "Verifies a user, device, and pubkey tuple": "Varmentaa käyttäjän, laitteen ja julkisen avaimen kolmikon",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" sisältä laitteita joita et ole nähnyt aikaisemmin.",
- "Unknown devices": "Tuntemattomia laitteita",
"Unknown Address": "Tuntematon osoite",
"Unverify": "Kumoa varmennus",
"Verify...": "Varmenna...",
@@ -441,14 +399,11 @@
"Authentication check failed: incorrect password?": "Autentikointi epäonnistui: virheellinen salasana?",
"Do you want to set an email address?": "Haluatko asettaa sähköpostiosoitteen?",
"This will allow you to reset your password and receive notifications.": "Tämä sallii sinun uudelleenalustaa salasanasi ja vastaanottaa ilmoituksia.",
- "Skip": "Hyppää yli",
+ "Skip": "Ohita",
"Start verification": "Aloita varmennus",
"Share without verifying": "Jaa ilman varmennusta",
"Ignore request": "Jätä pyyntö huomioimatta",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Lisäsit laitteen '%(displayName)s' joka pyytää salausavaimia.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Sinun varmentamaton laitteesi '%(displayName)s' pyytää salausavaimia.",
"Encryption key request": "Salausavainpyyntö",
- "Loading device info...": "Ladataan laitetiedot...",
"Example": "Esimerkki",
"Create": "Luo",
"Failed to upload image": "Kuvan lataaminen epäonnistui",
@@ -611,7 +566,6 @@
"Notify the whole room": "Ilmoita koko huoneelle",
"Room Notification": "Huoneilmoitus",
"Call Failed": "Puhelu epäonnistui",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Huoneessa on tuntemattomia laitteita: jos jatkat varmentamatta niitä, joku voi kuunnella puheluasi.",
"Review Devices": "Näytä laitteet",
"Call Anyway": "Soita silti",
"Answer Anyway": "Vastaa silti",
@@ -629,8 +583,6 @@
"%(widgetName)s widget added by %(senderName)s": "%(senderName)s lisäsi pienoisohjelman %(widgetName)s",
"%(widgetName)s widget removed by %(senderName)s": "%(senderName)s poisti pienoisohjelman %(widgetName)s",
"Send": "Lähetä",
- "Delete %(count)s devices|other": "Poista %(count)s laitetta",
- "Delete %(count)s devices|one": "Poista laite",
"Ongoing conference call%(supportedText)s.": "Menossa oleva ryhmäpuhelu %(supportedText)s.",
"%(duration)ss": "%(duration)s s",
"%(duration)sm": "%(duration)s m",
@@ -707,8 +659,6 @@
"%(oneUser)schanged their avatar %(count)s times|one": "%(oneUser)s vaihtoi profiilikuvansa",
"%(items)s and %(count)s others|other": "%(items)s ja %(count)s muuta",
"%(items)s and %(count)s others|one": "%(items)s ja yksi muu",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Varmistaaksesi, että tähän laitteeseen voidaan luottaa, ota yhteyttä laitteen haltijaan jollain muulla tavalla (esim. kasvotusten tai puhelimitse) ja pyydä häntä varmistamaan, että hänen laitteensa käyttäjäasetuksissa näkyy sama avain kuin alla:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Jos avain täsmää, valitse painike alla. Jos avain ei täsmää, niin joku muu salakuuntelee laitetta ja haluat todennäköisesti painaa estopainiketta.",
"Old cryptography data detected": "Vanhaa salaustietoa havaittu",
"Warning": "Varoitus",
"Access Token:": "Pääsykoodi:",
@@ -758,7 +708,6 @@
"Resend": "Lähetä uudelleen",
"Collecting app version information": "Haetaan sovelluksen versiotietoja",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Poista huonealias %(alias)s ja poista %(name)s luettelosta?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Tämä antaa sinun palata tilillesi uloskirjautumisen jälkeen sekä kirjautua muilla laitteilla.",
"Keywords": "Avainsanat",
"Enable notifications for this account": "Ota käyttöön ilmoitukset tälle tilille",
"Invite to this community": "Kutsu tähän yhteisöön",
@@ -935,7 +884,6 @@
"Book": "Kirja",
"Pencil": "Lyijykynä",
"Paperclip": "Klemmari",
- "Padlock": "Riippulukko",
"Key": "Avain",
"Hammer": "Vasara",
"Telephone": "Puhelin",
@@ -971,8 +919,6 @@
"Go back": "Takaisin",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Luo yhteisö tuodaksesi yhteen käyttäjät ja huoneet! Luo mukautettu kotisivu rajataksesi paikkasi Matrix-universumissa.",
"Room avatar": "Huoneen kuva",
- "Upload room avatar": "Lähetä huoneen kuva",
- "No room avatar": "Huoneella ei ole kuvaa",
"Main address": "Pääosoite",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Kun joku asettaa osoitteen linkiksi viestiinsä, URL-esikatselu voi näyttää tietoja linkistä kuten otsikon, kuvauksen ja kuvan verkkosivulta.",
"Link to most recent message": "Linkitä viimeisimpään viestiin",
@@ -988,7 +934,6 @@
"Hide Stickers": "Piilota tarrat",
"Show Stickers": "Näytä tarrat",
"Profile picture": "Profiilikuva",
- "Upload profile picture": "Lataa profiilikuva palvelimelle",
"Set a new account password...": "Aseta uusi salasana tilille...",
"Set a new status...": "Aseta uusi tila...",
"Not sure of your password? Set a new one": "Etkö ole varma salasanastasi? Aseta uusi salasana",
@@ -1079,7 +1024,7 @@
"Don't ask me again": "Älä kysy uudelleen",
"Not now": "Ei nyt",
"The conversation continues here.": "Keskustelu jatkuu täällä.",
- "Share Link to User": "Jaa linkki käyttäjälle",
+ "Share Link to User": "Jaa linkki käyttäjään",
"Muted Users": "Mykistetyt käyttäjät",
"Timeline": "Aikajana",
"Submit debug logs": "Lähetä vianjäljityslokit",
@@ -1090,10 +1035,8 @@
"Email Address": "Sähköpostiosoite",
"Yes": "Kyllä",
"No": "Ei",
- "Your homeserver does not support device management.": "Kotipalvelimesi ei tue laitehallintaa.",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Auta parantamaan Riot.im:ää lähettämällä käyttötietoja anonyymisti. Tämä vaatii toimiakseen evästeen (lue evästekäytäntö).",
"Elephant": "Norsu",
- "This device is backing up your keys. ": "Tämä laite on varmuuskopioimassa avaimiasi. ",
"Add an email address to configure email notifications": "Lisää sähköpostiosoite määrittääksesi sähköposti-ilmoitukset",
"Chat with Riot Bot": "Keskustele Riot-botin kanssa",
"You'll lose access to your encrypted messages": "Menetät pääsyn salattuihin viesteihisi",
@@ -1173,17 +1116,8 @@
"Back up your keys before signing out to avoid losing them.": "Varmuuskopioi avaimesi ennen kuin kirjaudut ulos välttääksesi avainten menetyksen.",
"Backing up %(sessionsRemaining)s keys...": "Varmuuskopioidaan %(sessionsRemaining)s avainta…",
"All keys backed up": "Kaikki avaimet on varmuuskopioitu",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Varmuuskopiossa on allekirjoitus tuntemattomasta laitteesta ID:llä %(deviceId)s.",
- "Backup has a valid signature from this device": "Varmuuskopiossa on pätevä allekirjoitus tästä laitteesta",
- "Backup has a valid signature from verified device ": "Varmuuskopiossa on pätevä allekirjoitus varmennetusta laitteesta ",
- "Backup has a valid signature from unverified device ": "Varmuuskopiossa on pätevä allekirjoitus varmentamattomasta laitteesta ",
- "Backup has an invalid signature from verified device ": "Varmuuskopiossa on epäkelpo allekirjoitus varmennetusta laitteesta ",
- "Backup has an invalid signature from unverified device ": "Varmuuskopiossa on epäkelpo allekirjoitus varmentamattomasta laitteesta ",
- "Backup is not signed by any of your devices": "Yksikään laitteistasi ei ole allekirjoittanut varmuuskopiota",
- "This backup is trusted because it has been restored on this device": "Tämä varmuuskopio on luotettu, koska se on palautettu tähän laitteeseen",
"Backup version: ": "Varmuuskopion versio: ",
"Algorithm: ": "Algoritmi: ",
- "Your keys are not being backed up from this device.": "Avaimesi eivät ole varmuuskopioituna tästä laitteesta.",
"Start using Key Backup": "Aloita avainvarmuuskopion käyttö",
"Unable to verify phone number.": "Puhelinnumeron vahvistaminen epäonnistui.",
"Verification code": "Varmennuskoodi",
@@ -1200,7 +1134,6 @@
"Key backup": "Avainvarmuuskopio",
"Missing media permissions, click the button below to request.": "Mediaoikeuksia puuttuu. Klikkaa painikkeesta pyytääksesi oikeuksia.",
"Request media permissions": "Pyydä mediaoikeuksia",
- "Some devices for this user are not trusted": "Jotkut tämän käyttäjän laitteista eivät ole luotettuja",
"Manually export keys": "Vie avaimet käsin",
"Share User": "Jaa käyttäjä",
"Share Community": "Jaa yhteisö",
@@ -1216,7 +1149,6 @@
"Show avatars in user and room mentions": "Näytä profiilikuvat käyttäjä- ja huonemaininnoissa",
"Order rooms in the room list by most important first instead of most recent": "Järjestä huonelista tärkein ensin viimeisimmän sijasta",
"Got It": "Ymmärretty",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Parhaan turvallisuuden takaamiseksi suosittelemme, että teet tämän kasvotusten tai muun luotetun viestintäkeinon avulla.",
"Scissors": "Sakset",
"Which officially provided instance you are using, if any": "Mitä virallisesti saatavilla olevaa instanssia käytät, jos mitään",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s %(day)s. %(monthName)s %(fullYear)s",
@@ -1227,27 +1159,12 @@
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s otti käyttöön tyylin ryhmälle %(newGroups)s ja poisti käytöstä tyylin ryhmältä %(oldGroups)s tässä huoneessa.",
"Enable widget screenshots on supported widgets": "Ota sovelmien kuvankaappaukset käyttöön tuetuissa sovelmissa",
"Legal": "Lakitekstit",
- "Some devices in this encrypted room are not trusted": "Jotkut laitteet tässä salatussa huoneessa eivät ole luotettuja",
- "All devices for this user are trusted": "Kaikki tämän käyttäjän laitteista ovat luotettuja",
- "All devices in this encrypted room are trusted": "Kaikki laitteet tässä salatussa huoneessa ovat luotettuja",
"This event could not be displayed": "Tätä tapahtumaa ei voitu näyttää",
- "Your key share request has been sent - please check your other devices for key share requests.": "Avaimen jakopyyntösi on lähetetty. Tarkista muut laitteesi avaimen jakopyyntöä varten.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Avaimen jakopyynnöt lähetetään automaattisesti muihin laitteisiin. Jos olet hylännyt tai jättänyt huomiotta avaimen jakopyynönn toisella laitteellasi, klikkaa tästä pyytääksesi avaimia tälle istunnolle uudestaan.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Jos muut laitteesi eivät sisällä avainta tälle viestille, et pysty purkamaan viestin salausta.",
"Key request sent.": "Avainpyyntö lähetetty.",
- "Re-request encryption keys from your other devices.": "Pyydä uudelleen salausavaimia muilta laitteiltasi.",
"Demote yourself?": "Alenna itsesi?",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Et voi perua tätä muutosta, koska olet alentamassa itseäsi. Jos olet viimeinen oikeutettu henkilö tässä huoneessa, oikeuksia ei voi enää saada takaisin.",
"Demote": "Alenna",
- "deleted": "poistettu",
- "underlined": "alleviivattu",
- "inline-code": "koodinpätkä",
- "block-quote": "lainaus",
- "bulleted-list": "lista",
- "numbered-list": "numeroitu lista",
"This room has been replaced and is no longer active.": "Tämä huone on korvattu, eikä se ole enää aktiivinen.",
- "Unable to reply": "Vastaaminen on mahdotonta",
- "At this time it is not possible to reply with an emote.": "Emojilla vastaaminen ei ole nyt mahdollista.",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) näki %(dateTime)s",
"Replying": "Vastataan",
"System Alerts": "Järjestelmähälytykset",
@@ -1318,7 +1235,6 @@
"Waiting for %(userId)s to confirm...": "Odotetaan, että %(userId)s hyväksyy...",
"Use two-way text verification": "Käytä kahdensuuntaista tekstivarmennusta",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Varmenna tämä käyttäjä merkitäksesi hänet luotetuksi. Käyttäjiin luottaminen antaa sinulle ylimääräistä mielenrauhaa käyttäessäsi osapuolten välistä salausta.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Tämän käyttäjän varmentaminen merkitsee hänen laitteensa luotetuksi sekä merkitsee sinun laitteesi luotetuksi hänelle.",
"Waiting for partner to confirm...": "Odotetaan, että toinen osapuoli varmistaa...",
"Incoming Verification Request": "Saapuva varmennuspyyntö",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Olet aikaisemmin käytttänyt Riotia laitteella %(host)s, jossa oli jäsenten laiska lataus käytössä. Tässä versiossa laiska lataus on pois käytöstä. Koska paikallinen välimuisti ei ole yhteensopiva näiden kahden asetuksen välillä, Riotin täytyy synkronoida tilisi tiedot uudelleen.",
@@ -1333,8 +1249,6 @@
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Selaimen varaston tyhjentäminen saattaa korjata ongelman, mutta kirjaa sinut samalla ulos ja estää sinua lukemasta salattuja keskusteluita.",
"A username can only contain lower case letters, numbers and '=_-./'": "Käyttäjätunnus voi sisältää vain pieniä kirjaimia, numeroita ja merkkejä ”=_-./”",
"COPY": "Kopioi",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Estät tällä hetkellä varmentamattomia laitteita; jotta voit lähettää viestejä näihin laitteisiin, sinun täytyy varmentaa ne.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Suosittelemme, että käyt varmennusprosessin läpi jokaisella laitteella varmistaaksesi, että ne kuuluvat oikeille omistajilleen, mutta voit lähettää viestin uudelleen varmentamatta, jos niin haluat.",
"Unable to load backup status": "Varmuuskopioinnin tilan lataaminen epäonnistui",
"Recovery Key Mismatch": "Palautusavaimet eivät täsmää",
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Varmuuskopiota ei voitu purkaa tällä avaimella. Tarkastathan, että syötit oikean palautusavaimen.",
@@ -1347,7 +1261,6 @@
"Access your secure message history and set up secure messaging by entering your recovery passphrase.": "Pääse turvattuun viestihistoriaasi ja ota käyttöön turvallinen viestintä syöttämällä palautuksen salalauseesi.",
"If you've forgotten your recovery passphrase you can use your recovery key or set up new recovery options": "Jos olet unohtanut palautuksen salalauseesi, voit käyttää palautusavaintasi tai ottaa käyttöön uuden palautustavan",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Pääse turvattuun viestihistoriaasi ja ota käyttöön turvallinen viestintä syöttämällä palautusavaimesi.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Jos olet unohtanut palautuksen salalauseesi, voit ottaa käyttöön uuden palautustavan",
"Share Permalink": "Jaa ikilinkki",
"Collapse Reply Thread": "Supista vastaussäie",
"You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Voit käyttää mukautettuja palvelinasetuksia kirjautuaksesi toiselle Matrix-palvelimelle. Tämä sallii tämän sovelluksen käytön toisella kotipalvelimella olevalla Matrix-tilillä.",
@@ -1383,7 +1296,6 @@
"Review terms and conditions": "Lue käyttöehdot",
"Did you know: you can use communities to filter your Riot.im experience!": "Tiesitkö: voit käyttää yhteisöjä suodattaaksesi Riot.im-kokemustasi!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Asettaaksesi suodattimen, vedä yhteisön kuva vasemmalla olevan suodatinpaneelin päälle. Voit klikata suodatinpaneelissa olevaa yhteisön kuvaa, jotta näet vain huoneet ja henkilöt, jotka liittyvät kyseiseen yhteisöön.",
- "Show devices, send anyway or cancel.": "Näytä laitteet, lähetä silti tai peruuta.",
"You can't send any messages until you review and agree to our terms and conditions.": "Et voi lähettää viestejä ennen kuin luet ja hyväksyt käyttöehtomme.",
"Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Viestiäsi ei lähetetty, koska tämä kotipalvelin on saavuttanut kuukausittaisten aktiivisten käyttäjien rajan. Ota yhteyttä palvelun ylläpitäjään jatkaaksesi palvelun käyttämistä.",
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Viestiäsi ei lähetetty, koska tämä kotipalvelin on ylittänyt resurssirajan. Ota yhteyttä palvelun ylläpitäjään jatkaaksesi palvelun käyttämistä.",
@@ -1391,7 +1303,6 @@
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Lähetä viesti uudelleen tai peruuta viesti.",
"Could not load user profile": "Käyttäjäprofiilia ei voitu ladata",
"Your Matrix account on %(serverName)s": "Matrix-tilisi palvelimella %(serverName)s",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Olet kirjautunut ulos kaikista laitteista etkä enää saa push-ilmoituksia. Laittaaksesi ilmoitukset uudestaan päälle, kirjaudu uudelleen kullekin laitteelle.",
"General failure": "Yleinen virhe",
"This homeserver does not support login using email address.": "Tämä kotipalvelin ei tue sähköpostiosoitteella kirjautumista.",
"Please contact your service administrator to continue using this service.": "Ota yhteyttä palvelun ylläpitäjään jatkaaksesi palvelun käyttöä.",
@@ -1413,17 +1324,11 @@
"Your keys are being backed up (the first backup could take a few minutes).": "Avaimiasi varmuuskopioidaan (ensimmäinen varmuuskopio voi viedä muutaman minuutin).",
"Unable to create key backup": "Avaimen varmuuskopiota ei voi luoda",
"A verification email will be sent to your inbox to confirm setting your new password.": "Ottaaksesi käyttöön uuden salasanasi, seuraa ohjeita sinulle lähetettävässä vahvistussähköpostissa.",
- "Room upgrade confirmation": "Huoneen päivitysvarmistus",
- "Upgrading a room can be destructive and isn't always necessary.": "Huoneen päivittäminen saattaa tuhota jotain, eikä se aina ole tarpeellista.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Huonepäivityksiä suositellaan yleensä silloin, kun huoneen versio katsotaan epävakaaksi. Epävakaissa versioissa saattaa olla virheitä, puuttuvia ominaisuuksia tai tietoturvahaavoittuvuuksia.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Huonepäivitykset yleensä vaikuttavat vain huoneen palvelinpuolen käsittelyyn. Jos sinulla on ongelmia Riot-asiakasohjelmasi kanssa, tee virheilmoitus osoitteessa .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Varoitus: huoneen päivittäminen ei automaattisesti siirrä huoneen jäseniä huoneen uuteen versioon. Liitämme vanhaan huoneeseen linkin, joka osoittaa uuteen, päivitettyyn huoneeseen. Huoneen jäsenten täytyy klikata linkkiä liittyäkseen uuteen huoneeseen.",
"Adds a custom widget by URL to the room": "Lisää huoneeseen määritetyssä osoitteessa olevan sovelman",
"Please supply a https:// or http:// widget URL": "Lisää sovelman osoitteen alkuun https:// tai http://",
"You cannot modify widgets in this room.": "Et voi muokata tämän huoneen sovelmia.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s kumosi henkilön %(targetDisplayName)s kutsun liittyä tähän huoneeseen.",
- "Enable desktop notifications for this device": "Ota käyttöön työpöytäilmoitukset tälle laitteelle",
- "Enable audible notifications for this device": "Ota käyttöön ääntä toistavat ilmoitukset tälle laitteelle",
"Upgrade this room to the recommended room version": "Päivitä tämä huone suositeltuun huoneversioon",
"This room is running room version , which this homeserver has marked as unstable.": "Tämä huone pyörii versiolla , jonka tämä kotipalvelin on merkannut epävakaaksi.",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Huoneen päivittäminen sulkee huoneen nykyisen instanssin ja luo päivitetyn huoneen samalla nimellä.",
@@ -1443,7 +1348,6 @@
"You have %(count)s unread notifications in a prior version of this room.|other": "Sinulla on %(count)s lukematonta ilmoitusta huoneen edellisessä versiossa.",
"You have %(count)s unread notifications in a prior version of this room.|one": "Sinulla on %(count)s lukematon ilmoitus huoneen edellisessä versiossa.",
"Clear filter": "Tyhjennä suodatin",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Salasanan vaihtaminen nollaa osapuolten välisen salauksen avaimet kaikilla laitteillasi, estäen sinua lukemasta keskusteluhistoriaasi. Ota käyttöön avainvarmuuskopio tai ota talteen huoneavaimesi toiselta laitteelta ennen kuin palautat salasanasi.",
"Sign in instead": "Kirjaudu sisään",
"Your password has been reset.": "Salasanasi on nollattu.",
"Invalid homeserver discovery response": "Epäkelpo kotipalvelimen etsinnän vastaus",
@@ -1456,11 +1360,7 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Voit käyttää sitä turvaverkkona palauttaaksesi salatun keskusteluhistoriasi, mikäli unohdat palautuksen salalauseesi.",
"As a safety net, you can use it to restore your encrypted message history.": "Voit käyttää sitä turvaverkkona palauttaaksesi salatun keskusteluhistoriasi.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Palautusavaimesi on turvaverkko – voit käyttää sitä palauttaaksesi pääsyn salattuihin viesteihisi, mikäli unohdat salalauseesi.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Pidä palautusavaimesi jossain hyvin turvallisessa paikassa, kuten salasananhallintasovelluksessa (tai kassakaapissa)",
"Your Recovery Key": "Palautusavaimesi",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Palautusavaimesi on kopioitu leikepöydälle, liitä se:",
- "Your Recovery Key is in your Downloads folder.": "Palautusavaimesi on Lataukset-kansiossasi.",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Mikäli et ota käyttöön salattujen viestien palautusta, et voi palauttaa salattua keskusteluhistoriaasi, jos kirjaudut ulos tai käytät toista laitetta.",
"Set up Secure Message Recovery": "Ota käyttöön salattujen viestien palautus",
"Secure your backup with a passphrase": "Turvaa varmuuskopiosi salalauseella",
"Confirm your passphrase": "Varmista salalauseesi",
@@ -1471,24 +1371,18 @@
"New Recovery Method": "Uusi palautustapa",
"A new recovery passphrase and key for Secure Messages have been detected.": "Uusi palautuksen salalause ja avain salatuille viesteille on löydetty.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Jos et ottanut käyttöön uutta palautustapaa, hyökkääjä saattaa yrittää käyttää tiliäsi. Vaihda tilisi salasana ja aseta uusi palautustapa asetuksissa välittömästi.",
- "This device is encrypting history using the new recovery method.": "Tämä laite salaa historian käyttäen uutta palautustapaa.",
"Set up Secure Messages": "Ota käyttöön salatut viestit",
"Recovery Method Removed": "Palautustapa poistettu",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Tämä laite on huomannut, että palautuksen salalauseesi ja avaimesi salatuille viesteille on poistettu.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Jos teit tämän vahingossa, voit ottaa käyttöön salatut viestit tälle laitteelle, mikä uudelleensalaa tämän laitteen keskusteluhistorian uudella palautustavalla.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Jos et poistanut palautustapaa, hyökkääjä saattaa yrittää käyttää tiliäsi. Vaihda tilisi salasana ja aseta uusi palautustapa asetuksissa välittömästi.",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Käytätkö 'leivänmuruja' (kuvia huonelistan yläpuolella) vai et",
"Replying With Files": "Tiedostoilla vastaaminen",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Tiedostolla vastaaminen ei onnistu tällä erää. Haluatko ladata tiedoston vastaamatta?",
"The file '%(fileName)s' failed to upload.": "Tiedoston '%(fileName)s' lataaminen ei onnistunut.",
"The server does not support the room version specified.": "Palvelin ei tue määritettyä huoneversiota.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Vahvista, että haluat päivittää huoneen versiosta versioon .",
"Changes your avatar in this current room only": "Vaihtaa kuvasi vain nykyisessä huoneessa",
"Sends the given message coloured as a rainbow": "Lähettää viestin sateenkaaren väreissä",
"Sends the given emote coloured as a rainbow": "Lähettää emoten sateenkaaren väreissä",
"The user's homeserver does not support the version of the room.": "Käyttäjän kotipalvelin ei tue huoneen versiota.",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Tämä laite ei varmuuskopioi avaimiasi, mutta sinulla on olemassa varmuuskopio palauttamista ja lisäämistä varten.",
- "Backup has an invalid signature from this device": "Varmuuskopiossa on epäkelpo allekirjoitus tältä laitteelta",
"this room": "tämä huone",
"View older messages in %(roomName)s.": "Näytä vanhemmat viestit huoneessa %(roomName)s.",
"Joining room …": "Liitytään huoneeseen …",
@@ -1545,13 +1439,11 @@
"Identity server URL does not appear to be a valid identity server": "Identiteettipalvelimen osoite ei näytä olevan kelvollinen identiteettipalvelin",
"A conference call could not be started because the integrations server is not available": "Konferenssipuhelua ei voitu aloittaa, koska integraatiopalvelin ei ole käytettävissä",
"When rooms are upgraded": "Kun huoneet päivitetään",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Yhdistä tämä laite avainten varmuuskopiointiin ennen kuin kirjaudut ulos, jotta et menetä mahdollisia vain tällä laitteella olevia avaimia.",
"Rejecting invite …": "Hylätään kutsua …",
"You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s poisti sinut huoneesta %(roomName)s",
"edited": "muokattu",
"To help us prevent this in future, please send us logs.": "Voit auttaa meitä estämään tämän toistumisen lähettämällä meille lokeja.",
"Name or Matrix ID": "Nimi tai Matrix-tunnus",
- "Email, name or Matrix ID": "Sähköposti, nimi tai Matrix-tunnus",
"This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Tiedosto on liian iso ladattavaksi. Tiedostojen kokoraja on %(limit)s mutta tämä tiedosto on %(sizeOfThisFile)s.",
"Unbans user with given ID": "Poistaa porttikiellon tunnuksen mukaiselta käyttäjältä",
"No homeserver URL provided": "Kotipalvelimen osoite puuttuu",
@@ -1559,7 +1451,6 @@
"Edit message": "Muokkaa viestiä",
"Sign in to your Matrix account on ": "Kirjaudu Matrix-tilillesi palvelimella ",
"Show hidden events in timeline": "Näytä piilotetut tapahtumat aikajanalla",
- "Connect this device to Key Backup": "Yhdistä tämä laite avainten varmuuskopiointiin",
"GitHub issue": "GitHub-issue",
"Notes": "Huomautukset",
"If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here.": "Sisällytä tähän lisätiedot, joista voi olla apua ongelman analysoinnissa, kuten mitä olit tekemässä, huoneen tunnukset, käyttäjätunnukset, jne.",
@@ -1606,7 +1497,6 @@
"%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)s eivät tehneet muutoksia",
"%(oneUser)smade no changes %(count)s times|other": "%(oneUser)s ei tehnyt muutoksia %(count)s kertaa",
"%(oneUser)smade no changes %(count)s times|one": "%(oneUser)s ei tehnyt muutoksia",
- "Clear all data on this device?": "Poista kaikki tiedot tältä laitteelta?",
"Your homeserver doesn't seem to support this feature.": "Kotipalvelimesi ei näytä tukevan tätä ominaisuutta.",
"Resend edit": "Lähetä muokkaus uudelleen",
"Resend %(unsentCount)s reaction(s)": "Lähetä %(unsentCount)s reaktio(ta) uudelleen",
@@ -1615,16 +1505,13 @@
"Clear all data": "Poista kaikki tiedot",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Kerro mikä meni pieleen, tai, mikä parempaa, luo GitHub-issue joka kuvailee ongelman.",
"Removing…": "Poistetaan…",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Kaikkien tietojen poistaminen tältä laitteelta on peruuttamatonta. Salatut viestit menetetään, ellei niiden avaimia ole varmuuskopioitu.",
"Failed to re-authenticate due to a homeserver problem": "Uudelleenautentikointi epäonnistui kotipalvelinongelmasta johtuen",
"Failed to re-authenticate": "Uudelleenautentikointi epäonnistui",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Pääse takaisin tilillesi ja palauta tälle laitteelle tallennetut salausavaimet. Ilman niitä et voi lukea kaikkia salattuja viestejäsi kaikilla laitteilla.",
"Enter your password to sign in and regain access to your account.": "Syötä salasanasi kirjautuaksesi ja päästäksesi takaisin tilillesi.",
"Forgotten your password?": "Unohditko salasanasi?",
"Sign in and regain access to your account.": "Kirjaudu ja pääse takaisin tilillesi.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Et voi kirjautua tilillesi. Ota yhteyttä kotipalvelimesi ylläpitäjään saadaksesi lisätietoja.",
"Clear personal data": "Poista henkilökohtaiset tiedot",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Varoitus: Henkilökohtaisia tietojasi (mukaan lukien salausavaimia) on edelleen tallennettuna tällä laitteella. Poista ne, jos et aio enää käyttää tätä laitetta, tai haluat kirjautua toiselle tilille.",
"Identity Server": "Identiteettipalvelin",
"Find others by phone or email": "Löydä muita käyttäjiä puhelimen tai sähköpostin perusteella",
"Be found by phone or email": "Varmista, että sinut löydetään puhelimen tai sähköpostin perusteella",
@@ -1632,7 +1519,6 @@
"Terms of Service": "Käyttöehdot (Terms of Service)",
"Service": "Palvelu",
"Summary": "Yhteenveto",
- "Failed to start chat": "Keskustelun aloittaminen ei onnistunut",
"Messages": "Viestit",
"Actions": "Toiminnot",
"Displays list of commands with usages and descriptions": "Näyttää luettelon komennoista käyttötavoin ja kuvauksin",
@@ -1667,7 +1553,6 @@
"Enter a new identity server": "Syötä uusi identiteettipalvelin",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Hyväksy identiteettipalvelimen (%(serverName)s) käyttöehdot (Terms of Service), jotta sinut voi löytää sähköpostiosoitteen tai puhelinnumeron perusteella.",
"Deactivate account": "Deaktivoi tili",
- "A device's public name is visible to people you communicate with": "Laitteen julkinen nimi näkyy käyttäjille, joiden kanssa olet yhteydessä",
"Remove %(email)s?": "Poista %(email)s?",
"Remove %(phone)s?": "Poista %(phone)s?",
"Command Help": "Komento-ohje",
@@ -1834,10 +1719,7 @@
"Use an identity server to invite by email. Manage in Settings.": "Voit käyttää identiteettipalvelinta sähköpostikutsujen lähettämiseen.",
"Multiple integration managers": "Useita integraatiolähteitä",
"Try out new ways to ignore people (experimental)": "Kokeile uusia tapoja käyttäjien huomiotta jättämiseen (kokeellinen)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Lähetä varmennuspyynnöt suoralla viestillä. Tämä sisältää uuden varmennuskäyttöliittymän jäsenpaneelissa.",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Ota käyttöön ristivarmennus, jolla varmennat käyttäjän, jokaisen käyttäjän laitteen sijaan (kehitysversio)",
"Enable local event indexing and E2EE search (requires restart)": "Ota käyttöön paikallinen tapahtumaindeksointi ja paikallinen haku salatuista viesteistä (vaatii uudelleenlatauksen)",
- "Use the new, faster, composer for writing messages": "Käytä uutta, nopeampaa kirjoitinta viestien kirjoittamiseen",
"Match system theme": "Käytä järjestelmän teemaa",
"Decline (%(counter)s)": "Hylkää (%(counter)s)",
"Connecting to integration manager...": "Yhdistetään integraatioiden lähteeseen...",
@@ -1881,10 +1763,6 @@
"Failed to connect to integration manager": "Yhdistäminen integraatioiden lähteeseen epäonnistui",
"Trusted": "Luotettu",
"Not trusted": "Epäluotettu",
- "Hide verified Sign-In's": "Piilota varmennetut tunnukset",
- "%(count)s verified Sign-In's|other": "%(count)s varmennettua tunnusta",
- "%(count)s verified Sign-In's|one": "1 varmennettu tunnus",
- "Unverify user": "Poista käyttäjän varmennus",
"This client does not support end-to-end encryption.": "Tämä asiakasohjelma ei tue osapuolten välistä salausta.",
"Messages in this room are not end-to-end encrypted.": "Tämän huoneen viestit eivät ole salattuja.",
"Messages in this room are end-to-end encrypted.": "Tämän huoneen viestit ovat salattuja.",
@@ -1904,7 +1782,6 @@
"More options": "Lisää asetuksia",
"Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Käytä identiteettipalvelinta kutsuaksesi henkilöitä sähköpostilla. Käytä oletusta (%(defaultIdentityServerName)s) tai aseta toinen palvelin asetuksissa.",
"Use an identity server to invite by email. Manage in Settings.": "Käytä identiteettipalvelinta kutsuaksesi käyttäjiä sähköpostilla. Voit vaihtaa identiteettipalvelimen asetuksissa.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Varmistaaksesi, että tähän laitteeseen voidaan luottaa, tarkista, että kyseisen laitteen asetuksissa näkyvä avain täsmää alapuolella olevaan avaimeen:",
"Integrations are disabled": "Integraatiot ovat pois käytöstä",
"Enable 'Manage Integrations' in Settings to do this.": "Ota integraatiot käyttöön asetuksista kohdasta ”Hallitse integraatioita”.",
"Integrations not allowed": "Integraatioiden käyttö on kielletty",
@@ -1926,7 +1803,6 @@
"Customise your experience with experimental labs features. Learn more.": "Muokkaa kokemustasi kokeellisilla laboratio-ominaisuuksia. Tutki vaihtoehtoja.",
"Error upgrading room": "Virhe päivitettäessä huonetta",
"Double check that your server supports the room version chosen and try again.": "Tarkista, että palvelimesi tukee valittua huoneversiota ja yritä uudelleen.",
- "Invite joined members to the new room automatically": "Kutsu huoneen jäsenet liittymään uuteen huoneeseen automaattisesti",
"Send cross-signing keys to homeserver": "Lähetä ristivarmennuksen tarvitsemat avaimet kotipalvelimelle",
"%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s poisti porttikiellon käyttäjiltä, jotka täsmäsivät sääntöön %(glob)s",
"%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s poisti huoneita estävän säännön %(glob)s",
@@ -1947,11 +1823,9 @@
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s muutti estosääntöä muodosta %(oldGlob)s muotoon %(newGlob)s. Syy: %(reason)s",
"The message you are trying to send is too large.": "Lähettämäsi viesti on liian suuri.",
"Cross-signing and secret storage are enabled.": "Ristivarmennus ja salavarasto on käytössä.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Tunnuksellasi on ristivarmennusidentiteetti salavarastossa, mutta tämä laite ei luota siihen.",
"Cross-signing and secret storage are not yet set up.": "Ristivarmennusta ja salavarastoa ei ole vielä otettu käyttöön.",
"Bootstrap cross-signing and secret storage": "Ota käyttöön ristivarmennus ja salavarasto",
"Cross-signing public keys:": "Ristivarmennuksen julkiset avaimet:",
- "on device": "laitteella",
"not found": "ei löydetty",
"Cross-signing private keys:": "Ristivarmennuksen salaiset avaimet:",
"in secret storage": "salavarastossa",
@@ -1962,15 +1836,7 @@
"Backup has a valid signature from this user": "Varmuuskopiossa on kelvollinen allekirjoitus tältä käyttäjältä",
"Backup has a invalid signature from this user": "Varmuuskopiossa on epäkelpo allekirjoitus tältä käyttäjältä",
"Backup has a signature from unknown user with ID %(deviceId)s": "Varmuuskopiossa on tuntematon allekirjoitus käyttäjältä, jonka ID on %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Varmuuskopiossa on tuntematon allekirjoitus laitteelta, jonka ID on %(deviceId)s",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Vara-avain on tallennettu salavarastoon, mutta salavarasto ei ole käytössä tällä laitteella. Ota käyttöön ristivarmennus Laboratoriosta, jotta voi muokata avainvarmuuskopion tilaa.",
"Backup key stored: ": "Vara-avain on tallennettu: ",
- "Start using Key Backup with Secure Secret Storage": "Aloita avainten varmuuskopiointi turvalliseen salavarastoon",
- "This user has not verified all of their devices.": "Tämä käyttäjä ei ole varmentanut kaikkia laitteitaan.",
- "You have not verified this user. This user has verified all of their devices.": "Et ole varmentanut tätä käyttäjää. Tämä käyttäjä on varmentanut kaikki laitteensa.",
- "You have verified this user. This user has verified all of their devices.": "Olet varmentanut tämän käyttäjän. Tämä käyttäjä on varmentanut kaikki laitteensa.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Et ole varmentanut osaa tämän salausta käyttävän huoneen käyttäjistä tai he eivät ole varmentaneet omia laitteitaan.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Olet varmentanut kaikki käyttäjät tässä salausta käyttävässä huoneessa ja he ovat varmentaneet omat laitteensa.",
"This message cannot be decrypted": "Tätä viestiä ei voida avata luettavaksi",
"Unencrypted": "Suojaamaton",
"Close preview": "Sulje esikatselu",
@@ -1992,11 +1858,9 @@
"Enter secret storage passphrase": "Syötä salavaraston salalause",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "Salavavaraston avaaminen epäonnistui. Varmista, että syötit oikean salalauseen.",
"Warning: You should only access secret storage from a trusted computer.": "Varoitus: sinun pitäisi käyttää salavarastoa vain luotetulta tietokoneelta.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "Käytä turvattua viestihistoriaasi ja ristivarmennuksen identiteettiäsi muiden laitteiden varmentamiseen syöttämällä salalauseesi.",
"If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Jos olet unohtanut salalauseesi, voit käyttää palautusavaintasi tai asettaa uusia palautusvaihtoehtoja.",
"Enter secret storage recovery key": "Syötä salavaraston palautusavain",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Salavaraston käyttö epäonnistui. Varmista, että syötit oikean palautusavaimen.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "Käytä turvattua viestihistoriaasi ja ristivarmennuksen identiteettiäsi muiden laitteiden varmentamiseen syöttämällä palautusavaimesi.",
"If you've forgotten your recovery key you can set up new recovery options.": "Jos olet unohtanut palautusavaimesi, voit ottaa käyttöön uusia palautusvaihtoehtoja.",
"Warning: You should only set up key backup from a trusted computer.": "Varoitus: sinun pitäisi ottaa avainten varmuuskopiointi käyttöön vain luotetulla tietokoneella.",
"If you've forgotten your recovery key you can set up new recovery options": "Jos olet unohtanut palautusavaimesi, voit ottaa käyttöön uusia palautusvaihtoehtoja",
@@ -2004,26 +1868,189 @@
"Help": "Ohje",
"User Status": "Käyttäjän tila",
"Country Dropdown": "Maapudotusvalikko",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "Salavarasto otetaan käyttöön nykyisen avainten varmuuskopiointimenetelmäsi tiedoilla. Salavaraston salalause ja palautusavain tulee olemaan samat kuin ne olivat avainten varmuuskopioinnissasi",
- "Warning: You should only set up secret storage from a trusted computer.": "Varoitus: sinun pitäisi ottaa salavarasto käyttöön vain luotetulla tietokoneella.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "Voimme vaihtoehtoisesti tallentaa salavarastoon salatun kopion ristivarmennuksen identiteetistäsi muiden laitteiden varmentamiseen ja lähettääksesi avaimia meidän palvelimelle. Suojaa pääsysi salattuihin viesteihisi pitämällä salalauseesi turvassa.",
"Set up with a recovery key": "Ota käyttöön palautusavaimella",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Turvaverkkona, voit käyttää sitä palauttamaan pääsysi salattuihin viesteihin, jos unohdat salalauseesi.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Turvaverkkona, voit käyttää sitä palauttamaan pääsysi salattuihin viesteihisi.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Pidä palautusavaimesi jossain hyvin turvallisessa paikassa, kuten salasananhallintasovelluksessa (tai kassakaapissa).",
"Your recovery key has been copied to your clipboard, paste it to:": "Palautusavaimesi on kopioitu leikepöydällesi. Liitä se:",
"Your recovery key is in your Downloads folder.": "Palautusavaimesi on Lataukset-kansiossasi.",
- "Your access to encrypted messages is now protected.": "Pääsysi salattuihin viesteihisi on nyt turvattu.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "Ottamatta käyttöön salavarastoa et voi palauttaa pääsyäsi salattuihin viesteihisi tai ristivarmennuksen identiteettiisi, jos kirjaudut ulos tai käytät toista laitetta.",
- "Set up secret storage": "Ota salavarasto käyttöön",
- "Migrate from Key Backup": "Siirrä tiedot vanhasta avainten varmuuskopiointijärjestelmästä",
- "Secure your encrypted messages with a passphrase": "Turvaa salatut viestisi salalauseella",
"Storing secrets...": "Tallennetaan salaisuuksia...",
"Unable to set up secret storage": "Salavaraston käyttöönotto epäonnistui",
- "New DM invite dialog (under development)": "Uusi dialogi kutsuille yksityiskeskusteluun (kehitysversio)",
"Show more": "Näytä lisää",
"Recent Conversations": "Viimeaikaiset keskustelut",
"Direct Messages": "Yksityisviestit",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Jos et löydä jotakuta, kysy hänen käyttäjätunnusta, tai anna oma käyttäjätunnuksesi (%(userId)s) tai linkin profiiliisi hänelle.",
- "Go": "Mene"
+ "Go": "Mene",
+ "Lock": "Lukko",
+ "The version of Riot": "Riotin versio",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Käytätkö Riotia laitteella, jossa kosketus on ensisijainen syöttömekanismi",
+ "Whether you're using Riot as an installed Progressive Web App": "Käytätkö Riotia asennettuna PWA:na (Progressive Web App)",
+ "The information being sent to us to help make Riot better includes:": "Tietoihin, joita lähetetään Riotin kehittäjille sovelluksen kehittämiseksi sisältyy:",
+ "Cancel entering passphrase?": "Peruuta salalauseen syöttäminen?",
+ "Encryption upgrade available": "Salauksen päivitys saatavilla",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s lisäsi osoitteet %(addedAddresses)s ja %(count)s muuta osoitetta tähän huoneeseen",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s poisti osoitteet %(removedAddresses)s ja %(count)s muuta osoitetta tästä huoneesta",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s poisti %(countRemoved)s ja lisäsi %(countAdded)s osoitetta tähän huoneeseen",
+ "a few seconds ago": "muutama sekunti sitten",
+ "about a minute ago": "noin minuutti sitten",
+ "%(num)s minutes ago": "%(num)s minuuttia sitten",
+ "about an hour ago": "noin tunti sitten",
+ "%(num)s hours ago": "%(num)s tuntia sitten",
+ "about a day ago": "noin päivä sitten",
+ "%(num)s days ago": "%(num)s päivää sitten",
+ "Show info about bridges in room settings": "Näytä tietoa silloista huoneen asetuksissa",
+ "Show typing notifications": "Näytä kirjoitusilmoitukset",
+ "or": "tai",
+ "Start": "Aloita",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Varmista, että alla olevat emojit näkyvät molemmilla laitteilla, samassa järjestyksessä:",
+ "To be secure, do this in person or use a trusted way to communicate.": "Turvallisuuden varmistamiseksi tee tämä kasvokkain tai käytä luotettua viestintätapaa.",
+ "Later": "Myöhemmin",
+ "Show less": "Näytä vähemmän",
+ "in memory": "muistissa",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Tämä huone ei siltaa viestejä millekään alustalle. Lue lisää.",
+ "Bridges": "Sillat",
+ "Send a reply…": "Lähetä vastaus…",
+ "Send a message…": "Lähetä viesti…",
+ "Unknown Command": "Tuntematon komento",
+ "Unrecognised command: %(commandText)s": "Tunnistamaton komento: %(commandText)s",
+ "Send as message": "Lähetä viestinä",
+ "Waiting for %(displayName)s to accept…": "Odotetaan, että %(displayName)s hyväksyy…",
+ "Done": "Valmis",
+ "Got it": "Asia selvä",
+ "Failed to find the following users": "Seuraavia käyttäjiä ei löytynyt",
+ "Backup restored": "Varmuuskopio palautettu",
+ "Go Back": "Takaisin",
+ "Copy": "Kopioi",
+ "Upgrade your encryption": "Päivitä salauksesi",
+ "Unknown (user, session) pair:": "Tuntematon (käyttäjä, istunto) -pari:",
+ "Your homeserver does not support session management.": "Kotipalvelimesi ei tue istunnonhallintaa.",
+ "Unable to load session list": "Istuntoluettelon lataaminen ei onnistu",
+ "Delete %(count)s sessions|one": "Poista %(count)s istunto",
+ "Backup has a valid signature from this session": "Varmuuskopiossa on kelvollinen allekirjoitus tästä istunnosta",
+ "Backup has an invalid signature from this session": "Varmuuskopiossa on epäkelpo allekirjoitus tästä istunnosta",
+ "Enable desktop notifications for this session": "Ota käyttöön työpöytäilmoitukset tälle istunnolle",
+ "Enable audible notifications for this session": "Ota käyttöön ääni-ilmoitukset tälle istunnolle",
+ "A session's public name is visible to people you communicate with": "Istunnon julkinen nimi näkyy ihmisille, joiden kanssa viestit",
+ "Someone is using an unknown session": "Joku käyttää tuntematonta istuntoa",
+ "%(count)s sessions|other": "%(count)s istuntoa",
+ "%(count)s sessions|one": "%(count)s istunto",
+ "Hide sessions": "Piilota istunnot",
+ "Clear all data in this session?": "Poista kaikki tämän istunnon tiedot?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Kaikkien tämän istunnon tietojen poistaminen on pysyvää. Salatut viestit menetetään, ellei niiden avaimia ole varmuuskopioitu.",
+ "Session name": "Istunnon nimi",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Lisäsit uuden istunnon '%(displayName)s', joka pyytää salausavaimia.",
+ "Loading session info...": "Ladataan istunnon tietoja...",
+ "New session": "Uusi istunto",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Raportoidaksesi Matrixiin liittyvän tietoturvaongelman, lue Matrix.orgin tietoturvaongelmien julkaisukäytäntö.",
+ "Message search": "Viestihaku",
+ "Sessions": "Istunnot",
+ "This room is bridging messages to the following platforms. Learn more.": "Tämä huone siltaa viestejä seuraaville alustoille. Lue lisää.",
+ "Re-request encryption keys from your other sessions.": "Pyydä uudelleen salausavaimia muista istunnoistasi.",
+ "Mark all as read": "Merkitse kaikki luetuiksi",
+ "Alternative addresses for this room:": "Tämän huoneen vaihtoehtoiset osoitteet:",
+ "This room has no alternative addresses": "Tällä huoneella ei ole vaihtoehtoisia osoitteita",
+ "Accepting…": "Hyväksytään…",
+ "One of the following may be compromised:": "Jokin seuraavista saattaa olla vaarantunut:",
+ "Your homeserver": "Kotipalvelimesi",
+ "Yours, or the other users’ internet connection": "Omasi tai muiden käyttäjien internet-yhteys",
+ "Yours, or the other users’ session": "Omasi tai muiden käyttäjien istunto",
+ "Encryption enabled": "Salaus käytössä",
+ "Encryption not enabled": "Salaus pois käytöstä",
+ "The encryption used by this room isn't supported.": "Tämän huoneen käyttämää salausta ei tueta.",
+ "You declined": "Kieltäydyit",
+ "%(name)s declined": "%(name)s kieltäytyi",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Seuraavien käyttäjien kutsuminen keskusteluun epäonnistui: %(csvUsers)s",
+ "Something went wrong trying to invite the users.": "Käyttäjien kutsumisessa meni jotain pieleen.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Emme voineet kutsua kyseisiä käyttäjiä. Tarkista käyttäjät, jotka haluat kutsua ja yritä uudelleen.",
+ "Suggestions": "Ehdotukset",
+ "Your account is not secure": "Tilisi ei ole turvallinen",
+ "Your password": "Salasanasi",
+ "Room contains unknown sessions": "Huoneessa on tuntemattomia istuntoja",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" sisältää istuntoja, joita et ole nähnyt aiemmin.",
+ "Incorrect recovery passphrase": "Virheellinen palautuksen salalause",
+ "Enter recovery passphrase": "Syötä palautuksen salalause",
+ "Enter recovery key": "Syötä palautusavain",
+ "Confirm your identity by entering your account password below.": "Vahvista henkilöllisyytesi syöttämällä tilisi salasana alle.",
+ "Message not sent due to unknown sessions being present": "Viestiä ei lähetetty, koska läsnä on tuntemattomia istuntoja",
+ "Show sessions, send anyway or cancel.": "Näytä istunnot, lähetä silti tai peruuta.",
+ "Sender session information": "Tietoa lähettäjän istunnosta",
+ "Enter your account password to confirm the upgrade:": "Syötä tilisi salasana vahvistaaksesi päivityksen:",
+ "Restore": "Palauta",
+ "Enter a passphrase": "Syötä salalause",
+ "Back up my encryption keys, securing them with the same passphrase": "Varmuuskopioi salausavaimeni, suojaten ne samalla salalauseella",
+ "Enter your passphrase a second time to confirm it.": "Syötä salalauseesi uudestaan vahvistaaksesi sen.",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Säilytä sitä turvallisessa paikassa, kuten salasanojen hallintaohjelmassa tai jopa kassakaapissa.",
+ "Your recovery key": "Palautusavaimesi",
+ "Make a copy of your recovery key": "Tee kopio palautusavaimestasi",
+ "You're done!": "Valmis!",
+ "Not currently indexing messages for any room.": "Minkään huoneen viestejä ei tällä hetkellä indeksoida.",
+ "Space used:": "Käytetty tila:",
+ "Indexed messages:": "Indeksoidut viestit:",
+ "Indexed rooms:": "Indeksoidut huoneet:",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s / %(totalRooms)s",
+ "Your user agent": "Käyttäjäagenttisi",
+ "Verify this session": "Vahvista tämä istunto",
+ "Set up encryption": "Ota salaus käyttöön",
+ "Unverified session": "Vahvistamaton istunto",
+ "Sign In or Create Account": "Kirjaudu sisään tai luo tili",
+ "Use your account or create a new one to continue.": "Käytä tiliäsi tai luo uusi jatkaaksesi.",
+ "Create Account": "Luo tili",
+ "Session already verified!": "Istunto on jo vahvistettu!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "VAROITUS: Istunto on jo vahvistettu, mutta avaimet EIVÄT VASTAA!",
+ "Not Trusted": "Ei luotettu",
+ "Ask this user to verify their session, or manually verify it below.": "Pyydä tätä käyttäjää vahvistamaan heidän istuntonsa, tai manuaalisesti vahvista se alla.",
+ "Manually Verify": "Manuaalisesti vahvista",
+ "a few seconds from now": "muutama sekunti sitten",
+ "about a minute from now": "noin minuutti sitten",
+ "%(num)s minutes from now": "%(num)s minuuttia sitten",
+ "about an hour from now": "noin tunti sitten",
+ "%(num)s hours from now": "%(num)s tuntia sitten",
+ "about a day from now": "noin päivä sitten",
+ "%(num)s days from now": "%(num)s päivää sitten",
+ "Show padlocks on invite only rooms": "Näytä lukko vain-kutsu huoneissa",
+ "Never send encrypted messages to unverified sessions from this session": "Älä koskaan lähetä salattuja viestejä vahvistamattomiin istuntoihin tästä istunnosta",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Älä lähetä salattuja viestejä vahvistamattomiin istuntoihin tässä huoneessa tässä istunnossa",
+ "Order rooms by name": "Suodata huoneet nimellä",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Tässä huoneessa on tuntemattomia istuntoja: jos jatkat varmentamatta niitä, saattaa olla, että joku kuuntelee puheluasi.",
+ "Review Sessions": "Tarkasta istunnot",
+ "If you cancel now, you won't complete verifying the other user.": "Jo peruutat nyt, toista käyttäjää ei varmenneta.",
+ "If you cancel now, you won't complete verifying your other session.": "Jos peruutat nyt, toista istuntoasi ei varmenneta.",
+ "If you cancel now, you won't complete your secret storage operation.": "Jos peruutat nyt, salavarasto-toimintoa ei suoriteta.",
+ "Setting up keys": "Otetaan avaimet käyttöön",
+ "Verifies a user, session, and pubkey tuple": "Varmentaa käyttäjän, istunnon ja julkiset avaimet",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "VAROITUS: AVAIMEN VARMENTAMINEN EPÄONNISTUI! Käyttäjän %(userId)s ja laitteen %(deviceId)s istunnon allekirjoitusavain on ”%(fprint)s”, mikä ei täsmää annettuun avaimeen ”%(fingerprint)s”. Tämä voi tarkoittaa, että yhteyksiänne peukaloidaan!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Antamasi allekirjoitusavain täsmää käyttäjältä %(userId)s saamaasi istunnon %(deviceId)s allekirjoitusavaimeen. Istunto on varmennettu.",
+ "Displays information about a user": "Näyttää tietoa käyttäjästä",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s vaihtoi huoneen nimen %(oldRoomName)s nimeksi %(newRoomName)s.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s lisäsi vaihtoehtoisia osoitteita %(addresses)s tälle huoneelle.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s lisäsi vaihtoehtoisen osoitteen %(addresses)s tälle huoneelle.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s poisti vaihtoehtoisia osoitteita %(addresses)s tältä huoneelta.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s poisti vaihtoehtoisen osoitteitteen %(addresses)s tältä huoneelta.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s muutti tämän huoneen vaihtoehtoisia osoitteita.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s muutti tämän huoneen pää- sekä vaihtoehtoisia osoitteita.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s muutti tämän huoneen osoitteita.",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) kirjautui uudella istunnolla varmentamatta sitä:",
+ "Show a presence dot next to DMs in the room list": "Näytä huonelistassa piste läsnäolon merkiksi yksityisviestien vieressä",
+ "Support adding custom themes": "Tue mukaututettujen teemojen lisäämistä",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Ota ristivarmennus käyttöön varmentaaksesi käyttäjät istuntojen sijaan (kehitysversio)",
+ "Show rooms with unread notifications first": "Näytä ensin huoneet, joissa on lukemattomia viestejä",
+ "Show shortcuts to recently viewed rooms above the room list": "Näytä oikotiet viimeiseksi katsottuihin huoneisiin huonelistan yläpuolella",
+ "Enable message search in encrypted rooms": "Ota viestihaku salausta käyttävissä huoneissa käyttöön",
+ "Keep secret storage passphrase in memory for this session": "Pidä salavaraston salalause muistissa tämän istunnon ajan",
+ "How fast should messages be downloaded.": "Kuinka nopeasti viestit pitäisi ladata.",
+ "Verify this session by completing one of the following:": "Varmenna tämä istunto tekemällä yhden seuraavista:",
+ "Scan this unique code": "Skannaa tämä uniikki koodi",
+ "Compare unique emoji": "Vertaa uniikkia emojia",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Vertaa kokoelmaa uniikkeja emojeja, jos kummassakaan laitteessa ei ole kameraa",
+ "Verify this device by confirming the following number appears on its screen.": "Varmenna tämä laite varmistamalla, että seuraava numero ilmestyy sen näytölle.",
+ "Waiting for %(displayName)s to verify…": "Odotetaan käyttäjän %(displayName)s varmennusta…",
+ "Cancelling…": "Peruutetaan…",
+ "They match": "Ne täsmäävät",
+ "They don't match": "Ne eivät täsmää",
+ "Verify yourself & others to keep your chats safe": "Varmenna itsesi ja muut pitääksesi keskustelunne suojassa",
+ "Other users may not trust it": "Muut eivät välttämättä luota siihen",
+ "Review": "Katselmoi",
+ "This bridge was provisioned by .": "Tämän sillan tarjoaa käyttäjä .",
+ "This bridge is managed by .": "Tätä siltaa hallinnoi käyttäjä .",
+ "Workspace: %(networkName)s": "Työtila: %(networkName)s",
+ "Channel: %(channelName)s": "Kanava: %(channelName)s"
}
diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json
index d526c53430..941fd209f2 100644
--- a/src/i18n/strings/fr.json
+++ b/src/i18n/strings/fr.json
@@ -16,8 +16,6 @@
"Failed to change power level": "Échec du changement de rang",
"Failed to forget room %(errCode)s": "Échec de l'oubli du salon %(errCode)s",
"Remove": "Supprimer",
- "bold": "gras",
- "italic": "italique",
"Favourite": "Favoris",
"Notifications": "Notifications",
"Settings": "Paramètres",
@@ -71,7 +69,6 @@
"Decryption error": "Erreur de déchiffrement",
"Deops user with given id": "Retire le rang d’opérateur d’un utilisateur à partir de son identifiant",
"Device ID": "Identifiant de l'appareil",
- "Devices": "Appareils",
"Failed to join room": "Échec de l’inscription au salon",
"Failed to kick": "Échec de l'expulsion",
"Failed to leave room": "Échec du départ du salon",
@@ -100,21 +97,17 @@
"For security, this session has been signed out. Please sign in again.": "Par mesure de sécurité, la session a expiré. Merci de vous authentifier à nouveau.",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s à %(toPowerLevel)s",
"Hangup": "Raccrocher",
- "Hide Text Formatting Toolbar": "Cacher la barre de formatage de texte",
"Historical": "Historique",
"Homeserver is": "Le serveur d'accueil est",
"Identity Server is": "Le serveur d'identité est",
"I have verified my email address": "J’ai vérifié mon adresse e-mail",
"Import E2E room keys": "Importer les clés de chiffrement de bout en bout",
"Incorrect verification code": "Code de vérification incorrect",
- "Invalid alias format": "Format d'alias non valide",
"Invalid Email Address": "Adresse e-mail non valide",
"%(senderName)s invited %(targetName)s.": "%(senderName)s a invité %(targetName)s.",
- "Invite new room members": "Inviter de nouveaux membres",
"Invited": "Invités",
"Invites": "Invitations",
"Invites user with given id to current room": "Invite un utilisateur dans le salon actuel à partir de son identifiant",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' n'est pas un format valide pour un alias",
"Sign in with": "Se connecter avec",
"Join Room": "Rejoindre le salon",
"%(targetName)s joined the room.": "%(targetName)s a rejoint le salon.",
@@ -134,16 +127,10 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s a rendu l'historique visible à n'importe qui.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s a rendu l'historique visible à inconnu (%(visibility)s).",
"Manage Integrations": "Gestion des intégrations",
- "Markdown is disabled": "Le formatage Markdown est désactivé",
- "Markdown is enabled": "Le formatage Markdown est activé",
- "matrix-react-sdk version:": "Version de matrix-react-sdk :",
- "Message not sent due to unknown devices being present": "Message non envoyé à cause de la présence d’appareils inconnus",
"Missing room_id in request": "Absence du room_id dans la requête",
"Missing user_id in request": "Absence du user_id dans la requête",
"Moderator": "Modérateur",
"Name": "Nom",
- "Never send encrypted messages to unverified devices from this device": "Ne jamais envoyer de message chiffré aux appareils non vérifiés depuis cet appareil",
- "Never send encrypted messages to unverified devices in this room from this device": "Ne jamais envoyer de message chiffré aux appareils non vérifiés dans ce salon depuis cet appareil",
"New address (e.g. #foo:%(localDomain)s)": "Nouvelle adresse (par ex. #foo:%(localDomain)s)",
"New passwords don't match": "Les mots de passe ne correspondent pas",
"New passwords must match each other.": "Les nouveaux mots de passe doivent être identiques.",
@@ -152,7 +139,6 @@
"(not supported by this browser)": "(non supporté par ce navigateur)",
"": "",
"NOT verified": "NON vérifié",
- "No devices with registered encryption keys": "Pas d’appareil avec des clés de chiffrement enregistrées",
"No more results": "Fin des résultats",
"No results": "Pas de résultat",
"unknown error code": "code d’erreur inconnu",
@@ -160,11 +146,9 @@
"Only people who have been invited": "Seules les personnes ayant été invitées",
"Password": "Mot de passe",
"Passwords can't be empty": "Le mot de passe ne peut pas être vide",
- "People": "Personnes",
"Permissions": "Permissions",
"Phone": "Numéro de téléphone",
- "Operation failed": "L'opération a échoué",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Pour le moment, changer le mot de passe réinitialise les clés de chiffrement sur tous les appareils, rendant l’historique des discussions chiffrées illisible, à moins d’exporter d'abord les clés de salon puis de les ré-importer. Ceci sera amélioré prochainement.",
+ "Operation failed": "L’opération a échoué",
"Default": "Par défaut",
"Email address": "Adresse e-mail",
"Error decrypting attachment": "Erreur lors du déchiffrement de la pièce jointe",
@@ -195,8 +179,6 @@
"Search": "Rechercher",
"Search failed": "Échec de la recherche",
"Searches DuckDuckGo for results": "Recherche des résultats dans DuckDuckGo",
- "Sender device information": "Informations de l'appareil de l'expéditeur",
- "Send Invites": "Envoyer des invitations",
"Send Reset Email": "Envoyer l'e-mail de réinitialisation",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s a envoyé une image.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s a invité %(targetDisplayName)s à rejoindre le salon.",
@@ -214,7 +196,6 @@
"%(count)s of your messages have not been sent.|other": "Certains de vos messages n’ont pas été envoyés.",
"Someone": "Quelqu'un",
"Start a chat": "Commencer une discussion",
- "Start Chat": "Commencer une discussion",
"Submit": "Soumettre",
"Success": "Succès",
"This email address is already in use": "Cette adresse e-mail est déjà utilisée",
@@ -229,7 +210,6 @@
"To use it, just wait for autocomplete results to load and tab through them.": "Pour l’utiliser, attendez simplement que les résultats de l’auto-complétion s’affichent et défilez avec la touche Tab.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Un instant donné de la chronologie n’a pu être chargé car vous n’avez pas la permission de le visualiser.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Un instant donné de la chronologie n’a pu être chargé car il n’a pas pu être trouvé.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s a activé le chiffrement de bout en bout (algorithme %(algorithm)s).",
"Unable to add email address": "Impossible d'ajouter l'adresse e-mail",
"Unable to remove contact information": "Impossible de supprimer les informations du contact",
"Unable to verify email address.": "Impossible de vérifier l’adresse e-mail.",
@@ -237,7 +217,6 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s a révoqué le bannissement de %(targetName)s.",
"Unable to capture screen": "Impossible de capturer l'écran",
"Unable to enable Notifications": "Impossible d'activer les notifications",
- "Unable to load device list": "Impossible de charger la liste des appareils",
"unencrypted": "non chiffré",
"unknown device": "appareil inconnu",
"Unknown room %(roomId)s": "Salon inconnu %(roomId)s",
@@ -255,11 +234,10 @@
"Voice call": "Appel vocal",
"VoIP conference finished.": "Téléconférence VoIP terminée.",
"VoIP conference started.": "Téléconférence VoIP démarrée.",
- "VoIP is unsupported": "Voix sur IP non supportée",
+ "VoIP is unsupported": "VoIP (Appels par Internet) n'est pas supportée",
"Warning!": "Attention !",
"Who can access this room?": "Qui peut accéder au salon ?",
"Who can read history?": "Qui peut lire l'historique ?",
- "Who would you like to communicate with?": "Avec qui voulez-vous communiquer ?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s a annulé l’invitation de %(targetName)s.",
"You are already in a call.": "Vous avez déjà un appel en cours.",
"You cannot place a call with yourself.": "Vous ne pouvez pas passer d'appel avec vous-même.",
@@ -269,7 +247,6 @@
"You need to be able to invite users to do that.": "Vous devez être capable d’inviter des utilisateurs pour faire ça.",
"You need to be logged in.": "Vous devez être identifié.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Votre adresse e-mail ne semble pas être associée à un identifiant Matrix sur ce serveur d'accueil.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Votre mot de passe a été mis à jour avec succès. Vous ne recevrez plus de notification sur vos autres appareils jusqu’à ce que vous vous identifiez à nouveau",
"You seem to be in a call, are you sure you want to quit?": "Vous semblez avoir un appel en cours, voulez-vous vraiment partir ?",
"You seem to be uploading files, are you sure you want to quit?": "Vous semblez être en train d'envoyer des fichiers, voulez-vous vraiment partir ?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Vous ne pourrez pas annuler cette modification car vous promouvez l’utilisateur au même rang que le vôtre.",
@@ -311,16 +288,16 @@
"Analytics": "Collecte de données",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot collecte des données anonymes qui nous permettent d’améliorer l’application.",
"Passphrases must match": "Les phrases de passe doivent être identiques",
- "Passphrase must not be empty": "La phrase de passe ne peut pas être vide",
+ "Passphrase must not be empty": "Le mot de passe ne peut pas être vide",
"Export room keys": "Exporter les clés de salon",
- "Enter passphrase": "Saisir la phrase de passe",
- "Confirm passphrase": "Confirmer la phrase de passe",
+ "Enter passphrase": "Saisir le mot de passe",
+ "Confirm passphrase": "Confirmer le mot de passe",
"Import room keys": "Importer les clés de salon",
"File to import": "Fichier à importer",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Ce processus vous permet d’exporter dans un fichier local les clés pour les messages que vous avez reçus dans des salons chiffrés. Il sera ensuite possible d’importer ce fichier dans un autre client Matrix, afin de permettre à ce client de pouvoir déchiffrer ces messages.",
"The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "Le fichier exporté permettra à tous ceux qui peuvent le lire de déchiffrer tous les messages chiffrés auxquels vous avez accès, vous devez donc être vigilant et le stocker dans un endroit sûr. Afin de protéger ce fichier, saisissez ci-dessous une phrase secrète qui sera utilisée pour chiffrer les données exportées. Seule l’utilisation de la même phrase secrète permettra de déchiffrer et importer les données.",
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Ce processus vous permet d’importer les clés de chiffrement que vous avez précédemment exportées depuis un autre client Matrix. Vous serez alors capable de déchiffrer n’importe quel message que l’autre client pouvait déchiffrer.",
- "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Le fichier exporté est protégé par une phrase de passe. Vous devez saisir cette phrase de passe ici pour déchiffrer le fichier.",
+ "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Le fichier exporté sera protégé par un mot de passe. Vous devez saisir ce mot de passe ici, pour déchiffrer le fichier.",
"You must join the room to see its files": "Vous devez rejoindre le salon pour voir ses fichiers",
"Reject all %(invitedRooms)s invites": "Rejeter la totalité des %(invitedRooms)s invitations",
"Failed to invite": "Échec de l’invitation",
@@ -330,18 +307,9 @@
"Unknown error": "Erreur inconnue",
"Incorrect password": "Mot de passe incorrect",
"To continue, please enter your password.": "Pour continuer, veuillez saisir votre mot de passe.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Pour vérifier que vous pouvez faire confiance à cet appareil, merci de contacter son propriétaire par un autre moyen (par ex. en personne ou par téléphone) et demandez lui si la clé qu’il/elle voit dans ses Paramètres Utilisateur pour cet appareil correspond à la clé ci-dessous :",
- "Device name": "Nom de l'appareil",
- "Device key": "Clé de l'appareil",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Si les clés correspondent, cliquer sur le bouton \"Vérifier\" ci-dessous. Sinon quelqu’un d’autre est en train d’intercepter cet appareil et vous devriez certainement cliquer sur le bouton \"Ajouter à la liste noire\" à la place.",
- "Verify device": "Vérifier cet appareil",
"I verify that the keys match": "J’ai vérifié que les clés correspondaient",
"Unable to restore session": "Impossible de restaurer la session",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Si vous avez utilisé une version plus récente de Riot précédemment, votre session risque d’être incompatible avec cette version. Fermez cette fenêtre et retournez à la version plus récente.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Vous êtes en train d’ajouter à la liste noire des appareils non-vérifiés ; pour envoyer des messages à ces appareils vous devez les vérifier.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Nous vous recommandons d’effectuer le processus de vérification pour tous les appareils afin de confirmer qu’ils appartiennent à leurs propriétaires légitimes, mais vous pouvez renvoyer le(s) message(s) sans vérifier si vous préférez.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contient des appareils que vous n'avez encore jamais vus.",
- "Unknown devices": "Appareils inconnus",
"Unknown Address": "Adresse inconnue",
"Unblacklist": "Supprimer de la liste noire",
"Blacklist": "Ajouter à la liste noire",
@@ -375,19 +343,13 @@
"%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s a changé l’avatar du salon en ",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s a supprimé l'avatar du salon.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s a changé l’avatar de %(roomName)s",
- "Device already verified!": "Appareil déjà vérifié !",
"Export": "Exporter",
"Import": "Importer",
"Incorrect username and/or password.": "Nom d’utilisateur et/ou mot de passe incorrect.",
"Results from DuckDuckGo": "Résultats de DuckDuckGo",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Les clés de signature que vous avez transmises correspondent aux clés que vous avez reçues de l’appareil %(deviceId)s de %(userId)s. L’appareil est vérifié.",
- "Unknown (user, device) pair:": "Couple (utilisateur, appareil) inconnu :",
- "Unrecognised command:": "Commande non reconnue :",
"Unrecognised room alias:": "Alias de salon non reconnu :",
"Use compact timeline layout": "Utiliser l'affichage compact de l'historique",
"Verified key": "Clé vérifiée",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ATTENTION : appareil déjà vérifié mais les clés NE CORRESPONDENT PAS !",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ATTENTION : ERREUR DE VÉRIFICATION DES CLÉS ! La clé de signature pour %(userId)s et l'appareil %(deviceId)s est “%(fprint)s” et ne correspond pas à la clé “%(fingerprint)s” qui a été fournie. Cela peut signifier que vos communications sont interceptées !",
"No Microphones detected": "Aucun micro détecté",
"No Webcams detected": "Aucune webcam détectée",
"No media permissions": "Pas de permission pour les médias",
@@ -399,9 +361,7 @@
"Anyone": "N'importe qui",
"Are you sure you want to leave the room '%(roomName)s'?": "Voulez-vous vraiment quitter le salon \"%(roomName)s\" ?",
"Custom level": "Rang personnalisé",
- "Device ID:": "Identifiant de l'appareil :",
"device id: ": "identifiant de l'appareil : ",
- "Device key:": "Clé de l’appareil :",
"Register": "S'inscrire",
"Remote addresses for this room:": "Adresses distantes pour ce salon :",
"Save": "Enregistrer",
@@ -427,7 +387,7 @@
"Accept": "Accepter",
"Active call (%(roomName)s)": "Appel en cours (%(roomName)s)",
"Alias (optional)": "Alias (facultatif)",
- "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Impossible de se connecter au serveur d'accueil - veuillez vérifier votre connexion, assurez-vous que le certificat SSL de votre serveur d'accueil est un certificat de confiance, et qu'aucune extension du navigateur ne bloque les requêtes.",
+ "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Impossible de se connecter au serveur d’accueil - veuillez vérifier votre connexion, assurez-vous que le certificat SSL de votre serveur d’accueil est un certificat de confiance, et qu’aucune extension du navigateur ne bloque les requêtes.",
"Close": "Fermer",
"Custom": "Personnaliser",
"Decline": "Refuser",
@@ -441,22 +401,17 @@
"No display name": "Pas de nom affiché",
"Private Chat": "Discussion privée",
"Public Chat": "Discussion publique",
- "Room contains unknown devices": "Le salon contient des appareils inconnus",
"%(roomName)s does not exist.": "%(roomName)s n'existe pas.",
"%(roomName)s is not accessible at this time.": "%(roomName)s n'est pas accessible pour le moment.",
"Seen by %(userName)s at %(dateTime)s": "Vu par %(userName)s à %(dateTime)s",
"Send anyway": "Envoyer quand même",
- "Show Text Formatting Toolbar": "Afficher la barre de formatage de texte",
"Start authentication": "Commencer une authentification",
"This room": "Ce salon",
- "Undecryptable": "Indéchiffrable",
- "Unencrypted message": "Message non chiffré",
"unknown caller": "appelant inconnu",
"Unnamed Room": "Salon anonyme",
"Username invalid: %(errMessage)s": "Nom d'utilisateur non valide : %(errMessage)s",
"(~%(count)s results)|one": "(~%(count)s résultat)",
"(~%(count)s results)|other": "(~%(count)s résultats)",
- "Encrypted by an unverified device": "Chiffré par un appareil non vérifié",
"Home": "Accueil",
"Upload new:": "Envoyer un nouveau :",
"Join as voice or video.": "Rejoindre en audio ou en vidéo.",
@@ -474,8 +429,6 @@
"Start verification": "Commencer la vérification",
"Share without verifying": "Partager sans vérifier",
"Ignore request": "Ignorer la requête",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Vous avez ajouté un nouvel appareil, \"%(displayName)s\", qui demande des clés de chiffrement.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Votre appareil non vérifié \"%(displayName)s\" demande des clés de chiffrement.",
"Encryption key request": "Requête de clé de chiffrement",
"Check for update": "Rechercher une mise à jour",
"Add a widget": "Ajouter un widget",
@@ -488,7 +441,6 @@
"Unable to create widget.": "Impossible de créer le widget.",
"You are not in this room.": "Vous n'êtes pas dans ce salon.",
"You do not have permission to do that in this room.": "Vous n'avez pas la permission d'effectuer cette action dans ce salon.",
- "Loading device info...": "Chargement des informations de l'appareil...",
"Example": "Exemple",
"Create": "Créer",
"Featured Rooms:": "Salons mis en avant :",
@@ -504,7 +456,6 @@
"PM": "PM",
"Copied!": "Copié !",
"Failed to copy": "Échec de la copie",
- "Verifies a user, device, and pubkey tuple": "Vérifie un utilisateur, un appareil et une clé publique",
"%(widgetName)s widget modified by %(senderName)s": "Widget %(widgetName)s modifié par %(senderName)s",
"Who would you like to add to this community?": "Qui souhaitez-vous ajouter à cette communauté ?",
"Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Attention : toute personne ajoutée à une communauté sera visible par tous ceux connaissant l'identifiant de la communauté",
@@ -542,7 +493,7 @@
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s a changé les messages épinglés du salon.",
"Jump to read receipt": "Aller à l'accusé de lecture",
"World readable": "Lisible publiquement",
- "Guests can join": "Accessible aux invités",
+ "Guests can join": "Accessible aux visiteurs",
"Invalid community ID": "Identifiant de communauté non valide",
"'%(groupId)s' is not a valid community ID": "\"%(groupId)s\" n'est pas un identifiant de communauté valide",
"%(senderName)s sent an image": "%(senderName)s a envoyé une image",
@@ -702,8 +653,6 @@
"Idle for %(duration)s": "Inactif depuis %(duration)s",
"Offline for %(duration)s": "Hors ligne depuis %(duration)s",
"Unknown for %(duration)s": "Inconnu depuis %(duration)s",
- "Delete %(count)s devices|one": "Supprimer l'appareil",
- "Delete %(count)s devices|other": "Supprimer %(count)s appareils",
"Something went wrong when trying to get your communities.": "Une erreur est survenue lors de l'obtention de vos communautés.",
"This homeserver doesn't offer any login flows which are supported by this client.": "Ce serveur d'accueil n'offre aucune méthode d'identification compatible avec ce client.",
"Flair": "Badge",
@@ -713,7 +662,6 @@
"expand": "développer",
"collapse": "réduire",
"Call Failed": "Échec de l'appel",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Il y a des appareils inconnus dans ce salon : si vous continuez sans les vérifier, quelqu'un pourrait épier votre appel.",
"Review Devices": "Passer en revue les appareils",
"Call Anyway": "Appeler quand même",
"Answer Anyway": "Répondre quand même",
@@ -747,7 +695,6 @@
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s %(day)s %(monthName)s %(fullYear)s",
"This room is not public. You will not be able to rejoin without an invite.": "Ce salon n'est pas public. Vous ne pourrez pas y revenir sans invitation.",
"Community IDs cannot be empty.": "Les identifiants de communauté ne peuvent pas être vides.",
- "Show devices, send anyway or cancel.": "Afficher les appareils, envoyer quand même ou annuler.",
"In reply to": "En réponse à",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s a changé son nom affiché en %(displayName)s.",
"Failed to set direct chat tag": "Échec de l'ajout de l'étiquette discussion directe",
@@ -756,11 +703,7 @@
"Clear filter": "Supprimer les filtres",
"Did you know: you can use communities to filter your Riot.im experience!": "Le saviez-vous : vous pouvez utiliser les communautés pour filtrer votre expérience Riot.im !",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Pour activer un filtre, faites glisser un avatar de communauté sur le panneau des filtres tout à gauche de l'écran. Vous pouvez cliquer sur un avatar dans ce panneau quand vous le souhaitez afin de ne voir que les salons et les personnes associés à cette communauté.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Votre demande de partage de clé a été envoyée - veuillez vérifier les demandes de partage de clé sur vos autres appareils.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Les demandes de partage de clé sont envoyées à vos autres appareils automatiquement. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander les clés pour cette session.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer.",
"Key request sent.": "Demande de clé envoyée.",
- "Re-request encryption keys from your other devices.": "Re-demander les clés de chiffrement depuis vos autres appareils.",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "Vu par %(displayName)s (%(userName)s) à %(dateTime)s",
"Code": "Code",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Si vous avez signalé un bug via GitHub, les journaux de débogage peuvent nous aider à identifier le problème. Les journaux de débogage contiennent des données d'utilisation de l'application dont votre nom d'utilisateur, les identifiants ou alias des salons ou groupes que vous avez visité et les noms d'utilisateur des autres participants. Ils ne contiennent pas les messages.",
@@ -822,7 +765,6 @@
"Resend": "Renvoyer",
"Collecting app version information": "Récupération des informations de version de l’application",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Supprimer l'alias %(alias)s du salon et supprimer %(name)s du répertoire ?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Cela vous permettra de retourner sur votre compte après vous être déconnecté, et de vous identifier sur d'autres appareils.",
"Keywords": "Mots-clés",
"Enable notifications for this account": "Activer les notifications pour ce compte",
"Invite to this community": "Inviter à cette communauté",
@@ -918,8 +860,6 @@
"Refresh": "Rafraîchir",
"We encountered an error trying to restore your previous session.": "Une erreur est survenue lors de la restauration de la dernière session.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Effacer le stockage de votre navigateur peut résoudre le problème, mais cela vous déconnectera et tous les historiques de conversation encryptés seront illisibles.",
- "Unable to reply": "Impossible de répondre",
- "At this time it is not possible to reply with an emote.": "Pour le moment il n'est pas possible de répondre avec une réaction.",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Impossible de charger l'événement auquel il a été répondu, soit il n'existe pas, soit vous n'avez pas l'autorisation de le voir.",
"Collapse Reply Thread": "Masquer le fil de réponse",
"Enable widget screenshots on supported widgets": "Activer les captures d'écran des widgets pris en charge",
@@ -962,12 +902,6 @@
"Demote yourself?": "Vous rétrograder ?",
"Demote": "Rétrograder",
"This event could not be displayed": "Cet événement n'a pas pu être affiché",
- "deleted": "barré",
- "underlined": "souligné",
- "inline-code": "code",
- "block-quote": "citation",
- "bulleted-list": "liste à puces",
- "numbered-list": "liste à numéros",
"Permission Required": "Permission requise",
"You do not have permission to start a conference call in this room": "Vous n'avez pas la permission de lancer un appel en téléconférence dans ce salon",
"A call is currently being placed!": "Un appel est en cours !",
@@ -1031,29 +965,21 @@
"Unable to load! Check your network connectivity and try again.": "Chargement impossible ! Vérifiez votre connexion au réseau et réessayez.",
"Delete Backup": "Supprimer la sauvegarde",
"Unable to load key backup status": "Impossible de charger l'état de sauvegarde des clés",
- "Backup has a valid signature from this device": "La sauvegarde a une signature valide pour cet appareil",
- "Backup has a valid signature from unverified device ": "La sauvegarde a une signature valide de l'appareil non vérifié",
- "Backup has an invalid signature from verified device ": "La sauvegarde a une signature non valide de l'appareil vérifié",
- "Backup has an invalid signature from unverified device ": "La sauvegarde a une signature non valide de l'appareil non vérifié",
- "Backup is not signed by any of your devices": "La sauvegarde n'est signée par aucun de vos appareils",
"Backup version: ": "Version de la sauvegarde : ",
"Algorithm: ": "Algorithme : ",
- "Enter a passphrase...": "Saisissez une phrase de passe…",
+ "Enter a passphrase...": "Saisissez un mot de passe…",
"Next": "Suivant",
"That matches!": "Ça correspond !",
"That doesn't match.": "Ça ne correspond pas.",
"Go back to set it again.": "Retournez en arrière pour la redéfinir.",
- "Repeat your passphrase...": "Répétez votre phrase de passe…",
+ "Repeat your passphrase...": "Répétez votre mot de passe…",
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Par précaution, vous pouvez l'utiliser pour restaurer l'historique de vos messages chiffrés si vous oubliez votre phrase de récupération.",
"Your Recovery Key": "Votre clé de récupération",
"Copy to clipboard": "Copier dans le presse-papier",
"Download": "Télécharger",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Votre clé de récupération a été copiée dans votre presse-papier, collez-la dans :",
- "Your Recovery Key is in your Downloads folder.": "Votre clé de récupération est dans votre dossier de téléchargements.",
"Print it and store it somewhere safe": "Imprimez-la et conservez-la dans un endroit sûr",
"Save it on a USB key or backup drive": "Sauvegardez-la sur une clé USB ou un disque de sauvegarde",
"Copy it to your personal cloud storage": "Copiez-la dans votre espace de stockage personnel en ligne",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Si vous ne configurez pas la récupération de messages sécurisée, vous ne pourrez pas restaurer l'historique de vos messages chiffrés si vous vous déconnectez ou si vous utilisez un autre appareil.",
"Set up Secure Message Recovery": "Configurer la récupération de messages sécurisée",
"Keep it safe": "Conservez-la en lieu sûr",
"Create Key Backup": "Créer la sauvegarde des clés",
@@ -1072,7 +998,6 @@
"This looks like a valid recovery key!": "Cela ressemble à une clé de récupération valide !",
"Not a valid recovery key": "Ce n'est pas une clé de récupération valide",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Accédez à l'historique sécurisé de vos messages et configurez la messagerie sécurisée en renseignant votre clé de récupération.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Si vous avez oublié votre clé de récupération vous pouvez configurer de nouvelle options de récupération",
"Failed to perform homeserver discovery": "Échec lors de la découverte du serveur d'accueil",
"Invalid homeserver discovery response": "Réponse de découverte du serveur d'accueil non valide",
"Use a few words, avoid common phrases": "Utilisez quelques mots, évitez les phrases courantes",
@@ -1100,7 +1025,7 @@
"Names and surnames by themselves are easy to guess": "Les noms et prénoms seuls sont faciles à deviner",
"Common names and surnames are easy to guess": "Les noms et prénoms répandus sont faciles à deviner",
"Use a longer keyboard pattern with more turns": "Utilisez un schéma plus long et avec plus de variations",
- "Great! This passphrase looks strong enough.": "Super ! Cette phrase de passe a l'air assez forte.",
+ "Great! This passphrase looks strong enough.": "Super ! Ce mot de passe a l'air assez fort.",
"As a safety net, you can use it to restore your encrypted message history.": "En cas de problème, vous pouvez l'utiliser pour restaurer l'historique de vos messages chiffrés.",
"Failed to load group members": "Échec du chargement des membres du groupe",
"Failed to invite users to the room:": "Échec de l'invitation d'utilisateurs dans le salon :",
@@ -1120,7 +1045,6 @@
"Checking...": "Vérification…",
"Invalid identity server discovery response": "Réponse non valide lors de la découverte du serveur d'identité",
"General failure": "Erreur générale",
- "Backup has a valid signature from verified device ": "La sauvegarde a une signature valide depuis un appareilvérifié",
"New Recovery Method": "Nouvelle méthode de récupération",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Si vous n'avez pas activé de nouvelle méthode de récupération, un attaquant essaye peut-être d'accéder à votre compte. Changez immédiatement le mot de passe de votre compte et configurez une nouvelle méthode de récupération dans les paramètres.",
"Set up Secure Messages": "Configurer les messages sécurisés",
@@ -1138,7 +1062,7 @@
"Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Impossible de trouver les profils pour les identifiants Matrix listés ci-dessous. Voulez-vous quand même les inviter ?",
"Invite anyway and never warn me again": "Inviter quand même et ne plus me prévenir",
"Invite anyway": "Inviter quand même",
- "Waiting for %(userId)s to confirm...": "Attente de la confirmation de %(userId)s…",
+ "Waiting for %(userId)s to confirm...": "Nous attendons que %(userId)s confirme…",
"Whether or not you're logged in (we don't record your username)": "Si vous êtes connecté ou pas (votre nom d'utilisateur n'est pas enregistré)",
"Upgrades a room to a new version": "Met à niveau un salon vers une nouvelle version",
"Sets the room name": "Défini le nom du salon",
@@ -1170,13 +1094,11 @@
"Email Address": "Adresse e-mail",
"Backing up %(sessionsRemaining)s keys...": "Sauvegarde de %(sessionsRemaining)s clés...",
"All keys backed up": "Toutes les clés ont été sauvegardées",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "La sauvegarde a une signature de l'appareil inconnu qui a pour identifiant %(deviceId)s.",
"Add an email address to configure email notifications": "Ajouter une adresse e-mail pour configurer les notifications par e-mail",
"Unable to verify phone number.": "Impossible de vérifier le numéro de téléphone.",
"Verification code": "Code de vérification",
"Phone Number": "Numéro de téléphone",
"Profile picture": "Image de profil",
- "Upload profile picture": "Transférer une image de profil",
"Display Name": "Nom affiché",
"Room information": "Information du salon",
"Internal room ID:": "Identifiant interne du salon :",
@@ -1203,7 +1125,6 @@
"Room list": "Liste de salons",
"Timeline": "Historique",
"Autocomplete delay (ms)": "Délai pour l'autocomplétion (ms)",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Pour une sécurité maximale, nous vous recommandons de faire cela en personne ou d'utiliser un autre moyen sûr de communication.",
"Chat with Riot Bot": "Discuter avec le bot Riot",
"Roles & Permissions": "Rôles & Permissions",
"To link to this room, please add an alias.": "Pour partager ce salon, veuillez créer un alias.",
@@ -1220,8 +1141,6 @@
"Voice & Video": "Voix & Vidéo",
"Main address": "Adresse princpale",
"Room avatar": "Avatar du salon",
- "Upload room avatar": "Transférer un avatar pour le salon",
- "No room avatar": "Aucun avatar de salon",
"Room Name": "Nom du salon",
"Room Topic": "Sujet du salon",
"Join": "Rejoindre",
@@ -1230,12 +1149,11 @@
"Begin Verifying": "Commencer la vérification",
"Waiting for partner to accept...": "Nous attendons que le partenaire accepte…",
"Use two-way text verification": "Utiliser la vérification textuelle bidirectionnelle",
- "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Vérifier cet utilisateur pour que ce soit un utilisateur de confiance. Faire confiance aux utilisateurs vous apporte une tranquillité d’esprit quand vous utilisez des messages chiffrés de bout en bout.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "En vérifiant cet utilisateur, son appareil sera marqué comme appareil de confiance, et le vôtre sera aussi marqué comme appareil de confiance pour lui.",
+ "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Vérifier cet utilisateur pour le marquer comme fiable. Faire confiance aux utilisateurs vous permet d’être serein quand vous utilisez des messages chiffrés de bout en bout.",
"Waiting for partner to confirm...": "Nous attendons que le partenaire confirme…",
"Incoming Verification Request": "Demande de vérification entrante",
"Go back": "Revenir en arrière",
- "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Pour éviter la duplication d'issues, veuillez voir les issues existantsd'abord (et ajouter un +1) ou créer un nouvel issue si vous ne le trouvez pas.",
+ "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Pour éviter la duplication de problèmes, veuillez voir les problèmes existants d'abord (et ajouter un +1) ou créer un nouveau problème si vous ne le trouvez pas.",
"Report bugs & give feedback": "Rapporter des anomalies & Donner son avis",
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "La sauvegarde n'a pas pu être déchiffrée avec cette clé : veuillez vérifier que vous avez saisi la bonne clé de récupération.",
"Update status": "Mettre à jour le statut",
@@ -1260,17 +1178,14 @@
"Premium hosting for organisations Learn more": "Hébergement premium pour les organisations En savoir plus",
"Other": "Autre",
"Find other public servers or use a custom server": "Trouvez d'autres serveurs publics ou utilisez un serveur personnalisé",
- "Guest": "Invité",
+ "Guest": "Visiteur",
"Sign in instead": "Se connecter",
"Set a new password": "Définir un nouveau mot de passe",
"Create account": "Créer un compte",
"Keep going...": "Continuer…",
"Starting backup...": "Début de la sauvegarde…",
- "A new recovery passphrase and key for Secure Messages have been detected.": "Une nouvelle phrase de passe et une nouvelle clé de récupération pour les messages sécurisés ont été détectées.",
- "This device is encrypting history using the new recovery method.": "Cet appareil chiffre l'historique en utilisant la nouvelle méthode de récupération.",
+ "A new recovery passphrase and key for Secure Messages have been detected.": "Un nouveau mot de passe et une nouvelle clé de récupération pour les messages sécurisés ont été détectés.",
"Recovery Method Removed": "Méthode de récupération supprimée",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Cet appareil a détecté que votre phrase de passe et votre clé de récupération ont été supprimées.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Si vus avez fait cela par accident, vous pouvez configurer les messages sécurisés sur cet appareil, ce qui re-chiffrera l'historique des messages de cet appareil avec une nouvelle méthode de récupération.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Si vous n'avez pas supprimé la méthode de récupération, un attaquant peut être en train d'essayer d'accéder à votre compte. Modifiez le mot de passe de votre compte et configurez une nouvelle méthode de récupération dans les réglages.",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Le fichier \"%(fileName)s\" dépasse la taille limite autorisée par ce serveur pour les téléchargements",
"Gets or sets the room topic": "Récupère ou défini le sujet du salon",
@@ -1278,9 +1193,9 @@
"%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s a rendu le salon public à tous ceux qui en connaissent le lien.",
"%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s a rendu le salon disponible sur invitation seulement.",
"%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s a changé la règle d’adhésion en %(rule)s",
- "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s a autorisé les invités à rejoindre le salon.",
- "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s a empêché les invités de rejoindre le salon.",
- "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s a changé l'accès des invités en %(rule)s",
+ "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s a autorisé les visiteurs à rejoindre le salon.",
+ "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s a empêché les visiteurs de rejoindre le salon.",
+ "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s a changé l'accès des visiteurs en %(rule)s",
"Group & filter rooms by custom tags (refresh to apply changes)": "Grouper et filtrer les salons grâce à des étiquettes personnalisées (actualiser pour appliquer les changements)",
"Verify this user by confirming the following emoji appear on their screen.": "Vérifier cet utilisateur en confirmant que les émojis suivant apparaissent sur son écran.",
"Unable to find a supported verification method.": "Impossible de trouver une méthode de vérification prise en charge.",
@@ -1329,7 +1244,6 @@
"Book": "Livre",
"Pencil": "Crayon",
"Paperclip": "Trombone",
- "Padlock": "Cadenas",
"Key": "Clé",
"Hammer": "Marteau",
"Telephone": "Téléphone",
@@ -1347,31 +1261,22 @@
"Headphones": "Écouteurs",
"Folder": "Dossier",
"Pin": "Épingle",
- "Your homeserver does not support device management.": "Votre serveur d'accueil ne prend pas en charge la gestion des appareils.",
- "This backup is trusted because it has been restored on this device": "Cette sauvegarde est fiable car elle a été restaurée sur cet appareil",
- "Some devices for this user are not trusted": "Certains appareil pour cet utilisateur ne sont pas fiables",
- "Some devices in this encrypted room are not trusted": "Certains appareils dans ce salon chiffré ne sont pas fiables",
- "All devices for this user are trusted": "Tous les appareils de cet utilisateur sont fiables",
- "All devices in this encrypted room are trusted": "Tous les appareils de ce salon chiffré sont fiables",
"Recovery Key Mismatch": "La clé de récupération ne correspond pas",
"Incorrect Recovery Passphrase": "Phrase de passe de récupération incorrecte",
- "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "La sauvegarde n'a pas pu être déchiffrée avec cette phrase de passe : vérifiez que vous avez saisi la bonne phrase de passe de récupération.",
+ "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "La sauvegarde n'a pas pu être déchiffrée avec ce mot de passe : vérifiez que vous avez saisi le bon mot de passe de récupération.",
"This homeserver would like to make sure you are not a robot.": "Ce serveur d'accueil veut s'assurer que vous n'êtes pas un robot.",
"Change": "Changer",
"Couldn't load page": "Impossible de charger la page",
"This homeserver does not support communities": "Ce serveur d'accueil ne prend pas en charge les communautés",
"A verification email will be sent to your inbox to confirm setting your new password.": "Un e-mail de vérification sera envoyé à votre adresse pour confirmer la modification de votre mot de passe.",
"Your password has been reset.": "Votre mot de passe a été réinitialisé.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Vous avez été déconnecté de tous les appareils et vous ne recevrez plus de notifications. Pour réactiver les notifications, reconnectez-vous sur chaque appareil.",
"This homeserver does not support login using email address.": "Ce serveur d'accueil ne prend pas en charge la connexion avec une adresse e-mail.",
"Registration has been disabled on this homeserver.": "L'inscription a été désactivée sur ce serveur d'accueil.",
"Unable to query for supported registration methods.": "Impossible de demander les méthodes d'inscription prises en charge.",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "En êtes-vous sûr(e) ? Vous perdrez vos messages chiffrés si vos clés ne sont pas sauvegardées correctement.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Les messages chiffrés sont sécurisés avec un chiffrement de bout en bout. Seuls vous et le(s) destinataire(s) ont les clés pour lire ces messages.",
"Restore from Backup": "Restaurer depuis la sauvegarde",
- "This device is backing up your keys. ": "Cet appareil sauvegarde vos clés. ",
"Back up your keys before signing out to avoid losing them.": "Sauvegardez vos clés avant de vous déconnecter pour éviter de les perdre.",
- "Your keys are not being backed up from this device.": "Vos clés ne sont pas sauvegardées depuis cet appareil.",
"Start using Key Backup": "Commencer à utiliser la sauvegarde de clés",
"Never lose encrypted messages": "Ne perdez jamais vos messages chiffrés",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Les messages de ce salon sont sécurisés avec le chiffrement de bout en bout. Seuls vous et le(s) destinataire(s) avez les clés pour lire ces messages.",
@@ -1385,15 +1290,14 @@
"Are you sure you want to sign out?": "Voulez-vous vraiment vous déconnecter ?",
"Warning: you should only set up key backup from a trusted computer.": "Attention : vous ne devriez configurer la sauvegarde des clés que depuis un ordinateur de confiance.",
"Hide": "Masquer",
- "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Nous conserverons une copie chiffrée de vos clés sur notre serveur. Protégez votre sauvegarde avec une phrase de passe pour qu'elle reste sécurisée.",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Nous conserverons une copie chiffrée de vos clés sur notre serveur. Protégez votre sauvegarde avec un mot de passe pour qu'elle reste sécurisée.",
"For maximum security, this should be different from your account password.": "Pour une sécurité maximale, ceci devrait être différent du mot de passe de votre compte.",
"Set up with a Recovery Key": "Configurer une clé de récupération",
- "Please enter your passphrase a second time to confirm.": "Veuillez saisir votre phrase de passe une seconde fois pour la confirmer.",
- "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Votre clé de récupération est une mesure de précaution. Vous pouvez l’utiliser pour restaurer l’accès à vos messages chiffrés si vous oubliez votre phrase de passe.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Conservez votre clé de récupération dans un endroit très sécurisé, comme un gestionnaire de mots de passe (ou un coffre-fort)",
+ "Please enter your passphrase a second time to confirm.": "Veuillez saisir votre mot de passe une seconde fois pour le confirmer.",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Votre clé de récupération est une mesure de précaution. Vous pouvez l’utiliser pour restaurer l’accès à vos messages chiffrés si vous oubliez votre mot de passe.",
"Your keys are being backed up (the first backup could take a few minutes).": "Vous clés sont en cours de sauvegarde (la première sauvegarde peut prendre quelques minutes).",
- "Secure your backup with a passphrase": "Protégez votre sauvegarde avec une phrase de passe",
- "Confirm your passphrase": "Confirmez votre phrase de passe",
+ "Secure your backup with a passphrase": "Protégez votre sauvegarde avec un mot de passe",
+ "Confirm your passphrase": "Confirmez votre mot de passe",
"Recovery key": "Clé de récupération",
"Success!": "Terminé !",
"Allow Peer-to-Peer for 1:1 calls": "Autoriser les connexions pair-à-pair pour les appels individuels",
@@ -1448,18 +1352,11 @@
"Power level": "Rang",
"Want more than a community? Get your own server": "Vous voulez plus qu’une communauté ? Obtenez votre propre serveur",
"Please install Chrome, Firefox, or Safari for the best experience.": "Veuillez installer Chrome, Firefox ou Safari pour une expérience optimale.",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Le changement de votre mot de passe entraînera la réinitialisation de toutes les clés de chiffrement de bout en bout sur tous vos appareils. L’historique de vos conversations chiffrées sera alors illisible. Configurez la sauvegarde des clés ou exportez vos clés de chiffrement depuis un autre appareil avant de modifier votre mot de passe.",
- "Room upgrade confirmation": "Confirmation de la mise à niveau du salon",
- "Upgrading a room can be destructive and isn't always necessary.": "La mise à niveau d’un salon peut être destructive et n’est pas toujours nécessaire.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Les mises à niveau de salon sont généralement recommandées quand la version du salon est considérée comme instable. Les versions de salon instables peuvent produire des anomalies, avoir des fonctionnalités en moins ou contenir des failles de sécurité.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Les mises à niveau de salon n’affectent généralement que le traitement par le serveur du salon. Si vous avez un problème avec votre client Riot, créez un rapport avec .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Attention : La mise à niveau du salon ne migrera pas automatiquement les membres du salon vers la nouvelle version du salon. Nous enverrons un lien vers le nouveau salon dans l’ancienne version du salon. Les participants au salon devront cliquer sur ce lien pour rejoindre le nouveau salon.",
"Adds a custom widget by URL to the room": "Ajoute un widget personnalisé par URL au salon",
"Please supply a https:// or http:// widget URL": "Veuillez fournir une URL du widget en https:// ou http://",
"You cannot modify widgets in this room.": "Vous ne pouvez pas modifier les widgets de ce salon.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s a révoqué l’invitation de %(targetDisplayName)s à rejoindre le salon.",
- "Enable desktop notifications for this device": "Activer les notifications de bureau pour cet appareil",
- "Enable audible notifications for this device": "Activer les notifications sonores pour cet appareil",
"Upgrade this room to the recommended room version": "Mettre à niveau ce salon vers la version recommandée",
"This room is running room version , which this homeserver has marked as unstable.": "Ce salon utilise la version , que ce serveur d’accueil a marqué comme instable.",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "La mise à niveau du salon désactivera cette instance du salon et créera un salon mis à niveau avec le même nom.",
@@ -1477,7 +1374,7 @@
"The homeserver may be unavailable or overloaded.": "Le serveur d’accueil est peut-être indisponible ou surchargé.",
"You have %(count)s unread notifications in a prior version of this room.|other": "Vous avez %(count)s notifications non lues dans une version précédente de ce salon.",
"You have %(count)s unread notifications in a prior version of this room.|one": "Vous avez %(count)s notification non lue dans une version précédente de ce salon.",
- "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Si vous utilisez ou non la fonction « fil d’ariane » (les avatars au-dessus de la liste des salons)",
+ "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Si vous utilisez ou non la fonction « fil d’Ariane » (avatars au-dessus de la liste des salons)",
"Replying With Files": "Répondre avec des fichiers",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Pour le moment, il n’est pas possible de répondre avec un fichier. Souhaitez-vous envoyer ce fichier sans répondre ?",
"The file '%(fileName)s' failed to upload.": "Le fichier « %(fileName)s » n’a pas pu être envoyé.",
@@ -1504,18 +1401,12 @@
"A conference call could not be started because the integrations server is not available": "L’appel en téléconférence n’a pas pu être lancé car les intégrations du serveur ne sont pas disponibles",
"The server does not support the room version specified.": "Le serveur ne prend pas en charge la version de salon spécifiée.",
"Name or Matrix ID": "Nom ou identifiant Matrix",
- "Email, name or Matrix ID": "E-mail, nom ou identifiant Matrix",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Veuillez confirmer la mise à niveau de ce salon de à .",
"Changes your avatar in this current room only": "Change votre avatar seulement dans le salon actuel",
"Unbans user with given ID": "Révoque le bannissement de l’utilisateur ayant l’identifiant fourni",
"Sends the given message coloured as a rainbow": "Envoie le message coloré aux couleurs de l’arc-en-ciel",
"Sends the given emote coloured as a rainbow": "Envoie la réaction colorée aux couleurs de l’arc-en-ciel",
"The user's homeserver does not support the version of the room.": "Le serveur d’accueil de l’utilisateur ne prend pas en charge la version de ce salon.",
"When rooms are upgraded": "Quand les salons sont mis à niveau",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Cet appareil ne sauvegarde pas vos clés, mais vous avez une sauvegarde existante que vous pouvez restaurer et joindre.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Connecter cet appareil à la sauvegarde de clés avant de vous déconnecter pour éviter de perdre des clés qui pourraient n’être présentes que sur cet appareil.",
- "Connect this device to Key Backup": "Connecter cet appareil à la sauvegarde de clés",
- "Backup has an invalid signature from this device": "La sauvegarde a une signature invalide depuis cet appareil",
"this room": "ce salon",
"View older messages in %(roomName)s.": "Voir les messages plus anciens dans %(roomName)s.",
"Joining room …": "Inscription au salon…",
@@ -1614,18 +1505,14 @@
"Resend removal": "Renvoyer la suppression",
"Your homeserver doesn't seem to support this feature.": "Il semble que votre serveur d’accueil ne prenne pas en charge cette fonctionnalité.",
"Changes your avatar in all rooms": "Change votre avatar dans tous les salons",
- "Clear all data on this device?": "Supprimer toutes les données sur cet appareil ?",
"You're signed out": "Vous êtes déconnecté(e)",
"Clear all data": "Supprimer toutes les données",
"Removing…": "Suppression…",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "La suppression de toutes les données sur cet appareil est permanente. Les messages chiffrés seront perdus à moins que leurs clés n’aient été sauvegardées.",
"Failed to re-authenticate due to a homeserver problem": "Échec de la ré-authentification à cause d’un problème du serveur d’accueil",
"Failed to re-authenticate": "Échec de la ré-authentification",
"Enter your password to sign in and regain access to your account.": "Saisissez votre mot de passe pour vous connecter et ré-accéder à votre compte.",
"Forgotten your password?": "Mot de passe oublié ?",
"Clear personal data": "Supprimer les données personnelles",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Attention : Vos données personnelles (y compris vos clés de chiffrement) sont toujours stockées sur cet appareil. Supprimez-les si vous n’utilisez plus cet appareil ou si vous voulez vous connecter avec un autre compte.",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Ré-accédez à votre compte et récupérez les clés de chiffrement stockées sur cet appareil. Sans elles, vous ne pourrez pas lire tous les messages sécurisés sur tous les appareils.",
"Sign in and regain access to your account.": "Connectez-vous et ré-accédez à votre compte.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Vous ne pouvez pas vous connecter à votre compte. Contactez l’administrateur de votre serveur d’accueil pour plus d’informations.",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Dites-nous ce qui s’est mal passé ou, encore mieux, créez un rapport d’erreur sur GitHub qui décrit le problème.",
@@ -1637,7 +1524,6 @@
"Service": "Service",
"Summary": "Résumé",
"This account has been deactivated.": "Ce compte a été désactivé.",
- "Failed to start chat": "Échec du démarrage de la discussion",
"Messages": "Messages",
"Actions": "Actions",
"Displays list of commands with usages and descriptions": "Affiche la liste des commandes avec leurs utilisations et descriptions",
@@ -1667,7 +1553,6 @@
"You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Vous n’utilisez actuellement aucun serveur d’identité. Pour découvrir et être découvert par les contacts existants que vous connaissez, ajoutez-en un ci-dessous.",
"Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "La déconnexion de votre serveur d’identité signifie que vous ne serez plus découvrable par d’autres utilisateurs et que vous ne pourrez plus faire d’invitation par e-mail ou téléphone.",
"Integration Manager": "Gestionnaire d’intégration",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Pour savoir si vous pouvez faire confiance à cet appareil, vérifiez que la clé que vous voyez dans les paramètres de l’utilisateur sur cet appareil correspond à la clé ci-dessous :",
"Call failed due to misconfigured server": "Échec de l’appel à cause d’un serveur mal configuré",
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Demandez à l’administrateur de votre serveur d’accueil (%(homeserverDomain)s) de configurer un serveur TURN afin que les appels fonctionnent de manière fiable.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Sinon, vous pouvez essayer d’utiliser le serveur public à turn.matrix.org, mais ça ne sera pas aussi fiable et ça partagera votre adresse IP avec ce serveur. Vous pouvez aussi gérer cela dans les paramètres.",
@@ -1682,7 +1567,6 @@
"Remove %(phone)s?": "Supprimer %(phone)s ?",
"ID": "Identifiant",
"Public Name": "Nom public",
- "A device's public name is visible to people you communicate with": "Le nom public d’un appareil est visible par les personnes avec qui vous communiquez",
"Accept to continue:": "Acceptez pour continuer :",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Acceptez les conditions de service du serveur d’identité (%(serverName)s) pour vous permettre d’être découvrable par votre adresse e-mail ou votre numéro de téléphone.",
"Multiple integration managers": "Gestionnaires d’intégration multiples",
@@ -1782,7 +1666,6 @@
"%(count)s unread messages.|other": "%(count)s messages non lus.",
"Unread mentions.": "Mentions non lues.",
"Please create a new issue on GitHub so that we can investigate this bug.": "Veuillez créer un nouveau rapport sur GitHub afin que l’on enquête sur cette erreur.",
- "Use the new, faster, composer for writing messages": "Utilisez le nouveau compositeur plus rapide pour écrire des messages",
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Clé public du captcha manquante dans la configuration du serveur d’accueil. Veuillez le signaler à l’administrateur de votre serveur d’accueil.",
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Vous êtes sur le point de supprimer 1 message de %(user)s. Ça ne peut pas être annulé. Voulez-vous continuer ?",
"Remove %(count)s messages|one": "Supprimer 1 message",
@@ -1871,12 +1754,8 @@
"You have ignored this user, so their message is hidden. Show anyways.": "Vous avez ignoré cet utilisateur, donc ses messages sont cachés. Les montrer quand même.",
"Custom (%(level)s)": "Personnalisé (%(level)s)",
"Trusted": "Fiable",
- "Not trusted": "Non vérifié",
- "Hide verified Sign-In's": "Masquer les connexions vérifiées",
- "%(count)s verified Sign-In's|other": "%(count)s connexions vérifiées",
- "%(count)s verified Sign-In's|one": "1 connexion vérifiée",
+ "Not trusted": "Non fiable",
"Direct message": "Message direct",
- "Unverify user": "Ne plus marquer l’utilisateur comme vérifié",
"%(role)s in %(roomName)s": "%(role)s dans %(roomName)s",
"Messages in this room are end-to-end encrypted.": "Les messages dans ce salon sont chiffrés de bout en bout.",
"Security": "Sécurité",
@@ -1893,7 +1772,6 @@
"Using this widget may share data with %(widgetDomain)s.": "L’utilisation de ce widget pourrait partager des données avec %(widgetDomain)s.",
"Widget added by": "Widget ajouté par",
"This widget may use cookies.": "Ce widget pourrait utiliser des cookies.",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Envoyer les demandes de vérification en message direct, en incluant une nouvelle expérience de vérification dans le tableau des membres.",
"Enable local event indexing and E2EE search (requires restart)": "Activer l’indexation des événements locaux et la recherche des données chiffrées de bout en bout (nécessite un redémarrage)",
"Connecting to integration manager...": "Connexion au gestionnaire d’intégrations…",
"Cannot connect to integration manager": "Impossible de se connecter au gestionnaire d’intégrations",
@@ -1916,7 +1794,6 @@
"Manage integrations": "Gérer les intégrations",
"Verification Request": "Demande de vérification",
" (1/%(totalCount)s)": " (1/%(totalCount)s)",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Activer la signature croisée pour vérifier par utilisateur plutôt que par appareil (en développement)",
"Match system theme": "S’adapter au thème du système",
"%(senderName)s placed a voice call.": "%(senderName)s a passé un appel vocal.",
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s a passé un appel vocal. (pas pris en charge par ce navigateur)",
@@ -1943,7 +1820,6 @@
"Start chatting": "Commencer à discuter",
"Send cross-signing keys to homeserver": "Envoyer les clés de signature croisée au serveur d’accueil",
"Cross-signing public keys:": "Clés publiques de signature croisée :",
- "on device": "sur l’appareil",
"not found": "non trouvé",
"Cross-signing private keys:": "Clés privées de signature croisée :",
"%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s a supprimé la règle qui bannit les utilisateurs correspondant à %(glob)s",
@@ -1966,75 +1842,454 @@
"in secret storage": "dans le coffre secret",
"Secret storage public key:": "Clé publique du coffre secret :",
"in account data": "dans les données du compte",
- "Bootstrap Secure Secret Storage": "Créer le coffre secret sécurisé",
"Cross-signing": "Signature croisée",
- "Enter secret storage passphrase": "Saisir la phrase de passe du coffre secret",
- "Unable to access secret storage. Please verify that you entered the correct passphrase.": "Impossible d’accéder au coffre secret. Vérifiez que vous avez saisi la bonne phrase de passe.",
+ "Enter secret storage passphrase": "Saisir le mot de passe du coffre secret",
+ "Unable to access secret storage. Please verify that you entered the correct passphrase.": "Impossible d’accéder au coffre secret. Vérifiez que le mot de passe saisi est correct.",
"Warning: You should only access secret storage from a trusted computer.": "Attention : Vous devriez uniquement accéder au coffre secret depuis un ordinateur de confiance.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "Accédez à l’historique de vos messages sécurisés et votre identité de signature croisée pour vérifier d’autres appareils en saisissant votre phrase de passe.",
- "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Si vous avez oublié votre phrase de passe, vous pouvez utiliser votre clé de récupération ou définir de nouvelles options de récupération.",
+ "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Si vous avez oublié votre mot de passe, vous pouvez utiliser votre clé de récupération ou définir de nouvelles options de récupération.",
"Enter secret storage recovery key": "Saisir la clé de récupération du coffre secret",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Impossible d’accéder au coffre secret. Vérifiez que vous avez saisi la bonne clé de récupération.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "Accédez à l’historique de vos messages secrets et à votre identité de signature croisée pour vérifier d’autres appareils en saisissant votre clé de récupération.",
"If you've forgotten your recovery key you can set up new recovery options.": "Si vous avez oublié votre clé de récupération vous pouvez définir de nouvelles options de récupération.",
- "Warning: You should only set up key backup from a trusted computer.": "Attention : Vous devriez uniquement configurer une sauvegarde de clés depuis un ordinateur de confiance.",
+ "Warning: You should only set up key backup from a trusted computer.": "Attention : Vous ne devriez configurer la sauvegarde de clés que depuis un ordinateur de confiance.",
"If you've forgotten your recovery key you can set up new recovery options": "Si vous avez oublié votre clé de récupération, vous pouvez définir de nouvelles options de récupération",
- "Warning: You should only set up secret storage from a trusted computer.": "Attention : Vous devriez uniquement configurer le coffre secret depuis un ordinateur de confiance.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "Nous utiliserons le coffre secret pour conserver optionnellement une copie chiffrée de votre identité de signature croisée pour vérifier d’autres appareils et des clés de messages sur notre serveur. Protégez votre accès aux messages chiffrés avec une phrase de passe pour la sécuriser.",
"Set up with a recovery key": "Configurer avec une clé de récupération",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Par mesure de sécurité, vous pouvez l’utiliser pour récupérer l’accès aux messages chiffrés si vous oubliez votre phrase de passe.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Par mesure de sécurité, vous pouvez l’utiliser pour récupérer l’accès à vos messages chiffrés.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Conservez votre clé de récupération dans un endroit très sécurisé, comme un gestionnaire de mots de passe (ou un coffre-fort).",
"Your recovery key has been copied to your clipboard, paste it to:": "Votre clé de récupération a été copiée dans votre presse-papiers, collez-la pour :",
"Your recovery key is in your Downloads folder.": "Votre clé de récupération est dans votre dossier de Téléchargements.",
- "Your access to encrypted messages is now protected.": "Votre accès aux messages chiffrés est maintenant protégé.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "Si vous ne configurez pas le coffre secret, vous ne pourrez pas récupérer l’accès à vos messages chiffrés ou à votre identité de signature croisée pour vérifier d’autres appareils si vous vous déconnectez ou si vous utilisez un autre appareil.",
- "Set up secret storage": "Configurer le coffre secret",
- "Secure your encrypted messages with a passphrase": "Sécuriser vos messages chiffrés avec une phrase de passe",
"Storing secrets...": "Sauvegarde des secrets…",
"Unable to set up secret storage": "Impossible de configurer le coffre secret",
"Cross-signing and secret storage are enabled.": "La signature croisée et le coffre secret sont activés.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Votre compte a une identité de signature croisée dans le coffre secret, mais cet appareil ne lui fait pas encore confiance.",
"Cross-signing and secret storage are not yet set up.": "La signature croisée et le coffre secret ne sont pas encore configurés.",
"Bootstrap cross-signing and secret storage": "Initialiser la signature croisée et le coffre secret",
"not stored": "non sauvegardé",
"Backup has a valid signature from this user": "La sauvegarde a une signature valide de cet utilisateur",
"Backup has a invalid signature from this user": "La sauvegarde a une signature non valide de cet utilisateur",
"Backup has a signature from unknown user with ID %(deviceId)s": "La sauvegarde a une signature de l’utilisateur inconnu ayant pour identifiant %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "La sauvegarde a une signature de l’appareil inconnu ayant pour identifiant %(deviceId)s",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "La clé de sauvegarde est stockée dans le coffre secret, mais cette fonctionnalité n’est pas activée sur cet appareil. Activez la signature croisée dans le Labo pour modifier l’état de la sauvegarde de clé.",
"Backup key stored: ": "Clé de sauvegarde stockée : ",
- "Start using Key Backup with Secure Secret Storage": "Commencer à utiliser la sauvegarde de clés avec le coffre secret sécurisé",
"Hide verified sessions": "Masquer les sessions vérifiées",
"%(count)s verified sessions|other": "%(count)s sessions vérifiées",
"%(count)s verified sessions|one": "1 session vérifiée",
"Close preview": "Fermer l’aperçu",
- "This user has not verified all of their devices.": "Cet utilisateur n'a pas vérifié tous ses appareils.",
- "You have not verified this user. This user has verified all of their devices.": "Vous n'avez pas vérifié cet utilisateur. Cet utilisateur a vérifié tous ses appareils.",
- "You have verified this user. This user has verified all of their devices.": "Vous avez vérifié cet utilisateur. Cet utilisateur a vérifié tous ses appareils.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Certains utilisateurs dans ce salon chiffré n’ont pas été vérifiés par vous ou n’ont pas vérifié leurs propres appareils.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Tous les utilisateurs de ce salon chiffré ont été vérifiés par vous et ont vérifié leurs propres appareils.",
"Language Dropdown": "Sélection de la langue",
"Country Dropdown": "Sélection du pays",
"The message you are trying to send is too large.": "Le message que vous essayez d’envoyer est trop gros.",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "Le coffre secret sera configuré en utilisant vos informations de sauvegarde de clés existantes. Votre phrase de passe et votre clé de récupération seront les mêmes que pour la sauvegarde de clés",
- "Migrate from Key Backup": "Migrer depuis la sauvegarde de clés",
"Help": "Aide",
- "New DM invite dialog (under development)": "Nouveau dialogue d’invitation aux MD (en développement)",
- "Show more": "En savoir plus",
+ "Show more": "En voir plus",
"Recent Conversations": "Conversations récentes",
"Direct Messages": "Messages directs",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Si vous n’arrivez pas à trouver quelqu’un, demandez-lui son nom d’utilisateur ou partagez votre nom d’utilisateur (%(userId)s) ou votre lien de profil.",
"Go": "C’est parti",
"Show info about bridges in room settings": "Afficher des informations à propos des passerelles dans les paramètres du salon",
- "This bridge was provisioned by ": "Cette passerelle est fournie par ",
"This bridge is managed by .": "Cette passerelle est gérée par .",
- "Bridged into , on ": "Relié à , sur ",
- "Connected to on ": "Connecté à sur ",
- "Connected via %(protocolName)s": "Connecté via %(protocolName)s",
- "Bridge Info": "Informations de la passerelle",
- "Below is a list of bridges connected to this room.": "Vous trouverez ci-dessous la liste des passerelles connectées à ce salon.",
"Suggestions": "Suggestions",
"Failed to find the following users": "Impossible de trouver les utilisateurs suivants",
- "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Les utilisateurs suivant n’existent peut-être pas ou ne sont pas valides, et ne peuvent pas être invités : %(csvNames)s"
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Les utilisateurs suivant n’existent peut-être pas ou ne sont pas valides, et ne peuvent pas être invités : %(csvNames)s",
+ "Show a presence dot next to DMs in the room list": "Afficher une pastille de présence à côté des messages directs dans la liste des salons",
+ "Lock": "Cadenas",
+ "Restore": "Restaurer",
+ "a few seconds ago": "il y a quelques secondes",
+ "about a minute ago": "il y a environ une minute",
+ "%(num)s minutes ago": "il y a %(num)s minutes",
+ "about an hour ago": "il y a environ une heure",
+ "%(num)s hours ago": "il y a %(num)s heures",
+ "about a day ago": "il y a environ un jour",
+ "%(num)s days ago": "il y a %(num)s jours",
+ "a few seconds from now": "dans quelques secondes",
+ "about a minute from now": "dans une minute environ",
+ "%(num)s minutes from now": "dans %(num)s minutes",
+ "about an hour from now": "dans une heure environ",
+ "%(num)s hours from now": "dans %(num)s heures",
+ "about a day from now": "dans un jour environ",
+ "%(num)s days from now": "dans %(num)s jours",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Échec de l’invitation des utilisateurs suivants à discuter : %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "Impossible de créer votre Message direct. Vérifiez les utilisateurs que vous souhaitez inviter et réessayez.",
+ "Something went wrong trying to invite the users.": "Une erreur est survenue en essayant d’inviter les utilisateurs.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Impossible d’inviter ces utilisateurs. Vérifiez les utilisateurs que vous souhaitez inviter et réessayez.",
+ "Recently Direct Messaged": "Messages directs récents",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "S’il y a quelqu’un que vous n’arrivez pas à trouver, demandez-lui son nom d’utilisateur (par ex. @utilisateur:serveur.com) ou partagez ce salon.",
+ "Complete security": "Compléter la sécurité",
+ "Verify this session to grant it access to encrypted messages.": "Vérifiez cette session pour l’autoriser à accéder à vos messages chiffrés.",
+ "Start": "Commencer",
+ "Session verified": "Session vérifiée",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Votre nouvelle session est maintenant vérifiée. Elle a accès à vos messages chiffrés et les autres utilisateurs la verront comme fiable.",
+ "Done": "Terminé",
+ "Go Back": "Retourner en arrière",
+ "Other users may not trust it": "D’autres utilisateurs pourraient ne pas lui faire confiance",
+ "Later": "Plus tard",
+ "Verify User": "Vérifier l’utilisateur",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Pour une sécurité supplémentaire, vérifiez cet utilisateur en comparant un code à usage unique sur vos deux appareils.",
+ "Start Verification": "Commencer la vérification",
+ "Unknown Command": "Commande inconnue",
+ "Unrecognised command: %(commandText)s": "Commande non reconnue : %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Vous pouvez utiliser /help pour obtenir la liste des commandes disponibles. Vouliez-vous envoyer un message ?",
+ "Hint: Begin your message with // to start it with a slash.": "Astuce : Votre message doit démarrer par // pour commencer par une barre oblique.",
+ "Send as message": "Envoyer comme message",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s a ajouté %(addedAddresses)s et %(count)s autres adresses à ce salon",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s a supprimé %(removedAddresses)s et %(count)s autres adresses de ce salon",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s a supprimé %(countRemoved)s et ajouté %(countAdded)s adresses à ce salon",
+ "Reject & Ignore user": "Rejeter et ignorer l’utilisateur",
+ "Enter your account password to confirm the upgrade:": "Saisissez le mot de passe de votre compte pour confirmer la mise à niveau :",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Vous devrez vous identifier avec le serveur pour confirmer la mise à niveau.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Sécurisez vos clés de chiffrement avec un mot de passe. Pour une sécurité maximale, il devrait être différent du mot de passe de votre compte :",
+ "Enter a passphrase": "Saisissez un mot de passe",
+ "Enter your passphrase a second time to confirm it.": "Saisissez votre mot de passe une seconde fois pour le confirmer.",
+ "Verify other users in their profile.": "Vérifiez d’autres utilisateurs dans leur profil.",
+ "Upgrade your encryption": "Mettre à niveau votre chiffrement",
+ "Set up encryption": "Configurer le chiffrement",
+ "Encryption upgraded": "Chiffrement mis à niveau",
+ "Encryption setup complete": "Configuration du chiffrement terminé",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s a activé le chiffrement de bout en bout.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s a activé le chiffrement de bout en bout (algorithme %(algorithm)s non reconnu).",
+ "This room is end-to-end encrypted": "Ce salon est chiffré de bout en bout",
+ "Everyone in this room is verified": "Tout le monde dans ce salon est vérifié",
+ "Invite only": "Uniquement sur invitation",
+ "Send a reply…": "Envoyer une réponse…",
+ "Send a message…": "Envoyer un message…",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Si vous n’arrivez pas à trouver quelqu’un, demandez-lui son nom d’utilisateur, partagez votre nom d’utilisateur (%(userId)s) ou votre lien de profil.",
+ "Verify this session": "Vérifier cette session",
+ "Encryption upgrade available": "Mise à niveau du chiffrement disponible",
+ "Enable message search in encrypted rooms": "Activer la recherche de messages dans les salons chiffrés",
+ "Review": "Examiner",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Mettre en cache les messages chiffrés localement et de manière sécurisée pour qu’ils apparaissent dans les résultats de recherche, en utilisant ",
+ " to store messages from ": " pour stocker des messages de ",
+ "rooms.": "salons.",
+ "Manage": "Gérer",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Mettre en cache les messages chiffrés localement et de manière sécurisée pour qu’ils apparaissent dans les résultats de recherche.",
+ "Enable": "Activer",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Il manque quelques composants à Riot pour mettre en cache les messages chiffrés localement de manière sécurisée. Si vous voulez essayer cette fonctionnalité, construisez Riot Desktop vous-même en ajoutant les composants de recherche.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot ne peut pas mettre en cache les messages chiffrés localement de manière sécurisée dans un navigateur web. Utilisez Riot Desktop pour que les messages chiffrés apparaissent dans les résultats de recherche.",
+ "Message search": "Recherche de message",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Si l’option est désactivée, les messages des salons chiffrés n’apparaîtront pas dans les résultats de recherche.",
+ "Disable": "Désactiver",
+ "Not currently downloading messages for any room.": "Aucun téléchargement de message en cours pour les salons.",
+ "Downloading mesages for %(currentRoom)s.": "Téléchargement des messages pour %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot met en cache les messages chiffrés localement et de manière sécurisée pour qu’ils apparaissent dans les résultats de recherche :",
+ "Space used:": "Espace utilisé :",
+ "Indexed messages:": "Messages indexés :",
+ "Number of rooms:": "Nombre de salons :",
+ "Waiting for %(displayName)s to verify…": "Nous attendons que %(displayName)s vérifie…",
+ "They match": "Ils correspondent",
+ "They don't match": "Ils ne correspondent pas",
+ "This bridge was provisioned by .": "Cette passerelle a été fournie par .",
+ "Workspace: %(networkName)s": "Espace de travail : %(networkName)s",
+ "Channel: %(channelName)s": "Canal : %(channelName)s",
+ "Show less": "En voir moins",
+ "This room is bridging messages to the following platforms. Learn more.": "Ce salon transmet les messages vers les plateformes suivantes. En savoir plus.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Ce salon ne transmet les messages à aucune plateforme. En savoir plus.",
+ "Bridges": "Passerelles",
+ "Waiting for %(displayName)s to accept…": "Nous attendons que %(displayName)s accepte…",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Vos messages sont sécurisés et seuls vous et le destinataire avez les clés uniques pour les déchiffrer.",
+ "Your messages are not secure": "Vos messages ne sont pas sécurisés",
+ "One of the following may be compromised:": "Un des éléments suivants est peut-être compromis :",
+ "Your homeserver": "Votre serveur d’accueil",
+ "The homeserver the user you’re verifying is connected to": "Le serveur d’accueil auquel l’utilisateur que vous vérifiez est connecté",
+ "Yours, or the other users’ internet connection": "Votre connexion internet ou celle de l’autre utilisateur",
+ "Verify by emoji": "Vérifier avec des émojis",
+ "Verify by comparing unique emoji.": "Vérifier en comparant des émojis uniques.",
+ "Ask %(displayName)s to scan your code:": "Demandez à %(displayName)s de scanner votre code :",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Si vous ne pouvez pas scanner le code ci-dessus, vérifiez en comparant des émojis uniques.",
+ "You've successfully verified %(displayName)s!": "Vous avez vérifié %(displayName)s !",
+ "Got it": "Compris",
+ "Verification timed out. Start verification again from their profile.": "La vérification a expiré. Recommencez la vérification depuis son profil.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s a annulé la vérification. Recommencez la vérification depuis son profil.",
+ "You cancelled verification. Start verification again from their profile.": "Vous avez annulé la vérification. Recommencez la vérification depuis son profil.",
+ "New session": "Nouvelle session",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Utilisez cette session pour vérifier la nouvelle, ce qui lui permettra d’accéder aux messages chiffrés :",
+ "If you didn’t sign in to this session, your account may be compromised.": "Si vous ne vous êtes pas connecté à cette session, votre compte est peut-être compromis.",
+ "This wasn't me": "Ce n’était pas moi",
+ "Your new session is now verified. Other users will see it as trusted.": "Votre nouvelle session est maintenant vérifiée. Les autres utilisateurs la verront comme fiable.",
+ "Restore your key backup to upgrade your encryption": "Restaurez votre sauvegarde de clés pour mettre à niveau votre chiffrement",
+ "Back up my encryption keys, securing them with the same passphrase": "Sauvegarder mes clés de chiffrement, en les sécurisant avec le même mot de passe",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Il y a des sessions inconnues dans ce salon : si vous continuez sans les vérifier, quelqu’un pourra espionner votre appel.",
+ "Unverified session": "Session non vérifiée",
+ "Verifies a user, session, and pubkey tuple": "Vérifie un utilisateur, une session et une collection de clés publiques",
+ "Unknown (user, session) pair:": "Paire (utilisateur, session) inconnue :",
+ "Session already verified!": "Session déjà vérifiée !",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ATTENTION : La session a déjà été vérifiée mais les clés NE CORRESPONDENT PAS !",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ATTENTION : ÉCHEC DE LA VÉRIFICATION DE CLÉ ! La clé de signature pour %(userId)s et la session %(deviceId)s est « %(fprint)s » que ne correspond pas à la clé fournie « %(fingerprint)s ». Cela pourrait signifier que vos communications sont interceptées !",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "La clé de signature que vous avez fournie correspond à celle que vous avez reçue de la session %(deviceId)s de %(userId)s. Session marquée comme vérifiée.",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Activer la signature croisée pour vérifier par utilisateur plutôt que par session (en développement)",
+ "Show padlocks on invite only rooms": "Afficher des cadenas sur les salons accessibles uniquement par invitation",
+ "Never send encrypted messages to unverified sessions from this session": "Ne jamais envoyer de messages chiffrés aux sessions non vérifiées depuis cette session",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Ne jamais envoyer des messages chiffrés aux sessions non vérifiées dans ce salon depuis cette session",
+ "Keep secret storage passphrase in memory for this session": "Conserver le mot de passe du coffre secret en mémoire pour cette session",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Confirmez que les émojis ci-dessous sont affichés sur les deux appareils, dans le même ordre :",
+ "Verify this device by confirming the following number appears on its screen.": "Vérifiez cet appareil en confirmant que le nombre suivant apparaît sur son écran.",
+ "To be secure, do this in person or use a trusted way to communicate.": "Pour être sûr, faites cela en personne ou utilisez un moyen de communication fiable.",
+ "Verify your other sessions easier": "Vérifiez vos autres sessions plus facilement",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changer votre mot de passe réinitialisera toutes les clés de chiffrement sur toutes les sessions, ce qui rendra l’historique de vos messages illisible, sauf si vous exportez d’abord vos clés de chiffrement et si vous les réimportez ensuite. Dans l’avenir, ce processus sera amélioré.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Votre compte à une identité de signature croisée dans le coffre secret, mais cette session ne lui fait pas encore confiance.",
+ "in memory": "en mémoire",
+ "Your homeserver does not support session management.": "Votre serveur d’accueil ne prend pas en charge la gestion de session.",
+ "Unable to load session list": "Impossible de charger la liste de sessions",
+ "Delete %(count)s sessions|other": "Supprimer %(count)s sessions",
+ "Delete %(count)s sessions|one": "Supprimer %(count)s session",
+ "This session is backing up your keys. ": "Cette session sauvegarde vos clés. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Cette session ne sauvegarde pas vos clés, mais vous n’avez pas de sauvegarde existante que vous pouvez restaurer ou compléter à l’avenir.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Connectez cette session à la sauvegarde de clés avant de vous déconnecter pour éviter de perdre des clés qui seraient uniquement dans cette session.",
+ "Connect this session to Key Backup": "Connecter cette session à la sauvegarde de clés",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "La sauvegarde a une signature d’une session inconnue ayant pour identifiant %(deviceId)s",
+ "Backup has a valid signature from this session": "La sauvegarde a une signature valide de cette session",
+ "Backup has an invalid signature from this session": "La sauvegarde a une signature non valide de cette session",
+ "Backup has a valid signature from verified session ": "La sauvegarde a une signature valide de la session vérifiée",
+ "Backup has a valid signature from unverified session ": "La sauvegarde a une signature valide de la session non vérifiée",
+ "Backup has an invalid signature from verified session ": "La sauvegarde a une signature non valide de la session vérifiée",
+ "Backup has an invalid signature from unverified session ": "La sauvegarde a une session non valide de la session non vérifiée",
+ "Backup is not signed by any of your sessions": "La sauvegarde n’est signée par aucune de vos sessions",
+ "This backup is trusted because it has been restored on this session": "Cette sauvegarde est fiable car elle a été restaurée sur cette session",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Une sauvegarde de clés est stockée dans le coffre secret, mais cette fonctionnalité n’est pas activée sur cette session. Activez la signature croisée dans le Labo pour modifier l’état de la sauvegarde de clés.",
+ "Your keys are not being backed up from this session.": "Vos clés ne sont pas sauvegardées sur cette session.",
+ "Enable desktop notifications for this session": "Activer les notifications de l’ordinateur pour cette session",
+ "Enable audible notifications for this session": "Activer les notifications sonores pour cette session",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Votre mot de passe a été modifié. Vous ne recevrez plus de notifications push sur les autres sessions tant que vous ne vous y serez pas reconnecté",
+ "Session ID:": "Identifiant de session :",
+ "Session key:": "Clé de session :",
+ "Sessions": "Sessions",
+ "A session's public name is visible to people you communicate with": "Le nom public d’une session est visible par les personnes avec lesquelles vous communiquez",
+ "This user has not verified all of their sessions.": "Cet utilisateur n’a pas vérifié toutes ses sessions.",
+ "You have not verified this user. This user has verified all of their sessions.": "Vous n’avez pas vérifié cet utilisateur. Cet utilisateur a vérifié toutes ses sessions.",
+ "You have verified this user. This user has verified all of their sessions.": "Vous avez vérifié cet utilisateur. Cet utilisateur a vérifié toutes ses sessions.",
+ "Someone is using an unknown session": "Quelqu'un utilise une session inconnue",
+ "Some sessions for this user are not trusted": "Certaines sessions de cet utilisateur ne sont pas fiables",
+ "All sessions for this user are trusted": "Toutes les sessions de cet utilisateur sont fiables",
+ "Some sessions in this encrypted room are not trusted": "Certaines sessions dans ce salon chiffré ne sont pas fiables",
+ "All sessions in this encrypted room are trusted": "Toutes les sessions dans ce salon chiffré sont fiables",
+ "Mod": "Modo",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Votre demande de partage de clé a été envoyée − vérifiez les demandes de partage de clé sur vos autres sessions.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Les demandes de partage de clé sont envoyées à vos autres sessions automatiquement. Si vous avez rejeté ou ignoré la demande de partage de clé sur vos autres sessions, cliquez ici pour redemander les clés pour cette session.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Si vos autres sessions n’ont pas la clé pour ce message vous ne pourrez pas le déchiffrer.",
+ "Re-request encryption keys from your other sessions.": "Redemander les clés de chiffrement à vos autres sessions.",
+ "Encrypted by an unverified session": "Chiffré par une session non vérifiée",
+ "Encrypted by a deleted session": "Chiffré par une session supprimée",
+ "No sessions with registered encryption keys": "Aucune session avec les clés de chiffrement enregistrées",
+ "Yours, or the other users’ session": "Votre session ou celle de l’autre utilisateur",
+ "%(count)s sessions|other": "%(count)s sessions",
+ "%(count)s sessions|one": "%(count)s session",
+ "Hide sessions": "Masquer les sessions",
+ "Encryption enabled": "Chiffrement activé",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Les messages dans ce salon sont chiffrés de bout en bout. Apprenez-en plus et vérifiez cet utilisateur dans son profil utilisateur.",
+ "Encryption not enabled": "Chiffrement non activé",
+ "The encryption used by this room isn't supported.": "Le chiffrement utilisé par ce salon n’est pas pris en charge.",
+ "Clear all data in this session?": "Supprimer toutes les données de cette session ?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "La suppression de toutes les données de cette session est permanente. Les messages chiffrés seront perdus sauf si les clés ont été sauvegardées.",
+ "Verify session": "Vérifier la session",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Pour vérifier que vous pouvez faire confiance à cette session, vérifiez que la clé que vous voyez dans les paramètres de l’utilisateur sur cet appareil correspond à la clé ci-dessous :",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Pour vérifier que vous pouvez faire confiance à cette session, contactez son propriétaire en utilisant un autre moyen (par ex. en personne ou en l’appelant) et demandez-lui si la clé dans ses paramètres de l’utilisateur pour cette session correspond à la clé ci-dessous :",
+ "Session name": "Nom de la session",
+ "Session key": "Clé de la session",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Si elle correspond, cliquez sur le bouton Vérifier ci-dessous. Si ce n’est pas le cas, quelqu'un est en train d’intercepter cette session et vous devriez plutôt cliquer sur le bouton Ajouter à la liste noire.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Vérifier cet utilisateur marquera sa session comme fiable, et marquera aussi votre session comme fiable pour lui.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Vérifier cet appareil le marquera comme fiable. Faire confiance à cette appareil vous permettra à vous et aux autres utilisateurs d’être sereins lors de l’utilisation de messages chiffrés.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Vérifier cet appareil le marquera comme fiable, et les utilisateurs qui ont vérifié avec vous feront confiance à cet appareil.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Vous avez ajouté une nouvelle session « %(displayName)s » qui demande les clés de chiffrement.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Votre session non vérifiée « %(displayName)s » demande des clés de chiffrement.",
+ "Loading session info...": "Chargement des informations de la session…",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Cela vous permettra de revenir sur votre compte après vous être déconnecté, et de vous connecter sur d’autres sessions.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Vous avez placé les sessions non vérifiées sur liste noire ; pour leur envoyer des messages vous devez les vérifier.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Nous vous recommandons d’accomplir le processus de vérification pour chaque session afin de vérifier qu’elles correspondent à leur propriétaire légitime, mais vous pouvez renvoyer ce message sans vérifier si vous préférez.",
+ "Room contains unknown sessions": "Le salon contient des sessions inconnues",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "« %(RoomName)s » contient des sessions que vous n’avez jamais vues auparavant.",
+ "Unknown sessions": "Sessions inconnues",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Accédez à l’historique de vos messages sécurisés et à votre identité de signature croisée pour vérifier d’autres sessions en renseignant votre mot de passe.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Accédez à l’historique de vos messages sécurisés et à votre identité de signature croisée pour vérifier d’autres sessions en renseignant votre clé de récupération.",
+ "Message not sent due to unknown sessions being present": "Message non envoyé à cause de la présence de sessions inconnues",
+ "Show sessions, send anyway or cancel.": "Afficher les sessions, envoyer quand même ou annuler.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Sans compléter la sécurité sur cette session, elle n’aura pas accès aux messages chiffrés.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Modifier votre mot de passe réinitialisera toutes les clés de chiffrement de bout en bout sur toutes vos sessions, ce qui rendra l’historique de vos messages chiffrés illisible. Configurez la sauvegarde de clés ou exportez vos clés de salon depuis une autre session avant de réinitialiser votre mot de passe.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Vous avez été déconnecté de toutes les sessions et vous ne recevrez plus de notifications. Pour réactiver les notifications, reconnectez-vous sur chaque appareil.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Récupérez l’accès à votre compte et restaurez les clés de chiffrement dans cette session. Sans elles, vous ne pourrez pas lire tous vos messages chiffrés dans n’importe quelle session.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Attention : Vos données personnelles (y compris les clés de chiffrement) seront stockées dans cette session. Effacez-les si vous n’utilisez plus cette session ou si vous voulez vous connecter à un autre compte.",
+ "Sender session information": "Informations de session de l’expéditeur",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Mettez à niveau cette session pour l’autoriser à vérifier d’autres sessions, ce qui leur permettra d’accéder aux messages chiffrés et de les marquer comme fiables pour les autres utilisateurs.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Configurez le chiffrement sur cette session pour lui permettre de vérifier d’autres sessions, ce qui leur permettra d’accéder aux messages chiffrés et de les marquer comme fiables pour les autres utilisateurs.",
+ "This session can now verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Cette session peut à présent vérifier d’autres sessions, ce qui leur permettra d’accéder aux messages chiffrés et de les marquer comme fiables pour les autres utilisateurs.",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Si vous ne configurez pas la récupération de messages sécurisée, vous ne pourrez pas restaurer l’historique de vos messages chiffrés si vous vous déconnectez ou si vous utilisez une autre session.",
+ "This session is encrypting history using the new recovery method.": "Cette session chiffre l’historique en utilisant la nouvelle méthode de récupération.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Cette session a détecté que votre mot de passe et votre clé de récupération pour les messages chiffrés ont été supprimés.",
+ "Setting up keys": "Configuration des clés",
+ "Verify yourself & others to keep your chats safe": "Vérifiez-vous et vérifiez les autres afin que vos discussions restent sûres",
+ "You have not verified this user.": "Vous n’avez pas vérifié cet utilisateur.",
+ "Recovery key mismatch": "La clé de récupération ne correspond pas",
+ "Incorrect recovery passphrase": "Mot de passe de récupération incorrecte",
+ "Backup restored": "Sauvegarde restaurée",
+ "Enter recovery passphrase": "Saisir le mot de passe de récupération",
+ "Enter recovery key": "Saisir la clé de récupération",
+ "Confirm your identity by entering your account password below.": "Confirmez votre identité en saisissant le mot de passe de votre compte ci-dessous.",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Gardez-en une copie en lieu sûr, comme un gestionnaire de mots de passe ou même un coffre.",
+ "Your recovery key": "Votre clé de récupération",
+ "Copy": "Copier",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Vous pouvez à présent vérifier vos autres appareils et les autres utilisateurs afin que vos discussions restent sûres.",
+ "Make a copy of your recovery key": "Faire une copie de votre clé de récupération",
+ "You're done!": "Vous avez terminé !",
+ "Create key backup": "Créer une sauvegarde de clé",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Si vous l’avez fait accidentellement, vous pouvez configurer les messages sécurisés sur cette session ce qui re-chiffrera l’historique des messages de cette session avec une nouvelle méthode de récupération.",
+ "How fast should messages be downloaded.": "À quelle fréquence les messages doivent être téléchargés.",
+ "of ": "sur ",
+ "Message downloading sleep time(ms)": "Temps d’attente de téléchargement des messages (ms)",
+ "Cancel entering passphrase?": "Annuler la saisie du mot de passe ?",
+ "If you cancel now, you won't complete your secret storage operation!": "Si vous annulez maintenant, vous ne terminerez pas votre opération du coffre secret !",
+ "Indexed rooms:": "Salons indexés :",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s sur %(totalRooms)s",
+ "If you cancel now, you won't complete verifying the other user.": "Si vous annuler maintenant, vous ne terminerez pas la vérification de l’autre utilisateur.",
+ "If you cancel now, you won't complete verifying your other session.": "Si vous annulez maintenant, vous ne terminerez pas la vérification de votre autre session.",
+ "If you cancel now, you won't complete your secret storage operation.": "Si vous annulez maintenant, vous ne terminerez pas votre opération sur le coffre secret.",
+ "Show typing notifications": "Afficher les notifications de saisie",
+ "Reset cross-signing and secret storage": "Réinitialiser la signature croisée et le coffre secret",
+ "Destroy cross-signing keys?": "Détruire les clés de signature croisée ?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "La suppression des clés de signature croisée est permanente. Tous ceux que vous avez vérifié vont voir des alertes de sécurité. Il est peu probable que ce soit ce que vous voulez faire, sauf si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée.",
+ "Clear cross-signing keys": "Vider les clés de signature croisée",
+ "Verify this session by completing one of the following:": "Vérifiez cette session en réalisant une des actions suivantes :",
+ "Scan this unique code": "Scannez ce code unique",
+ "or": "ou",
+ "Compare unique emoji": "Comparez des émojis uniques",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Comparez une liste unique d’émojis si vous n’avez d’appareil photo sur aucun des deux appareils",
+ "Not Trusted": "Non fiable",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) s’est connecté à une nouvelle session sans la vérifier :",
+ "Ask this user to verify their session, or manually verify it below.": "Demandez à cet utilisateur de vérifier sa session, ou vérifiez-la manuellement ci-dessous.",
+ "Manually Verify": "Vérifier manuellement",
+ "Verify by scanning": "Vérifier en scannant",
+ "The version of Riot": "La version de Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Si vous utilisez Riot sur un appareil où le toucher est le mécanisme primaire de saisie",
+ "Whether you're using Riot as an installed Progressive Web App": "Si vous utilisez Riot en tant qu’application web progressive (PWA)",
+ "Your user agent": "Votre agent utilisateur",
+ "The information being sent to us to help make Riot better includes:": "Les informations qui nous sont envoyées et qui nous aident à améliorer Riot comportent :",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "La session que vous essayez de vérifier ne prend pas en charge les codes QR ou la vérification d’émojis, qui sont les méthodes prises en charge par Riot. Essayez avec un autre client.",
+ "You declined": "Vous avez refusé",
+ "%(name)s declined": "%(name)s a refusé",
+ "accepting …": "nous acceptons…",
+ "declining …": "nous refusons…",
+ "Your homeserver does not support cross-signing.": "Votre serveur d’accueil ne prend pas en charge la signature croisée.",
+ "Homeserver feature support:": "Prise en charge de la fonctionnalité par le serveur d’accueil :",
+ "exists": "existant",
+ "Verification Requests": "Demandes de vérification",
+ "Cancelling…": "Annulation…",
+ "Accepting…": "Acceptation…",
+ "Accepting …": "Acceptation…",
+ "Declining …": "Refus…",
+ "Your account is not secure": "Votre compte n'est pas sécurisé",
+ "Your password": "Votre mot de passe",
+ "This session, or the other session": "Cette session, ou l'autre session",
+ "The internet connection either session is using": "La connection internet de l'une des sessions",
+ "We recommend you change your password and recovery key in Settings immediately": "Nous vous recommandons de changer votre mot de passe et la clé de récupération dans Paramètres dès que possible",
+ "Sign In or Create Account": "Se connecter ou créer un compte",
+ "Use your account or create a new one to continue.": "Utilisez votre compte ou créez un nouveau compte pour continuer.",
+ "Create Account": "Créer un compte",
+ "Order rooms by name": "Trier les salons par nom",
+ "Show rooms with unread notifications first": "Afficher en premier les salons avec des notifications non lues",
+ "Show shortcuts to recently viewed rooms above the room list": "Afficher les raccourcis vers les salons vus récemment au-dessus de la liste des salons",
+ "Displays information about a user": "Affiche des informations à propos de l’utilisateur",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Pour signaler un problème de sécurité lié à Matrix, consultez la politique de divulgation de sécurité de Matrix.org.",
+ "Mark all as read": "Tout marquer comme lu",
+ "Not currently indexing messages for any room.": "N’indexe aucun message en ce moment.",
+ "Currently indexing: %(currentRoom)s.": "En ce moment, indexe : %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s sur %(totalRooms)s",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s a ajouté les adresses alternatives %(addresses)s pour ce salon.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s a ajouté l’adresse alternative %(addresses)s pour ce salon.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s a supprimé les adresses alternatives %(addresses)s pour ce salon.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s a supprimé l’adresse alternative %(addresses)s pour ce salon.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s a modifié les adresses alternatives de ce salon.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s a modifié l’adresse principale et les adresses alternatives pour ce salon.",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Une erreur est survenue lors de la mise à jour des adresses alternatives du salon. Ce n’est peut-être pas permis par le serveur ou une défaillance temporaire est survenue.",
+ "Alternative addresses for this room:": "Adresses alternatives pour ce salon :",
+ "This room has no alternative addresses": "Ce salon n’a pas d’adresse alternative",
+ "New address (e.g. #foo:domain)": "Nouvelle adresse (par ex. #foo:domaine)",
+ "Local addresses (unmoderated content)": "Adresses locales (contenu non modéré)",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s a changé le nom du salon de %(oldRoomName)s en %(newRoomName)s.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s a changé les adresses de ce salon.",
+ "Support adding custom themes": "Autoriser l’ajout de thèmes personnalisés",
+ "Invalid theme schema.": "Schéma du thème invalide.",
+ "Error downloading theme information.": "Une erreur s'est produite en téléchargeant les informations du thème.",
+ "Theme added!": "Thème ajouté !",
+ "Custom theme URL": "URL personnalisée pour le thème",
+ "Add theme": "Ajouter le thème",
+ "You don't have permission to delete the alias.": "Vous n'avez pas la permission de supprimer l'alias.",
+ "Review Sessions": "Vérifier les sessions",
+ "Scroll to most recent messages": "Sauter aux messages les plus récents",
+ "Local address": "Adresse locale",
+ "Published Addresses": "Adresses publiées",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Les adresses publiées peuvent être utilisées par n’importe qui sur n’importe quel serveur pour rejoindre votre salon. Pour publier une adresse, elle doit d’abord être définie comme adresse locale.",
+ "Other published addresses:": "Autres adresses publiques :",
+ "No other published addresses yet, add one below": "Aucune autre adresse n’est publiée, ajoutez-en une ci-dessous",
+ "New published address (e.g. #alias:server)": "Nouvelles adresses publiées (par ex. #alias:serveur)",
+ "Local Addresses": "Adresses locales",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Définissez les adresses de ce salon pour que les utilisateurs puissent trouver ce salon avec votre serveur d’accueil (%(localDomain)s)",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "Ouvrez une session existante et utilisez-la pour vérifier celle-ci, ce qui lui permettra d’avoir accès aux messages chiffrés.",
+ "Waiting…": "Patientez…",
+ "If you can’t access one, use your recovery key or passphrase.": "Si vous n’avez accès à aucune session, utilisez votre clé de récupération ou votre phrase de passe.",
+ "Enter a server name": "Saisissez le nom d’un serveur",
+ "Looks good": "Ça a l’air correct",
+ "Can't find this server or its room list": "Impossible de trouver ce serveur ou sa liste de salons",
+ "All rooms": "Tous les salons",
+ "Your server": "Votre serveur",
+ "Are you sure you want to remove %(serverName)s": "Voulez-vous vraiment supprimer %(serverName)s",
+ "Remove server": "Supprimer le serveur",
+ "Matrix": "Matrix",
+ "Add a new server": "Ajouter un nouveau serveur",
+ "Enter the name of a new server you want to explore.": "Saisissez le nom du nouveau serveur que vous voulez explorer.",
+ "Server name": "Nom du serveur",
+ "Add a new server...": "Ajouter un nouveau serveur…",
+ "%(networkName)s rooms": "%(networkName)s salons",
+ "Matrix rooms": "Salons Matrix",
+ "Keyboard Shortcuts": "Raccourcis clavier",
+ "Start a conversation with someone using their name, username (like ) or email address.": "Commencez une conversation avec quelqu'un en utilisant son nom, son nom d’utilisateur (comme ) ou son adresse e-mail.",
+ "a new master key signature": "une nouvelle signature de clé principale",
+ "a new cross-signing key signature": "une nouvelle signature de clé de signature croisée",
+ "a device cross-signing signature": "une signature de signature croisée d’un appareil",
+ "a key signature": "une signature de clé",
+ "Riot encountered an error during upload of:": "Riot a rencontré une erreur pendant l’envoi de :",
+ "Upload completed": "Envoi terminé",
+ "Cancelled signature upload": "Envoi de signature annulé",
+ "Unabled to upload": "Envoi impossible",
+ "Signature upload success": "Succès de l’envoi de signature",
+ "Signature upload failed": "Échec de l’envoi de signature",
+ "Navigation": "Navigation",
+ "Calls": "Appels",
+ "Room List": "Liste de salons",
+ "Autocomplete": "Autocomplétion",
+ "Alt": "Alt",
+ "Alt Gr": "Alt Gr",
+ "Shift": "Maj",
+ "Super": "Super",
+ "Ctrl": "Ctrl",
+ "Toggle Bold": "(Dés)activer le gras",
+ "Toggle Italics": "(Dés)activer l’italique",
+ "Toggle Quote": "(Dés)activer la citation",
+ "Toggle Markdown": "(Dés)activer le Markdown",
+ "New line": "Nouvelle ligne",
+ "Navigate recent messages to edit": "Parcourir les messages récents pour éditer",
+ "Jump to start/end of the composer": "Sauter au début/à la fin du compositeur",
+ "Toggle microphone mute": "(Dés)activer la sourdine du micro",
+ "Toggle video on/off": "Dés(activer) la vidéo",
+ "Jump to room search": "Sauter à la recherche de salon",
+ "Navigate up/down in the room list": "Parcourir avec haut/bas dans la liste des salons",
+ "Select room from the room list": "Sélectionner un salon de la liste des salons",
+ "Collapse room list section": "Réduire la section de la liste des salons",
+ "Expand room list section": "Développer la section de la liste des salons",
+ "Clear room list filter field": "Effacer le champ de filtrage de la liste des salons",
+ "Scroll up/down in the timeline": "Défiler vers le haut/le bas dans l’historique",
+ "Toggle the top left menu": "Afficher/masquer le menu en haut à gauche",
+ "Close dialog or context menu": "Fermer le dialogue ou le menu contextuel",
+ "Activate selected button": "Activer le bouton sélectionné",
+ "Toggle this dialog": "Afficher/masquer ce dialogue",
+ "Move autocomplete selection up/down": "Déplacer la sélection d’autocomplétion vers le haut/le bas",
+ "Cancel autocomplete": "Annuler l’autocomplétion",
+ "Page Up": "Page Haut",
+ "Page Down": "Page Bas",
+ "Esc": "Échap",
+ "Enter": "Entrée",
+ "Space": "Espace",
+ "End": "Fin",
+ "Manually Verify by Text": "Vérifier manuellement avec un texte",
+ "Interactively verify by Emoji": "Vérifier de façon interactive avec des émojis",
+ "Confirm by comparing the following with the User Settings in your other session:": "Confirmez en comparant ceci avec les paramètres utilisateurs de votre autre session :",
+ "Confirm this user's session by comparing the following with their User Settings:": "Confirmez la session de cet utilisateur en comparant ceci avec ses paramètres utilisateur :",
+ "If they don't match, the security of your communication may be compromised.": "S’ils ne correspondent pas, la sécurité de vos communications est peut-être compromise.",
+ "Navigate composer history": "Explorer l’historique du compositeur",
+ "Previous/next unread room or DM": "Salon ou message direct non lu précédent/suivant",
+ "Previous/next room or DM": "Salon ou message direct précédent/suivant",
+ "Toggle right panel": "Afficher/masquer le panneau de droite",
+ "Secret Storage key format:": "Format de clé du coffre secret :",
+ "outdated": "obsolète",
+ "up to date": "à jour"
}
diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json
index 0b80c41f65..346dda09f2 100644
--- a/src/i18n/strings/gl.json
+++ b/src/i18n/strings/gl.json
@@ -11,7 +11,6 @@
"You cannot place a call with yourself.": "Non pode facer unha chamada a si mesmo.",
"Warning!": "Aviso!",
"Call Failed": "Fallou a chamada",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Hai dispositivos descoñecidos en esta sala: se segue adiante sen verificalos, pode ser posible que alguén bote un ollo a súa chamada.",
"Review Devices": "Revisar dispositivos",
"Call Anyway": "Chamar igualmente",
"Answer Anyway": "Responder igualmente",
@@ -66,10 +65,6 @@
"Moderator": "Moderador",
"Admin": "Administrador",
"Start a chat": "Iniciar unha conversa",
- "Who would you like to communicate with?": "Con quen desexa comunicarse?",
- "Start Chat": "Iniciar conversa",
- "Invite new room members": "Convidar a novos participantes",
- "Send Invites": "Enviar convites",
"Operation failed": "Fallou a operación",
"Failed to invite": "Fallou o convite",
"Failed to invite the following users to the %(roomName)s room:": "Houbo un fallo convidando os seguintes usuarios á sala %(roomName)s:",
@@ -92,13 +87,7 @@
"You are now ignoring %(userId)s": "Agora está a ignorar %(userId)s",
"Unignored user": "Usuarios non ignorados",
"You are no longer ignoring %(userId)s": "Xa non está a ignorar a %(userId)s",
- "Unknown (user, device) pair:": "Parella descoñecida (dispositivo, usuaria):",
- "Device already verified!": "Dispositivo xa verificado!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "Aviso: o dispositivo xa está verificado só que as chaves NON CONCORDAN!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "AVISO: FALLOU A VERIFICACIÓN DE CHAVES! A chave de firma para o %(userId)s e dispositivo %(deviceId)s é \"%(fprint)s\" que non concorda coa chave proporcionada \"%(fingerprint)s\". Isto podería significar que as súas comunicacións están a ser interceptadas!",
"Verified key": "Chave verificada",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "A chave de firma que proporcionou concorda coa chave de firma que recibiu do dispositivo %(deviceId)s de %(userId)s. Dispositivo marcado como verificado.",
- "Unrecognised command:": "Orde non recoñecida:",
"Reason": "Razón",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s aceptou o convite para %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s aceptou o convite.",
@@ -135,7 +124,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s fixo visible para todos participantes o historial futuro da sala.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s fixo visible para calquera o historial futuro da sala.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s fixo visible o historial futuro da sala para descoñecidos (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s activou o cifrado de par-a-par (algoritmo %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s desde %(fromPowerLevel)s a %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s cambiou o nivel de autoridade a %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s cambiou as mensaxes fixadas para a sala.",
@@ -158,8 +146,6 @@
"Autoplay GIFs and videos": "Reprodución automática de GIFs e vídeos",
"Enable automatic language detection for syntax highlighting": "Activar a detección automática de idioma para o resalte da sintaxe",
"Automatically replace plain text Emoji": "Substituír automaticamente Emoji en texto plano",
- "Never send encrypted messages to unverified devices from this device": "Nunca enviar mensaxes cifradas aos dispositivos que non estean verificados neste dispositivo",
- "Never send encrypted messages to unverified devices in this room from this device": "Nunca enviar mensaxes cifradas aos dispositivos que non estean verificados nesta sala desde este dispositivo",
"Enable inline URL previews by default": "Activar por defecto as vistas previas en liña de URL",
"Enable URL previews for this room (only affects you)": "Activar avista previa de URL nesta sala (só lle afecta a vostede)",
"Enable URL previews by default for participants in this room": "Activar a vista previa de URL por defecto para as participantes nesta sala",
@@ -181,7 +167,6 @@
"No display name": "Sen nome público",
"New passwords don't match": "Os contrasinais novos non coinciden",
"Passwords can't be empty": "Os contrasinais non poden estar baleiros",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Ao cambiar o contrasinal restablecerá todas as chaves de cifrado extremo-a-extremo en todos os dispositivos, facendo ilexible o historial da conversa a menos que primeiro exporte as chaves da sala e posteriormente as importe. No futuro melloraremos isto.",
"Continue": "Continuar",
"Export E2E room keys": "Exportar chaves E2E da sala",
"Do you want to set an email address?": "Quere establecer un enderezo de correo electrónico?",
@@ -190,10 +175,7 @@
"New Password": "Novo contrasinal",
"Confirm password": "Confirme o contrasinal",
"Change Password": "Cambiar contrasinal",
- "Unable to load device list": "Non se puido cargar a lista de dispositivos",
"Authentication": "Autenticación",
- "Delete %(count)s devices|other": "Eliminar %(count)s dispositivos",
- "Delete %(count)s devices|one": "Eliminar dispositivo",
"Device ID": "ID de dispositivo",
"Last seen": "Visto por última vez",
"Failed to set display name": "Fallo ao establecer o nome público",
@@ -213,9 +195,6 @@
"%(senderName)s sent a video": "%(senderName)s enviou un vídeo",
"%(senderName)s uploaded a file": "%(senderName)s subiu un ficheiro",
"Options": "Axustes",
- "Undecryptable": "Non descifrable",
- "Encrypted by an unverified device": "Cifrado por un dispositivo non verificado",
- "Unencrypted message": "Mensaxe non cifrada",
"Please select the destination room for this message": "Escolla por favor a sala de destino para esta mensaxe",
"Blacklisted": "Omitidos",
"device id: ": "id dispositivo: ",
@@ -234,8 +213,6 @@
"Failed to change power level": "Fallo ao cambiar o nivel de permisos",
"Are you sure?": "Está segura?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Non poderá desfacer este cambio xa que lle estará promocionando e outorgándolle a outra persoa os mesmos permisos que os seus.",
- "No devices with registered encryption keys": "Sen dispositivos con chaves de cifrado rexistradas",
- "Devices": "Dispositivos",
"Unignore": "Non ignorar",
"Ignore": "Ignorar",
"Jump to read receipt": "Ir ao resgardo de lectura",
@@ -258,20 +235,14 @@
"Voice call": "Chamada de voz",
"Video call": "Chamada de vídeo",
"Upload file": "Subir ficheiro",
- "Show Text Formatting Toolbar": "Mostrar barra de formato de texto",
"Send an encrypted reply…": "Enviar unha resposta cifrada…",
"Send a reply (unencrypted)…": "Enviar unha resposta (non cifrada)…",
"Send an encrypted message…": "Enviar unha mensaxe cifrada…",
"Send a message (unencrypted)…": "Enviar unha mensaxe (non cifrada)…",
"You do not have permission to post to this room": "Non ten permiso para comentar nesta sala",
- "Hide Text Formatting Toolbar": "Agochar barra de formato de texto",
"Server error": "Fallo no servidor",
"Server unavailable, overloaded, or something else went wrong.": "Servidor non dispoñible, sobrecargado, ou outra cousa puido fallar.",
"Command error": "Erro na orde",
- "bold": "remarcado",
- "italic": "cursiva",
- "Markdown is disabled": "Markdown desactivado",
- "Markdown is enabled": "Markdown activado",
"Unpin Message": "Desfixar mensaxe",
"Jump to message": "Ir a mensaxe",
"No pinned messages.": "Sen mensaxes fixadas.",
@@ -307,7 +278,6 @@
"Community Invites": "Convites da comunidade",
"Invites": "Convites",
"Favourites": "Favoritas",
- "People": "Xente",
"Rooms": "Salas",
"Low priority": "Baixa prioridade",
"Historical": "Historial",
@@ -342,8 +312,6 @@
"Cancel": "Cancelar",
"Jump to first unread message.": "Ir a primeira mensaxe non lida.",
"Close": "Pechar",
- "Invalid alias format": "Formato de alias non válido",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' non é un formato válido para un alias",
"not specified": "non indicado",
"Remote addresses for this room:": "Enderezos remotos para esta sala:",
"Local addresses for this room:": "O enderezo local para esta sala:",
@@ -505,20 +473,12 @@
"Unknown error": "Fallo descoñecido",
"Incorrect password": "Contrasinal incorrecto",
"Deactivate Account": "Desactivar conta",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Para verificar que se pode confiar neste dispositivo, contacte co seu dono utilizando algún outro medio (ex. en persoa ou chamada de teléfono) e pregúntelle se a clave que ven nos axustes de usuario do se dispositivo coincide coa clave inferior:",
- "Device name": "Nome do dispositivo",
- "Device key": "Chave do dispositivo",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Se concorda, pulse o botón verificar. Si non, entón alguén está interceptando este dispositivo e probablemente vostede desexe pulsar o botón lista negra.",
- "Verify device": "Verificar dispositivo",
"I verify that the keys match": "Certifico que coinciden as chaves",
"An error has occurred.": "Algo fallou.",
"OK": "OK",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Engadiu un novo dispositivo '%(displayName)s', que está a solicitar as chaves de cifrado.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "O seu dispositivo non verificado '%(displayName)s' está solicitando chaves de cifrado.",
"Start verification": "Iniciar verificación",
"Share without verifying": "Compartir sen verificar",
"Ignore request": "Ignorar petición",
- "Loading device info...": "Cargando información do dispositivo...",
"Encryption key request": "Petición de chave de cifrado",
"Unable to restore session": "Non se puido restaurar a sesión",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Si anteriormente utilizou unha versión máis recente de Riot, a súa sesión podería non ser compatible con esta versión. Peche esta ventá e volva a versión máis recente.",
@@ -537,11 +497,6 @@
"To get started, please pick a username!": "Para comezar, escolla un nome de usuaria!",
"This will be your account name on the homeserver, or you can pick a different server.": "Este será o nome da súa conta no servidor, ou pode escoller un servidor diferente.",
"If you already have a Matrix account you can log in instead.": "Se xa ten unha conta Matrix entón pode conectarse.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Neste momento está por na lista negra os dispositivos non verificados; para enviar mensaxes a eses dispositivos debe verificalos.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Recomendámoslle que vaia ao proceso de verificación para cada dispositivo para confirmar que pertencen ao seu dono lexítimos, pero se o prefire pode enviar a mensaxe sen ter verificado.",
- "Room contains unknown devices": "A sala contén dispositivos descoñecidos",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contén dispositivos que vostede non vira antes.",
- "Unknown devices": "Dispositivos descoñecidos",
"Private Chat": "Conversa privada",
"Public Chat": "Conversa pública",
"Custom": "Personalizada",
@@ -599,8 +554,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Crear unha comunidade para agrupar usuarias e salas! Poña unha páxina de inicio personalizada para destacar o seu lugar no universo Matrix.",
"You have no visible notifications": "Non ten notificacións visibles",
"Scroll to bottom of page": "Desprácese ate o final da páxina",
- "Message not sent due to unknown devices being present": "Non se enviou a mensaxe porque hai dispositivos non coñecidos",
- "Show devices, send anyway or cancel.": "Mostrar dispositivos, enviar igualmente ou cancelar.",
"%(count)s of your messages have not been sent.|other": "Algunha das súas mensaxes non foron enviadas.",
"%(count)s of your messages have not been sent.|one": "A súa mensaxe non foi enviada.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Reenviar todo ou bencancelar todo. Tamén pode seleccionar mensaxes individuais para reenviar ou cancelar.",
@@ -634,13 +587,10 @@
"Sign out": "Desconectar",
"Failed to change password. Is your password correct?": "Fallo ao cambiar o contrasinal. É correcto o contrasinal?",
"Success": "Parabéns",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "O seu contrasinal cambiouse correctamente. Non recibirá notificacións tipo push en outros dispositivos ate que se conecte novamente en eles",
"Unable to remove contact information": "Non se puido eliminar a información do contacto",
"": "",
"Import E2E room keys": "Importar chaves E2E da sala",
"Cryptography": "Criptografía",
- "Device ID:": "ID de dispositivo:",
- "Device key:": "Chave do dispositivo:",
"Analytics": "Analytics",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot recolle información analítica anónima para permitirnos mellorar o aplicativo.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "A intimidade impórtanos, así que non recollemos información personal ou identificable nos datos dos nosos análises.",
@@ -664,7 +614,6 @@
"click to reveal": "pulse para revelar",
"Homeserver is": "O servidor de inicio é",
"Identity Server is": "O servidor de identidade é",
- "matrix-react-sdk version:": "versión matrix-react-sdk:",
"riot-web version:": "versión riot-web:",
"olm version:": "versión olm:",
"Failed to send email": "Fallo ao enviar correo electrónico",
@@ -695,7 +644,6 @@
"Kicks user with given id": "Expulsa usuaria co id proporcionado",
"Changes your display nickname": "Cambia o alcume mostrado",
"Searches DuckDuckGo for results": "Buscar en DuckDuckGo por resultados",
- "Verifies a user, device, and pubkey tuple": "Valida o conxunto de usuaria, dispositivo e chave pública",
"Ignores a user, hiding their messages from you": "Ignora unha usuaria, agochándolle as súas mensaxes",
"Stops ignoring a user, showing their messages going forward": "Deixa de ignorar unha usuaria, mostrándolles as súas mensaxes a partir de agora",
"Commands": "Comandos",
@@ -719,7 +667,6 @@
"Session ID": "ID de sesión",
"End-to-end encryption information": "Información do cifrado extremo-a-extremo",
"Event information": "Información do evento",
- "Sender device information": "Información do dispositivo do remitente",
"Passphrases must match": "As frases de paso deben coincidir",
"Passphrase must not be empty": "A frase de paso non pode quedar baldeira",
"Export room keys": "Exportar chaves da sala",
@@ -750,11 +697,7 @@
"Failed to set direct chat tag": "Fallo ao establecer etiqueta do chat directo",
"Failed to remove tag %(tagName)s from room": "Fallo ao eliminar a etiqueta %(tagName)s da sala",
"Failed to add tag %(tagName)s to room": "Fallo ao engadir a etiqueta %(tagName)s a sala",
- "Your key share request has been sent - please check your other devices for key share requests.": "Enviouse a solicitude de compartir chave - por favor comprobe as peticións de compartir chaves nos seus outros dispositivos.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "As peticións de compartir chaves envíanse de xeito automático aos seus outros dispositivos. Se rexeita o obvia estas peticións nos outros dispositivos, pulse aquí para solicitar novamente as chaves para esta sesión.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Se os seus outros dispositivos non teñen as chaves para este mensaxe non poderán descifrala.",
"Key request sent.": "Petición de chave enviada.",
- "Re-request encryption keys from your other devices.": "Volver a pedir chaves de cifrado desde os outros dispositivos.",
"Flair": "Aura",
"Showing flair for these communities:": "Mostrar a aura para estas comunidades:",
"Display your community flair in rooms configured to show it.": "Mostrar a aura da súa comunidade nas salas configuradas para que a mostren.",
@@ -823,7 +766,6 @@
"Files": "Ficheiros",
"Collecting app version information": "Obtendo información sobre a versión da app",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Eliminar o alcume da sala %(alias)s e borrar %(name)s do directorio?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Isto permitiralle volver a súa conta tras desconectarse, e conectarse en outros dispositivos.",
"Keywords": "Palabras chave",
"Enable notifications for this account": "Activar notificacións para esta conta",
"Invite to this community": "Convidar a esta comunidade",
@@ -912,8 +854,6 @@
"Your device resolution": "Resolución do dispositivo",
"Missing roomId.": "Falta o ID da sala.",
"Always show encryption icons": "Mostra sempre iconas de cifrado",
- "Unable to reply": "Non puido responder",
- "At this time it is not possible to reply with an emote.": "Neste intre non é posible responder con un emote.",
"Popout widget": "trebello emerxente",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Non se cargou o evento ao que respondía, ou non existe ou non ten permiso para velo.",
"Send Logs": "Enviar informes",
@@ -958,12 +898,6 @@
"This event could not be displayed": "Non se puido amosar este evento",
"Demote yourself?": "Baixarse a si mesmo de rango?",
"Demote": "Baixar de rango",
- "deleted": "eliminado",
- "underlined": "subliñado",
- "inline-code": "código en liña",
- "block-quote": "bloque de citas",
- "bulleted-list": "lista de puntos",
- "numbered-list": "lista numérica",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "Nas salas cifradas, como é esta, está desactivado por defecto a previsualización das URL co fin de asegurarse de que o servidor local (que é onde se gardan as previsualizacións) non poida recoller información sobre das ligazóns que se ven nesta sala.",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Cando alguén pon unha URL na mensaxe, esta previsualízarase para que así se coñezan xa cousas delas como o título, a descrición ou as imaxes que inclúe ese sitio web.",
"The email field must not be blank.": "Este campo de correo non pode quedar en branco.",
diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json
index 335c516105..9c3e383afc 100644
--- a/src/i18n/strings/he.json
+++ b/src/i18n/strings/he.json
@@ -3,7 +3,6 @@
"This phone number is already in use": "מספר הטלפון הזה כבר בשימוש",
"Failed to verify email address: make sure you clicked the link in the email": "אימות כתובת הדוא\"ל נכשלה: וודא שלחצת על הקישור בדוא\"ל",
"Call Failed": "השיחה נכשלה",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "ישנם מכשירים לא ידועים בחדר: המשך ללא אימותם יאפשר למישהו לצוטט לשיחתך.",
"Review Devices": "סקירת מכשירים",
"Call Anyway": "התקשר בכל זאת",
"Answer Anyway": "ענה בכל זאת",
@@ -126,7 +125,6 @@
"Resend": "שלח מחדש",
"Collecting app version information": "אוסף מידע על גרסת היישום",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "מחק כינוי %(alias)s של החדר והסר את %(name)s מהרשימה?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "זה יאפשר לך לחזור לחשבונך אחרי התנתקות ולהתחבר באמצעות התקנים אחרים.",
"Keywords": "מילות מפתח",
"Enable notifications for this account": "אפשר התראות לחשבון זה",
"Invite to this community": "הזמן לקהילה זו",
diff --git a/src/i18n/strings/hi.json b/src/i18n/strings/hi.json
index 5afba35a94..3028566536 100644
--- a/src/i18n/strings/hi.json
+++ b/src/i18n/strings/hi.json
@@ -27,7 +27,6 @@
"The information being sent to us to help make Riot.im better includes:": "Riot.im को बेहतर बनाने के लिए हमें भेजी गई जानकारी में निम्नलिखित शामिल हैं:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "जहां इस पृष्ठ में पहचान योग्य जानकारी शामिल है, जैसे कि रूम, यूजर या समूह आईडी, वह डाटा सर्वर को भेजे से पहले हटा दिया जाता है।",
"Call Failed": "कॉल विफल",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "इस रूम में अज्ञात डिवाइस हैं: यदि आप उन्हें सत्यापित किए बिना आगे बढ़ते हैं, तो किसी और के लिए आपकी कॉल पर नजर डालना संभव हो सकता हैं।",
"Review Devices": "डिवाइस की समीक्षा करें",
"Call Anyway": "वैसे भी कॉल करें",
"Answer Anyway": "वैसे भी जवाब दें",
@@ -99,10 +98,6 @@
"Moderator": "मध्यस्थ",
"Admin": "व्यवस्थापक",
"Start a chat": "एक चैट शुरू करें",
- "Who would you like to communicate with?": "आप किसके साथ संवाद करना चाहते हैं?",
- "Start Chat": "चैट शुरू करें",
- "Invite new room members": "नए रूम के सदस्यों को आमंत्रित करें",
- "Send Invites": "आमंत्रण भेजें",
"Operation failed": "कार्रवाई विफल",
"Failed to invite": "आमंत्रित करने में विफल",
"Failed to invite the following users to the %(roomName)s room:": "निम्नलिखित उपयोगकर्ताओं को %(roomName)s रूम में आमंत्रित करने में विफल:",
@@ -139,16 +134,9 @@
"Define the power level of a user": "उपयोगकर्ता के पावर स्तर को परिभाषित करें",
"Deops user with given id": "दिए गए आईडी के साथ उपयोगकर्ता को देओप्स करना",
"Opens the Developer Tools dialog": "डेवलपर टूल्स संवाद खोलता है",
- "Verifies a user, device, and pubkey tuple": "उपयोगकर्ता, डिवाइस और पबकी टुपल को सत्यापित करता है",
- "Unknown (user, device) pair:": "अज्ञात (उपयोगकर्ता, डिवाइस) जोड़ी:",
- "Device already verified!": "डिवाइस पहले ही सत्यापित है!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "चेतावनी: डिवाइस पहले ही सत्यापित है, लेकिन चाबियाँ मेल नहीं खाती हैं!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "चेतावनी: कुंजी सत्यापन विफल! %(userId)s और डिवाइस %(deviceId)s के लिए हस्ताक्षर कुंजी \"%(fprint)s\" है जो प्रदान की गई कुंजी \"%(fingerprint)s\" से मेल नहीं खाती है। इसका मतलब यह हो सकता है कि आपके संचार को अंतरग्रहण किया जा रहा है!",
"Verified key": "सत्यापित कुंजी",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "आपके द्वारा प्रदान की गई हस्ताक्षर कुंजी %(userId)s के डिवाइस %(deviceId)s से प्राप्त हस्ताक्षर कुंजी से मेल खाती है। डिवाइस सत्यापित के रूप में चिह्नित किया गया है।",
"Displays action": "कार्रवाई प्रदर्शित करता है",
"Forces the current outbound group session in an encrypted room to be discarded": "एक एन्क्रिप्टेड रूम में मौजूदा आउटबाउंड समूह सत्र को त्यागने के लिए मजबूर करता है",
- "Unrecognised command:": "अपरिचित आदेश:",
"Reason": "कारण",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s ने %(displayName)s के लिए निमंत्रण को स्वीकार कर लिया है।",
"%(targetName)s accepted an invitation.": "%(targetName)s ने एक निमंत्रण स्वीकार कर लिया।",
@@ -193,7 +181,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s ने भविष्य के रूम का इतिहास सभी रूम के सदस्यों के लिए दृश्यमान बना दिया।",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s ने भविष्य के रूम का इतिहास हर किसी के लिए दृश्यमान बना दिया।",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s ने भविष्य के रूम का इतिहास अज्ञात (%(visibility)s) के लिए दृश्यमान बनाया।",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ने एंड-टू-एंड एन्क्रिप्शन (एल्गोरिदम %(algorithm)s) चालू कर दिया।",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s का %(fromPowerLevel)s से %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s ने %(powerLevelDiffText)s के पावर स्तर को बदल दिया।",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s ने रूम के लिए पिन किए गए संदेश को बदल दिया।",
@@ -225,8 +212,6 @@
"Automatically replace plain text Emoji": "स्वचालित रूप से सादा पाठ इमोजी को प्रतिस्थापित करें",
"Mirror local video feed": "स्थानीय वीडियो फ़ीड को आईना करें",
"Send analytics data": "विश्लेषण डेटा भेजें",
- "Never send encrypted messages to unverified devices from this device": "इस डिवाइस से असत्यापित डिवाइस पर एन्क्रिप्टेड संदेश कभी न भेजें",
- "Never send encrypted messages to unverified devices in this room from this device": "इस डिवाइस से असत्यापित डिवाइस पर एन्क्रिप्टेड संदेश कभी न भेजें",
"Enable inline URL previews by default": "डिफ़ॉल्ट रूप से इनलाइन यूआरएल पूर्वावलोकन सक्षम करें",
"Enable URL previews for this room (only affects you)": "इस रूम के लिए यूआरएल पूर्वावलोकन सक्षम करें (केवल आपको प्रभावित करता है)",
"Enable URL previews by default for participants in this room": "इस रूम में प्रतिभागियों के लिए डिफ़ॉल्ट रूप से यूआरएल पूर्वावलोकन सक्षम करें",
@@ -261,7 +246,6 @@
"New passwords don't match": "नए पासवर्ड मेल नहीं खाते हैं",
"Passwords can't be empty": "पासवर्ड खाली नहीं हो सकते हैं",
"Warning!": "चेतावनी!",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "पासवर्ड बदलना वर्तमान में सभी उपकरणों पर किसी भी एंड-टू-एंड एन्क्रिप्शन कुंजी को रीसेट कर देगा, एन्क्रिप्टेड चैट इतिहास को अपठनीय बनायेगा, जब तक कि आप पहले अपनी रूम कुंजियां निर्यात न करें और बाद में उन्हें फिर से आयात न करें। भविष्य में यह सुधार होगा।",
"Export E2E room keys": "E2E रूम कुंजी निर्यात करें",
"Do you want to set an email address?": "क्या आप एक ईमेल पता सेट करना चाहते हैं?",
"Current password": "वर्तमान पासवर्ड",
@@ -269,10 +253,7 @@
"New Password": "नया पासवर्ड",
"Confirm password": "पासवर्ड की पुष्टि कीजिये",
"Change Password": "पासवर्ड बदलें",
- "Unable to load device list": "डिवाइस सूची लोड करने में असमर्थ",
"Authentication": "प्रमाणीकरण",
- "Delete %(count)s devices|other": "%(count)s यंत्र हटाएं",
- "Delete %(count)s devices|one": "यंत्र हटाएं",
"Device ID": "यंत्र आईडी",
"Last seen": "अंतिम बार देखा गया",
"Failed to set display name": "प्रदर्शन नाम सेट करने में विफल",
@@ -280,12 +261,7 @@
"Enable Notifications": "सूचनाएं सक्षम करें",
"Delete Backup": "बैकअप हटाएं",
"Unable to load key backup status": "कुंजी बैकअप स्थिति लोड होने में असमर्थ",
- "Backup has a valid signature from this device": "इस डिवाइस से बैकअप में वैध validity> हस्ताक्षर है",
- "Backup has a valid signature from unverified device ": "असत्यापित verify> डिवाइस device> से बैकअप में मान्य हस्ताक्षर है",
- "Backup has an invalid signature from verified device ": "सत्यापित verify> डिवाइस device> से बैकअप में अमान्य हस्ताक्षर है",
- "Backup has an invalid signature from unverified device ": "असत्यापित verify> डिवाइस device> से बैकअप में अमान्य हस्ताक्षर है",
"Verify...": "सत्यापित करें ...",
- "Backup is not signed by any of your devices": "बैकअप आपके किसी भी डिवाइस द्वारा हस्ताक्षरित नहीं है",
"Backup version: ": "बैकअप संस्करण: ",
"Algorithm: ": "कलन विधि: ",
"Error saving email notification preferences": "ईमेल अधिसूचना प्राथमिकताओं को सहेजने में त्रुटि",
@@ -341,7 +317,6 @@
"Messages containing @room": "@Room युक्त संदेश",
"Encrypted messages in one-to-one chats": "एक एक के साथ चैट में एन्क्रिप्टेड संदेश",
"Encrypted messages in group chats": "समूह चैट में एन्क्रिप्टेड संदेश",
- "Backup has a valid signature from verified device ": "बैकअप के पास सत्यापित डिवाइस से वैध हस्ताक्षर है",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "हो सकता है कि आपने उन्हें रायट के अलावा किसी अन्य ग्राहक में कॉन्फ़िगर किया हो। आप उन्हें रायट में ट्यून नहीं कर सकते लेकिन वे अभी भी आवेदन करते हैं",
"Show message in desktop notification": "डेस्कटॉप अधिसूचना में संदेश दिखाएं",
"Off": "बंद",
@@ -360,14 +335,7 @@
"%(senderName)s sent a video": "%(senderName)s ने एक वीडियो भेजा",
"%(senderName)s uploaded a file": "%(senderName)s ने एक फाइल अपलोड की",
"Options": "विकल्प",
- "Your key share request has been sent - please check your other devices for key share requests.": "आपका कुंजी शेयर अनुरोध भेजा गया है - कृपया कुंजी शेयर अनुरोधों के लिए अपने अन्य डिवाइस देखें।",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "कुंजी शेयर अनुरोध स्वचालित रूप से अपने अन्य उपकरणों के लिए भेजा जाता है। आप को अस्वीकार कर दिया या अपने अन्य उपकरणों पर कुंजी शेयर अनुरोध को खारिज कर दिया है, तो फिर इस सत्र के लिए कुंजी का अनुरोध करने के लिए यहां क्लिक करें।",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "यदि आपके अन्य उपकरणों में इस संदेश की कुंजी नहीं है तो आप उन्हें डिक्रिप्ट करने में सक्षम नहीं होंगे।",
"Key request sent.": "कुंजी अनुरोध भेजा गया।",
- "Re-request encryption keys from your other devices.": "अपने अन्य उपकरणों से एन्क्रिप्शन कुंजी का पुन: अनुरोध करें ।",
- "Undecryptable": "डिक्रिप्ट करना संभव नहीं",
- "Encrypted by an unverified device": "एक असत्यापित डिवाइस द्वारा एन्क्रिप्ट किया गया",
- "Unencrypted message": "बिना एन्क्रिप्ट वाला संदेश",
"Please select the destination room for this message": "कृपया इस संदेश के लिए गंतव्य रूम का चयन करें",
"Blacklisted": "काली सूची में डाला गया",
"device id: ": "डिवाइस आईडी: ",
@@ -389,8 +357,6 @@
"Failed to change power level": "पावर स्तर बदलने में विफल",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "आप इस परिवर्तन को पूर्ववत नहीं कर पाएंगे क्योंकि आप उपयोगकर्ता को अपने आप से समान शक्ति स्तर रखने के लिए प्रोत्साहित कर रहे हैं।",
"Are you sure?": "क्या आपको यकीन है?",
- "No devices with registered encryption keys": "पंजीकृत एन्क्रिप्शन कुंजी के साथ कोई डिवाइस नहीं",
- "Devices": "उपकरण",
"Unignore": "अनदेखा न करें",
"Ignore": "अनदेखा करें",
"Jump to read receipt": "पढ़ी हुई रसीद में कूदें",
@@ -410,20 +376,11 @@
"Invited": "आमंत्रित",
"Filter room members": "रूम के सदस्यों को फ़िल्टर करें",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (शक्ति %(powerLevelNumber)s)",
- "bold": "बोल्ड",
- "italic": "तिरछा",
- "deleted": "हटाए गए",
- "underlined": "रेखांकित",
- "inline-code": "इनलाइन कोड",
- "block-quote": "ब्लॉक उद्धरण",
- "bulleted-list": "बुलेटेड सूची",
- "numbered-list": "गिने-सूची",
"Attachment": "आसक्ति",
"Hangup": "फोन रख देना",
"Voice call": "आवाज कॉल",
"Video call": "वीडियो कॉल",
"Upload file": "फाइल अपलोड करें",
- "Show Text Formatting Toolbar": "टेक्स्ट स्वरूपण टूलबार दिखाएं",
"Send an encrypted reply…": "एक एन्क्रिप्टेड उत्तर भेजें …",
"Send a reply (unencrypted)…": "एक उत्तर भेजें (अनएन्क्रिप्टेड) …",
"Send an encrypted message…": "एक एन्क्रिप्टेड संदेश भेजें …",
@@ -431,14 +388,9 @@
"This room has been replaced and is no longer active.": "इस रूम को बदल दिया गया है और अब सक्रिय नहीं है।",
"The conversation continues here.": "वार्तालाप यहां जारी है।",
"You do not have permission to post to this room": "आपको इस रूम में पोस्ट करने की अनुमति नहीं है",
- "Hide Text Formatting Toolbar": "टेक्स्ट स्वरूपण टूलबार छुपाएं",
"Server error": "सर्वर त्रुटि",
"Server unavailable, overloaded, or something else went wrong.": "सर्वर अनुपलब्ध, अधिभारित, या कुछ और गलत हो गया।",
"Command error": "कमांड त्रुटि",
- "Unable to reply": "उत्तर देने में असमर्थ",
- "At this time it is not possible to reply with an emote.": "इस समय एक भावना के साथ जवाब देना संभव नहीं है।",
- "Markdown is disabled": "मार्कडाउन अक्षम है",
- "Markdown is enabled": "मार्कडाउन सक्षम है",
"No pinned messages.": "कोई पिन संदेश नहीं।",
"Loading...": "लोड हो रहा है...",
"Pinned Messages": "पिन किए गए संदेश",
@@ -502,7 +454,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "इस उपयोगकर्ता की पुष्टि करें कि उनकी स्क्रीन पर निम्नलिखित इमोजी दिखाई देते हैं।",
"Verify this user by confirming the following number appears on their screen.": "निम्न स्क्रीन पर दिखाई देने वाली संख्या की पुष्टि करके इस उपयोगकर्ता को सत्यापित करें।",
"Unable to find a supported verification method.": "समर्थित सत्यापन विधि खोजने में असमर्थ।",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "अधिकतम सुरक्षा के लिए, हम अनुशंसा करते हैं कि आप इसे व्यक्ति में करें या संचार के किसी अन्य विश्वसनीय साधन का उपयोग करें।",
"Dog": "कुत्ता",
"Cat": "बिल्ली",
"Lion": "शेर",
@@ -548,7 +499,6 @@
"Book": "पुस्तक",
"Pencil": "पेंसिल",
"Paperclip": "पेपर क्लिप",
- "Padlock": "ताला",
"Key": "चाबी",
"Hammer": "हथौड़ा",
"Telephone": "टेलीफोन",
@@ -566,7 +516,6 @@
"Headphones": "हेडफोन",
"Folder": "फ़ोल्डर",
"Pin": "पिन",
- "Your homeserver does not support device management.": "आपका होम सर्वर डिवाइस प्रबंधन का समर्थन नहीं करता है।",
"Unable to remove contact information": "संपर्क जानकारी निकालने में असमर्थ",
"Yes": "हाँ",
"No": "नहीं",
@@ -580,21 +529,16 @@
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "क्या आपको यकीन है? यदि आपकी कुंजियाँ ठीक से बैकअप नहीं हैं तो आप अपने एन्क्रिप्टेड संदेशों को खो देंगे।",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "एन्क्रिप्ट किए गए संदेश एंड-टू-एंड एन्क्रिप्शन के साथ सुरक्षित हैं। केवल आपके और प्राप्तकर्ता के पास ही इन संदेशों को पढ़ने की कुंजी है।",
"Restore from Backup": "बैकअप से बहाल करना",
- "This device is backing up your keys. ": "यह उपकरण आपकी कुंजी का बैकअप ले रहा है। ",
"Back up your keys before signing out to avoid losing them.": "उन्हें खोने से बचने के लिए साइन आउट करने से पहले अपनी कुंजियों का बैकअप लें।",
"Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s कुंजी का बैकअप कर रहा है ...",
"All keys backed up": "सभी कुंजियाँ वापस आ गईं",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "बैकअप में आईडी %(deviceId)s के साथ अज्ञात डिवाइस से एक हस्ताक्षर है।",
- "This backup is trusted because it has been restored on this device": "यह बैकअप विश्वसनीय है क्योंकि इसे इस उपकरण पर पुनर्स्थापित किया गया है",
"Advanced": "उन्नत",
- "Your keys are not being backed up from this device.": "आपकी कुंजी इस उपकरण से समर्थित नहीं है।",
"Start using Key Backup": "कुंजी बैकअप का उपयोग करना शुरू करें",
"Add an email address to configure email notifications": "ईमेल सूचनाओं को कॉन्फ़िगर करने के लिए एक ईमेल पता जोड़ें",
"Unable to verify phone number.": "फ़ोन नंबर सत्यापित करने में असमर्थ।",
"Verification code": "पुष्टि संख्या",
"Phone Number": "फ़ोन नंबर",
"Profile picture": "प्रोफ़ाइल फोटो",
- "Upload profile picture": "प्रोफ़ाइल चित्र अपलोड करें",
"Display Name": "प्रदर्शित होने वाला नाम",
"Save": "अमुकनाम्ना",
"This room is not accessible by remote Matrix servers": "यह रूम रिमोट मैट्रिक्स सर्वर द्वारा सुलभ नहीं है",
@@ -611,7 +555,6 @@
"URL Previews": "URL पूर्वावलोकन",
"Failed to change password. Is your password correct?": "पासवर्ड बदलने में विफल। क्या आपका पासवर्ड सही है?",
"Success": "सफल",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "आपका पासवर्ड सफलतापूर्वक बदल दिया गया था। जब तक आप उन्हें वापस लॉग इन नहीं करेंगे तब तक आपको अन्य डिवाइस पर पुश नोटिफिकेशन नहीं मिलेगा",
"Profile": "प्रोफाइल",
"Account": "अकाउंट",
"Set a new account password...": "नया खाता पासवर्ड सेट करें ...",
@@ -634,7 +577,6 @@
"Submit debug logs": "डिबग लॉग जमा करें",
"FAQ": "सामान्य प्रश्न",
"Versions": "संस्करण",
- "matrix-react-sdk version:": "मैट्रिक्स-प्रतिक्रिया-एसडीके संस्करण:",
"riot-web version:": "रायट-वेब संस्करण:",
"olm version:": "olm संस्करण:",
"Homeserver is": "होमेसेर्वेर हैं",
@@ -659,8 +601,6 @@
"": "<समर्थित नहीं>",
"Import E2E room keys": "E2E कक्ष की चाबियां आयात करें",
"Cryptography": "क्रिप्टोग्राफी",
- "Device ID:": "डिवाइस आईडी:",
- "Device key:": "डिवाइस कुंजी:",
"Ignored users": "अनदेखी उपयोगकर्ताओं",
"Bulk options": "थोक विकल्प",
"Reject all %(invitedRooms)s invites": "सभी %(invitedRooms)s की आमंत्रण को अस्वीकार करें",
@@ -689,17 +629,11 @@
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "इस समय किसी फ़ाइल के साथ उत्तर देना संभव नहीं है। क्या आप इस फ़ाइल को बिना उत्तर दिए अपलोड करना चाहेंगे?",
"The file '%(fileName)s' failed to upload.": "फ़ाइल '%(fileName)s' अपलोड करने में विफल रही।",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "एक सादे पाठ संदेश के लिए ¯\\_(ツ)_/¯ प्रस्तुत करता है",
- "Room upgrade confirmation": "रूम के उन्नयन की पुष्टि",
- "Upgrading a room can be destructive and isn't always necessary.": "एक कमरे को अपग्रेड करना विनाशकारी हो सकता है और हमेशा आवश्यक नहीं होता है।",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "एक कमरे के संस्करण को अस्थिर माना जाता है, तो आमतौर पर कमरे के उन्नयन की सिफारिश की जाती है। अस्थिर कमरे के संस्करणों में बग, लापता विशेषताएं या सुरक्षा कमजोरियां हो सकती हैं।",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "रूम का उन्नयन आमतौर पर केवल रूम के सर्वर-साइड को प्रभावित करता है। यदि आपको अपने रायट क्लाइंट के साथ समस्या हो रही है, तो कृपया के साथ एक समस्या दर्ज करें।",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "चेतावनी: किसी कमरे को अपग्रेड करना कमरे के सदस्यों को कमरे के नए संस्करण में स्वचालित रूप से माइग्रेट नहीं करना है। हम कमरे के पुराने संस्करण में नए कमरे के लिए एक लिंक पोस्ट करेंगे। नए कमरे में शामिल होने के लिए कमरे के सदस्यों को इस लिंक पर क्लिक करना होगा।",
"Adds a custom widget by URL to the room": "रूम में URL द्वारा एक कस्टम विजेट जोड़ता है",
"Please supply a https:// or http:// widget URL": "कृपया एक https:// या http:// विजेट URL की आपूर्ति करें",
"You cannot modify widgets in this room.": "आप इस रूम में विजेट्स को संशोधित नहीं कर सकते।",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s ने कमरे में शामिल होने के लिए %(targetDisplayName)s के निमंत्रण को रद्द कर दिया।",
"User %(userId)s is already in the room": "उपयोगकर्ता %(userId)s पहले से ही रूम में है",
- "The user must be unbanned before they can be invited.": "उपयोगकर्ता को आमंत्रित करने से पहले उन्हें प्रतिबंधित किया जाना चाहिए।",
- "Enable desktop notifications for this device": "इस उपकरण के लिए डेस्कटॉप सूचनाएं सक्षम करें",
- "Enable audible notifications for this device": "इस उपकरण के लिए श्रव्य सूचनाएँ सक्षम करें"
+ "The user must be unbanned before they can be invited.": "उपयोगकर्ता को आमंत्रित करने से पहले उन्हें प्रतिबंधित किया जाना चाहिए।"
}
diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json
index 68af34ae2d..7e78c367f7 100644
--- a/src/i18n/strings/hu.json
+++ b/src/i18n/strings/hu.json
@@ -3,7 +3,7 @@
"Search": "Keresés",
"OK": "Rendben",
"Custom Server Options": "Egyedi szerverbeállítások",
- "Dismiss": "Eltüntet",
+ "Dismiss": "Eltüntetés",
"Error": "Hiba",
"Failed to forget room %(errCode)s": "Nem sikerült elfelejteni a szobát: %(errCode)s",
"Favourite": "Kedvenc",
@@ -22,7 +22,7 @@
"Active call (%(roomName)s)": "Hívás folyamatban (%(roomName)s)",
"Add": "Hozzáad",
"Add a topic": "Téma megadása",
- "Admin": "Adminisztrátor",
+ "Admin": "Admin",
"Admin Tools": "Admin. Eszközök",
"No Microphones detected": "Nem található mikrofon",
"No Webcams detected": "Nem található webkamera",
@@ -31,7 +31,7 @@
"Default Device": "Alapértelmezett eszköz",
"Microphone": "Mikrofon",
"Camera": "Kamera",
- "Advanced": "Haladó",
+ "Advanced": "Speciális",
"Algorithm": "Algoritmus",
"Always show message timestamps": "Üzenet időbélyeg folyamatos megjelenítése",
"Authentication": "Azonosítás",
@@ -59,7 +59,7 @@
"%(senderName)s banned %(targetName)s.": "%(senderName)s kitiltotta őt: %(targetName)s.",
"Ban": "Kitilt",
"Banned users": "Kitiltott felhasználók",
- "Bans user with given id": "Kitiltja a felhasználót a megadott ID-vel",
+ "Bans user with given id": "Kitiltja a megadott azonosítójú felhasználót",
"Blacklisted": "Fekete listára téve",
"Call Timeout": "Hívás időtúllépés",
"Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Nem lehet kapcsolódni a Matrix szerverhez - ellenőrizd a kapcsolatot, biztosítsd, hogy a Matrix szerver tanúsítványa hiteles legyen, és a böngésző kiterjesztések ne blokkolják a kéréseket.",
@@ -71,7 +71,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s törölte a szoba nevét.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s megváltoztatta a témát erre \"%(topic)s\".",
"Changes your display nickname": "Becenév megváltoztatása",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Jelszó megváltoztatása jelenleg alaphelyzetbe állítja a titkosításnál használt kulcsokat minden készüléken, ezzel a régi titkosított üzenetek olvashatatlanok lesznek hacsak először nem mented ki a kulcsokat és újra betöltöd. A jövőben ezen javítunk.",
"Claimed Ed25519 fingerprint key": "Igényelt Ed25519 ujjlenyomat kulcs",
"Click here to fix": "A javításhoz kattints ide",
"Click to mute audio": "Hang némításhoz kattints ide",
@@ -95,12 +94,8 @@
"Decrypt %(text)s": "%(text)s visszafejtése",
"Decryption error": "Visszafejtési hiba",
"Default": "Alapértelmezett",
- "Device already verified!": "Készülék már ellenőrizve!",
"Device ID": "Készülék azonosító",
- "Device ID:": "Készülék azonosító:",
"device id: ": "készülék azonosító: ",
- "Device key:": "Készülék kulcs:",
- "Devices": "Készülékek",
"Direct chats": "Közvetlen csevegés",
"Disable Notifications": "Értesítések tiltása",
"Disinvite": "Meghívás visszavonása",
@@ -110,9 +105,8 @@
"Ed25519 fingerprint": "Ed25519 ujjlenyomat",
"Email": "E-mail",
"Email address": "E-mail cím",
- "Emoji": "Emoji",
+ "Emoji": "Emodzsi",
"Enable Notifications": "Értesítések bekapcsolása",
- "Encrypted by an unverified device": "Nem ellenőrzött eszköz által titkosítva",
"%(senderName)s ended the call.": "%(senderName)s befejezte a hívást.",
"End-to-end encryption information": "Ponttól pontig való titkosítási információk",
"Enter passphrase": "Jelmondat megadása",
@@ -138,7 +132,7 @@
"Failed to toggle moderator status": "Moderátor státuszt nem sikerült átállítani",
"Failed to unban": "Kizárás visszavonása sikertelen",
"Failed to upload profile picture!": "Profil kép feltöltése sikertelen!",
- "Failed to verify email address: make sure you clicked the link in the email": "E-mail cím ellenőrzése sikertelen: ellenőrizd, hogy az e-mailnél lévő linkre rákattintottál",
+ "Failed to verify email address: make sure you clicked the link in the email": "E-mail cím ellenőrzése sikertelen: ellenőrizd, hogy az e-mailben lévő hivatkozásra kattintottál",
"Failure to create room": "Szoba létrehozása sikertelen",
"Favourites": "Kedvencek",
"Fill screen": "Képernyő kitöltése",
@@ -148,7 +142,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s : %(fromPowerLevel)s -> %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Vendégek akkor sem csatlakozhatnak ehhez a szobához ha külön meghívók kaptak.",
"Hangup": "Megszakít",
- "Hide Text Formatting Toolbar": "Szövegformázási menü elrejtése",
"Historical": "Archív",
"Home": "Kezdőlap",
"Homeserver is": "Matrix szerver:",
@@ -161,15 +154,12 @@
"Incoming voice call from %(name)s": "Bejövő hívás: %(name)s",
"Incorrect username and/or password.": "Helytelen felhasználó és/vagy jelszó.",
"Incorrect verification code": "Hibás azonosítási kód",
- "Invalid alias format": "Hibás alternatív név formátum",
"Invalid Email Address": "Hibás e-mail cím",
"Invalid file%(extra)s": "Hibás fájl%(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s meghívta: %(targetName)s.",
- "Invite new room members": "Új tagok meghívása",
"Invited": "Meghívva",
"Invites": "Meghívók",
"Invites user with given id to current room": "Felhasználó meghívása ebbe a szobába megadott azonosítóval",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' nem megfelelő formátum egy alternatív névhez",
"Sign in with": "Belépés ezzel:",
"Join as voice or video.": "Csatlakozás hanggal vagy videóval.",
"Join Room": "Belépés a szobába",
@@ -192,16 +182,10 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s elérhetővé tette a szoba új üzeneteit nekik bárki.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s elérhetővé tette a szoba új üzeneteit nekik ismeretlen (%(visibility)s).",
"Manage Integrations": "Integrációk kezelése",
- "Markdown is disabled": "Markdown kikapcsolva",
- "Markdown is enabled": "Markdown engedélyezett",
- "matrix-react-sdk version:": "matrix-react-sdk verzió:",
- "Message not sent due to unknown devices being present": "Ismeretlen eszköz miatt az üzenet nem küldhető el",
"Missing room_id in request": "Hiányzó room_id a kérésben",
"Missing user_id in request": "Hiányzó user_id a kérésben",
"Moderator": "Moderátor",
"Name": "Név",
- "Never send encrypted messages to unverified devices from this device": "Soha ne küldj titkosított üzenetet ellenőrizetlen eszközre erről az eszközről",
- "Never send encrypted messages to unverified devices in this room from this device": "Soha ne küldj titkosított üzenetet ebből a szobából ellenőrizetlen eszközre erről az eszközről",
"New address (e.g. #foo:%(localDomain)s)": "Új cím (e.g. #foo:%(localDomain)s)",
"New passwords don't match": "Az új jelszavak nem egyeznek",
"New passwords must match each other.": "Az új jelszavaknak meg kell egyezniük egymással.",
@@ -210,7 +194,6 @@
"(not supported by this browser)": "(ebben a böngészőben nem támogatott)",
"": "",
"NOT verified": "NEM ellenőrzött",
- "No devices with registered encryption keys": "Nincs eszköz a regisztrált titkosítási kulcsokhoz",
"No display name": "Nincs megjelenítési név",
"No more results": "Nincs több találat",
"No results": "Nincs találat",
@@ -219,7 +202,6 @@
"Only people who have been invited": "Csak akiket meghívtak",
"Password": "Jelszó",
"Passwords can't be empty": "A jelszó nem lehet üres",
- "People": "Emberek",
"Permissions": "Jogosultságok",
"Phone": "Telefon",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Ellenőrizd az e-mail-edet és kattints a benne lévő linkre. Ha ez megvan, kattints a folytatásra.",
@@ -239,23 +221,20 @@
"%(senderName)s requested a VoIP conference.": "%(senderName)s VoIP konferenciát kezdeményez.",
"Results from DuckDuckGo": "Eredmények a DuckDuckGo-ból",
"Return to login screen": "Vissza a bejelentkezési képernyőre",
- "Riot does not have permission to send you notifications - please check your browser settings": "Riotnak nincs jogosultsága értesítést küldeni neked - ellenőrizd a böngésző beállításait",
- "Riot was not given permission to send notifications - please try again": "Riotnak nincs jogosultsága értesítést küldeni neked - próbáld újra",
+ "Riot does not have permission to send you notifications - please check your browser settings": "A Riotnak nincs jogosultsága értesítést küldeni neked – ellenőrizd a böngésző beállításait",
+ "Riot was not given permission to send notifications - please try again": "A Riotnak nincs jogosultsága értesítést küldeni neked – próbáld újra",
"riot-web version:": "riot-web verzió:",
"Room %(roomId)s not visible": "%(roomId)s szoba nem látható",
"Room Colour": "Szoba színe",
- "Room contains unknown devices": "A szobában ellenőrizetlen eszközök vannak",
"%(roomName)s does not exist.": "%(roomName)s nem létezik.",
"%(roomName)s is not accessible at this time.": "%(roomName)s jelenleg nem érhető el.",
"Rooms": "Szobák",
"Save": "Mentés",
"Scroll to bottom of page": "Az oldal aljára görget",
"Search failed": "Keresés sikertelen",
- "Searches DuckDuckGo for results": "Keresés DuckDuckGo-val",
+ "Searches DuckDuckGo for results": "Keresés DuckDuckGóval",
"Seen by %(userName)s at %(dateTime)s": "%(userName)s %(dateTime)s időpontban látta",
"Send anyway": "Küld mindenképpen",
- "Sender device information": "Küldő eszközének információja",
- "Send Invites": "Meghívók elküldése",
"Send Reset Email": "Visszaállítási e-mail küldése",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s képet küldött.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s meghívót küldött %(targetDisplayName)s felhasználónak, hogy lépjen be a szobába.",
@@ -266,20 +245,17 @@
"Session ID": "Kapcsolat azonosító",
"%(senderName)s set a profile picture.": "%(senderName)s profil képet állított be.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s a megjelenítési nevét megváltoztatta erre: %(displayName)s.",
- "Show Text Formatting Toolbar": "Szöveg formázási eszköztár megjelenítése",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Az időbélyegek 12 órás formátumban mutatása (pl.: 2:30pm)",
"Signed Out": "Kijelentkezett",
- "Sign in": "Bejelentkezett",
+ "Sign in": "Bejelentkezés",
"Sign out": "Kijelentkezés",
"%(count)s of your messages have not been sent.|other": "Néhány üzeneted nem lett elküldve.",
"Someone": "Valaki",
"Start a chat": "Csevegés indítása",
"Start authentication": "Azonosítás indítása",
- "Start Chat": "Csevegés indítása",
"Submit": "Elküld",
"Success": "Sikeres",
"The phone number entered looks invalid": "A megadott telefonszám érvénytelennek tűnik",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Az általad megadott aláíró kulcs megegyezik %(userId)s felhasználótól kapott kulccsal amit %(deviceId)s eszközhöz használ. Az eszköz ellenőrzöttnek jelölve.",
"This email address is already in use": "Ez az e-mail cím már használatban van",
"This email address was not found": "Az e-mail cím nem található",
"The email address linked to your account must be entered.": "A fiókodhoz kötött e-mail címet add meg.",
@@ -293,7 +269,6 @@
"To use it, just wait for autocomplete results to load and tab through them.": "A használatához csak várd meg az automatikus kiegészítéshez a találatok betöltését és TAB-bal választhatsz közülük.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Megpróbáltam betölteni a szoba megadott időpontjának megfelelő adatait, de nincs jogod a kérdéses üzenetek megjelenítéséhez.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Megpróbáltam betölteni a szoba megadott időpontjának megfelelő adatait, de nem találom.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s bekapcsolta a titkosítást ponttól pontig (algoritmus %(algorithm)s).",
"Unable to add email address": "Az e-mail címet nem sikerült hozzáadni",
"Unable to remove contact information": "A névjegy információkat nem sikerült törölni",
"Unable to verify email address.": "Az e-mail cím ellenőrzése sikertelen.",
@@ -301,17 +276,12 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s visszaengedte %(targetName)s felhasználót.",
"Unable to capture screen": "A képernyő felvétele sikertelen",
"Unable to enable Notifications": "Az értesítések engedélyezése sikertelen",
- "Unable to load device list": "Az eszközlista betöltése sikertelen",
- "Undecryptable": "Visszafejthetetlen",
"unencrypted": "titkosítatlan",
- "Unencrypted message": "Titkosítatlan üzenet",
"unknown caller": "ismeretlen hívó",
"unknown device": "ismeretlen eszköz",
"Unknown room %(roomId)s": "Ismeretlen szoba %(roomId)s",
- "Unknown (user, device) pair:": "Ismeretlen (felhasználó, eszköz) pár:",
"Unmute": "Némítás kikapcsolása",
"Unnamed Room": "Névtelen szoba",
- "Unrecognised command:": "Ismeretlen parancs:",
"Unrecognised room alias:": "Ismeretlen szoba becenév:",
"Uploading %(filename)s and %(count)s others|zero": "%(filename)s feltöltése",
"Uploading %(filename)s and %(count)s others|one": "%(filename)s és még %(count)s db másik feltöltése",
@@ -339,10 +309,8 @@
"(no answer)": "(nincs válasz)",
"(unknown failure: %(reason)s)": "(ismeretlen hiba: %(reason)s)",
"Warning!": "Figyelem!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "Figyelem: Az eszköz már ellenőrzött, de a kulcsok NEM EGYEZNEK!",
"Who can access this room?": "Ki éri el ezt a szobát?",
"Who can read history?": "Ki olvashatja a régi üzeneteket?",
- "Who would you like to communicate with?": "Kivel szeretnél beszélgetni?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s visszavonta %(targetName)s meghívóját.",
"You are already in a call.": "Már hívásban vagy.",
"You cannot place a call with yourself.": "Nem hívhatod fel saját magadat.",
@@ -355,29 +323,28 @@
"You need to be able to invite users to do that.": "Hogy ezt csinálhasd meg kell tudnod hívni felhasználókat.",
"You need to be logged in.": "Be kell jelentkezz.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ez az e-mail cím, úgy néz ki, nincs összekötve a Matrix azonosítóval ezen a Matrix szerveren.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "A jelszavadat sikeresen megváltoztattuk. Nem kapsz \"push\" értesítéseket amíg a többi eszközön vissza nem jelentkezel",
"You seem to be in a call, are you sure you want to quit?": "Úgy tűnik hívásban vagy, biztosan kilépsz?",
"You seem to be uploading files, are you sure you want to quit?": "Úgy tűnik fájlokat töltesz fel, biztosan kilépsz?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Nem leszel képes visszavonni ezt a változtatást mivel a felhasználót ugyanarra a szintre emeled amin te vagy.",
- "Sun": "Vas",
- "Mon": "Hé",
- "Tue": "K",
- "Wed": "Sze",
- "Thu": "Csüt",
- "Fri": "Pé",
- "Sat": "Szo",
- "Jan": "Jan",
- "Feb": "Feb",
- "Mar": "Már",
- "Apr": "Ápr",
- "May": "Máj",
- "Jun": "Jún",
- "Jul": "Júl",
- "Aug": "Aug",
- "Sep": "Szept",
- "Oct": "Okt",
- "Nov": "Nov",
- "Dec": "Dec",
+ "Sun": "vas",
+ "Mon": "hé",
+ "Tue": "k",
+ "Wed": "sze",
+ "Thu": "csü",
+ "Fri": "pé",
+ "Sat": "szo",
+ "Jan": "jan",
+ "Feb": "feb",
+ "Mar": "már",
+ "Apr": "ápr",
+ "May": "máj",
+ "Jun": "jún",
+ "Jul": "júl",
+ "Aug": "aug",
+ "Sep": "szept",
+ "Oct": "okt",
+ "Nov": "nov",
+ "Dec": "dec",
"%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
"%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s",
@@ -393,8 +360,6 @@
"(~%(count)s results)|one": "(~%(count)s db eredmény)",
"(~%(count)s results)|other": "(~%(count)s db eredmény)",
"Active call": "Folyamatban lévő hívás",
- "bold": "félkövér",
- "italic": "dőlt",
"Please select the destination room for this message": "Kérlek add meg az üzenet cél szobáját",
"New Password": "Új jelszó",
"Start automatically after system login": "Rendszerindításkor automatikus elindítás",
@@ -416,13 +381,8 @@
"Unknown error": "Ismeretlen hiba",
"Incorrect password": "Helytelen jelszó",
"To continue, please enter your password.": "A folytatáshoz, kérlek add meg a jelszavadat.",
- "Device name": "Eszköz neve",
- "Device key": "Eszköz kulcsa",
- "Verify device": "Eszköz ellenőrzése",
"I verify that the keys match": "Megerősítem, hogy a kulcsok egyeznek",
"Unable to restore session": "A kapcsolatot nem lehet visszaállítani",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" szobában olyan eszközök vannak amiket még nem láttál.",
- "Unknown devices": "Ismeretlen eszköz",
"Unknown Address": "Ismeretlen cím",
"Unblacklist": "Tiltólistáról kivesz",
"Blacklist": "Tiltólistára",
@@ -451,23 +411,18 @@
"Username available": "Szabad felhasználói név",
"Username not available": "A felhasználói név foglalt",
"Something went wrong!": "Valami tönkrement!",
- "If you already have a Matrix account you can log in instead.": "Ha már van Matrix fiókod akkor beléphetsz helyette.",
+ "If you already have a Matrix account you can log in instead.": "Ha már van Matrix fiókod, akkor beléphetsz helyette.",
"Your browser does not support the required cryptography extensions": "A böngésződ nem támogatja a szükséges titkosítási kiterjesztést",
"Not a valid Riot keyfile": "Nem érvényes Riot kulcsfájl",
"Authentication check failed: incorrect password?": "Azonosítás sikertelen: hibás jelszó?",
"Do you want to set an email address?": "Meg szeretnéd adni az e-mail címet?",
"This will allow you to reset your password and receive notifications.": "Ezzel alaphelyzetbe tudod állítani a jelszavad és értesítéseket fogadhatsz.",
"Deops user with given id": "A megadott azonosítójú felhasználó lefokozása",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "FIGYELEM: A KULCS ELLENŐRZÉS SIKERTELEN! A %(userId)s felhasználóhoz és %(deviceId)s eszközhöz tartozó \"%(fprint)s\" ujjlenyomat nem egyezik meg az ismert \"%(fingerprint)s\" ujjlenyomattal. Ez azt jelenti hogy a kapcsolatot lehallgathatják!",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Ezzel a folyamattal kimentheted a titkosított szobák üzeneteihez tartozó kulcsokat egy helyi fájlba. Ez után be tudod tölteni ezt a fájlt egy másik Matrix kliensbe, így az a kliens is vissza tudja fejteni az üzeneteket.",
"The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "A kimentett fájlal bárki el tudja olvasni a titkosított üzeneteket amiket te is, ezért tartsd biztonságban. Ehhez segítségül írj be egy jelmondatot amivel a kimentett adatok titkosításra kerülnek. Az adatok betöltése csak a jelmondat megadásával lehetséges később.",
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Ezzel a folyamattal lehetőséged van betölteni a titkosítási kulcsokat amiket egy másik Matrix kliensből mentettél ki. Ez után minden üzenetet vissza tudsz fejteni amit a másik kliens tudott.",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Biztos hogy eltávolítod (törlöd) ezt az eseményt? Figyelem, ha törlöd vagy megváltoztatod a szoba nevét vagy a témát ez a változtatás érvényét vesztheti.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Az eszköz megbízhatóságának ellenőrzéséhez, lépj kapcsolatba a tulajdonossal valami más csatornán (pl. személyesen vagy telefon hívással) és kérdezd meg, hogy a kulcs amit a Felhasználói Beállításoknál látnak az eszközhöz megegyezik-e a kulccsal itt:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Ha megegyezik, nyomd meg az megerősítő gombot alul. Ha nem akkor valaki más használja az eszközt és inkább a Feketelista gombot szeretnéd használni.",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Ha egy újabb Riot verziót használtál valószínűleg ez kapcsolat nem lesz kompatibilis vele. Zárd be az ablakot és térj vissza az újabb verzióhoz.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Jelenleg fekete listára teszel minden ismeretlen eszközt. Ha üzenetet szeretnél küldeni ezekre az eszközökre először ellenőrizned kell őket.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Azt javasoljuk, hogy menj végig ellenőrző folyamaton minden eszköznél, hogy meg megerősítsd minden eszköz a jogos tulajdonosához tartozik, de újraküldheted az üzenetet ellenőrzés nélkül, ha úgy szeretnéd.",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Ha nem állítasz be e-mail címet nem fogod tudni a jelszavadat alaphelyzetbe állítani. Biztos vagy benne?",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Azonosítás céljából egy harmadik félhez leszel irányítva (%(integrationsUrl)s). Folytatod?",
"This will be your account name on the homeserver, or you can pick a different server.": "Ez lesz a felhasználói neved a Matrix szerveren, vagy választhatsz egy másik szervert.",
@@ -475,8 +430,6 @@
"Start verification": "Ellenőrzés megkezdése",
"Share without verifying": "Megosztás ellenőrzés nélkül",
"Ignore request": "Kérés figyelmen kívül hagyása",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Hozzáadtál egy új eszközt '%(displayName)s', ami titkosítási kulcsokat kér.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Az ellenőrizetlen eszközöd '%(displayName)s' titkosítási kulcsokat kér.",
"Encryption key request": "Titkosítási kulcs kérés",
"Check for update": "Frissítések keresése",
"Add a widget": "Kisalkalmazás hozzáadása",
@@ -491,13 +444,11 @@
"Unable to create widget.": "Nem lehet kisalkalmazást létrehozni.",
"You are not in this room.": "Nem vagy ebben a szobában.",
"You do not have permission to do that in this room.": "Nincs jogod ezt tenni ebben a szobában.",
- "Verifies a user, device, and pubkey tuple": "A felhasználó, eszköz és publikus kulcs hármas ellenőrzése",
- "Loading device info...": "Eszköz információk betöltése...",
"Example": "Példa",
"Create": "Létrehoz",
"Featured Rooms:": "Kiemelt szobák:",
"Featured Users:": "Kiemelt felhasználók:",
- "Automatically replace plain text Emoji": "Egyszerű szöveg automatikus cseréje Emoji-ra",
+ "Automatically replace plain text Emoji": "Egyszerű szöveg automatikus cseréje Emodzsira",
"Failed to upload image": "Kép feltöltése sikertelen",
"Cannot add any more widgets": "Nem lehet több kisalkalmazást hozzáadni",
"Publish this room to the public in %(domain)s's room directory?": "Publikálod a szobát a(z) %(domain)s szoba listájába?",
@@ -702,8 +653,6 @@
"Idle for %(duration)s": "%(duration)s óta tétlen",
"Offline for %(duration)s": "%(duration)s óta elérhetetlen",
"Unknown for %(duration)s": "%(duration)s óta az állapota ismeretlen",
- "Delete %(count)s devices|other": "%(count)s darab eszköz törlése",
- "Delete %(count)s devices|one": "Eszköz törlése",
"Flair": "Jelvény",
"Showing flair for these communities:": "Ezekben a közösségekben mutassa a jelvényt:",
"This room is not showing flair for any communities": "Ez a szoba nem mutat jelvényt egyetlen közösséghez sem",
@@ -713,12 +662,11 @@
"collapse": "becsuk",
"expand": "kinyit",
"Call Failed": "Sikertelen hívás",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Ismeretlen eszközök vannak ebben a szobában: ha ellenőrzés nélkül folytatod lehetséges, hogy valaki belehallgat a hívásba.",
"Review Devices": "Eszközök áttekintése",
- "Call Anyway": "Mindenképpen hívj",
- "Answer Anyway": "Mindenképpen felvesz",
+ "Call Anyway": "Hívás mindenképpen",
+ "Answer Anyway": "Felvétel mindenképpen",
"Call": "Hívás",
- "Answer": "Felvesz",
+ "Answer": "Felvétel",
"Send": "Elküld",
"Old cryptography data detected": "Régi titkosítási adatot találhatók",
"Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Régebbi Riot verzióból származó adatok találhatók. Ezek hibás működéshez vezethettek a végponttól-végpontig titkosításban régebbi verzióknál. A nemrég küldött/fogadott titkosított üzenetek ha a régi adatokat használták lehetséges hogy nem lesznek visszafejthetők ebben a verzióban. Ha problémákba ütközöl jelentkezz ki és vissza. A régi üzenetek elérésének biztosításához mentsd ki a kulcsokat és töltsd be újra.",
@@ -746,7 +694,6 @@
"Your identity server's URL": "Az azonosítási szerver URL-t",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(fullYear)s. %(monthName)s %(day)s, %(weekDayName)s",
"This room is not public. You will not be able to rejoin without an invite.": "Ez a szoba nem nyilvános. Kilépés után csak újabb meghívóval tudsz újra belépni a szobába.",
- "Show devices, send anyway or cancel.": "Eszközök listája, mindenképpen küld vagy szakítsd meg.",
"Community IDs cannot be empty.": "A közösségi azonosító nem lehet üres.",
"In reply to": "Válasz neki",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s megváltoztatta a nevét erre: %(displayName)s.",
@@ -756,11 +703,7 @@
"Clear filter": "Szűrő törlése",
"Did you know: you can use communities to filter your Riot.im experience!": "Tudtad, hogy a Riot.im élmény fokozásához használhatsz közösségeket!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "A szűrő beállításához húzd a közösség avatarját a szűrő panel fölé a képernyő bal szélén. A szűrő panelen az avatarra kattintva bármikor leszűrheted azokat a szobákat és embereket akik a megadott közösséghez tartoznak.",
- "Your key share request has been sent - please check your other devices for key share requests.": "A kulcs megosztási kérést elküldtük - ellenőrizd a többi eszközödön a kulcs megosztási kéréseket.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "A kulcs megosztási kérelem automatikusan el lett küldve a többi eszközödre. Ha elutasítottad vagy törölted a kérést a másik eszközön ide kattintva újra kérheted a kulcsokat.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Ha a másik eszközödön nincs meg a kulcs az üzenet visszafejtéséhez akkor nem tudod visszafejteni.",
"Key request sent.": "Kulcs kérés elküldve.",
- "Re-request encryption keys from your other devices.": "Kulcsok újrakérése a többi eszközödtől.",
"Code": "Kód",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Ha a GitHubon keresztül küldted be a hibát, a hibakeresési napló segíthet nekünk a javításban. A napló felhasználási adatokat tartalmaz mint a felhasználói neved, az általad meglátogatott szobák vagy csoportok azonosítóját vagy alternatív nevét és mások felhasználói nevét. De nem tartalmazzák az üzeneteket.",
"Submit debug logs": "Hibakeresési napló küldése",
@@ -823,7 +766,6 @@
"Noisy": "Hangos",
"Collecting app version information": "Alkalmazás verzió információk összegyűjtése",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Törlöd a szoba nevét (%(alias)s) és eltávolítod a listából ezt: %(name)s?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Így kijelentkezés után is vissza tudsz lépni a fiókodba, illetve más készülékekről is be tudsz lépni.",
"Keywords": "Kulcsszavak",
"Enable notifications for this account": "Értesítések engedélyezése ehhez a fiókhoz",
"Invite to this community": "Meghívás ebbe a közösségbe",
@@ -918,8 +860,6 @@
"Refresh": "Frissítés",
"We encountered an error trying to restore your previous session.": "Hibába ütköztünk megpróbáljuk visszaállítani az előző munkamenetet.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "A böngésződ tárhelyének a törlése megoldhatja a problémát, de ezzel kijelentkezel és a titkosított beszélgetések előzményei olvashatatlanná válnak.",
- "Unable to reply": "Nem lehet válaszolni",
- "At this time it is not possible to reply with an emote.": "Jelenleg nem lehet emodzsival válaszolni.",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Nem lehet betölteni azt az eseményt amire válaszoltál, mert vagy nem létezik, vagy nincs jogod megnézni.",
"Collapse Reply Thread": "Beszélgetés szál becsukása",
"Enable widget screenshots on supported widgets": "Ahol az a kisalkalmazásban támogatott ott képernyőkép készítés engedélyezése",
@@ -929,7 +869,7 @@
"To continue using the %(homeserverDomain)s homeserver you must review and agree to our terms and conditions.": "A %(homeserverDomain)s szerver használatának folytatásához el kell olvasnod és el kell fogadnod az általános szerződési feltételeket.",
"Review terms and conditions": "Általános Szerződési Feltételek elolvasása",
"To continue, please enter your password:": "Folytatáshoz add meg a jelszavad:",
- "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Ez végleg használhatatlanná teszi a fiókodat. Ezután nem fogsz tudni bejelentkezni, és más sem tud majd ezzel az azonosítóval fiókot létrehozni. Minden szobából amibe beléptél ki fogsz lépni, és törölni fogja minden fiók adatod az \"identity\" szerverről. Ez a művelet visszafordíthatatlan.",
+ "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Ez végleg használhatatlanná teszi a fiókodat. Ezután nem fogsz tudni bejelentkezni, és más sem tud majd ezzel az azonosítóval fiókot létrehozni. Minden szobából amibe beléptél ki fogsz lépni, és törölni fogja minden fiók adatod az személyazonosságod biztosító szerverről. Ez a művelet visszafordíthatatlan.",
"Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "A fiókod felfüggesztése nem jelenti alapértelmezetten azt, hogy az általad küldött üzenetek elfelejtődnek. Ha törölni szeretnéd az általad küldött üzeneteket, pipáld be a jelölőnégyzetet alul.",
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Az üzenetek láthatósága a Matrix-ban hasonlít az emailhez. Az általad küldött üzenet törlése azt jelenti, hogy nem osztjuk meg új-, vagy vendég felhasználóval de a már regisztrált felhasználók akik már hozzáfértek az üzenethez továbbra is elérik a saját másolatukat.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Kérlek töröld az összes általam küldött üzenetet amikor a fiókomat felfüggesztem (Figyelem: ez azt eredményezheti, hogy a jövőbeni felhasználók csak részleges beszélgetést látnak majd)",
@@ -962,12 +902,6 @@
"Demote yourself?": "Lefokozod magad?",
"Demote": "Lefokozás",
"This event could not be displayed": "Az eseményt nem lehet megjeleníteni",
- "deleted": "törölt",
- "underlined": "aláhúzott",
- "inline-code": "kód",
- "block-quote": "idézet",
- "bulleted-list": "rendezetlen lista",
- "numbered-list": "rendezett lista",
"Permission Required": "Engedély szükséges",
"You do not have permission to start a conference call in this room": "Nincs jogosultságod konferencia hívást kezdeményezni ebben a szobában",
"A call is currently being placed!": "A hívás indítás alatt!",
@@ -981,7 +915,7 @@
"Please contact your service administrator to get this limit increased.": "A korlát emelése érdekében kérlek vedd fel a kapcsolatot a szolgáltatás adminisztrátorával.",
"This homeserver has hit its Monthly Active User limit so some users will not be able to log in.": "Ez a Matrix szerver elérte a havi aktív felhasználói korlátját néhány felhasználó nem fog tudni bejelentkezni.",
"This homeserver has exceeded one of its resource limits so some users will not be able to log in.": "Ez a Matrix szerver túllépte valamelyik erőforrás korlátját így néhány felhasználó nem tud majd bejelentkezni.",
- "Upgrade Room Version": "Szoba verziójának frissítése",
+ "Upgrade Room Version": "Szoba verziójának fejlesztése",
"Create a new room with the same name, description and avatar": "Készíts egy új szobát ugyanazzal a névvel, leírással és profilképpel",
"Update any local room aliases to point to the new room": "Állíts át minden helyi alternatív nevet erre a szobára",
"Stop users from speaking in the old version of the room, and post a message advising users to move to the new room": "A felhasználóknak tiltsd meg, hogy a régi szobában beszélgessenek. Küldj egy üzenetet amiben megkéred a felhasználókat, hogy menjenek át az új szobába",
@@ -996,9 +930,9 @@
"The conversation continues here.": "A beszélgetés itt folytatódik.",
"This room is a continuation of another conversation.": "Ebben a szobában folytatódik egy másik beszélgetés.",
"Click here to see older messages.": "Ide kattintva megnézheted a régi üzeneteket.",
- "Failed to upgrade room": "A szoba frissítése sikertelen",
- "The room upgrade could not be completed": "A szoba frissítését nem sikerült befejezni",
- "Upgrade this room to version %(version)s": "A szoba frissítése %(version)s verzióra",
+ "Failed to upgrade room": "A szoba fejlesztése sikertelen",
+ "The room upgrade could not be completed": "A szoba fejlesztését nem sikerült befejezni",
+ "Upgrade this room to version %(version)s": "A szoba fejlesztése %(version)s verzióra",
"Forces the current outbound group session in an encrypted room to be discarded": "A jelenlegi csoport munkamenet törlését kikényszeríti a titkosított szobában",
"Registration Required": "Regisztrációt igényel",
"You need to register to do this. Would you like to register now?": "Hogy ezt megtedd regisztrálnod kell. Szeretnél regisztrálni?",
@@ -1031,11 +965,6 @@
"Unable to load! Check your network connectivity and try again.": "A betöltés sikertelen! Ellenőrizd a hálózati kapcsolatot és próbáld újra.",
"Delete Backup": "Mentés törlése",
"Unable to load key backup status": "A mentett kulcsok állapotát nem lehet lekérdezni",
- "Backup has a valid signature from this device": "A mentés érvényes aláírást tartalmaz az eszközről",
- "Backup has a valid signature from unverified device ": "A mentés érvényes aláírást tartalmaz erről az ellenőrizetlen eszközről: ",
- "Backup has an invalid signature from verified device ": "A mentés érvénytelen aláírást tartalmaz erről az ellenőrzött eszközről: ",
- "Backup has an invalid signature from unverified device ": "A mentés érvénytelen aláírást tartalmaz erről az ellenőrizetlen eszközről: ",
- "Backup is not signed by any of your devices": "A mentés nincs aláírva egyetlen eszközöd által sem",
"Backup version: ": "Mentés verzió: ",
"Algorithm: ": "Algoritmus: ",
"Enter a passphrase...": "Add meg a jelmondatot...",
@@ -1048,12 +977,9 @@
"Your Recovery Key": "A Helyreállítási kulcsod",
"Copy to clipboard": "Másolás a vágólapra",
"Download": "Letölt",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "A Helyreállítási kulcsod a vágólapra lett másolva, beillesztés ide:",
- "Your Recovery Key is in your Downloads folder.": "A Helyreállítási kulcs a Letöltések mappádban van.",
"Print it and store it somewhere safe": "Nyomtad ki és tárold biztonságos helyen",
"Save it on a USB key or backup drive": "Mentsd el egy Pendrive-ra vagy a biztonsági mentésekhez",
"Copy it to your personal cloud storage": "Másold fel a személyes felhődbe",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "A Biztonságos Üzenet Visszaállítás beállítása nélkül ha kijelentkezel vagy másik eszközt használsz, akkor nem tudod visszaállítani a régi titkosított üzeneteidet.",
"Set up Secure Message Recovery": "Biztonságos Üzenet Visszaállítás beállítása",
"Keep it safe": "Tartsd biztonságban",
"Create Key Backup": "Kulcs mentés készítése",
@@ -1072,7 +998,6 @@
"This looks like a valid recovery key!": "Ez érvényes helyreállítási kulcsnak tűnik!",
"Not a valid recovery key": "Nem helyreállítási kulcs",
"Access your secure message history and set up secure messaging by entering your recovery key.": "A helyreállítási kulcs megadásával hozzáférhetsz a régi biztonságos üzeneteidhez és beállíthatod a biztonságos üzenetküldést.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Ha elfelejtetted a helyreállítási jelmondatot beállíthatsz új helyreállítási paramétereket",
"Failed to perform homeserver discovery": "A Matrix szerver felderítése sikertelen",
"Invalid homeserver discovery response": "A Matrix szerver felderítésére kapott válasz érvénytelen",
"Use a few words, avoid common phrases": "Néhány szót használj és kerüld el a szokásos szövegeket",
@@ -1120,7 +1045,6 @@
"Checking...": "Ellenőrzés...",
"Invalid identity server discovery response": "Azonosító szerver felderítésére érkezett válasz érvénytelen",
"General failure": "Általános hiba",
- "Backup has a valid signature from verified device ": "A mentésnek ellenőrzött eszköztől származó érvényes aláírása van",
"New Recovery Method": "Új Visszaállítási Eljárás",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ha nem te állítottad be a visszaállítási eljárást akkor lehet, hogy egy támadó próbálja elérni a fiókodat. Változtasd meg a fiókod jelszavát és állítsd be az új visszaállítási eljárást a Beállításokban amint lehet.",
"Set up Secure Messages": "Biztonságos Üzenetek beállítása",
@@ -1140,23 +1064,23 @@
"Invite anyway and never warn me again": "Mindenképpen meghív és ne figyelmeztess többet",
"Invite anyway": "Mindenképpen meghív",
"Whether or not you're logged in (we don't record your username)": "Se akkor ha bejelentkezel se akkor ha nem; mi nem tároljuk a felhasználói nevedet",
- "Upgrades a room to a new version": "Szoba frissítése új verzióra",
+ "Upgrades a room to a new version": "Szoba fejlesztése új verzióra",
"Sets the room name": "Szobanév beállítása",
- "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s frissítette a szobát.",
+ "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s fejlesztette a szobát.",
"%(displayName)s is typing …": "%(displayName)s gépel …",
"%(names)s and %(count)s others are typing …|other": "%(names)s és %(count)s másik gépelnek …",
"%(names)s and %(count)s others are typing …|one": "%(names)s és még valaki gépelnek …",
"%(names)s and %(lastPerson)s are typing …": "%(names)s és %(lastPerson)s gépelnek …",
"Render simple counters in room header": "Egyszerű számlálók a szoba fejlécében",
- "Enable Emoji suggestions while typing": "Emojik felajánlása gépelés közben",
+ "Enable Emoji suggestions while typing": "Emodzsik felajánlása gépelés közben",
"Show a placeholder for removed messages": "Helykitöltő mutatása a törölt szövegek helyett",
"Show join/leave messages (invites/kicks/bans unaffected)": "Mutasd a be-, kilépéseket (meghívók/kirúgások/kitiltások üzeneteit nem érinti)",
"Show avatar changes": "Profilkép változás mutatása",
"Show display name changes": "Megjelenítési név változás mutatása",
"Show avatars in user and room mentions": "Profilkép mutatása a felhasználó és szoba említéseknél",
- "Enable big emoji in chat": "Nagy Emojik engedélyezése a csevegésekben",
+ "Enable big emoji in chat": "Nagy Emodzsik engedélyezése a csevegésekben",
"Send typing notifications": "Gépelés visszajelzés küldése",
- "Enable Community Filter Panel": "Közösségi szűrő panel engedélyezése",
+ "Enable Community Filter Panel": "Közösségi szűrő panel bekapcsolása",
"Messages containing my username": "Üzenetek amik a nevemet tartalmazzák",
"The other party cancelled the verification.": "A másik fél törölte az ellenőrzést.",
"Verified!": "Ellenőrizve!",
@@ -1170,13 +1094,11 @@
"Email Address": "E-mail cím",
"Backing up %(sessionsRemaining)s keys...": "Kulcsok biztonsági mentése... (%(sessionsRemaining)s)",
"All keys backed up": "Minden kulcs elmentve",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "A biztonsági mentésnek ismeretlen (azonosító: %(deviceId)s) eszköztől van aláírása.",
"Add an email address to configure email notifications": "E-mail értesítésekhez e-mail cím hozzáadása",
"Unable to verify phone number.": "A telefonszámot nem sikerült ellenőrizni.",
"Verification code": "Ellenőrző kód",
"Phone Number": "Telefonszám",
"Profile picture": "Profilkép",
- "Upload profile picture": "Profilkép feltöltése",
"Display Name": "Megjelenítési név",
"Room information": "Szoba információk",
"Internal room ID:": "Belső szoba azonosító:",
@@ -1218,19 +1140,15 @@
"Voice & Video": "Hang & Videó",
"Main address": "Fő cím",
"Room avatar": "Szoba képe",
- "Upload room avatar": "Szoba kép feltöltése",
- "No room avatar": "A szobának nincs képe",
"Room Name": "Szoba neve",
"Room Topic": "Szoba témája",
"Join": "Belép",
"Use Legacy Verification (for older clients)": "Hagyományos hitelesítés használata (régi kliensekhez)",
"Verify by comparing a short text string.": "Rövid szöveggel való hitelesítés.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "A maximális biztonság érdekében ezt tedd meg személyesen vagy egy másik biztonságos csatornán.",
"Begin Verifying": "Hitelesítés megkezdése",
"Waiting for partner to accept...": "Várjuk, hogy a partner elfogadja...",
"Use two-way text verification": "Kétirányú hitelesítés",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Ellenőrizd ezt a felhasználót, hogy megbízhatónak tekinthessük. Megbízható felhasználók további nyugalmat jelenthetnek ha végpontól végpontig titkosítást használsz.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "A felhasználó hitelesítése a eszközeit megbízhatónak fogja jelölni és az eszközeidet hitelesnek fogja minősíteni nála.",
"Waiting for partner to confirm...": "Várakozás a partner megerősítésére...",
"Incoming Verification Request": "Bejövő Hitelesítési Kérés",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "A duplikált jegyek elkerülése végett kérünk nézd meg a létező jegyeket először (és adj neki +1-et) vagy készíts egy új jegyet ha nem találsz hasonlót.",
@@ -1265,11 +1183,8 @@
"Create account": "Fiók létrehozása",
"Keep going...": "Így tovább...",
"Starting backup...": "Mentés indul...",
- "A new recovery passphrase and key for Secure Messages have been detected.": "A Biztonságos Üzenetekhez új visszaállítási jelmondatot és kulcsot észleltünk.",
- "This device is encrypting history using the new recovery method.": "Az eszköz az új visszaállítási eljárással titkosítja az üzenet naplót.",
+ "A new recovery passphrase and key for Secure Messages have been detected.": "A Biztonságos üzenetekhez új visszaállítási jelmondatot és kulcsot észleltünk.",
"Recovery Method Removed": "Visszaállítási eljárás törölve",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Ez az eszköz észrevette, hogy a visszaállítási jelmondatot és kulcsot a Biztonságos Üzenetekhez törölték.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Ha véletlenül tetted, a Biztonságos Üzeneteket beállíthatod ezen az eszközön ami újra titkosítja az eszköz üzenet naplóját az új visszaállítási eljárással.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ha nem te törölted a visszaállítási eljárást, akkor egy támadó hozzá akar férni a fiókodhoz. Azonnal változtasd meg a jelszavadat és állíts be egy visszaállítási eljárást a Beállításokban.",
"Chat with Riot Bot": "Csevegés a Riot Robottal",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "'%(fileName)s' mérete nagyobb mint amekkorát a Matrix szerver megenged feltölteni",
@@ -1282,7 +1197,7 @@
"%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s megtiltotta a vendég felhasználóknak, hogy belépjenek a szobába.",
"%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s a vendég felhasználók belépési jogait erre állította át: %(rule)s",
"Group & filter rooms by custom tags (refresh to apply changes)": "Szobák csoportosítása és szűrése egyedi címkékkel (frissíts, hogy a változások érvényre jussanak)",
- "Verify this user by confirming the following emoji appear on their screen.": "Hitelesítheted a felhasználót, ha megerősíted, hogy az alábbi emoji az ami megjelent a képernyőjén.",
+ "Verify this user by confirming the following emoji appear on their screen.": "Hitelesítheted a felhasználót, ha megerősíted, hogy az alábbi emodzsi az ami megjelent a képernyőjén.",
"Unable to find a supported verification method.": "Nem található támogatott hitelesítési eljárás.",
"Dog": "Kutya",
"Cat": "Macska",
@@ -1329,7 +1244,6 @@
"Book": "Könyv",
"Pencil": "Toll",
"Paperclip": "Gémkapocs",
- "Padlock": "Lakat",
"Key": "Kulcs",
"Hammer": "Kalapács",
"Telephone": "Telefon",
@@ -1347,12 +1261,6 @@
"Headphones": "Fejhallgató",
"Folder": "Dosszié",
"Pin": "Gombostű",
- "Your homeserver does not support device management.": "A Matrix szervered nem támogatja a eszközkezelést.",
- "This backup is trusted because it has been restored on this device": "Ez a mentés megbízható mert ezen az eszközön lett visszaállítva",
- "Some devices for this user are not trusted": "A felhasználó néhány eszköze nem megbízható",
- "Some devices in this encrypted room are not trusted": "Néhány eszköz nem megbízható ebben a titkosított szobában",
- "All devices for this user are trusted": "A felhasználó minden eszköze megbízható",
- "All devices in this encrypted room are trusted": "A szobában minden eszköz megbízható",
"Recovery Key Mismatch": "Visszaállítási Kulcs eltérés",
"Incorrect Recovery Passphrase": "Visszaállítási jelmondat hiba",
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "A mentést nem lehet visszafejteni a jelmondattal: kérlek ellenőrizd, hogy helyesen adtad meg a visszaállítási jelmondatot.",
@@ -1362,16 +1270,13 @@
"This homeserver does not support communities": "Ez a Matrix szerver nem támogatja a közösségeket",
"A verification email will be sent to your inbox to confirm setting your new password.": "Egy ellenőrző e-mail lesz elküldve a címedre, hogy megerősíthesd az új jelszó beállításodat.",
"Your password has been reset.": "A jelszavad újra beállításra került.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Minden eszközödről ki vagy jelentkeztetve és „push” értesítéseket sem fogsz kapni. Az értesítések újbóli engedélyezéséhez újra be kell jelentkezned minden eszközön.",
"This homeserver does not support login using email address.": "Ezen a Matrix szerveren nem tudsz e-mail címmel bejelentkezni.",
"Registration has been disabled on this homeserver.": "A fiókkészítés le van tiltva ezen a Matrix szerveren.",
"Unable to query for supported registration methods.": "A támogatott regisztrációs módokat nem lehet lekérdezni.",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Biztos vagy benne? Ha a kulcsaid nincsenek megfelelően elmentve elveszted a titkosított üzeneteidet.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "A titkosított üzenetek végponttól végpontig titkosítással védettek. Csak neked és a címzetteknek lehet meg a kulcs az üzenet visszafejtéséhez.",
"Restore from Backup": "Visszaállítás mentésből",
- "This device is backing up your keys. ": "Ez az eszköz elmenti a kulcsaidat. ",
"Back up your keys before signing out to avoid losing them.": "Ments el a kulcsaidat mielőtt kijelentkezel, hogy ne veszítsd el őket.",
- "Your keys are not being backed up from this device.": "A kulcsaid erről az eszközről nem lesznek mentve.",
"Start using Key Backup": "Kulcs mentés használatának megkezdése",
"Never lose encrypted messages": "Soha ne veszíts el titkosított üzenetet",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "A szobában az üzenetek végponttól végpontig titkosítva vannak. Csak neked és a címzetteknek vannak meg a kulcsok az üzenetek visszafejtéséhez.",
@@ -1390,7 +1295,6 @@
"Set up with a Recovery Key": "Beállítás Visszaállítási Kulccsal",
"Please enter your passphrase a second time to confirm.": "Kérlek add meg a jelmondatot másodszor is a biztonság kedvéért.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "A Visszaállítási Kulcs egy olyan biztonsági elem amivel visszaállíthatod a hozzáférésed a titkosított üzenetekhez még akkor is, ha a jelmondatot elfelejtetted.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "A Visszaállítási Kulcsot nagyon biztonságos helyen tárold, mint pl. egy jelszókezelőben (vagy széfben)",
"Your keys are being backed up (the first backup could take a few minutes).": "A kulcsaid mentése folyamatban van (az első mentés több percig is eltarthat).",
"Secure your backup with a passphrase": "Védd a mentést egy jelmondattal",
"Confirm your passphrase": "Erősítsd meg a jelmondatot",
@@ -1448,21 +1352,14 @@
"Power level": "Hozzáférési szint",
"Want more than a community? Get your own server": "Többet szeretnél, mint egy közösség? Szerezz saját szervert",
"Please install Chrome, Firefox, or Safari for the best experience.": "Kérlek telepíts Chromeot, Firefoxot vagy Safarit a jegjobb élményhez.",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "A jelszóváltoztatás megváltoztatja minden eszközön az összes végponttól végpontig titkosításhoz használt kulcsodat; így a titkosított csevegések olvashatatlanok lesznek. Készíts biztonsági másolatot vagy mentsd ki a szoba kulcsaidat minden eszközödön mielőtt megváltoztatod a jelszavad.",
- "Room upgrade confirmation": "Szoba frissítés megerősítése",
- "Upgrading a room can be destructive and isn't always necessary.": "A szoba frissítése lehet, hogy elront benne dolgokat és nem is feltétlen szükséges.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Szoba frissítése akkor ajánlott ha a szoba verziója instabilnak tekintendő. Az instabil verziójú szobák hibákat tartalmazhatnak, funkciók hiányozhatnak belőlük vagy biztonsági hibák lehetnek bennük.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "A szoba frissítések általában csak szerver oldali feldolgozásban térnek el. Ha a Riot klienssel hibát észlelsz, jelezd azt egy hibajegyben: .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Figyelmeztetés: A szoba frissítése nem fogja automatikusan átvinni a szoba résztvevőit az új verziójú szobába. A régi szobába bekerül egy link az új szobához - a tagoknak rá kell kattintani a linkre az új szobába való belépéshez.",
"Adds a custom widget by URL to the room": "Egyedi kisalkalmazás hozzáadása a szobához URL-lel",
"Please supply a https:// or http:// widget URL": "Kérlek add meg a https:// vagy http:// kisalkalmazás URL-t",
"You cannot modify widgets in this room.": "A kisalkalmazásokat nem módosíthatod a szobában.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s visszavonta %(targetDisplayName)s a szobába való belépéséhez szükséges meghívóját.",
- "Enable desktop notifications for this device": "Asztali értesítések engedélyezése ehhez az eszközhöz",
- "Enable audible notifications for this device": "Hallható értesítések engedélyezése ehhez az eszközhöz",
- "Upgrade this room to the recommended room version": "A szoba frissítése a javasolt verzióra",
+ "Upgrade this room to the recommended room version": "A szoba fejlesztése a javasolt verzióra",
"This room is running room version , which this homeserver has marked as unstable.": "A szoba verziója: , amit a Matrix szerver instabilnak tekint.",
- "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "A szoba frissítése bezárja ezt a szobát és új, frissített verzióval ugyanezen a néven létrehoz egy újat.",
+ "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "A szoba fejlesztése bezárja ezt a szobát és új, frissített verzióval ugyanezen a néven létrehoz egy újat.",
"Failed to revoke invite": "A meghívó visszavonása sikertelen",
"Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "A meghívót nem lehet visszavonni. Vagy a szervernek átmenetileg problémái vannak vagy nincs megfelelő jogosultságod a meghívó visszavonásához.",
"Revoke invite": "Meghívó visszavonása",
@@ -1477,7 +1374,7 @@
"The homeserver may be unavailable or overloaded.": "A Matrix szerver elérhetetlen vagy túlterhelt.",
"You have %(count)s unread notifications in a prior version of this room.|other": "%(count)s olvasatlan értesítésed van a régi verziójú szobában.",
"You have %(count)s unread notifications in a prior version of this room.|one": "%(count)s olvasatlan értesítésed van a régi verziójú szobában.",
- "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Használsz vagy nem „morzsákat” (profilképek a szobalista felett)",
+ "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Használsz-e „morzsákat” (profilképek a szobalista felett)",
"Replying With Files": "Válasz fájlokkal",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Egyenlőre nem lehet fájlal válaszolni. Szeretnéd feltölteni a fájlt úgy, hogy az nem egy válasz lesz?",
"The file '%(fileName)s' failed to upload.": "A %(fileName)s fájlt nem sikerült feltölteni.",
@@ -1502,16 +1399,11 @@
"Cancel All": "Mindent megszakít",
"Upload Error": "Feltöltési hiba",
"The server does not support the room version specified.": "A szerver nem támogatja a megadott szoba verziót.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Kérlek erősítsd meg, hogy a szobát frissíted a verzióról verzióra.",
"Changes your avatar in this current room only": "A profilképedet csak ebben a szobában változtatja meg",
"Sends the given message coloured as a rainbow": "A megadott üzenetet szivárvány színben küldi el",
"Sends the given emote coloured as a rainbow": "A megadott hangulatjelet szivárvány színben küldi el",
"The user's homeserver does not support the version of the room.": "A felhasználó matrix szervere nem támogatja a megadott szoba verziót.",
- "When rooms are upgraded": "Ha a szobák frissültek",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Ez az eszköz nem menti el a kulcsaidat, de létezik mentés amit visszaállíthatsz és folytathatod.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Csatlakozz ezzel az eszközzel a kulcs mentéshez kilépés előtt, hogy ne veszíts el kulcsot ami esetleg csak ezen az eszközön van meg.",
- "Connect this device to Key Backup": "Csatlakozz ezzel az eszközzel a Kulcs Mentéshez",
- "Backup has an invalid signature from this device": "A mentés érvénytelen aláírással rendelkezik erről az eszközről",
+ "When rooms are upgraded": "Ha a szobák fejlesztésre kerülnek",
"this room": "ez a szoba",
"View older messages in %(roomName)s.": "Régebbi üzenetek megjelenítése itt: %(roomName)s.",
"Joining room …": "Szobához csatlakozás …",
@@ -1538,7 +1430,7 @@
"This room doesn't exist. Are you sure you're at the right place?": "Ez a szoba nem létezik. Biztos, hogy jó helyen vagy?",
"Try again later, or ask a room admin to check if you have access.": "Próbálkozz később vagy kérd meg a szoba adminisztrátorát, hogy nézze meg van-e hozzáférésed.",
"%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "Amikor a szobát próbáltuk elérni ezt a hibaüzenetet kaptuk: %(errcode)s. Ha úgy gondolod, hogy ez egy hiba légy szívesnyiss egy hibajegyet.",
- "This room has already been upgraded.": "Ez a szoba már frissült.",
+ "This room has already been upgraded.": "Ez a szoba már fejlesztve van.",
"Rotate Left": "Balra forgat",
"Rotate Right": "Jobbra forgat",
"View Servers in Room": "Szerverek megjelenítése a szobában",
@@ -1561,7 +1453,6 @@
"Identity server URL does not appear to be a valid identity server": "Az Azonosító szerver URL nem tűnik érvényesnek",
"A conference call could not be started because the integrations server is not available": "A konferencia hívást nem lehet elkezdeni mert az integrációs szerver nem érhető el",
"Name or Matrix ID": "Név vagy Matrix azon.",
- "Email, name or Matrix ID": "E-mail, név vagy Matrix azon.",
"Unbans user with given ID": "Visszaengedi a megadott azonosítójú felhasználót",
"reacted with %(shortName)s": "ezzel reagált: %(shortName)s",
"edited": "szerkesztve",
@@ -1611,8 +1502,6 @@
"%(oneUser)smade no changes %(count)s times|one": "%(oneUser)snem változtatott semmit",
"Changes your avatar in all rooms": "A profilképed megváltozik minden szobában",
"Removing…": "Eltávolítás…",
- "Clear all data on this device?": "Az eszközön minden adat törlése?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Minden adat végleges törlése az eszközről. A titkosított üzenetek elvesznek hacsak a kulcsok nincsenek elmentve.",
"Clear all data": "Minden adat törlése",
"Your homeserver doesn't seem to support this feature.": "A matrix szervered úgy tűnik nem támogatja ezt a szolgáltatást.",
"Resend edit": "Szerkesztés újraküldése",
@@ -1620,14 +1509,12 @@
"Resend removal": "Törlés újraküldése",
"Failed to re-authenticate due to a homeserver problem": "Az újra bejelentkezés a matrix szerver hibájából meghiusúlt",
"Failed to re-authenticate": "Újra bejelentkezés sikertelen",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Szerezd vissza a fiókodat és állítsd vissza a titkosítási kulcsokat amiket ezen az eszközön tároltál. Nélkülük nem tudod elolvasni a titkosított üzeneteidet semmilyen eszközön.",
"Enter your password to sign in and regain access to your account.": "Add meg a jelszavadat a belépéshez, hogy visszaszerezd a hozzáférésed a fiókodhoz.",
"Forgotten your password?": "Elfelejtetted a jelszavad?",
"Sign in and regain access to your account.": "Jelentkezz be és szerezd vissza a hozzáférésed a fiókodhoz.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "A fiókodba nem tudsz bejelentkezni. További információkért kérlek vedd fel a kapcsolatot a matrix szerver adminisztrátorával.",
"You're signed out": "Kijelentkeztél",
"Clear personal data": "Személyes adatok törlése",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Figyelmeztetés: A személyes adataid (beleértve a titkosító kulcsokat is) továbbra is az eszközön vannak tárolva. Ha az eszközt nem használod tovább vagy másik fiókba szeretnél bejelentkezni, töröld őket.",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Kérlek mond el nekünk mi az ami nem működött, vagy még jobb, ha egy GitHub jegyben leírod a problémát.",
"Identity Server": "Azonosítási szerver",
"Find others by phone or email": "Keress meg másokat telefonszám vagy e-mail cím alapján",
@@ -1640,7 +1527,6 @@
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Kérd meg a matrix szerver (%(homeserverDomain)s) adminisztrátorát, hogy a hívások megfelelő működéséhez állítson be egy TURN szervert.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Másik lehetőségként használhatod a nyilvános szervert: turn.matrix.org, de ez nem lesz annyira megbízható és megosztja az IP címedet a szerverrel. A Beállításokban állíthatod be.",
"Try using turn.matrix.org": "Próbáld meg használni a turn.matrix.org-ot",
- "Failed to start chat": "A beszélgetést nem lehet elkezdeni",
"Messages": "Üzenetek",
"Actions": "Műveletek",
"Displays list of commands with usages and descriptions": "Parancsok megjelenítése példával és leírással",
@@ -1668,7 +1554,6 @@
"Discovery": "Felkutatás",
"Deactivate account": "Fiók zárolása",
"Always show the window menu bar": "Az ablak menüsávjának folyamatos mutatása",
- "A device's public name is visible to people you communicate with": "Az eszközöd nyilvános neve látható azoknál az embereknél akikkel beszélgetsz",
"Unable to revoke sharing for email address": "Az e-mail cím megosztását nem sikerült visszavonni",
"Unable to share email address": "Az e-mail címet nem sikerült megosztani",
"Revoke": "Visszavon",
@@ -1681,7 +1566,6 @@
"Remove %(email)s?": "%(email)s törlése?",
"Remove %(phone)s?": "%(phone)s törlése?",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "A szöveges üzenetet elküldtük a +%(msisdn)s számra. Kérlek add meg az ellenőrző kódot amit tartalmazott.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Az eszköz megbízhatóságának ellenőrzéséhez kérlek ellenőrizd, hogy amit a Felhasználó Beállításoknál látsz az eszközön kulcsot megegyezik az alábbi kulccsal:",
"Command Help": "Parancs Segítség",
"No identity server is configured: add one in server settings to reset your password.": "Nincs azonosítási szerver beállítva: adj meg egyet a szerver beállításoknál, hogy a jelszavadat vissza tudd állítani.",
"This account has been deactivated.": "Ez a fiók zárolva van.",
@@ -1690,7 +1574,7 @@
"If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Ha felkutatásra és, hogy más ismerősök megtalálhassanak, nem akarod használni ezt a szervert: , akkor adjál meg másik azonosítási szervert alább.",
"Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Azonosítási szerver használata nem kötelező. Ha úgy döntesz, hogy az azonosítási szervert nem használod más felhasználók nem találnak rád és másokat sem tudsz e-mail cím vagy telefonszám alapján meghívni.",
"Do not use an identity server": "Az azonosítási szerver mellőzése",
- "Upgrade the room": "Szoba frissítése",
+ "Upgrade the room": "Szoba fejlesztése",
"Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "E-mail cím beállítása a fiók visszaállításához. E-mail cím vagy telefonszám, hogy ismerősök megtalálhassanak.",
"Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "E-mail cím beállítása a fiók visszaállításához. E-mail cím, hogy ismerősök megtalálhassanak.",
"Enter your custom homeserver URL What does this mean?": "Add meg a matrix szervered URL-jét Mit jelent ez?",
@@ -1768,7 +1652,6 @@
"Show advanced": "Haladó megmutatása",
"Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Felhasználók más matrix szerverekről a szobába való belépésének megakadályozása (Ezt a beállítást később nem lehet megváltoztatni!)",
"Close dialog": "Ablak bezárása",
- "Use the new, faster, composer for writing messages": "Az új gyorsabb szerkesztő használata az üzenetek írásához",
"Show previews/thumbnails for images": "Előnézet/bélyegkép mutatása a képekhez",
"Clear cache and reload": "Gyorsítótár ürítése és újratöltés",
"%(count)s unread messages including mentions.|other": "%(count)s olvasatlan üzenet megemlítéssel.",
@@ -1779,7 +1662,7 @@
"To continue you need to accept the terms of this service.": "A folytatáshoz el kell fogadnod a felhasználási feltételeket.",
"Document": "Dokumentum",
"Community Autocomplete": "Közösség automatikus kiegészítése",
- "Emoji Autocomplete": "Emoji automatikus kiegészítése",
+ "Emoji Autocomplete": "Emodzsi automatikus kiegészítése",
"Notification Autocomplete": "Értesítés automatikus kiegészítése",
"Room Autocomplete": "Szoba automatikus kiegészítése",
"User Autocomplete": "Felhasználó automatikus kiegészítése",
@@ -1872,11 +1755,7 @@
"Custom (%(level)s)": "Egyedi (%(level)s)",
"Trusted": "Megbízható",
"Not trusted": "Megbízhatatlan",
- "Hide verified Sign-In's": "Ellenőrzött belépések elrejtése",
- "%(count)s verified Sign-In's|other": "%(count)s ellenőrzött belépés",
- "%(count)s verified Sign-In's|one": "1 ellenőrzött belépés",
"Direct message": "Közvetlen beszélgetés",
- "Unverify user": "Ellenőrizetlen felhasználó",
"%(role)s in %(roomName)s": "%(role)s a szobában: %(roomName)s",
"Messages in this room are end-to-end encrypted.": "Az üzenetek a szobában végponttól végpontig titkosítottak.",
"Security": "Biztonság",
@@ -1893,7 +1772,6 @@
"Using this widget may share data with %(widgetDomain)s.": "Ennek a kisalkalmazásnak a használata adatot oszthat meg %(widgetDomain)s domain-nel.",
"Widget added by": "A kisalkalmazást hozzáadta",
"This widget may use cookies.": "Ez a kisalkalmazás sütiket használhat.",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Ellenőrzés küldése közvetlen üzenetben, beleértve az új ellenőrzési felhasználói élményt a résztvevői panelen.",
"Enable local event indexing and E2EE search (requires restart)": "Helyi esemény indexálás és végponttól végpontig titkosított események keresésének engedélyezése (újraindítás szükséges)",
"More options": "További beállítások",
"Reload": "Újratölt",
@@ -1916,7 +1794,6 @@
"Manage integrations": "Integrációk kezelése",
"Verification Request": "Ellenőrzési kérés",
" (1/%(totalCount)s)": " (1/%(totalCount)s)",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Kereszt-aláírás engedélyezése a felhasználó alapú azonosításhoz az eszköz alapú helyett (fejlesztés alatt)",
"%(senderName)s placed a voice call.": "%(senderName)s hanghívást kezdeményezett.",
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s hanghívást kezdeményezett. (ebben a böngészőben nem támogatott)",
"%(senderName)s placed a video call.": "%(senderName)s videóhívást kezdeményezett.",
@@ -1926,16 +1803,15 @@
"Customise your experience with experimental labs features. Learn more.": "Kísérleti labor tulajdonságokkal egyénre szabhatod az élményt. Tudj meg többet.",
"Error upgrading room": "A szoba verziófrissítésénél hiba történt",
"Double check that your server supports the room version chosen and try again.": "Ellenőrizd még egyszer, hogy a szervered támogatja-e a szoba verzióját és próbáld újra.",
- "Invite joined members to the new room automatically": "Tagok meghívása automatikusan az új szobába",
"This message cannot be decrypted": "Ezt az üzenetet nem lehet visszafejteni",
"Unencrypted": "Titkosítatlan",
"Automatically invite users": "Felhasználók automatikus meghívása",
- "Upgrade private room": "Privát szoba frissítése",
- "Upgrade public room": "Nyilvános szoba frissítése",
+ "Upgrade private room": "Privát szoba fejlesztése",
+ "Upgrade public room": "Nyilvános szoba fejlesztése",
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "A szoba frissítése nem egyszerű művelet, általában a szoba hibás működése, hiányzó funkció vagy biztonsági sérülékenység esetén javasolt.",
"This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Ez általában a szoba szerver oldali kezelésében jelent változást. Ha a Riotban van problémád, kérlek küldj egy hibajelentést.",
- "You'll upgrade this room from to .": " verzióról verzióra frissíted a szobát.",
- "Upgrade": "Frissítés",
+ "You'll upgrade this room from to .": " verzióról verzióra fejleszted a szobát.",
+ "Upgrade": "Fejlesztés",
"Notification settings": "Értesítések beállítása",
"User Status": "Felhasználó állapota",
"Reactions": "Reakciók",
@@ -1944,13 +1820,11 @@
"Start chatting": "Beszélgetés elkezdése",
"Send cross-signing keys to homeserver": "Kereszt-aláírás kulcsok küldése a matrix szervernek",
"Cross-signing public keys:": "Kereszt-aláírás nyilvános kulcsok:",
- "on device": "eszközön",
"not found": "nem található",
"Cross-signing private keys:": "Kereszt-aláírás privát kulcsok:",
"in secret storage": "biztonsági tárolóban",
"Secret storage public key:": "Biztonsági tároló nyilvános kulcs:",
"in account data": "fiók adatokban",
- "Bootstrap Secure Secret Storage": "Biztonsági Titok Tároló megnyitása",
"Cross-signing": "Kereszt-aláírás",
"Enter secret storage passphrase": "Add meg a jelmondatot a biztonsági tárolóhoz",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "A biztonsági tárolóhoz nem lehet hozzáférni. Kérlek ellenőrizd, hogy jó jelmondatot adtál-e meg.",
@@ -1961,16 +1835,12 @@
"If you've forgotten your recovery key you can set up new recovery options.": "Ha elfelejtetted a visszaállítási kulcsot állíts be új visszaállítási lehetőséget.",
"Warning: You should only set up key backup from a trusted computer.": "Figyelmeztetés: Csak biztonságos számítógépről állíts be kulcs mentést.",
"If you've forgotten your recovery key you can set up new recovery options": "Ha elfelejtetted a visszaállítási kulcsot állíts be új visszaállítási lehetőséget",
- "Warning: You should only set up secret storage from a trusted computer.": "Figyelem: Csak biztonságos eszközről állíts be biztonságos tárolót.",
"Set up with a recovery key": "Beállítás visszaállítási kulccsal",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Mint egy biztonsági háló, ha elfelejted a jelmondatot akkor felhasználhatod ahhoz, hogy hozzáférj a titkosított üzeneteidhez.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Használhatod egy biztonsági hálóként a titkosított üzenetekhez való hozzáférés visszaállításához.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókezelő (vagy széf).",
"Your recovery key has been copied to your clipboard, paste it to:": "A visszaállítási kulcsod a vágólapra lett másolva, illeszd be ide:",
"Your recovery key is in your Downloads folder.": "A visszaállítási kulcsod a Letöltések mappában van.",
- "Your access to encrypted messages is now protected.": "A titkosított üzenetekhez való hozzáférésed védve van.",
- "Set up secret storage": "Biztonságos tároló beállítása",
- "Secure your encrypted messages with a passphrase": "Biztosítsd a titkosított üzeneteidet jelmondattal",
"Storing secrets...": "Titkok tárolása...",
"Unable to set up secret storage": "A biztonsági tárolót nem sikerült beállítani",
"%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s törölte azt a szabályt amivel ilyen felhasználók voltak kitiltva: %(glob)s",
@@ -1991,51 +1861,370 @@
"%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a szabályt amivel szerverek voltak kitiltva erről: %(oldGlob)s erre: %(newGlob)s ezért: %(reason)s",
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s megváltoztatta a kitiltó szabályt erről: %(oldGlob)s erre: %(newGlob)s ezért: %(reason)s",
"Cross-signing and secret storage are enabled.": "Kereszt-aláírás és a biztonsági tároló engedélyezve van.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "A fiókod a biztonsági tárolóban tartalmaz egy személyazonosságot a kereszt-aláíráshoz de egyenlőre nincs megbízhatónak jelölve ezen az eszközön.",
"Cross-signing and secret storage are not yet set up.": "Kereszt-aláírás és a biztonsági tároló egyenlőre nincs beállítva.",
"Bootstrap cross-signing and secret storage": "Kereszt-aláírás és biztonsági tároló beállítása",
"not stored": "nincs mentve",
"Backup has a valid signature from this user": "A mentés érvényes aláírást tartalmaz a felhasználótól",
"Backup has a invalid signature from this user": "A mentés érvénytelen aláírást tartalmaz a felhasználótól",
"Backup has a signature from unknown user with ID %(deviceId)s": "A mentésnek ismeretlen felhasználótól származó aláírása van ezzel az azonosítóval: %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "A mentésnek ismeretlen eszköztől származó aláírása van ezzel az azonosítóval: %(deviceId)s",
"Backup key stored: ": "Visszaállítási kulcs tárolva: ",
- "Start using Key Backup with Secure Secret Storage": "Kulcs Mentés és Biztonsági Titok Tároló használatának megkezdése",
"Hide verified sessions": "Ellenőrzött munkamenetek eltakarása",
"%(count)s verified sessions|other": "%(count)s ellenőrzött munkamenet",
"%(count)s verified sessions|one": "1 ellenőrzött munkamenet",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Visszaállítási kulcs a biztonsági tárolóban van elmentve, de ezen az eszközön ez a lehetőség nincs engedélyezve. Engedélyezd a kulcs mentés állapotának módosításához a kereszt-aláírást a Laborban.",
"Close preview": "Előnézet bezárása",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "A jelmondat megadásával hozzáférhetsz a titkosított üzeneteidhez és a kereszt-aláíráshoz tartozó azonosítódhoz amivel más eszközöket ellenőrizhetsz.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "A visszaállítási kulcs megadásával hozzáférhetsz a titkosított üzeneteidhez és a kereszt-aláíráshoz tartozó azonosítódhoz amivel más eszközöket ellenőrizhetsz.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "Biztonsági tárolót fogunk használni, hogy tárolhassuk a kereszt-aláíráshoz tartozó azonosítót titkosított formában, amivel más eszközöket és üzenet kulcsokat lehet ellenőrizni. Védd a titkosított üzenetekhez való hozzáférést jelmondattal és azt tartsd titokban.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "A biztonsági tároló beállítása nélkül ha kijelentkezel és egy másik eszközön lépsz be nem fogsz hozzáférni a titkosított üzeneteidhez és a kereszt-aláíráshoz tartozó azonosítódhoz amivel más eszközöket ellenőrizhetsz.",
- "This user has not verified all of their devices.": "Ez a felhasználó még ellenőrizte az összes eszközét.",
- "You have not verified this user. This user has verified all of their devices.": "Ezt a felhasználót még nem ellenőrizted. Minden eszközét ellenőrizte ez a felhasználó.",
- "You have verified this user. This user has verified all of their devices.": "Ezt a felhasználót ellenőrizted. Minden eszközét ellenőrizte ez a felhasználó.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Néhány felhasználót még nem ellenőriztél ebben a titkosított szobában vagy még ők nem ellenőrizték az összes eszközüket.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Minden felhasználót ellenőriztél ebben a titkosított szobában és ők ellenőrizték az összes eszközüket.",
"Language Dropdown": "Nyelvválasztó lenyíló menü",
"Country Dropdown": "Ország lenyíló menü",
"The message you are trying to send is too large.": "Túl nagy képet próbálsz elküldeni.",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "A Biztonsági Tároló a már létező kulcs mentés adatai felhasználásával lesz létrehozva. A biztonsági tároló jelmondata és a visszaállítási kulcs meg fog egyezni a kulcs mentésénél használttal",
- "Migrate from Key Backup": "Mozgatás a Kulcs Mentésből",
"Help": "Segítség",
- "New DM invite dialog (under development)": "Új KB (DM) meghívó párbeszédablak (fejlesztés alatt)",
"Show more": "Mutass többet",
"Recent Conversations": "Legújabb Beszélgetések",
"Direct Messages": "Közvetlen Beszélgetések",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ha nem találsz meg valakit, kérdezd meg a felhasználói nevét vagy oszd meg a te felhasználói nevedet (%(userId)s) vagy a profil hivatkozást.",
"Go": "Menj",
"Show info about bridges in room settings": "Híd információk megmutatása a szoba beállításoknál",
- "This bridge was provisioned by ": "Ezt a hidat ez a felhasználó hozta létre: ",
"This bridge is managed by .": "Ezt a hidat ez a felhasználó kezeli: .",
- "Bridged into , on ": "Híd ide: , ezzel a protokollal: ",
- "Connected to on ": "Ide csatlakozva: itt: ",
- "Connected via %(protocolName)s": "Ezzel a protokollal csatlakozva: %(protocolName)s",
- "Bridge Info": "Híd információ",
- "Below is a list of bridges connected to this room.": "Alább látható a lista a szobához kapcsolódó hidakról.",
"Suggestions": "Javaslatok",
"Failed to find the following users": "Az alábbi felhasználók nem találhatók",
- "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Az alábbi felhasználók nem léteznek vagy hibásan vannak megadva és nem lehet őket meghívni: %(csvNames)s"
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Az alábbi felhasználók nem léteznek vagy hibásan vannak megadva és nem lehet őket meghívni: %(csvNames)s",
+ "Show a presence dot next to DMs in the room list": "Jelenlét pötty mutatása a Közvetlen beszélgetések mellett a szobák listájában",
+ "Lock": "Zár",
+ "a few seconds ago": "néhány másodperce",
+ "about a minute ago": "percekkel ezelőtt",
+ "%(num)s minutes ago": "%(num)s perccel ezelőtt",
+ "about an hour ago": "egy órája",
+ "%(num)s hours ago": "%(num)s órával ezelőtt",
+ "about a day ago": "egy napja",
+ "%(num)s days ago": "%(num)s nappal ezelőtt",
+ "a few seconds from now": "másodpercek múlva",
+ "about a minute from now": "percek múlva",
+ "%(num)s minutes from now": "%(num)s perc múlva",
+ "about an hour from now": "egy óra múlva",
+ "%(num)s hours from now": "%(num)s óra múlva",
+ "about a day from now": "egy nap múlva",
+ "%(num)s days from now": "%(num)s nap múlva",
+ "Restore": "Visszaállít",
+ "Complete security": "Biztonság beállítása",
+ "Verify this session to grant it access to encrypted messages.": "A titkosított üzenetekhez való hozzáféréshez hitelesítsd ezt a munkamenetet.",
+ "Start": "Indít",
+ "Session verified": "Munkamenet hitelesítve",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Ez a munkameneted hitelesítve van. A titkosított üzenetekhez hozzáférése van és más felhasználók megbízhatónak látják.",
+ "Done": "Kész",
+ "Go Back": "Vissza",
+ "Other users may not trust it": "Más felhasználók lehet, hogy nem bíznak benne",
+ "Later": "Később",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Az alábbi felhasználókat nem sikerült meghívni a beszélgetésbe: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "A közvetlen üzenetedet nem sikerült elkészíteni. Ellenőrizd azokat a felhasználókat akiket meg szeretnél hívni és próbáld újra.",
+ "Something went wrong trying to invite the users.": "Valami nem sikerült a felhasználók meghívásával.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Ezeket a felhasználókat nem tudtuk meghívni. Ellenőrizd azokat a felhasználókat akiket meg szeretnél hívni és próbáld újra.",
+ "Recently Direct Messaged": "Nemrég küldött Közvetlen Üzenetek",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Ha nem találsz valakit, akkor kérdezd meg a Matrix címét (pl.: @felhasználó:szerver.com) vagy oszd meg ezt a szobát.",
+ "Verify User": "Felhasználó ellenőrzése",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "A biztonság fokozásáért ellenőrizd ezt a felhasználót egy egyszeri kód egyeztetésével mindkettőtök készülékén.",
+ "Start Verification": "Ellenőrzés elindítása",
+ "Unknown Command": "Ismeretlen Parancs",
+ "Unrecognised command: %(commandText)s": "Ismeretlen parancs: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Használhatod a /help-et az elérhető parancsok kilistázásához. Ezt üzenetként akartad küldeni?",
+ "Hint: Begin your message with // to start it with a slash.": "Tipp: Ez üzenetedet kezd ezzel: //, ha perjellel szeretnéd kezdeni.",
+ "Send as message": "Üzenet küldése",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s szoba címnek, %(count)s másikkal együtt, hozzáadta: %(addedAddresses)s",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s %(count)s másikkal együtt törölte a szoba címek közül: %(removedAddresses)s",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s %(countRemoved)s darabot törölt és %(countAdded)s darabot hozzáadott a szoba címekhez",
+ "This room is end-to-end encrypted": "Ez a szoba végpontok közötti titkosítást használ",
+ "Everyone in this room is verified": "A szobába mindenki ellenőrizve van",
+ "Invite only": "Csak meghívóval",
+ "Send a reply…": "Válasz küldése…",
+ "Send a message…": "Üzenet küldése…",
+ "Reject & Ignore user": "Felhasználó elutasítása és figyelmen kívül hagyása",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Ha nem találsz valakit, kérdezd meg a Matrix címét, vagy add meg neki a te Matrix címed (%(userId)s), vagy a profil hivatkozásod.",
+ "Enter your account password to confirm the upgrade:": "A fejlesztés megerősítéséhez add meg a fiók jelszavadat:",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Azonosítanod kell magad a szerveren a fejlesztés megerősítéséhez.",
+ "Enter a passphrase": "Jelmondat bevitele",
+ "Enter your passphrase a second time to confirm it.": "Add meg a jelmondatot másodszor is a biztonság kedvéért.",
+ "Verify other users in their profile.": "Más felhasználók ellenőrzése a profiljukban.",
+ "Upgrade your encryption": "Titkosításod fejlesztése",
+ "Set up encryption": "Titkosítás beállítása",
+ "Encryption upgraded": "Titkosítás fejlesztve",
+ "Encryption setup complete": "Titkosítás beállítása kész",
+ "Verify this session": "Munkamenet ellenőrzése",
+ "Encryption upgrade available": "A titkosítás fejlesztése elérhető",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s bekapcsolta a végpontok közötti titkosítást.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s bekapcsolta a végpontok közötti titkosítást (ismeretlen algoritmus: %(algorithm)s).",
+ "Enable message search in encrypted rooms": "Üzenetek keresésének engedélyezése titkosított szobákban",
+ "Review": "Átnéz",
+ "This bridge was provisioned by .": "Ezt a hidat az alábbi felhasználó készítette: .",
+ "Workspace: %(networkName)s": "Munkahely: %(networkName)s",
+ "Channel: %(channelName)s": "Csatorna: %(channelName)s",
+ "Show less": "Kevesebbet mutat",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "A titkosított üzenetek kereséséhez azokat biztonságos módon helyileg kell tárolnod, felhasználva: ",
+ " to store messages from ": " üzenetek eltárolásához innen ",
+ "rooms.": "szobák.",
+ "Manage": "Kezel",
+ "Securely cache encrypted messages locally for them to appear in search results.": "A titkosított üzenetek kereséséhez azokat biztonságos módon helyileg kell tárolnod.",
+ "Enable": "Engedélyez",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "A Riotból a titkosított üzenetek biztonságos helyi tárolásához hiányzik néhány dolog. Ha kísérletezni szeretnél ezzel a lehetőséggel fordíts le egy saját Riotot a kereső komponens hozzáadásával.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "A Riot a web böngészőben nem tud biztonságosan titkosított üzenetet helyben elmenteni. Hogy a titkosított üzenetekre tudjál keresni használj Asztali Riot klienst.",
+ "Message search": "Üzenet keresése",
+ "This room is bridging messages to the following platforms. Learn more.": "Ez a szoba összeköti az üzeneteket a következő platformokkal, tudj meg többet.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Ez a szoba egy platformmal sem köt össze üzeneteket. Tudj meg többet.",
+ "Bridges": "Hidak",
+ "New session": "Új munkamenet",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Az új munkamenet ellenőrzéséhez használd ezt, amivel hozzáférést adsz a titkosított üzenetekhez:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Ha nem te jelentkeztél be ebbe a munkamenetbe akkor a fiókodat feltörték.",
+ "This wasn't me": "Nem én voltam",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Helyezd biztonságba a titkosítási kulcsaidat egy jelmondattal. A maximális biztonság érdekében ez térjen el a felhasználói fióknál használt jelszótól:",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Ha nincs engedélyezve akkor a titkosított szobák üzenetei nem jelennek meg a keresések között.",
+ "Disable": "Tiltás",
+ "Not currently downloading messages for any room.": "Jelenleg egy szobából sem folyik üzenet letöltés.",
+ "Downloading mesages for %(currentRoom)s.": "Üzenetek letöltése innen: %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot a kereshetőség érdekében a titkosított üzeneteket biztonságos módon helyileg tárolja:",
+ "Space used:": "Hely felhasználva:",
+ "Indexed messages:": "Indexált üzenetek:",
+ "Number of rooms:": "Szobák száma:",
+ "Restore your key backup to upgrade your encryption": "A titkosítás fejlesztéséhez allítsd vissza a kulcs mentést",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Ismeretlen munkamenetek vannak a szobában: ha ellenőrzés nélkül folytatod lehet, hogy valaki belehallgat a hívásodba.",
+ "Setting up keys": "Kulcsok beállítása",
+ "Unverified session": "Ellenőrizetlen munkamenet",
+ "Verifies a user, session, and pubkey tuple": "Felhasználó, munkamenet és nyilvános kulcs hármas ellenőrzése",
+ "Unknown (user, session) pair:": "Ismeretlen (felhasználó, munkamenet) páros:",
+ "Session already verified!": "Munkamenet már ellenőrizve!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "FIGYELEM: A munkamenet már ellenőrizve van de a kulcsok NEM EGYEZNEK!",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Kereszt-aláírás engedélyezése a felhasználó alapú azonosításhoz a munkamenet alapú helyett (fejlesztés alatt)",
+ "Show padlocks on invite only rooms": "Lakat mutatása azoknál a szobáknál amikbe csak meghívóval lehet belépni",
+ "Never send encrypted messages to unverified sessions from this session": "Sose küldj titkosított üzenetet nem ellenőrizetlen munkamenetbe ebből a munkamenetből",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Sose küldjön titkosított üzeneteket ellenőrizetlen munkamenetekbe ebben a szobában ebből a munkamenetből",
+ "Keep secret storage passphrase in memory for this session": "A biztonsági tároló jelmondatát ebben a munkamenetben tartsa a memóriában",
+ "How fast should messages be downloaded.": "Milyen gyorsan legyenek az üzenetek letöltve.",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Erősítsd meg, hogy az emodzsik alul mind a két eszközön ugyanazok ugyanabban a sorrendben:",
+ "Verify this device by confirming the following number appears on its screen.": "Ellenőrizd az eszközt azzal, hogy megerősíted az alábbi számok jelentek meg a képernyőjén.",
+ "Waiting for %(displayName)s to verify…": "%(displayName)s felhasználóra várakozás az ellenőrzéshez…",
+ "They match": "Egyeznek",
+ "They don't match": "Nem egyeznek",
+ "To be secure, do this in person or use a trusted way to communicate.": "A biztonság érdekében ezt végezd el személyesen vagy egy megbízható kommunikációs csatornán.",
+ "Verify yourself & others to keep your chats safe": "Ellenőrizd magad és másokat, hogy a csevegéseid biztonságban legyenek",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "A fiókodhoz tartozik egy kereszt-aláírás a biztonsági tárolóban de ebben a munkamenetben ez még nem megbízható.",
+ "in memory": "memóriában",
+ "Your homeserver does not support session management.": "A matrix szervered nem támogatja a munkamenetek kezelését.",
+ "Unable to load session list": "A munkamenet listát nem lehet betölteni",
+ "Delete %(count)s sessions|other": "%(count)s munkamenet törlése",
+ "Delete %(count)s sessions|one": "%(count)s munkamenet törlése",
+ "This session is backing up your keys. ": "Ez a munkamenet elmenti a kulcsaidat. ",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "FIGYELEM: KULCS ELLENŐRZÉS HIBÁS! %(userId)s aláírási kulcsa és a munkamenet: %(deviceId)s ujjlenyomata \"%(fprint)s\" ami nem egyezik meg a megadott ujjlenyomattal ami \"%(fingerprint)s\". Ez jelentheti azt, hogy a kommunikációt lehallgatják!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "A megadott aláírási kulcs megegyezik %(userId)s felhasználótól kapott aláírási kulccsal ebben a munkamenetben: %(deviceId)s. A munkamenet hitelesnek lett jelölve.",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Jelenleg a jelszó változtatás minden munkamenet végpontok közötti titkosító kulcsait alaphelyzetbe állítja, ezáltal a titkosított üzenetek olvashatatlanok lesznek, hacsak először nem mented ki a szobák kulcsait és töltöd vissza jelszóváltoztatás után. A jövőben ezt egyszerűsítjük majd.",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Ez az munkamenet nem menti el a kulcsaidat, de van létező mentésed ahonnan vissza tudsz állni és továbbléphetsz.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Állítsd be ezen az munkameneten a Kulcs Mentést kijelentkezés előtt, hogy ne veszíts el olyan kulcsot ami csak ezen az eszközön van meg.",
+ "Connect this session to Key Backup": "Munkamenet csatlakoztatása a Kulcs Mentéshez",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "A mentésnek ismeretlen munkamenetből származó aláírása van ezzel az azonosítóval: %(deviceId)s",
+ "Backup has a valid signature from this session": "A mentés érvényes aláírást tartalmaz ebből a munkamenetből",
+ "Backup has an invalid signature from this session": "A mentés érvénytelen aláírást tartalmaz ebből a munkamenetből",
+ "Backup has a valid signature from verified session ": "A mentés érvénes aláírást tartalmaz érvényes munkamenetből ",
+ "Backup has a valid signature from unverified session ": "A mentés érvénes aláírást tartalmaz ellenőrizetlen munkamenetből ",
+ "Backup has an invalid signature from verified session ": "A mentés érvénytelen aláírást tartalmaz érvényes munkamenetből ",
+ "Backup has an invalid signature from unverified session ": "A mentés érvénytelen aláírást tartalmaz ellenőrizetlen munkamenetből ",
+ "Backup is not signed by any of your sessions": "A mentés nem tartalmaz aláírást egyetlen munkamenetedből sem",
+ "This backup is trusted because it has been restored on this session": "Ez a mentés megbízható mert ebben a munkamenetben lett visszaállítva",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "A mentési kulcs a biztonsági tárolóban van elmentve, de ebben a munkamenetben ez a lehetőség nincs engedélyezve. Kérlek engedélyezd az eszközök közötti hitelesítést a Laborokban a kulcs mentés állapotának megváltoztatásához.",
+ "Your keys are not being backed up from this session.": "A kulcsaid nem kerülnek elmentésre erről a munkamenetről.",
+ "Enable desktop notifications for this session": "Asztali értesítések engedélyezése ebben a munkamenetben",
+ "Enable audible notifications for this session": "Hallható értesítések engedélyezése ebben a munkamenetben",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "A jelszavad sikeresen megváltozott. Addig nem kapsz push értesítéseket más munkamenetekben amíg nem jelentkezel vissza bennük",
+ "Session ID:": "Munkamenet azonosító:",
+ "Session key:": "Munkamenet kulcs:",
+ "Sessions": "Munkamenetek",
+ "A session's public name is visible to people you communicate with": "A munkamenet nyilvános neve megjelenik azoknál az embereknél, akikkel beszélgetsz",
+ "This user has not verified all of their sessions.": "Ez a felhasználó még nem ellenőrizte az összes munkamenetét.",
+ "You have not verified this user.": "Még nem ellenőrizted ezt a felhasználót.",
+ "You have verified this user. This user has verified all of their sessions.": "Ezt a felhasználót ellenőrizted. Ez a felhasználó hitelesítette az összes munkamenetét.",
+ "Someone is using an unknown session": "Valaki ismeretlen munkamenetet használ",
+ "Some sessions for this user are not trusted": "Ennek a felhasználónak néhány munkamenete nem megbízható",
+ "All sessions for this user are trusted": "A felhasználónak minden munkamenete megbízható",
+ "Some sessions in this encrypted room are not trusted": "Ebben a titkosított szobában nem minden munkamenet megbízható",
+ "All sessions in this encrypted room are trusted": "Ebben a titkosított szobában minden munkamenet megbízható",
+ "Mod": "Mod",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "A kulcs megosztás kérésed el lett küldve - ellenőrizd a többi munkamenetedet a kulcskérések után.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Kulcs megosztás kérés automatikusan el lett küldve neked a másik munkamenetekből. Ha elutasítottad vagy bezártad a kérést másik munkamenetedben, ide kattintva újrakérheted őket ehhez a munkamenethez.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Ha a többi munkameneted közül egyik sem tartalmazza a kulcsot ehhez az üzenethez, akkor ezt az üzenetet nem fogod tudni elolvasni.",
+ "Re-request encryption keys from your other sessions.": "Titkosítási kulcsok újrakérése a többi munkamenetből.",
+ "Encrypted by an unverified session": "Ellenőrizetlen munkamenet titkosította",
+ "Encrypted by a deleted session": "Törölt munkamenet által lett titkosítva",
+ "No sessions with registered encryption keys": "Nincs munkamenet regisztrált titkosítási kulcsokkal",
+ "Waiting for %(displayName)s to accept…": "%(displayName)s felhasználóra várakozás az elfogadáshoz…",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Az üzeneted biztonságban van és csak neked és a címzetteknek van meg az egyedi kulcs a visszafejtéshez.",
+ "Your messages are not secure": "Az üzeneteid nincsenek biztonságban",
+ "One of the following may be compromised:": "Valamelyik az alábbiak közül kompromittált:",
+ "Your homeserver": "Matrix szervered",
+ "The homeserver the user you’re verifying is connected to": "Az ellenőrizendő felhasználó ehhez a matrix szerverhez kapcsolódik:",
+ "Yours, or the other users’ internet connection": "A te vagy a másik felhasználó Internet kapcsolata",
+ "Yours, or the other users’ session": "A te vagy a másik felhasználó munkamenete",
+ "%(count)s sessions|other": "%(count)s munkamenet",
+ "%(count)s sessions|one": "%(count)s munkamenet",
+ "Hide sessions": "Munkamenetek elrejtése",
+ "Verify by emoji": "Ellenőrzés emodzsival",
+ "Verify by comparing unique emoji.": "Ellenőrzés egyedi emodzsik összehasonlításával.",
+ "Ask %(displayName)s to scan your code:": "Kérd meg %(displayName)s felhasználót, hogy olvassa be a kódot:",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Ha nem tudod beolvasni az alábbi kódot, ellenőrizd az egyedi emodzsik összehasonlításával.",
+ "You've successfully verified %(displayName)s!": "Sikeresen ellenőrizted a felhasználót: %(displayName)s!",
+ "Got it": "Értem",
+ "Verification timed out. Start verification again from their profile.": "Ellenőrzés időtúllépés. Kezd újra az ellenőrzést a másik felhasználó profiljából.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s törölte az ellenőrzést. Kezd újra az ellenőrzést a felhasználó profiljából.",
+ "You cancelled verification. Start verification again from their profile.": "Törölted az ellenőrzést. Kezd újra az ellenőrzést a felhasználó profiljából.",
+ "Encryption enabled": "Titkosítás bekapcsolva",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Ebben a szobában az üzenetek végpontok között titkosítottak. További információkért és ellenőrzéshez nyisd meg a felhasználó profilját.",
+ "Encryption not enabled": "Titkosítás nincs engedélyezve",
+ "The encryption used by this room isn't supported.": "A szobában használt titkosítás nem támogatott.",
+ "Clear all data in this session?": "Minden adat törlése ebben a munkamenetben?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Az adatok törlése ebből a munkamenetből végleges. A titkosított üzenetek elvesznek hacsak nincsenek elmentve a kulcsai.",
+ "Verify session": "Munkamenet ellenőrzése",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "A munkamenet megbízhatóságának eldöntéséhez ellenőrizd a kulcsot a Felhasználói Beállításokban ezen az eszközön, hogy megegyezik-e az alábbi kulccsal:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "A munkamenet megbízhatóságának eldöntéséhez vedd fel a kapcsolatot a tulajdonosával valami másik módon (pl. személyesen vagy telefonhívással) és kérdezd meg, hogy a Felhasználói Beállításokban ugyanazt a kulcsot látja-e mint ami alul van:",
+ "Session name": "Munkamenet neve",
+ "Session key": "Munkamenet kulcs",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Ha egyezik akkor nyomd meg az ellenőriz gombot alul. Ha nem akkor valaki lehallgatja a munkamenetet és valószínű, hogy inkább a tiltólista gombra kellene kattintani.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "A felhasználót ellenőrizve a munkamenet megbízhatónak lesz jelölve és ugyanakkor a munkamenetedet is megbízhatónak fogja jelölni náluk.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Eszköz ellenőrzése és beállítás megbízhatónak. Az eszközben való megbízás megnyugtató lehet, ha végpontok közötti titkosítást használsz.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Az eszköz ellenőrzése megbízhatónak fogja jelezni az eszközt és azok akik téged ellenőriztek megbíznak majd ebben az eszközödben.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Új munkamenetet adtál hozzá '%(displayName)s' néven ami kéri a titkosítási kulcsokat.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Az ellenőrizetlen munkameneted '%(displayName)s' néven titkosítási kulcsokat kér.",
+ "Loading session info...": "Munkamenet információk betöltése...",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Ezzel visszatérhetsz a fiókodba miután kijelentkeztél majd vissza egy másik munkamenetbe.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Jelenleg tiltólistán vannak az ellenőrizetlen munkamenetek; hogy üzeneteket tudj küldeni ezekbe a munkamenetekbe ellenőrizned kell őket.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Javasoljuk, hogy minden munkamenetet ellenőrizz, hogy a tényleges tulajdonosához tartoznak vagy újraküldheted az üzenetet ha akarod anélkül, hogy ellenőriznéd őket.",
+ "Room contains unknown sessions": "A szoba ismeretlen munkameneteket tartalmaz",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" még nem látott munkameneteket tartalmaz.",
+ "Unknown sessions": "Ismeretlen munkamenetek",
+ "Cancel entering passphrase?": "Megszakítod a jelmondat bevitelét?",
+ "If you cancel now, you won't complete your secret storage operation!": "Ha most megszakítod, akkor nem fejezed be a biztonságos tárolóval kapcsolatos műveletet!",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "A jelmondat megadásával hozzáférhetsz a biztonságos üzeneteidhez és az eszközök közötti hitelesítéshez használt személyazonosságodhoz, hogy más munkameneteket hitelesíthess.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "A visszaállítási kulcs megadásával hozzáférhetsz a biztonságos üzeneteidhez és az eszközök közötti hitelesítéshez használt személyazonosságodhoz, hogy más munkameneteket hitelesíthess.",
+ "Recovery key mismatch": "A visszaállítási kulcs nem megfelelő",
+ "Incorrect recovery passphrase": "A visszaállítási jelmondat helytelen",
+ "Backup restored": "Mentés visszaállítva",
+ "Enter recovery passphrase": "Visszaállítási jelmondat megadása",
+ "Enter recovery key": "Visszaállítási kulcs megadása",
+ "Confirm your identity by entering your account password below.": "A fiók jelszó megadásával erősítsd meg a személyazonosságodat.",
+ "Message not sent due to unknown sessions being present": "Ismeretlen munkamenet miatt az üzenet nem került elküldésre",
+ "Show sessions, send anyway or cancel.": "Munkamenetek megmutatása, küldés mindenképpen vagy küldés megszakítása.",
+ "Your new session is now verified. Other users will see it as trusted.": "Az új munkameneted ellenőrizve. Mások megbízhatónak fogják látni.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Amíg a biztonság nincs beállítva a munkameneten nem fér hozzá a titkosított üzenetekhez.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "A jelszó változtatás minden munkamenet végpontok közötti titkosító kulcsait alaphelyzetbe állítja, ezáltal a titkosított üzenetek olvashatatlanok lesznek, hacsak először nem mented ki a szobák kulcsait és töltöd vissza jelszóváltoztatás után. A jövőben ezt egyszerűsítjük majd.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Kijelentkeztettünk minden eszközödből és nem kapsz értesítéseket sem. Az értesítések újra engedélyezéséhez jelentkezz be újra az eszközökön.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Szerezd vissza a hozzáférést a fiókodhoz és állítsd vissza az elmentett titkosítási kulcsokat ebben a munkamenetben. Ezek nélkül egyetlen munkamenetben sem tudod elolvasni a titkosított üzeneteidet.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Figyelmeztetés: A személyes adataid (beleértve a titkosító kulcsokat is) továbbra is az eszközön vannak tárolva. Ha az eszközt nem használod tovább vagy másik fiókba szeretnél bejelentkezni, töröld őket.",
+ "Sender session information": "Küldő munkamenet információ",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Fejleszd ezt a munkamenetet, hogy más munkamenetet tudj vele hitelesíteni amivel hozzáférnek a titkosított üzenetekhez és megbízhatónak lesznek jelölve más felhasználók számára.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Állítsd be a titkosítást ezen a munkameneten, hogy más munkamenetet tudj vele hitelesíteni amivel hozzáférnek a titkosított üzenetekhez és megbízhatónak lesznek jelölve más felhasználók számára.",
+ "Back up my encryption keys, securing them with the same passphrase": "Mentsd el a titkosítási kulcsaimat és védd őket ugyanazzal a jelmondattal",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "A másolatot tartsd biztonságos helyen, mint pl. egy jelszókezelő (vagy széf).",
+ "Your recovery key": "Visszaállítási kulcsod",
+ "Copy": "Másol",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Már ellenőrizheted a többi eszközödet és más felhasználókat, hogy a beszélgetéseidet biztonságban tudhasd.",
+ "Make a copy of your recovery key": "Készíts másolatot a visszaállítási kulcsodról",
+ "You're done!": "Kész!",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "A Biztonságos Üzenet Visszaállítás beállítása nélkül kijelentkezés után vagy másik munkamenetet használva nem tudod visszaállítani a titkosított üzeneteidet.",
+ "Create key backup": "Kulcs mentés készítése",
+ "This session is encrypting history using the new recovery method.": "Ez a munkamenet az új visszaállítási metódussal titkosítja a régi üzeneteket.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "A munkamenet észrevette, hogy a visszaállítási jelmondat és a kulcs a Biztonságos üzenetekhez törölve lett.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Ha véletlenül tetted, beállíthatod a Biztonságos Üzeneteket ezen a munkameneten ami újra titkosítja a régi üzeneteket az visszaállítási eljárással.",
+ "Indexed rooms:": "Indexált szobák:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s / %(totalRooms)s",
+ "Message downloading sleep time(ms)": "Üzenet letöltés alvási idő (ms)",
+ "If you cancel now, you won't complete verifying the other user.": "A másik felhasználó ellenőrzését nem fejezed be, ha ezt most megszakítod.",
+ "If you cancel now, you won't complete verifying your other session.": "A másik munkameneted ellenőrzését nem fejezed be, ha ezt most megszakítod.",
+ "If you cancel now, you won't complete your secret storage operation.": "A Biztonsági tárolóval kapcsolatos műveletet nem fejezed be ha ezt most megszakítod.",
+ "Show typing notifications": "Gépelés visszajelzés megjelenítése",
+ "Verify this session by completing one of the following:": "Ellenőrizd ezt a munkamenetet az alábbiak egyikével:",
+ "Scan this unique code": "Ennek az egyedi kódnak a beolvasása",
+ "or": "vagy",
+ "Compare unique emoji": "Egyedi emodzsik összehasonlítása",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Hasonlítsd össze az egyedi emodzsikat ha valamelyik eszközön nincs kamera",
+ "Not Trusted": "Megbízhatatlan",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) új munkamenetbe lépett be anélkül, hogy ellenőrizte volna:",
+ "Ask this user to verify their session, or manually verify it below.": "Kérd meg a felhasználót, hogy hitelesítse a munkamenetét vagy ellenőrizd kézzel alább.",
+ "Manually Verify": "Manuális ellenőrzés",
+ "Verify by scanning": "Ellenőrzés kód beolvasással",
+ "Destroy cross-signing keys?": "Eszközök közti hitelesítési kulcsok megsemmisítése?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Eszközök közti hitelesítési kulcsok törlése végleges. Mindenki akit ezzel hitelesítettél biztonsági figyelmeztetéseket fog látni. Hacsak nem vesztetted el az összes eszközödet amivel eszközök közti hitelesítést tudsz végezni, nem valószínű, hogy ezt szeretnéd tenni.",
+ "Clear cross-signing keys": "Eszközök közti hitelesítési kulcsok törlése",
+ "Reset cross-signing and secret storage": "Eszközök közti hitelesítés és biztonsági tároló visszaállítása",
+ "The version of Riot": "Riot verziója",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Olyan eszközön használod-e a Riotot, ahol az érintés az elsődleges beviteli mód",
+ "Whether you're using Riot as an installed Progressive Web App": "A Riotot progresszív webalkalmazásként használod-e",
+ "Your user agent": "Felhasználói ügynök",
+ "The information being sent to us to help make Riot better includes:": "Az alábbi információk kerülnek elküldésre amivel a Riotot jobbá tudjuk tenni:",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "Az ellenőrizni kívánt munkamenet nem támogatja se a QR kód beolvasást se az emodzsi ellenőrzést, amit a Riot támogat. Próbáld meg egy másik klienssel.",
+ "You declined": "Elutasítottad",
+ "%(name)s declined": "%(name)s elutasította",
+ "accepting …": "elfogadás …",
+ "declining …": "elutasítás …",
+ "Cancelling…": "Megszakítás…",
+ "Your homeserver does not support cross-signing.": "A matrix szervered nem támogatja az eszközök közti hitelesítést.",
+ "Homeserver feature support:": "Matrix szerver támogatott szolgáltatások:",
+ "exists": "létezik",
+ "Accepting…": "Elfogadás…",
+ "Accepting …": "Elfogadás …",
+ "Declining …": "Elutasítás …",
+ "Verification Requests": "Hitelesítés Kérések",
+ "Your account is not secure": "A fiókod nem biztonságos",
+ "Your password": "A jelszavad",
+ "This session, or the other session": "Ez vagy másik munkamenet",
+ "The internet connection either session is using": "Az egyik munkamenet internet kapcsolata",
+ "We recommend you change your password and recovery key in Settings immediately": "Javasoljuk, hogy a jelszavadat és a visszaállítási kulcsodat mihamarabb változtasd meg a Beállításokban",
+ "Order rooms by name": "Szobák rendezése név szerint",
+ "Show rooms with unread notifications first": "Olvasatlan üzeneteket tartalmazó szobák megjelenítése elől",
+ "Show shortcuts to recently viewed rooms above the room list": "Billentyűkombináció megjelenítése a nemrég meglátogatott szobákhoz a szoba lista felett",
+ "Sign In or Create Account": "Belépés vagy Fiók Készítés",
+ "Use your account or create a new one to continue.": "A folytatáshoz használd a fiókodat vagy készíts egy újat.",
+ "Create Account": "Fiók létrehozása",
+ "Displays information about a user": "A felhasználóról információ megjelenítése",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Matrix-szal kapcsolatos biztonsági hibák jelentésével kapcsolatban kérlek olvasd el a Matrix.org Biztonsági hiba közzétételi szabályzatot.",
+ "Mark all as read": "Mindent olvasottnak jelöl",
+ "Not currently indexing messages for any room.": "Jelenleg egyik szoba indexelése sem történik.",
+ "Currently indexing: %(currentRoom)s.": "Indexelés alatt jelenleg: %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s / %(totalRooms)s",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s a szoba nevét megváltoztatta erről: %(oldRoomName)s erre: %(newRoomName)s.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s egy alternatív nevet (%(addresses)s) adott hozzá a szobához.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s egy alternatív címet (%(addresses)s) adott hozzá a szobához.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s egy alternatív címet (%(addresses)s) eltávolított a szobáról.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s eltávolította ezt az alternatív címet a szobáról: %(addresses)s.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s megváltoztatta az alternatív címét ennek a szobának.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ennek a szobának megváltoztatta az elsődleges és az alternatív címét.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s megváltoztatta ennek a szobának a címét.",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "A szoba címének megváltoztatásakor hiba történt. Lehet, hogy a szerver nem engedélyezi vagy átmeneti hiba történt.",
+ "Alternative addresses for this room:": "A szoba alternatív címei:",
+ "This room has no alternative addresses": "A szobának nincsen alternatív címe",
+ "New address (e.g. #foo:domain)": "Új cím (pl.: #foo:domain)",
+ "Local addresses (unmoderated content)": "Helyi cím (nem moderált tartalom)",
+ "You don't have permission to delete the alias.": "Ezt az alternatív nevet nincs jogod törölni.",
+ "Support adding custom themes": "Egyedi téma támogatás hozzáadása",
+ "Invalid theme schema.": "Téma séma érvénytelen.",
+ "Error downloading theme information.": "A téma információk letöltése sikertelen.",
+ "Theme added!": "Téma hozzáadva!",
+ "Custom theme URL": "Egyedi téma URL",
+ "Add theme": "Téma hozzáadása",
+ "Review Sessions": "Munkamenetek átnézése",
+ "Manually Verify by Text": "Manuális szöveges ellenőrzés",
+ "Interactively verify by Emoji": "Közös ellenőrzés Emodzsival",
+ "Self signing private key:": "Titkos önaláíró kulcs:",
+ "cached locally": "helyben gyorsítótárazott",
+ "not found locally": "helyben nem található",
+ "User signing private key:": "Titkos felhasználó aláíró kulcs:",
+ "Secret Storage key format:": "Biztonsági tároló kulcs formátum:",
+ "outdated": "lejárt",
+ "up to date": "friss",
+ "Keyboard Shortcuts": "Billentyűzet kombinációk",
+ "Scroll to most recent messages": "A legfrissebb üzenethez görget",
+ "Local address": "Helyi cím",
+ "Published Addresses": "Nyilvánosságra hozott cím",
+ "Other published addresses:": "Másik nyilvánosságra hozott cím:",
+ "No other published addresses yet, add one below": "Nincs másik nyilvánosságra hozott cím, alább adj hozzá egyet",
+ "New published address (e.g. #alias:server)": "Új nyilvános cím (pl.: #becenév:szerver)",
+ "Local Addresses": "Helyi címek",
+ "Enter a server name": "Add meg a szerver nevét",
+ "Looks good": "Jól néz ki",
+ "Can't find this server or its room list": "A szerver vagy a szoba listája nem található",
+ "All rooms": "Minden szoba",
+ "Your server": "Matrix szervered",
+ "Are you sure you want to remove %(serverName)s": "Biztos, hogy törölni szeretnéd: %(serverName)s",
+ "Remove server": "Szerver törlése",
+ "Matrix": "Matrix",
+ "Add a new server": "Új szerver hozzáadása"
}
diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json
index 9b53b6e100..38d2693500 100644
--- a/src/i18n/strings/id.json
+++ b/src/i18n/strings/id.json
@@ -21,7 +21,6 @@
"Current password": "Password sekarang",
"Deactivate Account": "Nonaktifkan Akun",
"Device ID": "ID Perangkat",
- "Devices": "Perangkat",
"Email": "Email",
"Email address": "Alamat email",
"Enable Notifications": "Aktifkan Notifikasi",
@@ -30,7 +29,6 @@
"Command error": "Perintah gagal",
"Decline": "Tolak",
"Default": "Bawaan",
- "Device ID:": "ID Perangkat:",
"Direct chats": "Obrolan langsung",
"Download %(text)s": "Unduh %(text)s",
"Event information": "Informasi Event",
@@ -49,8 +47,6 @@
"Leave room": "Meninggalkan ruang",
"Logout": "Keluar",
"Low priority": "Prioritas rendah",
- "Markdown is disabled": "Markdown dinonaktifkan",
- "Markdown is enabled": "Markdown diaktifkan",
"Mute": "Bisu",
"Name": "Nama",
"New passwords don't match": "Password baru tidak cocok",
@@ -59,7 +55,6 @@
"No results": "Tidak ada hasil",
"OK": "OK",
"Operation failed": "Operasi gagal",
- "People": "Orang",
"Passwords can't be empty": "Password tidak boleh kosong",
"Permissions": "Izin",
"Private Chat": "Obrolan Privat",
@@ -83,13 +78,11 @@
"Sign out": "Keluar",
"Someone": "Seseorang",
"Submit": "Kirim",
- "Start Chat": "Mulai Obrolan",
"Success": "Sukses",
"This email address was not found": "Alamat email ini tidak ada",
"This room": "Ruang ini",
"Unable to add email address": "Tidak dapat menambahkan alamat email",
"Unable to verify email address.": "Tidak dapat memverifikasi alamat email.",
- "Unable to load device list": "Tidak dapat memuat daftar perangkat",
"unencrypted": "tidak terenkripsi",
"unknown error code": "kode kesalahan tidak diketahui",
"unknown device": "perangkat tidak diketahui",
@@ -151,15 +144,12 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s telah menghapus nama ruang.",
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s telah mengubah nama ruang menjadi %(roomName)s.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s telah mengubah topik menjadi \"%(topic)s\".",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Mengubah password saat ini akan mengatur ulang semua kunci enkripsi end-to-end di semua perangkat, menyebabkan sejarah obrolan yang terenkripsi menjadi tidak dapat dibaca, kecuali sebelumnya Anda ekspor dahulu kunci ruang lalu kemudian impor ulang setelahnya. Ke depan hal ini akan diperbaiki.",
"click to reveal": "Klik untuk menampilkan",
"Could not connect to the integration server": "Tidak dapat terhubung ke server integrasi",
"Cryptography": "Kriptografi",
"Decrypt %(text)s": "Dekrip %(text)s",
"Decryption error": "Dekripsi gagal",
- "Device already verified!": "Perangkat telah terverifikasi!",
"device id: ": "id perangkat: ",
- "Device key:": "Kunci Perangkat:",
"Ban": "Blokir",
"Bans user with given id": "Blokir pengguna dengan id",
"Fetching third party location failed": "Gagal mengambil lokasi pihak ketiga",
@@ -212,7 +202,6 @@
"Files": "Files",
"Collecting app version information": "Mengumpukan informasi versi aplikasi",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Hapus alias ruang %(alias)s dan hapus %(name)s dari direktori?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Hal ini akan memperbolehkan anda kembali ke akun setelah keluar dan masuk kembali di perangkat lain.",
"Enable notifications for this account": "Aktifkan notifikasi untuk akun ini",
"Messages containing keywords": "Pesan mengandung kata kunci",
"Room not found": "Ruang tidak ditemukan",
@@ -305,7 +294,6 @@
"The information being sent to us to help make Riot.im better includes:": "Informasi yang dikirim membantu kami memperbaiki Riot.im, termasuk:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Apabila terdapat informasi yang dapat digunakan untuk pengenalan pada halaman ini, seperti ruang, pengguna, atau ID grup, kami akan menghapusnya sebelum dikirim ke server.",
"Call Failed": "Panggilan Gagal",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Ada perangkat yang belum dikenal di ruang ini: apabila Anda melanjutkan tanpa memverifikasi terlebih dahulu, pembicaraan Anda dapat disadap orang yang tidak diinginkan.",
"Review Devices": "Telaah Perangkat",
"Call Anyway": "Tetap Panggil",
"Answer Anyway": "Tetap Jawab",
diff --git a/src/i18n/strings/is.json b/src/i18n/strings/is.json
index 94b311ed0a..2e13f4b231 100644
--- a/src/i18n/strings/is.json
+++ b/src/i18n/strings/is.json
@@ -46,7 +46,6 @@
"Moderator": "Umsjónarmaður",
"Admin": "Stjórnandi",
"Start a chat": "Hefja spjall",
- "Start Chat": "Hefja spjall",
"Operation failed": "Aðgerð tókst ekki",
"You need to be logged in.": "Þú þarft að vera skráð/ur inn.",
"Unable to create widget.": "Gat ekki búið til viðmótshluta.",
@@ -70,8 +69,6 @@
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Birta tímamerki á 12 stunda sniði (t.d. 2:30 fh)",
"Always show message timestamps": "Alltaf birta tímamerki skilaboða",
"Send analytics data": "Senda greiningargögn",
- "Never send encrypted messages to unverified devices from this device": "Aldrei senda dulrituð skilaboð af þessu tæki til ósannvottaðra tækja",
- "Never send encrypted messages to unverified devices in this room from this device": "Aldrei senda dulrituð skilaboð af þessu tæki til ósannvottaðra tækja á þessari spjallrás",
"Enable inline URL previews by default": "Sjálfgefið virkja forskoðun innfelldra vefslóða",
"Room Colour": "Litur spjallrásar",
"Collecting app version information": "Safna upplýsingum um útgáfu forrits",
@@ -101,8 +98,6 @@
"Confirm password": "Staðfestu lykilorðið",
"Change Password": "Breyta lykilorði",
"Authentication": "Auðkenning",
- "Delete %(count)s devices|other": "Eyða %(count)s tækjum",
- "Delete %(count)s devices|one": "Eyða tæki",
"Device ID": "Auðkenni tækis",
"Last seen": "Sást síðast",
"Enable Notifications": "Virkja tilkynningar",
@@ -133,7 +128,6 @@
"%(senderName)s sent a video": "%(senderName)s sendi myndskeið",
"%(senderName)s uploaded a file": "%(senderName)s sendi inn skrá",
"Options": "Valkostir",
- "Unencrypted message": "Ódulrituð skilaboð",
"Blacklisted": "Á bannlista",
"device id: ": "Auðkenni tækis: ",
"Kick": "Sparka",
@@ -142,7 +136,6 @@
"Unban this user?": "Taka þennan notanda úr banni?",
"Ban this user?": "Banna þennan notanda?",
"Are you sure?": "Ertu viss?",
- "Devices": "Tæki",
"Unignore": "Byrja að fylgjast með á ný",
"Ignore": "Hunsa",
"Mention": "Minnst á",
@@ -165,8 +158,6 @@
"You do not have permission to post to this room": "Þú hefur ekki heimild til að senda skilaboð á þessa spjallrás",
"Server error": "Villa á þjóni",
"Command error": "Skipanavilla",
- "bold": "feitletrað",
- "italic": "skáletrað",
"Loading...": "Hleð inn...",
"Online": "Nettengt",
"Idle": "Iðjulaust",
@@ -183,7 +174,6 @@
"Search": "Leita",
"Invites": "Boðsgestir",
"Favourites": "Eftirlæti",
- "People": "Fólk",
"Rooms": "Spjallrásir",
"Low priority": "Lítill forgangur",
"Historical": "Ferilskráning",
@@ -210,7 +200,6 @@
"Cancel": "Hætta við",
"Jump to first unread message.": "Fara í fyrstu ólesin skilaboð.",
"Close": "Loka",
- "Invalid alias format": "Ógilt snið samnefnis",
"not specified": "ekki tilgreint",
"Invalid community ID": "Ógilt auðkenni samfélags",
"Flair": "Hlutverksmerki",
@@ -291,9 +280,6 @@
"Incorrect password": "Rangt lykilorð",
"Deactivate Account": "Gera notandaaðgang óvirkann",
"To continue, please enter your password:": "Til að halda áfram, settu inn lykilorðið þitt:",
- "Device name": "Heiti tækis",
- "Device key": "Dulritunarlykill tækis",
- "Verify device": "Sannreyna tæki",
"I verify that the keys match": "Ég staðfesti að dulritunarlyklarnir samsvari",
"Back": "Til baka",
"Send Account Data": "Senda upplýsingar um notandaaðgang",
@@ -319,8 +305,6 @@
"Failed to change password. Is your password correct?": "Mistókst að breyta lykilorðinu. Er lykilorðið rétt?",
"(HTTP status %(httpStatus)s)": "(HTTP staða %(httpStatus)s)",
"Please set a password!": "Stilltu lykilorð!",
- "Room contains unknown devices": "Spjallrás inniheldur óþekkt tæki",
- "Unknown devices": "Óþekkt tæki",
"Custom": "Sérsniðið",
"Alias (optional)": "Samnefni (valfrjálst)",
"You cannot delete this message. (%(code)s)": "Þú getur ekki eytt þessum skilaboðum. (%(code)s)",
@@ -371,8 +355,6 @@
"Success": "Tókst",
"Import E2E room keys": "Flytja inn E2E dulritunarlykla spjallrásar",
"Cryptography": "Dulritun",
- "Device ID:": "Auðkenni tækis:",
- "Device key:": "Dulritunarlykill tækis:",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot safnar nafnlausum greiningargögnum til að gera okkur kleift að bæta forritið.",
"Labs": "Tilraunir",
"Check for update": "Athuga með uppfærslu",
@@ -385,7 +367,6 @@
"Access Token:": "Aðgangsteikn:",
"click to reveal": "smelltu til að birta",
"Identity Server is": "Auðkennisþjónn er",
- "matrix-react-sdk version:": "Útgáfa matrix-react-sdk:",
"riot-web version:": "Útgáfa riot-web:",
"olm version:": "Útgáfa olm:",
"Failed to send email": "Mistókst að senda tölvupóst",
@@ -414,7 +395,6 @@
"Session ID": "Auðkenni setu",
"End-to-end encryption information": "Enda-í-enda dulritunarupplýsingar",
"Event information": "Upplýsingar um atburð",
- "Sender device information": "Upplýsingar um tæki sendanda",
"Export room keys": "Flytja út dulritunarlykla spjallrásar",
"Enter passphrase": "Settu inn lykilsetningu (passphrase)",
"Confirm passphrase": "Staðfestu lykilsetningu",
@@ -439,15 +419,11 @@
"You are already in a call.": "Þú ert nú þegar í samtali.",
"Invite new community members": "Bjóða nýjum meðlimum í samfélag",
"Which rooms would you like to add to this community?": "Hvaða spjallrásum myndir þú vilja bæta í þetta samfélag?",
- "Invite new room members": "Bjóða nýjum meðlimum á spjallrás",
- "Send Invites": "Senda boðskort",
"Failed to invite": "Mistókst að bjóða",
"Missing roomId.": "Vantar spjallrásarauðkenni.",
"/ddg is not a command": "/ddg er ekki skipun",
"Ignored user": "Hunsaður notandi",
- "Device already verified!": "Tæki er þegar sannreynt!",
"Verified key": "Staðfestur dulritunarlykill",
- "Unrecognised command:": "Óþekkt skipun:",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s breytti umræðuefninu í \"%(topic)s\".",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s fjarlægði heiti spjallrásarinnar.",
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s breytti heiti spjallrásarinnar í %(roomName)s.",
@@ -469,9 +445,6 @@
"State Key": "Stöðulykill",
"Explore Room State": "Skoða stöðu spjallrásar",
"Explore Account Data": "Skoða aðgangsgögn",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Þú bættir við nýju tæki '%(displayName)s', sem er að krefjast dulritunarlykla.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "ósannvottaða tækið þitt '%(displayName)s' er að krefjast dulritunarlykla.",
- "Loading device info...": "Hleð inn upplýsingum um tæki...",
"Clear Storage and Sign Out": "Hreinsa gagnageymslu og skrá út",
"Unable to restore session": "Tókst ekki að endurheimta setu",
"This doesn't appear to be a valid email address": "Þetta lítur ekki út eins og gilt tölvupóstfang",
@@ -480,7 +453,6 @@
"Username invalid: %(errMessage)s": "Notandanafn er ógilt: %(errMessage)s",
"An error occurred: %(error_string)s": "Villa kom upp: %(error_string)s",
"To get started, please pick a username!": "Til að komast í gang, veldu fyrst notandanafn!",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" inniheldur tæki sem þú hefur ekki séð áður.",
"Private Chat": "Einkaspjall",
"Public Chat": "Opinbert spjall",
"Collapse Reply Thread": "Fella saman svarþráð",
diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json
index 22fc083d08..4829d4cf7a 100644
--- a/src/i18n/strings/it.json
+++ b/src/i18n/strings/it.json
@@ -95,7 +95,6 @@
"The information being sent to us to help make Riot.im better includes:": "Le informazioni inviate per aiutarci a migliorare Riot.im includono:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Se questa pagina include informazioni identificabili, come una stanza, un utente o un ID di un gruppo, tali dati saranno rimossi prima di essere inviati al server.",
"Call Failed": "Chiamata fallita",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Ci sono dispositivi sconosciuti in questa stanza: se procedi senza verificarli, qualcuno avrà la possibilità di intercettare la tua chiamata.",
"Review Devices": "Controlla i dispositivi",
"Call Anyway": "Chiama comunque",
"Answer Anyway": "Rispondi comunque",
@@ -129,10 +128,6 @@
"Restricted": "Limitato",
"Moderator": "Moderatore",
"Start a chat": "Inizia una conversazione",
- "Who would you like to communicate with?": "Con chi vorresti comunicare?",
- "Start Chat": "Inizia conversazione",
- "Invite new room members": "Invita nuovi membri nella stanza",
- "Send Invites": "Manda inviti",
"Failed to invite": "Invito fallito",
"Failed to invite the following users to the %(roomName)s room:": "Invito nella stanza %(roomName)s fallito per i seguenti utenti:",
"You need to be logged in.": "Devi aver eseguito l'accesso.",
@@ -153,13 +148,7 @@
"You are now ignoring %(userId)s": "Ora stai ignorando %(userId)s",
"Unignored user": "Utente non più ignorato",
"You are no longer ignoring %(userId)s": "Non stai più ignorando %(userId)s",
- "Unknown (user, device) pair:": "Coppia (utente, dispositivo) sconosciuta:",
- "Device already verified!": "Dispositivo già verificato!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ATTENZIONE: dispositivo già verificato, ma le chiavi NON CORRISPONDONO!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ATTENZIONE: VERIFICA CHIAVI FALLITA! La chiave per %(userId)s e il dispositivo %(deviceId)s è \"%(fprint)s\" , la quale non corrisponde con la chiave fornita \"%(fingerprint)s\". Potrebbe significare che le tue comunicazioni vengono intercettate!",
"Verified key": "Chiave verificata",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "La chiave che hai fornito corrisponde alla chiave che hai ricevuto dal dispositivo %(deviceId)s di %(userId)s . Dispositivo segnato come verificato.",
- "Unrecognised command:": "Comando non riconosciuto:",
"Reason": "Motivo",
"%(senderName)s invited %(targetName)s.": "%(senderName)s ha invitato %(targetName)s.",
"%(senderName)s banned %(targetName)s.": "%(senderName)s ha bandito %(targetName)s.",
@@ -192,7 +181,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s ha reso visibile la futura cronologia della stanza a tutti i membri della stanza.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s ha reso visibile la futura cronologia della stanza a tutti.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s ha reso visibile la futura cronologia della stanza a sconosciuti (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ha attivato la crittografia end-to-end (algoritmo %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s da %(fromPowerLevel)s a %(toPowerLevel)s",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s ha cambiato i messaggi ancorati della stanza.",
"%(widgetName)s widget modified by %(senderName)s": "Widget %(widgetName)s modificato da %(senderName)s",
@@ -212,8 +200,6 @@
"Autoplay GIFs and videos": "Riproduzione automatica di GIF e video",
"Enable automatic language detection for syntax highlighting": "Attiva la rilevazione automatica della lingua per l'evidenziazione della sintassi",
"Automatically replace plain text Emoji": "Sostituisci automaticamente le emoji testuali",
- "Never send encrypted messages to unverified devices from this device": "Non inviare mai da questo dispositivo messaggi cifrati a dispositivi non verificati",
- "Never send encrypted messages to unverified devices in this room from this device": "Non inviare mai da questo dispositivo messaggi cifrati a dispositivi non verificati in questa stanza",
"Enable inline URL previews by default": "Attiva le anteprime URL in modo predefinito",
"Enable URL previews for this room (only affects you)": "Attiva le anteprime URL in questa stanza (riguarda solo te)",
"Enable URL previews by default for participants in this room": "Attiva le anteprime URL in modo predefinito per i partecipanti in questa stanza",
@@ -233,7 +219,6 @@
"No display name": "Nessun nome visibile",
"New passwords don't match": "Le nuove password non corrispondono",
"Passwords can't be empty": "Le password non possono essere vuote",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "La modifica della password ripristinerà qualsiasi chiave di cifratura end-to-end su tutti i dispositivi, rendendo illeggibile la cronologia delle chat, a meno che prima non esporti le tue chiavi della stanza e poi le importi. In futuro ciò verrà migliorato.",
"Export E2E room keys": "Esporta chiavi E2E della stanza",
"Do you want to set an email address?": "Vuoi impostare un indirizzo email?",
"Current password": "Password attuale",
@@ -241,9 +226,6 @@
"New Password": "Nuova password",
"Confirm password": "Conferma password",
"Change Password": "Modifica password",
- "Unable to load device list": "Impossibile caricare l'elenco dei dispositivi",
- "Delete %(count)s devices|other": "Elimina %(count)s dispositivi",
- "Delete %(count)s devices|one": "Elimina dispositivo",
"Device ID": "ID dispositivo",
"Last seen": "Visto l'ultima volta",
"Failed to set display name": "Impostazione nome visibile fallita",
@@ -259,14 +241,7 @@
"%(senderName)s sent a video": "%(senderName)s ha inviato un video",
"%(senderName)s uploaded a file": "%(senderName)s ha inviato un file",
"Options": "Opzioni",
- "Your key share request has been sent - please check your other devices for key share requests.": "Richiesta di condivisione chiavi inviata - controlla i tuoi altri dispositivi per richieste di condivisione chiavi.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Le richieste di condivisione chiavi sono inviate automaticamente ai tuoi altri dispositivi. Se hai rifiutato o annullato la richiesta negli altri dispositivi, clicca qui per richiederle nuovamente.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Se i tuoi altri dispositivi non hanno la chiave per questo messaggio non potrai decriptarli.",
"Key request sent.": "Richiesta chiave inviata.",
- "Re-request encryption keys from your other devices.": "Chiedi di nuovo le chiavi di cifratura dai tuoi altri dispositivi.",
- "Undecryptable": "Indecifrabile",
- "Encrypted by an unverified device": "Criptato da un dispositivo non verificato",
- "Unencrypted message": "Messaggio non criptato",
"Please select the destination room for this message": "Seleziona la stanza di destinazione per questo messaggio",
"Blacklisted": "In lista nera",
"device id: ": "ID dispositivo: ",
@@ -286,8 +261,6 @@
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Non potrai annullare questa modifica dato che ti stai declassando, se sei l'ultimo utente privilegiato nella stanza sarà impossibile ottenere di nuovo i privilegi.",
"Are you sure?": "Sei sicuro?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Non potrai annullare questa modifica dato che stai promuovendo l'utente al tuo stesso grado.",
- "No devices with registered encryption keys": "Nessun dispositivo con chiavi di cifratura registrate",
- "Devices": "Dispositivi",
"Unignore": "Non ignorare più",
"Ignore": "Ignora",
"Mention": "Cita",
@@ -307,20 +280,14 @@
"Voice call": "Chiamata vocale",
"Video call": "Chiamata video",
"Upload file": "Invia file",
- "Show Text Formatting Toolbar": "Mostra barra di formattazione testo",
"Send an encrypted reply…": "Invia una risposta criptata…",
"Send a reply (unencrypted)…": "Invia una risposta (non criptata)…",
"Send an encrypted message…": "Invia un messaggio criptato…",
"Send a message (unencrypted)…": "Invia un messaggio (non criptato)…",
"You do not have permission to post to this room": "Non hai il permesso di inviare in questa stanza",
- "Hide Text Formatting Toolbar": "Nascondi barra di formattazione testo",
"Server error": "Errore del server",
"Server unavailable, overloaded, or something else went wrong.": "Server non disponibile, sovraccarico o qualcos'altro è andato storto.",
"Command error": "Errore nel comando",
- "bold": "grassetto",
- "italic": "corsivo",
- "Markdown is disabled": "Il markdown è disattivato",
- "Markdown is enabled": "Il markdown è attivato",
"Jump to message": "Salta al messaggio",
"No pinned messages.": "Nessun messaggio ancorato.",
"Loading...": "Caricamento...",
@@ -349,7 +316,6 @@
"Community Invites": "Inviti della comunità",
"Invites": "Inviti",
"Favourites": "Preferiti",
- "People": "Persone",
"Low priority": "Bassa priorità",
"Historical": "Cronologia",
"Power level must be positive integer.": "Il livello di poteri deve essere un intero positivo.",
@@ -379,8 +345,6 @@
"Members only (since they joined)": "Solo i membri (da quando sono entrati)",
"Permissions": "Autorizzazioni",
"Jump to first unread message.": "Salta al primo messaggio non letto.",
- "Invalid alias format": "Formato alias non valido",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' non è un formato valido per un alias",
"not specified": "non specificato",
"Remote addresses for this room:": "Indirizzi remoti di questa stanza:",
"Local addresses for this room:": "Indirizzi locali di questa stanza:",
@@ -539,19 +503,11 @@
"Unknown error": "Errore sconosciuto",
"Incorrect password": "Password sbagliata",
"Deactivate Account": "Disattiva l'account",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Per verificare se questo dispositivo è fidato, contatta il suo proprietario usando altri metodi (es. di persona o telefonando) e chiedigli se la chiave che vede nelle sue impostazioni utente per questo dispositivo coincide con la chiave sotto:",
- "Device name": "Nome del dispositivo",
- "Device key": "Chiave del dispositivo",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Se coincide, premi il pulsante di verifica sotto. Se non coincide, allora qualcuno sta intercettando questo dispositivo e dovresti premere il pulsante di lista nera.",
- "Verify device": "Verifica dispositivo",
"I verify that the keys match": "Confermo che le chiavi coincidono",
"An error has occurred.": "Si è verificato un errore.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Hai aggiunto un nuovo dispositivo '%(displayName)s', che sta richiedendo chiavi di cifratura.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Il dispositivo non verificato '%(displayName)s' sta richiedendo chiavi di cifratura.",
"Start verification": "Inizia la verifica",
"Share without verifying": "Condividi senza verificare",
"Ignore request": "Ignora la richiesta",
- "Loading device info...": "Caricamento info dispositivo...",
"Encryption key request": "Richiesta chiave di cifratura",
"Unable to restore session": "Impossibile ripristinare la sessione",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se hai usato precedentemente una versione più recente di Riot, la tua sessione potrebbe essere incompatibile con questa versione. Chiudi questa finestra e torna alla versione più recente.",
@@ -570,11 +526,6 @@
"To get started, please pick a username!": "Per iniziare, scegli un nome utente!",
"This will be your account name on the homeserver, or you can pick a different server.": "Questo sarà il tuo account nell'homeserver , o puoi scegliere un server diverso.",
"If you already have a Matrix account you can log in instead.": "Se invece hai già un account Matrix puoi accedere.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Attualmente stai bloccando i dispositivi non verificati; per inviare messaggi a questi dispositivi devi verificarli.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Ti consigliamo di eseguire il processo di verifica per ogni dispositivo per confermare che appartiene al legittimo proprietario, ma puoi reinviare il messaggio senza verifica se lo preferisci.",
- "Room contains unknown devices": "La stanza contiene dispositivi sconosciuti",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contiene dispositivi che non hai mai visto prima.",
- "Unknown devices": "Dispositivi sconosciuti",
"Private Chat": "Conversazione privata",
"Public Chat": "Chat pubblica",
"Custom": "Personalizzato",
@@ -634,8 +585,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Crea una comunità per raggruppare utenti e stanze! Crea una pagina iniziale personalizzata per stabilire il tuo spazio nell'universo di Matrix.",
"You have no visible notifications": "Non hai alcuna notifica visibile",
"Scroll to bottom of page": "Scorri in fondo alla pagina",
- "Message not sent due to unknown devices being present": "Messaggio non inviato data la presenza di dispositivi sconosciuti",
- "Show devices, send anyway or cancel.": "Mostra dispositivi, invia comunque o annulla.",
"%(count)s of your messages have not been sent.|other": "Alcuni dei tuoi messaggi non sono stati inviati.",
"%(count)s of your messages have not been sent.|one": "Il tuo messaggio non è stato inviato.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Reinvia tutti o annulla tutti adesso. Puoi anche selezionare i singoli messaggi da reinviare o annullare.",
@@ -668,13 +617,10 @@
"Dark theme": "Tema scuro",
"Sign out": "Disconnetti",
"Success": "Successo",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "La tua password è stata cambiata correttamente. Non riceverai notifiche push su altri dispositivi finchè non riesegui l'accesso su di essi",
"Unable to remove contact information": "Impossibile rimuovere le informazioni di contatto",
"": "",
"Import E2E room keys": "Importa chiavi E2E stanza",
"Cryptography": "Crittografia",
- "Device ID:": "ID dispositivo:",
- "Device key:": "Chiave dispositivo:",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Se hai segnalato un errore via Github, i log di debug possono aiutarci a identificare il problema. I log di debug contengono dati di utilizzo dell'applicazione inclusi il nome utente, gli ID o alias delle stanze o gruppi visitati e i nomi degli altri utenti. Non contengono messaggi.",
"Submit debug logs": "Invia log di debug",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot raccoglie statistiche anonime per permetterci di migliorare l'applicazione.",
@@ -690,7 +636,6 @@
"click to reveal": "clicca per mostrare",
"Homeserver is": "L'homeserver è",
"Identity Server is": "Il server di identità è",
- "matrix-react-sdk version:": "versione matrix-react-sdk:",
"riot-web version:": "versione riot-web:",
"olm version:": "versione olm:",
"Failed to send email": "Invio dell'email fallito",
@@ -722,7 +667,6 @@
"Kicks user with given id": "Caccia un utente per ID",
"Changes your display nickname": "Modifica il tuo nick visualizzato",
"Searches DuckDuckGo for results": "Cerca risultati su DuckDuckGo",
- "Verifies a user, device, and pubkey tuple": "Verifica una tupla di utente, dispositivo e chiave pubblica",
"Ignores a user, hiding their messages from you": "Ignora un utente, non mostrandoti i suoi messaggi",
"Stops ignoring a user, showing their messages going forward": "Smetti di ignorare un utente, mostrando i suoi messaggi successivi",
"Opens the Developer Tools dialog": "Apre la finestra di strumenti per sviluppatori",
@@ -746,7 +690,6 @@
"Session ID": "ID sessione",
"End-to-end encryption information": "Informazioni di cifratura end-to-end",
"Event information": "Informazioni evento",
- "Sender device information": "Informazioni dispositivo mittente",
"Passphrases must match": "Le password devono coincidere",
"Passphrase must not be empty": "La password non può essere vuota",
"Export room keys": "Esporta chiavi della stanza",
@@ -820,7 +763,6 @@
"Resend": "Reinvia",
"Collecting app version information": "Raccolta di informazioni sulla versione dell'applicazione",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Eliminare l'alias %(alias)s e rimuovere %(name)s dalla lista?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Questo ti permetterà di ritornare al tuo account dopo esserti disconnesso e accedere in altri dispositivi.",
"Keywords": "Parole chiave",
"Enable notifications for this account": "Abilita le notifiche per questo account",
"Invite to this community": "Invita a questa comunità",
@@ -910,8 +852,6 @@
"Missing roomId.": "ID stanza mancante.",
"Always show encryption icons": "Mostra sempre icone di cifratura",
"Enable widget screenshots on supported widgets": "Attiva le schermate dei widget sui widget supportati",
- "Unable to reply": "Impossibile rispondere",
- "At this time it is not possible to reply with an emote.": "Al momento non è possibile rispondere con una emoticon.",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Impossibile caricare l'evento a cui si è risposto, o non esiste o non hai il permesso di visualizzarlo.",
"Refresh": "Aggiorna",
"We encountered an error trying to restore your previous session.": "Abbiamo riscontrato un errore tentando di ripristinare la tua sessione precedente.",
@@ -958,12 +898,6 @@
"This event could not be displayed": "Questo evento non può essere mostrato",
"Demote yourself?": "Retrocedi?",
"Demote": "Retrocedi",
- "deleted": "cancellato",
- "underlined": "sottolineato",
- "inline-code": "codice in linea",
- "block-quote": "citazione",
- "bulleted-list": "lista a punti",
- "numbered-list": "lista a numeri",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "Nelle stanze criptate, come questa, le anteprime degli URL sono disabilitate di default per garantire che il tuo server di casa (dove vengono generate le anteprime) non possa raccogliere informazioni sui collegamenti che vedi in questa stanza.",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Quando qualcuno inserisce un URL nel proprio messaggio, è possibile mostrare un'anteprima dell'URL per fornire maggiori informazioni su quel collegamento, come il titolo, la descrizione e un'immagine dal sito web.",
"The email field must not be blank.": "Il campo email non deve essere vuoto.",
@@ -1055,11 +989,6 @@
"Unknown server error": "Errore sconosciuto del server",
"Delete Backup": "Elimina backup",
"Unable to load key backup status": "Impossibile caricare lo stato del backup delle chiavi",
- "Backup has a valid signature from this device": "Il backup ha una firma valida da questo dispositivo",
- "Backup has a valid signature from unverified device ": "Il backup ha una firma valida dal dispositivo non verificato",
- "Backup has an invalid signature from verified device ": "Il backup ha una firma non valida dal dispositivo verificato",
- "Backup has an invalid signature from unverified device ": "Il backup ha una firma non valida dal dispositivo non verificato",
- "Backup is not signed by any of your devices": "Il backup non è firmato da alcun tuo dispositivo",
"Backup version: ": "Versione backup: ",
"Algorithm: ": "Algoritmo: ",
"Please review and accept all of the homeserver's policies": "Si prega di rivedere e accettare tutte le politiche dell'homeserver",
@@ -1081,7 +1010,6 @@
"This looks like a valid recovery key!": "Sembra essere una chiave di recupero valida!",
"Not a valid recovery key": "Non è una chiave di recupero valida",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Accedi alla cronologia sicura dei messaggi e imposta la messaggistica sicura inserendo la tua chiave di recupero.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Se hai dimenticato la password di recupero puoi impostare nuove opzioni di recupero",
"Failed to load group members": "Caricamento membri del gruppo fallito",
"Failed to perform homeserver discovery": "Ricerca dell'homeserver fallita",
"Invalid homeserver discovery response": "Risposta della ricerca homeserver non valida",
@@ -1097,12 +1025,9 @@
"Your Recovery Key": "La tua chiave di recupero",
"Copy to clipboard": "Copia negli appunti",
"Download": "Scarica",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "La tua chiave di recupero è stata copiata negli appunti, incollala in:",
- "Your Recovery Key is in your Downloads folder.": "La tua chiave di recupero è nella cartella Download.",
"Print it and store it somewhere safe": "Stampala e conservala in un luogo sicuro",
"Save it on a USB key or backup drive": "Salvala in una chiave USB o disco di backup",
"Copy it to your personal cloud storage": "Copiala nel tuo archivio cloud personale",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Senza impostare un ripristino sicuro dei messaggi, non potrai ripristinare la cronologia dei messaggi cifrati se ti disconnetti o utilizzi un altro dispositivo.",
"Set up Secure Message Recovery": "Imposta ripristino sicuro dei messaggi",
"Keep it safe": "Tienila al sicuro",
"Create Key Backup": "Crea backup chiave",
@@ -1123,7 +1048,6 @@
"Straight rows of keys are easy to guess": "Sequenze di tasti in riga sono facili da indovinare",
"Short keyboard patterns are easy to guess": "Sequenze di tasti brevi sono facili da indovinare",
"Custom user status messages": "Messaggi di stato utente personalizzati",
- "Backup has a valid signature from verified device ": "Il backup ha una firma valida dal dispositivo verificato",
"Unable to load commit detail: %(msg)s": "Caricamento dettagli del commit fallito: %(msg)s",
"Set a new status...": "Imposta un nuovo stato...",
"Clear status": "Elimina stato",
@@ -1186,7 +1110,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "Verifica questo utente confermando che la seguente emoji appare sul suo schermo.",
"Verify this user by confirming the following number appears on their screen.": "Verifica questo utente confermando che il seguente numero appare sul suo schermo.",
"Unable to find a supported verification method.": "Impossibile trovare un metodo di verifica supportato.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Per la massima sicurezza, ti consigliamo di farlo di persona o di utilizzare un altro mezzo di comunicazione fidato.",
"Dog": "Cane",
"Cat": "Gatto",
"Lion": "Leone",
@@ -1233,7 +1156,6 @@
"Pencil": "Matita",
"Paperclip": "Graffetta",
"Scissors": "Forbici",
- "Padlock": "Lucchetto",
"Key": "Chiave",
"Hammer": "Martello",
"Telephone": "Telefono",
@@ -1251,7 +1173,6 @@
"Headphones": "Auricolari",
"Folder": "Cartella",
"Pin": "Spillo",
- "Your homeserver does not support device management.": "Il tuo homeserver non supporta la gestione dei dispositivi.",
"Yes": "Sì",
"No": "No",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Ti abbiamo inviato un'email per verificare il tuo indirizzo. Segui le istruzioni contenute e poi clicca il pulsante sotto.",
@@ -1259,20 +1180,15 @@
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Sei sicuro? Perderai i tuoi messaggi cifrati se non hai salvato adeguatamente le tue chiavi.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "I messaggi criptati sono resi sicuri con una cifratura end-to-end. Solo tu e il/i destinatario/i avete le chiavi per leggere questi messaggi.",
"Restore from Backup": "Ripristina da un backup",
- "This device is backing up your keys. ": "Questo dispositivo sta facendo una copia delle tue chiavi. ",
"Back up your keys before signing out to avoid losing them.": "Fai una copia delle tue chiavi prima di disconnetterti per evitare di perderle.",
"Backing up %(sessionsRemaining)s keys...": "Copia di %(sessionsRemaining)s chiavi...",
"All keys backed up": "Tutte le chiavi sono state copiate",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Il backup ha una firma dal dispositivo sconosciuto con ID %(deviceId)s.",
- "This backup is trusted because it has been restored on this device": "Questo backup è fidato perchè è stato ripristinato su questo dispositivo",
- "Your keys are not being backed up from this device.": "Le tue chiavi non stanno venendo copiate da questo dispositivo.",
"Start using Key Backup": "Inizia ad usare il backup chiavi",
"Add an email address to configure email notifications": "Aggiungi un indirizzo email per configurare le notifiche via email",
"Unable to verify phone number.": "Impossibile verificare il numero di telefono.",
"Verification code": "Codice di verifica",
"Phone Number": "Numero di telefono",
"Profile picture": "Immagine del profilo",
- "Upload profile picture": "Invia immagine del profilo",
"Upgrade to your own domain": "Aggiorna ad un tuo dominio personale",
"Display Name": "Nome visualizzato",
"Set a new account password...": "Imposta una nuova password dell'account...",
@@ -1335,10 +1251,6 @@
"Encryption": "Cifratura",
"Once enabled, encryption cannot be disabled.": "Una volta attivata, la cifratura non può essere disattivata.",
"Encrypted": "Cifrato",
- "Some devices for this user are not trusted": "Alcuni dispositivi di questo utente non sono fidati",
- "Some devices in this encrypted room are not trusted": "Alcuni dispositivi in questa stanza cifrata non sono fidati",
- "All devices for this user are trusted": "Tutti i dispositivi di questo utente sono fidati",
- "All devices in this encrypted room are trusted": "Tutti i dispositivi in questa stanza cifrata sono fidati",
"Never lose encrypted messages": "Non perdere mai i messaggi cifrati",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "I messaggi in questa stanza sono protetti con crittografia end-to-end. Solo tu e i destinatari avete le chiavi per leggere questi messaggi.",
"Securely back up your keys to avoid losing them. Learn more.": "Fai una copia sicura delle chiavi per evitare di perderle. Maggiori informazioni.",
@@ -1354,8 +1266,6 @@
"Error updating flair": "Errore aggiornamento predisposizione",
"There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Si è verificato un errore nell'aggiornamento della predisposizione di questa stanza. Potrebbe non essere permesso dal server o si è verificato un errore temporaneo.",
"Room avatar": "Avatar della stanza",
- "Upload room avatar": "Invia avatar della stanza",
- "No room avatar": "Nessun avatar della stanza",
"Room Name": "Nome stanza",
"Room Topic": "Argomento stanza",
"Join": "Entra",
@@ -1367,7 +1277,6 @@
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Non compare niente? Non tutti i client supportano ancora la verifica interattiva. Usa la verifica obsoleta.",
"Use two-way text verification": "Usa la verifica testuale bidirezionale",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifica questo utente per contrassegnarlo come affidabile. La fiducia degli utenti offre una maggiore tranquillità quando si utilizzano messaggi cifrati end-to-end.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "La verifica di questo utente contrassegna il suo dispositivo come affidabile a te e viceversa.",
"Waiting for partner to confirm...": "In attesa che il partner confermi...",
"Incoming Verification Request": "Richiesta di verifica in arrivo",
"I don't want my encrypted messages": "Non voglio i miei messaggi cifrati",
@@ -1418,12 +1327,10 @@
"This homeserver does not support communities": "Questo homeserver non supporta le comunità",
"Guest": "Ospite",
"Could not load user profile": "Impossibile caricare il profilo utente",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "La modifica della password reimposta qualsiasi chiave di cifratura end-to-end su tutti i dispositivi, rendendo illeggibile la cronologia della chat cifrata. Imposta il backup chiavi o esporta le chiavi della stanza da un altro dispositivo prima di reimpostare la password.",
"Your Matrix account on %(serverName)s": "Il tuo account Matrix su %(serverName)s",
"A verification email will be sent to your inbox to confirm setting your new password.": "Ti verrà inviata un'email di verifica per confermare la tua nuova password.",
"Sign in instead": "Oppure accedi",
"Your password has been reset.": "La tua password è stata reimpostata.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Sei stato disconnesso da tutti i dispositivi e non riceverai più notifiche push. Per riattivare le notifiche, accedi di nuovo su ogni dispositivo.",
"Set a new password": "Imposta un nuova password",
"This homeserver does not support login using email address.": "Questo homeserver non supporta l'accesso tramite indirizzo email.",
"Create account": "Crea account",
@@ -1436,7 +1343,6 @@
"Set up with a Recovery Key": "Imposta con una chiave di ripristino",
"Please enter your passphrase a second time to confirm.": "Inserisci la tua password un'altra volta per confermare.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "La tua chiave di ripristino è una rete di sicurezza - puoi usarla per recuperare l'accesso ai tuoi messaggi cifrati se dimentichi la tua password.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Conserva la chiave di ripristino in un luogo molto sicuro, come un password manager (o una cassaforte)",
"Your keys are being backed up (the first backup could take a few minutes).": "Il backup delle chiavi è in corso (il primo backup potrebbe richiedere qualche minuto).",
"Secure your backup with a passphrase": "Proteggi il tuo backup con una password",
"Confirm your passphrase": "Conferma la tua password",
@@ -1444,22 +1350,13 @@
"Starting backup...": "Avvio del backup...",
"Success!": "Completato!",
"A new recovery passphrase and key for Secure Messages have been detected.": "Sono state rilevate una nuova password di ripristino e una chiave per i messaggi sicuri.",
- "This device is encrypting history using the new recovery method.": "Questo dispositivo sta criptando la cronologia utilizzando il nuovo metodo di ripristino.",
"Recovery Method Removed": "Metodo di ripristino rimosso",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Questo dispositivo ha rilevato che la password di ripristino e la chiave per i messaggi sicuri sono stati rimossi.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Se l'hai fatto per sbaglio, è possibile impostare Messaggi Sicuri su questo dispositivo che cripterà nuovamente la cronologia dei messaggi con un nuovo metodo di ripristino.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Se non hai rimosso il metodo di ripristino, è possibile che un aggressore stia cercando di accedere al tuo account. Cambia la password del tuo account e imposta immediatamente un nuovo metodo di recupero nelle impostazioni.",
- "Room upgrade confirmation": "Conferma di aggiornamento stanza",
- "Upgrading a room can be destructive and isn't always necessary.": "Aggiornare una stanza può essere distruttivo e non sempre è necessario.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Gli aggiornamenti delle stanze sono solitamente consigliati quando una versione è considerata non stabile. Le versioni di stanza non stabili possono avere errori, funzioni mancanti o vulnerabilità di sicurezza.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Gli aggiornamenti della stanza di solito influenzano solo l'elaborazione lato-server della stanza. Se riscontri un problema con il tuo client Riot, segnalalo con .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Attenzione: aggiornare una stanza non migrerà automaticamente i membri della stanza alla nuova versione. Inseriremo un link alla nuova stanza nella vecchia versione - i membri dovranno cliccare questo link per unirsi alla nuova stanza.",
"Adds a custom widget by URL to the room": "Aggiunge alla stanza un widget personalizzato da URL",
"Please supply a https:// or http:// widget URL": "Fornisci un URL https:// o http:// per il widget",
"You cannot modify widgets in this room.": "Non puoi modificare i widget in questa stanza.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s ha revocato l'invito a %(targetDisplayName)s di unirsi alla stanza.",
- "Enable desktop notifications for this device": "Attiva le notifiche desktop per questo dispositivo",
- "Enable audible notifications for this device": "Attiva le notifiche audio per questo dispositivo",
"Upgrade this room to the recommended room version": "Aggiorna questa stanza alla versione consigliata",
"This room is running room version , which this homeserver has marked as unstable.": "La versione di questa stanza è , che questo homeserver ha segnalato come non stabile.",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Aggiornare questa stanza spegnerà l'istanza attuale della stanza e ne creerà una aggiornata con lo stesso nome.",
@@ -1484,8 +1381,6 @@
"The file '%(fileName)s' failed to upload.": "Invio del file '%(fileName)s' fallito.",
"The server does not support the room version specified.": "Il server non supporta la versione di stanza specificata.",
"Name or Matrix ID": "Nome o ID Matrix",
- "Email, name or Matrix ID": "Email, nome o ID Matrix",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Conferma di volere continuare nell'aggiornamento di questa stanza dalla alla .",
"Changes your avatar in this current room only": "Cambia il tuo avatar solo nella stanza attuale",
"Unbans user with given ID": "Riammette l'utente con l'ID dato",
"Sends the given message coloured as a rainbow": "Invia il messaggio dato colorato come un arcobaleno",
@@ -1493,10 +1388,6 @@
"The user's homeserver does not support the version of the room.": "L'homeserver dell'utente non supporta la versione della stanza.",
"Show hidden events in timeline": "Mostra eventi nascosti nella timeline",
"When rooms are upgraded": "Quando le stanze vengono aggiornate",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Questo dispositivo non sta facendo backup delle tue chiavi, ma hai un backup esistente che puoi ripristinare e aggiungere da adesso in poi.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Connetti questo dispositivo al backup chiavi prima di disconnetterti per evitare di perdere chiavi che potrebbero essere solo in questo dispositivo.",
- "Connect this device to Key Backup": "Connetti questo dispositibo al Backup Chiavi",
- "Backup has an invalid signature from this device": "Il backup ha un firma non valida da questo dispositivo",
"this room": "questa stanza",
"View older messages in %(roomName)s.": "Vedi messaggi più vecchi in %(roomName)s.",
"Joining room …": "Ingresso nella stanza …",
@@ -1613,22 +1504,18 @@
"Resend %(unsentCount)s reaction(s)": "Reinvia %(unsentCount)s reazione/i",
"Resend removal": "Reinvia la rimozione",
"Changes your avatar in all rooms": "Cambia il tuo avatar in tutte le stanze",
- "Clear all data on this device?": "Eliminare tutti i dati in questo dispositivo?",
"Your homeserver doesn't seem to support this feature.": "Il tuo homeserver non sembra supportare questa funzione.",
"You're signed out": "Sei disconnesso",
"Clear all data": "Elimina tutti i dati",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Per favore dicci cos'è andato storto, o meglio, crea una segnalazione su GitHub che descriva il problema.",
"Removing…": "Rimozione…",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "L'eliminazione di tutti i dati dal dispositivo è permanente. I messaggi cifrati andranno persi a meno che non si abbia un backup delle loro chiavi.",
"Failed to re-authenticate due to a homeserver problem": "Riautenticazione fallita per un problema dell'homeserver",
"Failed to re-authenticate": "Riautenticazione fallita",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Ottieni l'accesso al tuo account e ripristina le chiavi di cifratura salvate nel dispositivo. Senza di esse, non potrai leggere tutti i tuoi messaggi sicuri su qualsiasi dispositivo.",
"Enter your password to sign in and regain access to your account.": "Inserisci la tua password per accedere ed ottenere l'accesso al tuo account.",
"Forgotten your password?": "Hai dimenticato la password?",
"Sign in and regain access to your account.": "Accedi ed ottieni l'accesso al tuo account.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Non puoi accedere al tuo account. Contatta l'admin del tuo homeserver per maggiori informazioni.",
"Clear personal data": "Elimina dati personali",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Attenzione: i tuoi dati personali (incluse le chiavi di cifratura) sono ancora in questo dispositivo. Eliminali se hai finito di usare il dispositivo o se vuoi accedere ad un altro account.",
"Identity Server": "Server identità",
"Find others by phone or email": "Trova altri per telefono o email",
"Be found by phone or email": "Trovato per telefono o email",
@@ -1640,7 +1527,6 @@
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Chiedi all'amministratore del tuo homeserver(%(homeserverDomain)s) per configurare un server TURN affinché le chiamate funzionino in modo affidabile.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "In alternativa, puoi provare a utilizzare il server pubblico all'indirizzo turn.matrix.org, ma questo non sarà così affidabile e condividerà il tuo indirizzo IP con quel server. Puoi anche gestirlo in Impostazioni.",
"Try using turn.matrix.org": "Prova a usare turn.matrix.org",
- "Failed to start chat": "Impossibile avviare la chat",
"Messages": "Messaggi",
"Actions": "Azioni",
"Displays list of commands with usages and descriptions": "Visualizza l'elenco dei comandi con usi e descrizioni",
@@ -1670,7 +1556,6 @@
"Please enter verification code sent via text.": "Inserisci il codice di verifica inviato via SMS.",
"Discovery options will appear once you have added a phone number above.": "Le opzioni di scoperta appariranno dopo aver aggiunto un numero di telefono sopra.",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "È stato inviato un SMS a +%(msisdn)s. Inserisci il codice di verifica contenuto.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Per verificare che questo dispositivo sia affidabile, controlla che la chiave che vedi nelle Impostazioni Utente su quel dispositivo corrisponde alla chiave sotto:",
"Command Help": "Aiuto comando",
"No identity server is configured: add one in server settings to reset your password.": "Nessun server di identità configurato: aggiungine uno nelle impostazioni server per ripristinare la password.",
"This account has been deactivated.": "Questo account è stato disattivato.",
@@ -1682,7 +1567,6 @@
"Terms of service not accepted or the identity server is invalid.": "Condizioni di servizio non accettate o server di identità non valido.",
"Enter a new identity server": "Inserisci un nuovo server di identità",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Accetta le condizioni di servizio del server di identità (%(serverName)s) per poter essere trovabile tramite indirizzo email o numero di telefono.",
- "A device's public name is visible to people you communicate with": "Il nome pubblico di un dispositivo è visibile dalle persone con cui comunichi",
"Remove %(email)s?": "Rimuovere %(email)s?",
"Remove %(phone)s?": "Rimuovere %(phone)s?",
"Multiple integration managers": "Gestori di integrazione multipli",
@@ -1780,7 +1664,6 @@
"Notification Autocomplete": "Autocompletamento notifiche",
"Room Autocomplete": "Autocompletamento stanze",
"User Autocomplete": "Autocompletamento utenti",
- "Use the new, faster, composer for writing messages": "Usa il compositore nuovo e più veloce per scrivere messaggi",
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Stai per rimuovere 1 messaggio da %(user)s. Non può essere annullato. Vuoi continuare?",
"Remove %(count)s messages|one": "Rimuovi 1 messaggio",
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Chiave pubblica di Captcha mancante nella configurazione dell'homeserver. Segnalalo all'amministratore dell'homeserver.",
@@ -1870,11 +1753,7 @@
"Custom (%(level)s)": "Personalizzato (%(level)s)",
"Trusted": "Fidato",
"Not trusted": "Non fidato",
- "Hide verified Sign-In's": "Nascondi accessi verificati",
- "%(count)s verified Sign-In's|other": "%(count)s accessi verificati",
- "%(count)s verified Sign-In's|one": "1 accesso verificato",
"Direct message": "Messaggio diretto",
- "Unverify user": "Revoca verifica utente",
"%(role)s in %(roomName)s": "%(role)s in %(roomName)s",
"Messages in this room are end-to-end encrypted.": "I messaggi in questa stanza sono cifrati end-to-end.",
"Security": "Sicurezza",
@@ -1891,7 +1770,6 @@
"Using this widget may share data with %(widgetDomain)s.": "Usando questo widget i dati possono essere condivisi con %(widgetDomain)s.",
"Widget added by": "Widget aggiunto da",
"This widget may use cookies.": "Questo widget può usare cookie.",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Invia le richieste di verifica via messaggio diretto, inclusa una nuova esperienza utente per la verifica nel pannello membri.",
"Enable local event indexing and E2EE search (requires restart)": "Attiva l'indicizzazione di eventi locali e la ricerca E2EE (richiede riavvio)",
"Connecting to integration manager...": "Connessione al gestore di integrazioni...",
"Cannot connect to integration manager": "Impossibile connettere al gestore di integrazioni",
@@ -1916,7 +1794,6 @@
"Ignored/Blocked": "Ignorati/Bloccati",
"Verification Request": "Richiesta verifica",
" (1/%(totalCount)s)": " (1/%(totalCount)s)",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Attiva la firma incrociata per la verifica per-utente invece che per-dispositivo (in sviluppo)",
"Match system theme": "Usa il tema di sistema",
"%(senderName)s placed a voice call.": "%(senderName)s ha effettuato una chiamata vocale.",
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s ha effettuato una chiamata vocale. (non supportata da questo browser)",
@@ -1958,7 +1835,6 @@
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ha modificato una regola di ban che corrispondeva a %(oldGlob)s per corrispondere a %(newGlob)s perchè %(reason)s",
"Send cross-signing keys to homeserver": "Invia chiavi di firma incrociata all'homeserver",
"Cross-signing public keys:": "Chiavi pubbliche di firma incrociata:",
- "on device": "sul dispositivo",
"not found": "non trovato",
"Cross-signing private keys:": "Chiavi private di firma incrociata:",
"in secret storage": "in un archivio segreto",
@@ -1971,66 +1847,446 @@
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "Impossibile accedere all'archivio segreto. Controlla di avere inserito la password corretta.",
"Warning: You should only access secret storage from a trusted computer.": "Attenzione: dovresti accedere all'archivio segreto solo da un computer fidato.",
"Cross-signing and secret storage are enabled.": "La firma incrociata e l'archivio segreto sono attivi.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Il tuo account ha un'identità a firma incrociata in archivio segreto, ma non è ancora fidata da questo dispositivo.",
"Cross-signing and secret storage are not yet set up.": "La firma incrociata e l'archivio segreto non sono ancora impostati.",
"not stored": "non salvato",
"Backup has a valid signature from this user": "Il backup ha una firma valida da questo utente",
"Backup has a invalid signature from this user": "Il backup ha una firma non valida da questo utente",
"Backup has a signature from unknown user with ID %(deviceId)s": "Il backup ha una firma dall'utente sconosciuto con ID %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Il backup ha una firma dal dispositivo sconosciuto con ID %(deviceId)s",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Backup chiavi presente nell'archivio segreto, ma questa funzione non è attiva sul dispositivo. Attiva la firma incrociata in Labs per modificare lo stato del backup.",
"Backup key stored: ": "Backup chiavi salvato: ",
- "Start using Key Backup with Secure Secret Storage": "Inizia ad usare il Backup Chiavi con l'Archivio Segreto",
"Hide verified sessions": "Nascondi sessioni verificate",
"%(count)s verified sessions|other": "%(count)s sessioni verificate",
"%(count)s verified sessions|one": "1 sessione verificata",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "Accedi alla cronologia sicura dei tuoi messaggi e all'identità a firma incrociata per verificare altri dispositivi inserendo la tua password.",
"If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Se hai dimenticato la password puoi usare la tua chiave di recupero o impostare nuove opzioni di recupero.",
"Enter secret storage recovery key": "Inserisci la chiave di recupero dell'archivio segreto",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "Impossibile accedere all'archivio segreto. Controlla di avere inserito la chiave di recupero corretta.",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "Accedi alla cronologia sicura dei tuoi messaggi e all'identità a firma incrociata per verificare altri dispositivi inserendo la tua chiave di recupero.",
"If you've forgotten your recovery key you can set up new recovery options.": "Se hai dimenticato la tua chiave di recupero puoi impostare nuove opzioni di recupero.",
"Warning: You should only set up key backup from a trusted computer.": "Attenzione: dovresti impostare il backup chiavi solo da un computer fidato.",
"If you've forgotten your recovery key you can set up new recovery options": "Se hai dimenticato la tua chiave di recupero puoi impostare nuove opzioni di recupero",
- "Warning: You should only set up secret storage from a trusted computer.": "Attenzione: dovresti impostare l'archivio segreto solo da un computer fidato.",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "Utilizzeremo l'archivio segreto per memorizzare facoltativamente una copia criptata della tua identità a firma incrociata per verificare altri dispositivi e chiavi dei messaggi sul nostro server. Proteggi il tuo accesso ai messaggi cifrati con una password per tenerlo al sicuro.",
"Set up with a recovery key": "Imposta con una chiave di recupero",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Come àncora di salvezza, puoi usarla per recuperare l'accesso ai tuoi messaggi cifrati se dimentichi la password.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Come àncora di salvezza, puoi usarla per recuperare l'accesso ai tuoi messaggi cifrati.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Tieni la chiave di recupero in un posto molto sicuro, come un gestore di password (o una cassaforte).",
"Your recovery key has been copied to your clipboard, paste it to:": "La tua chiave di recupero è stata copiata negli appunti, incollala in:",
"Your recovery key is in your Downloads folder.": "La chiave di recupero è nella tua cartella Scaricati.",
- "Your access to encrypted messages is now protected.": "L'accesso ai tuoi messaggi cifrati è ora protetto.",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "Senza l'impostazione dell'archivio segreto, non sarà possibile recuperare l'accesso ai messaggi cifrati o l'identità a firma incrociata per verificare altri dispositivi se ti disconnetti o utilizzi un altro dispositivo.",
- "Set up secret storage": "Imposta l'archivio segreto",
- "Secure your encrypted messages with a passphrase": "Proteggi i tuoi messaggi cifrati con una password",
"Storing secrets...": "Memorizzo i segreti...",
"Unable to set up secret storage": "Impossibile impostare un archivio segreto",
"Close preview": "Chiudi anteprima",
- "This user has not verified all of their devices.": "Questo utente non ha verificato tutti i suoi dispositivi.",
- "You have not verified this user. This user has verified all of their devices.": "Non hai verificato questo utente. Questo utente ha verificato tutti i suoi dispositivi.",
- "You have verified this user. This user has verified all of their devices.": "Hai verificato questo utente. Questo utente ha verificato tutti i suoi dispositivi.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Non hai verificato alcuni utenti in questa stanza criptata o essi non hanno verificato i loro dispositivi.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Hai verificato tutti gli utenti in questa stanza criptata ed essi hanno verificato i loro dispositivi.",
"Language Dropdown": "Lingua a tendina",
"Country Dropdown": "Nazione a tendina",
"The message you are trying to send is too large.": "Il messaggio che stai tentando di inviare è troppo grande.",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "L'archivio segreto verrà impostato usando i dettagli del tuo backup chiavi. La password dell'archivio segreto e la chiave di ripristino saranno le stesse del tuo backup chiavi",
- "Migrate from Key Backup": "Migra dal backup chiavi",
"Help": "Aiuto",
- "New DM invite dialog (under development)": "Nuovo invito via messaggio diretto (in sviluppo)",
"Show info about bridges in room settings": "Mostra info sui bridge nelle impostazioni stanza",
- "This bridge was provisioned by ": "Questo bridge è stato fornito da ",
"This bridge is managed by .": "Questo bridge è gestito da .",
- "Bridged into , on ": "Bridge in , su ",
- "Connected to on ": "Connesso a su ",
- "Connected via %(protocolName)s": "Connesso via %(protocolName)s",
- "Bridge Info": "Info bridge",
- "Below is a list of bridges connected to this room.": "Sotto vedi una lista di brdige connessi a questa stanza.",
"Recent Conversations": "Conversazioni recenti",
"Suggestions": "Suggerimenti",
"Show more": "Mostra altro",
"Direct Messages": "Messaggi diretti",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Se non riesci a trovare qualcuno, chiedigli il nome utente o condividi il tuo (%(userId)s) o il link al profilo.",
- "Go": "Vai"
+ "Go": "Vai",
+ "a few seconds ago": "pochi secondi fa",
+ "about a minute ago": "circa un minuto fa",
+ "%(num)s minutes ago": "%(num)s minuti fa",
+ "about an hour ago": "circa un'ora fa",
+ "%(num)s hours ago": "%(num)s ore fa",
+ "about a day ago": "circa un giorno fa",
+ "%(num)s days ago": "%(num)s giorni fa",
+ "a few seconds from now": "pochi secondi da adesso",
+ "about a minute from now": "circa un minuto da adesso",
+ "%(num)s minutes from now": "%(num)s minuti da adesso",
+ "about an hour from now": "circa un'ora da adesso",
+ "%(num)s hours from now": "%(num)s ore da adesso",
+ "about a day from now": "circa un giorno da adesso",
+ "%(num)s days from now": "%(num)s giorni da adesso",
+ "Show a presence dot next to DMs in the room list": "Mostra un punto di presenza accanto ai mess. diretti nell'elenco stanza",
+ "Lock": "Lucchetto",
+ "Bootstrap cross-signing and secret storage": "Inizializza firma incrociata e archivio segreto",
+ "Failed to find the following users": "Impossibile trovare i seguenti utenti",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "I seguenti utenti potrebbero non esistere o non sono validi, perciò non possono essere invitati: %(csvNames)s",
+ "Restore": "Ripristina",
+ "Other users may not trust it": "Altri utenti potrebbero non fidarsi",
+ "Later": "Più tardi",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Impossibile invitare i seguenti utenti alla chat: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "Impossibile creare il messaggio diretto. Ricontrolla gli utenti che vuoi invitare e riprova.",
+ "Something went wrong trying to invite the users.": "Qualcosa è andato storto provando ad invitare gli utenti.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Impossibile invitare quegli utenti. Ricontrolla gli utenti che vuoi invitare e riprova.",
+ "Recently Direct Messaged": "Contattati direttamente di recente",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Se non riesci a trovare qualcuno, chiedi il nome utente (es. @utente:server.it) o condividi questa stanza.",
+ "Complete security": "Sicurezza completa",
+ "Verify this session to grant it access to encrypted messages.": "Verifica questa sessione per concederle accesso ai messaggi cifrati.",
+ "Start": "Inizia",
+ "Session verified": "Sessione verificata",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "La tua sessione ora è verificata. Ha accesso ai tuoi messaggi cifrati e gli altri utenti la vedranno come fidata.",
+ "Done": "Fatto",
+ "Go Back": "Torna",
+ "Verify User": "Verifica utente",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Per maggiore sicurezza, verifica questo utente controllando un codice univoco sui vostri dispositivi.",
+ "Start Verification": "Inizia la verifica",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s ha aggiunto %(addedAddresses)s e %(count)s altri indirizzi a questa stanza",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s ha rimosso %(removedAddresses)s e %(count)s altri indirizzi da questa stanza",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s ha rimosso %(countRemoved)s e aggiunto %(countAdded)s indirizzi a questa stanza",
+ "This room is end-to-end encrypted": "Questa stanza è cifrata end-to-end",
+ "Everyone in this room is verified": "Tutti in questa stanza sono verificati",
+ "Invite only": "Solo a invito",
+ "Send a reply…": "Invia risposta…",
+ "Send a message…": "Invia un messaggio…",
+ "Reject & Ignore user": "Rifiuta e ignora l'utente",
+ "Unknown Command": "Comando sconosciuto",
+ "Unrecognised command: %(commandText)s": "Comando non riconosciuto: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Puoi usare /help per elencare i comandi disponibili. Volevo forse inviarlo come messaggio?",
+ "Hint: Begin your message with // to start it with a slash.": "Suggerimento: anteponi al tuo messaggio // per farlo iniziare con uno slash.",
+ "Send as message": "Invia come messaggio",
+ "Enter your account password to confirm the upgrade:": "Inserisci la password del tuo account per confermare l'aggiornamento:",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Dovrai autenticarti con il server per confermare l'aggiornamento.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Proteggi le chiavi di cifratura con una password. Per massima sicurezza questa dovrebbe essere diversa da quella del tuo account:",
+ "Enter a passphrase": "Inserisci una password",
+ "Enter your passphrase a second time to confirm it.": "Inserisci di nuovo la tua password per confermarla.",
+ "Verify other users in their profile.": "Verifica gli altri utenti nel loro profilo.",
+ "Upgrade your encryption": "Aggiorna la tua cifratura",
+ "Set up encryption": "Imposta la cifratura",
+ "Encryption upgraded": "Cifratura aggiornata",
+ "Encryption setup complete": "Impostazione cifratura completata",
+ "Verify this session": "Verifica questa sessione",
+ "Encryption upgrade available": "Aggiornamento cifratura disponibile",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s ha attivato la cifratura end-to-end.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s ha attivato la cifratura end-to-end (algoritmo %(algorithm)s sconosciuto).",
+ "Enable message search in encrypted rooms": "Attiva la ricerca messaggi nelle stanze cifrate",
+ "Waiting for %(displayName)s to verify…": "In attesa della verifica da %(displayName)s …",
+ "They match": "Corrispondono",
+ "They don't match": "Non corrispondono",
+ "Review": "Controlla",
+ "This bridge was provisioned by .": "Questo bridge è stato fornito da .",
+ "Workspace: %(networkName)s": "Spazio di lavoro: %(networkName)s",
+ "Channel: %(channelName)s": "Canale: %(channelName)s",
+ "Show less": "Mostra meno",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Tieni in cache localmente i messaggi cifrati in modo sicuro affinché appaiano nei risultati di ricerca, usando ",
+ " to store messages from ": " per conservare i messaggi da ",
+ "rooms.": "stanze.",
+ "Manage": "Gestisci",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Tieni in cache localmente i messaggi cifrati in modo sicuro affinché appaiano nei risultati di ricerca.",
+ "Enable": "Attiva",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "A Riot mancano alcuni componenti richiesti per tenere in cache i messaggi cifrati in modo sicuro. Se vuoi sperimentare questa funzionalità, compila un Riot Desktop personale con i componenti di ricerca aggiunti.",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Ci sono sessioni sconosciute in questa stanza: se procedi senza verificarle, sarà possibile per qualcuno origliare la tua chiamata.",
+ "Unverified session": "Sessione non verificata",
+ "Verifies a user, session, and pubkey tuple": "Verifica un utente, una sessione e una tupla pubblica",
+ "Unknown (user, session) pair:": "Coppia (utente, sessione) sconosciuta:",
+ "Session already verified!": "Sessione già verificata!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ATTENZIONE: sessione già verificata, ma le chiavi NON CORRISPONDONO!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ATTENZIONE: VERIFICA CHIAVI FALLITA! La chiave per %(userId)s e per la sessione %(deviceId)s è \"%(fprint)s\" la quale non corriponde con la chiave \"%(fingerprint)s\" fornita. Ciò può significare che le comunicazioni vengono intercettate!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "La chiave che hai fornito corrisponde alla chiave che hai ricevuto dalla sessione di %(userId)s %(deviceId)s. Sessione contrassegnata come verificata.",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Attiva la firma incrociata per la verifica per-utente invece di per-sessione (in sviluppo)",
+ "Never send encrypted messages to unverified sessions from this session": "Non inviare mai messaggi cifrati a sessioni non verificate da questa sessione",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Non inviare mai messaggi cifrati a sessioni non verificate in questa stanza da questa sessione",
+ "To be secure, do this in person or use a trusted way to communicate.": "Per sicurezza, fatelo di persona o usate un metodo fidato per comunicare.",
+ "Verify your other sessions easier": "Verifica facilmente le tue altre sessioni",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Il cambio della password reimposterà qualsiasi chiave di cifratura end-to-end in tutte le sessioni, rendendo illeggibile la cronologia di chat, a meno che prima non esporti le chiavi della stanza e le reimporti dopo. In futuro questa cosa verrà migliorata.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Il tuo account ha un'identità a firma incrociata nell'archivio segreto, ma non è ancora fidata da questa sessione.",
+ "in memory": "in memoria",
+ "Your homeserver does not support session management.": "Il tuo homeserver non supporta la gestione della sessione.",
+ "Unable to load session list": "Impossibile caricare l'elenco sessioni",
+ "Delete %(count)s sessions|other": "Elimina %(count)s sessioni",
+ "Delete %(count)s sessions|one": "Elimina %(count)s sessione",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot non può conservare in cache i messaggi cifrati in modo sicuro nella versione browser. Usa Riot Desktop affinché i messaggi cifrati appaiano nei risultati di ricerca.",
+ "This session is backing up your keys. ": "Questa sessione sta facendo il backup delle tue chiavi. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Questa sessione non sta facendo il backup delle tue chiavi, ma hai un backup esistente dal quale puoi ripristinare e che puoi usare da ora in poi.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Connetti questa sessione al backup chiavi prima di disconnetterti per non perdere eventuali chiavi che possono essere solo in questa sessione.",
+ "Connect this session to Key Backup": "Connetti questa sessione al backup chiavi",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Il backup ha una firma da una sessione sconosciuta con ID %(deviceId)s",
+ "Backup has a valid signature from this session": "Il backup ha una firma valida da questa sessione",
+ "Backup has an invalid signature from this session": "Il backup ha una firma non valida da questa sessione",
+ "Backup has a valid signature from verified session ": "Il backup ha una firma valida da una sessione verificata",
+ "Backup has a valid signature from unverified session ": "Il backup ha una firma valida da una sessione non verificata",
+ "Backup has an invalid signature from verified session ": "il backup ha una firma non valida da una sessione verificata",
+ "Backup has an invalid signature from unverified session ": "il backup ha una firma non valida da una sessione non verificata",
+ "Backup is not signed by any of your sessions": "Il backup non è firmato da nessuna tua sessione",
+ "This backup is trusted because it has been restored on this session": "Questo backup è fidato perchè è stato ripristinato in questa sessione",
+ "Space used:": "Spazio usato:",
+ "Indexed messages:": "Messaggi indicizzati:",
+ "Number of rooms:": "Numero di stanze:",
+ "Setting up keys": "Configurazione chiavi",
+ "Show padlocks on invite only rooms": "Mostra lucchetto nelle stanze solo a invito",
+ "Keep secret storage passphrase in memory for this session": "Tieni in memoria la password dell'archivio segreto per questa sessione",
+ "How fast should messages be downloaded.": "Quanto veloce devono essere scaricati i messaggi.",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Conferma che le emoji sottostanti sono mostrate in entrambi i dispositivi, nello stesso ordine:",
+ "Verify this device by confirming the following number appears on its screen.": "Verifica questo dispositivo confermando che il seguente numero appare sullo schermo.",
+ "Verify yourself & others to keep your chats safe": "Verifica te stesso e gli altri per mantenere sicure le chat",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Backup chiavi salvato nell'archivio segreto, ma questa funzione non è attiva in questa sessione. Attiva la firma incrociata in Laboratori per modificare lo stato del backup chiavi.",
+ "Your keys are not being backed up from this session.": "Il backup chiavi non viene fatto per questa sessione.",
+ "Enable desktop notifications for this session": "Attiva le notifiche desktop per questa sessione",
+ "Enable audible notifications for this session": "Attiva le notifiche audio per questa sessione",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "La tua password è stata cambiata correttamente. Non riceverai notifiche push in altre sessioni finchè non riesegui l'accesso in esse",
+ "Session ID:": "ID sessione:",
+ "Session key:": "Chiave sessione:",
+ "Message search": "Ricerca messaggio",
+ "Sessions": "Sessioni",
+ "A session's public name is visible to people you communicate with": "Il nome pubblico di una sessione è visibile alle persone con cui comunichi",
+ "This room is bridging messages to the following platforms. Learn more.": "Questa stanza fa un bridge dei messaggi con le seguenti piattaforme. Maggiori informazioni.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Questa stanza non fa un bridge dei messaggi con alcuna piattaforma. Maggiori informazioni.",
+ "Bridges": "Bridge",
+ "This user has not verified all of their sessions.": "Questo utente non ha verificato tutte le sue sessioni.",
+ "You have not verified this user.": "Non hai verificato questo utente.",
+ "You have verified this user. This user has verified all of their sessions.": "Hai verificato questo utente. Questo utente ha verificato tutte le sue sessioni.",
+ "Someone is using an unknown session": "Qualcuno sta usando una sessione sconosciuta",
+ "Some sessions for this user are not trusted": "Alcune sessioni di questo utente non sono fidate",
+ "All sessions for this user are trusted": "Tutte le sessioni di questo utente sono fidate",
+ "Some sessions in this encrypted room are not trusted": "Alcune sessioni in questa stanza cifrata non sono fidate",
+ "All sessions in this encrypted room are trusted": "Tutte le sessioni in questa stanza cifrata sono fidate",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "La tua richiesta di condivisione chiavi è stata inviata - controlla le tue altre sessioni per le richieste.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Le richieste di condivisione chiavi vengono inviate alle tue altre sessioni automaticamente. Se sulle altre sessioni l'hai rifiutata o annullata, clicca qui per chiedere di nuovo le chiavi per questa sessione.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Se le altre sessioni non hanno la chiave per questo messaggio non sarai in grado di decifrarlo.",
+ "Re-request encryption keys from your other sessions.": "Chiedi di nuovo le chiavi di cifratura dalle altre sessioni.",
+ "Encrypted by an unverified session": "Cifrato da una sessione non verificata",
+ "Encrypted by a deleted session": "Cifrato da una sessione eliminata",
+ "No sessions with registered encryption keys": "Nessuna sessione con chiavi di cifratura registrate",
+ "Waiting for %(displayName)s to accept…": "In attesa che %(displayName)s accetti…",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "I tuoi messaggi sono protetti e solo tu ed il destinatario avete le chiavi univoche per sbloccarli.",
+ "Your messages are not secure": "I tuoi messaggi non sono sicuri",
+ "One of the following may be compromised:": "Uno dei seguenti potrebbe essere compromesso:",
+ "Your homeserver": "Il tuo homeserver",
+ "The homeserver the user you’re verifying is connected to": "L'homeserver al quale è connesso l'utente che stai verificando",
+ "Yours, or the other users’ internet connection": "La tua connessione internet o quella degli altri utenti",
+ "Yours, or the other users’ session": "La tua sessione o quella degli altri utenti",
+ "%(count)s sessions|other": "%(count)s sessioni",
+ "%(count)s sessions|one": "%(count)s sessione",
+ "Hide sessions": "Nascondi sessione",
+ "Verify by emoji": "Verifica via emoji",
+ "Verify by comparing unique emoji.": "Verifica confrontando emoji specifici.",
+ "Ask %(displayName)s to scan your code:": "Chiedi a %(displayName)s di scansionare il tuo codice:",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Se non riesci a scansionare il codice sopra, verifica confrontando emoji specifiche.",
+ "You've successfully verified %(displayName)s!": "Hai verificato correttamente %(displayName)s!",
+ "Got it": "Capito",
+ "Verification timed out. Start verification again from their profile.": "Verifica scaduta. Inizia di nuovo la verifica dal suo profilo.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s ha annullato la verifica. Inizia di nuovo la verifica dal suo profilo.",
+ "You cancelled verification. Start verification again from their profile.": "Hai annullato la verifica. Inizia di nuovo la verifica dal suo profilo.",
+ "Encryption enabled": "Cifratura attivata",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "I messaggi in questa stanza sono cifrati end-to-end. Maggiori info e verifica di questo utente nel suo profilo.",
+ "Encryption not enabled": "Cifratura non attivata",
+ "The encryption used by this room isn't supported.": "La cifratura usata da questa stanza non è supportata.",
+ "Clear all data in this session?": "Svuotare tutti i dati in questa sessione?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Lo svuotamento dei dati di questa sessione è permanente. I messaggi cifrati andranno persi a meno non si abbia un backup delle loro chiavi.",
+ "Verify session": "Verifica sessione",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Per verficare che questa sessione sia fidata, controlla che la chiave che vedi nelle impostazioni utente su quel dispositivo corrisponda a questa sotto:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Per verificare che questa sessione sia fidata, contatta il suo proprietario usando altri metodi (es. di persona o per telefono) e chiedi se la chiave che vede nelle sue impostazioni utente di questa sessione corrisponde con questa sotto:",
+ "Session name": "Nome sessione",
+ "Session key": "Chiave sessione",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Se corrisponde, premi il pulsante di verifica sottostante. Se non corrisponde, qualcuno sta intercettando questa sessione e dovresti invece premere il pulsante della lista nera.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "La verifica di questo utente contrassegnerà come fidata la sua sessione a te e viceversa.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifica questo dispositivo per segnarlo come fidato. Fidarsi di questo dispositivo offre a te e agli altri utenti una maggiore tranquillità nell'uso di messaggi cifrati end-to-end.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "La verifica di questo dispositivo lo segnerà come fidato e gli utenti che si sono verificati con te si fideranno di questo dispositivo.",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Se non riesci a trovare qualcuno, chiedigli il nome utente, condividi il tuo (%(userId)s) o il collegamento al profilo.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Hai aggiunto una nuova sessione '%(displayName)s', che sta chiedendo le chiavi di cifratura.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "La tua sessione non verificata '%(displayName)s' sta chiedendo le chiavi di cifratura.",
+ "Loading session info...": "Caricamento info di sessione...",
+ "New session": "Nuova sessione",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Usa questa sessione per verificare quella nuova, dandole accesso ai messaggi cifrati:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Se non hai fatto l'accesso a questa sessione, il tuo account potrebbe essere compromesso.",
+ "This wasn't me": "Non ero io",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Ciò ti permetterà di tornare al tuo account dopo la disconnessione e di accedere in altre sessioni.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Stai attualmente bloccando sessioni non verificate; per inviare messaggi a queste sessioni devi verificarle.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Ti consigliamo di eseguire il processo di verifica per ogni sessione per confermare l'appartenenza al loro legittimo proprietario, ma puoi reinviare il messaggio senza la verifica se lo preferisci.",
+ "Room contains unknown sessions": "La stanza contiene sessioni sconosciute",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" contiene sessioni che non hai mai visto prima.",
+ "Unknown sessions": "Sessioni sconosciute",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Accedi alla tua cronologia di messaggi sicuri e all'identità a firma incrociata per verificare altre sessioni inserendo la tua password.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Accedi alla tua cronologia di messaggi sicuri e all'identità a firma incrociata per verificare altre sessioni inserendo la tua chiave di recupero.",
+ "Recovery key mismatch": "La chiave di recupero non corrisponde",
+ "Incorrect recovery passphrase": "Password di recupero errata",
+ "Backup restored": "Backup ripristinato",
+ "Enter recovery passphrase": "Inserisci password di recupero",
+ "Enter recovery key": "Inserisci chiave di recupero",
+ "Confirm your identity by entering your account password below.": "Conferma la tua identità inserendo la password dell'account sotto.",
+ "Message not sent due to unknown sessions being present": "Messaggio non inviato a causa della presenza di sessioni sconosciute",
+ "Show sessions, send anyway or cancel.": "Mostra le sessioni, invia comunque o annulla.",
+ "Your new session is now verified. Other users will see it as trusted.": "La tua nuova sessione è ora verificata. Gli altri utenti la vedranno come fidata.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Senza completare la sicurezza di questa sessione, essa non avrà accesso ai messaggi cifrati.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "La modifica della password reimposterà qualsiasi chiave di cifratura end-to-end su tutte le sessioni, rendendo illeggibile la cronologia delle chat cifrate. Configura il Backup Chiavi o esporta le tue chiavi della stanza da un'altra sessione prima di reimpostare la password.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Sei stato disconnesso da tutte le sessioni e non riceverai più notifiche push. Per riattivare le notifiche, riaccedi su ogni dispositivo.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Riprendi l'accesso al tuo account e recupera le chiavi di cifratura memorizzate in questa sessione. Senza di esse, non sarai in grado di leggere tutti i tuoi messaggi sicuri in qualsiasi sessione.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Attenzione: i tuoi dati personali (incluse le chiavi di cifratura) sono ancora memorizzati in questa sessione. Cancellali se hai finito di usare questa sessione o se vuoi accedere ad un altro account.",
+ "Sender session information": "Informazioni sessione del mittente",
+ "Restore your key backup to upgrade your encryption": "Ripristina il tuo backup chiavi per aggiornare la cifratura",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Aggiorna questa sessione per consentirle di verificare altre sessioni, garantendo loro l'accesso ai messaggi cifrati e contrassegnandole come fidate per gli altri utenti.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Imposta la cifratura su questa sessione per consentirle di verificare le altre sessioni, garantendo loro l'accesso ai messaggi cifrati e contrassegnandole come fidate per gli altri utenti.",
+ "Back up my encryption keys, securing them with the same passphrase": "Fai il backup delle mie chiavi di cifratura, proteggendole con la stessa password",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Conservane una copia in un luogo sicuro, come un gestore di password o una cassaforte.",
+ "Your recovery key": "La tua chiave di recupero",
+ "Copy": "Copia",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Ora puoi verificare i tuoi altri dispositivi e gli altri utenti per tenere al sicuro le tue chat.",
+ "Make a copy of your recovery key": "Fai una copia della chiave di recupero",
+ "You're done!": "Hai finito!",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Senza configurare il Recupero Messaggi Sicuri, non potrai ripristinare la cronologia di messaggi cifrati se ti disconnetti o se usi un'altra sessione.",
+ "Create key backup": "Crea backup chiavi",
+ "This session is encrypting history using the new recovery method.": "Questa sessione sta cifrando la cronologia usando il nuovo metodo di recupero.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Questa sessione ha rilevato che la tua password di recupero e la chiave per i Messaggi Sicuri sono state rimosse.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Se l'hai fatto accidentalmente, puoi configurare Messaggi Sicuri su questa sessione che cripterà nuovamente la cronologia dei messaggi con un nuovo metodo di recupero.",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Se disattivato, i messaggi delle stanze cifrate non appariranno nei risultati di ricerca.",
+ "Disable": "Disattiva",
+ "Not currently downloading messages for any room.": "Nessuno scaricamento di messaggi in corso per alcuna stanza.",
+ "Downloading mesages for %(currentRoom)s.": "Scaricamento messaggi per %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot sta tenendo in cache localmente i messaggi cifrati in modo sicuro affinché appaiano nei risultati di ricerca:",
+ "of ": "di ",
+ "Message downloading sleep time(ms)": "Tempo di attesa scaricamento messaggi (ms)",
+ "If you cancel now, you won't complete verifying the other user.": "Se adesso annulli, non completerai la verifica dell'altro utente.",
+ "If you cancel now, you won't complete verifying your other session.": "Se adesso annulli, non completerai la verifica dell'altra tua sessione.",
+ "If you cancel now, you won't complete your secret storage operation.": "Se adesso annulli, non completerai l'operazione dell'archivio segreto.",
+ "Cancel entering passphrase?": "Annullare l'inserimento della password?",
+ "Mod": "Moderatore",
+ "Indexed rooms:": "Stanze indicizzate:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s di %(totalRooms)s",
+ "The version of Riot": "La versione di Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Se stai usando Riot su un dispositivo dove il tocco è il metodo di input principale",
+ "Whether you're using Riot as an installed Progressive Web App": "Se stai usando Riot installato come Web App Progressiva",
+ "Your user agent": "Il tuo user agent",
+ "The information being sent to us to help make Riot better includes:": "Le informazioni che ci vengono inviate per aiutarci a migliorare Riot includono:",
+ "Show typing notifications": "Mostra notifiche di scrittura",
+ "Verify this session by completing one of the following:": "Verifica questa sessione completando una delle seguenti cose:",
+ "Scan this unique code": "Scansiona questo codice univoco",
+ "or": "o",
+ "Compare unique emoji": "Confronta emoji univoci",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Confrontate un set di emoji univoci se non avete una fotocamera sui dispositivi",
+ "Reset cross-signing and secret storage": "Reimposta la firma incrociata e l'archivio segreto",
+ "Not Trusted": "Non fidato",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) ha fatto l'accesso con una nuova sessione senza verificarla:",
+ "Ask this user to verify their session, or manually verify it below.": "Chiedi a questo utente di verificare la sua sessione o verificala manualmente sotto.",
+ "Manually Verify": "Verifica manualmente",
+ "Verify by scanning": "Verifica con la scansione",
+ "Destroy cross-signing keys?": "Distruggere le chiavi di firma incrociata?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "L'eliminazione delle chiavi di firma incrociata è permanente. Chiunque si sia verificato con te vedrà avvisi di sicurezza. Quasi sicuramente non vuoi fare questa cosa, a meno che tu non abbia perso tutti i dispositivi da cui puoi fare l'accesso.",
+ "Clear cross-signing keys": "Elimina chiavi di firma incrociata",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "La sessione che stai cercando di verificare non supporta la scansione del codice QR o la verifica emoji, che sono supportate da Riot. Prova con un client diverso.",
+ "You declined": "Hai rifiutato",
+ "%(name)s declined": "%(name)s ha rifiutato",
+ "accepting …": "accettazione …",
+ "declining …": "rifiuto …",
+ "Your homeserver does not support cross-signing.": "Il tuo homeserver non supporta la firma incrociata.",
+ "Homeserver feature support:": "Funzioni supportate dall'homeserver:",
+ "exists": "esiste",
+ "Verification Requests": "Richieste di verifica",
+ "Sign In or Create Account": "Accedi o crea account",
+ "Use your account or create a new one to continue.": "Usa il tuo account o creane uno nuovo per continuare.",
+ "Create Account": "Crea account",
+ "Displays information about a user": "Mostra le informazioni di un utente",
+ "Order rooms by name": "Ordina stanze per nome",
+ "Show rooms with unread notifications first": "Mostra prima le stanze con notifiche non lette",
+ "Show shortcuts to recently viewed rooms above the room list": "Mostra scorciatoie per le stanze viste di recente sopra l'elenco stanze",
+ "Cancelling…": "Annullamento…",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Per segnalare un problema di sicurezza relativo a Matrix, leggi la Politica di divulgazione della sicurezza di Matrix.org .",
+ "Mark all as read": "Segna tutto come letto",
+ "Accepting…": "Accettazione…",
+ "Accepting …": "Accettazione …",
+ "Declining …": "Rifiuto …",
+ "Your account is not secure": "Il tuo account non è sicuro",
+ "Your password": "La tua password",
+ "This session, or the other session": "Questa o l'altra sessione",
+ "The internet connection either session is using": "La connessione internet di una sessione",
+ "We recommend you change your password and recovery key in Settings immediately": "Ti consigliamo di cambiare immediatamente la password e la chiave di recupero nelle impostazioni",
+ "Not currently indexing messages for any room.": "Attualmente non si stanno indicizzando i messaggi di alcuna stanza.",
+ "Currently indexing: %(currentRoom)s.": "Attualmente si indicizzano: %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s di %(totalRooms)s",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s ha cambiato il nome della stanza da %(oldRoomName)s a %(newRoomName)s.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s ha aggiunto gli indirizzi alternativi %(addresses)s per questa stanza.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s ha aggiunto l'indirizzo alternativo %(addresses)s per questa stanza.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s ha rimosso gli indirizzi alternativi %(addresses)s per questa stanza.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s ha rimosso l'indirizzo alternativo %(addresses)s per questa stanza.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s ha cambiato gli indirizzi alternativi per questa stanza.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ha cambiato gli indirizzi principali ed alternativi per questa stanza.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s ha cambiato gli indirizzi per questa stanza.",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Si è verificato un errore aggiornando gli indirizzi alternativi della stanza. Potrebbe non essere consentito dal server o essere un errore temporaneo.",
+ "Alternative addresses for this room:": "Indirizzi alternativi per questa stanza:",
+ "This room has no alternative addresses": "Questa stanza non ha indirizzi alternativi",
+ "New address (e.g. #foo:domain)": "Nuovo indirizzo (es. #abc:dominio)",
+ "Local addresses (unmoderated content)": "Indirizzi locali (contenuto non moderato)",
+ "Support adding custom themes": "Supporta l'aggiunta di temi personalizzati",
+ "Invalid theme schema.": "Schema del tema non valido.",
+ "Error downloading theme information.": "Errore scaricando informazioni sul tema.",
+ "Theme added!": "Tema aggiunto!",
+ "Custom theme URL": "URL tema personalizzato",
+ "Add theme": "Aggiungi tema",
+ "You don't have permission to delete the alias.": "Non hai l'autorizzazione per eliminare l'alias.",
+ "Review Sessions": "Controlla sessioni",
+ "Scroll to most recent messages": "Scorri ai messaggi più recenti",
+ "Local address": "Indirizzo locale",
+ "Published Addresses": "Indirizzi pubblicati",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Gli indirizzi pubblicati possono essere usati da chiunque su qualsiasi server per entrare nella stanza. Per pubblicare un indirizzo, deve essere prima impostato come indirizzo locale.",
+ "Other published addresses:": "Altri indirizzi pubblicati:",
+ "No other published addresses yet, add one below": "Nessun altro indirizzo ancora pubblicato, aggiungine uno sotto",
+ "New published address (e.g. #alias:server)": "Nuovo indirizzo pubblicato (es. #alias:server)",
+ "Local Addresses": "Indirizzi locali",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Imposta gli indirizzi per la stanza affinché gli utenti la trovino attraverso il tuo homeserver (%(localDomain)s)",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "Apri una sessione esistente e usala per verificare questa, dandole accesso ai messaggi cifrati.",
+ "Waiting…": "In attesa…",
+ "If you can’t access one, use your recovery key or passphrase.": "Se non puoi accedere a nessuna, usa la chiave di recupero o la password.",
+ "Enter a server name": "Inserisci il nome di un server",
+ "Looks good": "Sembra giusto",
+ "Can't find this server or its room list": "Impossibile trovare questo server o l'elenco delle sue stanze",
+ "All rooms": "Tutte le stanze",
+ "Your server": "Il tuo server",
+ "Are you sure you want to remove %(serverName)s": "Sei sicuro di volere rimuovere %(serverName)s",
+ "Remove server": "Rimuovi server",
+ "Matrix": "Matrix",
+ "Add a new server": "Aggiungi un nuovo server",
+ "Enter the name of a new server you want to explore.": "Inserisci il nome di un nuovo server che vuoi esplorare.",
+ "Server name": "Nome server",
+ "Add a new server...": "Aggiungi un nuovo server...",
+ "%(networkName)s rooms": "Stanze di %(networkName)s",
+ "Matrix rooms": "Stanze di Matrix",
+ "Keyboard Shortcuts": "Scorciatoie da tastiera",
+ "Start a conversation with someone using their name, username (like ) or email address.": "Inizia una conversazione con qualcuno usando il suo nome, nome utente (come ) o indirizzo email.",
+ "a new master key signature": "una nuova firma della chiave principale",
+ "a new cross-signing key signature": "una nuova firma della chiave a firma incrociata",
+ "a device cross-signing signature": "una firma incrociata di dispositivo",
+ "a key signature": "una firma di chiave",
+ "Riot encountered an error during upload of:": "Riot ha riscontrato un errore durante l'invio di:",
+ "Upload completed": "Invio completato",
+ "Cancelled signature upload": "Invio della firma annullato",
+ "Unabled to upload": "Impossibile inviare",
+ "Signature upload success": "Firma inviata correttamente",
+ "Signature upload failed": "Invio della firma fallito",
+ "Navigation": "Navigazione",
+ "Calls": "Chiamate",
+ "Room List": "Elenco stanze",
+ "Autocomplete": "Autocompletamento",
+ "Alt": "Alt",
+ "Alt Gr": "Alt Gr",
+ "Shift": "Shift",
+ "Super": "Super",
+ "Ctrl": "Ctrl",
+ "Toggle Bold": "Grassetto sì/no",
+ "Toggle Italics": "Corsivo sì/no",
+ "Toggle Quote": "Cita sì/no",
+ "Toggle Markdown": "Markdown sì/no",
+ "New line": "Nuova riga",
+ "Navigate recent messages to edit": "Naviga i messaggi recenti da modificare",
+ "Jump to start/end of the composer": "Salta all'inizio/fine del compositore",
+ "Toggle microphone mute": "Attiva/disattiva microfono",
+ "Toggle video on/off": "Attiva/disattiva video",
+ "Jump to room search": "Salta alla ricerca stanze",
+ "Navigate up/down in the room list": "Naviga su/giù nell'elenco stanze",
+ "Select room from the room list": "Seleziona stanza dall'elenco stanze",
+ "Collapse room list section": "Riduci sezione elenco stanze",
+ "Expand room list section": "Espandi sezione elenco stanze",
+ "Clear room list filter field": "Svuota campo filtri elenco stanze",
+ "Scroll up/down in the timeline": "Scorri su/giù nella cronologia",
+ "Toggle the top left menu": "Attiva/disattiva menu in alto a sinistra",
+ "Close dialog or context menu": "Chiudi finestra o menu contestuale",
+ "Activate selected button": "Attiva pulsante selezionato",
+ "Toggle this dialog": "Commuta questa finestra",
+ "Move autocomplete selection up/down": "Sposta su/giù selezione autocompletamento",
+ "Cancel autocomplete": "Annulla autocompletamento",
+ "Page Up": "Pagina su",
+ "Page Down": "Pagina giù",
+ "Esc": "Esc",
+ "Enter": "Invio",
+ "Space": "Barra spaziatrice",
+ "End": "Fine",
+ "Manually Verify by Text": "Verifica manualmente con testo",
+ "Interactively verify by Emoji": "Verifica interattivamente con emoji",
+ "Secret Storage key format:": "Formato chiave di archivio segreto:",
+ "outdated": "non aggiornato",
+ "up to date": "aggiornato",
+ "Confirm by comparing the following with the User Settings in your other session:": "Conferma confrontando il seguente con le impostazioni utente nell'altra sessione:",
+ "Confirm this user's session by comparing the following with their User Settings:": "Conferma questa sessione confrontando il seguente con le sue impostazioni utente:",
+ "If they don't match, the security of your communication may be compromised.": "Se non corrispondono, la sicurezza delle tue comunicazioni potrebbe essere compromessa.",
+ "Navigate composer history": "Naviga cronologia compositore",
+ "Previous/next unread room or DM": "Stanza o msg non letti successivi/precedenti",
+ "Previous/next room or DM": "Stanza o msg successivi/precedenti",
+ "Toggle right panel": "Apri/chiudi pannello a destra"
}
diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json
index cce9a81188..bbc698b3ff 100644
--- a/src/i18n/strings/ja.json
+++ b/src/i18n/strings/ja.json
@@ -25,12 +25,11 @@
"Failed to change password. Is your password correct?": "パスワード変更に失敗しました。パスワードは正しいですか?",
"Only people who have been invited": "この部屋に招待された人のみ参加可能",
"Always show message timestamps": "発言時刻を常に表示",
- "Filter room members": "部屋メンバーの絞り込み",
+ "Filter room members": "部屋メンバーを検索",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "発言時刻を12時間形式で表示 (例 2:30PM)",
"Upload avatar": "アイコン画像を変更",
"Upload file": "添付ファイル送信",
"Use compact timeline layout": "会話表示の行間を狭くする",
- "Start Chat": "対話へ招待",
"Riot collects anonymous analytics to allow us to improve the application.": "Riotはアプリケーションを改善するために匿名の分析情報を収集しています。",
"Add": "追加",
"No Microphones detected": "マイクが見つかりません",
@@ -67,12 +66,12 @@
"Your language of choice": "選択した言語",
"Which officially provided instance you are using, if any": "どの公式に提供されたインスタンスを利用していますか(もしあれば)",
"Whether or not you're using the Richtext mode of the Rich Text Editor": "リッチテキストエディタのリッチテキストモードを利用しているか否か",
- "Your homeserver's URL": "あなたのホームサーバーのURL",
+ "Your homeserver's URL": "あなたのホームサーバーの URL",
"Your identity server's URL": "あなたのアイデンティティサーバーの URL",
"Analytics": "分析",
"The information being sent to us to help make Riot.im better includes:": "Riot.imをよりよくするために私達に送信される情報は以下を含みます:",
"Thursday": "木曜日",
- "Messages in one-to-one chats": "一対一のチャットでのメッセージ",
+ "Messages in one-to-one chats": "1対1のチャットでのメッセージ",
"A new version of Riot is available.": "新しいバージョンのRiotが利用可能です。",
"All Rooms": "全ての部屋",
"You cannot delete this message. (%(code)s)": "あなたはこの発言を削除できません (%(code)s)",
@@ -87,7 +86,7 @@
"Set Password": "パスワードを設定",
"Sorry, your browser is not able to run Riot.": "申し訳ありません。あなたのブラウザではRiotは動作できません。",
"Monday": "月曜日",
- "Messages in group chats": "グループチャットのメッセージ",
+ "Messages in group chats": "グループチャットでのメッセージ",
"Friday": "金曜日",
"All messages (noisy)": "全ての発言(通知音あり)",
"Yesterday": "昨日",
@@ -150,7 +149,6 @@
"Filter results": "絞り込み結果",
"Noisy": "音量大",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "部屋のエイリアス %(alias)s を削除し、ディレクトリから %(name)s を消去しますか?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "これにより、サインアウト後にあなたのアカウントに戻る、また、他の端末でサインインすることができます。",
"Invite to this community": "このコミュニティに招待する",
"View Source": "ソースコードを表示する",
"Back": "戻る",
@@ -206,11 +204,10 @@
"e.g. ": "凡例: ",
"Your device resolution": "端末の解像度",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "このページに部屋、ユーザー、グループIDなどの識別可能な情報が含まれている場合、そのデータはサーバーに送信される前に削除されます。",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "この部屋には未知の端末があります。確認せずに進むと、誰かがあなたの呼び出しを盗聴する可能性があります。",
"Answer Anyway": "とにかく応答",
"Call Anyway": "とにかく通話",
"Call Timeout": "通話タイムアウト",
- "The remote side failed to pick up": "相手が応答しなかった",
+ "The remote side failed to pick up": "相手が応答しませんでした",
"Unable to capture screen": "画面をキャプチャできません",
"Existing Call": "既存の通話",
"You are already in a call.": "すでに通話中です。",
@@ -274,9 +271,6 @@
"Moderator": "仲裁者",
"Admin": "管理者",
"Start a chat": "チャットを開始する",
- "Who would you like to communicate with?": "誰と通信しますか?",
- "Invite new room members": "新しい部屋のメンバーを招待します",
- "Send Invites": "招待状を送る",
"Failed to invite": "招待できませんでした",
"Failed to invite the following users to the %(roomName)s room:": "次のユーザーを %(roomName)s の部屋に招待できませんでした:",
"You need to be logged in.": "ログインする必要があります。",
@@ -311,16 +305,9 @@
"Define the power level of a user": "ユーザーの権限レベルを定義",
"Deops user with given id": "指定されたIDのユーザーを非表示",
"Opens the Developer Tools dialog": "開発者ツールダイアログを開きます",
- "Verifies a user, device, and pubkey tuple": "ユーザー、端末、および公開鍵タプルを検証します",
- "Unknown (user, device) pair:": "不明な(ユーザー、端末) ペア:",
- "Device already verified!": "端末はすでに確認済みです!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "警告:端末はすでに検証済みですが、キーは一致しません!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "警告: キー確認が失敗しました! %(userId)s と端末 %(deviceId)s の署名鍵は、提供された鍵 \"%(fingerprint)s\" と一致しない \"%(fprint)s\" です。 通信が傍受されている可能性があります!",
"Verified key": "確認済みのキー",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "指定した署名鍵は、%(userId)s の端末%(deviceId)s から受け取った署名鍵と一致します。端末を検証済みとしてマークしました。",
"Displays action": "アクションを表示",
"Forces the current outbound group session in an encrypted room to be discarded": "暗号化されたルーム内の現在のアウトバウンドグループセッションを強制的に破棄します",
- "Unrecognised command:": "認識できないコマンド:",
"Reason": "理由",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s は %(displayName)s の招待を受け入れました。",
"%(targetName)s accepted an invitation.": "%(targetName)s は招待を受け入れました。",
@@ -357,17 +344,16 @@
"(could not connect media)": "(メディアを接続できませんでした)",
"(no answer)": "(応答なし)",
"(unknown failure: %(reason)s)": "(不明なエラー: %(reason)s)",
- "%(senderName)s ended the call.": "%(senderName)s は通話を終了しました。",
+ "%(senderName)s ended the call.": "%(senderName)s が通話を終了しました。",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s は部屋に加わるよう %(targetDisplayName)s に招待状を送りました。",
- "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s は、部屋のメンバー全員に招待された時点からの部屋履歴を参照できるようにしました。",
- "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s は、部屋のメンバー全員に参加した時点からの部屋履歴を参照できるようにしました。",
- "%(senderName)s made future room history visible to all room members.": "%(senderName)s は、部屋のメンバー全員に部屋履歴を参照できるようにしました。",
- "%(senderName)s made future room history visible to anyone.": "%(senderName)s は、部屋履歴を誰でも参照できるようにしました。",
- "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s は 見知らぬ (%(visibility)s) に部屋履歴を参照できるようにしました。",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s はエンドツーエンドの暗号化をオンにしました (アルゴリズム %(algorithm)s)。",
+ "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s が、部屋のメンバー全員に招待された時点からの部屋履歴を参照できるようにしました。",
+ "%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s が、部屋のメンバー全員に参加した時点からの部屋履歴を参照できるようにしました。",
+ "%(senderName)s made future room history visible to all room members.": "%(senderName)s が、部屋のメンバー全員に部屋履歴を参照できるようにしました。",
+ "%(senderName)s made future room history visible to anyone.": "%(senderName)s が、部屋履歴を誰でも参照できるようにしました。",
+ "%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s が、見知らぬ (%(visibility)s) に部屋履歴を参照できるようにしました。",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s は %(fromPowerLevel)s から %(toPowerLevel)s",
- "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s は %(powerLevelDiffText)s の権限レベルを変更しました。",
- "%(senderName)s changed the pinned messages for the room.": "%(senderName)s は、その部屋の固定メッセージを変更しました。",
+ "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s が %(powerLevelDiffText)s の権限レベルを変更しました。",
+ "%(senderName)s changed the pinned messages for the room.": "%(senderName)s が、部屋の固定メッセージを変更しました。",
"%(widgetName)s widget modified by %(senderName)s": "%(widgetName)s ウィジェットは %(senderName)s によって変更されました",
"%(widgetName)s widget added by %(senderName)s": "%(widgetName)s ウィジェットが %(senderName)s によって追加されました",
"%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s ウィジェットが %(senderName)s によって削除されました",
@@ -390,8 +376,6 @@
"Enable automatic language detection for syntax highlighting": "構文強調表示の自動言語検出を有効にする",
"Mirror local video feed": "ローカルビデオ映像送信",
"Send analytics data": "分析データを送信する",
- "Never send encrypted messages to unverified devices from this device": "この端末から未認証の端末に暗号化されたメッセージを送信しない",
- "Never send encrypted messages to unverified devices in this room from this device": "この端末からこの部屋の未認証の端末に暗号化されたメッセージを送信しないでください",
"Enable inline URL previews by default": "デフォルトでインラインURLプレビューを有効にする",
"Enable URL previews for this room (only affects you)": "この部屋のURLプレビューを有効にする (あなたにのみ影響する)",
"Enable URL previews by default for participants in this room": "この部屋の参加者のためにデフォルトでURLプレビューを有効にする",
@@ -399,9 +383,9 @@
"Enable widget screenshots on supported widgets": "サポートされているウィジェットでウィジェットのスクリーンショットを有効にする",
"Active call (%(roomName)s)": "アクティブな通話 (%(roomName)s)",
"unknown caller": "不明な発信者",
- "Incoming voice call from %(name)s": "%(name)s からの着信音声コール",
- "Incoming video call from %(name)s": "%(name)s からの着信ビデオコール",
- "Incoming call from %(name)s": "%(name)s からの着信コール",
+ "Incoming voice call from %(name)s": "%(name)s からの音声通話の着信",
+ "Incoming video call from %(name)s": "%(name)s からのビデオ通話の着信",
+ "Incoming call from %(name)s": "%(name)s からの通話の着信",
"Decline": "辞退",
"Accept": "受諾",
"Incorrect verification code": "認証コードの誤りです",
@@ -413,17 +397,13 @@
"New passwords don't match": "新しいパスワードが一致しません",
"Passwords can't be empty": "パスワードを空にすることはできません",
"Warning!": "警告!",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "パスワードを変更すると、すべての端末のエンドツーエンドの暗号化キーがリセットされ、暗号化されたチャット履歴は読み取れなくなります (最初にルームキーをエクスポートしてから再インポートする場合を除く)。 将来これは改善されるでしょう。",
"Export E2E room keys": "E2Eルームキーをエクスポートする",
"Do you want to set an email address?": "メールアドレスを設定しますか?",
"Password": "パスワード",
"Confirm password": "確認のパスワード",
- "Unable to load device list": "端末リストを読み込めません",
"Authentication": "認証",
- "Delete %(count)s devices|other": "%(count)s 件の端末を削除する",
- "Delete %(count)s devices|one": "端末を削除する",
"Device ID": "端末ID",
- "Last seen": "最後に表示した時刻",
+ "Last seen": "最近の使用履歴",
"Failed to set display name": "表示名の設定に失敗しました",
"Disable Notifications": "通知を無効にする",
"Enable Notifications": "通知を有効にする",
@@ -442,14 +422,7 @@
"%(senderName)s sent a video": "%(senderName)s が動画を送信しました",
"%(senderName)s uploaded a file": "%(senderName)s がファイルをアップロードしました",
"Options": "オプション",
- "Your key share request has been sent - please check your other devices for key share requests.": "共有キーリクエストが送信されました - 共有キーリクエスト用の他の端末を確認してください。",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "共有キーリクエストは、他の端末に自動的に送信されます。 他の端末での共有キーリクエストを拒否または却下した場合は、ここをクリックしてこのセッションのキーを再度要求してください。",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "他の端末にこのメッセージのキーがない場合、それらの端末を復号化することはできません。",
"Key request sent.": "キーリクエストが送信されました。",
- "Re-request encryption keys from your other devices.": "他の端末から暗号化キーを再リクエストします。",
- "Undecryptable": "解読不能",
- "Encrypted by an unverified device": "未検証の端末によって暗号化されました",
- "Unencrypted message": "暗号化されていないメッセージ",
"Please select the destination room for this message": "このメッセージを送り先部屋を選択してください",
"Blacklisted": "ブラックリストに載せた",
"device id: ": "端末id: ",
@@ -471,8 +444,6 @@
"Failed to toggle moderator status": "モデレータステータスを切り替えることができませんでした",
"Failed to change power level": "権限レベルの変更に失敗しました",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "この変更を元に戻すことはできません。そのユーザーが自分と同じ権限レベルを持つように促します。",
- "No devices with registered encryption keys": "登録された暗号化キーを持つ端末はありません",
- "Devices": "端末",
"Ignore": "無視",
"Jump to read receipt": "既読へジャンプ",
"Invite": "招待",
@@ -485,12 +456,10 @@
"and %(count)s others...|other": "そして、他 %(count)s ...",
"and %(count)s others...|one": "そして、もう1つ...",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (パワー %(powerLevelNumber)s)",
- "deleted": "deleted",
"Attachment": "付属品",
"Hangup": "電話を切る",
"Voice call": "音声通話",
"Video call": "ビデオ通話",
- "Show Text Formatting Toolbar": "テキストの書式設定ツールバーを表示する",
"Send an encrypted reply…": "暗号化された返信を送信する…",
"Send a reply (unencrypted)…": "(暗号化されていない) 返信を送信する…",
"Send an encrypted message…": "暗号化されたメッセージを送信する…",
@@ -498,14 +467,9 @@
"This room has been replaced and is no longer active.": "この部屋は交換されており、もうアクティブではありません。",
"The conversation continues here.": "会話はここで続けられます。",
"You do not have permission to post to this room": "この部屋に投稿する権限がありません",
- "Hide Text Formatting Toolbar": "テキストの書式設定ツールバーを隠す",
"Server error": "サーバーエラー",
"Server unavailable, overloaded, or something else went wrong.": "サーバーが使用できない、オーバーロードされている、または何かが間違っていました。",
"Command error": "コマンドエラー",
- "Unable to reply": "返信できません",
- "At this time it is not possible to reply with an emote.": "現時点では、エモートで返信することはできません。",
- "Markdown is disabled": "マークダウンは無効です",
- "Markdown is enabled": "マークダウンは有効です",
"Jump to message": "メッセージにジャンプ",
"No pinned messages.": "固定メッセージはありません。",
"Loading...": "読み込み中...",
@@ -521,7 +485,7 @@
"Idle": "アイドル",
"Offline": "オフライン",
"Unknown": "未知の",
- "Seen by %(userName)s at %(dateTime)s": "%(dateTime)s に %(userName)s が見た",
+ "Seen by %(userName)s at %(dateTime)s": "%(dateTime)s に %(userName)s が閲覧",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(dateTime)s に %(displayName)s (%(userName)s) が見た",
"Replying": "返信中",
"Save": "保存",
@@ -566,8 +530,6 @@
"Hide Stickers": "ステッカーを隠す",
"Show Stickers": "ステッカーを表示",
"Jump to first unread message.": "最初の未読メッセージにジャンプします。",
- "Invalid alias format": "無効なエイリアス形式",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' はエイリアスの有効な形式ではありません",
"not specified": "指定なし",
"Remote addresses for this room:": "この部屋のリモートアドレス:",
"Local addresses for this room:": "この部屋のローカルアドレス:",
@@ -575,8 +537,8 @@
"New address (e.g. #foo:%(localDomain)s)": "新しいアドレス (例 #foo:%(localDomain)s)",
"Invalid community ID": "無効なコミュニティID",
"'%(groupId)s' is not a valid community ID": "'%(groupId)s' は有効なコミュニティIDではありません",
- "Showing flair for these communities:": "これらのコミュニティの特色を示す:",
- "This room is not showing flair for any communities": "この部屋はどんなコミュニティに対しても特色を表示していません",
+ "Showing flair for these communities:": "次のコミュニティのバッジを表示:",
+ "This room is not showing flair for any communities": "この部屋はどんなコミュニティに対してもバッジを表示していません",
"New community ID (e.g. +foo:%(localDomain)s)": "新しいコミュニティID (例 +foo:%(localDomain)s)",
"You have enabled URL previews by default.": "デフォルトでURLプレビューが有効です。",
"You have disabled URL previews by default.": "デフォルトでURLプレビューが無効です。",
@@ -601,7 +563,7 @@
"Copied!": "コピーされました!",
"Failed to copy": "コピーに失敗しました",
"Add an Integration": "統合を追加する",
- "You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "サードパーティのサイトに移動して、%(integationsUrl)s で使用するためにアカウントを認証できるようになります。続行しますか?",
+ "You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "サードパーティのサイトに移動して、%(integrationsUrl)s で使用するためにアカウントを認証できるようになります。続行しますか?",
"Removed or unknown message type": "削除されたまたは未知のメッセージタイプ",
"Message removed by %(userId)s": "%(userId)s によってメッセージが削除されました",
"Message removed": "メッセージが削除された",
@@ -630,7 +592,7 @@
"Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "%(roomName)s を %(groupId)s から削除してもよろしいですか?",
"Removing a room from the community will also remove it from the community page.": "コミュニティから部屋を削除すると、コミュニティページからもその部屋が削除されます。",
"Failed to remove room from community": "コミュニティからの部屋の削除に失敗しました",
- "Failed to remove '%(roomName)s' from %(groupId)s": "%(groupName)s から '%(roomName)s' を削除できませんでした",
+ "Failed to remove '%(roomName)s' from %(groupId)s": "%(groupId)s から '%(roomName)s' を削除できませんでした",
"Something went wrong!": "何かが間違っていた!",
"The visibility of '%(roomName)s' in %(groupId)s could not be updated.": "%(groupId)s の '%(roomName)s' の表示を更新できませんでした。",
"Visibility in Room List": "ルームリストの可視性",
@@ -638,7 +600,7 @@
"Only visible to community members": "コミュニティメンバーにのみ表示されます",
"Filter community rooms": "コミュニティルームを絞り込む",
"Something went wrong when trying to get your communities.": "コミュニティに参加しようとすると何かがうまくいかなかった。",
- "Display your community flair in rooms configured to show it.": "それを表示するように構成された部屋にコミュニティの特色を表示します。",
+ "Display your community flair in rooms configured to show it.": "表示するよう設定した部屋であなたのコミュニティ バッジを表示",
"Show developer tools": "開発者ツールを表示",
"You're not currently a member of any communities.": "あなたは現在、どのコミュニティのメンバーでもありません。",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "匿名利用データを送信して、Riot.imの改善を支援してください。 これはCookieを使用します (クッキーポリシーをご覧ください)>。",
@@ -658,7 +620,7 @@
"Popout widget": "ウィジェットをポップアウト",
"Unblacklist": "ブラックリスト解除",
"Blacklist": "ブラックリスト",
- "Verify...": "検証中...",
+ "Verify...": "検証する...",
"No results": "結果がありません",
"Communities": "コミュニティ",
"Home": "ホーム",
@@ -668,7 +630,7 @@
"%(severalUsers)sjoined %(count)s times|one": "%(severalUsers)s が参加しました",
"%(oneUser)sjoined %(count)s times|other": "%(oneUser)s が %(count)s 回参加しました",
"%(oneUser)sjoined %(count)s times|one": "%(oneUser)s が参加しました",
- "%(severalUsers)sleft %(count)s times|other": "%(severalUers)s は %(count)s 回退出しました",
+ "%(severalUsers)sleft %(count)s times|other": "%(severalUsers)s は %(count)s 回退出しました",
"%(severalUsers)sleft %(count)s times|one": "%(severalUsers)s は退出しました",
"%(oneUser)sleft %(count)s times|other": "%(oneUser)s は %(count)s 回退出しました",
"%(oneUser)sleft %(count)s times|one": "%(oneUser)s は退出しました",
@@ -713,8 +675,8 @@
"%(items)s and %(count)s others|other": "%(items)s と 他 %(count)s 回",
"%(items)s and %(count)s others|one": "%(items)s と他の1つ",
"%(items)s and %(lastItem)s": "%(items)s と %(lastItem)s",
- "collapse": "崩壊",
- "expand": "拡大する",
+ "collapse": "折りたたむ",
+ "expand": "展開",
"Custom level": "カスタムレベル",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "返信されたイベントを読み込めません。存在しないか、表示する権限がありません。",
"In reply to": "返信",
@@ -744,21 +706,13 @@
"This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "これにより、あなたのアカウントは永久に使用できなくなります。ログインできなくなり、誰も同じユーザーIDを再登録できなくなります。これにより、参加しているすべてのルームから退室し、 IDサーバからあなたのアカウントの詳細が削除されます。この操作は元に戻すことができません。",
"Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "アカウントを無効にしても、送信されたメッセージはデフォルトではなくなりません。メッセージを忘れてしまった場合は、下のボックスにチェックを入れてください。",
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Matrixのメッセージの可視性は電子メールと似ています。メッセージを忘れると、新規または未登録のユーザーと共有することができませんが、既にこれらのメッセージにアクセスしている登録ユーザーは、依然としてそのコピーにアクセスできます。",
- "Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "アカウントを無効にしたときに送信したすべてのメッセージを忘れてください (警告:これにより、今後のユーザーは会話履歴の全文を見ることができなくなります)",
+ "Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "アカウントを無効する際、送信したすべてのメッセージを削除(警告:これにより、今後のユーザーは会話履歴の全文を見ることができなくなります)",
"To continue, please enter your password:": "続行するには、パスワードを入力してください:",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "この端末が信頼できることを確認するには、他の方法 (個人や電話など) で所有者に連絡し、端末のユーザー設定で表示される鍵が以下のキーと一致するかどうかを尋ねてください:",
- "Device name": "端末名",
- "Device key": "端末キー",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "一致する場合は下の確認ボタンを押し、そうでない場合は他の誰かがこのデバイスを傍受しているので、代わりにブラックリストボタンを押してください。",
- "Verify device": "デバイスの検証",
"I verify that the keys match": "キーが一致することを確認します",
"An error has occurred.": "エラーが発生しました。",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "暗号化キーを要求している新しい端末 '%(displayName)s' を追加しました。",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "未確認の端末 '%(displayName)s' が暗号化キーを要求しています。",
"Start verification": "検証を開始する",
"Share without verifying": "検証せずに共有する",
"Ignore request": "要求を無視する",
- "Loading device info...": "端末情報を読み込んでいます...",
"Encryption key request": "暗号化キー要求",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "以前 %(host)s にて、メンバーの遅延ロードを有効にしたRiotを使用していました。このバージョンでは、遅延ロードは無効です。ローカルキャッシュはこれらの2つの設定の間で互換性がないため、Riotはアカウントを再同期する必要があります。",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "他のバージョンのRiotがまだ別のタブで開いている場合は、同じホスト上でRiotを使用するように閉じてください。遅延ロードが同時に有効と無効になっていると問題が発生します。",
@@ -801,18 +755,13 @@
"To get started, please pick a username!": "開始するには、ユーザー名を選んでください!",
"This will be your account name on the homeserver, or you can pick a different server.": "これはホームサーバー上のアカウント名ですが、別のサーバーを選択することもできます。",
"If you already have a Matrix account you can log in instead.": "すでにMatrixアカウントをお持ちの場合は、代わりにログインすることができます。",
- "Share Room": "共有部屋",
+ "Share Room": "部屋を共有",
"Link to most recent message": "最新のメッセージへのリンク",
"Share User": "ユーザーを共有",
"Share Community": "コミュニティを共有",
"Share Room Message": "部屋のメッセージを共有",
"Link to selected message": "選択したメッセージにリンクする",
"COPY": "コピー",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "現在、未検証の端末をブラックリストに登録しています。 これらの端末にメッセージを送信するには、それらの端末を検証する必要があります。",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "各端末の正当な所有者に属していることを確認するために各端末の検証プロセスを進めることをおすすめしますが、あなたが好むかどうかを確認せずにメッセージを再送信することができます。",
- "Room contains unknown devices": "部屋には未知の端末が含まれています",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\"には以前見たことのない端末が含まれています。",
- "Unknown devices": "未知の端末",
"Private Chat": "プライベートチャット",
"Public Chat": "パブリックチャット",
"Custom": "カスタム",
@@ -887,8 +836,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "ユーザーと部屋をグループ化するコミュニティを作成してください! Matrixユニバースにあなたの空間を目立たせるためにカスタムホームページを作成してください。",
"You have no visible notifications": "表示される通知はありません",
"Scroll to bottom of page": "ページの一番下にスクロールする",
- "Message not sent due to unknown devices being present": "未知の端末が存在するためにメッセージが送信されない",
- "Show devices, send anyway or cancel.": "端末表示、とにかく送信または キャンセル。",
"You can't send any messages until you review and agree to our terms and conditions.": "利用規約 を確認して同意するまでは、いかなるメッセージも送信できません。",
"Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "このホームサーバーが月間アクティブユーザー制限を超えたため、メッセージは送信されませんでした。 サービスを引き続き使用するには、サービス管理者にお問い合わせください。",
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "このホームサーバーがリソース制限を超えたため、メッセージは送信されませんでした。 サービスを引き続き使用するには、サービス管理者にお問い合わせください。",
@@ -920,13 +867,10 @@
"Uploading %(filename)s and %(count)s others|zero": "%(filename)s アップロード中",
"Uploading %(filename)s and %(count)s others|one": "%(filename)s アップロード中、他 %(count)s 件",
"Success": "成功",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "パスワードが変更されました。再ログインするまで、他の端末のプッシュ通知を受け取ることはありません",
"Unable to remove contact information": "連絡先情報を削除できません",
"": "<サポート対象外>",
"Import E2E room keys": "E2Eルームキーのインポート",
"Cryptography": "暗号",
- "Device ID:": "端末ID:",
- "Device key:": "端末キー:",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "GitHub経由でバグを提出した場合、デバッグログは問題の追跡に役立ちます。 デバッグログには、ユーザー名、訪問した部屋またはグループIDまたはエイリアス、および他のユーザーのユーザー名を含むアプリケーション使用データが含まれます。 それらはメッセージを含んでいません。",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "プライバシーは私たちにとって重要なので、私たちは分析のための個人情報や識別可能なデータを収集しません。",
"Learn more about how we use analytics.": "アナリティクスの使用方法の詳細については、こちらをご覧ください。",
@@ -947,9 +891,8 @@
"click to reveal": "クリックすると表示されます",
"Homeserver is": "ホームサーバーは",
"Identity Server is": "アイデンティティ・サーバー",
- "matrix-react-sdk version:": "matrix-react-sdk version:",
- "riot-web version:": "riot-web version:",
- "olm version:": "olm version:",
+ "riot-web version:": "riot-web のバージョン:",
+ "olm version:": "olm のバージョン:",
"Failed to send email": "メールを送信できませんでした",
"The email address linked to your account must be entered.": "あなたのアカウントにリンクされているメールアドレスを入力する必要があります。",
"A new password must be entered.": "新しいパスワードを入力する必要があります。",
@@ -980,18 +923,17 @@
"NOT verified": "検証されていない",
"verified": "検証済み",
"Verification": "検証",
- "Ed25519 fingerprint": "Ed25519 fingerprint",
+ "Ed25519 fingerprint": "Ed25519フィンガープリント",
"User ID": "ユーザーID",
- "Curve25519 identity key": "Curve25519 identity key",
+ "Curve25519 identity key": "Curve25519 ID鍵",
"none": "無し",
- "Claimed Ed25519 fingerprint key": "Claimed Ed25519 fingerprint key",
+ "Claimed Ed25519 fingerprint key": "Claimed Ed25519フィンガープリント鍵",
"Algorithm": "アルゴリズム",
"unencrypted": "暗号化されていない",
"Decryption error": "復号化エラー",
"Session ID": "セッションID",
"End-to-end encryption information": "エンドツーエンド暗号化情報",
"Event information": "イベント情報",
- "Sender device information": "送信者端末情報",
"Passphrases must match": "パスフレーズは一致する必要があります",
"Passphrase must not be empty": "パスフレーズは空であってはいけません",
"Export room keys": "ルームキーのエクスポート",
@@ -1009,15 +951,7 @@
"Failed to remove tag %(tagName)s from room": "部屋からタグ %(tagName)s を削除できませんでした",
"Failed to add tag %(tagName)s to room": "部屋にタグ %(tagName)s を追加できませんでした",
"Open Devtools": "開発ツールを開く",
- "bold": "bold",
- "italic": "italic",
- "underlined": "underlined",
- "inline-code": "inline-code",
- "block-quote": "block-quote",
- "bulleted-list": "bulleted-list",
- "numbered-list": "numbered-list",
- "People": "人々",
- "Flair": "特色",
+ "Flair": "バッジ",
"Fill screen": "フィルスクリーン",
"Light theme": "明るいテーマ",
"Dark theme": "暗いテーマ",
@@ -1059,8 +993,6 @@
"The server does not support the room version specified.": "このサーバは指定された部屋バージョンに対応していません。",
"Name or Matrix ID": "名前またはMatrix ID",
"Identity server has no terms of service": "IDサーバーは利用規約を持っていません",
- "Email, name or Matrix ID": "メールアドレス、名前、またはMatrix ID",
- "Failed to start chat": "対話開始に失敗しました",
"Messages": "メッセージ",
"Actions": "アクション",
"Other": "その他",
@@ -1068,7 +1000,6 @@
"Sends a message as plain text, without interpreting it as markdown": "メッセージをマークダウンと解釈せずプレーンテキストとして送信する",
"Upgrades a room to a new version": "部屋を新しいバージョンへアップグレードする",
"You do not have the required permissions to use this command.": "このコマンドを実行するのに必要な権限がありません。",
- "Room upgrade confirmation": "部屋のアップグレードの確認",
"Changes your display nickname in the current room only": "表示されるニックネームをこの部屋に関してのみ変更する",
"Changes the avatar of the current room": "現在の部屋のアバターを変更する",
"Changes your avatar in this current room only": "アバターをこの部屋に関してのみ変更する",
@@ -1114,7 +1045,6 @@
"A word by itself is easy to guess": "単語一つだけだと簡単に特定されます",
"Custom user status messages": "ユーザーステータスのメッセージをカスタマイズする",
"Render simple counters in room header": "部屋のヘッダーに簡単なカウンターを表示する",
- "Use the new, faster, composer for writing messages": "メッセージの編集に新しい高速なコンポーザーを使う",
"Enable Emoji suggestions while typing": "入力中の絵文字提案機能を有効にする",
"Show avatar changes": "アバターの変更を表示する",
"Show display name changes": "表示名の変更を表示する",
@@ -1124,8 +1054,7 @@
"Enable Community Filter Panel": "コミュニティーフィルターパネルを有効にする",
"Show recently visited rooms above the room list": "最近訪問した部屋をリストの上位に表示する",
"Low bandwidth mode": "低帯域通信モード",
- "Public Name": "パブリック名",
- "Upload profile picture": "プロフィール画像をアップロード",
+ "Public Name": "公開名",
"Upgrade to your own domain": "あなた自身のドメインにアップグレード",
"Phone numbers": "電話番号",
"Set a new account password...": "アカウントの新しいパスワードを設定...",
@@ -1134,7 +1063,6 @@
"General": "一般",
"Preferences": "環境設定",
"Security & Privacy": "セキュリティとプライバシー",
- "A device's public name is visible to people you communicate with": "デバイスのパブリック名はあなたと会話するすべての人が閲覧できます",
"Room information": "部屋の情報",
"Internal room ID:": "内部 部屋ID:",
"Room version": "部屋のバージョン",
@@ -1149,7 +1077,7 @@
"Roles & Permissions": "役割と権限",
"Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.": "誰が履歴を読み取れるかに関する変更は、今後送信されるメッセージにのみ適用されます。既に存在する履歴の表示は変更されません。",
"Encryption": "暗号化",
- "Once enabled, encryption cannot be disabled.": "もし有効化された場合、二度と無効化できません。",
+ "Once enabled, encryption cannot be disabled.": "暗号化は一度有効にすると、二度と無効にできません。",
"Encrypted": "暗号化",
"Email Address": "メールアドレス",
"Main address": "メインアドレス",
@@ -1185,7 +1113,6 @@
"Remove messages": "メッセージの削除",
"Notify everyone": "全員に通知",
"Select the roles required to change various parts of the room": "部屋の様々な部分の変更に必要な役割を選択",
- "Upload room avatar": "部屋アバターをアップロード",
"Room Topic": "部屋のトピック",
"reacted with %(shortName)s": "%(shortName)s とリアクションしました",
"Next": "次へ",
@@ -1195,5 +1122,128 @@
"Other servers": "他のサーバー",
"Sign in to your Matrix account on %(serverName)s": "%(serverName)s上のMatrixアカウントにサインインします",
"Sign in to your Matrix account on ": "上のMatrixアカウントにサインインします",
- "Create account": "アカウントを作成"
+ "Create account": "アカウントを作成",
+ "Error upgrading room": "部屋のアップグレード中にエラーが発生しました",
+ "%(senderName)s placed a voice call.": "%(senderName)s が音声通話を行いました。",
+ "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s が音声通話を行いました。 (このブラウザではサポートされていません)",
+ "%(senderName)s placed a video call.": "%(senderName)s がビデオ通話を行いました。",
+ "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s がビデオ通話を行いました。 (このブラウザではサポートされていません)",
+ "Match system theme": "システムテーマに合わせる",
+ "Allow Peer-to-Peer for 1:1 calls": "1対1通話でP2P(ピアツーピア)を許可する",
+ "Delete Backup": "バックアップを削除",
+ "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "暗号化されたメッセージは、エンドツーエンドの暗号化によって保護されています。これらの暗号化されたメッセージを読むための鍵を持っているのは、あなたと参加者だけです。",
+ "Restore from Backup": "バックアップから復元",
+ "Credits": "クレジット",
+ "For help with using Riot, click here.": "Riotの使用方法に関するヘルプはこちらをご覧ください。",
+ "Help & About": "ヘルプと概要",
+ "Bug reporting": "バグの報告",
+ "FAQ": "よくある質問",
+ "Versions": "バージョン",
+ "Key backup": "鍵のバックアップ",
+ "Voice & Video": "音声とビデオ",
+ "Remove recent messages": "最近のメッセージを削除する",
+ "%(creator)s created and configured the room.": "%(creator)s が部屋を作成して構成しました。",
+ "Add room": "部屋を追加",
+ "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)sがこの部屋に%(groups)sのバッジを追加しました。",
+ "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)sがこの部屋から%(groups)sのバッジを削除しました。",
+ "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)sが%(newGroups)sのバッジを追加し、%(oldGroups)sのバッジを削除しました。",
+ "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "キーが正常にバックアップされていない場合、暗号化されたメッセージにアクセスできなくなります。本当によろしいですか?",
+ "not stored": "保存されていません",
+ "All keys backed up": "すべてのキーがバックアップされました",
+ "Backup version: ": "バックアップのバージョン: ",
+ "Algorithm: ": "アルゴリズム: ",
+ "Backup key stored: ": "バックアップキーの保存: ",
+ "Back up your keys before signing out to avoid losing them.": "暗号化キーを失くさないために、サインアウトする前にキーをバックアップしてください。",
+ "Start using Key Backup": "キーのバックアップをはじめる",
+ "Error updating flair": "バッジの更新でエラーが発生しました。",
+ "There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "この部屋のバッジの更新でエラーが発生しました。サーバーが許可していないか、一時的なエラーが発生しました。",
+ "Edited at %(date)s. Click to view edits.": "%(date)sに編集。クリックして編集を表示。",
+ "edited": "編集済",
+ "I don't want my encrypted messages": "暗号化されたメッセージは必要ありません",
+ "Manually export keys": "手動でキーをエクスポート",
+ "You'll lose access to your encrypted messages": "暗号化されたメッセージにアクセスできなくなります",
+ "You'll upgrade this room from to .": "このルームをからにアップグレードします。",
+ "Warning: You should only set up key backup from a trusted computer.": "警告: 信頼できるコンピュータからのみキーのバックアップをセットアップしてください。",
+ "For maximum security, this should be different from your account password.": "セキュリティの効果を高めるために、アカウントのパスワードと別のものを設定するべきです。",
+ "Enter a passphrase...": "パスワードを入力...",
+ "That matches!": "同じです!",
+ "Please enter your passphrase a second time to confirm.": "確認のために、パスワードをもう一度入力してください。",
+ "Repeat your passphrase...": "パスワードを再度入力...",
+ "Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "リカバリキーは安全網です - パスワードを忘れた際は、リカバリキーを使って復元できます。",
+ "Copy to clipboard": "クリップボードにコピー",
+ "Download": "ダウンロード",
+ "Your recovery key has been copied to your clipboard, paste it to:": "リカバリキーがクリップボードにコピーされました。ペーストして:",
+ "Print it and store it somewhere safe": "印刷して安全な場所に保管しましょう",
+ "Save it on a USB key or backup drive": "USB メモリーやバックアップ用のドライブに保存しましょう",
+ "Copy it to your personal cloud storage": "個人のクラウドストレージにコピーしましょう",
+ "Confirm your passphrase": "パスワードを確認",
+ "Recovery key": "リカバリキー",
+ "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "キーの暗号化されたコピーがサーバーに保存されます。バックアップを保護するために、パスワードを設定してください。",
+ "Secure your backup with a passphrase": "バックアップをパスワードで保護",
+ "Display Name": "表示名",
+ "Profile picture": "プロフィール画像",
+ "Encryption enabled": "暗号化が有効です",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "この部屋内のメッセージはエンドツーエンドで暗号化されます。詳細およびユーザーの検証に関しては各ユーザーのプロフィールをご確認ください。",
+ "Encryption not enabled": "暗号化が無効です",
+ "The encryption used by this room isn't supported.": "この部屋では暗号化の使用がサポートされていません。",
+ "Cross-signing public keys:": "クロス署名公開鍵:",
+ "Cross-signing private keys:": "クロス署名秘密鍵:",
+ "Delete %(count)s sessions|other": "%(count)s 件のセッションを削除",
+ "Delete %(count)s sessions|one": "%(count)s 件のセッションを削除",
+ "ID": "ID",
+ "Clear cache and reload": "キャッシュを削除して再読み込み",
+ "Session ID:": "セッションID:",
+ "Session key:": "セッション鍵:",
+ "Cross-signing": "クロス署名",
+ "Sessions": "セッション",
+ "A session's public name is visible to people you communicate with": "各セッションの公開名は、あなたの連絡先のユーザーが閲覧できます。",
+ "Session name": "セッション名",
+ "Session key": "セッション鍵",
+ "Sender session information": "送信者のセッション情報",
+ "Never send encrypted messages to unverified sessions from this session": "このセッションでは、未検証のセッションに対して暗号化されたメッセージを送信しない",
+ "Never send encrypted messages to unverified sessions in this room from this session": "このセッションでは、この部屋の未検証のセッションに対して暗号化されたメッセージを送信しない",
+ "Encrypted messages in one-to-one chats": "1対1のチャットでの暗号化されたメッセージ",
+ "Encrypted messages in group chats": "グループチャットでの暗号化されたメッセージ",
+ "Upload": "アップロード",
+ "Enable desktop notifications for this session": "このセッションでデスクトップ通知を行う",
+ "Email addresses": "メールアドレス",
+ "This room is end-to-end encrypted": "この部屋はエンドツーエンド暗号化されています",
+ "Some sessions for this user are not trusted": "このユーザーの一部のセッションは信頼されていません",
+ "All sessions for this user are trusted": "このユーザーの全てのセッションを信頼しています",
+ "Some sessions in this encrypted room are not trusted": "この暗号化された部屋の一部のセッションは信頼されていません",
+ "All sessions in this encrypted room are trusted": "この暗号化された部屋の全てのセッションを信頼しています",
+ "Encrypted by an unverified session": "未検証のセッションによる暗号化",
+ "Close preview": "プレビューを閉じる",
+ "Direct Messages": "ダイレクトメッセージ",
+ "Loading …": "読み込み中 …",
+ "Direct message": "ダイレクトメッセージ",
+ "Your display name": "あなたの表示名",
+ "Power level": "権限レベル",
+ "Removing…": "削除中…",
+ "Destroy cross-signing keys?": "クロス署名鍵を破棄してよろしいですか?",
+ "Clear cross-signing keys": "クロス署名鍵を削除",
+ "Clear all data in this session?": "このセッションの全てのデータを削除してよろしいですか?",
+ "Clear all data": "全てのデータを削除",
+ "Create a public room": "公開された部屋を作成",
+ "Make this room public": "この部屋を公開する",
+ "Loading session info...": "セッション情報を読み込み中...",
+ "Message edits": "メッセージの編集履歴",
+ "Report Content to Your Homeserver Administrator": "あなたのホームサーバーの管理者にコンテンツを報告",
+ "Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "このメッセージを報告すると、このメッセージの一意の「イベントID」があなたのホームサーバーの管理者に送信されます。この部屋内のメッセージが暗号化されている場合、ホームサーバーの管理者はメッセージのテキストを読んだり、ファイルや画像を表示することはできません。",
+ "Send report": "報告を送信する",
+ "Sign out and remove encryption keys?": "ログアウトおよび暗号鍵の削除を実行してよろしいですか?",
+ "Terms of Service": "利用規約",
+ "To continue you need to accept the terms of this service.": "続行するには、このサービスの利用規約に同意する必要があります。",
+ "Report Content": "コンテンツを報告",
+ "Hide": "隠す",
+ "Help": "ヘルプ",
+ "Filter rooms…": "部屋を検索…",
+ "Preview": "プレビュー",
+ "The version of Riot": "Riot のバージョン",
+ "Your user agent": "あなたの User Agent",
+ "Bold": "太字",
+ "Italics": "イタリック体",
+ "React": "リアクション",
+ "Quick Reactions": "一般的なリアクション",
+ "Share Permalink": "パーマリンクを共有"
}
diff --git a/src/i18n/strings/jbo.json b/src/i18n/strings/jbo.json
index e2183cabd1..8bb052cfe2 100644
--- a/src/i18n/strings/jbo.json
+++ b/src/i18n/strings/jbo.json
@@ -18,7 +18,6 @@
"The information being sent to us to help make Riot.im better includes:": ".i ti liste lo datni poi se dunda fi lo favgau te zu'e lo nu xagzengau la nu zunti",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": ".i pu lo nu benji fi lo samtcise'u cu vimcu lo datni poi termi'u no'u mu'a lo termi'u be lo kumfa pe'a .o nai lo pilno .o nai lo girzu",
"Call Failed": ".i pu fliba lo nu fonjo'e",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": ".i da poi no'e slabu samtciselse'u cu zvati le kumfa pe'a .i je lo nu lo drata cu tirna lo nu fonjo'e cu cumki lo nu do na'e lacri da",
"Review Devices": "za'u re'u viska lo liste be lo samtciselse'u",
"Call Anyway": "je'e fonjo'e",
"Answer Anyway": "je'e spuda",
@@ -95,10 +94,6 @@
"Moderator": "li so'i",
"Admin": "li ro",
"Start a chat": "lo nu co'a tavla",
- "Who would you like to communicate with?": ".i .au dai do tavla ma",
- "Start Chat": "co'a tavla",
- "Invite new room members": "vi'ecpe lo cnino prenu",
- "Send Invites": "mrilu lo ve vi'ecpe",
"Power level must be positive integer.": ".i .ei lo ni vlipa cu kacna'u",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": ".i la'o ly. %(senderName)s .ly. gafygau %(powerLevelDiffText)s",
"Failed to change power level": ".i pu fliba lo nu gafygau lo ni vlipa",
@@ -136,16 +131,9 @@
"Define the power level of a user": ".i ninga'igau lo ni lo pilno cu vlipa",
"Deops user with given id": ".i xruti lo ni lo pilno poi se judri ti cu vlipa",
"Opens the Developer Tools dialog": ".i samymo'i lo favgau se pilno uidje",
- "Verifies a user, device, and pubkey tuple": ".i xusra lo du'u do lacri lo pilno joi lo samtciselse'u joi lo gubni termifckiku",
- "Unknown (user, device) pair:": "lo pilno ce'o lo samtciselse'u vu'o poi na te djuno",
- "Device already verified!": ".i do ca'o pu lacri le samtciselse'u",
- "WARNING: Device already verified, but keys do NOT MATCH!": ".i ju'i cai do ca'o pu lacri le samtciselse'u .i je ku'i lo termifckiku ba'e na mapti",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": ".i ju'i cai pu fliba lo nu lacri lo termifckiku .i zoi ny. %(fprint)s .ny. noi se ponse la'o ny. %(userId)s .ny. .e la'o ny. %(deviceId)s .ny. noi samtciselse'u cu termi'u termifckiku gi'e na mapti le termifckiku poi do dunda no'u zoi ny. %(fingerprint)s .ny. .i la'a cu'i lo drata ju'i prenu cu tcidu lo se mrilu be do",
"Verified key": "lo termifckiku poi se lacri",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": ".i lo termi'u termifckiku poi do dunda cu mapti lo termi'u termifckiku poi do te benji la'o ny. %(deviceId)s .ny. noi samtciselse'u po'e la'o ny. %(userId)s .ny. .i do co'a lacri le samtciselse'u",
"Displays action": ".i mrilu lo nu do gasnu",
"Forces the current outbound group session in an encrypted room to be discarded": ".i macnu vimcu lo ca barkla termifckiku gunma lo kumfa pe'a poi mifra",
- "Unrecognised command:": "lo se minde poi na te djuno",
"Reason": "lo krinu",
"%(targetName)s accepted the invitation for %(displayName)s.": ".i la'o ly. %(targetName)s .ly. fitytu'i lo ve vi'ecpe be fi la'o ly. %(displayName)s .ly.",
"%(targetName)s accepted an invitation.": ".i la'o ly. %(targetName)s .ly. fitytu'i lo ve vi'ecpe",
@@ -190,7 +178,6 @@
"%(senderName)s made future room history visible to all room members.": ".i la'o ly. %(senderName)s .ly. gasnu lo nu ro lo cmima ka'e viska ro lo ba notci",
"%(senderName)s made future room history visible to anyone.": ".i la'o ly. %(senderName)s .ly. gasnu lo nu ro lo prenu ka'e viska ro lo ba notci",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": ".i la'o ly. %(senderName)s .ly. gasnu lo nu zo'e ka'e viska lo notci to cuxna zoi ny. %(visibility)s .ny. toi",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": ".i gau la'o ly. %(senderName)s .ly. co'a mulno mifra fi la'o ny. %(algorithm)s .ny.",
"%(senderName)s changed the pinned messages for the room.": ".i la'o ly. %(senderName)s .ly. gafygau lo vitno notci pe le kumfa pe'a",
"%(widgetName)s widget modified by %(senderName)s": ".i la'o ly. %(senderName)s .ly. gafygau la'o ny. %(widgetName)s .ny. noi uidje",
"%(widgetName)s widget added by %(senderName)s": ".i la'o ly. %(senderName)s .ly. jmina la'o ny. %(widgetName)s .ny. noi uidje",
@@ -215,8 +202,6 @@
"Automatically replace plain text Emoji": "lo du'u xu kau zmiku basti lo cinmo lerpoi",
"Mirror local video feed": "lo du'u xu kau minra lo diklo vidvi",
"Send analytics data": "lo du'u xu kau benji lo se lanli datni",
- "Never send encrypted messages to unverified devices from this device": "lo du'u xu kau no roi benji lo notci poi mifra ku lo samtciselse'u poi na'e lacri ku ti poi samtciselse'u",
- "Never send encrypted messages to unverified devices in this room from this device": "lo du'u xu kau no roi benji lo notci poi mifra ku lo samtciselse'u poi na'e lacri poi zvati le kumfa pe'a ku'o ti poi samtciselse'u",
"Enable inline URL previews by default": "lo zmiselcu'a pe lo du'u xu kau zmiku purzga lo se urli",
"Enable URL previews for this room (only affects you)": "lo du'u xu kau do zmiku purzga lo se urli ne'i le kumfa pe'a",
"Enable URL previews by default for participants in this room": "lo zmiselcu'a pe lo du'u xu kau lo cmima be le kumfa pe'a cu zmiku purzga lo se urli",
@@ -249,7 +234,6 @@
"New passwords don't match": ".i le'i japyvla poi cnino na simxu lo nu mintu",
"Passwords can't be empty": ".i lu li'u .e'a nai japyvla",
"Warning!": ".i ju'i",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": ".i lo nu galfi lo japyvla cu rinka lo nu galfi ro lo termifckiku pe lo samtciselse'u kei .e lo nu na kakne lo nu tolmifygau .i ja do barbei lo do kumfa pe'a termifckiku gi'e ba nerbei ri .i ta'o le ti pruce ba zenba lo ka frili",
"Export E2E room keys": "barbei lo kumfa pe'a termifckiku",
"Continue": "",
"Do you want to set an email address?": ".i .au pei do jmina lo te samymri",
@@ -258,10 +242,7 @@
"New Password": "lo japyvla poi cnino",
"Confirm password": "lo za'u re'u japyvla poi cnino",
"Change Password": "galfi lo japyvla",
- "Unable to load device list": ".i na kakne lo nu samymo'i lo liste be lo'i samtciselse'u",
"Authentication": "lo nu facki lo du'u do du ma kau",
- "Delete %(count)s devices|other": "vimcu %(count)s lo samtciselse'u",
- "Delete %(count)s devices|one": "vimcu le samtciselse'u",
"Device ID": "lo judri be lo samtciselse'u",
"Last seen": "lo ro re'u nu viska",
"Failed to set display name": ".i pu fliba lo nu galfi lo cmene",
diff --git a/src/i18n/strings/ko.json b/src/i18n/strings/ko.json
index 0cad0514ed..4271864216 100644
--- a/src/i18n/strings/ko.json
+++ b/src/i18n/strings/ko.json
@@ -49,9 +49,7 @@
"Custom": "사용자 지정",
"Device ID": "기기 ID",
"Default": "기본",
- "Device already verified!": "이미 인증한 기기입니다!",
"device id: ": "기기 ID: ",
- "Devices": "기기",
"Direct chats": "다이렉트 대화",
"Disable Notifications": "알림 끄기",
"Email": "이메일",
@@ -83,7 +81,6 @@
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s님이 방 이름을 %(roomName)s(으)로 바꿨습니다.",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s님이 방 이름을 제거했습니다.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s님이 주제를 \"%(topic)s\"(으)로 바꿨습니다.",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "비밀번호를 바꾸면 현재 모든 기기의 종단간 암호화 키가 다시 설정되고, 먼저 방의 키를 내보내고 나중에 다시 불러오지 않는 한, 암호화한 대화 기록을 읽을 수 없게 됩니다. 이 부분은 향상시키겠습니다.",
"Claimed Ed25519 fingerprint key": "Ed25519 핑거프린트 키가 필요함",
"Click here to fix": "해결하려면 여기를 누르세요",
"Click to mute audio": "소리를 끄려면 클릭",
@@ -104,8 +101,6 @@
"Decrypt %(text)s": "%(text)s 복호화",
"Decryption error": "암호 복호화 오류",
"Deops user with given id": "받은 ID로 사용자의 등급을 낮추기",
- "Device ID:": "기기 ID:",
- "Device key:": "기기 키:",
"Disinvite": "초대 취소",
"Displays action": "활동 표시하기",
"Download %(text)s": "%(text)s 다운로드",
@@ -113,7 +108,6 @@
"Ed25519 fingerprint": "Ed25519 핑거프린트",
"Emoji": "이모지",
"Enable Notifications": "알림 켜기",
- "Encrypted by an unverified device": "인증되지 않은 기기로 암호화됨",
"%(senderName)s ended the call.": "%(senderName)s님이 전화를 끊었습니다.",
"End-to-end encryption information": "종단간 암호화 정보",
"Enter passphrase": "암호 입력",
@@ -149,7 +143,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s를 %(fromPowerLevel)s에서 %(toPowerLevel)s로",
"Guests cannot join this room even if explicitly invited.": "명시적으로 초대 받은 손님이라도 이 방에는 들어가실 수 없습니다.",
"Hangup": "전화 끊기",
- "Hide Text Formatting Toolbar": "문자 서식 도구 숨기기",
"Historical": "기록",
"Home": "홈",
"Homeserver is": "홈서버:",
@@ -163,15 +156,12 @@
"Incoming voice call from %(name)s": "%(name)s님으로부터 음성 통화가 왔습니다",
"Incorrect username and/or password.": "사용자 이름 혹은 비밀번호가 맞지 않습니다.",
"Incorrect verification code": "맞지 않은 인증 코드",
- "Invalid alias format": "잘못된 별칭 형식입니다",
"Invalid Email Address": "잘못된 이메일 주소",
"Invalid file%(extra)s": "잘못된 파일%(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s님이 %(targetName)s님을 초대했습니다.",
- "Invite new room members": "새 구성원 초대하기",
"Invited": "초대받음",
"Invites": "초대",
"Invites user with given id to current room": "받은 ID로 사용자를 현재 방에 초대하기",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s'이(가) 별칭에 올바른 형식이 아님",
"Sign in with": "이것으로 로그인",
"Join as voice or video.": "음성 또는 영상으로 참가하세요.",
"Join Room": "방에 참가",
@@ -194,16 +184,10 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s님이 이후 누구나 방의 기록을 볼 수 있게 했습니다.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s님이 이후 알 수 없음 (%(visibility)s)이 방의 기록을 볼 수 있게 했습니다.",
"Manage Integrations": "통합 관리",
- "Markdown is disabled": "마크다운이 꺼져 있음",
- "Markdown is enabled": "마크다운이 켜져 있음",
- "matrix-react-sdk version:": "matrix-react-sdk 버전:",
- "Message not sent due to unknown devices being present": "알 수 없는 기기가 있어 메시지를 보낼 수 없음",
"Missing room_id in request": "요청에서 room_id가 빠짐",
"Missing user_id in request": "요청에서 user_id이(가) 빠짐",
"Moderator": "조정자",
"Name": "이름",
- "Never send encrypted messages to unverified devices from this device": "이 기기에서 절대 인증받지 않은 기기에게 암호화한 메시지를 보내지 않기",
- "Never send encrypted messages to unverified devices in this room from this device": "이 기기에서 이 방의 인증받지 않은 기기로 암호화한 메시지를 보내지 않기",
"New address (e.g. #foo:%(localDomain)s)": "새 주소 (예: #foo:%(localDomain)s)",
"New passwords don't match": "새 비밀번호가 맞지 않음",
"New passwords must match each other.": "새 비밀번호는 서로 같아야 합니다.",
@@ -212,7 +196,6 @@
"(not supported by this browser)": "(이 브라우저에서 지원하지 않습니다)",
"": "<지원하지 않음>",
"NOT verified": "인증하지 않음",
- "No devices with registered encryption keys": "등록된 암호화 키가 있는 기기가 없음",
"No display name": "표시 이름 없음",
"No more results": "더 이상 결과 없음",
"No results": "결과 없음",
@@ -221,7 +204,6 @@
"Password": "비밀번호",
"Passwords can't be empty": "비밀번호를 입력해주세요",
"Permissions": "권한",
- "People": "사람",
"Phone": "전화",
"Only people who have been invited": "초대받은 사람만",
"Please check your email and click on the link it contains. Once this is done, click continue.": "이메일을 확인하고 안의 링크를 클릭합니다. 모두 마치고 나서, 계속하기를 누르세요.",
@@ -249,7 +231,6 @@
"riot-web version:": "Riot 웹 버전:",
"Room %(roomId)s not visible": "방 %(roomId)s이(가) 보이지 않음",
"Room Colour": "방 색",
- "Room contains unknown devices": "알 수 없는 기기가 있는 방",
"%(roomName)s does not exist.": "%(roomName)s은 없는 방이에요.",
"%(roomName)s is not accessible at this time.": "현재는 %(roomName)s에 들어갈 수 없습니다.",
"Rooms": "방",
@@ -259,8 +240,6 @@
"Searches DuckDuckGo for results": "DuckDuckGo에서 검색하기",
"Seen by %(userName)s at %(dateTime)s": "%(userName)s님이 %(dateTime)s에 확인함",
"Send anyway": "무시하고 보내기",
- "Sender device information": "발신자 기기 정보",
- "Send Invites": "초대 보내기",
"Send Reset Email": "초기화 이메일 보내기",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s님이 사진을 보냈습니다.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "방에 들어오라고 %(senderName)s님이 %(targetDisplayName)s님에게 초대를 보냈습니다.",
@@ -270,7 +249,6 @@
"Server unavailable, overloaded, or something else went wrong.": "서버를 쓸 수 없거나 과부하거나, 다른 문제가 있습니다.",
"Session ID": "세션 ID",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s님이 표시 이름을 %(displayName)s(으)로 설정했습니다.",
- "Show Text Formatting Toolbar": "문자 서식 도구 보이기",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "시간을 12시간제로 보이기(예: 오후 2:30)",
"Signed Out": "로그아웃함",
"Sign in": "로그인",
@@ -279,11 +257,9 @@
"Someone": "다른 사람",
"Start a chat": "대화 시작하기",
"Start authentication": "인증 시작",
- "Start Chat": "대화 시작",
"Submit": "제출",
"Success": "성공",
"The phone number entered looks invalid": "입력한 전화번호가 잘못됨",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "입력한 서명 키는 %(userId)s님의 기기 %(deviceId)s에서 받은 서명 키와 같습니다. 기기가 확인되었습니다.",
"This email address is already in use": "이 이메일 주소는 이미 사용 중입니다",
"This email address was not found": "이 이메일 주소를 찾을 수 없음",
"The email address linked to your account must be entered.": "계정에 연결한 이메일 주소를 입력해야 합니다.",
@@ -297,7 +273,6 @@
"To use it, just wait for autocomplete results to load and tab through them.": "이 기능을 사용하려면, 자동 완성 결과가 나오길 기다린 뒤에 탭으로 움직여주세요.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "이 방의 타임라인에서 특정 시점을 불러오려고 했지만, 문제의 메시지를 볼 수 있는 권한이 없습니다.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "이 방의 타임라인에서 특정 시점을 불러오려고 했지만, 찾을 수 없었습니다.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s님이 종단간 암호화를 켰습니다 (%(algorithm)s 알고리즘).",
"Unable to add email address": "이메일 주소를 추가할 수 없음",
"Unable to remove contact information": "연락처 정보를 제거할 수 없음",
"Unable to verify email address.": "이메일 주소를 인증할 수 없습니다.",
@@ -305,17 +280,12 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s님이 %(targetName)s님에 대한 출입 금지를 풀었습니다.",
"Unable to capture screen": "화면을 찍을 수 없음",
"Unable to enable Notifications": "알림을 사용할 수 없음",
- "Unable to load device list": "기기 목록을 불러올 수 없음",
- "Undecryptable": "복호화할 수 없음",
"unencrypted": "암호화하지 않음",
- "Unencrypted message": "암호화하지 않은 메시지",
"unknown caller": "알 수 없는 발신자",
"unknown device": "알 수 없는 기기",
"Unknown room %(roomId)s": "알 수 없는 방 %(roomId)s",
- "Unknown (user, device) pair:": "알 수 없는 (사용자, 기기) 연결:",
"Unmute": "음소거 끄기",
"Unnamed Room": "이름 없는 방",
- "Unrecognised command:": "인식 할 수 없는 명령:",
"Unrecognised room alias:": "인식할 수 없는 방 별칭:",
"Uploading %(filename)s and %(count)s others|zero": "%(filename)s을(를) 올리는 중",
"Uploading %(filename)s and %(count)s others|one": "%(filename)s 외 %(count)s개를 올리는 중",
@@ -342,13 +312,10 @@
"(no answer)": "(응답 없음)",
"(unknown failure: %(reason)s)": "(알 수 없는 오류: %(reason)s)",
"Warning!": "주의!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "경고: 기기는 이미 인증했지만, 키가 맞지 않습니다!",
"Who can access this room?": "누가 이 방에 들어올 수 있나요?",
"Who can read history?": "누가 기록을 읽을 수 있나요?",
- "Who would you like to communicate with?": "누구와 대화하고 싶으세요?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s님이 %(targetName)s님의 초대를 거절했습니다.",
"You are already in a call.": "이미 통화 중입니다.",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "경고: 열쇠 확인 실패! %(userId)s와 %(deviceId)s 기기의 서명 키 \"%(fprint)s\"는 주어진 키 \"%(fingerprint)s\"와 맞지 않습니다. 누군가 대화를 엿듣는 중일 수도 있습니다!",
"You cannot place a call with yourself.": "자기 자신에게는 전화를 걸 수 없습니다.",
"You cannot place VoIP calls in this browser.": "이 브라우저에서는 VoIP 전화를 걸 수 없습니다.",
"You do not have permission to post to this room": "이 방에 글을 올릴 권한이 없습니다",
@@ -359,7 +326,6 @@
"You need to be able to invite users to do that.": "그러려면 사용자를 초대할 수 있어야 합니다.",
"You need to be logged in.": "로그인을 해야 합니다.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "이메일 주소가 이 홈서버의 Matrix ID와 관련이 없는 것 같습니다.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "비밀번호를 바꿨습니다. 다른 기기에서는 다시 로그인할 때까지 푸시 알림을 받지 않을 겁니다",
"You seem to be in a call, are you sure you want to quit?": "전화 중인데, 끊겠습니까?",
"You seem to be uploading files, are you sure you want to quit?": "파일을 업로드 중인데, 그만두겠습니까?",
"Sun": "일",
@@ -396,8 +362,6 @@
"(~%(count)s results)|one": "(~%(count)s개의 결과)",
"(~%(count)s results)|other": "(~%(count)s개의 결과)",
"Active call": "전화 중",
- "bold": "굵게",
- "italic": "기울게",
"Please select the destination room for this message": "이 메시지를 보낼 방을 골라주세요",
"New Password": "새 비밀번호",
"Start automatically after system login": "컴퓨터를 시작할 때 자동으로 실행하기",
@@ -422,18 +386,9 @@
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "이 과정으로 다른 Matrix 클라이언트에서 내보낸 암호화 키를 가져올 수 있습니다. 그런 다음 이전 클라이언트에서 복호화할 수 있는 모든 메시지를 복호화할 수 있습니다.",
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "내보낸 파일이 암호로 보호되어 있습니다. 파일을 복호화하려면, 여기에 암호를 입력해야 합니다.",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "이 이벤트를 감추길(삭제하길) 원하세요? 방 이름을 삭제하거나 주제를 바꾸면, 다시 생길 수도 있습니다.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "이 기기를 신뢰할 수 있는 지 인증하려면, 다른 방법(예를 들자면 직접 만나거나 전화를 걸어서)으로 소유자 분에게 연락해, 사용자 설정에 있는 키가 아래 키와 같은지 물어보세요:",
- "Device name": "기기 이름",
- "Device key": "기기 키",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "키가 동일하다면, 아래의 인증 버튼을 누르세요. 혹시 키가 다르다면, 이 기기가 누군가의 공격을 받고 있는 중인 것이므로 블랙리스트에 올려야 합니다.",
- "Verify device": "기기 인증",
"I verify that the keys match": "열쇠가 맞는지 인증합니다",
"Unable to restore session": "세션을 복구할 수 없음",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "이전에 최근 버전의 Riot을 썼다면, 세션이 이 버전과 맞지 않을 것입니다. 창을 닫고 최근 버전으로 돌아가세요.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "현재 인증되지 않은 기기를 블랙리스트에 올리고 있습니다. 인증되지 않은 기기로 메시지를 보내려면 기기를 인증해야 합니다.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "각 기기가 알맞은 소유자에게 속해 있는지 인증 과정을 거치길 추천하지만, 원한다면 그러지 않고도 메시지를 다시 보낼 수 있습니다.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" 방에 본 적 없는 기기가 있습니다.",
- "Unknown devices": "알 수 없는 기기",
"Unknown Address": "알 수 없는 주소",
"Unblacklist": "블랙리스트 제외",
"Blacklist": "블랙리스트 등록",
@@ -476,8 +431,6 @@
"Start verification": "인증 시작",
"Share without verifying": "인증하지 않고 공유",
"Ignore request": "요청 무시하기",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "암호화 키를 요청하고 있는 새 기기 '%(displayName)s'을(를) 추가했습니다.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "인증되지 않은 기기 '%(displayName)s'이(가) 암호화 키를 요청하고 있습니다.",
"Encryption key request": "암호화 키 요청",
"Edit": "편집",
"Fetching third party location failed": "제 3자 위치를 가져오지 못함",
@@ -527,7 +480,6 @@
"Files": "파일",
"Collecting app version information": "앱 버전 정보를 수집하는 중",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "방 별칭 %(alias)s을(를) 삭제하고 목록에서 %(name)s 방을 제거하겠습니까?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "이런 식으로 로그아웃한 뒤 계정으로 돌아가, 다른 기기에서 로그인할 수 있습니다.",
"Enable notifications for this account": "이 계정의 알림 사용하기",
"Messages containing keywords": "키워드가 적힌 메시지",
"Room not found": "방을 찾을 수 없음",
@@ -637,7 +589,6 @@
"The information being sent to us to help make Riot.im better includes:": "Riot.im을 발전시키기 위해 저희에게 보내는 정보는 다음을 포함합니다:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "이 페이지에서 방, 사용자, 혹은 그룹 ID와 같은 식별 가능한 정보를 포함하는 부분이 있는 데이터는 서버에 보내지기 전에 제거됩니다.",
"Call Failed": "전화 실패",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "이 방에 모르는 기기가 있습니다: 확인하지 않는다면 누군가가 당신의 대화를 엿들을 가능성이 있습니다.",
"Review Devices": "기기 검증하기",
"Call Anyway": "무시하고 걸기",
"Answer Anyway": "무시하고 받기",
@@ -674,7 +625,6 @@
"You are no longer ignoring %(userId)s": "%(userId)s님을 더 이상 무시하고 있지 않습니다",
"Define the power level of a user": "사용자의 권한 등급 정의하기",
"Opens the Developer Tools dialog": "개발자 도구 대화 열기",
- "Verifies a user, device, and pubkey tuple": "사용자, 기기, 그리고 공개키 튜플 인증하기",
"%(widgetName)s widget modified by %(senderName)s": "%(senderName)s님이 수정한 %(widgetName)s 위젯",
"%(widgetName)s widget added by %(senderName)s": "%(senderName)s님이 추가한 %(widgetName)s 위젯",
"%(widgetName)s widget removed by %(senderName)s": "%(senderName)s님이 제거한 %(widgetName)s 위젯",
@@ -699,7 +649,6 @@
"Automatically replace plain text Emoji": "일반 문자로 된 이모지 자동으로 변환하기",
"Mirror local video feed": "보고 있는 비디오 전송 상태 비추기",
"Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "다른 사용자는 커뮤니티 이름과 아바타 변경 내역을 최대 30분까지 보지 못할 수 있습니다.",
- "Delete %(count)s devices|one": "기기 삭제",
"Invalid community ID": "잘못된 커뮤니티 ID",
"'%(groupId)s' is not a valid community ID": "'%(groupId)s'은(는) 올바른 커뮤니티 ID가 아님",
"New community ID (e.g. +foo:%(localDomain)s)": "새 커뮤니티 ID (예시: +foo:%(localDomain)s)",
@@ -712,7 +661,6 @@
"%(senderName)s sent a video": "%(senderName)s님이 영상을 보냄",
"%(senderName)s uploaded a file": "%(senderName)s님이 파일을 업로드함",
"Key request sent.": "키 요청을 보냈습니다.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "당신의 다른 기기에 이 메시지를 읽기 위한 키가 없다면 메시지를 복호화할 수 없습니다.",
"Disinvite this user?": "이 사용자에 대한 초대를 취소할까요?",
"Kick this user?": "이 사용자를 추방할까요?",
"Unban this user?": "이 사용자를 출입 금지에서 풀까요?",
@@ -729,10 +677,8 @@
"Loading...": "로딩 중...",
"Unpin Message": "메시지 고정 풀기",
"No pinned messages.": "고정된 메시지가 없습니다.",
- "At this time it is not possible to reply with an emote.": "지금은 감정 표현으로 답장할 수 없습니다.",
"Send a message (unencrypted)…": "(암호화 안 된) 메시지를 보내세요…",
"Send an encrypted message…": "암호화된 메시지를 보내세요…",
- "Unable to reply": "답장할 수 없습니다",
"Send an encrypted reply…": "암호화된 메시지를 보내세요…",
"Send a reply (unencrypted)…": "(암호화 안 된) 답장을 보내세요…",
"User Options": "사용자 옵션",
@@ -752,7 +698,6 @@
"were unbanned %(count)s times|one": "의 출입 금지이 풀렸습니다",
"was unbanned %(count)s times|other": "님의 출입 금지이 %(count)s번 풀렸습니다",
"was unbanned %(count)s times|one": "님의 출입 금지이 풀렸습니다",
- "Delete %(count)s devices|other": "%(count)s개의 기기 삭제",
"You have entered an invalid address.": "잘못된 주소를 입력했습니다.",
"This room is not public. You will not be able to rejoin without an invite.": "이 방은 공개되지 않았습니다. 초대 없이는 다시 들어올 수 없습니다.",
"Enable URL previews for this room (only affects you)": "이 방에서 URL 미리보기 사용하기 (오직 나만 영향을 받음)",
@@ -760,9 +705,6 @@
"Enable widget screenshots on supported widgets": "지원되는 위젯에 대해 위젯 스크린샷 사용하기",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "누군가 메시지에 URL을 넣으면, URL 미리 보기로 웹사이트에서 온 제목, 설명, 그리고 이미지 등 그 링크에 대한 정보가 표시됩니다.",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "지금 이 방처럼, 암호화된 방에서는 홈서버 (미리 보기가 만들어지는 곳)에서 이 방에서 보여지는 링크에 대해 알 수 없도록 기본으로 URL 미리 보기가 꺼집니다.",
- "Your key share request has been sent - please check your other devices for key share requests.": "키 공유 요청을 보냈습니다. 키 공유 요청을 다른 기기에서 받아주세요.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "자동으로 다른 기기에 키 공유 요청을 보냈습니다. 다른 기기에서 키 공유 요청을 거절하거나 버렸다면, 여기를 눌러 이 세션으로 다시 키를 요청하세요.",
- "Re-request encryption keys from your other devices.": "다른 기기에서 암호화 키를 다시 요청했습니다.",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "자기 자신을 강등하는 것은 되돌릴 수 없고, 자신이 마지막으로 이 방에서 특권을 가진 사용자라면 다시 특권을 얻는 건 불가능합니다.",
"Jump to read receipt": "읽은 기록으로 건너뛰기",
"Jump to message": "메세지로 건너뛰기",
@@ -788,8 +730,6 @@
"A call is currently being placed!": "현재 전화를 걸고 있습니다!",
"Permission Required": "권한 필요",
"You do not have permission to start a conference call in this room": "이 방에서는 회의 전화를 시작할 권한이 없습니다",
- "deleted": "취소선",
- "underlined": "밑줄",
"
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
커뮤니티 페이지를 위한 HTML
\n
\n 새 구성원에게 커뮤니티에 대해 소개하거나\n 일부 중요한 링크를 나눠주기 위해 긴 설명을 사용\n
\n
\n 'img' 태그를 사용할 수도 있습니다\n
\n",
"Copied!": "복사했습니다!",
"Failed to copy": "복사 실패함",
@@ -830,10 +770,6 @@
"%(oneUser)srejected their invitation %(count)s times|one": "%(oneUser)s님이 초대를 거절했습니다",
"were invited %(count)s times|other": "이 %(count)s번 초대받았습니다",
"were invited %(count)s times|one": "이 초대받았습니다",
- "inline-code": "인라인 코드",
- "block-quote": "인용 블록",
- "bulleted-list": "글머리 기호 목록",
- "numbered-list": "숫자 목록",
"Event Content": "이벤트 내용",
"Event Type": "이벤트 종류",
"Failed to send custom event.": "맞춤 이벤트를 보내지 못했습니다.",
@@ -931,7 +867,6 @@
"To continue using the %(homeserverDomain)s homeserver you must review and agree to our terms and conditions.": "홈서버 %(homeserverDomain)s을(를) 계속 사용하기 위해서는 저희 이용 약관을 검토하고 동의해주세요.",
"State Key": "상태 키",
"Send Account Data": "계정 정보 보내기",
- "Loading device info...": "기기 정보 받는 중...",
"Clear Storage and Sign Out": "저장소를 지우고 로그아웃",
"Send Logs": "로그 보내기",
"We encountered an error trying to restore your previous session.": "이전 활동을 복구하는 중 에러가 발생했습니다.",
@@ -993,20 +928,13 @@
"The server does not support the room version specified.": "서버가 지정된 방 버전을 지원하지 않습니다.",
"Name or Matrix ID": "이름 혹은 Matrix ID",
"Unable to load! Check your network connectivity and try again.": "불러올 수 없습니다! 네트워크 연결 상태를 확인한 후 다시 시도하세요.",
- "Email, name or Matrix ID": "이메일, 이름 혹은 Matrix ID",
- "Failed to start chat": "대화 시작 실패",
"Failed to invite users to the room:": "방으로 사용자들을 초대하지 못했습니다:",
"Messages": "메시지",
"Actions": "활동",
"Other": "기타",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "¯\\_(ツ)_/¯ 앞에 일반 문자 메시지를 놓으세요",
"Upgrades a room to a new version": "새 버전으로 방을 업그레이드하기",
- "Room upgrade confirmation": "방 업그레이드 확인",
- "Upgrading a room can be destructive and isn't always necessary.": "방을 업그레이드 하는 것이 파괴로 이어질 수 있으며, 필수적이지 않습니다.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "방 업그레이드는 보통 방 버전이 불안정으로 간주될 때 추천합니다. 불안정한 방 버전은 버그나 부족한 기능, 혹은 보안에 취약할 수 있습니다.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "방 업그레이드는 방의 서버 측 처리에만 영향을 줍니다. Riot 클라이언트에 문제가 있는 경우, 에 문제를 제기하세요.",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "경고: 방을 업그레이드하는 것은 자동으로 방 구성원 방의 새 버전으로 마이그레이션하지 않습니다. 이전 버전의 방에 새 방의 링크를 게시합니다 - 방 구성원은 링크를 클릭해서 새 방에 들어가야 합니다.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "이 방을 에서 으로 업그레이드하길 원하는 지 확인해주세요.",
"Changes your display nickname in the current room only": "현재 방에서만 표시 별명 변경하기",
"Changes your avatar in this current room only": "현재 방에서만 아바타 변경하기",
"Changes your avatar in all rooms": "모든 방에서 아바타 변경하기",
@@ -1125,7 +1053,6 @@
"Pencil": "연필",
"Paperclip": "클립",
"Scissors": "가위",
- "Padlock": "자물쇠",
"Key": "열쇠",
"Hammer": "망치",
"Telephone": "전화기",
@@ -1197,8 +1124,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "다음 이모지가 상대방의 화면에 나타나는 것을 확인하는 것으로 이 사용자를 인증합니다.",
"Verify this user by confirming the following number appears on their screen.": "다음 숫자가 상대방의 화면에 나타나는 것을 확인하는 것으로 이 사용자를 인증합니다.",
"Unable to find a supported verification method.": "지원하는 인증 방식을 찾을 수 없습니다.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "보안을 최대화하려면, 상대방과 직접 대면하거나 신뢰할 수 있는 다른 대화 수단을 사용하는 것이 좋습니다.",
- "Your homeserver does not support device management.": "홈서버는 기기 관리를 지원하지 않습니다.",
"ID": "ID",
"Public Name": "공개 이름",
"Delete Backup": "백업 삭제",
@@ -1206,31 +1131,14 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "암호화된 메시지는 종단간 암호화로 보호됩니다. 오직 당신과 상대방만 이 메시지를 읽을 수 있는 키를 갖습니다.",
"Unable to load key backup status": "키 백업 상태를 불러올 수 없음",
"Restore from Backup": "백업에서 복구",
- "This device is backing up your keys. ": "이 기기는 키를 백업하고 있습니다. ",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "이 기기는 키를 백업하지 않고 있습니다, 하지만 복구할 수 있는 기존 백업 키가 있습니다.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "이 기기에만 있을 수 있는 키를 잃지 않도록 로그아웃하기 전에 이 기기를 키 백업에 연결하세요.",
- "Connect this device to Key Backup": "이 기기를 키 백업에 연결",
"Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s 키를 백업 중...",
"All keys backed up": "모든 키 백업됨",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "백업에 ID %(deviceId)s인 알 수 없는 기기의 서명이 있습니다.",
- "Backup has a valid signature from this device": "백업에 이 기기의 올바른 서명이 있습니다",
- "Backup has an invalid signature from this device": "백업에 이 기기의 올바르지 않은 서명이 있습니다",
- "Backup has a valid signature from verified device ": "백업에 인증된 기기의 올바른 서명이 있습니다",
- "Backup has a valid signature from unverified device ": "백업에 인증되지 않은 기기의 올바른 서명이 있습니다",
- "Backup has an invalid signature from verified device ": "백업에 인증된 기기의 올바르지 않은 서명이 있습니다",
- "Backup has an invalid signature from unverified device ": "백업에 인증되지 않은 기기의 올바르지 않은 서명이 있습니다",
- "Backup is not signed by any of your devices": "백업이 어떤 기기에도 서명되지 않았습니다",
- "This backup is trusted because it has been restored on this device": "이 백업은 이 기기에서 복구했기에 신뢰할 수 있습니다",
"Backup version: ": "백업 버전: ",
"Algorithm: ": "알고리즘: ",
- "Your keys are not being backed up from this device.": "키가 이 기기에서 백업되지 않았습니다.",
"Back up your keys before signing out to avoid losing them.": "잃어버리지 않도록 로그아웃하기 전에 키를 백업하세요.",
"Start using Key Backup": "키 백업 시작",
"Add an email address to configure email notifications": "이메일 알림을 설정하려면 이메일 주소를 추가하세요",
- "Enable desktop notifications for this device": "이 기기에 대해 데스크톱 알림 켜기",
- "Enable audible notifications for this device": "이 기기에 대해 음성 알림 켜기",
"Profile picture": "프로필 사진",
- "Upload profile picture": "프로필 사진 업로드",
"Upgrade to your own domain": "자체 도메인을 업그레이드하기",
"Display Name": "표시 이름",
"Identity Server URL must be HTTPS": "ID 서버 URL은 HTTPS이어야 함",
@@ -1285,7 +1193,6 @@
"Accept all %(invitedRooms)s invites": "모든 %(invitedRooms)s개의 초대를 수락",
"Key backup": "키 백업",
"Security & Privacy": "보안 & 개인",
- "A device's public name is visible to people you communicate with": "기기의 공개 이름은 대화하는 사람들에게 보입니다",
"Missing media permissions, click the button below to request.": "미디어 권한이 없습니다, 권한 요청을 보내려면 아래 버튼을 클릭하세요.",
"Request media permissions": "미디어 권한 요청",
"Voice & Video": "음성 & 영상",
@@ -1349,10 +1256,6 @@
"Remove %(phone)s?": "%(phone)s을(를) 제거하겠습니까?",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "문자 메시지를 +%(msisdn)s(으)로 보냈습니다. 메시지에 있는 인증 코드를 입력해주세요.",
"Phone Number": "전화번호",
- "Some devices for this user are not trusted": "이 사용자의 일부 기기를 신뢰할 수 없음",
- "Some devices in this encrypted room are not trusted": "이 암호화된 방의 일부 기기를 신뢰할 수 없음",
- "All devices for this user are trusted": "이 사용자의 모든 기기를 신뢰함",
- "All devices in this encrypted room are trusted": "이 암호화된 방의 모든 기기를 신뢰함",
"Edit message": "메시지 편집",
"Joining room …": "방에 참가하는 중 …",
"Loading …": "로딩 중 …",
@@ -1402,8 +1305,6 @@
"Error updating flair": "재능 업데이트 중 오류",
"There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "재능을 업데이트하는 중 오류가 발생했습니다. 서버가 허용하지 않거나 일시적인 오류 발생일 수 있습니다.",
"Room avatar": "방 아바타",
- "Upload room avatar": "방 아바타 업로드",
- "No room avatar": "방 아바타 없음",
"Room Name": "방 이름",
"Room Topic": "방 주제",
"Show all": "전체 보기",
@@ -1445,8 +1346,6 @@
"If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here.": "언제, 방 ID, 사용자 ID 등, 문제 분석에 도움이 되는 추가 문맥이 있다면, 그것들도 여기에 포함해주세요.",
"Unable to load commit detail: %(msg)s": "커밋 세부 정보를 불러올 수 없음: %(msg)s",
"Removing…": "제거 중…",
- "Clear all data on this device?": "이 기기의 모든 데이터를 지우겠습니까?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "이 기기에서 모든 데이터를 지우는 것은 영구적입니다. 암호화된 메시지는 키를 백업해 놓지 않았다면 읽을 수 없습니다.",
"Clear all data": "모든 데이터 지우기",
"To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "대화 기록을 잃지 않으려면, 로그아웃하기 전에 방 키를 내보내야 합니다. 이 작업을 수행하려면 최신 버전의 Riot으로 가야 합니다",
"You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "이전에 %(host)s에서 Riot의 최신 버전을 사용했습니다. 종단간 암호화로 이 버전을 다시 사용하려면, 로그아웃한 후 다시 로그인하세요. ",
@@ -1459,12 +1358,10 @@
"Waiting for partner to accept...": "상대방이 수락하기를 기다리는 중...",
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "아무것도 안 나타나나요? 아직 모든 클라이언트가 상호작용 인증을 지원하지 않습니다. 옛날 인증 방식을 사용하세요.",
"Waiting for %(userId)s to confirm...": "%(userId)s님이 확인하기를 기다리는 중...",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "이 기기를 신뢰할 수 있는 지 인증하려면, 해당 기기에서 사용자 설정에 들어가 보이는 키가 아래 키와 맞는 지 확인해주세요:",
"Use two-way text verification": "양방향 문자 인증 사용",
"Explore Room State": "방 상태 탐색",
"View Servers in Room": "방에 있는 서버 보기",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "이 사용자를 신뢰할 수 있도록 인증합니다. 종단간 암호화 메시지를 사용할 때 사용자를 신뢰하면 안심이 듭니다.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "이 사용자가 기기를 신뢰할 수 있다고 표시하고, 내 기기도 상대방에게 신뢰할 수 있다고 표시했는지 확인하세요.",
"Waiting for partner to confirm...": "상대방이 확인하기를 기다리는 중...",
"Incoming Verification Request": "수신 확인 요청",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "이전에 구성원의 불러오기 지연이 켜진 %(host)s에서 Riot을 사용했습니다. 이 버전에서 불러오기 지연은 꺼집니다. 로컬 캐시가 이 두 설정 간에 호환되지 않으므로, Riot은 계정을 다시 동기화 해야 합니다.",
@@ -1536,7 +1433,6 @@
"This looks like a valid recovery key!": "올바른 복구 키입니다!",
"Not a valid recovery key": "올바르지 않은 복구 키",
"Access your secure message history and set up secure messaging by entering your recovery key.": "복구 키를 입력해서 보안 메시지 기록에 접근하고 보안 메시지 설정하기.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "복구 암호를 잊어버렸다면 새 복구 옵션을 설정할 수 있음",
"Resend edit": "편집 다시 보내기",
"Resend %(unsentCount)s reaction(s)": "%(unsentCount)s개의 리액션 다시 보내기",
"Resend removal": "삭제 다시 보내기",
@@ -1600,7 +1496,6 @@
"Riot failed to get the protocol list from the homeserver. The homeserver may be too old to support third party networks.": "Riot이 홈서버에서 프로토콜 얻기에 실패했습니다. 홈서버가 제 3자 네트워크를 지원하기에 너무 오래된 것 같습니다.",
"Riot failed to get the public room list.": "Riot이 공개 방 목록을 가져오는데 실패했습니다.",
"The homeserver may be unavailable or overloaded.": "홈서버를 이용할 수 없거나 과부화된 상태입니다.",
- "Show devices, send anyway or cancel.": "기기 보기, 무시하고 보내기 혹은 취소.",
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "이 홈서버가 리소스 한도를 초과했기 때문에 메시지를 보낼 수 없었습니다. 서비스를 계속 사용하려면 서비스 관리자에게 연락해주세요.",
"Add room": "방 추가",
"You have %(count)s unread notifications in a prior version of this room.|other": "이 방의 이전 버전에서 읽지 않은 %(count)s개의 알림이 있습니다.",
@@ -1608,7 +1503,6 @@
"Guest": "손님",
"Your profile": "당신의 프로필",
"Could not load user profile": "사용자 프로필을 불러올 수 없음",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "비밀번호를 변경하면 모든 기기에서 종단간 암호화 키는 초기화되고, 암호화된 대화 기록을 읽을 수 없게 됩니다. 비밀번호를 초기화하기 전에 키 백업을 설정하거나 다른 기기에 방 키를 내보내 놓으세요.",
"Your Matrix account on %(serverName)s": "%(serverName)s에서 당신의 Matrix 계정",
"Your Matrix account on ": "에서 당신의 Matrix 계정",
"No identity server is configured: add one in server settings to reset your password.": "ID 서버가 설정되지 않음: 비밀번호를 초기화하기 위해 서버 설정에서 하나를 추가하세요.",
@@ -1616,7 +1510,6 @@
"A verification email will be sent to your inbox to confirm setting your new password.": "새 비밀번호 설정을 확인할 인증 이메일을 메일함으로 보냈습니다.",
"An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "%(emailAddress)s(으)로 이메일을 보냈습니다. 메일에 있는 링크를 따라갔다면, 아래를 클릭하세요.",
"Your password has been reset.": "비밀번호가 초기화되었습니다.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "모든 기기에서 로그아웃했고 더 이상 푸시 알림을 받을 수 없습니다. 알림을 다시 켜려면, 각 기기마다 다시 로그인하세요.",
"Set a new password": "새 비밀번호 설정",
"Invalid homeserver discovery response": "잘못된 홈서버 검색 응답",
"Failed to get autodiscovery configuration from server": "서버에서 자동 검색 설정 얻기에 실패함",
@@ -1642,14 +1535,12 @@
"Create your account": "당신의 계정 만들기",
"Failed to re-authenticate due to a homeserver problem": "홈서버 문제로 다시 인증에 실패함",
"Failed to re-authenticate": "다시 인증에 실패함",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "계정에 다시 접근하고 이 기기에 있는 암호화 키를 복구합니다. 키가 없으면 모든 기기에서 모든 보안 메시지를 읽을 수 없습닏다.",
"Enter your password to sign in and regain access to your account.": "로그인하고 계정에 다시 접근하려면 비밀번호를 입력하세요.",
"Forgotten your password?": "비밀번호를 잊었습니까?",
"Sign in and regain access to your account.": "로그인하고 계정에 다시 접근하기.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "계정에 로그인할 수 없습니다. 자세한 정보는 홈서버 관리자에게 연락하세요.",
"You're signed out": "로그아웃됬습니다",
"Clear personal data": "개인 정보 지우기",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "경고: (암호화 키를 포함한) 개인 정보가 이 기기에 여전히 저장됩니다. 이 기기를 그만 사용하거나, 다른 계정으로 로그인하고 싶다면 개인 정보를 지우세요.",
"Great! This passphrase looks strong enough.": "멋져요! 이 암호는 충분히 강합니다.",
"We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "우리의 서버에 암호화된 키의 사본을 저장합니다. 보안을 유지하기 위해 백업을 암호로 보호하세요.",
"For maximum security, this should be different from your account password.": "보안을 최대화하려면, 암호는 계정 비밀번호와 달라야 할 것입니다.",
@@ -1663,17 +1554,13 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "안전망처럼, 복구 암호를 잊어버렸다면 복구 키를 사용해 암호화된 메시지 기록을 복구할 수 있습니다.",
"As a safety net, you can use it to restore your encrypted message history.": "안전망처럼, 복구 암호를 사용해 암호화된 메시지 기록을 복구할 수 있습니다.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "복구 키는 안전망과 같습니다 - 복구 암호를 잊어버렸다면 복구 키를 사용해 암호화된 메시지에 접근할 수 있습니다.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "복구 키는 비밀번호 관리자 (혹은 금고)처럼 어딘가 매우 안전한 곳에 보관하세요",
"Your Recovery Key": "당신의 복구 키",
"Copy to clipboard": "클립보드로 복사",
"Download": "다운로드",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "복구 키가 클립보드로 복사되었습니다, 여기에 붙여 넣으세요:",
- "Your Recovery Key is in your Downloads folder.": "복구 키가 다운로드 폴더로 들어갔습니다.",
"Print it and store it somewhere safe": "인쇄한 후 안전한 장소에 보관",
"Save it on a USB key or backup drive": "USB 키나 백업 드라이브에 저장",
"Copy it to your personal cloud storage": "개인 클라우드 저장소에 복사",
"Your keys are being backed up (the first backup could take a few minutes).": "키를 백업했습니다 (처음 백업에는 시간이 걸릴 수 있습니다).",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "보안 메시지 복구를 설정하지 않으면, 로그아웃하거나 다른 기기를 사용하는 경우 암호화된 메시지 기록을 복구할 수 없게 됩니다.",
"Set up Secure Message Recovery": "보안 메시지 복구 설정",
"Secure your backup with a passphrase": "암호로 백업 보호",
"Confirm your passphrase": "암호 확인",
@@ -1691,12 +1578,9 @@
"New Recovery Method": "새 복구 방식",
"A new recovery passphrase and key for Secure Messages have been detected.": "보안 메시지 용 새로운 복구 암호와 키가 감지되었습니다.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "새 복구 방식을 설정하지 않으면, 공격자가 계정에 접근을 시도할 지도 모릅니다. 설정에서 계정 비밀번호를 바꾸고 즉시 새 복구 방식을 설정하세요.",
- "This device is encrypting history using the new recovery method.": "이 기기는 새 복구 방식을 사용해 기록을 암호화하고 있습니다.",
"Go to Settings": "설정으로 가기",
"Set up Secure Messages": "보안 메시지 설정",
"Recovery Method Removed": "복구 방식 제거됨",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "이 기기에 제거했던 보안 메시지 용 복구 암호와 키가 감지되었습니다.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "실수로 한 경우, 이 기기에서 새 복구 방식으로 이 기기의 메시지를 다시 암호화하도록 보안 메시지를 설정할 수 있습니다.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "이 복구 방식을 제거하지 않으면, 공격자가 계정에 접근을 시도할 지도 모릅니다. 설정에서 계정 비밀번호를 바꾸고 즉시 새 복구 방식을 설정하세요.",
"Use an identity server": "ID 서버 사용",
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "ID 서버를 사용해 이메일로 초대하세요. 기본 ID 서버 (%(defaultIdentityServerName)s)를 사용하려면 계속을 클릭하거나 설정에서 관리하세요.",
@@ -1782,7 +1666,6 @@
"%(count)s unread messages.|other": "%(count)s개의 읽지 않은 메시지.",
"Unread mentions.": "읽지 않은 언급.",
"Please create a new issue on GitHub so that we can investigate this bug.": "이 버그를 조사할 수 있도록 GitHub에 새 이슈를 추가해주세요.",
- "Use the new, faster, composer for writing messages": "메시지 입력으로 새롭고 더 빠른 작성기를 사용하기",
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "%(user)s님의 1개의 메시지를 삭제합니다. 이것은 되돌릴 수 없습니다. 계속하겠습니까?",
"Remove %(count)s messages|one": "1개의 메시지 삭제",
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "홈서버 설정에서 캡챠 공개 키가 없습니다. 홈서버 관리자에게 이것을 신고해주세요.",
@@ -1871,17 +1754,12 @@
"Subscribe": "구독",
"Trusted": "신뢰함",
"Not trusted": "신뢰하지 않음",
- "Hide verified Sign-In's": "확인 로그인 숨기기",
- "%(count)s verified Sign-In's|other": "확인된 %(count)s개의 로그인",
- "%(count)s verified Sign-In's|one": "확인된 1개의 로그인",
"Direct message": "다이렉트 메시지",
- "Unverify user": "사용자 확인 취소",
"%(role)s in %(roomName)s": "%(roomName)s 방의 %(role)s",
"Messages in this room are end-to-end encrypted.": "이 방의 메시지는 종단간 암호화되었습니다.",
"Security": "보안",
"Verify": "확인",
"You have ignored this user, so their message is hidden. Show anyways.": "이 사용자를 무시했습니다. 사용자의 메시지는 숨겨집니다. 무시하고 보이기.",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "다이렉트 메시지에서 구성원 패널에 새 확인 UX가 적용된 확인 요청을 보냅니다.",
"Any of the following data may be shared:": "다음 데이터가 공유됩니다:",
"Your display name": "당신의 표시 이름",
"Your avatar URL": "당신의 아바타 URL",
@@ -1894,10 +1772,32 @@
"Using this widget may share data with %(widgetDomain)s.": "이 위젯을 사용하면 %(widgetDomain)s와(과) 데이터를 공유합니다.",
"Widget added by": "위젯을 추가했습니다",
"This widget may use cookies.": "이 위젯은 쿠키를 사용합니다.",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "기기 당 확인이 아닌 사용자 당 확인을 위한 교차 서명 켜기 (개발 중)",
"Enable local event indexing and E2EE search (requires restart)": "로컬 이벤트 인덱싱 및 종단간 암호화 켜기 (다시 시작해야 합니다)",
"Decline (%(counter)s)": "거절 (%(counter)s)",
"Connecting to integration manager...": "통합 관리자로 연결 중...",
"Cannot connect to integration manager": "통합 관리자에 연결할 수 없음",
- "The integration manager is offline or it cannot reach your homeserver.": "통합 관리자가 오프라인이거나 당신의 홈서버에서 접근할 수 없습니다."
+ "The integration manager is offline or it cannot reach your homeserver.": "통합 관리자가 오프라인이거나 당신의 홈서버에서 접근할 수 없습니다.",
+ "The version of Riot": "Riot의 버전",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "터치가 기본 입력 방식인 기기에서 Riot을 사용하는지 여부",
+ "Whether you're using Riot as an installed Progressive Web App": "Riot을 설치형 프로그레시브 웹 앱으로 사용하는지 여부",
+ "Your user agent": "사용자 에이전트",
+ "The information being sent to us to help make Riot better includes:": "Riot을 개선하기 위해 당사에 전송되는 정보에는 다음과 같은 것들이 포함됩니다:",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "이 방에는 알 수 없는 세션들이 있습니다: 검증 없이 진행하면 누군가 당신의 전화를 도청할 수도 있습니다.",
+ "If you cancel now, you won't complete verifying the other user.": "지금 취소하면 다른 사용자 확인이 완료될 수 없습니다.",
+ "If you cancel now, you won't complete verifying your other session.": "지금 취소하면 당신의 다른 세션을 검증할 수 없습니다.",
+ "If you cancel now, you won't complete your secret storage operation.": "지금 취소하면 보안 저장 작업을 완료할 수 없습니다.",
+ "Cancel entering passphrase?": "암호 입력을 취소하시겠습니까?",
+ "Setting up keys": "키 설정",
+ "Verify this session": "이 세션 검증",
+ "Encryption upgrade available": "암호화 업그레이드 가능",
+ "Set up encryption": "암호화 설정",
+ "Unverified session": "검증되지 않은 세션",
+ "Error upgrading room": "방 업그레이드 오류",
+ "Double check that your server supports the room version chosen and try again.": "서버가 선택한 방 버전을 지원하는지 확인한 뒤에 다시 시도해주세요.",
+ "Verifies a user, session, and pubkey tuple": "사용자, 세션, 공개키 튜플을 검증합니다",
+ "Unknown (user, session) pair:": "알 수 없는 (사용자, 세션) 쌍:",
+ "Session already verified!": "이미 검증된 세션입니다!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "경고: 이미 검증된 세션이지만 키가 일치하지 않습니다!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "경고: 키 검증 실패! 제공된 키인 \"%(fingerprint)s\"가 사용자 %(userId)s와 %(deviceId)s 세션의 서명 키인 \"%(fprint)s\"와 일치하지 않습니다. 이는 통신이 탈취되고 있는 중일 수도 있다는 뜻입니다!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "사용자 %(userId)s의 세션 %(deviceId)s에서 받은 서명 키와 당신이 제공한 서명 키가 일치합니다. 세션이 검증되었습니다."
}
diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json
index 71b46d67f3..4476c21609 100644
--- a/src/i18n/strings/lt.json
+++ b/src/i18n/strings/lt.json
@@ -69,7 +69,6 @@
"Noisy": "Triukšmingas",
"Collecting app version information": "Renkama programėlės versijos informacija",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Ar ištrinti kambarį %(alias)s ir %(name)s kambario pavadinimą iš katalogo?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Tai leis Jums grįžti prie paskyros po atsijungimo ir prisijungti kituose įrenginiuose.",
"Keywords": "Raktažodžiai",
"Unpin Message": "Atsegti žinutę",
"Enable notifications for this account": "Įjungti pranešimus šiai paskyrai",
@@ -90,7 +89,7 @@
"Remove from Directory": "Šalinti iš katalogo",
"Download this file": "Atsisiųsti šį failą",
"Saturday": "Šeštadienis",
- "Remember, you can always set an email address in user settings if you change your mind.": "Nepamirškite, kad galite, bet kada įrašyti savo el. pašto adresą paskyros nustatymuose.",
+ "Remember, you can always set an email address in user settings if you change your mind.": "Nepamirškite, kad jei persigalvosite, tai bet kada galite nustatyti el. pašto adresą vartotojo nustatymuose.",
"Direct Chat": "Tiesioginis pokalbis",
"The server may be unavailable or overloaded": "Gali būti, kad serveris yra neprieinamas arba perkrautas",
"Online": "Prisijungęs",
@@ -221,8 +220,6 @@
"This email address was not found": "Šis el. pašto adresas nebuvo rastas",
"Admin": "Administratorius",
"Start a chat": "Pradėti pokalbį",
- "Start Chat": "Pradėti pokalbį",
- "Send Invites": "Siųsti pakvietimus",
"Failed to invite": "Nepavyko pakviesti",
"Failed to invite the following users to the %(roomName)s room:": "Nepavyko pakviesti šių vartotojų į kambarį %(roomName)s:",
"You need to be logged in.": "Turite būti prisijungę.",
@@ -237,12 +234,8 @@
"Invites user with given id to current room": "Pakviečia naudotoją su nurodytu id į esamą kambarį",
"You are now ignoring %(userId)s": "Dabar ignoruojate %(userId)s",
"Opens the Developer Tools dialog": "Atveria programuotojo įrankių dialogą",
- "Unknown (user, device) pair:": "Nežinoma pora (naudotojas, įrenginys):",
- "Device already verified!": "Įrenginys jau patvirtintas!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ĮSPĖJIMAS: Įrenginys jau patvirtintas, tačiau raktai NESUTAMPA!",
"Verified key": "Patvirtintas raktas",
"Displays action": "Rodo veiksmą",
- "Unrecognised command:": "Neatpažinta komanda:",
"Reason": "Priežastis",
"%(targetName)s accepted an invitation.": "%(targetName)s priėmė pakvietimą.",
"%(senderName)s invited %(targetName)s.": "%(senderName)s pakvietė %(targetName)s.",
@@ -282,8 +275,6 @@
"Current password": "Dabartinis slaptažodis",
"Password": "Slaptažodis",
"New Password": "Naujas slaptažodis",
- "Unable to load device list": "Nepavyko įkelti įrenginių sąrašo",
- "Delete %(count)s devices|one": "Ištrinti įrenginį",
"Device ID": "Įrenginio ID",
"Failed to set display name": "Nepavyko nustatyti rodomą vardą",
"Disable Notifications": "Išjungti pranešimus",
@@ -298,30 +289,23 @@
"%(senderName)s uploaded a file": "%(senderName)s įkėlė failą",
"Options": "Parametrai",
"Key request sent.": "Rakto užklausa išsiųsta.",
- "Unencrypted message": "Nešifruota žinutė",
"device id: ": "įrenginio id: ",
"Failed to mute user": "Nepavyko nutildyti naudotoją",
"Are you sure?": "Ar tikrai?",
- "Devices": "Įrenginiai",
"Ignore": "Ignoruoti",
"Invite": "Pakviesti",
"User Options": "Naudotojo parametrai",
"Admin Tools": "Administratoriaus įrankiai",
- "bold": "pusjuodis",
- "italic": "kursyvas",
"Attachment": "Priedas",
"Voice call": "Balso skambutis",
"Video call": "Vaizdo skambutis",
"Upload file": "Įkelti failą",
- "Show Text Formatting Toolbar": "Rodyti teksto formatavimo įrankių juostą",
"Send an encrypted reply…": "Siųsti šifruotą atsakymą…",
"Send a reply (unencrypted)…": "Siųsti atsakymą (nešifruotą)…",
"Send an encrypted message…": "Siųsti šifruotą žinutę…",
"Send a message (unencrypted)…": "Siųsti žinutę (nešifruotą)…",
- "Hide Text Formatting Toolbar": "Slėpti teksto formatavimo įrankių juostą",
"Server error": "Serverio klaida",
"Command error": "Komandos klaida",
- "Unable to reply": "Nepavyko atsakyti",
"Loading...": "Įkeliama...",
"Pinned Messages": "Prisegtos žinutės",
"Unknown": "Nežinoma",
@@ -331,7 +315,6 @@
"Upload avatar": "Įkelti avatarą",
"Settings": "Nustatymai",
"Community Invites": "Bendruomenės pakvietimai",
- "People": "Žmonės",
"%(roomName)s does not exist.": "%(roomName)s neegzistuoja.",
"%(roomName)s is not accessible at this time.": "%(roomName)s šiuo metu nėra pasiekiamas.",
"Muted Users": "Nutildyti naudotojai",
@@ -386,7 +369,6 @@
"Delete widget": "Ištrinti valdiklį",
"Failed to remove widget": "Nepavyko pašalinti valdiklį",
"Scroll to bottom of page": "Slinkti į puslapio apačią",
- "Show devices, send anyway or cancel.": "Rodyti įrenginius, vis tiek siųsti ar atsisakyti.",
"%(count)s of your messages have not been sent.|other": "Kai kurios iš jūsų žinučių nebuvo išsiųstos.",
"%(count)s of your messages have not been sent.|one": "Jūsų žinutė nebuvo išsiųsta.",
"Connectivity to the server has been lost.": "Jungiamumas su šiuo serveriu buvo prarastas.",
@@ -415,8 +397,6 @@
"Success": "Pavyko",
"Unable to remove contact information": "Nepavyko pašalinti kontaktinę informaciją",
"": "",
- "Device ID:": "Įrenginio ID:",
- "Device key:": "Įrenginio raktas:",
"Check for update": "Tikrinti, ar yra atnaujinimų",
"Reject all %(invitedRooms)s invites": "Atmesti visus %(invitedRooms)s pakvietimus",
"You may need to manually permit Riot to access your microphone/webcam": "Jums gali tekti rankiniu būdu leisti Riot prieigą prie savo mikrofono/kameros",
@@ -431,7 +411,6 @@
"Profile": "Profilis",
"Account": "Paskyra",
"click to reveal": "spustelėkite, norėdami atskleisti",
- "matrix-react-sdk version:": "matrix-react-sdk versija:",
"riot-web version:": "riot-web versija:",
"olm version:": "olm versija:",
"Failed to send email": "Nepavyko išsiųsti el. laiško",
@@ -441,7 +420,7 @@
"I have verified my email address": "Aš patvirtinau savo el. pašto adresą",
"Return to login screen": "Grįžti į prisijungimo ekraną",
"Send Reset Email": "Siųsti atstatymo el. laišką",
- "Incorrect username and/or password.": "Neteisingas naudotojo vardas ir/ar slaptažodis.",
+ "Incorrect username and/or password.": "Neteisingas vartotojo vardas ir/arba slaptažodis.",
"Please note you are logging into the %(hs)s server, not matrix.org.": "Turėkite omenyje, kad jūs prisijungiate prie %(hs)s serverio, o ne matrix.org.",
"Failed to fetch avatar URL": "Nepavyko gauti avataro URL",
"Commands": "Komandos",
@@ -458,7 +437,6 @@
"Session ID": "Seanso ID",
"End-to-end encryption information": "Ištisinio šifravimo informacija",
"Event information": "Įvykio informacija",
- "Sender device information": "Siuntėjo įrenginio informacija",
"Passphrases must match": "Slaptafrazės privalo sutapti",
"Passphrase must not be empty": "Slaptafrazė negali būti tuščia",
"Export room keys": "Eksportuoti kambario raktus",
@@ -474,16 +452,12 @@
"You do not have permission to start a conference call in this room": "Jūs neturite leidimo šiame kambaryje pradėti konferencinį pokalbį",
"Room name or alias": "Kambario pavadinimas ar slapyvardis",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Neatrodo, kad jūsų el. pašto adresas šiame serveryje būtų susietas su Matrix ID.",
- "Who would you like to communicate with?": "Su kuo norėtumėte susisiekti?",
"Missing room_id in request": "Užklausoje trūksta room_id",
"Missing user_id in request": "Užklausoje trūksta user_id",
"Unrecognised room alias:": "Neatpažintas kambario slapyvardis:",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ĮSPĖJIMAS: RAKTO PATVIRTINIMAS NEPAVYKO! Pasirašymo raktas, skirtas %(userId)s ir įrenginiui %(deviceId)s yra \"%(fprint)s\", o tai nesutampa su pateiktu raktu \"%(fingerprint)s\". Tai gali reikšti, kad jūsų komunikacijos yra perimamos!",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Jūsų pateiktas pasirašymo raktas sutampa su pasirašymo raktu, kurį gavote iš vartotojo %(userId)s įrenginio %(deviceId)s. Įrenginys pažymėtas kaip patvirtintas.",
"VoIP conference started.": "VoIP konferencija pradėta.",
"VoIP conference finished.": "VoIP konferencija užbaigta.",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s pašalino kambario pavadinimą.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s įjungė end-to-end šifravimą (%(algorithm)s algoritmas).",
"%(widgetName)s widget modified by %(senderName)s": "%(senderName)s modifikavo %(widgetName)s valdiklį",
"%(widgetName)s widget added by %(senderName)s": "%(senderName)s pridėjo %(widgetName)s valdiklį",
"%(widgetName)s widget removed by %(senderName)s": "%(senderName)s pašalino %(widgetName)s valdiklį",
@@ -491,14 +465,7 @@
"Server may be unavailable, overloaded, or you hit a bug.": "Serveris gali būti neprieinamas, per daug apkrautas, arba susidūrėte su klaida.",
"Use compact timeline layout": "Naudoti kompaktišką laiko juostos išdėstymą",
"Autoplay GIFs and videos": "Automatiškai atkurti GIF ir vaizdo įrašus",
- "Never send encrypted messages to unverified devices from this device": "Niekada nesiųsti iš šio įrenginio šifruotų žinučių į nepatvirtintus įrenginius",
- "Never send encrypted messages to unverified devices in this room from this device": "Niekada nesiųsti iš šio įrenginio šifruotas žinutes į nepatvirtintus įrenginius šiame kambaryje",
- "Delete %(count)s devices|other": "Ištrinti %(count)s įrenginius",
"This event could not be displayed": "Nepavyko parodyti šio įvykio",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Jeigu jūsų kituose įrenginiuose nėra rakto šiai žinutei, tuomet jūs negalėsite jos iššifruoti.",
- "Re-request encryption keys from your other devices.": "Iš naujo užklausti šifravimo raktus iš jūsų kitų įrenginių.",
- "Undecryptable": "Neiššifruojama",
- "Encrypted by an unverified device": "Šifruota nepatvirtintu įrenginiu",
"Kick": "Išmesti",
"Kick this user?": "Išmesti šį naudotoją?",
"Failed to kick": "Nepavyko išmesti",
@@ -518,7 +485,6 @@
"Seen by %(userName)s at %(dateTime)s": "%(userName)s matė ties %(dateTime)s",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) matė ties %(dateTime)s",
"Show these rooms to non-members on the community page and room list?": "Rodyti šiuos kambarius ne nariams bendruomenės puslapyje ir kambarių sąraše?",
- "Invite new room members": "Pakviesti naujus kambario dalyvius",
"Kicks user with given id": "Išmeta vartotoją su nurodytu id",
"Bans user with given id": "Užblokuoja vartotoją su nurodytu id",
"%(senderName)s banned %(targetName)s.": "%(senderName)s užblokavo %(targetName)s.",
@@ -536,14 +502,10 @@
"Incoming voice call from %(name)s": "Gaunamasis balso skambutis nuo %(name)s",
"Incoming video call from %(name)s": "Gaunamasis vaizdo skambutis nuo %(name)s",
"Incoming call from %(name)s": "Gaunamasis skambutis nuo %(name)s",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Šiuo metu slaptažodžio pakeitimas atstatys bet kokius ištisinio šifravimo raktus visuose įrenginiuose ir tokiu būdu pavers šifruotą pokalbių istoriją neperskaitoma, nebent, iš pradžių, savo kambario raktus eksportuosite, o po to, juos importuosite iš naujo. Ateityje tai bus patobulinta.",
"Change Password": "Keisti slaptažodį",
"Authentication": "Tapatybės nustatymas",
"The maximum permitted number of widgets have already been added to this room.": "Į šį kambarį jau yra pridėtas didžiausias leidžiamas valdiklių skaičius.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Jūsų rakto bendrinimo užklausa išsiųsta - patikrinkite kitus savo įrenginius, ar juose nėra rakto bendrinimo užklausų.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Rakto bendrinimo užklausos yra išsiunčiamos į jūsų kitus įrenginius automatiškai. Jeigu savo kitame įrenginyje atmetėte ar nepaisėte rakto užklausos, spustelėkite čia, norėdami dar kartą užklausti raktų šiam seansui.",
"Please select the destination room for this message": "Pasirinkite šiai žinutei paskirties kambarį",
- "No devices with registered encryption keys": "Nėra jokių įrenginių su registruotais šifravimo raktais",
"Make Moderator": "Padaryti moderatoriumi",
"Hangup": "Padėti ragelį",
"No pinned messages.": "Nėra jokių prisegtų žinučių.",
@@ -554,7 +516,6 @@
"Offline": "Atsijungęs",
"Forget room": "Pamiršti kambarį",
"Share room": "Bendrinti kambarį",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Šiame kambaryje yra nežinomų įrenginių: jei tęsite jų nepatvirtinę, kam nors bus įmanoma slapta klausytis jūsų skambučio.",
"Usage": "Naudojimas",
"Searches DuckDuckGo for results": "Atlieka rezultatų paiešką sistemoje DuckDuckGo",
"To use it, just wait for autocomplete results to load and tab through them.": "Norėdami tai naudoti, tiesiog palaukite, kol bus įkelti automatiškai užbaigti rezultatai, tuomet pereikite per juos naudodami Tab klavišą.",
@@ -565,7 +526,7 @@
"Enable inline URL previews by default": "Įjungti tiesiogines URL nuorodų peržiūras pagal numatymą",
"Enable URL previews for this room (only affects you)": "Įjungti URL nuorodų peržiūras šiame kambaryje (įtakoja tik jus)",
"Enable URL previews by default for participants in this room": "Įjungti URL nuorodų peržiūras pagal numatymą dalyviams šiame kambaryje",
- "Confirm password": "Pakartokite slaptažodį",
+ "Confirm password": "Patvirtinkite slaptažodį",
"Demote yourself?": "Pažeminti save?",
"Demote": "Pažeminti",
"Share Link to User": "Dalintis nuoroda į naudotoją",
@@ -619,11 +580,8 @@
"Unknown error": "Nežinoma klaida",
"Incorrect password": "Neteisingas slaptažodis",
"To continue, please enter your password:": "Norėdami tęsti, įveskite savo slaptažodį:",
- "Device name": "Įrenginio pavadinimas",
- "Device key": "Įrenginio raktas",
"An error has occurred.": "Įvyko klaida.",
"Ignore request": "Nepaisyti užklausos",
- "Loading device info...": "Įkeliama įrenginio informacija...",
"Failed to upgrade room": "Nepavyko atnaujinti kambarį",
"The room upgrade could not be completed": "Nepavyko užbaigti kambario naujinimo",
"Sign out": "Atsijungti",
@@ -650,8 +608,6 @@
"Mention": "Paminėti",
"This room has been replaced and is no longer active.": "Šis kambarys buvo pakeistas ir daugiau nebėra aktyvus.",
"You do not have permission to post to this room": "Jūs neturite leidimų rašyti šiame kambaryje",
- "Markdown is disabled": "Markdown yra išjungta",
- "Markdown is enabled": "Markdown yra įjungta",
"System Alerts": "Sistemos įspėjimai",
"Failed to unban": "Nepavyko atblokuoti",
"not specified": "nenurodyta",
@@ -669,8 +625,8 @@
"This homeserver has hit its Monthly Active User limit so some users will not be able to log in.": "Šis namų serveris pasiekė savo mėnesinį aktyvių naudotojų limitą, taigi, kai kurie naudotojai negalės prisijungti.",
"This homeserver has exceeded one of its resource limits so some users will not be able to log in.": "Šis namų serveris viršijo vieno iš savo išteklių limitą, taigi, kai kurie naudotojai negalės prisijungti.",
"An error ocurred whilst trying to remove the widget from the room": "Įvyko klaida, bandant pašalinti valdiklį iš kambario",
- "Blacklist": "Įtraukti į juodąjį sąrašą",
- "Unblacklist": "Pašalinti iš juodojo sąrašo",
+ "Blacklist": "Blokuoti",
+ "Unblacklist": "Atblokuoti",
"Verify...": "Patvirtinti...",
"Communities": "Bendruomenės",
"Home": "Pradžia",
@@ -691,12 +647,6 @@
"Ignores a user, hiding their messages from you": "Ignoruoja vartotoją, slepiant nuo jūsų jo žinutes",
"Stops ignoring a user, showing their messages going forward": "Sustabdo vartotojo ignoravimą, rodant jums jo tolimesnes žinutes",
"Revoke Moderator": "Panaikinti moderatorių",
- "deleted": "perbrauktas",
- "underlined": "pabrauktas",
- "inline-code": "įterptas kodas",
- "block-quote": "citatos blokas",
- "bulleted-list": "suženklintasis sąrašas",
- "numbered-list": "sąrašas su numeriais",
"Invites": "Pakvietimai",
"Historical": "Istoriniai",
"Every page you use in the app": "Kiekvienas puslapis, kurį jūs naudojate programoje",
@@ -764,16 +714,13 @@
"Unable to verify email address.": "Nepavyko patvirtinti el. pašto adreso.",
"This will allow you to reset your password and receive notifications.": "Tai jums leis atstatyti savo slaptažodį ir gauti pranešimus.",
"Skip": "Praleisti",
- "Username not available": "Naudotojo vardas neprieinamas",
- "Username invalid: %(errMessage)s": "Neteisingas naudotojo vardas: %(errMessage)s",
+ "Username not available": "Vartotojo vardas negalimas",
+ "Username invalid: %(errMessage)s": "Neteisingas vartotojo vardas: %(errMessage)s",
"An error occurred: %(error_string)s": "Įvyko klaida: %(error_string)s",
"Checking...": "Tikrinama...",
- "Username available": "Naudotojo vardas yra prieinamas",
- "To get started, please pick a username!": "Norėdami pradėti, pasirinkite naudotojo vardą!",
+ "Username available": "Vartotojo vardas galimas",
+ "To get started, please pick a username!": "Norėdami pradėti, pasirinkite vartotojo vardą!",
"If you already have a Matrix account you can log in instead.": "Jeigu jau turite Matrix paskyrą, tuomet vietoj to, galite prisijungti.",
- "Room contains unknown devices": "Kambaryje yra nežinomų įrenginių",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "Kambaryje \"%(RoomName)s\" yra jums anksčiau nematytų įrenginių.",
- "Unknown devices": "Nežinomi įrenginiai",
"Unable to restore backup": "Nepavyko atkurti atsarginės kopijos",
"No backup found!": "Nerasta jokios atsarginės kopijos!",
"Backup Restored": "Atsarginė kopija atkurta",
@@ -793,7 +740,6 @@
"Your Communities": "Jūsų bendruomenės",
"Create a new community": "Sukurti naują bendruomenę",
"You have no visible notifications": "Jūs neturite matomų pranešimų",
- "Message not sent due to unknown devices being present": "Žinutė neišsiųsta dėl to, kad yra nežinomų įrenginių",
"Failed to perform homeserver discovery": "Nepavyko atlikti namų serverio aptikimo",
"Error: Problem communicating with the given homeserver.": "Klaida: Problemos susisiekiant su nurodytu namų serveriu.",
"This server does not support authentication with a phone number.": "Šis serveris nepalaiko tapatybės nustatymo telefono numeriu.",
@@ -805,11 +751,11 @@
"Add Email Address": "Pridėti el. pašto adresą",
"Add Phone Number": "Pridėti telefono numerį",
"Whether or not you're logged in (we don't record your username)": "Nepriklausomai nuo to ar jūs prisijungę (mes neįrašome jūsų vartotojo vardo)",
- "Chat with Riot Bot": "Kalbėtis su Riot botu",
+ "Chat with Riot Bot": "Kalbėtis su Riot Botu",
"Sign In": "Prisijungti",
"Explore rooms": "Žvalgyti kambarius",
"Your Riot is misconfigured": "Jūsų Riot yra neteisingai sukonfigūruotas",
- "Sign in to your Matrix account on %(serverName)s": "Prisijunkite prie savo paskyros %(serverName)s serveryje",
+ "Sign in to your Matrix account on %(serverName)s": "Prisijunkite prie savo Matrix paskyros %(serverName)s serveryje",
"Sign in to your Matrix account on ": "Prisijunkite prie savo paskyros serveryje",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Nepriklausomai nuo to ar jūs naudojate 'duonos trupinių' funkciją (avatarai virš kambarių sąrašo)",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Kur šis puslapis įtraukia identifikuojamą informaciją, kaip kambarys, vartotojas ar grupės ID, tie duomenys yra pašalinami prieš siunčiant į serverį.",
@@ -832,8 +778,6 @@
"This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Šiam veiksmui reikalinga prieiti numatytąjį tapatybės serverį , kad patvirtinti el. pašto adresą arba telefono numerį, bet serveris neturi jokių paslaugos teikimo sąlygų.",
"Only continue if you trust the owner of the server.": "Tęskite tik tada, jei pasitikite serverio savininku.",
"Trust": "Pasitikėti",
- "Email, name or Matrix ID": "El. paštas, vardas arba Matrix ID",
- "Failed to start chat": "Nepavyko pradėti pokalbio",
"Failed to invite users to the room:": "Nepavyko pakviesti vartotojų į kambarį:",
"You need to be able to invite users to do that.": "Norėdami tai atlikti jūs turite turėti galimybę pakviesti vartotojus.",
"Power level must be positive integer.": "Galios lygis privalo būti teigiamas sveikasis skaičius.",
@@ -844,12 +788,7 @@
"Sends a message as plain text, without interpreting it as markdown": "SIunčia žinutę, kaip paprastą tekstą, jo neinterpretuodamas kaip pažymėto",
"Upgrades a room to a new version": "Atnaujina kambarį į naują versiją",
"You do not have the required permissions to use this command.": "Jūs neturite reikalingų leidimų naudoti šią komandą.",
- "Room upgrade confirmation": "Kambario atnaujinimo patvirtinimas",
- "Upgrading a room can be destructive and isn't always necessary.": "Kambario atnaujinimas gali būti destruktyvus ir nėra visada reikalingas.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Kambario atnaujinimai paprastai rekomenduojami, kada kambario versija yra laikoma nestabili. Nestabilios kambario versijos gali turėti klaidų, trūkstamų funkcijų, arba saugumo spragų.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Kambario atnaujinimai paprastai paveikia tik serverio pusės kambario apdorojimą. Jei jūs turite problemų su jūsų Riot klientu, prašome užregistruoti problemą .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Įspėjimas: Kambario atnaujinimas automatiškai nemigruos kambario dalyvių į naują kambario versiją. Mes paskelbsime nuorodą į naują kambarį senojoje kambario versijoje - kambario dalyviai turės ją paspausti, norėdami prisijungti prie naujo kambario.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Prašome patvirtinti, kad jūs norite tęsti šio kambario atnaujinimą iš į .",
"Changes your display nickname in the current room only": "Pakeičia jūsų rodomą slapyvardį tik esamame kambaryje",
"Changes the avatar of the current room": "Pakeičia esamo kambario avatarą",
"Changes your avatar in this current room only": "Pakeičia jūsų avatarą tik esamame kambaryje",
@@ -870,7 +809,6 @@
"Adds a custom widget by URL to the room": "Į kambarį prideda pasirinktinį valdiklį pagal URL",
"Please supply a https:// or http:// widget URL": "Prašome pateikti https:// arba http:// valdiklio URL",
"You cannot modify widgets in this room.": "Jūs negalite keisti valdiklių šiame kambaryje.",
- "Verifies a user, device, and pubkey tuple": "Patikrina vartotoją, įrenginį ir pubkey seką",
"Forces the current outbound group session in an encrypted room to be discarded": "Priverčia išmesti esamą užsibaigiančią grupės sesiją šifruotame kambaryje",
"Sends the given message coloured as a rainbow": "Išsiunčia nurodytą žinutę nuspalvintą kaip vaivorykštė",
"Sends the given emote coloured as a rainbow": "Išsiunčia nurodytą emociją nuspalvintą kaip vaivorykštė",
@@ -962,5 +900,45 @@
"Are you sure you want to leave the room '%(roomName)s'?": "Ar tikrai norite palikti kambarį %(roomName)s?",
"%(creator)s created and configured the room.": "%(creator)s sukūrė ir sukonfigūravo kambarį.",
"Riot failed to get the public room list.": "Riot nepavyko gauti viešų kambarių sąrašą.",
- "General failure": "Bendras triktis"
+ "General failure": "Bendras triktis",
+ "Messages containing my username": "Žinutės, kuriose yra mano vartotojo vardas",
+ "Set a new account password...": "Nustatyti naują paskyros slaptažodį...",
+ "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Jei jūs pateikėte klaidą per GitHub, derinimo žurnalai (debug logs) gali padėti mums surasti problemą. Derinimo žurnaluose yra programos naudojimo duomenys, įskaitant jūsų vartotojo vardą, ID ar kitus kambarių arba grupių, kuriuose jūs lankėtės, pavadinimus ir kitų vartotojų vardus. Juose nėra žinučių.",
+ "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (galia %(powerLevelNumber)s)",
+ "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Derinimo žurnaluose yra programos naudojimo duomenys, įskaitant jūsų vartotojo vardą, ID ar kitus kambarių arba grupių, kuriuose jūs lankėtės, pavadinimus ir kitų vartotojų vardus. Juose nėra žinučių.",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Jei jūs negalite kažkieno surasti, paklauskite jų vartotojo vardo, pasidalinkite savo vartotojo vardu (%(userId)s) arba profilio nuoroda.",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Jei jūs negalite kažkieno surasti, paklauskite jų vartotojo vardo (pvz.: @vartotojas:serveris.lt) arba pasidalinkite šiuo kambariu.",
+ "A username can only contain lower case letters, numbers and '=_-./'": "Vartotojo vardą gali sudaryti tik mažosios raidės, skaičiai ir '=_-./'",
+ "The username field must not be blank.": "Vartotojo vardo laukelis negali būti tuščias.",
+ "Username": "Vartotojo vardas",
+ "Not sure of your password? Set a new one": "Pamiršote slaptažodį? Nustatykite naują",
+ "Enter username": "Įveskite vartotojo vardą",
+ "Confirm": "Patvirtinti",
+ "Create your Matrix account on %(serverName)s": "Sukurkite savo Matrix paskyrą %(serverName)s serveryje",
+ "Create your Matrix account on ": "Sukurkite savo Matrix paskyrą serveryje",
+ "Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Nustatykite el. paštą paskyros susigrąžinimui. Naudokite el. paštą ar tel. nr. norėdami pasirinktinai būti aptinkami esamų kontaktų.",
+ "Set an email for account recovery. Use email to optionally be discoverable by existing contacts.": "Nustatykite el. paštą paskyros susigrąžinimui. Naudokite el. paštą norėdami pasirinktinai būti aptinkami esamų kontaktų.",
+ "Sign in instead": "Prisijungti",
+ "A verification email will be sent to your inbox to confirm setting your new password.": "Patvirtinimo laiškas bus išsiųstas į jūsų pašto dėžutę tam, kad patvirtintumėte naujo slaptažodžio nustatymą.",
+ "Set a new password": "Nustatykite naują slaptažodį",
+ "Create account": "Sukurti paskyrą",
+ "Create your account": "Sukurkite savo paskyrą",
+ "Change identity server": "Pakeisti tapatybės serverį",
+ "Change": "Keisti",
+ "Change room avatar": "Keisti kambario avatarą",
+ "Change room name": "Keisti kambario pavadinimą",
+ "Change main address for the room": "Keisti pagrindinį kambario adresą",
+ "Change history visibility": "Keisti istorijos matomumą",
+ "Change permissions": "Keisti leidimus",
+ "Change topic": "Keisti temą",
+ "Change settings": "Keisti nustatymus",
+ "Select the roles required to change various parts of the room": "Pasirinkite įvairių kambario dalių keitimui reikalingas roles",
+ "You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Jūs neturėsite galimybės atšaukti šio keitimo, kadangi jūs žeminate savo privilegijas kambaryje. Jei jūs esate paskutinis privilegijuotas vartotojas kambaryje, atgauti privilegijas bus neįmanoma.",
+ "Failed to change power level": "Nepavyko pakeisti galios lygio",
+ "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Jūs neturėsite galimybės atšaukti šio keitimo, kadangi jūs paaukštinate vartotoją, suteikdami tokį patį galios lygį, kokį turite jūs.",
+ "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Ar tikrai norite pašalinti (ištrinti) šį įvykį? Atkreipkite dėmesį į tai, kad jei jūs ištrinsite kambario pavadinimo arba temos keitimo įvykį, tai gali atšaukti patį pakeitimą.",
+ "We recommend you change your password and recovery key in Settings immediately": "Mes rekomenduojame nedelsiant Nustatymuose pasikeisti jūsų slaptažodį ir atgavimo raktą",
+ "Email (optional)": "El. paštas (neprivaloma)",
+ "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Jei jūs nenustatėte naujo paskyros atgavimo metodo, tada gali būti, kad užpuolikas bando patekti į jūsų paskyrą. Nedelsiant Nustatymuose pakeiskite savo paskyros slaptažodį ir nustatykite naują paskyros atgavimo metodą.",
+ "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Jei jūs nepašalinote paskyros atgavimo metodo, tada gali būti, kad užpuolikas bando patekti į jūsų paskyrą. Nedelsiant Nustatymuose pakeiskite savo paskyros slaptažodį ir nustatykite naują paskyros atgavimo metodą."
}
diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json
index d44a26651d..03777f4870 100644
--- a/src/i18n/strings/lv.json
+++ b/src/i18n/strings/lv.json
@@ -48,7 +48,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s dzēsa istabas nosaukumu.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s nomainīja tēmas nosaukumu uz \"%(topic)s\".",
"Changes your display nickname": "Nomaina Tavu publisko segvārdu (niku)",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Paroles maiņa dzēsīs pašreizējās šifrēšanas atslēgas visās savstarpēji saistītajās ierīcēs, padarot čata vēsturi neizlasāmu, ja vien vien istabas atslēgas nav tikušas iepriekš eksportētas un no jauna importētas atpakaļ. Nākotnē to plānojam uzlabot.",
"Claimed Ed25519 fingerprint key": "Ed25519 pieprasītā nospieduma (fingerprint) atslēga",
"Click here to fix": "Klikšķini šeit, lai salabotu",
"Click to mute audio": "Klikšķini, lai audio skaņu izslēgtu",
@@ -75,12 +74,8 @@
"Decryption error": "Atšifrēšanas kļūda",
"Deops user with given id": "Atceļ operatora statusu lietotājam ar norādīto Id",
"Default": "Noklusējuma",
- "Device already verified!": "Ierīce ir jau verificēta!",
"Device ID": "Ierīces Id",
- "Device ID:": "Ierīces Id:",
"device id: ": "ierīces id: ",
- "Device key:": "Ierīces atslēga:",
- "Devices": "Ierīces",
"Direct chats": "Tiešie čati",
"Disable Notifications": "Izslēgt paziņojumus",
"Disinvite": "Atsaukt",
@@ -92,7 +87,6 @@
"Email address": "Epasta adrese",
"Emoji": "Emocīši (emoji)",
"Enable Notifications": "Ieslēgt paziņojumus",
- "Encrypted by an unverified device": "Šifrēts ar neverificētu ierīci",
"%(senderName)s ended the call.": "%(senderName)s beidza zvanu.",
"End-to-end encryption information": "\"End-to-End\" (ierīce-ierīce) šifrēšanas informācija",
"Enter passphrase": "Ievadi paroles frāzi",
@@ -134,7 +128,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s no %(fromPowerLevel)s uz %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Viesi nevar pievienoties šai istabai, pat ja ir uzaicināti.",
"Hangup": "Beigt zvanu",
- "Hide Text Formatting Toolbar": "Slēpt teksta formatēšanas rīkjoslu",
"Historical": "Bijušie",
"Home": "Mājup",
"Homeserver is": "Bāzes serveris ir",
@@ -147,15 +140,12 @@
"Incoming voice call from %(name)s": "Ienākošs AUDIO zvans no %(name)s",
"Incorrect username and/or password.": "Nepareizs lietotājvārds un/vai parole.",
"Incorrect verification code": "Nepareizs verifikācijas kods",
- "Invalid alias format": "Nepareizs aliases (aizstājējvārda) formāts",
"Invalid Email Address": "Nepareiza epasta adrese",
"Invalid file%(extra)s": "Nederīgs fails %(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s uzaicināja %(targetName)s.",
- "Invite new room members": "Uzaicināt jaunus istabas biedrus",
"Invited": "Uzaicināts/a",
"Invites": "Uzaicinājumi",
"Invites user with given id to current room": "Uzaicina lietotāju ar norādīto id uz pašreizējo istabu",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' nav pareizā aliases (aizstājējvārda) formātā",
"Sign in with": "Pierakstīties ar",
"Join as voice or video.": "Pievienoties kā AUDIO vai VIDEO.",
"Join Room": "Pievienoties istabai",
@@ -178,17 +168,11 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s padarīja istabas ziņu turpmāko vēsturi redzamu ikvienam.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s padarīja istabas ziņu turpmāko vēsturi redzamu nepazīstamajiem (%(visibility)s).",
"Manage Integrations": "Pārvaldīt integrācijas",
- "Markdown is disabled": "\"Markdown\" formatēšana izslēgta",
- "Markdown is enabled": "\"Markdown\" formatēšana ieslēgta",
- "matrix-react-sdk version:": "Matrix-react-sdk versija:",
- "Message not sent due to unknown devices being present": "Ziņa nav nosūtīta, jo tika konstatēta nezināmu ierīču klātbūtne",
"Missing room_id in request": "Iztrūkstošs room_id pieprasījumā",
"Missing user_id in request": "Iztrūkstošs user_id pieprasījumā",
"Moderator": "Moderators",
"Mute": "Noklusināt (izslēgt skaņu)",
"Name": "Vārds",
- "Never send encrypted messages to unverified devices from this device": "Nekad nesūtīt no šīs ierīces šifrētas ziņas uz neverificētām ierīcēm",
- "Never send encrypted messages to unverified devices in this room from this device": "Nekad nesūtīt no šīs ierīces šifrētas ziņas neverificētām ierīcēm šajā istabā",
"New address (e.g. #foo:%(localDomain)s)": "Jaunā adrese (piemēram #kautkas:%(localDomain)s)",
"New passwords don't match": "Jaunās paroles nesakrīt",
"New passwords must match each other.": "Jaunajām parolēm ir jāsakrīt vienai ar otru.",
@@ -198,7 +182,6 @@
"(not supported by this browser)": "(netiek atbalstīts šajā pārlūkā)",
"": "",
"NOT verified": "NAV verificēts",
- "No devices with registered encryption keys": "Nav ierīču ar reģistrētām šifrēšanas atslēgām",
"No display name": "Nav publiski redzamā vārda",
"No more results": "Nav tālāko rezultātu",
"No results": "Nav rezultātu",
@@ -209,7 +192,6 @@
"Operation failed": "Darbība neizdevās",
"Password": "Parole",
"Passwords can't be empty": "Paroles nevar būt tukšas",
- "People": "Cilvēki",
"Permissions": "Atļaujas",
"Phone": "Telefons",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Lūdzu pārbaudi savu epastu un noklikšķini tajā esošo saiti. Tiklīdz tas ir izdarīts, klikšķini \"turpināt\".",
@@ -234,7 +216,6 @@
"riot-web version:": "Riot-web versija:",
"Unable to enable Notifications": "Nav iespējams iespējot paziņojumus",
"You have no visible notifications": "Tev nav redzamo paziņojumu",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Tava parole tika veiksmīgi nomainīta. Tu vairs nesaņemsi pašpiegādes (push) paziņojumus citās ierīcēs kamēr tajās nebūs veikta atkārtota pierakstīšanās",
"This will allow you to reset your password and receive notifications.": "Tas atļaus Tev atiestatīt paroli un saņemt paziņojumus.",
"Room %(roomId)s not visible": "Istaba %(roomId)s nav redzama",
"%(roomName)s does not exist.": "%(roomName)s neeksistē.",
@@ -244,8 +225,6 @@
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s nosūtīja uzaicinājumu %(targetDisplayName)s pievienoties istabai.",
"%(senderName)s set a profile picture.": "%(senderName)s uzstādīja profila attēlu.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s nomainīja attēlojamo/redzamo vārdu uz: %(displayName)s.",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Tevis uzdotā pierakstīšanās atslēga sakrīt ar atslēgu, kuru Tu saņēmi no %(userId)s ierīces %(deviceId)s. Ierīce tika atzīmēta kā verificēta.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ieslēdza \"end-to-end\" (ierīce-ierīce) šifrēšanu (algorithm %(algorithm)s).",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s atcēla pieejas ierobežojumu (atbanoja) %(targetName)s.",
"Unknown room %(roomId)s": "Nezināma istaba %(roomId)s",
"Uploading %(filename)s and %(count)s others|zero": "Tiek augšuplādēts %(filename)s",
@@ -254,7 +233,6 @@
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (power %(powerLevelNumber)s)",
"Username invalid: %(errMessage)s": "Neatbilstošs lietotājvārds: %(errMessage)s",
"(unknown failure: %(reason)s)": "(nezināma kļūda: %(reason)s)",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "BRĪDINĀJUMS: NEIZDEVĀS VERIFICĒT ATSLĒGU! Pierakstīšanās atslēga priekš %(userId)s un ierīces %(deviceId)s ir \"%(fprint)s\", kura nesakrīt ar ievadīto atslēgu \"%(fingerprint)s\". Tas var nozīmēt, ka Tava saziņa var tikt pārtverta!",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s atsauca %(targetName)s uzaicinājumu.",
"%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
@@ -264,15 +242,11 @@
"(~%(count)s results)|other": "(~%(count)s rezultāti)",
"Reject all %(invitedRooms)s invites": "Noraidīt visus %(invitedRooms)s uzaicinājumus",
"Failed to invite the following users to the %(roomName)s room:": "Neizdevās uzaicināt sekojošos lietotājus uz %(roomName)s istabu:",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" atrodas ierīces, kuras Tu neesi iepriekš redzējis/usi.",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Notiek Tevis novirzīšana uz ārēju trešās puses vietni. Tu vari atļaut savam kontam piekļuvi ar %(integrationsUrl)s. Vai vēlies turpināt?",
"Ongoing conference call%(supportedText)s.": "Notiekošs konferences zvans %(supportedText)s.",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s dzēsa istabas avataru.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s nomainīja istabas avataru %(roomName)s",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Tu pievienoji jaunu ierīci '%(displayName)s', kas prasa šifrēšanas atslēgas.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Tava neverificētā ierīce '%(displayName)s' pieprasa šifrēšanas atslēgas.",
"Room Colour": "Istabas krāsa",
- "Room contains unknown devices": "Istabā konstatētas nepārbaudītas ierīces",
"Rooms": "Istabas",
"Save": "Saglabāt",
"Scroll to bottom of page": "Aizritināt uz lapas apakšu",
@@ -280,8 +254,6 @@
"Search failed": "Meklēšana neizdevās",
"Searches DuckDuckGo for results": "Meklēšanai izmanto DuckDuckGo",
"Send anyway": "Nosūtīt jebkurā gadījumā",
- "Sender device information": "Nosūtītāja ierīces informācija",
- "Send Invites": "Nosūtīt uzaicinājumus",
"Send Reset Email": "Nosūtīt atiestatīšanas epastu",
"Server error": "Servera kļūda",
"Server may be unavailable, overloaded, or search timed out :(": "Serveris izskatās nesasniedzams, ir pārslogots, vai arī meklēšana beigusies ar savienojuma noildzi :(",
@@ -289,7 +261,6 @@
"Server unavailable, overloaded, or something else went wrong.": "Serveris ir nesasniedzams, pārslogots, vai arī esi uzdūries kļūdai.",
"Session ID": "Sesijas Id",
"Settings": "Iestatījumi",
- "Show Text Formatting Toolbar": "Rādīt teksta formatēšanas rīkjoslu",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Rādīt laiku 12 stundu formātā (piemēram 2:30pm)",
"Signed Out": "Izrakstījās",
"Sign in": "Pierakstīties",
@@ -298,7 +269,6 @@
"Someone": "Kāds",
"Start a chat": "Sākt čatu",
"Start authentication": "Sākt autentifikāciju",
- "Start Chat": "Sākt čatu",
"Submit": "Iesniegt",
"Success": "Izdevās",
"The phone number entered looks invalid": "Ievadītais telefona numurs izskatās nepareizs",
@@ -320,14 +290,10 @@
"Unable to verify email address.": "Nav iespējams apstiprināt epasta adresi.",
"Unban": "Atbanot/atcelt pieejas liegumu",
"Unable to capture screen": "Neizdevās uzņemt ekrānattēlu",
- "Unable to load device list": "Nav iespējams ielādēt ierīču sarakstu",
- "Undecryptable": "Neatšifrējams",
"unencrypted": "nešifrēts",
- "Unencrypted message": "Nešifrēta ziņa",
"unknown caller": "nezināms zvanītājs",
"unknown device": "nezināma ierīce",
"unknown error code": "nezināms kļūdas kods",
- "Unknown (user, device) pair:": "Nezināms (lietotājs, ierīce) pāris:",
"Unmute": "Ieslēgt skaņu",
"Unnamed Room": "Istaba bez nosaukuma",
"Cancel": "Atcelt",
@@ -335,7 +301,6 @@
"Custom Server Options": "Iestatāmās servera opcijas",
"Dismiss": "Atteikt",
"You have enabled URL previews by default.": "URL priekšskats pēc noklusējuma Tev iriespējots .",
- "Unrecognised command:": "Neatpazīta komanda:",
"Unrecognised room alias:": "Neatpazīta istabas aliase:",
"Upload avatar": "Augšuplādēt avataru (profila attēlu)",
"Upload Failed": "Augšupielāde (nosūtīšana) neizdevās",
@@ -349,9 +314,6 @@
"Verification": "Verifikācija",
"verified": "verificēts",
"Verified key": "Verificēta atslēga",
- "WARNING: Device already verified, but keys do NOT MATCH!": "BRĪDINĀJUMS: Ierīce ir jau verificēta, bet NESAKRĪT atslēgas!",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Tu šobrīd esi iekļāvis/usi neverificētas ierīces melnajā sarakstā. Lai nosūtītu ziņas uz šādām ierīcēm, Tev tās ir jāverificē.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Mēs rekomendējam Tev pārskatīt verifikācijas procesu katrai ierīcei, lai apstiprinātu tās piederību īstajam īpašniekam, bet Tu vari nosūtīt ziņu vēlreiz bez verificēšanas, ja vēlies.",
"Start verification": "Sākt verifikāciju",
"Video call": "VIDEO zvans",
"Voice call": "AUDIO zvans",
@@ -363,7 +325,6 @@
"Warning!": "Brīdinājums!",
"Who can access this room?": "Kurš var piekļūt istabai?",
"Who can read history?": "Kas var lasīt vēsturi?",
- "Who would you like to communicate with?": "Ar kuru vēlies komunicēt?",
"You are already in a call.": "Tu jau šobrīd esi sarunā.",
"You cannot place a call with yourself.": "Nav iespējams piezvanīt sev.",
"You cannot place VoIP calls in this browser.": "VoIP zvani šajā pārlūkā netiek atbalstīti.",
@@ -404,8 +365,6 @@
"Connectivity to the server has been lost.": "Savienojums ar serveri pārtrūka.",
"Sent messages will be stored until your connection has returned.": "Nosūtītās ziņas tiks saglabātas tiklīdz savienojums tiks atjaunots.",
"Active call": "Aktīvs zvans",
- "bold": "treknraksts",
- "italic": "kursīvs",
"Please select the destination room for this message": "Lūdzu izvēlies šīs ziņas mērķa istabu",
"Room directory": "Istabu katalogs",
"Start chat": "Uzsākt čalošanu",
@@ -431,15 +390,9 @@
"Unknown error": "Nezināma kļūda",
"Incorrect password": "Nepareiza parole",
"To continue, please enter your password.": "Lai turpinātu, ievadi savu paroli.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Lai verificētu šīs ierīces uzticamību, lūdzu sazinies ar tās īpašnieku, izmantojot citu saziņas veidu (piemēram, sazinoties personiski vai telefoniski) un pajautā, vai atslēga, kuru īpašnieks redz savos lietotāja iestatījumos, sakrīt ar šo atslēgu:",
- "Device name": "Ierīces nosaukums",
- "Device key": "Ierīces atslēga",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Ja tā sakrīt, tad nospied zemāk esošo verifikācijas pogu . Ja nesakrīt, tad kāds cits ir piekļuvis šai ierīcei un šādā gadījumā Tu, iespējams, vēlies izmantot \"melnais saraksts\" iespēju.",
- "Verify device": "Verificēt ierīci",
"I verify that the keys match": "Es apstiprinu, ka atslēgas sakrīt",
"Unable to restore session": "Nav iespējams atjaunot sesiju",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Ja Tu iepriekš izmantoji jaunāku Riot versiju, tava sesija var nebūt saderīga ar šo versiju. Aizver šo logu un atgriezies jaunākajā versijā.",
- "Unknown devices": "Nezināmas ierīces",
"Unknown Address": "Nezināma adrese",
"Unblacklist": "Atbloķēšanas saraksts",
"Blacklist": "Melnais saraksts",
@@ -494,8 +447,6 @@
"Unable to create widget.": "Nav iespējams izveidot widžetu.",
"You are not in this room.": "Tu neatrodies šajā istabā.",
"You do not have permission to do that in this room.": "Tev nav atļaujas šai darbībai šajā istabā.",
- "Verifies a user, device, and pubkey tuple": "Verificē lietotāju, ierīci, un publiskās atslēgas",
- "Loading device info...": "Ielādē ierīces informāciju...",
"Example": "Piemērs",
"Create": "Izveidot",
"Featured Rooms:": "Ieteiktās istabas:",
@@ -522,7 +473,6 @@
"The information being sent to us to help make Riot.im better includes:": "Informācija, kura mums tiek nosūtīta, lai ļautu padarīt Riot.im labāku, ietver:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Ja šī lapa ietver identificējamu informāciju, tādu kā istaba, lietotājs, grupas Id, šie dati tiek noņemti pirms nosūtīšanas uz serveri.",
"Call Failed": "Zvans neizdevās",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Šajā istabā ir nepazīstamas ierīces: ja Tu turpināsi bez to pārbaudes, ir iespējams, ka kāda nepiederoša persona var noklausīties Tavas sarunas.",
"Review Devices": "Ierīču pārskats",
"Call Anyway": "Vienalga zvanīt",
"Answer Anyway": "Vienalga atbildēt",
@@ -555,8 +505,6 @@
"Enable inline URL previews by default": "URL priekšskats pēc noklusējuma",
"Enable URL previews for this room (only affects you)": "URL priekšskati šai istabai (ietekmē tikai Tevi pašu)",
"Enable URL previews by default for participants in this room": "URL priekšskati pēc noklusējuma visiem šīs istabas dalībniekiem",
- "Delete %(count)s devices|other": "Dzēst %(count)s ierīces",
- "Delete %(count)s devices|one": "Dzēst ierīci",
"%(senderName)s sent an image": "%(senderName)s nosūtīja bildi",
"%(senderName)s sent a video": "%(senderName)s nosūtīja video",
"%(senderName)s uploaded a file": "%(senderName)s augšupielādēja failu",
@@ -707,7 +655,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Radi kopienu, lai apvienotu lietotājus un istabas. Izveido mājaslapu, lai iezīmētu Matrix visumā savu klātbūtni, vietu un telpu.",
"Error whilst fetching joined communities": "Ielādējot kopienas radās kļūda",
"%(count)s of your messages have not been sent.|one": "Tava ziņa netika nosūtīta.",
- "Show devices, send anyway or cancel.": "Parādīt ierīces, vienalga nosūtīt vai sūtīšanu atcelt.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Atkārtoti sūtīt ziņu vai atcelt sūtīšanu.",
"There's no one else here! Would you like to invite others or stop warning about the empty room?": "Šeit neviena nav. Ja vēlies kādu uzaicināt vai atslēgt paziņojumu par tukšu istabu?",
"Light theme": "Gaiša ādiņa",
@@ -721,11 +668,7 @@
"Stops ignoring a user, showing their messages going forward": "Atceļ lietotāja ignorēšanu, rādot viņa turpmāk sūtītās ziņas",
"Notify the whole room": "Paziņot visai istabai",
"Room Notification": "Istabas paziņojums",
- "Your key share request has been sent - please check your other devices for key share requests.": "Tavs atslēgu apmaiņas pieprasījums nosūtīts - lūdzu pārbaudi citas savas ierīces attiecībā uz atslēgu apmaiņu.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Atslēgu apmaiņas pieprasījumi Tavām citām ierīcēm tiek nosūtīti automātiski. Ja citās savās ierīcēs atslēdzi vai noraidīji atslēgu apmaiņas pieprasījumu, spiediet šeit lai pieprasītu atslēgas šai sesijai atkārtoti.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Ja citās Tavās ierīcēs nav atslēgas priekš šīs ziņas, Tu nevarēsi to atšifrēt.",
"Key request sent.": "Atslēgas pieprasījums nosūtīts.",
- "Re-request encryption keys from your other devices.": "Atkārtoti pieprasīt šifrēšanas atslēgas no citām savām ierīcēm.",
"Code": "Kods",
"%(oneUser)srejected their invitation %(count)s times|other": "%(oneUser)snoraidīja viņu uzaicinājumu %(count)s reizes",
"%(oneUser)srejected their invitation %(count)s times|one": "%(oneUser)snoraidīja uzaicinājumu",
@@ -812,7 +755,6 @@
"Files": "Faili",
"Collecting app version information": "Tiek iegūta programmas versijas informācija",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Dzēst istabas aliasi/aizstājējvārdu %(alias)s un dzēst %(name)s no kataloga?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Tas atļaus Tev atgriezties savā kontā pēc izrakstīšanās, un pierakstīties no citām ierīcēm.",
"Keywords": "Atslēgvārdi",
"Enable notifications for this account": "Iespējot paziņojumus šim kontam",
"Invite to this community": "Uzaicināt šajā kopienā",
diff --git a/src/i18n/strings/ml.json b/src/i18n/strings/ml.json
index cc4a1a64c2..f181e0d65a 100644
--- a/src/i18n/strings/ml.json
+++ b/src/i18n/strings/ml.json
@@ -68,7 +68,6 @@
"Files": "ഫയലുകള്",
"Collecting app version information": "ആപ്പ് പതിപ്പു വിവരങ്ങള് ശേഖരിക്കുന്നു",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "റൂം ഏലിയാസ് %(alias)s നീക്കം ചെയ്യുകയും %(name)s കള് ഡയറക്ടറിയില് നിന്നും നീക്കം ചെയ്യുകയും ചെയ്യുക ?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "സൈന് ഔട്ട് ചെയ്ത ശേഷം വീണ്ടും നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് മടങ്ങി വരാനും, മറ്റ് ഡിവൈസുകളില് സൈന് ഇന് ചെയ്യാനും ഇത് സഹായിക്കും.",
"Keywords": "കീവേഡുകള്",
"Enable notifications for this account": "ഈ അക്കൌണ്ടില് നോട്ടിഫിക്കേഷനുകള് ഇനേബിള് ചെയ്യുക",
"Messages containing keywords": "കീവേഡുകള്അടങ്ങിയ സന്ദേശങ്ങള്ക്ക്",
diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json
index 733d3ebb04..f16ff2a771 100644
--- a/src/i18n/strings/nb_NO.json
+++ b/src/i18n/strings/nb_NO.json
@@ -112,7 +112,6 @@
"The information being sent to us to help make Riot.im better includes:": "Informasjonen som blir sendt til oss for å hjelpe oss med å lage Riot.im bedre inkluderer:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Hvor denne siden inkluderer identifiserende informasjon, sånn som navnet på rommet, brukeren, og gruppe ID, men denne informasjonen blir fjernet før den blir sendt til tjeneren.",
"Call Failed": "Oppringning mislyktes",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Det er ukjente enheter i dette rommet: Hvis du fortsetter uten å verifisere dem vil det være mulig for noen å tyvlytte på samtalen din.",
"Review Devices": "Se over enheter",
"Call Anyway": "Ring likevel",
"Answer Anyway": "Svar likevel",
@@ -191,10 +190,6 @@
"Moderator": "Moderator",
"Admin": "Admin",
"Start a chat": "Start en samtale",
- "Who would you like to communicate with?": "Hvem vil du prate med?",
- "Start Chat": "Start Samtale",
- "Invite new room members": "Inviter nye rom-medlemmer",
- "Send Invites": "Send invitasjoner",
"Operation failed": "Operasjon mislyktes",
"Failed to invite": "Klarte ikke invitere",
"Failed to invite users to the room:": "Klarte ikke invitere brukere til rommet:",
@@ -218,10 +213,6 @@
"Upgrades a room to a new version": "Oppgraderer et rom til en ny versjon",
"Changes your display nickname": "Endrer visningsnavnet ditt",
"Chat with Riot Bot": "Chat med Riot Bot",
- "Email, name or Matrix ID": "Epost, navn eller Matrix ID",
- "Room upgrade confirmation": "Rom oppgradering bekreftelse",
- "Upgrading a room can be destructive and isn't always necessary.": "Oppgraderingen av et rom kan være destruktivt, og er ikke alltid nødvendig.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Vennligst bekreft at du vil fortsette med oppgraderingen av dette rommet fra til .",
"Changes your display nickname in the current room only": "Endrer visningsnavnet ditt kun i det nåværende rommet",
"Changes your avatar in this current room only": "Endrer avataren din kun i det nåværende rommet",
"Call failed due to misconfigured server": "Oppringingen feilet på grunn av feil-konfigurert tjener",
@@ -236,15 +227,12 @@
"The file '%(fileName)s' failed to upload.": "Filen '%(fileName)s' kunne ikke lastes opp.",
"The server does not support the room version specified.": "Tjeneren støtter ikke rom versjonen som ble spesifisert.",
"Name or Matrix ID": "Navn eller Matrix ID",
- "Failed to start chat": "Feilet å starte samtale",
"Messages": "Meldinger",
"Actions": "Handlinger",
"Advanced": "Avansert",
"Other": "Andre",
- "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Forbereder ¯\\_(ツ)_/¯ til en ren-tekst melding",
+ "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Føyer til ¯\\_(ツ)_/¯ på en råtekstmelding",
"You do not have the required permissions to use this command.": "Du har ikke de rette tilgangene til å bruke denne kommandoen.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Oppgradering av rom anbefales vanligvis når en rom versjon anses som ustabil. Ustabile rom versjoner kan ha feil, manglende funksjoner eller sikkerhetsproblemer.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Oppgraderinger av rommet påvirker vanligvis bare tjenerside behandlingen av rommet. Hvis du har problemer med Riot-klienten din, kan du sende inn et problem med .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Advarsel: Oppgradering av et rom vil ikke automatisk migrere rom medlemmer til den nye versjonen av rommet. Vi legger ut en lenke til det nye rommet i den gamle versjonen av rommet - rom medlemmer må klikke på denne lenken for å bli med i det nye rommet.",
"Changes your avatar in all rooms": "Endrer avataren din i alle rom",
"Gets or sets the room topic": "Henter eller setter rommets overskrift",
@@ -261,7 +249,7 @@
"Ignored user": "Ignorert(e) bruker",
"You are now ignoring %(userId)s": "%(userId)s er nå ignorert",
"Stops ignoring a user, showing their messages going forward": "Fjerner ignorering av bruker og viser meldingene fra nå av",
- "Unignored user": "Ikke ignorert bruker",
+ "Unignored user": "Uignorert bruker",
"You are no longer ignoring %(userId)s": "%(userId)s blir ikke lengre ignorert",
"Define the power level of a user": "Definer tilgangnivå til en bruker",
"Deops user with given id": "Fjerner OP nivå til bruker med gitt ID",
@@ -269,19 +257,591 @@
"Adds a custom widget by URL to the room": "Legger til en tilpasset widget med URL i rommet",
"Please supply a https:// or http:// widget URL": "Oppgi en https: // eller http: // widget-URL",
"You cannot modify widgets in this room.": "Du kan ikke endre widgets i dette rommet.",
- "Unknown (user, device) pair:": "Ukjent (bruker,enhet) par:",
- "Device already verified!": "Enhet allerede verifisert!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ADVARSEL: Enheten er allerede verifisert, men nøkler er IKKE LIKE!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ADVARSEL: Nøkkelverifisering mislyktes! Signeringsnøkkelen for %(userId)s og enhet %(deviceId)s er \"%(fprint)s\" som ikke samsvarer med den oppgitte nøkkelen \"%(fingerprint)s\". Dette kan bety at kommunikasjonene dine blir fanget opp!",
"Verified key": "Verifisert nøkkel",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Signeringsnøkkelen du oppgav stemmer med signeringsnøkkelen du mottok fra %(userId)s enhet %(deviceId)s. Enheten er merket som bekreftet.",
"Displays action": "Viser handling",
"Forces the current outbound group session in an encrypted room to be discarded": "Tvinger den gjeldende utgående gruppeøkten i et kryptert rom til å stoppe",
"Sends the given message coloured as a rainbow": "Sender gitte melding i regnbuens farger",
"Sends the given emote coloured as a rainbow": "Sender gitte emote i regnbuens farger",
"Displays list of commands with usages and descriptions": "Viser liste over kommandoer med bruks eksempler og beskrivelser",
- "Unrecognised command:": "Ukjent kommando:",
"Reason": "Årsak",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s aksepterte invitasjonen til %(displayName)s.",
- "%(targetName)s accepted an invitation.": "%(targetName)s aksepterte en invitasjon."
+ "%(targetName)s accepted an invitation.": "%(targetName)s aksepterte en invitasjon.",
+ "Add Email Address": "Legg til E-postadresse",
+ "Add Phone Number": "Legg til telefonnummer",
+ "The version of Riot": "Riot-versjonen",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Hvorvidt du bruker Riot på en enhet som primært mottar inndata gjennom touchskjerm",
+ "Your user agent": "Brukeragenten din",
+ "Cancel": "Avbryt",
+ "Trust": "Stol på",
+ "Sign In": "Logg inn",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s inviterte %(targetName)s.",
+ "%(targetName)s joined the room.": "%(targetName)s ble med i rommet.",
+ "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sendte et bilde.",
+ "Someone": "Noen",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s sendte en invitasjon til %(targetDisplayName)s om å bli med i rommet.",
+ "Light theme": "Lyst tema",
+ "Dark theme": "Mørkt tema",
+ "Done": "Fullført",
+ "%(displayName)s is typing …": "%(displayName)s skriver …",
+ "%(names)s and %(count)s others are typing …|other": "%(names)s og %(count)s andre skriver …",
+ "%(names)s and %(count)s others are typing …|one": "%(names)s og én annen bruker skriver …",
+ "%(names)s and %(lastPerson)s are typing …": "%(names)s og %(lastPerson)s skriver …",
+ "%(num)s minutes ago": "%(num)s minutter siden",
+ "%(num)s hours ago": "%(num)s timer siden",
+ "This is a very common password": "Dette er et veldig vanlig passord",
+ "Decline": "Avslå",
+ "Accept": "Godta",
+ "Start": "Begynn",
+ "Dog": "Hund",
+ "Cat": "Katt",
+ "Horse": "Hest",
+ "Unicorn": "Enhjørning",
+ "Elephant": "Elefant",
+ "Panda": "Panda",
+ "Penguin": "Pingvin",
+ "Fish": "Fisk",
+ "Octopus": "Blekksprut",
+ "Flower": "Blomst",
+ "Mushroom": "Sopp",
+ "Moon": "Måne",
+ "Banana": "Banan",
+ "Strawberry": "Jordbær",
+ "Pizza": "Pizza",
+ "Cake": "Kaker",
+ "Robot": "Robot",
+ "Glasses": "Briller",
+ "Umbrella": "Paraply",
+ "Clock": "Klokke",
+ "Pencil": "Blyant",
+ "Scissors": "Saks",
+ "Key": "Nøkkel",
+ "Hammer": "Hammer",
+ "Flag": "Flagg",
+ "Bicycle": "Sykkel",
+ "Trumpet": "Trompet",
+ "Bell": "Bjelle",
+ "Anchor": "Anker",
+ "Headphones": "Hodetelefoner",
+ "Folder": "Mappe",
+ "Upgrade": "Oppgrader",
+ "Verify": "Bekreft",
+ "Review": "Gjennomgang",
+ "Upload": "Last opp",
+ "Show less": "Vis mindre",
+ "Current password": "Nåværende passord",
+ "Password": "Passord",
+ "New Password": "Nytt passord",
+ "Confirm password": "Bekreft passord",
+ "Change Password": "Endre passordet",
+ "ID": "ID",
+ "rooms.": "rom.",
+ "Manage": "Administrér",
+ "Enable": "Slå på",
+ "Upgrade to your own domain": "Oppgrader til ditt eget domene",
+ "Display Name": "Visningsnavn",
+ "Save": "Lagre",
+ "Disconnect": "Koble fra",
+ "Go back": "Gå tilbake",
+ "Change": "Endre",
+ "Success": "Vellykket",
+ "Profile": "Profil",
+ "Email addresses": "E-postadresser",
+ "Phone numbers": "Telefonnumre",
+ "Account": "Konto",
+ "Language and region": "Språk og område",
+ "Theme": "Tema",
+ "Warning": "Advarsel",
+ "General": "Generelt",
+ "Legal": "Juridisk",
+ "Credits": "Takk til",
+ "FAQ": "Ofte Stilte Spørsmål",
+ "Versions": "Versjoner",
+ "None": "Ingen",
+ "Unsubscribe": "Meld ut",
+ "Ignore": "Ignorer",
+ "Subscribe": "Abonnér",
+ "Preferences": "Brukervalg",
+ "Composer": "Komposør",
+ "Timeline": "Tidslinje",
+ "Security & Privacy": "Sikkerhet og personvern",
+ "Sessions": "Sesjoner",
+ "Camera": "Kamera",
+ "Reset": "Nullstill",
+ "Browse": "Bla",
+ "Unban": "Opphev utestengelse",
+ "Banned users": "Bannlyste brukere",
+ "Permissions": "Tillatelser",
+ "Anyone": "Alle",
+ "Encryption": "Kryptering",
+ "Encrypted": "Kryptert",
+ "Complete": "Fullført",
+ "Revoke": "Tilbakekall",
+ "Share": "Del",
+ "Unable to verify phone number.": "Klarte ikke å verifisere telefonnummeret.",
+ "Verification code": "Verifikasjonskode",
+ "Add": "Legg til",
+ "Email Address": "E-postadresse",
+ "Phone Number": "Telefonnummer",
+ "Mod": "Mod",
+ "%(senderName)s sent an image": "%(senderName)s sendte et bilde",
+ "%(senderName)s sent a video": "%(senderName)s sendte en video",
+ "Ban": "Utesteng",
+ "Are you sure?": "Er du sikker?",
+ "Invite": "Inviter",
+ "Unmute": "Opphev demp",
+ "Mute": "Demp",
+ "Admin Tools": "Adminverktøy",
+ "Invited": "Invitert",
+ "Upload file": "Last opp fil",
+ "Send an encrypted reply…": "Send et kryptert svar …",
+ "Send an encrypted message…": "Send en kryptert beskjed …",
+ "Send a message…": "Send en melding …",
+ "Send a message (unencrypted)…": "Send en melding (ukryptert) …",
+ "Bold": "Fet",
+ "Italics": "Kursiv",
+ "Strikethrough": "Gjennomstreking",
+ "Loading...": "Laster ...",
+ "Online": "Tilkoblet",
+ "Idle": "Rolig",
+ "Offline": "Frakoblet",
+ "Unknown": "Ukjent",
+ "Recent rooms": "Nylige rom",
+ "Settings": "Innstillinger",
+ "Search": "Søk",
+ "Direct Messages": "Direktemeldinger",
+ "Rooms": "Rom",
+ "Joining room …": "Blir med i rommet …",
+ "Sign Up": "Registrer deg",
+ "Not now": "Ikke nå",
+ "Options": "Innstillinger",
+ "All Rooms": "Alle rom",
+ "Search…": "Søk …",
+ "Security": "Sikkerhet",
+ "Got it": "Jeg forstår",
+ "Reply": "Svar",
+ "Edit": "Rediger ",
+ "Attachment": "Vedlegg",
+ "Download %(text)s": "Last ned %(text)s",
+ "Show all": "Vis alt",
+ "Reactions": "Reaksjoner",
+ "Copied!": "Kopiert!",
+ "Filter community members": "Filtrer samfunnsmedlemmer",
+ "Filter community rooms": "Filtrer samfunnsrom",
+ "What's New": "Hva er nytt",
+ "Update": "Oppdater",
+ "Frequently Used": "Ofte brukte",
+ "Smileys & People": "Smilefjes og folk",
+ "Animals & Nature": "Dyreliv og natur",
+ "Food & Drink": "Mat og drikke",
+ "Activities": "Aktiviteter",
+ "Travel & Places": "Reise og steder",
+ "Objects": "Objekter",
+ "Symbols": "Symboler",
+ "Flags": "Flagg",
+ "Quick Reactions": "Hurtigreaksjoner",
+ "Cancel search": "Avbryt søket",
+ "More options": "Flere alternativer",
+ "Blacklist": "Svarteliste",
+ "Join": "Bli med",
+ "Yes": "Ja",
+ "No": "Nei",
+ "collapse": "skjul",
+ "expand": "utvid",
+ "Communities": "Samfunn",
+ "Rotate counter-clockwise": "Roter mot klokken",
+ "Rotate clockwise": "Roter med klokken",
+ "Add User": "Legg til bruker",
+ "All rooms": "Alle rom",
+ "%(networkName)s rooms": "%(networkName)s-rom",
+ "Matrix rooms": "Matrix-rom",
+ "email address": "E-postadresse",
+ "Close dialog": "Lukk dialog",
+ "Notes": "Merknader",
+ "Unavailable": "Ikke tilgjengelig",
+ "Changelog": "Endringslogg",
+ "Confirm Removal": "Bekreft fjerning",
+ "Example": "Eksempel",
+ "Create": "Lag",
+ "Name": "Navn",
+ "Sign out": "Logg ut",
+ "Unknown error": "Ukjent feil",
+ "Incorrect password": "Feil passord",
+ "Session name": "Øktens navn",
+ "Back": "tilbake",
+ "Filter results": "Filtrerresultater",
+ "Toolbox": "Verktøykasse",
+ "An error has occurred.": "En feil har oppstått.",
+ "Suggestions": "Forslag",
+ "Go": "Gå",
+ "New session": "Ny økt",
+ "Refresh": "Oppdater",
+ "Email address": "E-postadresse",
+ "Skip": "Hopp over",
+ "Share Room Message": "Del rommelding",
+ "COPY": "KOPIER",
+ "Terms of Service": "Vilkår for bruk",
+ "Service": "Tjeneste",
+ "Summary": "Oppsummering",
+ "Document": "Dokument",
+ "Next": "Neste",
+ "Cancel All": "Avbryt alt",
+ "Allow": "Tillat",
+ "Deny": "Avvis",
+ "Enter recovery key": "Skriv inn gjenopprettingsnøkkel",
+ "Custom": "Tilpasset",
+ "Forward Message": "Videresend melding",
+ "Share Message": "Del melding",
+ "Report Content": "Rapporter innhold",
+ "Notification settings": "Varslingsvalg",
+ "Set status": "Sett status",
+ "Hide": "Skjul",
+ "Home": "Hjem",
+ "Sign in": "Logg inn",
+ "Help": "Hjelp",
+ "Reload": "Last på nytt",
+ "Take picture": "Ta bilde",
+ "User Status": "Brukerstatus",
+ "Code": "Kode",
+ "Submit": "Send",
+ "Email": "E-post",
+ "Username": "Brukernavn",
+ "Phone": "Telefon",
+ "Enter password": "Skriv inn passord",
+ "Enter username": "Skriv inn brukernavn",
+ "Confirm": "Bekreft",
+ "Free": "Gratis",
+ "Premium": "Premium",
+ "Featured Rooms:": "Fremhevede rom:",
+ "Everyone": "Alle",
+ "Description": "Beskrivelse",
+ "Explore": "Utforsk",
+ "Filter": "Filter",
+ "Logout": "Logg ut",
+ "Preview": "Forhåndsvisning",
+ "View": "Vis",
+ "Explore rooms": "Utforsk rom",
+ "Room": "Rom",
+ "Clear filter": "Tøm filtret",
+ "Guest": "Gjest",
+ "Go Back": "Gå tilbake",
+ "Failed to send email": "Kunne ikke sende e-post",
+ "Your password has been reset.": "Passordet ditt har blitt tilbakestilt.",
+ "Create account": "Opprett konto",
+ "Commands": "Kommandoer",
+ "Emoji": "Emoji",
+ "Users": "Brukere",
+ "verified": "bekreftet",
+ "User ID": "Brukerens ID",
+ "none": "ingen",
+ "Algorithm": "Algoritme",
+ "Export": "Eksporter",
+ "Import": "Importer",
+ "Restore": "Gjenopprett",
+ "Copy": "Kopier",
+ "Download": "Nedlastning",
+ "Retry": "Prøv igjen",
+ "Success!": "Suksess!",
+ "Set up": "Sett opp",
+ "Disable": "Slå av",
+ "Review Sessions": "Gå gjennom økter",
+ "Identity server has no terms of service": "Identitetstjeneren har ingen brukervilkår",
+ "Enable Emoji suggestions while typing": "Skru på emoji-forslag mens du skriver",
+ "Use compact timeline layout": "Bruk det kompakte tidslinjeoppsettet",
+ "Show a placeholder for removed messages": "Vis en stattholder for fjernede meldinger",
+ "Show join/leave messages (invites/kicks/bans unaffected)": "Vis meldinger om innvielser/forlatinger (ekskl. invitasjoner/sparkinger/bannlysninger)",
+ "Show avatar changes": "Vis avatarendringer",
+ "Show display name changes": "Vis visningsnavnendringer",
+ "Show read receipts sent by other users": "Vis lesekvitteringer sendt av andre brukere",
+ "Show timestamps in 12 hour format (e.g. 2:30pm)": "Vis tidsstempler i 12-timersformat (f.eks. 2:30pm)",
+ "Always show message timestamps": "Alltid vis meldingenes tidsstempler",
+ "Autoplay GIFs and videos": "Auto-avspill GIF-er og videoer",
+ "Always show encryption icons": "Alltid vis krypteringsikoner",
+ "Enable automatic language detection for syntax highlighting": "Skru på automatisk kodespråkoppdagelse for syntaksfremheving",
+ "Show avatars in user and room mentions": "Vis avatarer i bruker- og romnevninger",
+ "Enable big emoji in chat": "Skru på store emojier i chatrom",
+ "Send typing notifications": "Send varsler om at du skriver",
+ "Show typing notifications": "Vis varsler om at det skrives",
+ "Automatically replace plain text Emoji": "Bytt automatisk ut råtekst-emojier",
+ "Mirror local video feed": "Speil den lokale videostrømmen",
+ "Enable Community Filter Panel": "Skru på samfunnsfilterpanelet",
+ "Match system theme": "Bind fast til systemtemaet",
+ "Allow Peer-to-Peer for 1:1 calls": "Tillat P2P for samtaler under fire øyne",
+ "Send analytics data": "Send analytiske data",
+ "Enable inline URL previews by default": "Skru på URL-forhåndsvisninger inni meldinger som standard",
+ "Prompt before sending invites to potentially invalid matrix IDs": "Si ifra før det sendes invitasjoner til potensielt ugyldig Matrix-ID-er",
+ "Show developer tools": "Vis utviklerverktøy",
+ "Order rooms by name": "Sorter rom etter navn",
+ "Show rooms with unread notifications first": "Vis rom med uleste varsler først",
+ "Show shortcuts to recently viewed rooms above the room list": "Vis snarveier til de nyligst viste rommene ovenfor romlisten",
+ "Show hidden events in timeline": "Vis skjulte hendelser i tidslinjen",
+ "Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Tillat tilbakefalloppringingsassistenttjeneren turn.matrix.org dersom hjemmetjeneren din ikke tilbyr en (IP-adressen din ville blitt delt under en samtale)",
+ "Show previews/thumbnails for images": "Vis forhåndsvisninger for bilder",
+ "Messages containing my username": "Meldinger som nevner brukernavnet mitt",
+ "Messages containing @room": "Medlinger som inneholder @room",
+ "Encrypted messages in one-to-one chats": "Krypterte meldinger i samtaler under fire øyne",
+ "Encrypted messages in group chats": "Krypterte meldinger i gruppesamtaler",
+ "When rooms are upgraded": "Når rom blir oppgradert",
+ "My Ban List": "Min bannlysningsliste",
+ "Verified!": "Verifisert!",
+ "Got It": "Skjønner",
+ "Scan this unique code": "Skann denne unike koden",
+ "or": "eller",
+ "Lion": "Løve",
+ "Pig": "Gris",
+ "Rabbit": "Kanin",
+ "Rooster": "Hane",
+ "Turtle": "Skilpadde",
+ "Butterfly": "Sommerfugl",
+ "Tree": "Tre",
+ "Cactus": "Kaktus",
+ "Globe": "Klode",
+ "Heart": "Hjerte",
+ "Smiley": "Smilefjes",
+ "Hat": "Hatt",
+ "Thumbs up": "Tommel opp",
+ "Hourglass": "Timeglass",
+ "Gift": "Gave",
+ "Light bulb": "Lyspære",
+ "Paperclip": "Binders",
+ "Telephone": "Telefon",
+ "Rocket": "Rakett",
+ "Trophy": "Trofé",
+ "Ball": "Ball",
+ "Guitar": "Gitar",
+ "Later": "Senere",
+ "Accept to continue:": "Aksepter for å fortsette:",
+ "Public Name": "Offentlig navn",
+ "Last seen": "Sist sett",
+ "Algorithm: ": "Algoritme: ",
+ "Enable desktop notifications for this session": "Skru på skrivebordsvarsler for denne økten",
+ "Show message in desktop notification": "Vis meldingen i skrivebordsvarselet",
+ "Enable audible notifications for this session": "Skru på hørbare varsler for denne økten",
+ "Profile picture": "Profilbilde",
+ "Checking server": "Sjekker tjeneren",
+ "Change identity server": "Bytt ut identitetstjener",
+ "You should:": "Du burde:",
+ "Identity Server": "Identitetstjener",
+ "Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Å bruke en identitetstjener er valgfritt. Dersom du velger å ikke en identitetstjener, vil du ikke kunne oppdages av andre brukere, og du vil ikke kunne invitere andre ut i fra E-postadresse eller telefonnummer.",
+ "Do not use an identity server": "Ikke bruk en identitetstjener",
+ "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Bruk en integreringsbehandler (%(serverName)s) til å behandle botter, moduler, og klistremerkepakker.",
+ "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Bruk en integreringsbehandler til å behandle botter, moduler, og klistremerkepakker.",
+ "Manage integrations": "Behandle integreringer",
+ "Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Integreringsbehandlere mottar oppsettsdata, og kan endre på moduler, sende rominvitasjoner, og bestemme styrkenivåer på dine vegne.",
+ "Flair": "Merkeskilt",
+ "Theme added!": "Temaet er lagt til!",
+ "Set a new account password...": "Velg et nytt kontopassord …",
+ "Add theme": "Legg til tema",
+ "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Godkjenn identitetstjenerens (%(serverName)s) brukervilkår, slik at du kan bli oppdaget ut i fra E-postadresse eller telefonnummer.",
+ "Account management": "Kontobehandling",
+ "Deactivating your account is a permanent action - be careful!": "Å deaktivere kontoen din er en permanent handling - vær forsiktig!",
+ "Deactivate Account": "Deaktiver kontoen",
+ "Discovery": "Oppdagelse",
+ "Deactivate account": "Deaktiver kontoen",
+ "Check for update": "Let etter oppdateringer",
+ "Help & About": "Hjelp/Om",
+ "Bug reporting": "Feilrapportering",
+ "riot-web version:": "'riot-web'-versjon:",
+ "olm version:": "olm-versjon:",
+ "click to reveal": "klikk for å avsløre",
+ "Ignored/Blocked": "Ignorert/Blokkert",
+ "Server rules": "Tjenerregler",
+ "User rules": "Brukerregler",
+ "View rules": "Vis reglene",
+ "Ignored users": "Ignorerte brukere",
+ "⚠ These settings are meant for advanced users.": "⚠ Disse innstillingene er ment for avanserte brukere.",
+ "Room list": "Romliste",
+ "Autocomplete delay (ms)": "Autofullføringsforsinkelse (ms)",
+ "Unignore": "Opphev ignorering",
+ "Cryptography": "Kryptografi",
+ "Session ID:": "Økt-ID:",
+ "Session key:": "Øktnøkkel:",
+ "Key backup": "Nøkkel-sikkerhetskopiering",
+ "Message search": "Meldingssøk",
+ "A session's public name is visible to people you communicate with": "Det offentlige navnet til en økt er synlig for folkene du kommuniserer med",
+ "No media permissions": "Ingen mediatillatelser",
+ "Missing media permissions, click the button below to request.": "Manglende mediatillatelser, klikk på knappen nedenfor for å be om dem.",
+ "Request media permissions": "Be om mediatillatelser",
+ "No Audio Outputs detected": "Ingen lydutdataer ble oppdaget",
+ "No Microphones detected": "Ingen mikrofoner ble oppdaget",
+ "No Webcams detected": "Ingen USB-kameraer ble oppdaget",
+ "Default Device": "Standardenhet",
+ "Audio Output": "Lydutdata",
+ "Microphone": "Mikrofon",
+ "Voice & Video": "Stemme og video",
+ "this room": "dette rommet",
+ "Room information": "Rominformasjon",
+ "Room version": "Romversjon",
+ "Room version:": "Romversjon:",
+ "Developer options": "Utviklerverktøy",
+ "Open Devtools": "Åpne utviklerverktøy",
+ "Room Addresses": "Rom-adresser",
+ "URL Previews": "URL-forhåndsvisninger",
+ "Sounds": "Lyder",
+ "Notification sound": "Varslingslyd",
+ "Set a new custom sound": "Velg en ny selvvalgt lyd",
+ "Change permissions": "Endre tillatelser",
+ "Change topic": "Endre samtaletema",
+ "Upgrade the room": "Oppgrader rommet",
+ "Modify widgets": "Endre på moduler",
+ "Banned by %(displayName)s": "Bannlyst av %(displayName)s",
+ "Send messages": "Send meldinger",
+ "Invite users": "Inviter brukere",
+ "Change settings": "Endre innstillinger",
+ "Kick users": "Spark ut brukere",
+ "Ban users": "Bannlys brukere",
+ "Remove messages": "Fjern meldinger",
+ "Roles & Permissions": "Roller og tillatelser",
+ "Enable encryption?": "Vil du skru på kryptering?",
+ "Click here to fix": "Klikk her for å fikse det",
+ "Add a widget": "Legg til en modul",
+ "Drop File Here": "Slipp ned filen her",
+ "Drop file here to upload": "Slipp ned en fil her for å laste opp",
+ " (unsupported)": " (ikke støttet)",
+ "Edit message": "Rediger meldingen",
+ "Unencrypted": "Ukryptert",
+ "device id: ": "enhets-id: ",
+ "Disinvite": "Trekk tilbake invitasjon",
+ "Kick": "Spark ut",
+ "Deactivate user?": "Vil du deaktivere brukeren?",
+ "Deactivate user": "Deaktiver brukeren",
+ "Voice call": "Stemmesamtale",
+ "Video call": "Videosamtale",
+ "%(duration)ss": "%(duration)ss",
+ "%(duration)sm": "%(duration)sm",
+ "%(duration)sh": "%(duration)st",
+ "%(duration)sd": "%(duration)sd",
+ "Join Room": "Bli med i rommet",
+ "Forget room": "Glem rommet",
+ "Share room": "Del rommet",
+ "Invites": "Invitasjoner",
+ "Low priority": "Lavprioritet",
+ "Historical": "Historisk",
+ "This room": "Dette rommet",
+ "Loading …": "Laster inn …",
+ "Forget this room": "Glem dette rommet",
+ "Re-join": "Bli med igjen",
+ "Join the discussion": "Bli med i diskusjonen",
+ " wants to chat": " ønsker å chatte",
+ " invited you": " inviterte deg",
+ "%(roomName)s does not exist.": "%(roomName)s eksisterer ikke.",
+ "%(roomName)s is not accessible at this time.": "%(roomName)s er ikke tilgjengelig for øyeblikket.",
+ "Never lose encrypted messages": "Aldri mist krypterte beskjeder",
+ "Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Meldinger i dette rommet er sikret med start-til-mål-kryptering. Bare du og mottakeren(e) har nøklene til å lese disse beskjedene.",
+ "Securely back up your keys to avoid losing them. Learn more.": "Ta sikkerhetskopier av nøklene dine på en sikker måte for å unngå å miste dem Lær mer.",
+ "Don't ask me again": "Ikke spør meg igjen",
+ "This Room": "Dette rommet",
+ "Server error": "Serverfeil",
+ "Stickerpack": "Klistremerkepakke",
+ "Main address": "Hovedadresse",
+ "not specified": "ikke spesifisert",
+ "Local address": "Lokal adresse",
+ "Published Addresses": "Publiserte adresser",
+ "Local Addresses": "Lokale adresser",
+ "Accepting…": "Aksepterer …",
+ "Hide sessions": "Skjul økter",
+ "Show image": "Vis bilde",
+ "You accepted": "Du aksepterte",
+ "You declined": "Du avslo",
+ "You cancelled": "Du avbrøt",
+ "Accepting …": "Aksepterer …",
+ "Declining …": "Avslår …",
+ "edited": "redigert",
+ "You're not currently a member of any communities.": "Du er ikke medlem av noen samfunn for øyeblikket.",
+ "Yes, I want to help!": "Ja, jeg vil hjelpe til!",
+ "What's new?": "Hva er nytt?",
+ "Set Password": "Bestem passord",
+ "Your user ID": "Din bruker-ID",
+ "Your theme": "Ditt tema",
+ "Riot URL": "Riot-URL",
+ "Room ID": "Rom-ID",
+ "Widget ID": "Modul-ID",
+ "Delete Widget": "Slett modul",
+ "Delete widget": "Slett modul",
+ "No results": "Ingen treff",
+ "Rotate Left": "Roter til venstre",
+ "Rotate Right": "Roter til høyre",
+ "were invited %(count)s times|one": "ble invitert",
+ "was invited %(count)s times|one": "ble invitert",
+ "were banned %(count)s times|one": "ble bannlyst",
+ "was banned %(count)s times|one": "ble bannlyst",
+ "were kicked %(count)s times|one": "ble sparket ut",
+ "was kicked %(count)s times|one": "ble sparket ut",
+ "Power level": "Styrkenivå",
+ "e.g. my-room": "f.eks. mitt-rom",
+ "Enter a server name": "Skriv inn et tjenernavn",
+ "Looks good": "Ser bra ut",
+ "Your server": "Tjeneren din",
+ "Add a new server": "Legg til en ny tjener",
+ "Server name": "Tjenernavn",
+ "Matrix ID": "Matrix-ID",
+ "Matrix Room ID": "Matrix-rom-ID",
+ "That doesn't look like a valid email address": "Det ser ikke ut som en gyldig E-postadresse",
+ "Thank you!": "Tusen takk!",
+ "Removing…": "Fjerner …",
+ "Community ID": "Samfunns-ID",
+ "example": "eksempel",
+ "Create Room": "Opprett et rom",
+ "Session ID": "Økt-ID",
+ "Session key": "Øktnøkkel",
+ "Updating Riot": "Oppdaterer Riot",
+ "Message edits": "Meldingsredigeringer",
+ "This wasn't me": "Det var ikke meg",
+ "Send report": "Send inn rapport",
+ "Checking...": "Sjekker …",
+ "Upload files": "Last opp filer",
+ "Upload all": "Last opp alle",
+ "Upload Error": "Opplastingsfeil",
+ "Verification Request": "Verifiseringsforespørsel",
+ "No backup found!": "Ingen sikkerhetskopier ble funnet!",
+ "Backup restored": "Sikkerhetskopien ble gjenopprettet",
+ "Update status": "Oppdater statusen",
+ "Country Dropdown": "Nedfallsmeny over land",
+ "Server Name": "Tjenernavn",
+ "Sign in with": "Logg inn med",
+ "Passwords don't match": "Passordene samsvarer ikke",
+ "Email (optional)": "E-post (valgfritt)",
+ "Phone (optional)": "Telefonnummer (valgfritt)",
+ "Homeserver URL": "Hjemmetjener-URL",
+ "Identity Server URL": "Identitetstjener-URL",
+ "Other servers": "Andre tjenere",
+ "Add a Room": "Legg til et rom",
+ "Add a User": "Legg til en bruker",
+ "Leave Community": "Forlat samfunnet",
+ "Leave %(groupName)s?": "Vil du forlate %(groupName)s?",
+ "Community Settings": "Samfunnsinnstillinger",
+ "Join this community": "Bli med i dette samfunnet",
+ "Leave this community": "Forlat dette samfunnet",
+ "Upload avatar": "Last opp en avatar",
+ "Terms and Conditions": "Betingelser og vilkår",
+ "Your Communities": "Dine samfunn",
+ "Create a new community": "Opprett et nytt samfunn",
+ "Find a room…": "Finn et rom …",
+ "Add room": "Legg til et rom",
+ "Search failed": "Søket mislyktes",
+ "No more results": "Ingen flere resultater",
+ "Fill screen": "Fyll skjermen",
+ " (1/%(totalCount)s)": " (1/%(totalCount)s)",
+ "Your profile": "Din profil",
+ "Waiting…": "Venter …",
+ "Session verified": "Økten er verifisert",
+ "Sign in instead": "Logg inn i stedet",
+ "I have verified my email address": "Jeg har verifisert E-postadressen min",
+ "Return to login screen": "Gå tilbake til påloggingsskjermen",
+ "Set a new password": "Velg et nytt passord",
+ "Upload an avatar:": "Last opp en avatar:",
+ "You're signed out": "Du er logget av",
+ "Results from DuckDuckGo": "Resultater fra DuckDuckGo",
+ "DuckDuckGo Results": "DuckDuckGo-resultater",
+ "unknown device": "ukjent enhet",
+ "Device ID": "Enhets-ID",
+ "Verification": "Verifisering",
+ "unencrypted": "ukryptert",
+ "Event information": "Hendelsesinformasjon",
+ "File to import": "Filen som skal importeres",
+ "Your recovery key": "Din gjenopprettingsnøkkel",
+ "Upgrade your encryption": "Oppgrader krypteringen din",
+ "Starting backup...": "Begynner sikkerhetskopieringen …",
+ "Don't ask again": "Ikke spør igjen",
+ "Space used:": "Plass brukt:",
+ "Indexed rooms:": "Indekserte rom:"
}
diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json
index 3dcd215ab4..874ae9bf3a 100644
--- a/src/i18n/strings/nl.json
+++ b/src/i18n/strings/nl.json
@@ -33,7 +33,6 @@
"%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s heeft de gespreksnaam gewijzigd naar %(roomName)s.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s heeft het onderwerp gewijzigd naar ‘%(topic)s’.",
"Changes your display nickname": "Verandert uw weergavenaam",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Momenteel stellen wachtwoordveranderingen nog alle sleutels voor eind-tot-eind-versleuteling op alle apparaten opnieuw in, waardoor de versleutelde gespreksgeschiedenis onleesbaar wordt, tenzij u eerst uw gesprekssleutels exporteert en na afloop opnieuw importeert. Dit zal in de toekomst verbeterd worden.",
"Click here to fix": "Klik hier om dit op te lossen",
"Click to mute audio": "Klik om het geluid uit te zetten",
"Click to mute video": "Klik om het geluid van de video uit te zetten",
@@ -87,7 +86,6 @@
"(not supported by this browser)": "(niet ondersteund door deze browser)",
"": "",
"NOT verified": "NIET geverifieerd",
- "No devices with registered encryption keys": "Geen apparaten met geregistreerde versleutelingssleutels",
"No display name": "Geen weergavenaam",
"No more results": "Geen resultaten meer",
"No results": "Geen resultaten",
@@ -95,7 +93,6 @@
"olm version:": "olm-versie:",
"Password": "Wachtwoord",
"Passwords can't be empty": "Wachtwoorden kunnen niet leeg zijn",
- "People": "Personen",
"Permissions": "Toestemmingen",
"Phone": "Telefoonnummer",
"Private Chat": "Privégesprek",
@@ -108,10 +105,8 @@
"%(targetName)s rejected the invitation.": "%(targetName)s heeft de uitnodiging geweigerd.",
"Reject invitation": "Uitnodiging weigeren",
"Remote addresses for this room:": "Externe adressen voor dit gesprek:",
- "Send Invites": "Uitnodigingen versturen",
"Start a chat": "Gesprek beginnen",
"Start authentication": "Authenticatie starten",
- "Start Chat": "Gesprek beginnen",
"Submit": "Bevestigen",
"Success": "Klaar",
"Sun": "Zo",
@@ -147,14 +142,10 @@
"/ddg is not a command": "/ddg is geen opdracht",
"Deactivate Account": "Account deactiveren",
"Decline": "Weigeren",
- "Decrypt %(text)s": "%(text)s ontcijferen",
+ "Decrypt %(text)s": "%(text)s ontsleutelen",
"Decryption error": "Ontsleutelingsfout",
- "Device already verified!": "Apparaat reeds geverifieerd!",
"Device ID": "Apparaats-ID",
- "Device ID:": "Apparaats-ID:",
"device id: ": "apparaats-ID: ",
- "Device key:": "Apparaatssleutel:",
- "Devices": "Apparaten",
"Direct chats": "Tweegesprekken",
"Disable Notifications": "Meldingen uitschakelen",
"Disinvite": "Uitnodiging intrekken",
@@ -171,11 +162,10 @@
"Displays action": "Toont actie",
"Emoji": "Emoticons",
"Enable Notifications": "Meldingen inschakelen",
- "Encrypted by an unverified device": "Versleuteld door een ongeverifieerd apparaat",
"%(senderName)s ended the call.": "%(senderName)s heeft opgehangen.",
"End-to-end encryption information": "Info over eind-tot-eind-versleuteling",
"Enter passphrase": "Voer wachtwoord in",
- "Error decrypting attachment": "Fout bij het ontcijferen van de bijlage",
+ "Error decrypting attachment": "Fout bij het ontsleutelen van de bijlage",
"Error: Problem communicating with the given homeserver.": "Fout: probleem bij communicatie met de gegeven thuisserver.",
"Event information": "Gebeurtenisinformatie",
"Existing Call": "Bestaande oproep",
@@ -206,7 +196,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s van %(fromPowerLevel)s naar %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Gasten - zelfs speficiek uitgenodigde - kunnen niet aan dit gesprek deelnemen.",
"Hangup": "Ophangen",
- "Hide Text Formatting Toolbar": "Tekstopmaakwerkbalk verbergen",
"Historical": "Historisch",
"Home": "Thuis",
"Homeserver is": "Thuisserver is",
@@ -219,15 +208,12 @@
"Incoming voice call from %(name)s": "Inkomende spraakoproep van %(name)s",
"Incorrect username and/or password.": "Onjuiste gebruikersnaam en/of wachtwoord.",
"Incorrect verification code": "Onjuiste verificatiecode",
- "Invalid alias format": "Ongeldig bijnaamformaat",
"Invalid Email Address": "Ongeldig e-mailadres",
"Invalid file%(extra)s": "Ongeldig bestand %(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s heeft %(targetName)s uitgenodigd.",
- "Invite new room members": "Nieuwe gespreksleden uitnodigen",
"Invited": "Uitgenodigd",
"Invites": "Uitnodigingen",
"Invites user with given id to current room": "Nodigt de gebruiker met de gegeven ID uit in het huidige gesprek",
- "'%(alias)s' is not a valid format for an alias": "‘%(alias)s’ is geen geldig formaat voor een bijnaam",
"Sign in with": "Aanmelden met",
"Join as voice or video.": "Deelnemen met spraak of video.",
"Join Room": "Gesprek toetreden",
@@ -247,14 +233,8 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s heeft de toekomstige gespreksgeschiedenis zichtbaar gemaakt voor iedereen.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s heeft de toekomstige gespreksgeschiedenis zichtbaar gemaakt voor onbekend (%(visibility)s).",
"Manage Integrations": "Integraties beheren",
- "Markdown is disabled": "Markdown is uitgeschakeld",
- "Markdown is enabled": "Markdown is ingeschakeld",
- "matrix-react-sdk version:": "matrix-react-sdk-versie:",
- "Message not sent due to unknown devices being present": "Bericht niet verstuurd doordat er onbekende apparaten aanwezig zijn",
"Missing room_id in request": "room_id ontbreekt in verzoek",
"Missing user_id in request": "user_id ontbreekt in verzoek",
- "Never send encrypted messages to unverified devices from this device": "Versleutelde berichten vanaf dit apparaat nooit naar ongeverifieerde apparaten versturen",
- "Never send encrypted messages to unverified devices in this room from this device": "Nooit vanaf dit apparaat versleutelde berichten naar ongeverifieerde apparaten in dit gesprek versturen",
"New address (e.g. #foo:%(localDomain)s)": "Nieuw adres (bv. #foo:%(localDomain)s)",
"New passwords don't match": "Nieuwe wachtwoorden komen niet overeen",
"New passwords must match each other.": "Nieuwe wachtwoorden moeten overeenkomen.",
@@ -267,12 +247,11 @@
"%(senderName)s requested a VoIP conference.": "%(senderName)s heeft een VoIP-vergadering aangevraagd.",
"Results from DuckDuckGo": "Resultaten van DuckDuckGo",
"Return to login screen": "Terug naar het aanmeldscherm",
- "Riot does not have permission to send you notifications - please check your browser settings": "Riot heeft geen toestemming u meldingen te versturen - controleer uw browserinstellingen",
- "Riot was not given permission to send notifications - please try again": "Riot kreeg geen toestemming u meldingen te sturen - probeer het opnieuw",
+ "Riot does not have permission to send you notifications - please check your browser settings": "Riot heeft geen toestemming om u meldingen te versturen - controleer uw browserinstellingen",
+ "Riot was not given permission to send notifications - please try again": "Riot kreeg geen toestemming om u meldingen te sturen - probeer het opnieuw",
"riot-web version:": "riot-web-versie:",
"Room %(roomId)s not visible": "Gesprek %(roomId)s is niet zichtbaar",
"Room Colour": "Gesprekskleur",
- "Room contains unknown devices": "Aan het gesprek nemen onbekende apparaten deel",
"%(roomName)s does not exist.": "%(roomName)s bestaat niet.",
"%(roomName)s is not accessible at this time.": "%(roomName)s is op dit moment niet toegankelijk.",
"Rooms": "Gesprekken",
@@ -282,7 +261,6 @@
"Searches DuckDuckGo for results": "Zoekt op DuckDuckGo voor resultaten",
"Seen by %(userName)s at %(dateTime)s": "Gezien door %(userName)s om %(dateTime)s",
"Send anyway": "Alsnog versturen",
- "Sender device information": "Info over apparaat van afzender",
"Send Reset Email": "E-mail voor opnieuw instellen versturen",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s heeft een afbeelding gestuurd.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s heeft %(targetDisplayName)s in het gesprek uitgenodigd.",
@@ -296,7 +274,6 @@
"Kicks user with given id": "Stuurt de gebruiker met de gegeven ID uit het gesprek",
"%(senderName)s set a profile picture.": "%(senderName)s heeft een profielfoto ingesteld.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s heeft %(displayName)s als weergavenaam aangenomen.",
- "Show Text Formatting Toolbar": "Tekstopmaakwerkbalk weergeven",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Tijd in 12-uursformaat weergeven (bv. 2:30pm)",
"Signed Out": "Afgemeld",
"Sign in": "Aanmelden",
@@ -304,7 +281,6 @@
"%(count)s of your messages have not been sent.|other": "Enkele van uw berichten zijn niet verstuurd.",
"Someone": "Iemand",
"The phone number entered looks invalid": "Het ingevoerde telefoonnummer ziet er ongeldig uit",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "De versleutelingssleutel die u heeft verstrekt komt overeen met de versleutelingssleutel die u heeft ontvangen van het apparaat %(deviceId)s van %(userId)s. Het apparaat is gemarkeerd als geverifieerd.",
"This email address is already in use": "Dit e-mailadres is al in gebruik",
"This email address was not found": "Dit e-mailadres is niet gevonden",
"The email address linked to your account must be entered.": "Het e-mailadres dat met uw account verbonden is moet ingevoerd worden.",
@@ -318,7 +294,6 @@
"To use it, just wait for autocomplete results to load and tab through them.": "Om het te gebruiken, wacht u tot de automatisch aangevulde resultaten geladen zijn en tabt u erdoorheen.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "U heeft gepoogd een gegeven punt in de tijdslijn van dit gesprek te laden, maar u bent niet bevoegd het desbetreffende bericht te zien.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Geprobeerd een gegeven punt in de tijdslijn van dit gesprek te laden, maar kon dit niet vinden.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s heeft eind-tot-eind-versleuteling aangezet (%(algorithm)s-algoritme).",
"Unable to add email address": "Kan e-mailadres niet toevoegen",
"Unable to remove contact information": "Kan contactinformatie niet verwijderen",
"Unable to verify email address.": "Kan e-mailadres niet verifiëren.",
@@ -326,17 +301,12 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s heeft %(targetName)s ontbannen.",
"Unable to capture screen": "Kan geen schermafdruk maken",
"Unable to enable Notifications": "Kan meldingen niet inschakelen",
- "Unable to load device list": "Kan lijst van apparaten niet laden",
- "Undecryptable": "Onontsleutelbaar",
"unencrypted": "onversleuteld",
- "Unencrypted message": "Onversleuteld bericht",
"unknown caller": "onbekende beller",
"unknown device": "onbekend apparaat",
"Unknown room %(roomId)s": "Onbekend gesprek %(roomId)s",
- "Unknown (user, device) pair:": "Onbekend paar (gebruiker, apparaat):",
"Unmute": "Niet dempen",
"Unnamed Room": "Naamloos gesprek",
- "Unrecognised command:": "Onbekende opdracht:",
"Unrecognised room alias:": "Onbekende gespreksbijnaam:",
"Uploading %(filename)s and %(count)s others|zero": "%(filename)s wordt geüpload",
"Uploading %(filename)s and %(count)s others|one": "%(filename)s en %(count)s ander worden geüpload",
@@ -351,7 +321,7 @@
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (macht %(powerLevelNumber)s)",
"Username invalid: %(errMessage)s": "Ongeldige gebruikersnaam: %(errMessage)s",
"Users": "Gebruikers",
- "Verification Pending": "Contrôle in afwachting",
+ "Verification Pending": "Verificatie in afwachting",
"Verification": "Verificatie",
"verified": "geverifieerd",
"Verified key": "Geverifieerde sleutel",
@@ -364,11 +334,8 @@
"(no answer)": "(geen antwoord)",
"(unknown failure: %(reason)s)": "(onbekende fout: %(reason)s)",
"Warning!": "Let op!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "LET OP: apparaat reeds geverifieerd, maar de sleutels KOMEN NIET OVEREEN!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "LET OP: SLEUTELVERIFICATIE IS MISLUKT! De ondertekende sleutel voor %(userId)s en apparaat %(deviceId)s is ‘%(fprint)s’, wat niet overeenkomt met de verschafte sleutel ‘%(fingerprint)s’. Dit kan betekenen dat uw communicatie onderschept wordt!",
"Who can access this room?": "Wie mag er deelnemen aan dit gesprek?",
"Who can read history?": "Wie kan de geschiedenis lezen?",
- "Who would you like to communicate with?": "Met wie zou u willen communiceren?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s heeft de uitnodiging van %(targetName)s ingetrokken.",
"You are already in a call.": "U bent al in gesprek.",
"You cannot place a call with yourself.": "U kunt uzelf niet bellen.",
@@ -381,7 +348,6 @@
"You need to be able to invite users to do that.": "Dit vereist de bevoegdheid gebruikers uit te nodigen.",
"You need to be logged in.": "Hiervoor dient u aangemeld te zijn.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Zo te zien is uw e-mailadres op deze thuisserver niet aan een Matrix-ID gekoppeld.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Uw wachtwoord is gewijzigd. U zult op andere apparaten pas weer pushmeldingen ontvangen nadat u zich er opnieuw op aangemeld heeft",
"You seem to be in a call, are you sure you want to quit?": "Het ziet er naar uit dat u in gesprek bent, weet u zeker dat u wilt afsluiten?",
"You seem to be uploading files, are you sure you want to quit?": "Het ziet er naar uit dat u bestanden aan het uploaden bent, weet u zeker dat u wilt afsluiten?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "U kunt deze veranderingen niet ongedaan maken aangezien u de gebruiker tot hetzelfde niveau als uzelf promoveert.",
@@ -395,8 +361,6 @@
"(~%(count)s results)|one": "(~%(count)s resultaat)",
"(~%(count)s results)|other": "(~%(count)s resultaten)",
"Active call": "Actieve oproep",
- "bold": "vetgedrukt",
- "italic": "schuingedrukt",
"Please select the destination room for this message": "Selecteer het bestemmingsgesprek voor dit bericht",
"New Password": "Nieuw wachtwoord",
"Start automatically after system login": "Automatisch starten na systeemaanmelding",
@@ -410,10 +374,10 @@
"Import room keys": "Gesprekssleutels inlezen",
"File to import": "In te lezen bestand",
"This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "Hiermee kunt u de sleutels van uw ontvangen berichten in versleutelde gesprekken naar een lokaal bestand wegschrijven. Als u dat bestand dan in een andere Matrix-cliënt inleest kan die ook die berichten ontcijferen.",
- "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "Wie het weggeschreven bestand kan lezen, kan daarmee ook alle versleutelde berichten die u kunt zien ontcijferen - ga er dus zorgvuldig mee om! Daartoe kunt u hieronder een wachtwoord invoeren, dat dan gebruikt zal worden om het bestand te versleutelen. Het is dan enkel mogelijk de gegevens in te lezen met hetzelfde wachtwoord.",
- "This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Hiermee kunt u vanuit een andere Matrix-cliënt weggeschreven ontcijferingssleutels inlezen, zodat u alle berichten die de andere cliënt kon ontcijferen ook hier kunt lezen.",
- "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Het weggeschreven bestand is beveiligd met een wachtwoord. Voer dat wachtwoord hier in om het bestand te ontcijferen.",
- "You must join the room to see its files": "Slechts na toetreding tot het gesprek toetreden zult u de bestanden kunnen zien",
+ "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "Wie het weggeschreven bestand kan lezen, kan daarmee ook alle versleutelde berichten die u kunt zien ontcijferen - ga er dus zorgvuldig mee om! Daartoe kunt u hieronder een wachtwoord invoeren, dat dan gebruikt zal worden om het bestand te versleutelen. Het is dan enkel mogelijk de gegevens in te lezen met hetzelfde wachtwoord.",
+ "This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Hiermee kunt u vanuit een andere Matrix-cliënt weggeschreven versleutelingssleutels inlezen, zodat u alle berichten die de andere cliënt kon ontcijferen ook hier kunt lezen.",
+ "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Het weggeschreven bestand is beveiligd met een wachtwoord. Voer dat wachtwoord hier in om het bestand te ontsleutelen.",
+ "You must join the room to see its files": "Slechts na toetreding tot het gesprek zult u de bestanden kunnen zien",
"Reject all %(invitedRooms)s invites": "Alle %(invitedRooms)s-uitnodigingen weigeren",
"Failed to invite": "Uitnodigen is mislukt",
"Failed to invite the following users to the %(roomName)s room:": "Kon de volgende gebruikers niet uitnodigen voor gesprek %(roomName)s:",
@@ -422,20 +386,11 @@
"Unknown error": "Onbekende fout",
"Incorrect password": "Onjuist wachtwoord",
"To continue, please enter your password.": "Voer uw wachtwoord in om verder te gaan.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Neem op een andere manier (bv. persoonlijk of telefonisch) contact op met de eigenaar om te controleren of dit apparaat vertrouwd kan worden, en vraag of de sleutel voor dit apparaat in hun Gebruikersinstellingen gelijk is aan onderstaande sleutel:",
- "Device name": "Apparaatnaam",
- "Device key": "Apparaatssleutel",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Klik hieronder op de knop ‘Verifiëren’ als de sleutels overeenkomen. Zo niet drukt u op de knop ‘Blokkeren’, want dan onderschept iemand berichten naar dit apparaat.",
"Blacklist": "Blokkeren",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Momenteel sluit u ongeverifieerde apparaten uit; om daar berichten aan te sturen dient u ze te verifiëren.",
"Unblacklist": "Deblokkeren",
- "Verify device": "Apparaat verifiëren",
- "I verify that the keys match": "Ik verifieer dat de sleutels overeenkomen",
+ "I verify that the keys match": "Ik verklaar dat de sleutels overeenkomen",
"Unable to restore session": "Sessieherstel lukt niet",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Als u reeds een recentere versie van Riot heeft gebruikt is uw sessie mogelijk onverenigbaar met deze versie. Sluit dit venster en ga terug naar die recentere versie.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We raden u aan ieder apparaat te verifiëren om zo vast te stellen of ze tot de rechtmatige eigenaar behoren, maar u kunt het bericht desgewenst ook zonder verificatie versturen.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "Aan ‘%(RoomName)s’ nemen apparaten deel die u nog niet eerder heeft gezien.",
- "Unknown devices": "Onbekende apparaten",
"Unknown Address": "Onbekend adres",
"Unverify": "Ontverifiëren",
"Verify...": "Verifiëren…",
@@ -445,9 +400,9 @@
"Token incorrect": "Bewijs onjuist",
"Please enter the code it contains:": "Voer de code in die het bevat:",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Als u geen e-mailadres opgeeft, zult u uw wachtwoord niet opnieuw kunnen instellen. Weet u het zeker?",
- "Error decrypting audio": "Fout bij het ontcijferen van de audio",
- "Error decrypting image": "Fout bij het ontcijferen van de afbeelding",
- "Error decrypting video": "Fout bij het ontcijferen van de video",
+ "Error decrypting audio": "Fout bij het ontsleutelen van de audio",
+ "Error decrypting image": "Fout bij het ontsleutelen van de afbeelding",
+ "Error decrypting video": "Fout bij het ontsleutelen van de video",
"Add an Integration": "Voeg een integratie toe",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "U wordt zo dadelijk naar een derdepartijwebsite gebracht zodat u de account kunt legitimeren voor gebruik met %(integrationsUrl)s. Wilt u doorgaan?",
"Removed or unknown message type": "Verwijderd of onbekend berichttype",
@@ -476,8 +431,6 @@
"Start verification": "Verificatie starten",
"Share without verifying": "Delen zonder verificatie",
"Ignore request": "Verzoek negeren",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "U heeft een nieuw apparaat ‘%(displayName)s’ toegevoegd, dat om versleutelingssleutels vraagt.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Uw ongeverifieerde apparaat ‘%(displayName)s’ vraagt naar versleutelingssleutels.",
"Encryption key request": "Verzoek voor versleutelingssleutel",
"Define the power level of a user": "Bepaal het machtsniveau van een gebruiker",
"Add a widget": "Widget toevoegen",
@@ -494,8 +447,6 @@
"Unable to create widget.": "Kan widget niet aanmaken.",
"You are not in this room.": "U maakt geen deel uit van dit gesprek.",
"You do not have permission to do that in this room.": "U bent niet bevoegd dat in dit gesprek te doen.",
- "Verifies a user, device, and pubkey tuple": "Verifieert een combinatie van gebruiker, apparaat en publieke sleutel",
- "Loading device info...": "Apparaatinformatie wordt geladen…",
"Example": "Voorbeeld",
"Create": "Aanmaken",
"Featured Rooms:": "Prominente gesprekken:",
@@ -517,7 +468,6 @@
"Which rooms would you like to add to this community?": "Welke gesprekken wilt u toevoegen aan deze gemeenschap?",
"Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Widgets verwijderen geldt voor alle deelnemers aan dit gesprek. Weet u zeker dat u deze widget wilt verwijderen?",
"Delete Widget": "Widget verwijderen",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Dit gesprek bevat onbekende apparaten: tenzij u die verifieert zou iemand uw oproep kunnen afluisteren.",
"Review Devices": "Apparaten nakijken",
"Call Anyway": "Toch bellen",
"Answer Anyway": "Toch beantwoorden",
@@ -543,8 +493,6 @@
"Enable inline URL previews by default": "Inline URL-voorvertoning standaard inschakelen",
"Enable URL previews for this room (only affects you)": "URL-voorvertoning in dit gesprek inschakelen (geldt alleen voor u)",
"Enable URL previews by default for participants in this room": "URL-voorvertoning standaard voor alle deelnemers aan dit gesprek inschakelen",
- "Delete %(count)s devices|other": "%(count)s apparaten verwijderen",
- "Delete %(count)s devices|one": "Apparaat verwijderen",
"%(senderName)s sent an image": "%(senderName)s heeft een afbeelding gestuurd",
"%(senderName)s sent a video": "%(senderName)s heeft een video gestuurd",
"%(senderName)s uploaded a file": "%(senderName)s heeft een bestand geüpload",
@@ -625,7 +573,7 @@
"%(oneUser)sjoined %(count)s times|other": "%(oneUser)s is %(count)s keer toegetreden",
"%(oneUser)sjoined %(count)s times|one": "%(oneUser)s is toegetreden",
"%(severalUsers)sleft %(count)s times|other": "%(severalUsers)s is %(count)s keer weggegaan",
- "%(severalUsers)sleft %(count)s times|one": "%(severalUsers)s is weggegaan",
+ "%(severalUsers)sleft %(count)s times|one": "%(severalUsers)s zijn weggegaan",
"%(oneUser)sleft %(count)s times|other": "%(oneUser)s is %(count)s keer weggegaan",
"%(oneUser)sleft %(count)s times|one": "%(oneUser)s is weggegaan",
"%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)s zijn %(count)s keer toegetreden en weggegaan",
@@ -638,8 +586,8 @@
"%(oneUser)sleft and rejoined %(count)s times|one": "%(oneUser)s is weggegaan en weer toegetreden",
"%(severalUsers)srejected their invitations %(count)s times|other": "%(severalUsers)s hebben hun uitnodigingen %(count)s keer afgewezen",
"%(severalUsers)srejected their invitations %(count)s times|one": "%(severalUsers)s hebben hun uitnodigingen afgewezen",
- "%(oneUser)srejected their invitation %(count)s times|other": "%(oneUser)s heeft de uitnodiging %(count)smaal afgewezen",
- "%(oneUser)srejected their invitation %(count)s times|one": "%(oneUser)s heeft de uitnodiging afgeslagen",
+ "%(oneUser)srejected their invitation %(count)s times|other": "%(oneUser)s heeft de uitnodiging %(count)s maal geweigerd",
+ "%(oneUser)srejected their invitation %(count)s times|one": "%(oneUser)s heeft de uitnodiging geweigerd",
"%(severalUsers)shad their invitations withdrawn %(count)s times|other": "De uitnodigingen van %(severalUsers)s zijn %(count)s keer ingetrokken",
"%(severalUsers)shad their invitations withdrawn %(count)s times|one": "De uitnodigingen van %(severalUsers)s zijn ingetrokken",
"%(oneUser)shad their invitation withdrawn %(count)s times|other": "De uitnodiging van %(oneUser)s is %(count)s keer ingetrokken",
@@ -661,11 +609,11 @@
"was kicked %(count)s times|one": "is uit het gesprek gezet",
"%(severalUsers)schanged their name %(count)s times|other": "%(severalUsers)s hebben hun naam %(count)s keer gewijzigd",
"%(severalUsers)schanged their name %(count)s times|one": "%(severalUsers)s hebben hun naam gewijzigd",
- "%(oneUser)schanged their name %(count)s times|other": "%(oneUser)s is %(count)smaal van naam veranderd",
+ "%(oneUser)schanged their name %(count)s times|other": "%(oneUser)s is %(count)s maal van naam veranderd",
"%(oneUser)schanged their name %(count)s times|one": "%(oneUser)s is van naam veranderd",
"%(severalUsers)schanged their avatar %(count)s times|other": "%(severalUsers)s hebben hun avatar %(count)s keer gewijzigd",
"%(severalUsers)schanged their avatar %(count)s times|one": "%(severalUsers)s hebben hun avatar gewijzigd",
- "%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)s is %(count)smaal van profielfoto veranderd",
+ "%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)s is %(count)s maal van profielfoto veranderd",
"%(oneUser)schanged their avatar %(count)s times|one": "%(oneUser)s is van profielfoto veranderd",
"%(items)s and %(count)s others|other": "%(items)s en %(count)s andere",
"%(items)s and %(count)s others|one": "%(items)s en één ander",
@@ -716,12 +664,11 @@
"Community %(groupId)s not found": "Gemeenschap %(groupId)s is niet gevonden",
"Failed to load %(groupId)s": "Laden van %(groupId)s is mislukt",
"Old cryptography data detected": "Oude cryptografiegegevens gedetecteerd",
- "Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Er zijn gegevens van een oudere versie van Riot gevonden, die problemen veroorzaakt hebben met de eind-tot-eind-versleuteling in de oude versie. Onlangs vanuit de oude versie verzonden eind-tot-eind-versleutelde berichten zijn mogelijk onontcijferbaar in deze versie. Ook kunnen berichten die met deze versie gewisseld zijn falen. Mocht u problemen ervaren, meld u dan opnieuw aan. Schrijf uw de sleutels weg en lees ze weer in om uw berichtgeschiedenis te behouden.",
+ "Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Er zijn gegevens van een oudere versie van Riot gevonden, die problemen veroorzaakt hebben met de eind-tot-eind-versleuteling in de oude versie. Onlangs vanuit de oude versie verzonden eind-tot-eind-versleutelde berichten zijn mogelijk onontsleutelbaar in deze versie. Ook kunnen berichten die met deze versie uitgewisseld zijn falen. Mocht u problemen ervaren, meld u dan opnieuw aan. Schrijf uw sleutels weg en lees ze weer in om uw berichtgeschiedenis te behouden.",
"Your Communities": "Uw gemeenschappen",
"Error whilst fetching joined communities": "Er is een fout opgetreden bij het ophalen van de gemeenschappen waarvan u lid bent",
"Create a new community": "Maak een nieuwe gemeenschap aan",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Maak een gemeenschap aan om gebruikers en gesprekken bijeen te brengen! Schep met een startpagina op maat uw eigen plaats in het Matrix-universum.",
- "Show devices, send anyway or cancel.": "Apparaten weergeven, toch versturen of annuleren.",
"%(count)s of your messages have not been sent.|one": "Uw bericht is niet verstuurd.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Alles nu opnieuw versturen of annuleren. U kunt ook individuele berichten selecteren om opnieuw te versturen of te annuleren.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Bericht opnieuw versturen of bericht annuleren.",
@@ -738,7 +685,7 @@
"Stops ignoring a user, showing their messages going forward": "Stopt het negeren van een gebruiker, hierdoor worden de berichten van de gebruiker weer zichtbaar",
"Notify the whole room": "Laat dit aan het hele groepsgesprek weten",
"Room Notification": "Groepsgespreksmelding",
- "The information being sent to us to help make Riot.im better includes:": "De informatie die naar ons wordt verstuurd om Riot.im te verbeteren betreft:",
+ "The information being sent to us to help make Riot.im better includes:": "De naar ons verstuurde informatie om Riot.im te verbeteren behelst:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Waar deze pagina identificeerbare informatie bevat, zoals een gespreks-, gebruikers- of groeps-ID, zullen deze gegevens verwijderd worden voordat ze naar de server gestuurd worden.",
"The platform you're on": "Het platform dat u gebruikt",
"The version of Riot.im": "De versie van Riot.im",
@@ -751,11 +698,7 @@
"This room is not public. You will not be able to rejoin without an invite.": "Dit is geen openbaar gesprek. Slechts op uitnodiging zult u opnieuw kunnen toetreden.",
"were unbanned %(count)s times|one": "zijn ontbannen",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s heeft %(displayName)s als weergavenaam aangenomen.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Uw sleuteldeelverzoek is verstuurd - controleer uw andere apparaten voor sleuteldeelverzoeken.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Sleuteldeelverzoeken worden automatisch naar andere apparaten verstuurd. Als u het verzoek heeft afgewezen of gesloten, klik dan hier om de sleutels van deze sessie opnieuw aan te vragen.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "U zult dit bericht niet kunnen ontcijferen als geen van uw andere apparaten er de sleutel voor heeft.",
"Key request sent.": "Sleutelverzoek verstuurd.",
- "Re-request encryption keys from your other devices.": "Versleutelingssleutels opnieuw aanvragen van uw andere apparaten.",
"Did you know: you can use communities to filter your Riot.im experience!": "Wist u dat: u gemeenschappen kunt gebruiken om uw Riot.im-beleving te filteren!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Versleep een gemeenschapsavatar naar het filterpaneel helemaal links op het scherm om een filter in te stellen. Daarna kunt u op de avatar in het filterpaneel klikken wanneer u zich wilt beperken tot de gesprekken en mensen uit die gemeenschap.",
"Clear filter": "Filter wissen",
@@ -775,14 +718,14 @@
"Who can join this community?": "Wie kan er tot deze gemeenschap toetreden?",
"Everyone": "Iedereen",
"Leave this community": "Deze gemeenschap verlaten",
- "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Bij het oplossen van in GitHub gemelde problemen helpen foutopsporingslogboeken ons enorm. Deze bevatten wel gebruiksgegevens (waaronder uw gebruikersnaam, de ID’s of bijnamen van de gesprekken en groepen die u heeft bezocht, en de namen van andere gebruikers), maar geen berichten.",
+ "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Voor het oplossen van in GitHub gemelde problemen helpen foutopsporingslogboeken ons enorm. Deze bevatten wel gebruiksgegevens (waaronder uw gebruikersnaam, de ID’s of bijnamen van de gesprekken en groepen die u heeft bezocht, en de namen van andere gebruikers), maar geen berichten.",
"Submit debug logs": "Foutopsporingslogboeken indienen",
"Opens the Developer Tools dialog": "Opent het dialoogvenster met ontwikkelaarsgereedschap",
"Fetching third party location failed": "Het ophalen van de locatie van de derde partij is mislukt",
"A new version of Riot is available.": "Er is een nieuwe versie van Riot beschikbaar.",
"I understand the risks and wish to continue": "Ik begrijp de risico’s en wil graag verdergaan",
"Send Account Data": "Accountgegevens versturen",
- "All notifications are currently disabled for all targets.": "Alle meldingen voor alle bestemmingen staan momenteel uit.",
+ "All notifications are currently disabled for all targets.": "Alle meldingen voor alle bestemmingen zijn momenteel uitgeschakeld.",
"Uploading report": "Rapport wordt geüpload",
"Sunday": "Zondag",
"Notification targets": "Meldingsbestemmingen",
@@ -824,7 +767,6 @@
"Noisy": "Lawaaierig",
"Collecting app version information": "App-versieinformatie wordt verzameld",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "De bijnaam %(alias)s verwijderen en %(name)s uit de catalogus verwijderen?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Hiermee kunt u naar uw account terugkeren nadat u zich heeft afgemeld, en u aanmelden op andere apparaten.",
"Keywords": "Trefwoorden",
"Enable notifications for this account": "Meldingen inschakelen voor deze account",
"Invite to this community": "Uitnodigen in deze gemeenschap",
@@ -915,8 +857,6 @@
"Always show encryption icons": "Versleutelingspictogrammen altijd tonen",
"Send analytics data": "Statistische gegevens (analytics) versturen",
"Enable widget screenshots on supported widgets": "Widget-schermafbeeldingen inschakelen op ondersteunde widgets",
- "Unable to reply": "Kan niet reageren",
- "At this time it is not possible to reply with an emote.": "Het is nog niet mogelijk met een emoticon te reageren.",
"Muted Users": "Gedempte gebruikers",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Help Riot.im te verbeteren door anonieme gebruiksgegevens te versturen. Dit zal een cookie gebruiken (bekijk hiervoor ons cookiebeleid).",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie.": "Help Riot.im te verbeteren door anonieme gebruiksgegevens te versturen. Dit zal een cookie gebruiken.",
@@ -948,12 +888,6 @@
"Demote yourself?": "Uzelf degraderen?",
"Demote": "Degraderen",
"Share Link to User": "Koppeling naar gebruiker delen",
- "deleted": "verwijderd",
- "underlined": "onderstreept",
- "inline-code": "code",
- "block-quote": "citaat",
- "bulleted-list": "opsomming",
- "numbered-list": "genummerde lijst",
"Share room": "Gesprek delen",
"System Alerts": "Systeemmeldingen",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "In versleutelde gesprekken zoals deze zijn URL-voorvertoningen standaard uitgeschakeld, om te voorkomen dat uw thuisserver (waar de voorvertoningen worden gemaakt) informatie kan verzamelen over de koppelingen die u hier ziet.",
@@ -980,7 +914,7 @@
"You need to register to do this. Would you like to register now?": "Hiervoor dient u zich te registreren. Wilt u dat nu doen?",
"This homeserver has hit its Monthly Active User limit.": "Deze thuisserver heeft zijn limiet voor maandelijks actieve gebruikers bereikt.",
"This homeserver has exceeded one of its resource limits.": "Deze thuisserver heeft één van zijn systeembronlimieten overschreden.",
- "Whether or not you're logged in (we don't record your username)": "Of u al dan niet ingelogd bent (we slaan uw gebruiksnaam niet op)",
+ "Whether or not you're logged in (we don't record your username)": "Of u al dan niet aangemeld bent (we slaan uw gebruikersnaam niet op)",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Het bestand ‘%(fileName)s’ is groter dan de uploadlimiet van de thuisserver",
"Unable to load! Check your network connectivity and try again.": "Laden mislukt! Controleer uw netwerktoegang en probeer het nogmaals.",
"Failed to invite users to the room:": "Kon de volgende gebruikers hier niet uitnodigen:",
@@ -1028,8 +962,8 @@
"Avoid recent years": "Vermijd recente jaren",
"Avoid years that are associated with you": "Vermijd jaren die op uzelf betrekking hebben",
"Avoid dates and years that are associated with you": "Vermijd data en jaren die op uzelf betrekking hebben",
- "Capitalization doesn't help very much": "Schrijven in hoofdletters maakt niet veel uit",
- "All-uppercase is almost as easy to guess as all-lowercase": "Enkel hoofdletters is nauwelijks moeilijker te raden als enkel kleine letters",
+ "Capitalization doesn't help very much": "Hoofdlettergebruik helpt niet echt",
+ "All-uppercase is almost as easy to guess as all-lowercase": "Enkel hoofdletters is nauwelijks moeilijker te raden dan enkel kleine letters",
"Reversed words aren't much harder to guess": "Omgedraaide woorden zijn bijna even gemakkelijk te raden",
"Predictable substitutions like '@' instead of 'a' don't help very much": "Voorspelbare vervangingen (zoals '@' i.p.v. 'a') zijn niet erg zinvol",
"Add another word or two. Uncommon words are better.": "Voeg nog een paar (liefst weinig gebruikte) woorden toe.",
@@ -1080,7 +1014,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "Verifieer deze gebruiker door te bevestigen dat hun scherm de volgende emoji toont.",
"Verify this user by confirming the following number appears on their screen.": "Verifieer deze gebruiker door te bevestigen dat hun scherm het volgende getal toont.",
"Unable to find a supported verification method.": "Kan geen ondersteunde verificatiemethode vinden.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Voor maximale veiligheid kunt u dit het beste persoonlijk, of via een ander vertrouwd communicatiemedium, doen.",
"Dog": "Hond",
"Cat": "Kat",
"Lion": "Leeuw",
@@ -1127,7 +1060,6 @@
"Pencil": "Potlood",
"Paperclip": "Paperclip",
"Scissors": "Schaar",
- "Padlock": "Hangslot",
"Key": "Sleutel",
"Hammer": "Hamer",
"Telephone": "Telefoon",
@@ -1145,7 +1077,6 @@
"Headphones": "Koptelefoon",
"Folder": "Map",
"Pin": "Speld",
- "Your homeserver does not support device management.": "Uw thuisserver ondersteunt geen apparaatbeheer.",
"Yes": "Ja",
"No": "Nee",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "We hebben u een e-mail gestuurd om uw adres te verifiëren. Gelieve de daarin gegeven aanwijzingen op te volgen en dan op de knop hieronder te klikken.",
@@ -1155,30 +1086,19 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Versleutelde berichten zijn beveiligd met eind-tot-eind-versleuteling. Enkel de ontvanger(s) en u hebben de sleutels om deze berichten te lezen.",
"Unable to load key backup status": "Kan sleutelback-upstatus niet laden",
"Restore from Backup": "Herstellen uit back-up",
- "This device is backing up your keys. ": "Dit apparaat maakt een back-up van uw sleutels. ",
"Back up your keys before signing out to avoid losing them.": "Maak een back-up van uw sleutels vooraleer u zich afmeldt om ze niet te verliezen.",
"Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s sleutels worden geback-upt…",
"All keys backed up": "Alle sleutels zijn geback-upt",
- "Backup has a valid signature from this device": "De back-up heeft een geldige ondertekening van dit apparaat",
- "Backup is not signed by any of your devices": "De back-up is door geen van uw apparaten ondertekend",
- "This backup is trusted because it has been restored on this device": "Deze back-up wordt vertrouwd, omdat hij op dit apparaat hersteld is",
"Backup version: ": "Back-upversie: ",
"Algorithm: ": "Algoritme: ",
"Chat with Riot Bot": "Met Riot-robot chatten",
"Forces the current outbound group session in an encrypted room to be discarded": "Dwingt tot verwerping van de huidige uitwaartse groepssessie in een versleuteld gesprek",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "De back-up heeft een ondertekening van een onbekend apparaat met ID %(deviceId)s.",
- "Backup has a valid signature from verified device ": "De back-up heeft een geldige ondertekening van een geverifieerd apparaat ",
- "Backup has a valid signature from unverified device ": "De back-up heeft een geldige ondertekening van een ongeverifieerd apparaat ",
- "Backup has an invalid signature from verified device ": "De back-up heeft een ongeldige ondertekening van een geverifieerd apparaat ",
- "Backup has an invalid signature from unverified device ": "De back-up heeft een ongeldige ondertekening van een ongeverifieerd apparaat ",
- "Your keys are not being backed up from this device.": "Uw sleutels worden niet geback-upt van dit apparaat.",
"Start using Key Backup": "Begin sleutelback-up te gebruiken",
"Add an email address to configure email notifications": "Voeg een e-mailadres toe om e-mailmeldingen in te stellen",
"Unable to verify phone number.": "Kan telefoonnummer niet verifiëren.",
"Verification code": "Verificatiecode",
"Phone Number": "Telefoonnummer",
"Profile picture": "Profielfoto",
- "Upload profile picture": "Profielfoto uploaden",
"Upgrade to your own domain": "Waardeer op naar uw eigen domein",
"Display Name": "Weergavenaam",
"Set a new account password...": "Stel een nieuw accountwachtwoord in…",
@@ -1234,16 +1154,12 @@
"Roles & Permissions": "Rollen & toestemmingen",
"Select the roles required to change various parts of the room": "Selecteer de rollen vereist om verschillende delen van het gesprek te wijzigen",
"Enable encryption?": "Versleuteling inschakelen?",
- "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Gespreksversleuteling is onomkeerbaar. Berichten in versleutelde gesprekken zijn niet leesbaar voor de server; enkel voor de gespreksdeelnemers. Veel robots en overbruggingen werken niet correct in versleutelde gesprekken. Lees meer over versleuteling.",
+ "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Gespreksversleuteling is onomkeerbaar. Berichten in versleutelde gesprekken zijn niet leesbaar voor de server; enkel voor de gespreksdeelnemers. Veel robots en overbruggingen werken niet correct in versleutelde gesprekken. Lees meer over versleuteling.",
"To link to this room, please add an alias.": "Voeg een bijnaam toe om naar dit gesprek te verwijzen.",
"Changes to who can read history will only apply to future messages in this room. The visibility of existing history will be unchanged.": "Wijzigingen aan wie de geschiedenis kan lezen gelden enkel voor toekomstige berichten in dit gesprek. De zichtbaarheid van de bestaande geschiedenis blijft ongewijzigd.",
"Encryption": "Versleuteling",
"Once enabled, encryption cannot be disabled.": "Eenmaal ingeschakeld kan versleuteling niet meer worden uitgeschakeld.",
"Encrypted": "Versleuteld",
- "Some devices for this user are not trusted": "Er worden enkele apparaten van deze gebruiker niet vertrouwd",
- "Some devices in this encrypted room are not trusted": "Er worden enkele apparaten in dit versleutelde gesprek niet vertrouwd",
- "All devices for this user are trusted": "Alle apparaten van deze gebruiker worden vertrouwd",
- "All devices in this encrypted room are trusted": "Alle apparaten in dit versleutelde gesprek worden vertrouwd",
"This room has been replaced and is no longer active.": "Dit gesprek is vervangen en niet langer actief.",
"The conversation continues here.": "Het gesprek gaat hier verder.",
"Never lose encrypted messages": "Verlies nooit uw versleutelde berichten",
@@ -1263,8 +1179,6 @@
"Error updating flair": "Fout bij bijwerken van badge",
"There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Er is een fout opgetreden bij het bijwerken van de badge voor dit gesprek. Wellicht ondersteunt de server dit niet, of er is een tijdelijke fout opgetreden.",
"Room avatar": "Gespreksavatar",
- "Upload room avatar": "Gespreksavatar uploaden",
- "No room avatar": "Geen gespreksavatar",
"Room Name": "Gespreksnaam",
"Room Topic": "Gespreksonderwerp",
"This room is a continuation of another conversation.": "Dit gesprek is een voortzetting van een ander gesprek.",
@@ -1282,7 +1196,7 @@
"Invite anyway": "Alsnog uitnodigen",
"Before submitting logs, you must create a GitHub issue to describe your problem.": "Vooraleer u logboeken indient, dient u uw probleem te melden op GitHub.",
"Unable to load commit detail: %(msg)s": "Kan commitdetail niet laden: %(msg)s",
- "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Om uw gespreksgeschiedenis niet te verliezen, moet u vóór het afmelden uw gesprekssleutels wegschrijven. Dat moet vanuit de nieuwere versie van Riot",
+ "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Schrijf om uw gespreksgeschiedenis niet te verliezen vóór het afmelden uw gesprekssleutels weg. Dat moet vanuit de nieuwere versie van Riot",
"You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "U heeft eerder een nieuwere versie van Riot op %(host)s gebruikt. Om deze versie opnieuw met eind-tot-eind-versleuteling te gebruiken, zult u zich moeten afmelden en opnieuw aanmelden. ",
"Incompatible Database": "Incompatibele database",
"Continue With Encryption Disabled": "Verdergaan met versleuteling uitgeschakeld",
@@ -1294,7 +1208,6 @@
"Waiting for %(userId)s to confirm...": "Wachten op bevestiging van %(userId)s…",
"Use two-way text verification": "Tweerichtingstekstverificatie gebruiken",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifieer deze gebruiker om hem/haar als vertrouwd te markeren. Gebruikers vertrouwen geeft u extra gemoedsrust bij het gebruik van eind-tot-eind-versleutelde berichten.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Deze gebruiker verifiëren zal hun apparaat als vertrouwd markeren, en ook uw apparaat voor hen als vertrouwd markeren.",
"Waiting for partner to confirm...": "Wachten op bevestiging van partner…",
"Incoming Verification Request": "Inkomend verificatieverzoek",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "U heeft voorheen Riot op %(host)s gebruikt met lui laden van leden ingeschakeld. In deze versie is lui laden uitgeschakeld. Omdat de lokale cache niet compatibel is tussen deze twee instellingen, moet Riot uw account opnieuw synchroniseren.",
@@ -1308,7 +1221,7 @@
"You'll lose access to your encrypted messages": "U zult de toegang tot uw versleutelde berichten verliezen",
"Are you sure you want to sign out?": "Weet u zeker dat u zich wilt afmelden?",
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Als u fouten zou tegenkomen of voorstellen zou hebben, laat het ons dan weten op GitHub.",
- "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Voorkom dubbele meldingen: doorzoek eerst de bestaande meldingen (en voeg desgewenst een +1 toe). Maak enkel een nieuwe melding aan indien u niets kunt vinden.",
+ "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Voorkom dubbele meldingen: doorzoek eerst de bestaande meldingen (en voeg desgewenst een +1 toe). Maak enkel een nieuwe melding aan indien u niets kunt vinden.",
"Report bugs & give feedback": "Fouten melden & feedback geven",
"Go back": "Terug",
"Room Settings - %(roomName)s": "Gespreksinstellingen - %(roomName)s",
@@ -1319,18 +1232,18 @@
"Create a new room with the same name, description and avatar": "Een nieuw gesprek aanmaken met dezelfde naam, beschrijving en avatar",
"Update any local room aliases to point to the new room": "Alle lokale gespreksbijnamen naar het nieuwe gesprek laten verwijzen",
"Stop users from speaking in the old version of the room, and post a message advising users to move to the new room": "Gebruikers verhinderen aan de oude versie van het gesprek bij te dragen, en daar een bericht plaatsen dat de gebruikers verwijst naar het nieuwe gesprek",
- "Put a link back to the old room at the start of the new room so people can see old messages": "Bovenaan het nieuwe gesprek naar het oude te verwijzen, om oude berichten te lezen",
+ "Put a link back to the old room at the start of the new room so people can see old messages": "Bovenaan het nieuwe gesprek naar het oude verwijzen, om oude berichten te lezen",
"A username can only contain lower case letters, numbers and '=_-./'": "Een gebruikersnaam mag enkel kleine letters, cijfers en ‘=_-./’ bevatten",
"Checking...": "Bezig met controleren…",
"Unable to load backup status": "Kan back-upstatus niet laden",
"Recovery Key Mismatch": "Herstelsleutel komt niet overeen",
- "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "De back-up kon met deze sleutel niet ontcijferd worden: controleer of u de juiste herstelsleutel heeft ingevoerd.",
+ "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "De back-up kon met deze sleutel niet ontsleuteld worden: controleer of u de juiste herstelsleutel heeft ingevoerd.",
"Incorrect Recovery Passphrase": "Onjuist herstelwachtwoord",
- "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "De back-up kon met dit wachtwoord niet ontcijferd worden: controleer of u het juiste herstelwachtwoord heeft ingevoerd.",
+ "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "De back-up kon met dit wachtwoord niet ontsleuteld worden: controleer of u het juiste herstelwachtwoord heeft ingevoerd.",
"Unable to restore backup": "Kan back-up niet terugzetten",
"No backup found!": "Geen back-up gevonden!",
"Backup Restored": "Back-up hersteld",
- "Failed to decrypt %(failedCount)s sessions!": "Ontcijferen van %(failedCount)s sessies is mislukt!",
+ "Failed to decrypt %(failedCount)s sessions!": "Ontsleutelen van %(failedCount)s sessies is mislukt!",
"Restored %(sessionCount)s session keys": "%(sessionCount)s sessiesleutels hersteld",
"Enter Recovery Passphrase": "Voer het herstelwachtwoord in",
"Warning: you should only set up key backup from a trusted computer.": "Let op: stel sleutelback-up enkel in op een vertrouwde computer.",
@@ -1341,7 +1254,6 @@
"This looks like a valid recovery key!": "Dit is een geldige herstelsleutel!",
"Not a valid recovery key": "Geen geldige herstelsleutel",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Verkrijg toegang tot uw beveiligde berichtgeschiedenis en stel beveiligd chatten in door uw herstelsleutel in te voeren.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Als u uw herstelwachtwoord vergeten bent, kunt u nieuwe herstelopties instellen",
"Share Permalink": "Permalink delen",
"Clear status": "Status wissen",
"Update status": "Status bijwerken",
@@ -1382,12 +1294,10 @@
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Uw bericht is niet verstuurd omdat deze thuisserver een systeembronlimiet heeft overschreden. Gelieve contact op te nemen met uw dienstbeheerder om de dienst te blijven gebruiken.",
"Guest": "Gast",
"Could not load user profile": "Kon gebruikersprofiel niet laden",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Uw wachtwoord opnieuw instellen zal alle sleutels voor eind-tot-eind-versleuteling op al uw apparaten opnieuw instellen, waardoor uw versleutelde gesprekgeschiedenis onleesbaar wordt. Stel sleutelback-up in of exporteer uw gesprekssleutels vanaf een ander apparaat vooraleer u uw wachtwoord opnieuw instelt.",
"Your Matrix account on %(serverName)s": "Uw Matrix-account op %(serverName)s",
"A verification email will be sent to your inbox to confirm setting your new password.": "Er is een verificatie-e-mail naar u gestuurd om het instellen van uw nieuwe wachtwoord te bevestigen.",
"Sign in instead": "Aanmelden",
"Your password has been reset.": "Uw wachtwoord is opnieuw ingesteld.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "U bent afgemeld op al uw apparaten en zult geen pushmeldingen meer ontvangen. Meld u op elk apparaat opnieuw aan om weer meldingen te ontvangen.",
"Set a new password": "Stel een nieuw wachtwoord in",
"Invalid homeserver discovery response": "Ongeldig thuisserverontdekkingsantwoord",
"Invalid identity server discovery response": "Ongeldig identiteitsserverontdekkingsantwoord",
@@ -1414,17 +1324,13 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Als veiligheidsnet kunt u dit gebruiken om uw versleutelde berichtgeschiedenis te herstellen indien u uw herstelwachtwoord zou vergeten.",
"As a safety net, you can use it to restore your encrypted message history.": "Als veiligheidsnet kunt u het gebruiken om uw versleutelde berichtgeschiedenis te herstellen.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Uw herstelsleutel is een veiligheidsnet - u kunt hem gebruiken om de toegang tot uw versleutelde berichten te herstellen indien u uw wachtwoord zou vergeten.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Bewaar uw herstelsleutel op een heel veilige plaats, zoals een wachtwoordbeheerder (of een kluis)",
"Your Recovery Key": "Uw herstelsleutel",
"Copy to clipboard": "Kopiëren naar klembord",
"Download": "Downloaden",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Uw herstelsleutel is gekopieerd naar uw klembord, plak hem in:",
- "Your Recovery Key is in your Downloads folder.": "Uw herstelsleutel bevindt zich in uw Downloads-map.",
"Print it and store it somewhere safe": "Druk hem af en bewaar hem op een veilige plaats",
"Save it on a USB key or backup drive": "Sla hem op op een USB-stick of een back-upschijf",
"Copy it to your personal cloud storage": "Kopieer hem naar uw persoonlijke cloudopslag",
"Your keys are being backed up (the first backup could take a few minutes).": "Er wordt een back-up van uw sleutels gemaakt (de eerste back-up kan enkele minuten duren).",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Zonder veilig berichtherstel in te stellen, zult u uw versleutelde berichtgeschiedenis niet kunnen herstellen indien u zich afmeldt of een ander apparaat gebruikt.",
"Set up Secure Message Recovery": "Veilig berichtherstel instellen",
"Secure your backup with a passphrase": "Beveilig uw back-up met een wachtwoord",
"Confirm your passphrase": "Bevestig uw wachtwoord",
@@ -1442,24 +1348,15 @@
"New Recovery Method": "Nieuwe herstelmethode",
"A new recovery passphrase and key for Secure Messages have been detected.": "Er zijn een nieuw herstelwachtwoord en een nieuwe herstelsleutel voor beveiligde berichten gedetecteerd.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Als u deze nieuwe herstelmethode niet heeft ingesteld, is het mogelijk dat er een aanvaller toegang tot uw account probeert te verkrijgen. Wijzig onmiddellijk uw accountwachtwoord en stel een nieuwe herstelmethode in in de instellingen.",
- "This device is encrypting history using the new recovery method.": "Dit apparaat versleutelt de geschiedenis met de nieuwe herstelmethode.",
"Go to Settings": "Ga naar instellingen",
"Set up Secure Messages": "Beveiligde berichten instellen",
"Recovery Method Removed": "Herstelmethode verwijderd",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Dit apparaat heeft gedetecteerd dat uw herstelwachtwoord en -sleutel voor beveiligde berichten verwijderd zijn.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Als u dit per ongeluk heeft gedaan, kunt u beveiligde berichten instellen op dit apparaat, waarmee de berichtgeschiedenis van dit apparaat herversleuteld zal worden met een nieuwe herstelmethode.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Als u de herstelmethode niet heeft verwijderd, is het mogelijk dat er een aanvaller toegang tot uw account probeert te verkrijgen. Wijzig onmiddellijk uw accountwachtwoord en stel een nieuwe herstelmethode in in de instellingen.",
- "Room upgrade confirmation": "Bevestiging voor bijwerken van gesprek",
- "Upgrading a room can be destructive and isn't always necessary.": "Het bijwerken van een gesprek is niet altijd nodig, en soms destructief.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Gespreksopwaarderingen worden meestal aanbevolen wanneer een bepaalde groepsgespreksversie als onstabiel wordt beschouwd. Onstabiele groepsgespreksversies bevatten mogelijk bugs of beveiligingsproblemen, of beschikken niet over alle functies.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Gespreksopwaarderingen beïnvloeden meestal enkel de verwerking van het gesprek aan serverzijde. Indien u problemen ondervindt met uw Riot-cliënt, gelieve dit dan te melden op .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Let op: gesprekken bijwerken voegt gespreksleden niet automatisch toe aan de nieuwe versie van het gesprek. Er komt in het oude gesprek een koppeling naar het nieuwe, waarop gespreksleden moeten klikken om aan het nieuwe gesprek deel te nemen.",
"Adds a custom widget by URL to the room": "Voegt met een URL een aangepaste widget toe aan het gesprek",
"Please supply a https:// or http:// widget URL": "Voer een https://- of http://-widget-URL in",
"You cannot modify widgets in this room.": "U kunt de widgets in dit gesprek niet aanpassen.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s heeft de uitnodiging voor %(targetDisplayName)s om toe te treden tot het gesprek ingetrokken.",
- "Enable desktop notifications for this device": "Bureaubladmeldingen inschakelen voor dit apparaat",
- "Enable audible notifications for this device": "Geluidsmeldingen inschakelen voor dit apparaat",
"Upgrade this room to the recommended room version": "Werk dit gesprek bij tot de aanbevolen versie",
"This room is running room version , which this homeserver has marked as unstable.": "Dit gesprek draait op groepsgespreksversie , die door deze thuisserver als onstabiel is gemarkeerd.",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Bijwerken zal de huidige versie van dit gesprek sluiten, en onder dezelfde naam een bijgewerkte versie starten.",
@@ -1489,7 +1386,7 @@
"Sign out and remove encryption keys?": "Afmelden en versleutelingssleutels verwijderen?",
"To help us prevent this in future, please send us logs.": "Gelieve ons logboeken te sturen om dit in de toekomst te helpen voorkomen.",
"Missing session data": "Sessiegegevens ontbreken",
- "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Sommige sessiegegevens, waaronder sleutels voor versleutelde berichten, ontbreken. Herstel de sleutels uit uw back-up door u af en weer aan te melden.",
+ "Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Sommige sessiegegevens, waaronder sleutels voor versleutelde berichten, ontbreken. Herstel de sleutels uit uw back-up door u af- en weer aan te melden.",
"Your browser likely removed this data when running low on disk space.": "Uw browser heeft deze gegevens wellicht verwijderd toen de beschikbare opslagruimte vol was.",
"Upload files (%(current)s of %(total)s)": "Bestanden versturen (%(current)s van %(total)s)",
"Upload files": "Bestanden versturen",
@@ -1498,14 +1395,12 @@
"These files are too large to upload. The file size limit is %(limit)s.": "Deze bestanden zijn te groot om te versturen. De bestandsgroottelimiet is %(limit)s.",
"Some files are too large to be uploaded. The file size limit is %(limit)s.": "Sommige bestanden zijn te groot om te versturen. De bestandsgroottelimiet is %(limit)s.",
"Upload %(count)s other files|other": "%(count)s overige bestanden versturen",
- "Upload %(count)s other files|one": "%(count)s overig bestanden versturen",
+ "Upload %(count)s other files|one": "%(count)s overig bestand versturen",
"Cancel All": "Alles annuleren",
- "Upload Error": "Fout bij versturen bestand",
+ "Upload Error": "Fout bij versturen van bestand",
"A conference call could not be started because the integrations server is not available": "Daar de integratieserver onbereikbaar is kon het groepsaudiogesprek niet gestart worden",
"The server does not support the room version specified.": "De server ondersteunt deze versie van gesprekken niet.",
"Name or Matrix ID": "Naam of Matrix-ID",
- "Email, name or Matrix ID": "E-mailadres, naam, of matrix-ID",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Gelieve het bijwerken van dit gesprek van tot te bevestigen.",
"Changes your avatar in this current room only": "Verandert uw avatar enkel in het huidige gesprek",
"Unbans user with given ID": "Ontbant de gebruiker met de gegeven ID",
"Sends the given message coloured as a rainbow": "Verstuurt het gegeven bericht in regenboogkleuren",
@@ -1515,10 +1410,6 @@
"The user's homeserver does not support the version of the room.": "De thuisserver van de gebruiker biedt geen ondersteuning voor de gespreksversie.",
"Show hidden events in timeline": "Verborgen gebeurtenissen op de tijdslijn weergeven",
"When rooms are upgraded": "Wanneer gesprekken bijgewerkt worden",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Dit apparaat maakt geen back-up van uw sleutels, maar u heeft wel een bestaande back-up die u kunt herstellen, en waaraan u vervolgens nieuwe sleutels kunt toevoegen.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Verbind dit apparaat met de sleutelback-up vooraleer u zich afmeldt om sleutels die zich enkel op dit apparaat bevinden niet te verliezen.",
- "Connect this device to Key Backup": "Dit apparaat verbinden met sleutelback-up",
- "Backup has an invalid signature from this device": "De back-up heeft een ongeldige ondertekening van dit apparaat",
"this room": "dit gesprek",
"View older messages in %(roomName)s.": "Bekijk oudere berichten in %(roomName)s.",
"Joining room …": "Deelnemen aan gesprek…",
@@ -1611,8 +1502,6 @@
"%(oneUser)smade no changes %(count)s times|one": "%(oneUser)s heeft niets gewijzigd",
"Changes your avatar in all rooms": "Verandert uw avatar in alle gesprekken",
"Removing…": "Bezig met verwijderen…",
- "Clear all data on this device?": "Alle gegevens op dit apparaat wissen?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Gewiste gegevens kunnen niet teruggehaald worden. Versleutelde berichten zullen verloren gaan, tenzij hun sleutels geback-upt zijn.",
"Clear all data": "Alle gegevens wissen",
"Your homeserver doesn't seem to support this feature.": "Uw thuisserver biedt geen ondersteuning voor deze functie.",
"Resend edit": "Bewerking opnieuw versturen",
@@ -1624,7 +1513,6 @@
"Forgotten your password?": "Wachtwoord vergeten?",
"You're signed out": "U bent afgemeld",
"Clear personal data": "Persoonlijke gegevens wissen",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Let op: uw persoonlijke gegevens (inclusief versleutelingssleutels) worden nog steeds op dit apparaat opgeslagen. Wis deze wanneer u klaar bent met het apparaat te gebruiken, of wanneer u zich wilt aanmelden met een andere account.",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Laat ons weten wat er verkeerd is gegaan, of nog beter, maak een foutrapport aan op GitHub, waarin u het probleem beschrijft.",
"Identity Server": "Identiteitsserver",
"Find others by phone or email": "Vind anderen via telefoonnummer of e-mailadres",
@@ -1633,11 +1521,9 @@
"Terms of Service": "Gebruiksvoorwaarden",
"Service": "Dienst",
"Summary": "Samenvatting",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Verkrijg opnieuw toegang tot uw account en herstel de versleutelingssleutels die opgeslagen zijn op dit apparaat. Zonder deze sleutels zult u uw versleutelde berichten niet kunnen lezen op andere apparaten.",
"Sign in and regain access to your account.": "Meld u aan en verkrijg opnieuw toegang tot uw account.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "U kunt zich niet aanmelden met uw account. Neem contact op met de beheerder van uw thuisserver voor meer informatie.",
"This account has been deactivated.": "Deze account is gedeactiveerd.",
- "Failed to start chat": "Gesprek beginnen is mislukt",
"Messages": "Berichten",
"Actions": "Acties",
"Displays list of commands with usages and descriptions": "Toont een lijst van beschikbare opdrachten, met hun gebruiken en beschrijvingen",
@@ -1665,7 +1551,6 @@
"Please enter verification code sent via text.": "Voer de verificatiecode in die werd verstuurd via sms.",
"Discovery options will appear once you have added a phone number above.": "Ontdekkingsopties zullen verschijnen wanneer u een telefoonnummer hebt toegevoegd.",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Er is een sms verstuurd naar +%(msisdn)s. Voor de verificatiecode in die in het bericht staat.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Controleer of de sleutel die u in uw Gebruikersinstellingen op dat apparaat ziet overeenkomt met de sleutel hieronder om te verifiëren dat het apparaat vertrouwd kan worden:",
"Command Help": "Hulp bij opdrachten",
"No identity server is configured: add one in server settings to reset your password.": "Er is geen identiteitsserver geconfigureerd: voeg er één toe in de serverinstellingen om uw wachtwoord opnieuw in te stellen.",
"Call failed due to misconfigured server": "Oproep mislukt door verkeerd geconfigureerde server",
@@ -1697,13 +1582,12 @@
"You are still sharing your personal data on the identity server .": "U deelt nog steeds uw persoonlijke gegevens op de identiteitsserver .",
"We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "We raden u aan uw e-mailadressen en telefoonnummers van de identiteitsserver te verwijderen vooraleer u de verbinding verbreekt.",
"Disconnect anyway": "Verbinding toch verbreken",
- "If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Mocht u om bekenden te zoeken en vindbaar te zijn niet willen gebruiken, voer dan hieronder een andere identiteitsserver in.",
+ "If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Mocht u om bekenden te zoeken en zelf vindbaar te zijn niet willen gebruiken, voer dan hieronder een andere identiteitsserver in.",
"Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Een identiteitsserver is niet verplicht, maar zonder identiteitsserver zult u geen bekenden op e-mailadres of telefoonnummer kunnen zoeken, noch door hen vindbaar zijn.",
"Do not use an identity server": "Geen identiteitsserver gebruiken",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Aanvaard de gebruiksvoorwaarden van de identiteitsserver (%(serverName)s) om vindbaar te zijn op e-mailadres of telefoonnummer.",
"Read Marker lifetime (ms)": "Levensduur van leesbevestigingen (ms)",
"Read Marker off-screen lifetime (ms)": "Levensduur van levensbevestigingen, niet op scherm (ms)",
- "A device's public name is visible to people you communicate with": "De openbare naam van een apparaat is zichtbaar aan alle mensen met wie u communiceert",
"Upgrade the room": "Werk het gesprek bij",
"Enable room encryption": "Gespreksversleuteling inschakelen",
"Error changing power level requirement": "Fout bij wijzigen van machtsniveauvereiste",
@@ -1752,10 +1636,9 @@
"Find a room… (e.g. %(exampleRoom)s)": "Zoek een gesprek… (bv. %(exampleRoom)s)",
"If you can't find the room you're looking for, ask for an invite or Create a new room.": "Als u het gesprek dat u zoekt niet kunt vinden, vraag dan een uitnodiging, of Maak een nieuw gesprek aan.",
"Explore rooms": "Gesprekken ontdekken",
- "Use the new, faster, composer for writing messages": "Gebruik de nieuwe, snellere opsteller om berichten te schrijven",
"Show previews/thumbnails for images": "Toon voorbeelden voor afbeeldingen",
"Clear cache and reload": "Cache wissen en herladen",
- "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "U staat op het punt 1 bericht door %(user)s te verwijderen. Dit kan niet ongedaan worden gemaakt. Wilt u doorgaan?",
+ "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "U staat op het punt 1 bericht door %(user)s te verwijderen. Dit kan niet ongedaan gemaakt worden. Wilt u doorgaan?",
"Remove %(count)s messages|one": "1 bericht verwijderen",
"%(count)s unread messages including mentions.|other": "%(count)s ongelezen berichten, inclusief vermeldingen.",
"%(count)s unread messages.|other": "%(count)s ongelezen berichten.",
@@ -1786,9 +1669,501 @@
"Notification Autocomplete": "Meldingen automatisch voltooien",
"Room Autocomplete": "Gesprekken automatisch aanvullen",
"User Autocomplete": "Gebruikers automatisch aanvullen",
- "Add Email Address": "Emailadres toevoegen",
+ "Add Email Address": "E-mailadres toevoegen",
"Add Phone Number": "Telefoonnummer toevoegen",
- "Your email address hasn't been verified yet": "Uw emailadres is nog niet gecontroleerd",
- "Click the link in the email you received to verify and then click continue again.": "Open de link in de ontvangen contrôle-email, en klik dan op \"Doorgaan\".",
- "%(creator)s created and configured the room.": "Gesprek gestart en ingesteld door %(creator)s."
+ "Your email address hasn't been verified yet": "Uw e-mailadres is nog niet geverifieerd",
+ "Click the link in the email you received to verify and then click continue again.": "Open de koppeling in de ontvangen verificatie-e-mail, en klik dan op ‘Doorgaan’.",
+ "%(creator)s created and configured the room.": "Gesprek gestart en ingesteld door %(creator)s.",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Dit gesprek bevat onbekende sessies. Tenzij u die verifieert zou iemand u kunnen afluisteren.",
+ "Setting up keys": "Sleutelconfiguratie",
+ "Verify this session": "Deze sessie verifiëren",
+ "Encryption upgrade available": "Er is een bijgewerkte versleuteling beschikbaar",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Typ /help om alle opdrachten te zien. Was het uw bedoeling dit als bericht te sturen?",
+ "Help": "Hulp",
+ "Set up encryption": "Versleuteling instellen",
+ "Unverified session": "Ongeverifieerde sessie",
+ "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Dit vergt toegang tot de standaardidentiteitsserver om een e-mailadres of telefoonnummer te valideren, maar die server heeft geen gebruiksvoorwaarden.",
+ "Trust": "Vertrouwen",
+ "Custom (%(level)s)": "Aangepast (%(level)s)",
+ "Error upgrading room": "Bijwerken van gesprek mislukt",
+ "Double check that your server supports the room version chosen and try again.": "Ga nogmaals na dat de server de gekozen gespreksversie ondersteunt, en probeer het dan opnieuw.",
+ "Verifies a user, session, and pubkey tuple": "Verifieert een combinatie van gebruiker+sessie+publieke sleutel",
+ "Unknown (user, session) pair:": "Onbekende combinatie gebruiker+sessie:",
+ "Session already verified!": "Sessie al geverifieerd!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "PAS OP: de sessie is al geverifieerd, maar de sleutels komen NIET OVEREEN!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "PAS OP: sleutelverificatie MISLUKT! De combinatie %(userId)s + sessie %(deviceId)s is ondertekend met ‘%(fprint)s’ - maar de opgegeven sleutel is ‘%(fingerprint)s’. Wellicht worden uw berichten onderschept!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "De door u verschafte en de van %(userId)ss sessie %(deviceId)s verkregen sleutels komen overeen. De sessie is daarmee geverifieerd.",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s heeft %(addedAddresses)s en %(count)s andere adressen aan dit gesprek toegevoegd",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s heeft dit gesprek ontdaan van %(removedAddresses)s en %(count)s andere adressen",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s heeft dit gesprek ontdaan van %(countRemoved)s adressen, en er %(countAdded)s toegevoegd",
+ "%(senderName)s placed a voice call.": "%(senderName)s probeert u te bellen.",
+ "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s poogt u te bellen, maar uw browser ondersteunt dat niet",
+ "%(senderName)s placed a video call.": "%(senderName)s doet een video-oproep.",
+ "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s doet een video-oproep, maar uw browser ondersteunt dat niet",
+ "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s heeft de banregel voor gebruikers die met %(glob)s stroken verwijderd",
+ "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s heeft de banregel voor gesprekken die met %(glob)s stroken verwijderd",
+ "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s heeft de banregel voor servers die met %(glob)s stroken verwijderd",
+ "%(senderName)s removed a ban rule matching %(glob)s": "%(senderName)s heeft een banregel die met %(glob)s strookt verwijderd",
+ "%(senderName)s updated an invalid ban rule": "%(senderName)s heeft een ongeldige banregel bijgewerkt",
+ "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s heeft de regel bijgewerkt die gebruikers die met %(glob)s sporen verbant vanwege %(reason)s",
+ "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s heeft de regel bijgewerkt die gesprekken die met %(glob)s sporen verbant vanwege %(reason)s",
+ "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s heeft de regel bijgewerkt die servers die met %(glob)s sporen verbant vanwege %(reason)s",
+ "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s heeft een banregel vanwege %(reason)s die met %(glob)s spoort bijgewerkt",
+ "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s heeft geregeld dat gebruikers die met %(glob)s sporen verbannen worden vanwege %(reason)s",
+ "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s heeft geregeld dat gesprekken die met %(glob)s sporen verbannen worden vanwege %(reason)s",
+ "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s heeft geregeld dat servers die met %(glob)s sporen verbannen worden vanwege %(reason)s",
+ "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s heeft geregeld dat alles wat met %(glob)s spoort verbannen wordt vanwege %(reason)s",
+ "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s heeft het patroon van een banregel voor gebruikers wegens %(reason)s aangepast van %(oldGlob)s tot %(newGlob)s",
+ "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s heeft het patroon van een banregel voor gesprekken wegens %(reason)s aangepast van %(oldGlob)s tot %(newGlob)s",
+ "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s heeft het patroon van een banregel voor servers wegens %(reason)s aangepast van %(oldGlob)s tot %(newGlob)s",
+ "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s heeft het patroon van een banregel wegens %(reason)s aangepast van %(oldGlob)s tot %(newGlob)s",
+ "The message you are trying to send is too large.": "Uw bericht is te lang om te versturen.",
+ "a few seconds ago": "enige tellen geleden",
+ "about a minute ago": "een minuut of zo geleden",
+ "%(num)s minutes ago": "%(num)s minuten geleden",
+ "about an hour ago": "een uur of zo geleden",
+ "%(num)s hours ago": "%(num)s uur geleden",
+ "about a day ago": "een dag of zo geleden",
+ "%(num)s days ago": "%(num)s dagen geleden",
+ "a few seconds from now": "over een paar tellen",
+ "about a minute from now": "over een minuut of zo",
+ "%(num)s minutes from now": "over %(num)s minuten",
+ "about an hour from now": "over een uur of zo",
+ "%(num)s hours from now": "over %(num)s uur",
+ "about a day from now": "over een dag of zo",
+ "%(num)s days from now": "over %(num)s dagen",
+ "%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
+ "Try out new ways to ignore people (experimental)": "Nieuwe manieren om mensen te negeren uitproberen (nog in ontwikkeling)",
+ "Show a presence dot next to DMs in the room list": "Toon aanwezigheid bij tweegesprekken in de gesprekkenlijst",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Gebruik gebruikersverificatie in plaats van sessieverificatie (nog in ontwikkeling)",
+ "Enable local event indexing and E2EE search (requires restart)": "Indexeer gebeurtenissen lokaal en maak zo E2EE-zoeken mogelijk (vergt een herstart)",
+ "Show info about bridges in room settings": "Toon bruginformatie in gespreksinstellingen",
+ "Show padlocks on invite only rooms": "Toon hangsloten op besloten gesprekken",
+ "Match system theme": "Aanpassen aan systeemthema",
+ "Never send encrypted messages to unverified sessions from this session": "Zend vanaf deze sessie nooit versleutelde berichten naar ongeverifieerde sessies",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Zend vanaf deze sessie nooit versleutelde berichten naar ongeverifieerde sessies in dit gesprek",
+ "Enable message search in encrypted rooms": "Sta zoeken in versleutelde gesprekken toe",
+ "Keep secret storage passphrase in memory for this session": "Onthoud in deze sessie het wachtwoord voor sleutelopslag",
+ "How fast should messages be downloaded.": "Ophaalfrequentie van berichten.",
+ "My Ban List": "Mijn banlijst",
+ "This is your list of users/servers you have blocked - don't leave the room!": "Dit is de lijst van door u geblokkeerde servers/gebruikers. Verlaat dit gesprek niet!",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Bevestig dat beide apparaten dezelfde emoji’s in dezelfde volgorde tonen:",
+ "Verify this device by confirming the following number appears on its screen.": "Verifieer dit apparaat door te bevestigen dat het scherm het volgende getal toont.",
+ "Waiting for %(displayName)s to verify…": "Wachten tot %(displayName)s geverifieerd heeft…",
+ "They match": "Ze komen overeen",
+ "They don't match": "Ze komen niet overeen",
+ "To be secure, do this in person or use a trusted way to communicate.": "Doe dit voor de zekerheid onder vier ogen, of via een betrouwbaar communicatiemedium.",
+ "Lock": "Hangslot",
+ "Verify yourself & others to keep your chats safe": "Verifieer uzelf en anderen om uw gesprekken veilig te houden",
+ "Other users may not trust it": "Mogelijk wantrouwen anderen het",
+ "Upgrade": "Bijwerken",
+ "Verify": "Verifiëren",
+ "Later": "Later",
+ "Review": "Controle",
+ "Decline (%(counter)s)": "Afwijzen (%(counter)s)",
+ "This bridge was provisioned by .": "Dank aan voor de brug.",
+ "This bridge is managed by .": "Brug onderhouden door .",
+ "Workspace: %(networkName)s": "Werkruimte: %(networkName)s",
+ "Channel: %(channelName)s": "Kanaal: %(channelName)s",
+ "Show less": "Minder tonen",
+ "Show more": "Meer tonen",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Momenteel stelt een wachtwoordswijziging alle berichtsleutels in alle sessies opnieuw in, en maakt zo oude versleutelde berichten onleesbaar - tenzij u uw sleutels eerst wegschrijft, en na afloop weer inleest. Dit zal verbeterd worden.",
+ "Add users and servers you want to ignore here. Use asterisks to have Riot match any characters. For example, @bot:* would ignore all users that have the name 'bot' on any server.": "Geef hier te negeren gebruikers en servers in. Asterisken staan voor willekeurige tekenreeksen; zo leidt @bot:* tot het negeren van alle gebruikers die ‘bot’ heten op alle servers.",
+ "in memory": "in het geheugen",
+ "not found": "niet gevonden",
+ "Your homeserver does not support session management.": "Uw thuisserver ondersteunt geen sessiebeheer.",
+ "Unable to load session list": "Kan sessielijst niet laden",
+ "Delete %(count)s sessions|other": "%(count)s sessies verwijderen",
+ "Delete %(count)s sessions|one": "%(count)s sessie verwijderen",
+ "The version of Riot": "De versie van Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Of u Riot op een apparaat gebruikt waarop een aanraakscherm de voornaamste invoermethode is",
+ "Whether you're using Riot as an installed Progressive Web App": "Of u Riot gebruikt als een geïnstalleerde Progressive-Web-App",
+ "Your user agent": "Uw gebruikersagent",
+ "The information being sent to us to help make Riot better includes:": "De informatie die naar ons wordt verstuurd om Riot te verbeteren bevat:",
+ "If you cancel now, you won't complete verifying the other user.": "Als u nu annuleert zult u de andere gebruiker niet verifiëren.",
+ "If you cancel now, you won't complete verifying your other session.": "Als u nu annuleert zult u uw andere sessie niet verifiëren.",
+ "If you cancel now, you won't complete your secret storage operation.": "Als u nu annuleert zal de sleutelopslag worden afgebroken.",
+ "Cancel entering passphrase?": "Wachtwoordinvoer annuleren?",
+ "Show typing notifications": "Typmeldingen weergeven",
+ "Verify this session by completing one of the following:": "Verifieer deze sessie door een van het volgende te doen:",
+ "Scan this unique code": "Scan deze unieke code",
+ "or": "of",
+ "Compare unique emoji": "Vergelijk unieke emoji",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Vergelijk een unieke lijst met emoji als geen van beide apparaten een camera heeft",
+ "Start": "Start",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Sla versleutelde berichten beveiligd op om ze weer te geven in zoekresultaten.",
+ "Enable": "Inschakelen",
+ "Connecting to integration manager...": "Verbinding maken met de integratiebeheerder…",
+ "Cannot connect to integration manager": "Kan geen verbinding maken met de integratiebeheerder",
+ "The integration manager is offline or it cannot reach your homeserver.": "De integratiebeheerder is offline of kan uw thuisserver niet bereiken.",
+ "This session is backing up your keys. ": "Deze sessie maakt back-ups van uw sleutels. ",
+ "not stored": "niet opgeslagen",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Uw wachtwoord is gewijzigd. U zult geen pushmeldingen op uw andere sessies meer ontvangen, totdat u zichzelf daarop opnieuw aanmeldt",
+ "Ignored/Blocked": "Genegeerd/geblokkeerd",
+ "Error adding ignored user/server": "Fout bij het toevoegen van een genegeerde gebruiker/server",
+ "Something went wrong. Please try again or view your console for hints.": "Er is iets fout gegaan. Probeer het opnieuw of bekijk de console om voor meer informatie.",
+ "Error subscribing to list": "Fout bij het abonneren op de lijst",
+ "Please verify the room ID or alias and try again.": "Controleer de gespreks-ID of -(bij)naam en probeer het opnieuw.",
+ "Error removing ignored user/server": "Fout bij het verwijderen van genegeerde gebruiker/server",
+ "Error unsubscribing from list": "Fout bij het opzeggen van een abonnement op de lijst",
+ "Please try again or view your console for hints.": "Probeer het opnieuw of bekijk de console voor meer informatie.",
+ "None": "Geen",
+ "You have not ignored anyone.": "U heeft niemand genegeerd.",
+ "You are currently ignoring:": "U negeert op dit moment:",
+ "You are not subscribed to any lists": "U heeft geen abonnement op een lijst",
+ "Unsubscribe": "Abonnement opzeggen",
+ "View rules": "Bekijk regels",
+ "You are currently subscribed to:": "U heeft een abonnement op:",
+ "⚠ These settings are meant for advanced users.": "⚠ Deze instellingen zijn bedoeld voor gevorderde gebruikers.",
+ "Ignoring people is done through ban lists which contain rules for who to ban. Subscribing to a ban list means the users/servers blocked by that list will be hidden from you.": "Het negeren van gebruikers gaat via banlijsten. Deze bevatten regels over wie verbannen moet worden. Het abonneren op een banlijst betekent dat u de gebruikers/servers die op de lijst staan niet meer zult zien.",
+ "Personal ban list": "Persoonlijke banlijst",
+ "Your personal ban list holds all the users/servers you personally don't want to see messages from. After ignoring your first user/server, a new room will show up in your room list named 'My Ban List' - stay in this room to keep the ban list in effect.": "Uw persoonlijke banlijst bevat alle gebruikers/server waar u geen berichten meer van wilt zien. Nadat u een gebruiker/server heeft genegeerd, zal er een nieuw gesprek worden aangemaakt met de naam ‘Mijn banlijst’. Om de lijst actief te houden dient u het gesprek niet te verlaten.",
+ "Server or user ID to ignore": "Server of gebruikers-ID om te negeren",
+ "eg: @bot:* or example.org": "bijvoorbeeld: @bot:* of voorbeeld.org",
+ "Subscribed lists": "Abonnementen op lijsten",
+ "Subscribing to a ban list will cause you to join it!": "Wanneer u zich abonneert op een banlijst zal u eraan worden toegevoegd!",
+ "If this isn't what you want, please use a different tool to ignore users.": "Als u dit niet wilt kunt u een andere methode gebruiken om gebruikers te negeren.",
+ "Room ID or alias of ban list": "Gespreks-ID of (bij)naam van banlijst",
+ "Subscribe": "Abonneren",
+ "Enable desktop notifications for this session": "Bureaubladmeldingen inschakelen voor deze sessie",
+ "Enable audible notifications for this session": "Meldingen met geluid inschakelen voor deze sessie",
+ "You should:": "U zou best:",
+ "check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "uw browserextensies bekijken voor extensies die mogelijk de identiteitsserver blokkeren (zoals Privacy Badger)",
+ "contact the administrators of identity server ": "contact opnemen met de beheerders van de identiteitsserver ",
+ "wait and try again later": "wachten en het later weer proberen",
+ "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Gebruik een integratiebeheerder (%(serverName)s) om robots, widgets en stickerpakketten te beheren.",
+ "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Gebruik een integratiebeheerder om robots, widgets en stickerpakketten te beheren.",
+ "Manage integrations": "Beheer integraties",
+ "Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Integratiebeheerders ontvangen configuratie-informatie en kunnen widgets aanpassen, gespreksuitnodigingen versturen en machtsniveau’s namens u aanpassen.",
+ "Ban list rules - %(roomName)s": "Banlijstregels - %(roomName)s",
+ "Server rules": "Serverregels",
+ "User rules": "Gebruikersregels",
+ "Show tray icon and minimize window to it on close": "Geef een pictogram weer in de systeembalk en minimaliseer het venster wanneer het wordt gesloten",
+ "Session ID:": "Sessie-ID:",
+ "Session key:": "Sessiesleutel:",
+ "Message search": "Berichten zoeken",
+ "Sessions": "Sessies",
+ "A session's public name is visible to people you communicate with": "De publieke naam van een sessie is zichtbaar voor de mensen waarmee u communiceert",
+ "This room is bridging messages to the following platforms. Learn more.": "Dit gesprek wordt overbrugd naar de volgende platformen. Lees meer",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Dit gesprek wordt niet overbrugd naar andere platformen. Lees meer.",
+ "Bridges": "Bruggen",
+ "This user has not verified all of their sessions.": "Deze gebruiker heeft niet al zijn sessies geverifieerd.",
+ "You have not verified this user.": "U heeft deze gebruiker niet geverifieerd.",
+ "You have verified this user. This user has verified all of their sessions.": "U heeft deze gebruiker geverifieerd. Deze gebruiker heeft al zijn sessies geverifieerd.",
+ "Someone is using an unknown session": "Iemand gebruikt een onbekende sessie",
+ "This room is end-to-end encrypted": "Dit gesprek is eind-tot-eind-versleuteld",
+ "Everyone in this room is verified": "Iedereen in dit gesprek is geverifieerd",
+ "Some sessions for this user are not trusted": "Sommige sessies van deze gebruiker zijn niet vertrouwd",
+ "All sessions for this user are trusted": "Alle sessies van deze gebruiker zijn vertrouwd",
+ "Some sessions in this encrypted room are not trusted": "Sommige sessies in dit versleutelde gesprek zijn niet vertrouwd",
+ "All sessions in this encrypted room are trusted": "Alle sessies in dit versleutelde gesprek zijn vertrouwd",
+ "Mod": "Mod",
+ "rooms.": "gesprekken.",
+ "Recent rooms": "Actuele gesprekken",
+ "Direct Messages": "Tweegesprekken",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Dit moet aan staan om te kunnen zoeken in versleutelde gesprekken.",
+ "Indexed rooms:": "Geïndexeerde gesprekken:",
+ "Cross-signing and secret storage are enabled.": "Kruiselings ondertekenen en sleutelopslag zijn ingeschakeld.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Uw account heeft een identiteit voor kruiselings ondertekenen in de sleutelopslag, maar deze is nog niet vertrouwd door de huidige sessie.",
+ "Cross-signing and secret storage are not yet set up.": "Kruiselings ondertekenen en sleutelopslag zijn nog niet ingesteld.",
+ "Bootstrap cross-signing and secret storage": "Kruiselings ondertekenen en sleutelopslag instellen",
+ "Reset cross-signing and secret storage": "Kruiselings ondertekenen en sleutelopslag opnieuw instellen",
+ "Cross-signing public keys:": "Publieke sleutels voor kruiselings ondertekenen:",
+ "Cross-signing private keys:": "Privésleutels voor kruiselings ondertekenen:",
+ "in secret storage": "in de sleutelopslag",
+ "Secret storage public key:": "Sleutelopslag publieke sleutel:",
+ "in account data": "in accountinformatie",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Sla versleutelde berichten beveiligd op om ze weer te geven in de zoekresultaten, door gebruik te maken van ",
+ " to store messages from ": " om berichten op te slaan van ",
+ "Manage": "Beheren",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Verbind deze sessie met de sleutelback-up voordat u zich afmeldt. Dit voorkomt dat u sleutels verliest die alleen op deze sessie voorkomen.",
+ "Connect this session to Key Backup": "Verbind deze sessie met de sleutelback-up",
+ "Backup has a valid signature from this user": "De back-up heeft een geldige ondertekening van deze gebruiker",
+ "Backup has a invalid signature from this user": "De back-up heeft een ongeldige ondertekening van deze gebruiker",
+ "Backup has a signature from unknown user with ID %(deviceId)s": "De back-up heeft een ondertekening van een onbekende gebruiker met ID %(deviceId)s",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "De back-up heeft een ondertekening van een onbekende sessie met ID %(deviceId)s",
+ "Backup has a valid signature from this session": "De back-up heeft een geldige ondertekening van deze sessie",
+ "Backup has an invalid signature from this session": "De back-up heeft een ongeldige ondertekening van deze sessie",
+ "Backup has a valid signature from verified session ": "De back-up heeft een geldige ondertekening van een geverifieerde sessie ",
+ "Backup has a valid signature from unverified session ": "De back-up heeft een geldige ondertekening van een ongeverifieerde sessie ",
+ "Backup has an invalid signature from verified session ": "De back-up heeft een ongeldige ondertekening van een geverifieerde sessie ",
+ "Backup has an invalid signature from unverified session ": "De back-up heeft een ongeldige ondertekening van een ongeverifieerde sessie ",
+ "Backup is not signed by any of your sessions": "De back-up is door geen van uw sessies ondertekend",
+ "This backup is trusted because it has been restored on this session": "Deze back-up is vertrouwd omdat hij hersteld is naar deze sessie",
+ "Backup key stored: ": "Back-upsleutel opgeslagen: ",
+ "Your keys are not being backed up from this session.": "Uw sleutels worden niet geback-upt van deze sessie.",
+ "Clear notifications": "Meldingen wissen",
+ "You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "U moet uw persoonlijke informatie van de identiteitsserver verwijderen voordat u zich ontkoppelt. Helaas kan de identiteitsserver op dit moment niet worden bereikt. Mogelijk is hij offline.",
+ "Your homeserver does not support cross-signing.": "Uw thuisserver biedt geen ondersteuning voor kruiselings ondertekenen.",
+ "Homeserver feature support:": "Functies ondersteund door thuisserver:",
+ "exists": "bestaat",
+ "Sign In or Create Account": "Meld u aan of maak een account aan",
+ "Use your account or create a new one to continue.": "Gebruik uw bestaande account of maak er een nieuwe aan om verder te gaan.",
+ "Create Account": "Account aanmaken",
+ "Displays information about a user": "Geeft informatie weer over een gebruiker",
+ "Order rooms by name": "Gesprekken sorteren op naam",
+ "Show rooms with unread notifications first": "Gesprekken met ongelezen meldingen eerst tonen",
+ "Show shortcuts to recently viewed rooms above the room list": "Snelkoppelingen naar de gesprekken die u recent heeft bekeken bovenaan de gesprekslijst weergeven",
+ "Cancelling…": "Bezig met annuleren…",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot beschikt niet over alle onderdelen die nodig zijn om versleutelde berichten veilig in het lokale cachegeheugen te bewaren. Als u deze functie wilt uittesten, kunt u een aangepaste versie van Riot Desktop compileren, waarbij de zoekonderdelen toegevoegd zijn.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot kan versleutelde berichten niet veilig bewaren in het lokale cachegeheugen wanneer het uitgevoerd wordt in een webbrowser. Gebruik Riot Desktop om versleutelde berichten in de zoekresultaten te laten verschijnen.",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Deze sessie maakt geen back-ups van uw sleutels, maar u beschikt over een reeds bestaande back-up waaruit u kunt herstellen en waaraan u nieuwe sleutels vanaf nu kunt toevoegen.",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Er is een back-upsleutel opgeslagen in de geheime opslag, maar deze functie is niet ingeschakeld voor deze sessie. Schakel kruiselings ondertekenen in in de experimentele instellingen om de sleutelback-upstatus te wijzigen.",
+ "Customise your experience with experimental labs features. Learn more.": "Personaliseer uw ervaring met experimentele functies. Klik hier voor meer informatie.",
+ "Cross-signing": "Kruiselings ondertekenen",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Uw sleuteldeelverzoek is verstuurd - controleer de sleuteldeelverzoeken op uw andere sessies.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Sleuteldeelverzoeken worden automatisch naar andere sessies verstuurd. Als u op uw andere sessies het sleuteldeelverzoek geweigerd of genegeerd hebt, kunt u hier klikken op de sleutels voor deze sessie opnieuw aan te vragen.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Als uw andere sessies geen sleutel voor dit bericht hebben, zult u het niet kunnen ontsleutelen.",
+ "Re-request encryption keys from your other sessions.": "Versleutelingssleutels opnieuw aanvragen van uw andere sessies.",
+ "This message cannot be decrypted": "Dit bericht kan niet ontsleuteld worden",
+ "Encrypted by an unverified session": "Versleuteld door een niet-geverifieerde sessie",
+ "Unencrypted": "Onversleuteld",
+ "Encrypted by a deleted session": "Versleuteld door een verwijderde sessie",
+ "Invite only": "Enkel op uitnodiging",
+ "Close preview": "Voorbeeld sluiten",
+ "Failed to deactivate user": "Deactiveren van gebruiker is mislukt",
+ "No sessions with registered encryption keys": "Geen sessies met geregistreerde versleutelingssleutels",
+ "Send a reply…": "Verstuur een antwoord…",
+ "Send a message…": "Verstuur een bericht…",
+ "Room %(name)s": "Gesprek %(name)s",
+ " wants to chat": " wil een gesprek met u beginnen",
+ "Start chatting": "Gesprek beginnen",
+ "Reject & Ignore user": "Weigeren en gebruiker negeren",
+ "%(count)s unread messages including mentions.|one": "1 ongelezen vermelding.",
+ "%(count)s unread messages.|one": "1 ongelezen bericht.",
+ "Unread messages.": "Ongelezen berichten.",
+ "Unknown Command": "Onbekende opdracht",
+ "Unrecognised command: %(commandText)s": "Onbekende opdracht: %(commandText)s",
+ "Hint: Begin your message with // to start it with a slash.": "Tip: begin uw bericht met // om het te laten voorafgaan door een schuine streep.",
+ "Send as message": "Versturen als bericht",
+ "Failed to connect to integration manager": "Verbinding met integratiebeheerder is mislukt",
+ "Waiting for %(displayName)s to accept…": "Wachten tot %(displayName)s aanvaardt…",
+ "Accepting…": "Aanvaarden…",
+ "Start Verification": "Verificatie beginnen",
+ "Messages in this room are end-to-end encrypted.": "De berichten in dit gesprek worden eind-tot-eind-versleuteld.",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Uw berichten zijn beveiligd, en enkel de ontvanger en u hebben de unieke sleutels om ze te ontsleutelen.",
+ "Verify User": "Gebruiker verifiëren",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Als extra beveiliging kunt u deze gebruiker verifiëren door een eenmalige code op uw toestellen te controleren.",
+ "Your messages are not secure": "Uw berichten zijn niet veilig",
+ "One of the following may be compromised:": "Eén van volgende onderdelen kan gecompromitteerd zijn:",
+ "Your homeserver": "Uw thuisserver",
+ "The homeserver the user you’re verifying is connected to": "De thuisserver waarmee de gebruiker die u tracht te verifiëren verbonden is",
+ "Yours, or the other users’ internet connection": "De internetverbinding van uzelf of de andere gebruiker",
+ "Yours, or the other users’ session": "De sessie van uzelf of de andere gebruiker",
+ "Not Trusted": "Niet vertrouwd",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s%(userId)s heeft zich aangemeld bij een nieuwe sessie zonder deze te verifiëren:",
+ "Ask this user to verify their session, or manually verify it below.": "Vraag deze gebruiker om zijn/haar sessie te verifiëren, of verifieer deze hieronder handmatig.",
+ "Done": "Klaar",
+ "Manually Verify": "Handmatig verifiëren",
+ "Trusted": "Vertrouwd",
+ "Not trusted": "Niet vertrouwd",
+ "%(count)s verified sessions|other": "%(count)s geverifieerde sessies",
+ "%(count)s verified sessions|one": "1 geverifieerde sessie",
+ "Hide verified sessions": "Geverifieerde sessies verbergen",
+ "%(count)s sessions|other": "%(count)s sessies",
+ "%(count)s sessions|one": "%(count)s sessie",
+ "Hide sessions": "Sessies verbergen",
+ "Direct message": "Tweegesprek",
+ "%(role)s in %(roomName)s": "%(role)s in %(roomName)s",
+ "This client does not support end-to-end encryption.": "Deze cliënt biedt geen ondersteuning voor eind-tot-eind-versleuteling.",
+ "Messages in this room are not end-to-end encrypted.": "De berichten in dit gesprek worden niet eind-tot-eind-versleuteld.",
+ "Security": "Beveiliging",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "De sessie die u probeert te verifiëren biedt geen ondersteuning voor de door Riot ondersteunde verificatiemethodes, nl. het scannen van QR-codes of het vergelijken van emoji. Probeer met een andere cliënt te verifiëren.",
+ "Verify by scanning": "Verifiëren met scan",
+ "Ask %(displayName)s to scan your code:": "Vraag %(displayName)s om uw code te scannen:",
+ "Verify by emoji": "Verifiëren met emoji",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Als u bovenstaande code niet kunt scannen, verifieer dan door unieke emoji te vergelijken.",
+ "Verify by comparing unique emoji.": "Verifieer door unieke emoji te vergelijken.",
+ "You've successfully verified %(displayName)s!": "U heeft %(displayName)s geverifieerd!",
+ "Got it": "Ik snap het",
+ "Verification timed out. Start verification again from their profile.": "De verificatie is verlopen. Begin het verificatieproces opnieuw via het profiel van de gebruiker.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s heeft de verificatie geannuleerd. Begin het verificatieproces opnieuw via het profiel van de gebruiker.",
+ "You cancelled verification. Start verification again from their profile.": "U heeft de verificatie geannuleerd. Begin het verificatieproces opnieuw via het profiel van de gebruiker.",
+ "Encryption enabled": "Versleuteling ingeschakeld",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "De berichten in dit gesprek worden eind-tot-eind-versleuteld. Kom hier meer over te weten en verifieer de gebruiker via zijn/haar gebruikersprofiel.",
+ "Encryption not enabled": "Versleuteling niet ingeschakeld",
+ "The encryption used by this room isn't supported.": "De versleuteling gebruikt in dit gesprek wordt niet ondersteund.",
+ "React": "Reageren",
+ "Message Actions": "Berichtacties",
+ "You have ignored this user, so their message is hidden. Show anyways.": "U heeft deze gebruiker genegeerd, dus zijn/haar berichten worden verborgen. Toch tonen?",
+ "You verified %(name)s": "U heeft %(name)s geverifieerd",
+ "You cancelled verifying %(name)s": "U heeft de verificatie van %(name)s geannuleerd",
+ "%(name)s cancelled verifying": "%(name)s heeft de verificatie geannuleerd",
+ "You accepted": "U heeft aanvaard",
+ "%(name)s accepted": "%(name)s heeft aanvaard",
+ "You declined": "U heeft geweigerd",
+ "You cancelled": "U heeft geannuleerd",
+ "%(name)s declined": "%(name)s heeft geweigerd",
+ "%(name)s cancelled": "%(name)s heeft geannuleerd",
+ "Accepting …": "Aanvaarden…",
+ "Declining …": "Weigeren…",
+ "%(name)s wants to verify": "%(name)s wil verifiëren",
+ "You sent a verification request": "U heeft een verificatieverzoek verstuurd",
+ "Reactions": "Reacties",
+ " reacted with %(content)s": " heeft gereageerd met %(content)s",
+ "Frequently Used": "Vaak gebruikt",
+ "Smileys & People": "Smileys en personen",
+ "Animals & Nature": "Dieren en natuur",
+ "Food & Drink": "Eten en drinken",
+ "Activities": "Activiteiten",
+ "Travel & Places": "Reizen en plaatsen",
+ "Objects": "Objecten",
+ "Symbols": "Symbolen",
+ "Flags": "Vlaggen",
+ "Quick Reactions": "Snelle reacties",
+ "Cancel search": "Zoeken annuleren",
+ "Any of the following data may be shared:": "De volgende gegevens worden mogelijk gedeeld:",
+ "Your display name": "Uw weergavenaam",
+ "Your avatar URL": "De URL van uw profielfoto",
+ "Your user ID": "Uw gebruikers-ID",
+ "Your theme": "Uw thema",
+ "Riot URL": "Riot-URL",
+ "Room ID": "Gespreks-ID",
+ "Widget ID": "Widget-ID",
+ "Using this widget may share data with %(widgetDomain)s & your Integration Manager.": "Deze widget gebruiken deelt mogelijk gegevens met %(widgetDomain)s en uw integratiebeheerder.",
+ "Using this widget may share data with %(widgetDomain)s.": "Deze widget gebruiken deelt mogelijk gegevens met %(widgetDomain)s.",
+ "Widgets do not use message encryption.": "Widgets gebruiken geen berichtversleuteling.",
+ "Widget added by": "Widget toegevoegd door",
+ "This widget may use cookies.": "Deze widget kan cookies gebruiken.",
+ "More options": "Meer opties",
+ "Language Dropdown": "Taalselectie",
+ "Destroy cross-signing keys?": "Sleutels voor kruiselings ondertekenen verwijderen?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Het verwijderen van sleutels voor kruiselings ondertekenen kan niet ongedaan gemaakt worden. Iedereen waarmee u geverifieerd heeft zal beveiligingswaarschuwingen te zien krijgen. U wilt dit hoogstwaarschijnlijk niet doen, tenzij u alle apparaten heeft verloren waarmee u kruiselings kon ondertekenen.",
+ "Clear cross-signing keys": "Sleutels voor kruiselings ondertekenen wissen",
+ "Clear all data in this session?": "Alle gegevens in deze sessie verwijderen?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Het verwijderen van alle gegevens in deze sessie kan niet ongedaan gemaakt worden. Versleutelde berichten zullen verloren gaan, tenzij u een back-up van hun sleutels heeft.",
+ "Verify session": "Sessie verifiëren",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Controleer of de sleutel in de gebruikersinstellingen op het apparaat overeenkomt met onderstaande sleutel om te verifiëren dat de sessie vertrouwd kan worden:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Neem contact op met de eigenaar op een andere manier (bv. onder vier ogen of met een telefoongesprek) en vraag of de sleutel in zijn/haar gebruikersinstellingen overeenkomt met onderstaande sleutel om te verifiëren dat de sessie vertrouwd kan worden:",
+ "Session name": "Sessienaam",
+ "Session key": "Sessiesleutel",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Als hij overeenkomt, klik dan op de knop ‘Verifiëren’. Zo niet is het mogelijk dat iemand deze sessie onderschept, en wilt u waarschijnlijk op de knop ‘Blokkeren’ klikken.",
+ "Verification Requests": "Verificatieverzoeken",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Deze gebruiker verifiëren zal de sessie als vertrouwd markeren voor u en voor hem/haar.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verifieer dit apparaat om het als vertrouwd te markeren. Door dit apparaat te vertrouwen geeft u extra gemoedsrust aan uzelf en andere gebruikers bij het gebruik van eind-tot-eind-versleutelde berichten.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Dit apparaat verifiëren zal het als vertrouwd markeren, en gebruikers die met u geverifieerd hebben zullen het vertrouwen.",
+ "Integrations are disabled": "Integraties zijn uitgeschakeld",
+ "Enable 'Manage Integrations' in Settings to do this.": "Schakel ‘Beheer integraties’ in in de instellingen om dit te doen.",
+ "Integrations not allowed": "Integraties niet toegestaan",
+ "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Uw Riot laat u geen integratiebeheerder gebruiken om dit te doen. Neem contact op met een beheerder.",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Het uitnodigen van volgende gebruikers voor gesprek is mislukt: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "Uw tweegesprek kon niet aangemaakt worden. Controleer de gebruikers die u wilt uitnodigen en probeer het opnieuw.",
+ "Something went wrong trying to invite the users.": "Er is een fout opgetreden bij het uitnodigen van de gebruikers.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "Deze gebruikers konden niet uitgenodigd worden. Controleer de gebruikers die u wilt uitnodigen en probeer het opnieuw.",
+ "Failed to find the following users": "Kon volgende gebruikers niet vinden",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Volgende gebruikers bestaan mogelijk niet of zijn ongeldig, en kunnen dan ook niet uitgenodigd worden: %(csvNames)s",
+ "Recent Conversations": "Recente gesprekken",
+ "Suggestions": "Suggesties",
+ "Recently Direct Messaged": "Recente tweegesprekken",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Als u iemand niet kunt vinden, vraag dan zijn/haar gebruikersnaam, deel uw eigen gebruikersnaam (%(userId)s) of profielkoppeling.",
+ "Go": "Start",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Als u iemand niet kunt vinden, vraag dan zijn/haar gebruikersnaam (bv. @user:server.com) of deel dit gesprek.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "U heeft een nieuwe sessie ‘%(displayName)s’ toegevoegd, die om versleutelingssleutels vraagt.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Uw ongeverifieerde sessie ‘%(displayName)s’ vraagt om versleutelingssleutels.",
+ "Loading session info...": "Sessie-info wordt geladen…",
+ "Your account is not secure": "Uw account is niet veilig",
+ "Your password": "Uw wachtwoord",
+ "This session, or the other session": "Deze sessie, of de andere sessie",
+ "The internet connection either session is using": "De internetverbinding gebruikt door een van de sessies",
+ "We recommend you change your password and recovery key in Settings immediately": "We raden u aan onmiddellijk uw wachtwoord en herstelsleutel te wijzigen in de instellingen",
+ "New session": "Nieuwe sessie",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Gebruik deze sessie om uw nieuwe sessie te verifiëren, waardoor deze laatste toegang verkrijgt tot versleutelde berichten:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Als u zich niet heeft aangemeld bij deze sessie, is uw account mogelijk gecompromitteerd.",
+ "This wasn't me": "Dat was ik niet",
+ "Automatically invite users": "Gebruikers automatisch uitnodigen",
+ "Upgrade private room": "Privégesprek bijwerken",
+ "Upgrade public room": "Openbaar gesprek bijwerken",
+ "Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "Het bijwerken van een gesprek is een gevorderde actie en wordt meestal aanbevolen wanneer een gesprek onstabiel is door fouten, ontbrekende functies of problemen met de beveiliging.",
+ "This usually only affects how the room is processed on the server. If you're having problems with your Riot, please report a bug.": "Dit heeft meestal enkel een invloed op de manier waarop het gesprek door de server verwerkt wordt. Als u problemen met uw Riot ondervindt, dien dan een foutmelding in.",
+ "You'll upgrade this room from to .": "U werkt dit gesprek bij van naar .",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Dit biedt u de mogelijkheid om terug te keren naar uw account nadat u zich heeft afgemeld, en om u aan te melden bij andere sessies.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "U blokkeert momenteel niet-geverifieerde sessies; om berichten te sturen naar deze sessies moet u ze verifiëren.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We raden u aan om het verificatieproces voor elke sessie te doorlopen om te bevestigen dat ze aan hun rechtmatige eigenaar toebehoren, maar u kunt het bericht ook opnieuw versturen zonder verificatie indien u dit wenst.",
+ "Room contains unknown sessions": "Gesprek bevat onbekende sessies",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "‘%(RoomName)s’ bevat sessies die u nog niet eerder gezien heeft.",
+ "Unknown sessions": "Onbekende sessies",
+ "Verification Request": "Verificatieverzoek",
+ "Enter secret storage passphrase": "Voer het wachtwoord voor de geheime opslag in",
+ "Unable to access secret storage. Please verify that you entered the correct passphrase.": "Kan geen toegang verkrijgen tot geheime opslag. Controleer of u het juiste wachtwoord heeft ingevoerd.",
+ "Warning: You should only access secret storage from a trusted computer.": "Let op: open de geheime opslag enkel op een computer die u vertrouwt.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Verkrijg de toegang tot uw beveiligde berichtgeschiedenis en uw identiteit voor kruiselings ondertekenen voor het verifiëren van andere sessies door uw wachtwoord in te voeren.",
+ "If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "Als u uw wachtwoord vergeten bent, kunt u uw herstelsleutel gebruiken of nieuwe herstelopties instellen.",
+ "Enter secret storage recovery key": "Voer de herstelsleutel voor de geheime opslag in",
+ "Unable to access secret storage. Please verify that you entered the correct recovery key.": "Kan geen toegang verkrijgen tot geheime opslag. Controleer of u de juiste herstelsleutel heeft ingevoerd.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Verkrijg de toegang tot uw beveiligde berichtgeschiedenis en uw identiteit voor kruiselings ondertekenen voor het verifiëren van andere sessies door uw herstelsleutel in te voeren.",
+ "If you've forgotten your recovery key you can set up new recovery options.": "Als u uw herstelsleutel vergeten bent, kunt u nieuwe herstelopties instellen.",
+ "Recovery key mismatch": "Herstelsleutel komt niet overeen",
+ "Incorrect recovery passphrase": "Onjuist herstelwachtwoord",
+ "Backup restored": "Back-up teruggezet",
+ "Enter recovery passphrase": "Voer het herstelwachtwoord in",
+ "Enter recovery key": "Voer de herstelsleutel in",
+ "Warning: You should only set up key backup from a trusted computer.": "Let op: stel sleutelback-up enkel in op een vertrouwde computer.",
+ "If you've forgotten your recovery key you can set up new recovery options": "Als u uw herstelsleutel vergeten bent, kunt u nieuwe herstelopties instellen",
+ "Notification settings": "Meldingsinstellingen",
+ "Reload": "Herladen",
+ "Take picture": "Neem een foto",
+ "Remove for everyone": "Verwijderen voor iedereen",
+ "Remove for me": "Verwijderen voor mezelf",
+ "User Status": "Gebruikersstatus",
+ "Country Dropdown": "Landselectie",
+ "Confirm your identity by entering your account password below.": "Bevestig uw identiteit door hieronder uw accountwachtwoord in te voeren.",
+ "No identity server is configured so you cannot add an email address in order to reset your password in the future.": "Er is geen identiteitsserver geconfigureerd, dus u kunt geen e-mailadres toevoegen om in de toekomst een nieuw wachtwoord in te stellen.",
+ "Message not sent due to unknown sessions being present": "Bericht niet verstuurd, er zijn onbekende sessies aanwezig",
+ "Show sessions, send anyway or cancel.": "Sessies tonen, toch versturen of annuleren.",
+ "Jump to first unread room.": "Ga naar het eerste ongelezen gesprek.",
+ "Jump to first invite.": "Ga naar de eerste uitnodiging.",
+ " (1/%(totalCount)s)": " (1/%(totalCount)s)",
+ "Complete security": "Vervolledig de beveiliging",
+ "Verify this session to grant it access to encrypted messages.": "Verifieer deze sessie om toegang te verkrijgen tot uw versleutelde berichten.",
+ "Session verified": "Sessie geverifieerd",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Uw nieuwe sessie is nu geverifieerd. Ze heeft nu toegang tot uw versleutelde berichten, en de sessie zal voor andere gebruikers als vertrouwd gemarkeerd worden.",
+ "Your new session is now verified. Other users will see it as trusted.": "Uw nieuwe sessie is nu geverifieerd. Ze zal voor andere gebruikers als vertrouwd gemarkeerd worden.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Als u de beveiliging van deze sessie niet vervolledigt, zal ze geen toegang hebben tot uw versleutelde berichten.",
+ "Go Back": "Terugkeren",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Door uw wachtwoord te wijzigen stelt u alle eind-tot-eind-versleutelingssleutels op al uw sessies opnieuw in, waardoor uw versleutelde gespreksgeschiedenis onleesbaar wordt. Stel sleutelback-up in of schrijf uw gesprekssleutels van een andere sessie weg vooraleer u een nieuw wachtwoord instelt.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "U bent afgemeld bij al uw sessies en zult geen pushberichten meer ontvangen. Meld u op elk apparaat opnieuw aan om meldingen opnieuw in te schakelen.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Verkrijg opnieuw de toegang tot uw account en herstel de versleutelingssleutels die in deze sessie opgeslagen zijn. Hierzonder zult u niet al uw beveiligde berichten in al uw sessies kunnen lezen.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Let op: uw persoonlijke gegevens (versleutelingssleutels inbegrepen) worden nog steeds opgeslagen in deze sessie. Wis ze wanneer u klaar bent met deze sessie, of wanneer u zich wilt aanmelden met een andere account.",
+ "Command Autocomplete": "Opdrachten automatisch aanvullen",
+ "DuckDuckGo Results": "DuckDuckGo-resultaten",
+ "Sender session information": "Sessie-informatie van afzender",
+ "Enter your account password to confirm the upgrade:": "Voer uw accountwachtwoord in om het bijwerken te bevestigen:",
+ "Restore your key backup to upgrade your encryption": "Herstel uw sleutelback-up om uw versleuteling bij te werken",
+ "Restore": "Herstellen",
+ "You'll need to authenticate with the server to confirm the upgrade.": "U zult zich moeten aanmelden bij de server om het bijwerken te bevestigen.",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Werk deze sessie bij om er andere sessies mee te verifiëren, waardoor deze ook de toegang verkrijgen tot uw versleutelde berichten en voor andere gebruikers als vertrouwd gemarkeerd worden.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Stel versleuteling in voor deze sessie om er andere sessies mee te verifiëren, waardoor deze ook de toegang verkrijgen tot uw versleutelde berichten en voor andere gebruikers als vertrouwd gemarkeerd worden.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Beveilig uw versleutelingssleutels met een wachtwoord. Voor een optimale beveiliging moet dit verschillen van uw accountwachtwoord:",
+ "Enter a passphrase": "Voer een wachtwoord in",
+ "Back up my encryption keys, securing them with the same passphrase": "Maak een back-up van mijn versleutelingssleutels, en beveilig ze met hetzelfde wachtwoord",
+ "Set up with a recovery key": "Instellen met een herstelsleutel",
+ "Enter your passphrase a second time to confirm it.": "Voer uw wachtwoord nogmaals in ter bevestiging.",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Bewaar een kopie op een veilige plaats, zoals in een wachtwoordbeheerder of een kluis.",
+ "Your recovery key": "Uw herstelsleutel",
+ "Copy": "Kopiëren",
+ "Your recovery key has been copied to your clipboard, paste it to:": "Uw herstelsleutel is gekopieerd naar uw klembord, plak hem en:",
+ "Your recovery key is in your Downloads folder.": "Uw herstelsleutel bevindt zich in uw Downloads-map.",
+ "You can now verify your other devices, and other users to keep your chats safe.": "U kunt nu uw andere apparaten evenals andere gebruikers verifiëren om uw gesprekken te beveiligen.",
+ "Upgrade your encryption": "Werk uw versleuteling bij",
+ "Make a copy of your recovery key": "Maak een kopie van uw herstelsleutel",
+ "You're done!": "Klaar!",
+ "Unable to set up secret storage": "Kan geheime opslag niet instellen",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Zonder veilig berichtherstel in te stellen zult u uw versleutelde berichtgeschiedenis niet kunnen herstellen als u zich afmeldt of een andere sessie gebruikt.",
+ "Create key backup": "Sleutelback-up aanmaken",
+ "This session is encrypting history using the new recovery method.": "Deze sessie versleutelt uw geschiedenis aan de hand van de nieuwe herstelmethode.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Deze sessie heeft gedetecteerd dat uw herstelwachtwoord en -sleutel voor beveiligde berichten verwijderd zijn.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Als u dit per ongeluk heeft gedaan, kunt u beveiligde berichten op deze sessie instellen, waarmee de berichtgeschiedenis van deze sessie opnieuw zal versleuteld worden aan de hand van een nieuwe herstelmethode.",
+ "Disable": "Uitschakelen",
+ "Not currently downloading messages for any room.": "Er worden momenteel geen berichten gedownload.",
+ "Downloading mesages for %(currentRoom)s.": "Er worden berichten gedownload voor %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot bewaart versleutelde berichten veilig in het lokale cachegeheugen om ze in uw zoekresultaten te laten verschijnen:",
+ "Space used:": "Gebruikte ruimte:",
+ "Indexed messages:": "Geïndexeerde berichten:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s van %(totalRooms)s",
+ "Message downloading sleep time(ms)": "Wachttijd voor downloaden van berichten (ms)",
+ "Mark all as read": "Alles markeren als gelezen",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Bekijk eerst het beveiligingsopenbaarmakingsbeleid van Matrix.org als u een probleem met de beveiliging van Matrix wilt melden.",
+ "Not currently indexing messages for any room.": "Er worden momenteel voor geen enkel gesprek berichten geïndexeerd.",
+ "Currently indexing: %(currentRoom)s.": "Wordt geïndexeerd: %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s van %(totalRooms)s"
}
diff --git a/src/i18n/strings/nn.json b/src/i18n/strings/nn.json
index fc0b042bab..bb2e51a5af 100644
--- a/src/i18n/strings/nn.json
+++ b/src/i18n/strings/nn.json
@@ -6,7 +6,6 @@
"The information being sent to us to help make Riot.im better includes:": "Informasjonen som vert send til oss for å gjera Riot.im betre er mellom anna:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Der denne sida inneheld gjenkjenneleg informasjon, slik som ein rom-, brukar- eller gruppeID, vert denne informasjonen sletta før han sendast til tenar.",
"Call Failed": "Oppringjing Mislukkast",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Det finst ukjende einingar i dette rommet: viss du gjeng frama utan å godkjenna dei, kan nokon mogelegvis tjuvlytta på samtala.",
"Review Devices": "Sjå Over Einingar",
"Call Anyway": "Ring Likevel",
"Answer Anyway": "Svar Likevel",
@@ -48,33 +47,29 @@
"%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s",
- "Who would you like to add to this community?": "Kven vil du leggja til i dette samfunnet?",
- "Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Åtvaring: alle du legg til i eit samfunn vert offentleg synleg til alle som kan samfunns-IDen",
- "Invite new community members": "Byd nye samfunnsmedlemer inn",
- "Invite to Community": "Byd inn til Samfunn",
- "Which rooms would you like to add to this community?": "Kva rom vil du leggja til i dette samfunnet?",
- "Show these rooms to non-members on the community page and room list?": "Vis desse romma til ikkje-medlemer på samfunnssida og romlista?",
- "Add rooms to the community": "Legg til rom i samfunnet",
+ "Who would you like to add to this community?": "Kven vil du leggja til i dette fellesskapet?",
+ "Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Åtvaring: alle du legg til i eit fellesskap blir offentleg synleg til alle som kan fellesskaps-IDen",
+ "Invite new community members": "Inviter nye fellesskapsmedlem",
+ "Invite to Community": "Inviter til Felleskapet",
+ "Which rooms would you like to add to this community?": "Kva rom vil du leggja til i dette fellesskapet?",
+ "Show these rooms to non-members on the community page and room list?": "Vise desse romma til ikkje-medlem på fellesskapssida og romkatalogen?",
+ "Add rooms to the community": "Legg til rom i fellesskapet",
"Room name or alias": "Romnamn eller alias",
- "Add to community": "Legg til i samfunn",
- "Failed to invite the following users to %(groupId)s:": "Fylgjande brukarar lét seg ikkje byda inn i %(groupId)s:",
- "Failed to invite users to community": "Fekk ikkje til å byda brukarar inn til samfunnet",
+ "Add to community": "Legg til i fellesskapet",
+ "Failed to invite the following users to %(groupId)s:": "Fekk ikkje til å invitera følgjande brukarar i %(groupId)s:",
+ "Failed to invite users to community": "Fekk ikkje til å invitera brukarar til fellesskapet.",
"Failed to invite users to %(groupId)s": "Fekk ikkje til å byda brukarar inn til %(groupId)s",
- "Failed to add the following rooms to %(groupId)s:": "Fylgjande rom lét seg ikkje leggja til i %(groupId)s:",
+ "Failed to add the following rooms to %(groupId)s:": "Fekk ikkje til å invitera følgjande rom til %(groupId)s:",
"Riot does not have permission to send you notifications - please check your browser settings": "Riot har ikkje tillating til å senda deg varsel - ver venleg og sjekk nettlesarinnstillingane dine",
"Riot was not given permission to send notifications - please try again": "Riot fekk ikkje tillating til å senda varsel - ver venleg og prøv igjen",
"Unable to enable Notifications": "Klarte ikkje å skru på Varsel",
"This email address was not found": "Denne epostadressa var ikkje funnen",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Epostadressa di ser ikkje ut til å vera tilknytta ein Matrix-ID på denne heimtenaren.",
- "Default": "Utgangspunktinnstilling",
+ "Default": "Opphavleg innstilling",
"Restricted": "Avgrensa",
"Moderator": "Moderator",
"Admin": "Administrator",
"Start a chat": "Start ei samtale",
- "Who would you like to communicate with?": "Kven vil du koma i kontakt med?",
- "Start Chat": "Start ei Samtale",
- "Invite new room members": "Byd nye rommedlemer inn",
- "Send Invites": "Send Innbydingar",
"Operation failed": "Handling mislukkast",
"Failed to invite": "Fekk ikkje til å byda inn",
"Failed to invite the following users to the %(roomName)s room:": "Dei fylgjande brukarane lét seg ikkje byda inn til %(roomName)s:",
@@ -91,10 +86,10 @@
"Room %(roomId)s not visible": "Rommet %(roomId)s er ikkje synleg",
"Missing user_id in request": "Manglande user_id i førespurnad",
"Usage": "Bruk",
- "Searches DuckDuckGo for results": "Røkjer DuckDuckGo etter resultat",
+ "Searches DuckDuckGo for results": "Søker på DuckDuckGo for resultat",
"Your language of choice": "Ditt valde mål",
"e.g. %(exampleValue)s": "t.d. %(exampleValue)s",
- "/ddg is not a command": "/ddg er ikkje eit påbod",
+ "/ddg is not a command": "/ddg er ikkje ein kommando",
"Changes your display nickname": "Forandrar kallenamnet ditt",
"Invites user with given id to current room": "Byd brukarar med den gjevne IDen inn til det noverande rommet",
"Joins room with given alias": "Gjeng inn i eit rom med det gjevne aliaset",
@@ -119,25 +114,20 @@
"Analytics": "Statistikk",
"Unable to capture screen": "Klarte ikkje ta opp skjermen",
"Existing Call": "Samtale er i gang",
- "To use it, just wait for autocomplete results to load and tab through them.": "For å bruka han, vent på at resultata fyller seg ut og tab gjennom dei.",
+ "To use it, just wait for autocomplete results to load and tab through them.": "For å bruka den, vent på at resultata fyller seg ut og tab gjennom dei.",
"Deops user with given id": "AvOPar brukarar med den gjevne IDen",
"Opens the Developer Tools dialog": "Opnar Utviklarverktøy-tekstboksen",
- "Verifies a user, device, and pubkey tuple": "Godkjenner ein brukar, eining og offentleg-nykeltuppel",
"Unverify": "Fjern godkjenning",
"Verify...": "Godkjenn...",
"Which officially provided instance you are using, if any": "Kva offisielt gjevne instanse du brukar, viss nokon",
"The remote side failed to pick up": "Den andre sida tok ikkje røret",
- "Unknown (user, device) pair:": "Ukjend (brukar, eining)-par:",
- "Device already verified!": "Eininga er allereie godkjend!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ÅTVARING: Eininga er allereie godkjend, men nyklane SAMSVARER IKKJE!",
- "Verified key": "Godkjend nykel",
+ "Verified key": "Godkjend nøkkel",
"Displays action": "Visar handlingar",
- "Unrecognised command:": "Ukjend påbod:",
"Reason": "Grunnlag",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s sa ja til innbydinga frå %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s sa ja til ei innbyding.",
"%(senderName)s requested a VoIP conference.": "%(senderName)s bad om ei VoIP-gruppesamtale.",
- "%(senderName)s invited %(targetName)s.": "%(senderName)s baud %(targetName)s inn.",
+ "%(senderName)s invited %(targetName)s.": "%(senderName)s inviterte %(targetName)s.",
"%(senderName)s banned %(targetName)s.": "%(senderName)s stengde %(targetName)s ute.",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s endra visingsnamnet sitt til %(displayName)s.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s sette visingsnamnet sitt som %(displayName)s.",
@@ -159,18 +149,17 @@
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s sende eit bilete.",
"Someone": "Nokon",
"(not supported by this browser)": "(ikkje støtta av denne nettlesaren)",
- "%(senderName)s answered the call.": "%(senderName)s tok røret.",
+ "%(senderName)s answered the call.": "%(senderName)s svarde på samtalen.",
"(could not connect media)": "(klarte ikkje å kopla media saman)",
"(no answer)": "(ingen svar)",
- "(unknown failure: %(reason)s)": "(ukjend mislukking: %(reason)s)",
- "%(senderName)s ended the call.": "%(senderName)s enda samtala.",
- "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s baud %(targetDisplayName)s inn til rommet.",
- "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s gjorde slik at den framtidige romhistoria er tilgjengeleg for alle rommedlemer frå då dei vart innbodne.",
+ "(unknown failure: %(reason)s)": "(ukjend feil: %(reason)s)",
+ "%(senderName)s ended the call.": "%(senderName)s avslutta samtalen.",
+ "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s inviterte %(targetDisplayName)s til å bli med i rommet.",
+ "%(senderName)s made future room history visible to all room members, from the point they are invited.": "%(senderName)s gjorde slik at den framtidige romhistoria er tilgjengeleg for alle rommedlemar frå då dei vart invitert.",
"%(senderName)s made future room history visible to all room members, from the point they joined.": "%(senderName)s gjorde slik at den framtidige romhistoria er tilgjengeleg for alle rommedlemer frå då dei kom inn.",
"%(senderName)s made future room history visible to all room members.": "%(senderName)s gjorde den framtidige romhistoria tilgjengeleg for alle rommedlemer.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s gjorde den framtidige romhistoria tilgjengelg for kven som helst.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s gjorde den framtidige romhistoria tilgjengeleg til ukjende (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s skrudde ende-til-ende-kryptering på (%(algorithm)s-algoritmen).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s frå %(fromPowerLevel)s til %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s endra makthøgda til %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s endra dei festa meldingane i rommet.",
@@ -178,10 +167,10 @@
"%(widgetName)s widget added by %(senderName)s": "%(widgetName)s-widget lagt til av %(senderName)s",
"%(widgetName)s widget removed by %(senderName)s": "%(widgetName)s widget fjerna av %(senderName)s",
"Failure to create room": "Klarte ikkje å laga rommet",
- "Server may be unavailable, overloaded, or you hit a bug.": "tenaren er kanskje utilgjengeleg, overlasta elles so traff du ein bøgg.",
+ "Server may be unavailable, overloaded, or you hit a bug.": "Serveren er kanskje utilgjengeleg, overlasta elles så traff du ein bug.",
"Send anyway": "Send likevel",
"Send": "Send",
- "Unnamed Room": "Rom utan Namn",
+ "Unnamed Room": "Rom utan namn",
"Your browser does not support the required cryptography extensions": "Nettlesaren din støttar ikkje dei naudsynte kryptografiske utvidingane",
"Not a valid Riot keyfile": "Ikkje ei gyldig Riot-nykelfil",
"Authentication check failed: incorrect password?": "Godkjenningssjekk mislukkast: urett passord?",
@@ -197,8 +186,6 @@
"Automatically replace plain text Emoji": "Erstatt Emojiar i plaintekst av seg sjølv",
"Mirror local video feed": "Spegl den lokale videofeeden",
"Send analytics data": "Send statistikkdata",
- "Never send encrypted messages to unverified devices from this device": "Send aldri krypterte meldingar til ikkje-godkjende einingar frå denne eininga",
- "Never send encrypted messages to unverified devices in this room from this device": "Send aldri krypterte meldingar til ikkje-godkjende einingar i dette rommet frå denne eininga",
"Enable URL previews for this room (only affects you)": "Skru URL-førehandsvisingar på for dette rommet (påverkar deg åleine)",
"Enable URL previews by default for participants in this room": "Skru URL-førehandsvisingar på som utgangspunkt for deltakarar i dette rommet",
"Room Colour": "Romfarge",
@@ -238,10 +225,7 @@
"New Password": "Nytt Passord",
"Confirm password": "Stadfest passord",
"Change Password": "Endra Passord",
- "Unable to load device list": "Klarte ikkje å lasta einingslista",
"Authentication": "Godkjenning",
- "Delete %(count)s devices|other": "Slett %(count)s einingar",
- "Delete %(count)s devices|one": "Slett eining",
"Device ID": "EiningsID",
"Last seen": "Sist sedd",
"Failed to set display name": "Fekk ikkje til å setja visingsnamn",
@@ -280,13 +264,7 @@
"%(senderName)s sent a video": "%(senderName)s sende ein video",
"%(senderName)s uploaded a file": "%(senderName)s lasta ei fil opp",
"Options": "Innstillingar",
- "Your key share request has been sent - please check your other devices for key share requests.": "Nykeldelingsforespurnaden din vart send - ver venleg og sjekk dei andre einingane dine for nykeldelingsforespurnadar.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Viss dei andre einingane dine ikkje har nykelen til denne meldinga kan du ikkje dekryptera ho.",
"Key request sent.": "Nykelforespurnad er send.",
- "Re-request encryption keys from your other devices.": "Spør på nytt om krypteringsnyklar frå dei andre einingane dine.",
- "Undecryptable": "Kan ikkje dekrypterast",
- "Encrypted by an unverified device": "Kryptert av ei ikkje-godkjent eining",
- "Unencrypted message": "Ikkje-kryptert melding",
"Please select the destination room for this message": "Ver venleg og vel målrommet for denne meldinga",
"Blacklisted": "Svartelista",
"device id: ": "einingsID: ",
@@ -308,13 +286,11 @@
"Failed to change power level": "Fekk ikkje til å endra makthøgda",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Du kjem ikkje til å kunna gjera om på denne endringa sidan du set brukaren si høgd opp til di eiga.",
"Are you sure?": "Er du sikker?",
- "No devices with registered encryption keys": "Ingen einingar med oppskrivne krypteringsnykler",
- "Devices": "Einingar",
"Unignore": "Slutt å oversjå",
"Ignore": "Oversjå",
"Mention": "Nemn",
"Invite": "Byd inn",
- "Enable inline URL previews by default": "Skru URL-førehandsvisingar i tekstfeltet på",
+ "Enable inline URL previews by default": "Skru URL-førehandsvising i tekstfeltet på",
"Share Link to User": "Del Brukarlenkje",
"User Options": "Brukarinnstillingar",
"Direct chats": "Direktesamtaler",
@@ -327,32 +303,20 @@
"and %(count)s others...|one": "og ein til...",
"Invited": "Innboden",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (makthøgd %(powerLevelNumber)s)",
- "bold": "feit",
- "italic": "skeiv",
- "deleted": "sletta",
- "underlined": "understreka",
- "bulleted-list": "punktliste",
- "numbered-list": "talliste",
"Attachment": "Vedlegg",
"Hangup": "Legg på",
"Voice call": "Røystesamtale",
"Video call": "Videosamtale",
"Upload file": "Last ei fil opp",
- "Show Text Formatting Toolbar": "Vis Tekstformverktøylinje",
"Send an encrypted reply…": "Send eit kryptert svar…",
"Send a reply (unencrypted)…": "Send eit svar (ikkje-kryptert)…",
"Send an encrypted message…": "Send ei kryptert melding…",
"Send a message (unencrypted)…": "Send ei melding (ikkje-kryptert)…",
"You do not have permission to post to this room": "Du har ikkje tillating til å senda meldingar i dette rommet",
- "Hide Text Formatting Toolbar": "Gøym Tekstformverktøylinje",
"Server error": "Noko gjekk gale med tenaren",
"Server unavailable, overloaded, or something else went wrong.": "tenaren var utilgjengeleg, overlasta, elles so gjekk noko anna galt.",
"Command error": "Noko gjekk gale med påbodet",
"The maximum permitted number of widgets have already been added to this room.": "Det største mogelege talet widgets finst allereie på dette rommet.",
- "Unable to reply": "Klarte ikkje å svara",
- "At this time it is not possible to reply with an emote.": "Det er førebels ikkje mogeleg å svara med ein emote.",
- "Markdown is disabled": "Markdown er skrudd av",
- "Markdown is enabled": "Markdown er skrudd på",
"Unpin Message": "Tak ned festa Melding",
"Jump to message": "Hopp til melding",
"No pinned messages.": "Inga festa meldingar.",
@@ -385,10 +349,9 @@
"Forget room": "Gløym rom",
"Search": "Søk",
"Share room": "Del rom",
- "Community Invites": "Samfunnsinnbydingar",
+ "Community Invites": "Fellesskapsinvitasjonar",
"Invites": "Innbydingar",
"Favourites": "Yndlingar",
- "People": "Folk",
"Rooms": "Rom",
"Low priority": "Lågrett",
"System Alerts": "Systemvarsel",
@@ -430,18 +393,16 @@
"Show Stickers": "Vis Klistremerkar",
"Jump to first unread message.": "Hopp til den fyrste ulesne meldinga.",
"Close": "Lukk",
- "Invalid alias format": "Ugangbar aliasform",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' er ikkje ei gangbar aliasform",
"Remote addresses for this room:": "Fjernadresser for dette rommet:",
"Local addresses for this room:": "Lokaladresser for dette rommet:",
- "This room has no local addresses": "Dette rommer har ingen lokaladresser",
+ "This room has no local addresses": "Dette rommet har ingen lokaladresser",
"New address (e.g. #foo:%(localDomain)s)": "Ny adresse (t.d. #foo:%(localDomain)s)",
- "Invalid community ID": "Ugangbar samfunnsID",
- "'%(groupId)s' is not a valid community ID": "'%(groupId)s' er ikkje ein gangbar samfunnsID",
+ "Invalid community ID": "Ugyldig fellesskaps-ID",
+ "'%(groupId)s' is not a valid community ID": "'%(groupId)s' er ikkje ein gyldig fellesskaps-ID",
"Flair": "Særpreg",
"Showing flair for these communities:": "Viser særpreg for desse samfunna:",
"This room is not showing flair for any communities": "Dette rommet viser ikkje særpreg for nokre samfunn",
- "New community ID (e.g. +foo:%(localDomain)s)": "Ny samfunnsID (t.d. +foo:%(localDomain)s)",
+ "New community ID (e.g. +foo:%(localDomain)s)": "Ny fellesskaps-ID (t.d. +foo:%(localDomain)s)",
"You have enabled URL previews by default.": "Du har skrudd URL-førehandsvisingar på i utgangspunktet.",
"You have disabled URL previews by default.": "Du har skrudd URL-førehandsvisingar av i utgangspunktet.",
"URL previews are enabled by default for participants in this room.": "URL-førehandsvisingar er skrudd på i utgangspunktet for dette rommet.",
@@ -489,23 +450,23 @@
"Sign in": "Logg inn",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Viss du ikkje seier kva epostadresse du vil bruka vil du ikkje kunna attendestille passordet ditt. Er du sikker?",
"Register": "Meld deg inn",
- "Remove from community": "Fjern frå samfunnet",
- "Disinvite this user from community?": "Fjern denne brukaren si innbyding til samfunnet?",
- "Remove this user from community?": "Fjern denne brukaren frå samfunnet?",
+ "Remove from community": "Fjern frå fellesskapet",
+ "Disinvite this user from community?": "Fjerne denne brukaren sin invitasjon til fellesskapet?",
+ "Remove this user from community?": "Fjerne denne brukaren frå fellesskapet?",
"Failed to withdraw invitation": "Fekk ikkje til å taka innbydinga att",
- "Failed to remove user from community": "Fekk ikkje til å fjerna brukaren frå samfunnet",
+ "Failed to remove user from community": "Fekk ikkje til å fjerna brukaren frå fellesskapet",
"Are you sure you want to remove '%(roomName)s' from %(groupId)s?": "Er du sikker på at du vil fjerna '%(roomName)s' frå %(groupId)s?",
- "Removing a room from the community will also remove it from the community page.": "Å fjerna eit rom frå samfunnet fjernar det frå samfunnssida òg.",
+ "Removing a room from the community will also remove it from the community page.": "Fjerning av rom frå fellesskapet vil i tillegg fjerna det frå fellesskapssida.",
"Remove": "Fjern",
- "Failed to remove room from community": "Fekk ikkje til å fjerna rommet frå samfunnet",
+ "Failed to remove room from community": "Fekk ikkje til å fjerna rommet frå fellesskapet",
"Failed to remove '%(roomName)s' from %(groupId)s": "Fekk ikkje til å fjerna '%(roomName)s' frå %(groupId)s",
"Something went wrong!": "Noko gjekk gale!",
"The visibility of '%(roomName)s' in %(groupId)s could not be updated.": "Kunne ikkje oppdatera synligheita til '%(roomName)s' i %(groupId)s.",
"Visibility in Room List": "Synligheit i Romlista",
"Visible to everyone": "Synleg for alle",
- "Only visible to community members": "Berre synleg for samfunnsmedlemer",
+ "Only visible to community members": "Berre synleg for medlemar av fellesskapet",
"Something went wrong when trying to get your communities.": "Noko gjekk gale med framhentinga av samfunna dine.",
- "Display your community flair in rooms configured to show it.": "Vis samfunnssærpreget ditt i rom som er stilt inn til å visa det.",
+ "Display your community flair in rooms configured to show it.": "Vis fellesskapsetiketten din i rom som er stilt inn til å visa det.",
"You're not currently a member of any communities.": "Du er for augeblunket ikkje medlem i nokre samfunn.",
"Yes, I want to help!": "Ja, eg vil vera til nytte!",
"You are not receiving desktop notifications": "Du fær ikkje skrivebordsvarsel",
@@ -610,11 +571,11 @@
"Send logs": "Send loggar inn",
"Unavailable": "Utilgjengeleg",
"Changelog": "Endringslogg",
- "Something went wrong whilst creating your community": "Noko gjekk gale med laginga av samfunnet ditt",
- "Create Community": "Lag Samfunn",
- "Community Name": "Samfunnsnamn",
+ "Something went wrong whilst creating your community": "Noko gjekk gale med laginga av felleskapet ditt",
+ "Create Community": "Lag Fellesskap",
+ "Community Name": "Fellesskapsnamn",
"Example": "Døme",
- "Community ID": "Samfunns-ID",
+ "Community ID": "Fellesskap-ID",
"example": "døme",
"Create": "Lag",
"Create Room": "Lag eit Rom",
@@ -623,8 +584,8 @@
"Minimize apps": "Legg æppar ned",
"Confirm Removal": "Godkjenn Fjerning",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Er du sikker på at du vil fjerna (sletta) denne hendingen? Merk deg at vis du slettar eit romnamn eller ei emneendring kan det gjera om på endringa.",
- "Community IDs cannot be empty.": "Samfunns-IDfeltet kan ikkje vera tomt.",
- "Community IDs may only contain characters a-z, 0-9, or '=_-./'": "Samfunns-IDar kan berre innehalda teikna a-z, 0-9, eller '=_-./'",
+ "Community IDs cannot be empty.": "Feltet Fellesskap-ID kan ikkje vera tomt.",
+ "Community IDs may only contain characters a-z, 0-9, or '=_-./'": "Fellesskap-IDar kan berre innehalda teikna a-z, 0-9, eller '=_-./'",
"Unknown error": "Noko ukjend gjekk galt",
"Incorrect password": "Urett passord",
"This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Dette gjer at brukaren din vert ubrukeleg til evig tid. Du kjem ikkje til å kunna logga inn, og ingen andre kjem til å kunna melde seg inn med den gamle brukar-IDen din. Brukaren din forlét òg alle rom han er i, og brukardetaljane dine vil verta fjerna frå identitetstenaren. Denne handlinga kan ikkje gjerast om.",
@@ -633,10 +594,6 @@
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Meldingssynlegheit på Matrix liknar på epost. At vi gløymer meldingane dine tyder at meldingar du har send ikkje vil verta delt med nye, ikkje-innmeldte brukarar, men brukare som er meldt på som allereie har tilgang til desse meldingane vil fortsatt kunne sjå kopien deira.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Ver venleg og gløym alle meldingane eg har send når brukaren min vert avliven (Åtvaring: dette gjer at framtidige brukarar ikkje fær eit fullstendig oversyn av samtalene)",
"To continue, please enter your password:": "For å gå fram, ver venleg og skriv passordet ditt inn:",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "For å godkjenna at denne eininga er til å stola på, ver venleg og snakk med eiaren på ei anna måte (t.d. ansikt til ansikt eller på telefon) og spør dei om nykelen dei ser i Brukarinnstillingane for denne eininga samsvarar med nykelen under:",
- "Device name": "Einingsnamn",
- "Device key": "Einingsnykel",
- "Verify device": "Godkjenn eining",
"I verify that the keys match": "Eg stadfestar at nyklane samsvarar",
"Back": "Attende",
"Event sent!": "Hending send!",
@@ -648,12 +605,9 @@
"Toolbox": "Verktøykasse",
"Developer Tools": "Utviklarverktøy",
"An error has occurred.": "Noko gjekk gale.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Du la til den nye eininga '%(displayName)s', som spør om krypteringsnyklar.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Den ikkje-godkjende eininga di '%(displayName)s' spør om krypteringsnyklar.",
"Start verification": "Byrj godkjenning",
"Share without verifying": "Del utan å godkjenna",
"Ignore request": "Oversjå førespurnad",
- "Loading device info...": "Lastar einingsinfo inn...",
"Encryption key request": "Krypteringsnykel-førespurnad",
"Sign out": "Logg ut",
"Clear Storage and Sign Out": "Tøm Lager og Logg Ut",
@@ -685,19 +639,13 @@
"Failed to change password. Is your password correct?": "Fekk ikkje til å skifta passord. Er passordet rett?",
"(HTTP status %(httpStatus)s)": "(HTTP-tilstand %(httpStatus)s)",
"Please set a password!": "Ver venleg og set eit passord!",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Dette tillèt deg å fara attende til brukaren din etter å ha logga ut, og å logga inn på andre einingar.",
"Share Room": "Del Rom",
"Link to most recent message": "Lenk til den nyaste meldinga",
"Share User": "Del Brukar",
- "Share Community": "Del Samfunn",
+ "Share Community": "Del Fellesskap",
"Share Room Message": "Del Rommelding",
"Link to selected message": "Lenk til den valde meldinga",
"COPY": "KOPIER",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Du set for augeblunket ikkje-godkjende einingar på svartelista; for å senda meldingar til desse einingane må du godkjenna dei.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Vi tilrår deg å gå gjennom godkjenninga for kvar av einingane for å vera sikker på at dei tilhøyrer sine rettmessige eigarar, men du kan senda meldinga på nytt utan å godkjenna viss du vil.",
- "Room contains unknown devices": "Rommet inneheld ukjende einingar",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" inneheld einingar som du ikkje har sett før.",
- "Unknown devices": "Ukjende einingar",
"Private Chat": "Lukka Samtale",
"Public Chat": "Offentleg Samtale",
"Alias (optional)": "Alias (valfritt)",
@@ -725,7 +673,7 @@
"Forget": "Gløym",
"Low Priority": "Lågrett",
"Direct Chat": "Direktesamtale",
- "View Community": "Sjå Samfunn",
+ "View Community": "Sjå Fellesskap",
"Sorry, your browser is not able to run Riot.": "Orsak, nettlesaren din klarer ikkje å køyra Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot brukar mange omfattande nettlesarfunksjonar, og nokre av dei er ikkje tilgjengelege eller i utprøving i nettlesaren din.",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Med denne nettlesaren, er det mogleg at synet og kjensla av applikasjonen er fullstendig gale, og nokre eller alle funksjonar verkar kanskje ikkje. Viss du vil prøva likevel kan du gå fram, men då du må sjølv handtera alle vanskar du møter på!",
@@ -734,44 +682,44 @@
"You must register to use this functionality": "Du må melda deg inn for å bruka denne funksjonen",
"You must join the room to see its files": "Du må fare inn i rommet for å sjå filene dets",
"There are no visible files in this room": "Det er ingen synlege filer i dette rommet",
- "
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
HTML for samfunnssida di
\n
\n Bruk den Lange Skildringa for å ynskja nye medlemer velkomen, eller gje ut viktige lenkjer\n
\n
\n Du kan til og med bruka 'img'-merkelappar!\n
\n",
- "Add rooms to the community summary": "Legg rom til i samfunnsoppsamanfattinga",
+ "
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
HTML for samfunnssida di
\n
\n Bruk den Lange Skildringa for å ynskja nye medlemer velkomen, eller gje ut viktige lenkjer\n
\n
\n Du kan til og med bruka 'img' HTML-taggar!\n
\n",
+ "Add rooms to the community summary": "Legg rom til i samandraget for fellesskapet",
"Which rooms would you like to add to this summary?": "Kva rom ynskjer du å leggja til i samanfattinga?",
"Add to summary": "Legg til i samanfattinga",
"Failed to add the following rooms to the summary of %(groupId)s:": "Fekk ikkje til å leggja dei fylgjande romma til i samanfattinga av %(groupId)s:",
"Add a Room": "Legg eit Rom til",
"Failed to remove the room from the summary of %(groupId)s": "Fekk ikkje til å fjerna rommet frå samanfattinga av %(groupId)s",
"The room '%(roomName)s' could not be removed from the summary.": "Rommet '%(roomName)s' lét seg ikkje fjerna frå samanfattinga.",
- "Add users to the community summary": "Legg brukarar til i samfunnsamanfattinga",
+ "Add users to the community summary": "Legg brukarar til i samandraget for fellesskapet",
"Who would you like to add to this summary?": "Kven vil du leggja til i samanfattinga?",
"Failed to add the following users to the summary of %(groupId)s:": "Fekk ikkje til å leggja fylgjande brukarar til i samanfattinga av %(groupId)s:",
"Add a User": "Legg ein Brukar til",
"Failed to remove a user from the summary of %(groupId)s": "Fekk ikkje til å fjerna brukaren frå samanfattinga av %(groupId)s",
"The user '%(displayName)s' could not be removed from the summary.": "Brukaren '%(displayName)s' lét seg ikkje fjerna frå samanfattinga.",
"Failed to upload image": "Fekk ikkje til å lasta biletet opp",
- "Failed to update community": "Fekk ikkje til å oppdatera samfunnet",
+ "Failed to update community": "Fekk ikkje til å oppdatera fellesskapet",
"Unable to accept invite": "Fekk ikkje til å seia ja til innbydinga",
- "Unable to join community": "Fekk ikkje til å fara inn i samfunnet",
- "Leave Community": "Far frå Samfunnet",
+ "Unable to join community": "Fekk ikkje til å bli med i fellesskapet",
+ "Leave Community": "Forlat fellesskapet",
"Leave %(groupName)s?": "Far frå %(groupName)s?",
- "Unable to leave community": "Fekk ikkje til å fara frå samfunnet",
- "Community Settings": "Samfunninnstillingar",
- "Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "Endringar gjort på samfunnsnamnet og samfunnsavataren vert kanskje ikkje synleg forandre før opp til 30 minutt har gått.",
- "These rooms are displayed to community members on the community page. Community members can join the rooms by clicking on them.": "Desse romma vert viste for samfunnsmedlemer på samfunnsida. Samfunnsmedlemer kan fara inn i romma ved å klikka på dei.",
- "Add rooms to this community": "Legg rom til i samfunnet",
+ "Unable to leave community": "Fekk ikkje til å forlate fellesskapet",
+ "Community Settings": "Fellesskapsinnstillingar",
+ "Changes made to your community name and avatar might not be seen by other users for up to 30 minutes.": "Endringar gjort på felleskapsnamn og felleskapsavatar blir kanskje ikkje synleg for andre før etter 30 minutt.",
+ "These rooms are displayed to community members on the community page. Community members can join the rooms by clicking on them.": "Desse romma vert viste for medlem i felleskapet på felleskapssida. Felleskapsmedlemar kan bli med i romma ved å klikke på dei.",
+ "Add rooms to this community": "Legg rom til i fellesskapet",
"Featured Rooms:": "Utvalde Rom:",
"Featured Users:": "Utvalde Brukarar:",
- "%(inviter)s has invited you to join this community": "%(inviter)s baud deg inn til dette samfunnet",
- "Join this community": "Far inn i samfunnet",
- "Leave this community": "Far frå samfunnet",
- "You are an administrator of this community": "Du er administrator i dette samfunnet",
- "You are a member of this community": "Du er eit medlem av dette samfunnet",
- "Who can join this community?": "Kven kan verta med i samfunnet?",
+ "%(inviter)s has invited you to join this community": "%(inviter)s inviterte deg med i dette fellesskapet",
+ "Join this community": "Bli med i dette felleskapet",
+ "Leave this community": "Forlat dette felleskapet",
+ "You are an administrator of this community": "Du er administrator av dette fellesskapet",
+ "You are a member of this community": "Du er medlem av dette fellesskapet",
+ "Who can join this community?": "Kven kan bli med i dette fellesskapet?",
"Everyone": "Alle",
- "Your community hasn't got a Long Description, a HTML page to show to community members. Click here to open settings and give it one!": "Samfunnet ditt har ikkje ei Lang Skilrding (ei HTML-side for å visa til samfunnsmedlem.) Klikk her for å opna innstillingar og gje det ei!",
+ "Your community hasn't got a Long Description, a HTML page to show to community members. Click here to open settings and give it one!": "Fellesskapet ditt har ikkje ein lang beskrivelse (HTML-side for å visa til fellesskapsmedlem.) Klikk her for å opna innstillingar og legge dette til!",
"Long Description (HTML)": "Lang Skildring (HTML)",
"Description": "Skildring",
- "Community %(groupId)s not found": "Fann ikkje samfunnet %(groupId)s",
+ "Community %(groupId)s not found": "Fann ikkje fellesskapet %(groupId)s",
"Failed to load %(groupId)s": "Fekk ikkje til å lasta %(groupId)s",
"Failed to reject invitation": "Fekk ikkje til å seia nei til innbyding",
"This room is not public. You will not be able to rejoin without an invite.": "Dette rommet er ikkje offentleg. Du kjem ikkje til å kunna koma inn att utan ei innbyding.",
@@ -789,13 +737,13 @@
"Logout": "Loggar ut",
"Your Communities": "Dine Samfunn",
"Error whilst fetching joined communities": "Noko gjekk gale med innhentinga av samfunna du er i",
- "Create a new community": "Lag eit nytt samfunn",
+ "Create a new community": "Lag eit nytt fellesskap",
"You have no visible notifications": "Du har ingen synlege varsel",
"Members": "Medlemer",
"Invite to this room": "Byd inn til rommet",
"Files": "Filer",
"Notifications": "Varsel",
- "Invite to this community": "Byd inn til samfunnet",
+ "Invite to this community": "Inviter til dette fellesskapet",
"The server may be unavailable or overloaded": "Tenaren er kanskje utilgjengeleg eller overlasta",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Slett rommaliaset %(alias)s og fjern %(name)s frå utvalet?",
"Remove %(name)s from the directory?": "Fjern %(name)s frå utvalet?",
@@ -808,8 +756,6 @@
"Couldn't find a matching Matrix room": "Kunne ikkje finna eit samsvarande Matrixrom",
"Fetching third party location failed": "Noko gjekk gale med hentinga tredjepartiplasseringa",
"Scroll to bottom of page": "Blad til botnen",
- "Message not sent due to unknown devices being present": "Meldinga vart ikkje send fordi ukjende einingar er til stades",
- "Show devices, send anyway or cancel.": "Vis einingar, Send likevel eller Bryt av.",
"You can't send any messages until you review and agree to our terms and conditions.": "Du kan ikkje senda meldingar før du ser over og seier deg einig i våre Vilkår og Føresetnader.",
"%(count)s of your messages have not been sent.|other": "Nokre av meldingane dine vart ikkje sende.",
"%(count)s of your messages have not been sent.|one": "Meldinga di vart ikkje send.",
@@ -840,13 +786,10 @@
"Light theme": "Ljost preg",
"Dark theme": "Dimt preg",
"Success": "Det gjekk",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Passordet ditt vert endra. Du får ikkje push-varsel på andre einingar før du loggar inn att på dei",
"Unable to remove contact information": "Klarte ikkje å fjerna kontaktinfo",
"": "",
"Import E2E room keys": "Hent E2E-romnyklar inn",
"Cryptography": "Kryptografi",
- "Device ID:": "Einings-ID:",
- "Device key:": "Einingsnykel:",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Viss du har sendt inn ein bøgg gjennom GitHub, kan debøgg-loggar hjelpa oss med å finna problemet. Debøgg-loggar inneheld data om æpp-bruk, b.a. Brukarnamnet ditt, IDane eller aliasa på romma eller gruppene du har vitja og brukarnamna til andre brukarar. Dei inneheld ikkje meldingar.",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot samlar anonym statistikk inn slik at vi kan forbetre æppen.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Personvern er viktig for oss, so vi samlar ikkje på personleg eller attkjenneleg data for statistikken vår.",
@@ -869,7 +812,6 @@
"click to reveal": "klikk for å visa",
"Homeserver is": "Heimtenaren er",
"Identity Server is": "Identitetstenaren er",
- "matrix-react-sdk version:": "matrix-react-sdk-utgåve:",
"riot-web version:": "riot-web-utgåve:",
"olm version:": "olm-utgåve:",
"Failed to send email": "Fekk ikkje til å senda eposten",
@@ -910,7 +852,6 @@
"Session ID": "Økt-ID",
"End-to-end encryption information": "Ende-til-ende-krypteringsinfo",
"Event information": "Hendingsinfo",
- "Sender device information": "Info om avsendareininga",
"Passphrases must match": "Passfrasane må vere identiske",
"Passphrase must not be empty": "Passefrasefeltet kan ikkje vera tomt",
"Enter passphrase": "Skriv inn passfrase",
@@ -918,25 +859,19 @@
"You must specify an event type!": "Du må oppgje ein handlingssort!",
"Call Timeout": "Tidsavbrot i Samtala",
"Enable automatic language detection for syntax highlighting": "Skru automatisk måloppdaging på for syntax-understreking",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Å endra passordet ditt attendestiller førebelst alle ende-til-ende-krypteringsnyklar på alle einingar, slik at kryptert pratehistorie vert uleseleg, med mindre du fyrst hentar romnyklane dine ut og hentar dei inn att etterpå. I framtida vil denne prosessen vera betre.",
"Export E2E room keys": "Hent E2E-romnyklar ut",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Det kan henda at du stilte dei inn på ein annan klient enn Riot. Du kan ikkje stilla på dei i Riot men dei gjeld framleis",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Nykeldelingsførespurnader vert sende til dei andre einingane dine av seg sjølv. Viss du sa nei til eller avviste førespurnadene på dei andre einingane, klikk her for å beda om nyklane for denne øykta på nytt.",
"Jump to read receipt": "Hopp til lesen-lappen",
"Filter room members": "Filtrer rommedlemer",
- "inline-code": "kode-i-tekst",
- "block-quote": "blokk-sitat",
"When someone puts a URL in their message, a URL preview can be shown to give more information about that link such as the title, description, and an image from the website.": "Når nokon legg ein URL med i meldinga si, kan ei URL-førehandsvising visast for å gje meir info om lenkja slik som tittelen, skildringa, og eit bilete frå nettsida.",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Du held på å verta teken til ei tredje-partisside so du kan godkjenna brukaren din til bruk med %(integrationsUrl)s. Vil du gå fram?",
"Token incorrect": "Teiknet er gale",
- "Filter community members": "Filtrer samfunnsmedlemer",
+ "Filter community members": "Filtrer fellesskapssmedlemar",
"Custom Server Options": "Tilpassa tenar-innstillingar",
- "Filter community rooms": "Filtrer samfunnsrom",
+ "Filter community rooms": "Filtrer rom i fellesskapet",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Ver venleg og hjelp oss å forbetra Riot.im ved å senda anonym brukardata. Dette brukar ei datakake (ver venleg og sjå på Datakakeretningslinene våre).",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie.": "Ver venleg og hjelp oss å forbetra Riot.im ved å senda anonym brukardata. Dette brukar ei datakake.",
"Whether or not you're using the Richtext mode of the Rich Text Editor": "Om du brukar Riktekst-innstillinga på Riktekstfeltet",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ÅTVARING: NOKO GJEKK GALT MED NYKELGODKJENNINGA! Signeringsnykelen til %(userId)s og eininga %(deviceId)s er \"%(fprint)s\", som ikkje er lik den gjevne nykelen \"%(fingerprint)s\". Dette kan tyda at nokon tjuvlyttar på kommuniseringa!",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Signeringsnykelen du oppgav er lik signeringsnykelen du fekk frå %(userId)s si eining %(deviceId)s. Eininga merkast som godkjend.",
"This room is not accessible by remote Matrix servers": "Rommet er ikkje tilgjengeleg for andre Matrix-heimtenarar",
"Add an Integration": "Legg tillegg til",
"Popout widget": "Popp widget ut",
@@ -945,7 +880,6 @@
"Custom level": "Sjølvsett høgd",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Klarte ikkje å lasta handlinga som vert svara til. Anten finst ho ikkje elles har du ikkje tilgang til å sjå ho.",
"Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Debøgg-loggar inneheld æppbrukdata slik som brukarnamnet ditt, IDane eller aliasane på romma eller gruppene du har vore i og brukarnamna til andre brukarar. Dei inneheld ikkje meldingar.",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Vis dei er like, trykk på godkjenn-knappen under. Viss dei ikkje gjer det, tjuvlyttar nokon på eininga og du bør sannsynlegvis trykkja på svartelisting-knappen i staden.",
"Send Custom Event": "Send Sjølvsett Hending",
"Failed to send custom event.": "Fekk ikkje til å senda sjølvsett hending.",
"State Key": "Tilstandsnykel",
@@ -953,8 +887,8 @@
"Custom": "Sjølvsett",
"Failed to set Direct Message status of room": "Fekk ikkje til å setja Direktemelding-tilstanden til rommet",
"Did you know: you can use communities to filter your Riot.im experience!": "Visste du at: du kan bruka samfunn for å filtrera Riot.im-opplevinga di!",
- "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "For å setja opp eit filter, drag ein samfunnsavatar bort til filterpanelet til venstre på skjermen. Du kan klikka på ein avatar i filterpanelet når som helst for å sjå berre romma og folka tilknytta det samfunnet.",
- "Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Lag eit samfunn for å føra saman brukarar og rom! Bygg di eiga heimeside for å kreva din del av Matrix-verda.",
+ "To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "For å setja opp eit filter, dra ein fellesskapsavatar bort til filterpanelet til venstre på skjermen. Du kan klikka på ein avatar i filterpanelet når som helst for å sjå berre romma og folka tilknytta det fellesskapet.",
+ "Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Lag eit fellesskap for å føra saman brukarar og rom! Bygg di eiga heimeside for å kreva din del av Matrix-verda.",
"Unable to look up room ID from server": "Klarte ikkje å henta rom-ID frå tenaren",
"Server may be unavailable, overloaded, or search timed out :(": "Tenaren er kanskje utilgjengeleg, overlasta, elles så vart søket tidsavbrote :(",
"Clear filter": "Tøm filter",
@@ -992,14 +926,12 @@
"Guest": "Gjest",
"Your profile": "Din profil",
"Could not load user profile": "Klarde ikkje å laste brukarprofilen",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Endring av passordet vil nullstille nøklar for ende-til-ende kryptering på alle eningane dine. Alle tidligare meldingar og historikk vil bli ulesbar. Aktiver sikkerheitskopiering for nøklar (Key Backup) eller eksporter romnøklane på ein annan eining før du nullstiller passordet.",
"Your Matrix account on %(serverName)s": "Din Matrix-konto på %(serverName)s",
"Your Matrix account on ": "Din Matrix-konto på ",
"No identity server is configured: add one in server settings to reset your password.": "Ingen identitetsserver er konfigurert: legg til ein i innstillingane for å nullstille passordet ditt.",
"Sign in instead": "Logg inn istaden",
"A verification email will be sent to your inbox to confirm setting your new password.": "For å stadfeste tilbakestilling av passordet, vil ein e-post vil bli sendt til din innboks.",
"Your password has been reset.": "Passodet ditt vart nullstilt.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Du har blitt logga av frå alle einingane og vil ikkje lengre motta push-varslingar. For a reaktivere slike varsel, logg inn på nytt på kvar separate eining.",
"Set a new password": "Sett nytt passord",
"Invalid homeserver discovery response": "Ugyldig svar frå heimeserveren (discovery response)",
"Failed to get autodiscovery configuration from server": "Kladte ikkje å hente automatisk oppsett frå server",
@@ -1025,14 +957,12 @@
"Create your account": "Lag din konto",
"Failed to re-authenticate due to a homeserver problem": "Fekk ikkje til å re-authentisere grunna ein feil på heimeserveren",
"Failed to re-authenticate": "Fekk ikkje til å re-autentisere",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Ta tilbake tilgang til din konto og gjenopprett krypteringsnøklar lagra på denne eininga. Du kan ikkje lese krypterte meldingar viss du ikkje har desse.",
"Enter your password to sign in and regain access to your account.": "Skriv inn ditt passord for å logge på og ta tilbake tilgang til kontoen din.",
"Forgotten your password?": "Gløymt passord ?",
"Sign in and regain access to your account.": "Logg på og ta tilbake tilgang til din konto.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Du har ikkje muligheit til å logge på kontoen din. Kontakt systemadministratoren for meir informasjon.",
"You're signed out": "Du er no avlogga",
"Clear personal data": "Fjern personlege data",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Åtvaring: Dine personelge data (inklusive krypteringsnøklar) er fortsatt lagra på denne eininga. Fjern dette viss du ikkje skal bruke kontoen på denne eininga, eller logge på med ein annan konto.",
"Great! This passphrase looks strong enough.": "Flott! Denne passfrasen virkar til å vere sterk nok.",
"We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Vi vil lagre ein kryptert kopi av nøklane dine på vår server. Vern sikkerheitskopien din med ein passfrase.",
"For maximum security, this should be different from your account password.": "For maksimal sikkerheit, bør dette vere noko anna enn kontopassordet ditt.",
@@ -1046,17 +976,13 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Som eit sikkerheitsnett, kan du bruke den til å gjenopprette den krypterte meldingshistorikken i tilfelle du gløymer gjennopprettingsnøkkelen.",
"As a safety net, you can use it to restore your encrypted message history.": "Som eit sikkerheitsnett, kan du bruke den til å gjenopprette den krypterte meldingshistorikken.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Gjennopprettingsnøkkelen eit sikkerheitsnett, kan du bruke den til å gjenopprette den krypterte meldingshistorikken i tilfelle du gløymer passfrasen.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Ta vare på gjenopprettingsnøkkelen din på ein trygg plass, som for eksempel i eit passordhandteringsprogram (eller ein safe)",
"Your Recovery Key": "Gjenopprettingsnøkkelen din",
"Copy to clipboard": "Kopier til utklippstavle",
"Download": "Last ned",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Gjenopprettingsnøkkelen din har blitt kopiert til utklippstavla, lim den til:",
- "Your Recovery Key is in your Downloads folder.": "Gjenopprettingsnøkkelen ligg i Nedlastnings-mappa.",
"Print it and store it somewhere safe": "Skriv ut og ta vare på den på ein trygg stad",
"Save it on a USB key or backup drive": "Lagre til ein USB-pinne eller sikkerheitskopidisk",
"Copy it to your personal cloud storage": "Kopier den til personleg skylagring",
"Your keys are being backed up (the first backup could take a few minutes).": "Nøklane dine blir sikkerheitskopiert (den første kopieringa kan ta nokre minutt).",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Loggar du av eller brukar ein annan einheit, vil du ikkje ha mulegheit til å hente fram historikk for krypterte meldingar med mindre sikker gjenoppretting for meldingar (Secure Message Recovery) er satt opp.",
"Set up Secure Message Recovery": "Sett opp sikker gjenoppretting for meldingar",
"Secure your backup with a passphrase": "Gjer sikkerheitskopien trygg med ein passfrase",
"Confirm your passphrase": "Stadfest passfrasen din",
@@ -1074,12 +1000,9 @@
"New Recovery Method": "Ny gjenopprettingsmetode",
"A new recovery passphrase and key for Secure Messages have been detected.": "Ein ny gjenopprettingspassfrase og nøkkel for sikre meldingar vart funne.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Har du ikkje satt opp den nye gjenopprettingsmetoden, kan ein angripar prøve å bryte seg inn på kontoen din. Endre ditt kontopassord og sett opp gjenoppretting umiddelbart under instillingane.",
- "This device is encrypting history using the new recovery method.": "Denne eininga krypterer meldingshistorikken med den nye gjenopprettingsmetoden.",
"Go to Settings": "Gå til innstillingar",
"Set up Secure Messages": "Sett opp sikre meldingar (Secure Messages)",
"Recovery Method Removed": "Gjenopprettingsmetode fjerna",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Denne eininga har oppdaga at gjenopprettingspassfrasen og nøkkelen for sikre meldingar er fjerna.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Gjorde du dette ved eit uhell, kan du sette opp sikre meldingar på denne eininga. Dette vil kryptere all meldingshistorikk med ein ny gjenopprettingsmetode.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Viss du ikkje fjerna gjenopprettingsmetoden, kan ein angripar prøve å bryte seg inn på kontoen din. Endre kontopassordet ditt og sett ein opp ein ny gjenopprettingsmetode umidellbart under Innstillingar.",
"Add Email Address": "Legg til e-postadresse",
"Add Phone Number": "Legg til telefonnummer",
@@ -1091,12 +1014,10 @@
"Replying With Files": "Send svar med filer",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Nett no er det ikkje mogleg å senda svar med ei fil. Vil du lasta opp denne fila utan å senda svaret?",
"The file '%(fileName)s' failed to upload.": "Fila '%(fileName)s' vart ikkje lasta opp.",
- "The server does not support the room version specified.": "Tenaren støttar ikkje den spesifikke versjonen av rommet.",
+ "The server does not support the room version specified.": "Serveren støttar ikkje den spesifikke versjonen av rommet.",
"Name or Matrix ID": "Namn eller Matrix ID",
"Registration Required": "Registrering er obligatorisk",
"You need to register to do this. Would you like to register now?": "Du må registrera for å gjera dette. Ynskjer du å registrera no?",
- "Email, name or Matrix ID": "E-post, namn eller Matrix ID",
- "Failed to start chat": "Fekk ikkje til å starte samtalen",
"Failed to invite users to the room:": "Fekk ikkje til å invitera brukarar til rommet:",
"Messages": "Meldingar",
"Actions": "Handlingar",
@@ -1105,12 +1026,7 @@
"Sends a message as plain text, without interpreting it as markdown": "Sender ein melding som rein-tekst, utan å tolka den som markdown",
"Upgrades a room to a new version": "Oppgraderer eit rom til ein ny versjon",
"You do not have the required permissions to use this command.": "Du har ikkje tilgang til å utføra denne kommandoen.",
- "Room upgrade confirmation": "Stadfesting for rom-oppgradering",
- "Upgrading a room can be destructive and isn't always necessary.": "Oppgradering av eit rom kan vera destruktivt og er ikkje alltid naudsynt.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Oppgradering av rom er som regel tilrådd når ein versjon av rommet er å rekne som ustabil. Ustabile rom kan ha kodefeil, mangle funksjonar eller ha sikkerheitproblem.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Oppgradering av rom påverkar normalt berre prosessering av rommet på tenar-sida . Om du opplever problem med Riot-klienten din, meld gjerne inn problemet med .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Åtvaring: Oppgradering av eit rom vil ikkje automatisk overføre rom-medlemane til den nye versjonen av rommet. Vi vil leggje ut ein link til det nye romme i den gamle utgåva av rommet - rom-medlemane må då klikka på denne linken for å medlem av det nye rommet.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Stadfest at du vil fortsetje med å oppgradere dette rommet frå til .",
"Changes your display nickname in the current room only": "Endrar kallenamnet ditt som er synleg i det gjeldande rommet",
"Changes the avatar of the current room": "Endrar avataren for det gjeldande rommet",
"Changes your avatar in this current room only": "Endrar din avatar for det gjeldande rommet",
@@ -1129,5 +1045,63 @@
"Sends the given message coloured as a rainbow": "Sender den bestemte meldinga farga som ein regnboge",
"Displays list of commands with usages and descriptions": "Viser ei liste over kommandoar med bruksområde og skildringar",
"%(senderName)s made no change.": "%(senderName)s utførde ingen endring.",
- "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s oppgraderte dette rommet."
+ "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s oppgraderte dette rommet.",
+ "The version of Riot": "Gjeldande versjon av Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Om du brukar Riot på ein innretning som er satt opp for touch-skjerm",
+ "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Om du nyttar funksjonen 'breadcrumbs' (avatarane over romkatalogen)",
+ "Whether you're using Riot as an installed Progressive Web App": "Om din Riot er installert som ein webapplikasjon (Progressive Web App)",
+ "Your user agent": "Din nettlesar (User-Agent)",
+ "The information being sent to us to help make Riot better includes:": "Informasjon sendt til oss for å forbetre Riot inkluderar:",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Det er ukjende sesjonar i dette rommet: om går vidare utan å verifisere dei, kan andre avlytte samtalen.",
+ "If you cancel now, you won't complete verifying the other user.": "Om du avbryter no, vil dette stoppe verifikasjonsprosessen for den andre brukaren.",
+ "If you cancel now, you won't complete verifying your other session.": "Om du avbryter no, vil dette stoppe verifikasjonsprosessen for den andre sesjonen.",
+ "If you cancel now, you won't complete your secret storage operation.": "Om du avbryter no, vil dette stoppe lagringa av den hemmelege passfrasen.",
+ "Cancel entering passphrase?": "Avbryte inntasting av passfrase ?",
+ "Setting up keys": "Setter opp nøklar",
+ "Verify this session": "Stadfest denne sesjonen",
+ "Encryption upgrade available": "Kryptering kan oppgraderast",
+ "Set up encryption": "Sett opp kryptering",
+ "Unverified session": "Uverifisert sesjon",
+ "Identity server has no terms of service": "Identitetsserveren manglar bruksvilkår",
+ "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Denne handlinga krev kommunikasjon mot (standard identitetsserver) for å verifisere e-post eller telefonnummer, men serveren manglar bruksvilkår.",
+ "Only continue if you trust the owner of the server.": "Gå vidare så lenge du har tillit til eigar av serveren.",
+ "Trust": "Tillat",
+ "Custom (%(level)s)": "Tilpassa (%(level)s)",
+ "Error upgrading room": "Feil ved oppgradering av rom",
+ "Double check that your server supports the room version chosen and try again.": "Sjekk at server støttar romversjon, og prøv på nytt.",
+ "Verifies a user, session, and pubkey tuple": "Verifiser brukar, sesjon eller public key objekt (pubkey tuple)",
+ "Unknown (user, session) pair:": "Ukjent (brukar,sesjon) par:",
+ "Session already verified!": "Sesjon er tidligare verifisert!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ÅTVARING: Sesjon er tidligare verifisert, men nøklane STEMMER IKKJE!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ÅTVARING: NØKKELVERIFIKASJON FEILA! Signeringsnøkkel for %(userId)s og sesjon %(deviceId)s er \"%(fprint)s\" stemmer ikkje med innsendt nøkkel \"%(fingerprint)s\". Dette kan vere teikn på at kommunikasjonen er avlytta!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Innsendt signeringsnøkkel er lik nøkkelen du mottok frå %(userId)s med sesjon %(deviceId)s. Sesjonen no er verifisert.",
+ "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s satte rommet til offentleg for alle som har linken.",
+ "%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s avgrensa romtilgang til inviterte deltakarar.",
+ "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s satte tilgangsregelen til %(rule)s",
+ "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s har opna for gjestetilgang i rommet.",
+ "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s har hindra gjestetilgang i rommet.",
+ "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s endra gjestetilgang til %(rule)s",
+ "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s satte etikett for %(groups)s i dette rommet.",
+ "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s deaktiverte etikettar for %(groups)s i dette rommet.",
+ "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s har aktivert etikettar for %(newGroups)s, og deaktivert etikettar for %(oldGroups)s i dette rommet.",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s la til %(addedAddresses)s og %(count)s andre adresser i dette rommet",
+ "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s la til %(addedAddresses)s som adresser for dette rommet.",
+ "%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "%(senderName)s la til %(addedAddresses)s som adresse for dette rommet.",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s fjerna %(removedAddresses)s og %(count)s andre som adresse for dette rommet",
+ "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "%(senderName)s fjerna %(removedAddresses)s som adresser for dette rommet.",
+ "%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s fjerna %(removedAddresses)s som adresse for dette rommet.",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s fjerna %(countRemoved)s og la til %(countAdded)s adresser for dette rommet",
+ "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s la til %(addedAddresses)s og tok vekk %(removedAddresses)s som adresser for dette rommet.",
+ "%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s satte standardadressa for dette rommet til %(address)s.",
+ "%(senderName)s removed the main address for this room.": "%(senderName)s fjerna standardadressa for dette rommet.",
+ "%(senderName)s placed a voice call.": "%(senderName)s starta eit taleanrop.",
+ "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s starta eit taleanrop. (ikkje støtta av denne nettlesaren)",
+ "%(senderName)s placed a video call.": "%(senderName)s starta ein videosamtale.",
+ "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s starta ein videosamtale. (ikkje støtta av denne nettlesaren)",
+ "%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s trekte tilbake invitasjonen for at %(targetDisplayName)s kan bli medlem i rommet.",
+ "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Du er administrator for dette fellesskapet. Du kan ikkje melde deg inn igjen utan at du har invitasjon frå ein annan administrator.",
+ "Want more than a community? Get your own server": "Treng du meir enn eit fellesskap? Skaff din eigen server",
+ "Sign In or Create Account": "Logg inn eller opprett konto",
+ "Create Account": "Opprett konto",
+ "Sends the given emote coloured as a rainbow": "Sendar emojien med regnbogefargar"
}
diff --git a/src/i18n/strings/oc.json b/src/i18n/strings/oc.json
new file mode 100644
index 0000000000..e62d44f51d
--- /dev/null
+++ b/src/i18n/strings/oc.json
@@ -0,0 +1,65 @@
+{
+ "Add Email Address": "Ajustar una adreça electronica",
+ "Add Phone Number": "Ajustar un numèro de telefòn",
+ "The platform you're on": "La plataforma ont sètz",
+ "The version of Riot": "La version de Riot",
+ "Your language of choice": "La lenga que volètz",
+ "User Options": "Opcions utilizaire",
+ "Start a chat": "Començar una discussion",
+ "Unmute": "Restablir lo son",
+ "Mute": "Copar lo son",
+ "Admin Tools": "Aisinas d’administrator",
+ "Invite to this room": "Convidar a aquesta sala",
+ "Invited": "Convidat",
+ "Voice call": "Sonada vocala",
+ "Video call": "Sonada vidèo",
+ "Upload file": "Enviar un fichièr",
+ "Send an encrypted reply…": "Enviar una responsa chifrada …",
+ "Send a reply…": "Enviar una responsa…",
+ "Send an encrypted message…": "Enviar un messatge chifrat…",
+ "Send a message…": "Enviar un messatge…",
+ "Bold": "Gras",
+ "Quote": "Citacion",
+ "Loading...": "Cargament…",
+ "Pinned Messages": "Messatges penjats",
+ "Unpin Message": "Despenjar lo messatge",
+ "Online for %(duration)s": "En linha dempuèi %(duration)s",
+ "Idle for %(duration)s": "Inactiu dempuèi %(duration)s",
+ "Offline for %(duration)s": "Fòra linha dempuèi %(duration)s",
+ "Unknown for %(duration)s": "Desconegut dempuèi %(duration)s",
+ "Online": "En linha",
+ "Idle": "Inactiu",
+ "Offline": "Fòra linha",
+ "Unknown": "Desconegut",
+ "Recent rooms": "Salas recentas",
+ "No rooms to show": "Cap de sala a mostrar",
+ "Unnamed room": "Sala sens nom",
+ "Settings": "Paramètres",
+ "Search": "Recercar",
+ "Share room": "Partejar la sala",
+ "Favourites": "Favorits",
+ "Start chat": "Començar una discussion",
+ "Rooms": "Salas",
+ "Low priority": "Febla prioritat",
+ "System Alerts": "Alèrtas sistèma",
+ "This room": "Aquesta sala",
+ "Loading …": "Cargament…",
+ "Reason: %(reason)s": "Rason : %(reason)s",
+ "Forget this room": "Oblidar aquesta sala",
+ "Disable": "Desactivar",
+ "Do you want to chat with %(user)s?": "Volètz charrar amb %(user)s ?",
+ " wants to chat": " vòl charrar",
+ "Start chatting": "Començar de charrar",
+ "Do you want to join %(roomName)s?": "Volètz rejonher %(roomName)s ?",
+ " invited you": " vos convidèt",
+ "Reject": "Regetar",
+ "Reject & Ignore user": "Regetar e ignorar",
+ "%(roomName)s does not exist.": "%(roomName)s existís pas.",
+ "Not now": "Pas ara",
+ "Don't ask me again": "Me demandar pas mai",
+ "Options": "Opcions",
+ "This Room": "Aquesta sala",
+ "All Rooms": "Totas les salas",
+ "Search…": "Cercar…",
+ "Server error": "Error servidor"
+}
diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json
index ed5f0143e9..fbe8ac86ca 100644
--- a/src/i18n/strings/pl.json
+++ b/src/i18n/strings/pl.json
@@ -10,10 +10,6 @@
"Add User": "Dodaj użytkownika",
"Verify...": "Zweryfikuj...",
"Unknown Address": "Nieznany adres",
- "Unknown devices": "Nieznane urządzenia",
- "Verify device": "Zweryfikuj urządzenie",
- "Device key": "Klucz urządzenia",
- "Device name": "Nazwa urządzenia",
"To continue, please enter your password.": "Aby kontynuować, proszę wprowadzić swoje hasło.",
"Incorrect password": "Nieprawidłowe hasło",
"Unknown error": "Nieznany błąd",
@@ -66,7 +62,6 @@
"Create Room": "Stwórz Pokój",
"Cryptography": "Kryptografia",
"Current password": "Aktualne hasło",
- "Devices": "Urządzenia",
"Error": "Błąd",
"Notifications": "Powiadomienia",
"Operation failed": "Operacja nie udała się",
@@ -126,7 +121,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s usunął(-ęła) nazwę pokoju.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s zmienił(a) temat na \"%(topic)s\".",
"Changes your display nickname": "Zmienia Twój wyświetlany pseudonim",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Zmiana hasła zresetuje klucze szyfrowania end-to-end na wszystkich urządzeniach, co spowoduje, że nie będzie się dało odczytać zaszyfrowanej historii czatu, chyba że najpierw wyeksportujesz swoje klucze i ponownie je zaimportujesz. W przyszłości będzie to poprawione.",
"Claimed Ed25519 fingerprint key": "Zażądano odcisk klucza Ed25519",
"Click here to fix": "Kliknij tutaj, aby naprawić",
"Click to mute audio": "Kliknij, aby wyciszyć dźwięk",
@@ -148,11 +142,8 @@
"Delete widget": "Usuń widżet",
"Default": "Domyślny",
"Define the power level of a user": "Określ poziom uprawnień użytkownika",
- "Device already verified!": "Urządzenie jest już zweryfikowane!",
"Device ID": "Identyfikator urządzenia",
- "Device ID:": "Identyfikator urządzenia:",
"device id: ": "identyfikator urządzenia: ",
- "Device key:": "Klucz urządzenia:",
"Direct chats": "Rozmowy bezpośrednie",
"Disable Notifications": "Wyłącz powiadomienia",
"Disinvite": "Anuluj zaproszenie",
@@ -166,7 +157,6 @@
"Emoji": "Emoji",
"Enable automatic language detection for syntax highlighting": "Włącz automatyczne rozpoznawanie języka dla podświetlania składni",
"Enable Notifications": "Włącz powiadomienia",
- "Encrypted by an unverified device": "Zaszyfrowane przez niezweryfikowane urządzenie",
"%(senderName)s ended the call.": "%(senderName)s zakończył połączenie.",
"End-to-end encryption information": "Informacje o szyfrowaniu end-to-end",
"Enter passphrase": "Wpisz frazę",
@@ -203,10 +193,9 @@
"Deops user with given id": "Usuwa prawa administratora użytkownikowi o danym ID",
"Guests cannot join this room even if explicitly invited.": "Goście nie mogą dołączać do tego pokoju, nawet jeśli zostali specjalnie zaproszeni.",
"Hangup": "Rozłącz się",
- "Hide Text Formatting Toolbar": "Ukryj pasek formatowania tekstu",
"Home": "Strona startowa",
"Homeserver is": "Serwer domowy to",
- "Identity Server is": "Serwer Identity to",
+ "Identity Server is": "Serwer tożsamości to",
"I have verified my email address": "Zweryfikowałem swój adres e-mail",
"Import": "Importuj",
"Import E2E room keys": "Importuj klucze pokoju E2E",
@@ -215,15 +204,12 @@
"Incoming voice call from %(name)s": "Przychodzące połączenie głosowe od %(name)s",
"Incorrect username and/or password.": "Nieprawidłowa nazwa użytkownika i/lub hasło.",
"Incorrect verification code": "Nieprawidłowy kod weryfikujący",
- "Invalid alias format": "Nieprawidłowy format aliasu",
"Invalid Email Address": "Nieprawidłowy adres e-mail",
"Invalid file%(extra)s": "Nieprawidłowy plik %(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s zaprosił(a) %(targetName)s.",
- "Invite new room members": "Zaproś nowych członków do pokoju",
"Invited": "Zaproszeni",
"Invites": "Zaproszenia",
"Invites user with given id to current room": "Zaprasza użytkownika o danym ID do obecnego pokoju",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' nie jest poprawnym formatem aliasu",
"Sign in with": "Zaloguj się używając",
"Join as voice or video.": "Dołącz głosowo lub przez wideo.",
"Join Room": "Dołącz do pokoju",
@@ -247,16 +233,10 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s uczynił przyszłą historię pokoju widoczną dla kazdego.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s uczynił przyszłą historię pokoju widoczną dla nieznany (%(visibility)s).",
"Manage Integrations": "Zarządzaj integracjami",
- "Markdown is disabled": "Markdown jest wyłączony",
- "Markdown is enabled": "Markdown jest włączony",
- "matrix-react-sdk version:": "Wersja matrix-react-sdk:",
- "Message not sent due to unknown devices being present": "Wiadomość nie została wysłana z powodu obecności nieznanych urządzeń",
"Missing room_id in request": "Brakujące room_id w żądaniu",
"Missing user_id in request": "Brakujące user_id w żądaniu",
"Moderator": "Moderator",
"Name": "Nazwa",
- "Never send encrypted messages to unverified devices from this device": "Nigdy nie wysyłaj zaszyfrowanych wiadomości do niezweryfikowanych urządzeń z tego urządzenia",
- "Never send encrypted messages to unverified devices in this room from this device": "Nigdy nie wysyłaj niezaszyfrowanych wiadomości do niezweryfikowanych urządzeń z tego urządzenia",
"New address (e.g. #foo:%(localDomain)s)": "Nowy adres (np. #foo:%(localDomain)s)",
"New passwords don't match": "Nowe hasła nie zgadzają się",
"New passwords must match each other.": "Nowe hasła muszą się zgadzać.",
@@ -267,7 +247,6 @@
"AM": "AM",
"PM": "PM",
"NOT verified": "NIEzweryfikowany",
- "No devices with registered encryption keys": "Brak urządzeń z zarejestrowanymi kluczami szyfrującymi",
"No display name": "Brak nazwy ekranowej",
"No more results": "Nie ma więcej wyników",
"No results": "Brak wyników",
@@ -276,7 +255,6 @@
"Only people who have been invited": "Tylko ludzie, którzy zostali zaproszeni",
"Password": "Hasło",
"Passwords can't be empty": "Hasła nie mogą być puste",
- "People": "Ludzie",
"Permissions": "Uprawnienia",
"Phone": "Telefon",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Sprawdź swój e-mail i kliknij link w nim zawarty. Kiedy już to zrobisz, kliknij \"kontynuuj\".",
@@ -302,7 +280,6 @@
"riot-web version:": "wersja riot-web:",
"Room %(roomId)s not visible": "Pokój %(roomId)s nie jest widoczny",
"Room Colour": "Kolor pokoju",
- "Room contains unknown devices": "Pokój zawiera nieznane urządzenia",
"%(roomName)s does not exist.": "%(roomName)s nie istnieje.",
"%(roomName)s is not accessible at this time.": "%(roomName)s nie jest dostępny w tym momencie.",
"Rooms": "Pokoje",
@@ -312,8 +289,6 @@
"Searches DuckDuckGo for results": "Używa DuckDuckGo dla wyników",
"Seen by %(userName)s at %(dateTime)s": "Widziane przez %(userName)s o %(dateTime)s",
"Send anyway": "Wyślij mimo to",
- "Sender device information": "Informacja o urządzeniu nadawcy",
- "Send Invites": "Wyślij zaproszenia",
"Send Reset Email": "Wyślij e-mail resetujący hasło",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s wysłał obraz.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s wysłał zaproszenie do %(targetDisplayName)s do dołączenia do pokoju.",
@@ -324,7 +299,6 @@
"Session ID": "Identyfikator sesji",
"%(senderName)s set a profile picture.": "%(senderName)s ustawił zdjęcie profilowe.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s ustawił swoją nazwę na %(displayName)s.",
- "Show Text Formatting Toolbar": "Pokaż pasek narzędzi formatowania tekstu",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Pokaż czas w formacie 12-sto godzinnym (n.p. 2:30pm)",
"Signed Out": "Wylogowano",
"Sign in": "Zaloguj",
@@ -333,12 +307,10 @@
"Someone": "Ktoś",
"Start a chat": "Rozpocznij chat",
"Start authentication": "Rozpocznij uwierzytelnienie",
- "Start Chat": "Rozpocznij chat",
"Submit": "Wyślij",
"Success": "Sukces",
"The maximum permitted number of widgets have already been added to this room.": "Do tego pokoju dodano już maksymalną dozwoloną liczbę widżetów.",
"The phone number entered looks invalid": "Wprowadzony numer telefonu wygląda na niepoprawny",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Podany klucz podpisu odpowiada kluczowi podpisania otrzymanemu z urządzenia %(userId)s %(deviceId)s. Urządzenie oznaczone jako zweryfikowane.",
"This email address is already in use": "Podany adres e-mail jest już w użyciu",
"This email address was not found": "Podany adres e-mail nie został znaleziony",
"The email address linked to your account must be entered.": "Musisz wpisać adres e-mail połączony z twoim kontem.",
@@ -350,7 +322,6 @@
"This room": "Ten pokój",
"This room is not accessible by remote Matrix servers": "Ten pokój nie jest dostępny na zdalnych serwerach Matrix",
"To get started, please pick a username!": "Aby rozpocząć, wybierz nazwę użytkownika!",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s włączył(a) szyfrowanie end-to-end (algorytm %(algorithm)s).",
"Unable to add email address": "Nie można dodać adresu e-mail",
"Unable to create widget.": "Nie można utworzyć widżetu.",
"Unable to remove contact information": "Nie można usunąć informacji kontaktowych",
@@ -358,16 +329,12 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s odblokował(a) %(targetName)s.",
"Unable to capture screen": "Nie można zrobić zrzutu ekranu",
"Unable to enable Notifications": "Nie można włączyć powiadomień",
- "Unable to load device list": "Nie można załadować listy urządzeń",
- "Undecryptable": "Odszyfrowanie niemożliwe",
"To use it, just wait for autocomplete results to load and tab through them.": "Żeby tego użyć, należy poczekać na załadowanie się autouzupełnienia i naciskać przycisk \"Tab\", by wybierać.",
- "Unencrypted message": "Niezaszyfrowana wiadomość",
"unknown caller": "nieznany dzwoniący",
"unknown device": "nieznane urządzenie",
"Unknown room %(roomId)s": "Nieznany pokój %(roomId)s",
"Unmute": "Wyłącz wyciszenie",
"Unnamed Room": "Pokój bez nazwy",
- "Unrecognised command:": "Nierozpoznane polecenie:",
"Unrecognised room alias:": "Nierozpoznany alias pokoju:",
"Uploading %(filename)s and %(count)s others|zero": "Przesyłanie %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "Przesyłanie %(filename)s oraz %(count)s innych",
@@ -389,10 +356,7 @@
"(could not connect media)": "(brak możliwości połączenia się z mediami)",
"(no answer)": "(brak odpowiedzi)",
"(unknown failure: %(reason)s)": "(nieznany błąd: %(reason)s)",
- "WARNING: Device already verified, but keys do NOT MATCH!": "OSTRZEŻENIE: Urządzenie już zweryfikowane, ale klucze NIE PASUJĄ DO SIEBIE!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "OSTRZEŻENIE: BŁĄD WERYFIKACJI KLUCZA! Klucz podpisujący dla %(userId)s i urządzenia %(deviceId)s to \"%(fprint)s\", który nie pasuje do dostarczonego klucza \"%(fingerprint)s\". To może oznaczać, że twoje komunikaty są przejmowane!",
"Who can access this room?": "Kto może uzyskać dostęp do tego pokoju?",
- "Who would you like to communicate with?": "Z kim chcesz się komunikować?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s wycofał(a) zaproszenie %(targetName)s.",
"You are already in a call.": "Jesteś już w trakcie połączenia.",
"You are not in this room.": "Nie jesteś w tym pokoju.",
@@ -406,22 +370,18 @@
"You need to be able to invite users to do that.": "Aby to zrobić musisz mieć możliwość zapraszania użytkowników.",
"You need to be logged in.": "Musisz być zalogowany.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Twój adres e-mail zdaje się nie być powiązany z żadnym Matrix ID na tym serwerze.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Zmiana Twojego hasła powiodła się. Nie będziesz otrzymywał powiadomień push na inne urządzenia aż do momentu ponownego zalogowania się na nich",
"You seem to be in a call, are you sure you want to quit?": "Wygląda na to, że prowadzisz z kimś rozmowę; jesteś pewien że chcesz wyjść?",
"You seem to be uploading files, are you sure you want to quit?": "Wygląda na to, że jesteś w trakcie przesyłania plików; jesteś pewien, że chcesz wyjść?",
"Set a display name:": "Ustaw nazwę ekranową:",
"This server does not support authentication with a phone number.": "Ten serwer nie wspiera autentykacji za pomocą numeru telefonu.",
"There are no visible files in this room": "Nie ma widocznych plików w tym pokoju",
"Connectivity to the server has been lost.": "Połączenie z serwerem zostało utracone.",
- "bold": "wytłuszczenie",
- "italic": "kursywa",
"Create": "Utwórz",
"Online": "Dostępny(-a)",
"Offline": "Niedostępny(-a)",
"Add an Integration": "Dodaj integrację",
"Token incorrect": "Niepoprawny token",
"unencrypted": "niezaszyfrowany",
- "Unknown (user, device) pair:": "Nieznana para (użytkownik, urządzenie):",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Nie będziesz mógł cofnąć tej zmiany, ponieważ nadajesz użytkownikowi uprawnienia administratorskie równe Twoim.",
"%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(day)s %(monthName)s %(time)s",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(day)s %(monthName)s %(fullYear)s %(time)s",
@@ -451,15 +411,10 @@
"Failed to invite the following users to the %(roomName)s room:": "Wysłanie zaproszenia do następujących użytkowników do pokoju %(roomName)s nie powiodło się:",
"Confirm Removal": "Potwierdź usunięcie",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Jesteś pewien że chcesz usunąć to wydarzenie? Pamiętaj, że jeśli usuniesz nazwę pokoju lub aktualizację tematu pokoju, zmiana może zostać cofnięta.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Aby sprawdzić czy to urządzenie jest zaufane, skontaktuj się z jego właścicielem używając innych środków (np. osobiście lub telefonicznie) i zapytaj ich czy klucz, który widzą w ustawieniach użytkownika dla tego urządzenia pasuje do klucza poniżej:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Jeśli klucz pasuje, naciśnij na przycisk \"Zweryfikuj\" poniżej. Jeśli nie, to ktoś inny najprawdopodobniej przejmuje lub podszywa się pod to urządzenie i powinieneś nacisnąć przycisk dodania do czarnej listy.",
"I verify that the keys match": "Upewnię się, że klucze się zgadzają",
"Unable to restore session": "Przywrócenie sesji jest niemożliwe",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Jeśli wcześniej używałeś/aś nowszej wersji Riot, Twoja sesja może być niekompatybilna z tą wersją. Zamknij to okno i powróć do nowszej wersji.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Aktualnie wpisujesz niezweryfikowane urządzenia na czarną listę; aby wysłać wiadomość do tych urządzeń musisz je zweryfikować.",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot zbiera anonimowe dane analityczne, aby umożliwić nam rozwijanie aplikacji.",
- "Verifies a user, device, and pubkey tuple": "Weryfikuje krotkę(tuple) użytkownika, urządzenia i klucza publicznego",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" zawiera niewidziane przez Ciebie wcześniej urządzenia.",
"ex. @bob:example.com": "np. @jan:example.com",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Nastąpiła próba załadowania danego punktu w historii tego pokoju, lecz nie masz uprawnień, by zobaczyć określoną wiadomość.",
"Use compact timeline layout": "Użyj kompaktowego stylu linii czasu",
@@ -485,15 +440,11 @@
"Authentication check failed: incorrect password?": "Próba autentykacji nieudana: nieprawidłowe hasło?",
"Do you want to set an email address?": "Czy chcesz ustawić adres e-mail?",
"Share without verifying": "Udostępnij bez weryfikacji",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Dodałeś(-aś) nowe urządzenie '%(displayName)s', które żąda kluczy szyfrujących.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Twoje niezweryfikowane urządzenie '%(displayName)s' żąda kluczy szyfrujących.",
"Encryption key request": "Żądanie klucza szyfrującego",
- "Loading device info...": "Wczytywanie informacji o urządzeniu...",
"Example": "Przykład",
"Drop file here to upload": "Upuść plik tutaj, aby go przesłać",
"Automatically replace plain text Emoji": "Automatycznie zastępuj tekstowe emotikony",
"Failed to upload image": "Przesyłanie obrazka nie powiodło się",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Zalecamy Ci przejście przez proces weryfikacyjny dla każdego urządzenia aby potwierdzić, że należy ono do ich prawdziwego właściciela. Możesz jednak wysłać tę wiadomość bez potwierdzania.",
"Unblacklist": "Usuń z czarnej listy",
"Blacklist": "Dodaj do czarnej listy",
"Unverify": "Usuń weryfikację",
@@ -519,7 +470,6 @@
"Your identity server's URL": "Adres URL Twojego Serwera Tożsamości",
"The information being sent to us to help make Riot.im better includes:": "Informacje przesyłane do nas, by poprawić Riot.im zawierają:",
"The platform you're on": "Platforma na której jesteś",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "W tym pokoju są nieznane urządzenia: jeżeli będziesz kontynuować bez ich weryfikacji, możliwe będzie podsłuchiwanie Twojego połączenia.",
"Answer": "Odbierz",
"Review Devices": "Przegląd urządzeń",
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(day)s %(monthName)s %(fullYear)s",
@@ -543,16 +493,10 @@
"Enable inline URL previews by default": "Włącz domyślny podgląd URL w tekście",
"Enable URL previews for this room (only affects you)": "Włącz podgląd URL dla tego pokoju (dotyczy tylko Ciebie)",
"Enable URL previews by default for participants in this room": "Włącz domyślny podgląd URL dla uczestników w tym pokoju",
- "Delete %(count)s devices|other": "Usuń %(count)s urządzeń",
- "Delete %(count)s devices|one": "Usuń urządzenie",
"%(senderName)s sent an image": "%(senderName)s wysłał(a) obrazek",
"%(senderName)s sent a video": "%(senderName)s wysłał(a) wideo",
"%(senderName)s uploaded a file": "%(senderName)s wysłał(a) plik",
- "Your key share request has been sent - please check your other devices for key share requests.": "Twoja prośba o podzielenie się kluczem została wysłana - sprawdź swoje inne urządzenie w celu spełnienia prośby.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Prośby o podzielenie się kluczem są wysyłane do Twoich innych urządzeń automatycznie. Jeżeli prośba została odrzucona na innym urządzeniu, kliknij tutaj aby ponownie poprosić o podzielenie się kluczem dla tej sesji.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Jeżeli inne Twoje urządzenia nie mają klucza dla tej wiadomości, nie będziesz w stanie ich odszyfrować.",
"Key request sent.": "Prośba o klucz wysłana.",
- "Re-request encryption keys from your other devices.": "Poproś ponownie o klucze szyfrujące z Twojego innego urządzenia.",
"Kick this user?": "Wyrzucić tego użytkownika?",
"Unban this user?": "Odbanować tego użytkownika?",
"Ban this user?": "Zbanować tego użytkownika?",
@@ -628,7 +572,6 @@
"Files": "Pliki",
"Collecting app version information": "Zbieranie informacji o wersji aplikacji",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Usuń alias %(alias)s i usuń %(name)s z katalogu?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "To pozwoli Ci powrócić do Twojego konta po wylogowaniu i ponownym zalogowaniu się na innych urządzeniach.",
"Keywords": "Słowa kluczowe",
"Enable notifications for this account": "Włącz powiadomienia na tym koncie",
"Invite to this community": "Zaproś do tej społeczności",
@@ -688,7 +631,7 @@
"Unable to join network": "Nie można dołączyć do sieci",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Możliwe, że skofigurowałeś je w innym kliencie, niż Riot. Nie możesz ich zmieniać w Riot, ale nadal mają zastosowanie",
"Sorry, your browser is not able to run Riot.": "Przepraszamy, Twoja przeglądarka nie jest w stanie uruchomić Riot.",
- "Uploaded on %(date)s by %(user)s": "Wysłane %(date)s przez %(user)s",
+ "Uploaded on %(date)s by %(user)s": "Wysłano %(date)s przez %(user)s",
"Messages in group chats": "Wiadomości w czatach grupowych",
"Yesterday": "Wczoraj",
"Error encountered (%(errorDetail)s).": "Wystąpił błąd (%(errorDetail)s).",
@@ -760,8 +703,6 @@
"Unignore": "Przestań ignorować",
"Jump to read receipt": "Przeskocz do potwierdzenia odczytu",
"Share Link to User": "Udostępnij odnośnik do użytkownika",
- "Unable to reply": "Nie udało się odpowiedzieć",
- "At this time it is not possible to reply with an emote.": "W tej chwili nie można odpowiedzieć emotikoną.",
"Replying": "Odpowiadanie",
"Share room": "Udostępnij pokój",
"Community Invites": "Zaproszenia do społeczności",
@@ -866,7 +807,6 @@
"Error whilst fetching joined communities": "Błąd podczas pobierania dołączonych społeczności",
"Create a new community": "Utwórz nową Społeczność",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Utwórz Społeczność, aby grupować użytkowników i pokoje! Zbuduj niestandardową stronę główną, aby zaznaczyć swoją przestrzeń we wszechświecie Matrix.",
- "Show devices, send anyway or cancel.": "Pokaż urządzenia, wyślij mimo to lub anuluj.",
"%(count)s of your messages have not been sent.|one": "Twoja wiadomość nie została wysłana.",
"There's no one else here! Would you like to invite others or stop warning about the empty room?": "Nikogo tu nie ma! Czy chcesz zaprosić inne osoby lub przestać ostrzegać o pustym pokoju?",
"Clear filter": "Wyczyść filtr",
@@ -906,11 +846,6 @@
"Permission Required": "Wymagane Uprawnienia",
"Registration Required": "Wymagana Rejestracja",
"You need to register to do this. Would you like to register now?": "Musisz się zarejestrować, aby to zrobić. Czy chcesz się teraz zarejestrować?",
- "underlined": "podkreślenie",
- "deleted": "przekreślenie",
- "numbered-list": "lista numerowana",
- "bulleted-list": "wykropkowana lista",
- "block-quote": "blok cytowany",
"A call is currently being placed!": "W tej chwili trwa rozmowa!",
"A call is already in progress!": "Połączenie już trwa!",
"You do not have permission to start a conference call in this room": "Nie posiadasz uprawnień do rozpoczęcia rozmowy grupowej w tym pokoju",
@@ -1050,7 +985,6 @@
"Messages containing @room": "Wiadomości zawierające @room",
"This is similar to a commonly used password": "Jest to podobne do powszechnie stosowanego hasła",
"Print it and store it somewhere safe": "Wydrukuj przechowuj w bezpiecznym miejscu",
- "Your Recovery Key is in your Downloads folder.": "Twój Klucz Odzyskiwania znajduje się w Twoim katalogu Pobrane.",
"That doesn't match.": "To się nie zgadza.",
"Go to Settings": "Przejdź do ustawień",
"%(displayName)s is typing …": "%(displayName)s pisze…",
@@ -1107,7 +1041,6 @@
"Pencil": "Ołówek",
"Paperclip": "Spinacz",
"Scissors": "Nożyczki",
- "Padlock": "Kłódka",
"Key": "Klucz",
"Telephone": "Telefon",
"Flag": "Flaga",
@@ -1122,7 +1055,6 @@
"Anchor": "Kotwica",
"Headphones": "Słuchawki",
"Folder": "Folder",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "W celu zapewnienia maksymalnego bezpieczeństwa zalecamy, abyś zrobił to osobiście lub skorzystał z innego zaufanego środka komunikacji.",
"Phone Number": "Numer telefonu",
"Display Name": "Wyświetlana nazwa",
"Set a new account password...": "Ustaw nowe hasło do konta…",
@@ -1155,7 +1087,6 @@
"%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s nie może być wyświetlony. Chcesz do niego dołączyć?",
"Main address": "Główny adres",
"Room avatar": "Awatar pokoju",
- "Upload room avatar": "Prześlij awatar pokoju",
"Room Name": "Nazwa pokoju",
"Room Topic": "Temat pokoju",
"Power level": "Poziom uprawnień",
@@ -1213,24 +1144,17 @@
"The file '%(fileName)s' failed to upload.": "Nie udało się przesłać pliku '%(fileName)s'.",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Plik '%(fileName)s' przekracza limit rozmiaru dla tego serwera głównego",
"Ask your Riot admin to check your config for incorrect or duplicate entries.": "Poproś swojego administratora Riot by sprawdzić Twoją konfigurację względem niewłaściwych lub zduplikowanych elementów.",
- "Cannot reach identity server": "Nie można połączyć się z Serwerem Tożsamości",
+ "Cannot reach identity server": "Nie można połączyć się z serwerem tożsamości",
"You can register, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Możesz się zarejestrować, lecz niektóre funkcje nie będą dostępne dopóki Serwer Tożsamości nie będzie znów online. Jeśli ciągle widzisz to ostrzeżenie, sprawdź swoją konfigurację lub skontaktuj się z administratorem serwera.",
"You can reset your password, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Możesz zresetować hasło, lecz niektóre funkcje nie będą dostępne dopóki Serwer Tożsamości nie będzie znów online. Jeśli ciągle widzisz to ostrzeżenie, sprawdź swoją konfigurację lub skontaktuj się z administratorem serwera.",
"You can log in, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Możesz się zalogować, lecz niektóre funkcje nie będą dostępne dopóki Serwer Tożsamości nie będzie znów online. Jeśli ciągle widzisz to ostrzeżenie, sprawdź swoją konfigurację lub skontaktuj się z administratorem serwera.",
"No homeserver URL provided": "Nie podano URL serwera głównego",
"The server does not support the room version specified.": "Serwer nie wspiera tej wersji pokoju.",
"Name or Matrix ID": "Imię lub identyfikator Matrix",
- "Email, name or Matrix ID": "E-mail, imię lub Matrix ID",
- "Failed to start chat": "Nie udało się rozpocząć chatu",
"Messages": "Wiadomości",
"Actions": "Akcje",
"Other": "Inne",
- "Room upgrade confirmation": "Potwierdzenie aktualizacji pokoju",
- "Upgrading a room can be destructive and isn't always necessary.": "Aktualizacja pokoju może mieć negatywne skutki a nie zawsze jest wymagana.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Aktualizacje pokoi są zazwyczaj rekomendowane, gdy wersja pokoju jest niestabilna. Niestabilne pokoje mogą mieć błędy, luki bezpieczeństwa lub nie mieć wszystkich funkcjonalności.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Aktualizacje pokoi zazwyczaj mają wpływ tylko na serwer obsługujący pokój. Jeśli masz problemy ze swoim klientem Riot, proszę zgłoś błąd: .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Uwaga!: Aktualizacja pokoju nie przeniesie członków do nowej wersji pokoju automatycznie. Użytkownicy muszą kliknąć link w starym, nieaktywnym pokoju by dołączyć do nowej wersji pokoju.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Potwierdź, że chcesz zaktualizować pokój z do .",
"Changes your avatar in this current room only": "Zmienia Twój awatar w bieżącym pokoju",
"Changes your avatar in all rooms": "Zmienia Twój awatar we wszystkich pokojach",
"Gets or sets the room topic": "Wyświetla lub ustawia temat pokoju",
@@ -1295,35 +1219,17 @@
"Ball": "Piłka",
"Pin": "Pinezka",
"Accept to continue:": "Zaakceptuj aby kontynuować:",
- "Your homeserver does not support device management.": "Twój serwer domowy nie wspiera zarządzania urządzeniami.",
"ID": "ID",
"Public Name": "Nazwa publiczna",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Czy jesteś pewien? Stracisz dostęp do wszystkich swoich zaszyfrowanych wiadomości, jeżeli nie utworzyłeś poprawnej kopii zapasowej kluczy.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Zaszyfrowane wiadomości są zabezpieczone przy użyciu szyfrowania end-to-end. Tylko Ty oraz ich adresaci posiadają klucze do ich rozszyfrowania.",
"Unable to load key backup status": "Nie można załadować stanu kopii zapasowej klucza",
- "This device is backing up your keys. ": "Kopia zapasowa twoich kluczy jest tworzona. ",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "To urządzenie nie tworzy kopii zapasowej twoich kluczy, ale jest dostępna kopia zapasowa którą można przywrócić i dodać do dalszego działania.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Podłącz to urządzenie do kopii zapasowej kluczy przed wylogowaniem, aby zapobiec utracie kluczy, które mogą być jedyne na tym urządzeniu.",
- "Connect this device to Key Backup": "Podłącz to urządzenie do kopii zapasowej kluczy",
"Backing up %(sessionsRemaining)s keys...": "Tworzenie kopii zapasowej %(sessionsRemaining)s kluczy...",
"All keys backed up": "Utworzono kopię zapasową wszystkich kluczy",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Kopia zapasowa posiada sygnaturę z nieznanego urządzenia z ID %(deviceId)s.",
- "Backup has a valid signature from this device": "Kopia zapasowa posiada prawidłową sygnaturę z tego urządzenia",
- "Backup has an invalid signature from this device": "Kopia zapasowa posiada nieprawidłową sygnaturę z tego urządzenia",
- "Backup has a valid signature from verified device ": "Kopia zapasowa posiada prawidłową sygnaturę ze zweryfikowanego urządzenia ",
- "Backup has a valid signature from unverified device ": "Kopia zapasowa posiada prawidłową sygnaturę z niezweryfikowanego urządzenia ",
- "Backup has an invalid signature from verified device ": "Kopia zapasowa posiada nieprawidłową sygnaturę ze zweryfikowanego urządzenia ",
- "Backup has an invalid signature from unverified device ": "Kopia zapasowa posiada nieprawidłową sygnaturę z niezweryfikowanego urządzenia ",
- "Backup is not signed by any of your devices": "Kopia zapasowa nie jest podpisana przez jakiekolwiek z twoich urządzeń",
- "This backup is trusted because it has been restored on this device": "Kopia zapasowa jest zaufana, ponieważ może być przywrócona na tym urządzeniu",
- "Your keys are not being backed up from this device.": "Twoje klucze nie są zapisane na tym urządzeniu.",
"Back up your keys before signing out to avoid losing them.": "Utwórz kopię zapasową kluczy przed wylogowaniem, aby ich nie utracić.",
"Start using Key Backup": "Rozpocznij z użyciem klucza kopii zapasowej",
"Add an email address to configure email notifications": "Dodaj adres poczty elektronicznej, aby skonfigurować powiadomienia pocztowe",
- "Enable desktop notifications for this device": "Włącz powiadomienia na pulpicie dla tego urządzenia",
- "Enable audible notifications for this device": "Włącz dźwiękowe powiadomienia dla tego urządzenia",
"Profile picture": "Obraz profilowy",
- "Upload profile picture": "Wgraj obraz profilowy",
"Identity Server URL must be HTTPS": "URL serwera tożsamości musi być HTTPS",
"Not a valid Identity Server (status code %(code)s)": "Nieprawidłowy serwer tożsamości (kod statusu %(code)s)",
"Could not connect to Identity Server": "Nie można połączyć z Serwerem Tożsamości",
@@ -1367,7 +1273,6 @@
"Use an identity server to invite by email. Manage in Settings.": "Użyj serwera tożsamości, by zaprosić za pomocą adresu e-mail. Zarządzaj w ustawieniach.",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Try out new ways to ignore people (experimental)": "Wypróbuj nowe sposoby na ignorowanie ludzi (eksperymentalne)",
- "Use the new, faster, composer for writing messages": "Używaj nowego, szybszego kompozytora do pisania wiadomości",
"My Ban List": "Moja lista zablokowanych",
"This is your list of users/servers you have blocked - don't leave the room!": "To jest Twoja lista zablokowanych użytkowników/serwerów – nie opuszczaj tego pokoju!",
"Change identity server": "Zmień serwer tożsamości",
@@ -1395,9 +1300,8 @@
"Explore": "Przeglądaj",
"Filter": "Filtruj",
"Add room": "Dodaj pokój",
- "A device's public name is visible to people you communicate with": "Publiczna nazwa urządzenia jest widoczna dla ludzi, z którymi się komunikujesz",
"Request media permissions": "Zapytaj o uprawnienia",
- "Voice & Video": "Głos & Wideo",
+ "Voice & Video": "Głos i wideo",
"this room": "ten pokój",
"View older messages in %(roomName)s.": "Wyświetl starsze wiadomości w %(roomName)s.",
"Room information": "Informacje o pokoju",
@@ -1412,7 +1316,6 @@
"Verification code": "Kod weryfikacyjny",
"Remove %(email)s?": "Usunąć %(email)s?",
"Remove %(phone)s?": "Usunąć %(phone)s?",
- "Some devices in this encrypted room are not trusted": "Niektóre urządzenia w tym zaszyfrowanym pokoju nie są zaufane",
"Loading …": "Ładowanie…",
"Loading room preview": "Wczytywanie podglądu pokoju",
"Try to join anyway": "Spróbuj dołączyć mimo tego",
@@ -1453,5 +1356,22 @@
"Filter rooms…": "Filtruj pokoje…",
"Find a room…": "Znajdź pokój…",
"Find a room… (e.g. %(exampleRoom)s)": "Znajdź pokój… (np. %(exampleRoom)s)",
- "If you can't find the room you're looking for, ask for an invite or Create a new room.": "Jeżeli nie możesz znaleźć szukanego pokoju, poproś o zaproszenie albo Stwórz nowy pokój."
+ "If you can't find the room you're looking for, ask for an invite or Create a new room.": "Jeżeli nie możesz znaleźć szukanego pokoju, poproś o zaproszenie albo stwórz nowy pokój.",
+ "Show typing notifications": "Pokazuj powiadomienia o pisaniu",
+ "Match system theme": "Dopasuj do motywu systemego",
+ "They match": "Pasują do siebie",
+ "They don't match": "Nie pasują do siebie",
+ "Upload": "Prześlij",
+ "Remove recent messages": "Usuń ostatnie wiadomości",
+ "Rotate Left": "Obróć w lewo",
+ "Rotate counter-clockwise": "Obróć w kierunku przeciwnym do ruchu wskazówek zegara",
+ "Rotate Right": "Obróć w prawo",
+ "Rotate clockwise": "Obróć zgodnie z ruchem wskazówek zegara",
+ "Help": "Pomoc",
+ "Passwords don't match": "Hasła nie zgadzają się",
+ "Never send encrypted messages to unverified sessions from this session": "Nigdy nie wysyłaj zaszyfrowanych wiadomości do niezweryfikowanych sesji z tej sesji",
+ "Enable desktop notifications for this session": "Włącz powiadomienia na pulpicie dla tej sesji",
+ "Enable audible notifications for this session": "Włącz powiadomienia dźwiękowe dla tej sesji",
+ "Sessions": "Sesje",
+ "Direct Messages": "Wiadomości bezpośrednie"
}
diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json
index 1a85eb752d..6c64a10696 100644
--- a/src/i18n/strings/pt.json
+++ b/src/i18n/strings/pt.json
@@ -52,7 +52,6 @@
"I have verified my email address": "Eu verifiquei o meu endereço de email",
"Import E2E room keys": "Importar chave de criptografia ponta-a-ponta (E2E) da sala",
"Invalid Email Address": "Endereço de email inválido",
- "Invite new room members": "Convidar novas pessoas para ingressar na sala",
"Invites": "Convidar",
"Invites user with given id to current room": "Convidar usuários com um dado identificador para esta sala",
"Sign in with": "Quero entrar",
@@ -65,8 +64,6 @@
"Manage Integrations": "Gerenciar integrações",
"Moderator": "Moderador/a",
"Name": "Nome",
- "Never send encrypted messages to unverified devices from this device": "Nunca envie mensagens criptografada para um dispositivo não verificado a partir deste dispositivo",
- "Never send encrypted messages to unverified devices in this room from this device": "Nunca envie mensagens criptografadas para dispositivos não verificados nesta sala a partir deste dispositivo",
"New passwords must match each other.": "As novas senhas informadas precisam ser idênticas.",
"none": "nenhum",
"Notifications": "Notificações",
@@ -76,7 +73,6 @@
"Only people who have been invited": "Apenas pessoas que tenham sido convidadas",
"Password": "Senha",
"Passwords can't be empty": "As senhas não podem estar em branco",
- "People": "Pessoas",
"Permissions": "Permissões",
"Phone": "Telefone",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Por favor verifique seu email e clique no link enviado. Quando finalizar este processo, clique para continuar.",
@@ -89,8 +85,6 @@
"Rooms": "Salas",
"Scroll to bottom of page": "Ir para o fim da página",
"Searches DuckDuckGo for results": "Buscar por resultados no buscador DuckDuckGo",
- "Sender device information": "Informação do dispositivo emissor",
- "Send Invites": "Enviar convites",
"Send Reset Email": "Enviar email para redefinição de senha",
"Server may be unavailable, overloaded, or you hit a bug.": "O servidor pode estar indisponível ou sobrecarregado, ou então você encontrou uma falha no sistema.",
"Session ID": "Identificador de sessão",
@@ -100,7 +94,6 @@
"Sign out": "Sair",
"Someone": "Alguém",
"Start a chat": "Começar uma conversa",
- "Start Chat": "Começar conversa",
"Success": "Sucesso",
"The email address linked to your account must be entered.": "O endereço de email relacionado a sua conta precisa ser informado.",
"This doesn't appear to be a valid email address": "Este não aparenta ser um endereço de email válido",
@@ -125,10 +118,8 @@
"VoIP conference started.": "Conferência VoIP iniciada.",
"Who can access this room?": "Quem pode acessar esta sala?",
"Who can read history?": "Quem pode ler o histórico da sala?",
- "Who would you like to communicate with?": "Com quem você gostaria de se comunicar?",
"You do not have permission to post to this room": "Você não tem permissão de postar nesta sala",
"You have no visible notifications": "Voce não possui notificações visíveis",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Sua senha foi alterada com sucesso. Você não receberá notificações em outros dispositivos até que você logue novamente por eles",
"Sun": "Dom",
"Mon": "Seg",
"Tue": "Ter",
@@ -198,7 +189,6 @@
"This room is not recognised.": "Esta sala não é reconhecida.",
"This phone number is already in use": "Este número de telefone já está sendo usado",
"To use it, just wait for autocomplete results to load and tab through them.": "Para usar esta funcionalidade, espere o carregamento dos resultados de autocompletar e então escolha entre as opções.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ativou criptografia ponta a ponta (algoritmo %(algorithm)s).",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s desfez o banimento de %(targetName)s.",
"Unable to capture screen": "Não foi possível capturar a imagem da tela",
"Unable to enable Notifications": "Não foi possível ativar as notificações",
@@ -236,7 +226,6 @@
"Click to unmute audio": "Clique para retirar áudio do mudo",
"Command error": "Erro de comando",
"Decrypt %(text)s": "Descriptografar %(text)s",
- "Devices": "Dispositivos",
"Direct chats": "Conversas pessoais",
"Disinvite": "Desconvidar",
"Download %(text)s": "Baixar %(text)s",
@@ -250,20 +239,13 @@
"Failed to set display name": "Houve falha ao definir o nome público",
"Failed to toggle moderator status": "Houve falha ao alterar o status de moderador/a",
"Fill screen": "Tela cheia",
- "Hide Text Formatting Toolbar": "Ocultar a barra de formatação de texto",
"Incorrect verification code": "Código de verificação incorreto",
- "Invalid alias format": "Formato de alias é inválido",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' não é um formato válido para um alias",
"Join Room": "Ingressar na sala",
"Jump to first unread message.": "Ir diretamente para a primeira das mensagens não lidas.",
"Kick": "Remover",
"Local addresses for this room:": "Endereço local desta sala:",
- "Markdown is disabled": "A formatação 'Markdown' está desabilitada",
- "Markdown is enabled": "A formatação 'Markdown' está habilitada",
- "Message not sent due to unknown devices being present": "A mensagem não foi enviada por causa da presença de dispositivos desconhecidos",
"New address (e.g. #foo:%(localDomain)s)": "Novo endereço (p.ex: #algo:%(localDomain)s)",
"not specified": "não especificado",
- "No devices with registered encryption keys": "Não há dispositivos com chaves de criptografia registradas",
"No more results": "Não há mais resultados",
"No results": "Sem resultados",
"OK": "OK",
@@ -278,7 +260,6 @@
"This room has no local addresses": "Esta sala não tem endereços locais",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Tentei carregar um ponto específico na linha do tempo desta sala, mas parece que você não tem permissões para ver a mensagem em questão.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Tentei carregar um ponto específico na linha do tempo desta sala, mas não o encontrei.",
- "Unable to load device list": "Não foi possível carregar a lista de dispositivos",
"Unknown room %(roomId)s": "A sala %(roomId)s é desconhecida",
"You seem to be in a call, are you sure you want to quit?": "Parece que você está em uma chamada. Tem certeza que quer sair?",
"You seem to be uploading files, are you sure you want to quit?": "Parece que você está enviando arquivos. Tem certeza que quer sair?",
@@ -286,19 +267,15 @@
"Make Moderator": "Tornar moderador(a)",
"Room": "Sala",
"Cancel": "Cancelar",
- "bold": "negrito",
- "italic": "itálico",
"Ban": "Banir",
"Access Token:": "Token de acesso:",
"Always show message timestamps": "Sempre mostrar as datas das mensagens",
"Authentication": "Autenticação",
"An error has occurred.": "Ocorreu um erro.",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Alterar a senha irá atualmente apagar todas as chaves de criptografia ponta-a-ponta em todos os dispositivos, fazendo com que o histórico da conversa fique ilegível, a não ser que você exporte antes as chaves de sala e então as reimporte depois. No futuro, isso vai melhorar.",
"Email": "Email",
"Email address": "Endereço de email",
"Error decrypting attachment": "Erro ao descriptografar o anexo",
"Invalid file%(extra)s": "Arquivo inválido %(extra)s",
- "matrix-react-sdk version:": "versão do matrix-react-sdk:",
"Mute": "Silenciar",
"olm version:": "versão do olm:",
"Operation failed": "A operação falhou",
@@ -329,18 +306,9 @@
"Unknown error": "Erro desconhecido",
"Incorrect password": "Senha incorreta",
"To continue, please enter your password.": "Para continuar, por favor insira a sua senha.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Para verificar que este dispositivo é confiável, por favor entre em contato com a(o) sua(seu) dona(o) usando outros meios, como por exemplo pessoalmente ou por uma chamada telefônica, e pergunte a esta pessoa se a chave que ela está vendo nas suas configurações de usuário para este dispositivo é igual a esta:",
- "Device name": "Nome do dispositivo",
- "Device key": "Chave do dispositivo",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Se a chave for a mesma, clique no botão \"verificar\" abaixo. Se não for a mesma, então alguma outra pessoa está interceptando este dispositivo e você provavelmente vai querer clicar no botão \"colocar na lista negra\".",
- "Verify device": "Verificar o dispositivo",
"I verify that the keys match": "Eu confirmo que as chaves são iguais",
"Unable to restore session": "Não foi possível restaurar a sessão",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se você já usou antes uma versão mais recente do Riot, a sua sessão pode ser incompatível com esta versão. Feche esta janela e tente abrir com a versão mais recente.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Você está atualmente bloqueando dispositivos não verificados. Para enviar mensagens para estes dispositivos, você necessita antes verificá-los.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Nós recomendamos que você passe pelo processo de verificação para cada dispositivo para confirmar que eles pertencem às pessoas que efetivamente são suas donas, mas você pode reenviar a mensagem sem verificar isso, se assim o desejar.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contém dispositivos que você não viu antes.",
- "Unknown devices": "Dispositivos desconhecidos",
"Unknown Address": "Endereço desconhecido",
"Unblacklist": "Tirar da lista de bloqueados",
"Blacklist": "Colocar na lista de bloqueados",
@@ -353,7 +321,7 @@
"Please check your email to continue registration.": "Por favor, verifique o seu e-mail para continuar o processo de registro.",
"Token incorrect": "Token incorreto",
"Please enter the code it contains:": "Por favor, entre com o código que está na mensagem:",
- "powered by Matrix": "rodando a partir do Matrix",
+ "powered by Matrix": "powered by Matrix",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Se não especificar um endereço de e-mail, você não poderá redefinir sua senha. Tem certeza?",
"Error decrypting audio": "Erro ao descriptografar o áudio",
"Error decrypting image": "Erro ao descriptografar a imagem",
@@ -371,20 +339,14 @@
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Este processo faz com que você possa importar as chaves de criptografia que tinha previamente exportado de outro cliente Matrix. Você poderá então descriptografar todas as mensagens que o outro cliente pôde criptografar.",
"Start automatically after system login": "Iniciar automaticamente ao iniciar o sistema",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Você será levado agora a um site de terceiros para poder autenticar a sua conta para uso com o serviço %(integrationsUrl)s. Você quer continuar?",
- "Device already verified!": "Dispositivo já verificado!",
"Export": "Exportar",
"Import": "Importar",
"Incorrect username and/or password.": "Nome de usuária(o) e/ou senha incorreto.",
"Invited": "Convidada(o)",
"Results from DuckDuckGo": "Resultados de DuckDuckGo",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "A chave de assinatura que você forneceu é a mesma que a chave de assinatura que você recebeu do dispositivo %(deviceId)s de %(userId)s . O dispositivo foi portanto marcado como verificado.",
- "Unknown (user, device) pair:": "Par usuária(o)-dispositivo desconhecido:",
- "Unrecognised command:": "Comando não reconhecido:",
"Unrecognised room alias:": "Apelido de sala não reconhecido:",
"Use compact timeline layout": "Usar o layout de linha do tempo compacta",
"Verified key": "Chave verificada",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ATENÇÃO: O dispositivo já foi verificado, mas as chaves NÃO SÃO IGUAIS!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ATENÇÃO: VERIFICAÇÃO DE CHAVE FALHOU! A chave de assinatura para a(o) usuária(o) %(userId)s e dispositivo %(deviceId)s é \"%(fprint)s\", que não é igual à chave fornecida \"%(fingerprint)s\". Isso pode significar que suas comunicações estão sendo interceptadas!",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removeu a imagem da sala.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s alterou a imagem da sala %(roomName)s",
"%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s alterou a imagem da sala para ",
@@ -399,9 +361,7 @@
"Anyone": "Qualquer pessoa",
"Are you sure you want to leave the room '%(roomName)s'?": "Você tem certeza que deseja sair da sala '%(roomName)s'?",
"Custom level": "Nível personalizado",
- "Device ID:": "ID do dispositivo:",
"device id: ": "id do dispositivo: ",
- "Device key:": "Chave do dispositivo:",
"Register": "Registre-se",
"Remote addresses for this room:": "Endereços remotos para esta sala:",
"Save": "Salvar",
@@ -418,15 +378,12 @@
"You must register to use this functionality": "Você deve se registrar para poder usar esta funcionalidade",
"Public Chat": "Conversa pública",
"Uploading %(filename)s and %(count)s others|zero": "Enviando o arquivo %(filename)s",
- "Room contains unknown devices": "Esta sala contém dispositivos desconhecidos",
"Admin Tools": "Ferramentas de administração",
- "Undecryptable": "Não é possível descriptografar",
"Incoming video call from %(name)s": "Chamada de vídeo de %(name)s recebida",
"Alias (optional)": "Apelido (opcional)",
"Active call (%(roomName)s)": "Chamada ativa (%(roomName)s)",
"Error: Problem communicating with the given homeserver.": "Erro: problema de comunicação com o Servidor de Base fornecido.",
"Failed to upload profile picture!": "Falha ao enviar a imagem de perfil!",
- "Show Text Formatting Toolbar": "Exibir barra de formatação de texto",
"Room directory": "Lista de salas",
"Failed to fetch avatar URL": "Falha ao obter a URL da imagem de perfil",
"Incoming call from %(name)s": "Chamada de %(name)s recebida",
@@ -446,8 +403,6 @@
"Incoming voice call from %(name)s": "Chamada de voz de %(name)s recebida",
"If you already have a Matrix account you can log in instead.": "Se você já tem uma conta Matrix, pode também fazer login.",
"Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Não foi possível conectar ao Servidor de Base. Por favor, confira sua conectividade à internet, garanta que o certificado SSL do Servidor de Base é confiável, e que uma extensão do navegador não esteja bloqueando as requisições de rede.",
- "Encrypted by an unverified device": "Criptografado por um dispositivo não verificado",
- "Unencrypted message": "Mensagem não criptografada",
"Join as voice or video.": "Participar por voz ou por vídeo.",
"Uploading %(filename)s and %(count)s others|other": "Enviando o arquivo %(filename)s e %(count)s outros arquivos",
"Username available": "Nome de usuária(o) disponível",
@@ -483,7 +438,6 @@
"You do not have permission to do that in this room.": "Não tem permissão para fazer isso nesta sala.",
"Copied!": "Copiado!",
"Failed to copy": "Falha ao copiar",
- "Verifies a user, device, and pubkey tuple": "Verifica um utilizador, o dispositivo e o tuplo da chave pública",
"Check for update": "Procurar atualizações",
"Your browser does not support the required cryptography extensions": "O seu browser não suporta as extensões de criptografia necessárias",
"Not a valid Riot keyfile": "Não é um ficheiro de chaves Riot válido",
@@ -494,10 +448,7 @@
"Start verification": "Iniciar verificação",
"Share without verifying": "Partilhar sem verificar",
"Ignore request": "Ignorar pedido",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Adicionou um novo dispositivo '%(displayName)s', que está a pedir chaves de encriptação.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "O seu dispositivo não verificado '%(displayName)s' está a pedir chaves de encriptação.",
"Encryption key request": "Pedido de chave de encriptação",
- "Loading device info...": "A carregar as informações do dispositivo...",
"Example": "Exemplo",
"Create": "Criar",
"Featured Rooms:": "Salas em destaque:",
@@ -575,7 +526,6 @@
"Files": "Ficheiros",
"Collecting app version information": "A recolher informação da versão da app",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Apagar o apelido %(alias)s da sala e remover %(name)s da lista pública?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Isto irá permitir-lhe voltar à sua conta depois de terminar sessão, assim como iniciar sessão noutros dispositivos.",
"Keywords": "Palavras-chave",
"Enable notifications for this account": "Ativar notificações para esta conta",
"Messages containing keywords": "Mensagens contendo palavras-chave",
@@ -669,7 +619,6 @@
"The information being sent to us to help make Riot.im better includes:": "As informações que estão sendo enviadas para ajudar a melhorar o Riot.im incluem:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Quando esta página contém informação de que permitam a sua identificação, como uma sala, ID de utilizador ou de grupo, estes dados são removidos antes de serem enviados ao servidor.",
"Call Failed": "A chamada falhou",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Há dispositivos desconhecidos nesta sala: se continuar sem os verificar, será possível que alguém espie a sua chamada.",
"Review Devices": "Rever dispositivos",
"Call Anyway": "Ligar na mesma",
"Answer Anyway": "Responder na mesma",
@@ -678,5 +627,9 @@
"Call failed due to misconfigured server": "Chamada falhada devido a um erro de configuração do servidor",
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Peça ao administrador do seu servidor inicial (%(homeserverDomain)s) de configurar um servidor TURN para que as chamadas funcionem fiavelmente.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Alternativamente, pode tentar usar o servidor público em turn.matrix.org, mas não será tão fiável e partilhará o seu IP com esse servidor. Também pode gerir isso nas definições.",
- "Try using turn.matrix.org": "Tente utilizar turn.matrix.org"
+ "Try using turn.matrix.org": "Tente utilizar turn.matrix.org",
+ "The version of Riot": "A versão do Riot",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Quer esteja a usar o Riot num dispositivo onde o touch é o mecanismo de entrada primário",
+ "Whether you're using Riot as an installed Progressive Web App": "Quer esteja a usar o Riot como uma Progressive Web App (PWA)",
+ "Your user agent": "O seu user agent"
}
diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json
index 8027bb577f..97245ef025 100644
--- a/src/i18n/strings/pt_BR.json
+++ b/src/i18n/strings/pt_BR.json
@@ -52,7 +52,6 @@
"I have verified my email address": "Eu verifiquei o meu endereço de email",
"Import E2E room keys": "Importar chave de criptografia ponta-a-ponta (E2E) da sala",
"Invalid Email Address": "Endereço de email inválido",
- "Invite new room members": "Convidar novas pessoas para ingressar na sala",
"Invites": "Convidar",
"Invites user with given id to current room": "Convidar usuários com um dado identificador para esta sala",
"Sign in with": "Quero entrar",
@@ -65,8 +64,6 @@
"Manage Integrations": "Gerenciar integrações",
"Moderator": "Moderador/a",
"Name": "Nome",
- "Never send encrypted messages to unverified devices from this device": "Nunca envie mensagens criptografada para um dispositivo não verificado a partir deste dispositivo",
- "Never send encrypted messages to unverified devices in this room from this device": "Nunca envie mensagens criptografadas para dispositivos não verificados nesta sala a partir deste dispositivo",
"New passwords must match each other.": "As novas senhas informadas precisam ser idênticas.",
"none": "nenhum",
"Notifications": "Notificações",
@@ -76,7 +73,6 @@
"Only people who have been invited": "Apenas pessoas que tenham sido convidadas",
"Password": "Senha",
"Passwords can't be empty": "As senhas não podem estar em branco",
- "People": "Pessoas",
"Permissions": "Permissões",
"Phone": "Telefone",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Por favor verifique seu email e clique no link enviado. Quando finalizar este processo, clique para continuar.",
@@ -89,8 +85,6 @@
"Rooms": "Salas",
"Scroll to bottom of page": "Ir para o fim da página",
"Searches DuckDuckGo for results": "Buscar por resultados no buscador DuckDuckGo",
- "Sender device information": "Informação do dispositivo emissor",
- "Send Invites": "Enviar convites",
"Send Reset Email": "Enviar email para redefinição de senha",
"Server may be unavailable, overloaded, or you hit a bug.": "O servidor pode estar indisponível ou sobrecarregado, ou então você encontrou uma falha no sistema.",
"Session ID": "Identificador de sessão",
@@ -100,7 +94,6 @@
"Sign out": "Sair",
"Someone": "Alguém",
"Start a chat": "Começar uma conversa",
- "Start Chat": "Começar conversa",
"Success": "Sucesso",
"The email address linked to your account must be entered.": "O endereço de email relacionado a sua conta precisa ser informado.",
"This doesn't appear to be a valid email address": "Este não aparenta ser um endereço de email válido",
@@ -125,10 +118,8 @@
"VoIP conference started.": "Conferência VoIP iniciada.",
"Who can access this room?": "Quem pode acessar esta sala?",
"Who can read history?": "Quem pode ler o histórico da sala?",
- "Who would you like to communicate with?": "Com quem você gostaria de se comunicar?",
"You do not have permission to post to this room": "Você não tem permissão de postar nesta sala",
"You have no visible notifications": "Voce não possui notificações visíveis",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Sua senha foi alterada com sucesso. Você não receberá notificações em outros dispositivos até que você logue novamente por eles",
"Sun": "Dom",
"Mon": "Seg",
"Tue": "Ter",
@@ -198,7 +189,6 @@
"This room is not recognised.": "Esta sala não é reconhecida.",
"This phone number is already in use": "Este número de telefone já está sendo usado",
"To use it, just wait for autocomplete results to load and tab through them.": "Para usar esta funcionalidade, espere o carregamento dos resultados de autocompletar e então escolha entre as opções.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ativou criptografia ponta a ponta (algoritmo %(algorithm)s).",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s desfez o banimento de %(targetName)s.",
"Unable to capture screen": "Não foi possível capturar a imagem da tela",
"Unable to enable Notifications": "Não foi possível ativar as notificações",
@@ -236,7 +226,6 @@
"Click to unmute audio": "Clique para retirar áudio do mudo",
"Command error": "Erro de comando",
"Decrypt %(text)s": "Descriptografar %(text)s",
- "Devices": "Dispositivos",
"Direct chats": "Conversas pessoais",
"Disinvite": "Desconvidar",
"Download %(text)s": "Baixar %(text)s",
@@ -250,20 +239,13 @@
"Failed to set display name": "Houve falha ao definir o nome público",
"Failed to toggle moderator status": "Houve falha ao alterar o status de moderador/a",
"Fill screen": "Tela cheia",
- "Hide Text Formatting Toolbar": "Ocultar a barra de formatação de texto",
"Incorrect verification code": "Código de verificação incorreto",
- "Invalid alias format": "Formato de alias é inválido",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' não é um formato válido para um alias",
"Join Room": "Ingressar na sala",
"Jump to first unread message.": "Ir diretamente para a primeira das mensagens não lidas.",
"Kick": "Remover",
"Local addresses for this room:": "Endereço local desta sala:",
- "Markdown is disabled": "A formatação 'Markdown' está desabilitada",
- "Markdown is enabled": "A formatação 'Markdown' está habilitada",
- "Message not sent due to unknown devices being present": "A mensagem não foi enviada por causa da presença de dispositivos desconhecidos",
"New address (e.g. #foo:%(localDomain)s)": "Novo endereço (p.ex: #algo:%(localDomain)s)",
"not specified": "não especificado",
- "No devices with registered encryption keys": "Não há dispositivos com chaves de criptografia registradas",
"No more results": "Não há mais resultados",
"No results": "Sem resultados",
"OK": "Ok",
@@ -278,7 +260,6 @@
"This room has no local addresses": "Esta sala não tem endereços locais",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Tentei carregar um ponto específico na linha do tempo desta sala, mas parece que você não tem permissões para ver a mensagem em questão.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Tentei carregar um ponto específico na linha do tempo desta sala, mas não o encontrei.",
- "Unable to load device list": "Não foi possível carregar a lista de dispositivos",
"Unknown room %(roomId)s": "A sala %(roomId)s é desconhecida",
"You seem to be in a call, are you sure you want to quit?": "Parece que você está em uma chamada. Tem certeza que quer sair?",
"You seem to be uploading files, are you sure you want to quit?": "Parece que você está enviando arquivos. Tem certeza que quer sair?",
@@ -286,19 +267,15 @@
"Make Moderator": "Tornar moderador(a)",
"Room": "Sala",
"Cancel": "Cancelar",
- "bold": "negrito",
- "italic": "itálico",
"Ban": "Banir",
"Access Token:": "Token de acesso:",
"Always show message timestamps": "Sempre mostrar as datas das mensagens",
"Authentication": "Autenticação",
"An error has occurred.": "Ocorreu um erro.",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Alterar a senha irá atualmente apagar todas as chaves de criptografia ponta-a-ponta em todos os dispositivos, fazendo com que o histórico da conversa fique ilegível, a não ser que você exporte antes as chaves de sala e então as reimporte depois. No futuro, isso vai melhorar.",
"Email": "Email",
"Email address": "Endereço de email",
"Error decrypting attachment": "Erro ao descriptografar o anexo",
"Invalid file%(extra)s": "Arquivo inválido %(extra)s",
- "matrix-react-sdk version:": "versão do matrix-react-sdk:",
"Mute": "Mudo",
"olm version:": "versão do olm:",
"Operation failed": "A operação falhou",
@@ -329,18 +306,9 @@
"Unknown error": "Erro desconhecido",
"Incorrect password": "Senha incorreta",
"To continue, please enter your password.": "Para continuar, por favor insira a sua senha.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Para verificar que este dispositivo é confiável, por favor entre em contato com a(o) sua(seu) dona(o) usando outros meios, como por exemplo pessoalmente ou por uma chamada telefônica, e pergunte a esta pessoa se a chave que ela está vendo nas suas configurações de usuário para este dispositivo é igual a esta:",
- "Device name": "Nome do dispositivo",
- "Device key": "Chave do dispositivo",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Se a chave for a mesma, clique no botão \"verificar\" abaixo. Se não for a mesma, então alguma outra pessoa está interceptando este dispositivo e você provavelmente vai querer clicar no botão \"colocar na lista negra\".",
- "Verify device": "Verificar o dispositivo",
"I verify that the keys match": "Eu confirmo que as chaves são iguais",
"Unable to restore session": "Não foi possível restaurar a sessão",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Se você já usou antes uma versão mais recente do Riot, a sua sessão pode ser incompatível com esta versão. Feche esta janela e tente abrir com a versão mais recente.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Você está atualmente bloqueando dispositivos não verificados. Para enviar mensagens para estes dispositivos, você necessita antes verificá-los.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Nós recomendamos que você passe pelo processo de verificação para cada dispositivo para confirmar que eles pertencem às pessoas que efetivamente são suas donas, mas você pode reenviar a mensagem sem verificar isso, se assim o desejar.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" contém dispositivos que você não viu antes.",
- "Unknown devices": "Dispositivos desconhecidos",
"Unknown Address": "Endereço desconhecido",
"Unblacklist": "Tirar da lista de bloqueados",
"Blacklist": "Colocar na lista de bloqueados",
@@ -371,20 +339,14 @@
"This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "Este processo faz com que você possa importar as chaves de criptografia que tinha previamente exportado de outro cliente Matrix. Você poderá então descriptografar todas as mensagens que o outro cliente pôde criptografar.",
"Start automatically after system login": "Iniciar automaticamente ao iniciar o sistema",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Você será levado agora a um site de terceiros para poder autenticar a sua conta para uso com o serviço %(integrationsUrl)s. Você quer continuar?",
- "Device already verified!": "Dispositivo já verificado!",
"Export": "Exportar",
"Import": "Importar",
"Incorrect username and/or password.": "Nome de usuária(o) e/ou senha incorreto.",
"Invited": "Convidada(o)",
"Results from DuckDuckGo": "Resultados de DuckDuckGo",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "A chave de assinatura que você forneceu é a mesma que a chave de assinatura que você recebeu do dispositivo %(deviceId)s de %(userId)s . O dispositivo foi portanto marcado como verificado.",
- "Unknown (user, device) pair:": "Par usuária(o)-dispositivo desconhecido:",
- "Unrecognised command:": "Comando não reconhecido:",
"Unrecognised room alias:": "Apelido de sala não reconhecido:",
"Use compact timeline layout": "Usar o layout de linha do tempo compacta",
"Verified key": "Chave verificada",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ATENÇÃO: O dispositivo já foi verificado, mas as chaves NÃO SÃO IGUAIS!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ATENÇÃO: VERIFICAÇÃO DE CHAVE FALHOU! A chave de assinatura para a(o) usuária(o) %(userId)s e dispositivo %(deviceId)s é \"%(fprint)s\", que não é igual à chave fornecida \"%(fingerprint)s\". Isso pode significar que suas comunicações estão sendo interceptadas!",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removeu a imagem da sala.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s alterou a imagem da sala %(roomName)s",
"%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s alterou a imagem da sala para ",
@@ -399,9 +361,7 @@
"Anyone": "Qualquer pessoa",
"Are you sure you want to leave the room '%(roomName)s'?": "Você tem certeza que deseja sair da sala '%(roomName)s'?",
"Custom level": "Nível personalizado",
- "Device ID:": "ID do dispositivo:",
"device id: ": "id do dispositivo: ",
- "Device key:": "Chave do dispositivo:",
"Register": "Registre-se",
"Remote addresses for this room:": "Endereços remotos para esta sala:",
"Save": "Salvar",
@@ -437,7 +397,6 @@
"Disable Notifications": "Desabilitar notificações",
"Drop File Here": "Arraste o arquivo aqui",
"Enable Notifications": "Habilitar notificações",
- "Encrypted by an unverified device": "Criptografado por um dispositivo não verificado",
"Failed to upload profile picture!": "Falha ao enviar a imagem de perfil!",
"Incoming call from %(name)s": "Recebendo chamada de %(name)s",
"Incoming video call from %(name)s": "Recebendo chamada de vídeo de %(name)s",
@@ -447,16 +406,12 @@
"No display name": "Sem nome público de usuária(o)",
"Private Chat": "Conversa privada",
"Public Chat": "Conversa pública",
- "Room contains unknown devices": "Esta sala contém dispositivos desconhecidos",
"%(roomName)s does not exist.": "%(roomName)s não existe.",
"%(roomName)s is not accessible at this time.": "%(roomName)s não está acessível neste momento.",
"Seen by %(userName)s at %(dateTime)s": "Visto por %(userName)s em %(dateTime)s",
"Send anyway": "Enviar de qualquer maneira",
- "Show Text Formatting Toolbar": "Exibir barra de formatação de texto",
"Start authentication": "Iniciar autenticação",
"This room": "Esta sala",
- "Undecryptable": "Não é possível descriptografar",
- "Unencrypted message": "Mensagem não criptografada",
"unknown caller": "a pessoa que está chamando é desconhecida",
"Unnamed Room": "Sala sem nome",
"Upload new:": "Enviar novo:",
@@ -475,8 +430,6 @@
"Start verification": "Iniciar a verificação",
"Share without verifying": "Compartilhar sem verificar",
"Ignore request": "Ignorar o pedido",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Você adicionou um novo dispositivo '%(displayName)s', que está solicitando chaves de criptografia.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Seu dispositivo não verificado '%(displayName)s' está solicitando chaves de criptografia.",
"Encryption key request": "Solicitação de chave de criptografia",
"Invite to Community": "Convidar à comunidade",
"Restricted": "Restrito",
@@ -503,7 +456,6 @@
"The information being sent to us to help make Riot.im better includes:": "As informações que estão sendo enviadas para ajudar a melhorar o Riot.im incluem:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Quando esta página tem informação de identificação, como uma sala, ID de usuária/o ou de grupo, estes dados são removidos antes de serem enviados ao servidor.",
"Call Failed": "A chamada falhou",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Há dispositivos desconhecidos nesta sala: se você continuar sem verificá-los, será possível alguém espiar sua chamada.",
"Review Devices": "Revisar dispositivos",
"Call Anyway": "Ligar assim mesmo",
"Answer Anyway": "Responder assim mesmo",
@@ -534,8 +486,6 @@
"Enable inline URL previews by default": "Ativar, por padrão, a visualização de resumo de links",
"Enable URL previews for this room (only affects you)": "Ativar, para esta sala, a visualização de links (só afeta você)",
"Enable URL previews by default for participants in this room": "Ativar, para todas/os as/os integrantes desta sala, a visualização de links",
- "Delete %(count)s devices|other": "Removar %(count)s dispositivos",
- "Delete %(count)s devices|one": "Remover dispositivo",
"Cannot add any more widgets": "Não é possível adicionar novos widgets",
"The maximum permitted number of widgets have already been added to this room.": "O número máximo de widgets permitidos já foi atingido nesta sala.",
"Add a widget": "Adicionar um widget",
@@ -688,7 +638,6 @@
"Community ID": "ID da comunidade",
"example": "exemplo",
"Create": "Criar",
- "Loading device info...": "Carregando informações do dispositivo...",
"To get started, please pick a username!": "Para começar, escolha um nome de usuária/o!",
"
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
HTML para a página da sua comunidade
\n
\n Use a descrição longa para apresentar a comunidade para novas/os integrantes ou partilhe links importantes.\n
\n
\n Você pode até mesmo usar tags 'img' do HTML\n
\n",
"Add rooms to the community summary": "Adicionar salas para o índice da comunidade",
@@ -730,7 +679,6 @@
"Error whilst fetching joined communities": "Erro baixando comunidades das quais você faz parte",
"Create a new community": "Criar nova comunidade",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Crie uma comunidade para agrupar em um mesmo local pessoas e salas! Monte uma página inicial personalizada para dar uma identidade ao seu espaço no universo Matrix.",
- "Show devices, send anyway or cancel.": "Exibir dispositivos, enviar assim mesmo ou cancelar.",
"%(count)s of your messages have not been sent.|one": "Sua mensagem não foi enviada.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Reenviar todas ou cancelar todas agora. Você também pode selecionar mensagens individualmente a serem reenviadas ou canceladas.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Reenviar mensagem ou cancelar mensagem agora.",
@@ -746,7 +694,6 @@
"Please note you are logging into the %(hs)s server, not matrix.org.": "Note que você está se conectando ao servidor %(hs)s, e não ao servidor matrix.org.",
"This homeserver doesn't offer any login flows which are supported by this client.": "Este servidor de base (homeserver) não oferece fluxos de login que funcionem neste cliente.",
"Define the power level of a user": "Definir o nível de permissões de um(a) usuário(a)",
- "Verifies a user, device, and pubkey tuple": "Verifica um(a) usuário(a), dispositivo ou tuplo da chave pública",
"Ignores a user, hiding their messages from you": "Ignora um(a) usuário(a), ocultando suas mensagens de você",
"Stops ignoring a user, showing their messages going forward": "Deixa de ignorar um(a) usuário(a), exibindo suas mensagens daqui para frente",
"Notify the whole room": "Notifica a sala inteira",
@@ -756,11 +703,7 @@
"Failed to add tag %(tagName)s to room": "Falha ao adicionar a tag %(tagName)s para a sala",
"Did you know: you can use communities to filter your Riot.im experience!": "Você sabia? Você pode usar as comunidades para filtrar a sua experiência no Riot!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Para criar um filtro, arraste a imagem de uma comunidade sobre o painel de filtros na extrema esquerda da sua tela. Você pode clicar na imagem de uma comunidade no painel de filtros a qualquer momento para ver apenas as salas e pessoas associadas com esta comunidade.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Seu pedido de confirmação de chaves foi realizado - favor verificar seus outros dispositivos.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Pedidos de confirmação de chaves são enviados aos outros dispositivos automaticamente. Se você rejeitou ou negou uma confirmação de chaves em seus outros dispositivos, clique aqui para enviar novamente.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Se seus outros dispositivos não têm a chave para esta mensagem, você não poderá decriptá-las.",
"Key request sent.": "Requisição de chave enviada.",
- "Re-request encryption keys from your other devices.": "Requisitar novamente chaves de encriptação de seus outros dispositivos.",
"Fetching third party location failed": "Falha ao acessar localização de terceiros",
"A new version of Riot is available.": "Uma nova versão do Riot está disponível.",
"I understand the risks and wish to continue": "Entendo os riscos e desejo continuar",
@@ -808,7 +751,6 @@
"Files": "Arquivos",
"Collecting app version information": "Coletando informação sobre a versão do app",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Apagar o apelido %(alias)s da sala e remover %(name)s da lista pública?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Isso permitirá que você possa retornar à sua conta após fazer logout, e também fazer login em outros dispositivos.",
"Keywords": "Palavras-chave",
"Enable notifications for this account": "Ativar notificações para esta conta",
"Invite to this community": "Convidar para essa comunidade",
@@ -957,20 +899,13 @@
"Encrypted messages in group chats": "Mensagens criptografadas em bate-papos de grupo",
"Delete Backup": "Deletar Backup",
"Unable to load key backup status": "Não é possível carregar o status da chave de backup",
- "Backup has a valid signature from this device": "O backup tem uma assinatura válida deste dispositivo",
"Backup version: ": "Versão do Backup: ",
"Algorithm: ": "Algoritmo: ",
"This event could not be displayed": "O evento não pôde ser exibido",
"Use a longer keyboard pattern with more turns": "Use um padrão de teclas em diferentes direções e sentido",
"Share Link to User": "Compartilhar Link com Usuário",
- "underlined": "sublinhado",
- "inline-code": "código inline",
- "numbered-list": "lista ordenada",
- "bulleted-list": "lista não-ordenada",
"This room has been replaced and is no longer active.": "Esta sala foi substituída e não está mais ativa.",
"The conversation continues here.": "A conversa continua aqui.",
- "Unable to reply": "Não é possível responder",
- "At this time it is not possible to reply with an emote.": "Neste momento não é possível responder com um emote.",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "Visto por %(displayName)s (%(userName)s) em %(dateTime)s",
"Share room": "Compartilhar sala",
"System Alerts": "Alertas do Sistema",
@@ -982,13 +917,6 @@
"You don't currently have any stickerpacks enabled": "Atualmente, você não tem nenhum stickerpacks ativado",
"Demote": "Reduzir privilégio",
"Demote yourself?": "Reduzir seu próprio privilégio?",
- "Backup has a valid signature from verified device ": "O backup tem uma assinatura válida do dispositivo verificado verify> device>",
- "Backup has a valid signature from unverified device ": "O backup tem uma assinatura válida do dispositivo não verificado verify> device>",
- "Backup is not signed by any of your devices": "O backup não está assinado por nenhum dos seus dispositivos",
- "deleted": "excluído",
- "Backup has an invalid signature from verified device ": "O backup tem uma assinatura inválida do dispositivo verificado verify> device>",
- "Backup has an invalid signature from unverified device ": "O backup tem uma assinatura inválida do dispositivo não verificado verify> device>",
- "block-quote": "bloco de citação",
"Add some now": "Adicione alguns agora",
"Stickerpack": "Stickerpack",
"Hide Stickers": "Esconder Stickers",
@@ -1067,7 +995,6 @@
"This looks like a valid recovery key!": "Isso parece uma chave de recuperação válida!",
"Not a valid recovery key": "Não é uma chave de recuperação válida",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Acesse seu histórico seguro de mensagens e configure mensagens seguras inserindo sua chave de recuperação.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Se você esqueceu sua senha de recuperação, você pode configurar novas opções de recuperação button>",
"Share Message": "Compartilhar Mensagem",
"Popout widget": "Widget Popout",
"Send Logs": "Enviar relatos de problemas",
@@ -1114,12 +1041,9 @@
"Your Recovery Key": "Sua chave de recuperação",
"Copy to clipboard": "Copiar para área de transferência",
"Download": "Baixar",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Sua chave de recuperação foi copiada para sua área de transferência b>, cole-a em:",
- "Your Recovery Key is in your Downloads folder.": "Sua chave de recuperação está na sua pasta Downloads b>.",
"Print it and store it somewhere safe": "Imprima-o b> e armazene-o em algum lugar seguro",
"Save it on a USB key or backup drive": "Salve isto b> em uma chave USB ou unidade de backup",
"Copy it to your personal cloud storage": "Copie isto b> para seu armazenamento em nuvem pessoal",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Sem configurar o Recuperação Segura de Mensagens, você não poderá restaurar o histórico de mensagens criptografadas se fizer logout ou usar outro dispositivo.",
"Set up Secure Message Recovery": "Configurar Recuperação Segura de Mensagens",
"Keep it safe": "Mantenha isto seguro",
"Create Key Backup": "Criar backup de chave",
@@ -1180,7 +1104,6 @@
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Mensagens seguras com este usuário são criptografadas de ponta a ponta e não podem ser lidas por terceiros.",
"Got It": "Entendi",
"Unable to find a supported verification method.": "Não é possível encontrar um método de confirmação suportado.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Para segurança máxima, recomendamos que você faça isso pessoalmente ou use outro meio confiável de comunicação.",
"Dog": "Cachorro",
"Cat": "Gato",
"Lion": "Leão",
@@ -1233,7 +1156,6 @@
"Pencil": "Lápis",
"Paperclip": "Clipe de papel",
"Scissors": "Tesouras",
- "Padlock": "Cadeado",
"Key": "Chave",
"Hammer": "Martelo",
"Telephone": "Telefone",
@@ -1251,7 +1173,6 @@
"Headphones": "Fones de ouvido",
"Folder": "Pasta",
"Pin": "Alfinete",
- "Your homeserver does not support device management.": "Seu homeserver não suporta gerenciamento de dispositivos.",
"Yes": "Sim",
"No": "Não",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Enviamos um e-mail para você confirmar seu endereço. Por favor, siga as instruções e clique no botão abaixo.",
@@ -1259,20 +1180,15 @@
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Você tem certeza? Você perderá suas mensagens criptografadas se não for feito o backup correto de suas chaves.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "As mensagens criptografadas são protegidas com criptografia de ponta a ponta. Somente você e o(s) destinatário(s) têm as chaves para ler essas mensagens.",
"Restore from Backup": "Restaurar do Backup",
- "This device is backing up your keys. ": "Este dispositivo está fazendo backup de suas chaves. ",
"Back up your keys before signing out to avoid losing them.": "Faça o backup das suas chaves antes de sair, para evitar perdê-las.",
"Backing up %(sessionsRemaining)s keys...": "Fazendo o backup das chaves de %(sessionsRemaining)s...",
"All keys backed up": "O Backup de todas as chaves foi realizado",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "O Backup tem uma assinatura do dispositivo unknown verify> com ID %(deviceId)s.",
- "This backup is trusted because it has been restored on this device": "Este backup é confiável porque foi restaurado neste dispositivo",
- "Your keys are not being backed up from this device.": "Suas chaves não estão sendo copiadas para este dispositivo b>.",
"Start using Key Backup": "Comece a usar o Backup de chave",
"Add an email address to configure email notifications": "Adicione um endereço de e-mail para configurar notificações por e-mail",
"Unable to verify phone number.": "Não é possível verificar o número de telefone.",
"Verification code": "Código de verificação",
"Phone Number": "Número de telefone",
"Profile picture": "Foto de Perfil",
- "Upload profile picture": "Carregar foto do perfil",
"Upgrade to your own domain": "Atualize para seu próprio domínio",
"Set a new account password...": "Definir uma nova senha da conta...",
"Email addresses": "Endereços de e-mail",
diff --git a/src/i18n/strings/ro.json b/src/i18n/strings/ro.json
index f2828efc59..6c3059399f 100644
--- a/src/i18n/strings/ro.json
+++ b/src/i18n/strings/ro.json
@@ -19,7 +19,6 @@
"The information being sent to us to help make Riot.im better includes:": "Informațiile care ne sunt trimise pentru a ne ajuta să facem mai bine Riot.im includ:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "În cazul în care această pagină include informații care pot fi identificate, cum ar fi o cameră, un utilizator sau un ID de grup, aceste date sunt eliminate înainte de a fi trimise la server.",
"Call Failed": "Apel eșuat",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "În această cameră există dispozitive necunoscute: dacă veți continua fără a le verifica, va fi posibil ca cineva să vă asculte apelul.",
"Review Devices": "Examinați dispozitivele",
"Call Anyway": "Sună oricum",
"Answer Anyway": "Răspunsul Oricum",
diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json
index aeab97caf3..c79be28838 100644
--- a/src/i18n/strings/ru.json
+++ b/src/i18n/strings/ru.json
@@ -21,7 +21,7 @@
"Curve25519 identity key": "Ключ идентификации Curve25519",
"Deactivate Account": "Закрыть аккаунт",
"Decryption error": "Ошибка расшифровки",
- "Default": "Участник",
+ "Default": "По умолчанию",
"Deops user with given id": "Снимает полномочия оператора с пользователя с заданным ID",
"Device ID": "ID устройства",
"Displays action": "Отображение действий",
@@ -48,7 +48,6 @@
"I have verified my email address": "Я подтвердил свой email",
"Import E2E room keys": "Импорт ключей шифрования",
"Invalid Email Address": "Недопустимый email",
- "Invite new room members": "Пригласить в комнату новых участников",
"Invites": "Приглашения",
"Invites user with given id to current room": "Приглашает пользователя с заданным ID в текущую комнату",
"Sign in with": "Войти с помощью",
@@ -61,8 +60,6 @@
"Manage Integrations": "Управление интеграциями",
"Moderator": "Модератор",
"Name": "Имя",
- "Never send encrypted messages to unverified devices from this device": "Никогда не отправлять зашифрованные сообщения на непроверенные устройства (с этого устройства)",
- "Never send encrypted messages to unverified devices in this room from this device": "Никогда не отправлять зашифрованные сообщения на непроверенные устройства (в этой комнате, с этого устройства)",
"New passwords must match each other.": "Новые пароли должны совпадать.",
"none": "никто",
"Notifications": "Уведомления",
@@ -70,7 +67,6 @@
"NOT verified": "НЕ проверено",
"No users have specific privileges in this room": "Ни один пользователь не имеет особых прав в этой комнате",
"Password": "Пароль",
- "People": "Люди",
"Permissions": "Права доступа",
"Phone": "Телефон",
"Remove": "Удалить",
@@ -78,7 +74,6 @@
"Send Reset Email": "Отправить письмо со ссылкой для сброса пароля",
"Settings": "Настройки",
"Start a chat": "Начать разговор",
- "Start Chat": "Начать разговор",
"Unable to add email address": "Не удается добавить email",
"Unable to remove contact information": "Не удалось удалить контактную информацию",
"Unable to verify email address.": "Не удалось проверить email.",
@@ -100,10 +95,8 @@
"Warning!": "Внимание!",
"Who can access this room?": "Кто может войти в эту комнату?",
"Who can read history?": "Кто может читать историю?",
- "Who would you like to communicate with?": "С кем бы вы хотели связаться?",
"You do not have permission to post to this room": "Вы не можете писать в эту комнату",
"You have no visible notifications": "Нет видимых уведомлений",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Пароль успешно изменен. До повторной авторизации вы не будете получать push-уведомления на других устройствах",
"%(targetName)s accepted an invitation.": "%(targetName)s принял приглашение.",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s принял приглашение от %(displayName)s.",
"Active call": "Активный вызов",
@@ -170,7 +163,6 @@
"Sat": "Сб",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ваш email не связан ни с одним пользователем на этом сервере.",
"To use it, just wait for autocomplete results to load and tab through them.": "Чтобы воспользоваться этой функцией, дождитесь загрузки результатов в окне автодополнения, а затем используйте Tab для прокрутки.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s включил(а) в комнате сквозное шифрование (алгоритм %(algorithm)s).",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s разблокировал(а) %(targetName)s.",
"Unable to capture screen": "Не удается сделать снимок экрана",
"Unable to enable Notifications": "Не удалось включить уведомления",
@@ -186,7 +178,6 @@
"Click to unmute video": "Щелкните, чтобы включить видео",
"Click to unmute audio": "Щелкните, чтобы включить звук",
"Decrypt %(text)s": "Расшифровать %(text)s",
- "Devices": "Устройства",
"Direct chats": "Личные чаты",
"Disinvite": "Отозвать приглашение",
"Download %(text)s": "Скачать %(text)s",
@@ -214,20 +205,13 @@
"Failed to set display name": "Не удалось задать отображаемое имя",
"Failed to toggle moderator status": "Не удалось переключить статус модератора",
"Fill screen": "Заполнить экран",
- "Hide Text Formatting Toolbar": "Скрыть инструменты форматирования текста",
"Incorrect verification code": "Неверный код подтверждения",
- "Invalid alias format": "Недопустимый формат имени",
- "'%(alias)s' is not a valid format for an alias": "Имя '%(alias)s' имеет недопустимый формат",
"Join Room": "Войти в комнату",
"Kick": "Выгнать",
"Local addresses for this room:": "Адреса этой комнаты на вашем сервере:",
- "Markdown is disabled": "Markdown отключен",
- "Markdown is enabled": "Markdown включен",
- "matrix-react-sdk version:": "версия matrix-react-sdk:",
"New address (e.g. #foo:%(localDomain)s)": "Новый адрес (например, #чтонибудь:%(localDomain)s)",
"New passwords don't match": "Новые пароли не совпадают",
"not specified": "не задан",
- "No devices with registered encryption keys": "Нет устройств с зарегистрированными ключами шифрования",
"No more results": "Больше никаких результатов",
"No results": "Нет результатов",
"OK": "OK",
@@ -251,8 +235,6 @@
"Scroll to bottom of page": "Перейти к нижней части страницы",
"Search": "Поиск",
"Search failed": "Поиск не удался",
- "Sender device information": "Информация об устройстве отправителя",
- "Send Invites": "Отправить приглашения",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s отправил(а) изображение.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s пригласил(а) %(targetDisplayName)s в комнату.",
"Sign in": "Войти",
@@ -275,8 +257,6 @@
"Make Moderator": "Сделать модератором",
"Room": "Комната",
"Cancel": "Отмена",
- "bold": "жирный",
- "italic": "курсив",
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Не удается подключиться к домашнему серверу через HTTP, так как в адресной строке браузера указан URL HTTPS. Используйте HTTPS или либо включите небезопасные сценарии.",
"Dismiss": "Отклонить",
"Custom Server Options": "Параметры другого сервера",
@@ -287,7 +267,6 @@
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Отображать время в 12-часовом формате (напр. 2:30 ПП)",
"Use compact timeline layout": "Использовать компактный вид списка сообщений",
"No Microphones detected": "Микрофоны не обнаружены",
- "Unknown devices": "Неизвестное устройство",
"Camera": "Камера",
"Microphone": "Микрофон",
"Start automatically after system login": "Автозапуск при входе в систему",
@@ -301,12 +280,8 @@
"Anyone": "Все",
"Are you sure you want to leave the room '%(roomName)s'?": "Вы уверены, что хотите покинуть '%(roomName)s'?",
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s удалил(а) имя комнаты.",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Смена пароля на данный момент сбрасывает ключи сквозного шифрования на всех устройствах, делая историю зашифрованных чатов нечитаемой. Чтобы избежать этого, экспортируйте ключи сквозного шифрования и импортируйте их после смены пароля. В будущем это будет исправлено.",
"Custom level": "Специальные права",
- "Device already verified!": "Устройство уже проверено!",
- "Device ID:": "ID устройства:",
"device id: ": "ID устройства: ",
- "Device key:": "Ключ устройства:",
"Email address": "Email",
"Error decrypting attachment": "Ошибка расшифровки вложения",
"Export": "Экспорт",
@@ -315,7 +290,6 @@
"Invalid file%(extra)s": "Недопустимый файл%(extra)s",
"Invited": "Приглашен",
"Jump to first unread message.": "Перейти к первому непрочитанному сообщению.",
- "Message not sent due to unknown devices being present": "Сообщение не отправлено из-за присутствия неизвестных устройств",
"Privileged Users": "Привилегированные пользователи",
"Revoke Moderator": "Отозвать права модератора",
"Register": "Зарегистрироваться",
@@ -331,18 +305,12 @@
"%(senderName)s set a profile picture.": "%(senderName)s установил(а) себе аватар.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s изменил(а) отображаемое имя на %(displayName)s.",
"Signed Out": "Выполнен выход",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Предоставленный вами ключ совпадает с ключом, полученным от %(userId)s с устройства %(deviceId)s. Это устройство помечено как проверенное.",
"This room is not accessible by remote Matrix servers": "Это комната недоступна из других серверов Matrix",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Попытка загрузить выбранный интервал истории чата этой комнаты не удалась, так как у вас нет разрешений на просмотр.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Попытка загрузить выбранный интервал истории чата этой комнаты не удалась, так как запрошенный элемент не найден.",
- "Unable to load device list": "Не удалось загрузить список устройств",
- "Unknown (user, device) pair:": "Неизвестная пара пользователь-устройство:",
"Unmute": "Вернуть право речи",
- "Unrecognised command:": "Нераспознанная команда:",
"Unrecognised room alias:": "Нераспознанный псевдоним комнаты:",
"Verified key": "Ключ проверен",
- "WARNING: Device already verified, but keys do NOT MATCH!": "ВНИМАНИЕ: устройство уже было проверено, однако ключи НЕ СОВПАДАЮТ!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ВНИМАНИЕ: ОШИБКА ПРОВЕРКИ КЛЮЧЕЙ! Ключ подписи пользователя %(userId)s на устройстве %(deviceId)s — \"%(fprint)s\", и он не соответствует предоставленному ключу \"%(fingerprint)s\". Это может означать, что ваше общение перехватывается!",
"You have disabled URL previews by default.": "Предпросмотр ссылок по умолчанию выключен для вас.",
"You have enabled URL previews by default.": "Предпросмотр ссылок по умолчанию включен для вас.",
"You seem to be in a call, are you sure you want to quit?": "Звонок не завершен, вы уверены, что хотите выйти?",
@@ -369,17 +337,9 @@
"Unknown error": "Неизвестная ошибка",
"Incorrect password": "Неверный пароль",
"To continue, please enter your password.": "Чтобы продолжить, введите ваш пароль.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Чтобы удостовериться, что этому устройству можно доверять, пожалуйста, свяжитесь с владельцем другим способом (например, лично или по телефону) и спросите его, совпадает ли ключ, указанный у него в настройках для этого устройства, с ключом ниже:",
- "Device name": "Имя устройства",
- "Device key": "Ключ устройства",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Если совпадают, нажмите кнопку подтверждения ниже. Если нет — значит, кто-то перехватил это устройство, и вы, скорее всего, захотите внести его в черный список.",
- "Verify device": "Проверить устройство",
"I verify that the keys match": "Я подтверждаю, что ключи совпадают",
"Unable to restore session": "Восстановление сессии не удалось",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Если вы использовали более новую версию Riot, то ваша сессия может быть несовместима с текущей. Закройте это окно и вернитесь к использованию более новой версии.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "У вас включено занесение непроверенных устройств в черный список. Для отправки сообщений на эти устройства вам необходимо их проверить.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Мы рекомендуем вам выполнить процедуру проверки каждого устройства, чтобы удостовериться, что они принадлежат их законному владельцу, но вы можете переотправить сообщение без проверки, если хотите.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" содержит неподтвержденные устройства.",
"Unknown Address": "Неизвестный адрес",
"Unblacklist": "Разблокировать",
"Blacklist": "Заблокировать",
@@ -390,7 +350,7 @@
"Please check your email to continue registration.": "Чтобы продолжить регистрацию, проверьте электронную почту.",
"Token incorrect": "Неверный код проверки",
"Please enter the code it contains:": "Введите полученный код:",
- "If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Если не указать email, вы не сможете при необходимости сбросить свой пароль. Уверены?",
+ "If you don't specify an email address, you won't be able to reset your password. Are you sure?": "If you don't specify an email address, you won't be able to reset your password. Вы уверены?",
"Error decrypting audio": "Ошибка расшифровки аудиозаписи",
"Error decrypting image": "Ошибка расшифровки изображения",
"Error decrypting video": "Ошибка расшифровки видео",
@@ -434,7 +394,6 @@
"Disable Notifications": "Отключить уведомления",
"Drop File Here": "Перетащите файл сюда",
"Enable Notifications": "Включить оповещения",
- "Encrypted by an unverified device": "Зашифровано непроверенным устройством",
"Failed to upload profile picture!": "Не удалось загрузить аватар!",
"Incoming call from %(name)s": "Входящий вызов от %(name)s",
"Incoming video call from %(name)s": "Входящий видеовызов от %(name)s",
@@ -449,14 +408,10 @@
"(~%(count)s results)|other": "(~%(count)s результатов)",
"Custom": "Пользовательские",
"Decline": "Отклонить",
- "Room contains unknown devices": "Комната содержит непроверенные устройства",
"%(roomName)s does not exist.": "%(roomName)s не существует.",
"%(roomName)s is not accessible at this time.": "%(roomName)s на данный момент недоступна.",
"Seen by %(userName)s at %(dateTime)s": "Прочитано %(userName)s в %(dateTime)s",
"Send anyway": "Отправить в любом случае",
- "Show Text Formatting Toolbar": "Показать инструменты форматирования текста",
- "Undecryptable": "Невозможно расшифровать",
- "Unencrypted message": "Нешифрованное сообщение",
"unknown caller": "неизвестный абонент",
"Unnamed Room": "Комната без названия",
"Upload new:": "Загрузить новый:",
@@ -475,8 +430,6 @@
"Start verification": "Начать проверку",
"Share without verifying": "Поделиться без проверки",
"Ignore request": "Игнорировать запрос",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Вы добавили новое устройство '%(displayName)s', которое требует ключи шифрования.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Ваше непроверенное устройство '%(displayName)s' запрашивает ключи шифрования.",
"Encryption key request": "Запрос ключа шифрования",
"Check for update": "Проверить наличие обновлений",
"Add a widget": "Добавить виджет",
@@ -493,8 +446,6 @@
"Unable to create widget.": "Не удалось создать виджет.",
"You are not in this room.": "Вас сейчас нет в этой комнате.",
"You do not have permission to do that in this room.": "У вас нет разрешения на это в данной комнате.",
- "Verifies a user, device, and pubkey tuple": "Проверка пользователя, устройства и открытого ключа",
- "Loading device info...": "Загрузка информации об устройстве...",
"Example": "Пример",
"Create": "Создать",
"Featured Rooms:": "Рекомендуемые комнаты:",
@@ -703,11 +654,8 @@
"Unknown for %(duration)s": "Неизвестно %(duration)s",
"There's no one else here! Would you like to invite others or stop warning about the empty room?": "Здесь никого нет! Хотите пригласить кого-нибудь или выключить предупреждение о пустой комнате?",
"Something went wrong when trying to get your communities.": "Что-то пошло не так при попытке получить список ваших сообществ.",
- "Delete %(count)s devices|other": "Удалить (%(count)s)",
- "Delete %(count)s devices|one": "Удалить",
"This homeserver doesn't offer any login flows which are supported by this client.": "Этот домашний сервер не поддерживает метод входа, поддерживаемый клиентом.",
"Call Failed": "Звонок не удался",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "В этой комнате есть неизвестные устройства: если вы решите их не проверять, имейте в виду, что кто-то, возможно, вас прослушивает.",
"Review Devices": "Проверка устройств",
"Call Anyway": "Позвонить в любом случае",
"Answer Anyway": "Ответить в любом случае",
@@ -746,7 +694,6 @@
"Which officially provided instance you are using, if any": "Каким официально поддерживаемым клиентом вы пользуетесь (если пользуетесь)",
"Whether or not you're using the Richtext mode of the Rich Text Editor": "Используете ли вы режим Richtext в редакторе Rich Text Editor",
"This room is not public. You will not be able to rejoin without an invite.": "Эта комната не является публичной. Вы не сможете войти без приглашения.",
- "Show devices, send anyway or cancel.": "Показать устройства, отправить в любом случае или отменить.",
"Community IDs cannot be empty.": "ID сообществ не могут быть пустыми.",
"In reply to": "В ответ на",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s изменил(а) отображаемое имя на %(displayName)s.",
@@ -756,11 +703,7 @@
"Clear filter": "Очистить фильтр",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Чтобы настроить фильтр, перетащите аватар сообщества на панель фильтров в левой части экрана. Вы можете нажать на аватар в панели фильтров в любое время, чтобы увидеть только комнаты и людей, связанных с этим сообществом.",
"Did you know: you can use communities to filter your Riot.im experience!": "Знаете ли вы: вы можете использовать сообщества, чтобы фильтровать в Riot.im!",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Если на других устройствах тоже нет ключа для этого сообщения, вы не сможете его расшифровать.",
"Key request sent.": "Запрос ключа отправлен.",
- "Re-request encryption keys from your other devices.": "Повторно запросить ключи шифрования с других устройств.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Запрос на передачу ключей отправлен — проверьте остальные устройства.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Запросы на передачу ключей автоматически отправляются на другие устройства. Если вы отклонили или отменили запрос на другом устройстве, нажмите, чтобы запросить ключи повторно.",
"Code": "Код",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Если вы отправили ошибку через GitHub, журналы отладки могут помочь нам выявить проблему. Журналы отладки содержат данные об использовании приложения, включая ваше имя пользователя, идентификаторы или псевдонимы комнат или групп, которые вы посетили, а также имена других пользователей. Они не содержат сообщений.",
"Submit debug logs": "Отправка журналов отладки",
@@ -825,7 +768,6 @@
"Resend": "Переотправить",
"Collecting app version information": "Сбор информации о версии приложения",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Удалить псевдоним комнаты %(alias)s и удалить %(name)s из каталога?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Это позволит вам вернуться к учётной записи после выхода из системы и войти на других устройствах.",
"Keywords": "Ключевые слова",
"Enable notifications for this account": "Включить уведомления для этой учётной записи",
"Invite to this community": "Пригласить в это сообщество",
@@ -918,7 +860,6 @@
"Refresh": "Обновить",
"We encountered an error trying to restore your previous session.": "Произошла ошибка при попытке восстановить предыдущий сеанс.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Очистка хранилища вашего браузера может устранить проблему, но при этом ваша сессия будет завершена и зашифрованная история чата станет нечитаемой.",
- "Unable to reply": "Не удается ответить",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Не удается загрузить событие, на которое был дан ответ. Либо оно не существует, либо у вас нет разрешения на его просмотр.",
"Enable widget screenshots on supported widgets": "Включить скриншоты виджета в поддерживаемых виджетах",
"Collapse Reply Thread": "Ответить с цитированием",
@@ -961,8 +902,6 @@
"Demote": "Понижение",
"Demote yourself?": "Понизить самого себя?",
"This event could not be displayed": "Это событие отобразить невозможно",
- "deleted": "удален",
- "underlined": "подчеркнутый",
"Permission Required": "Требуется разрешение",
"You do not have permission to start a conference call in this room": "У вас нет разрешения на запуск конференции в этой комнате",
"A call is currently being placed!": "Есть активный вызов!",
@@ -979,13 +918,13 @@
"Put a link back to the old room at the start of the new room so people can see old messages": "Разместим ссылку на старую комнату, чтобы люди могли видеть старые сообщения",
"Please contact your service administrator to continue using this service.": "Пожалуйста, обратитесь к вашему администратору, чтобы продолжить использовать этот сервис.",
"Registration Required": "Требуется регистрация",
- "You need to register to do this. Would you like to register now?": "Необходима регистрация. Хотите зарегистрироваться?",
+ "You need to register to do this. Would you like to register now?": "Вам необходимо зарегистрироваться для этого действия. Вы хотели бы зарегистрировать сейчас?",
"Whether or not you're logged in (we don't record your username)": "Независимо от того, вошли вы или нет (мы не записываем ваше имя пользователя)",
"Unable to load! Check your network connectivity and try again.": "Не удалось загрузить! Проверьте подключение к сети и попробуйте снова.",
"Failed to invite users to the room:": "Не удалось пригласить пользователей в комнату:",
"Upgrades a room to a new version": "Модернизирует комнату до новой версии",
"Sets the room name": "Устанавливает название комнаты",
- "Forces the current outbound group session in an encrypted room to be discarded": "Принудительно отбрасывает текущий сеанс исходящей группы в зашифрованной комнате",
+ "Forces the current outbound group session in an encrypted room to be discarded": "Принудительно отбрасывает текущую сессию исходящей группы в зашифрованной комнате",
"%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s модернизировал эту комнату.",
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s добавил %(addedAddresses)s к списку адресов комнаты.",
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|one": "%(senderName)s добавил %(addedAddresses)s к списку адресов комнаты.",
@@ -1000,7 +939,7 @@
"%(names)s and %(lastPerson)s are typing …": "%(names)s и %(lastPerson)s печатают…",
"This homeserver has hit its Monthly Active User limit.": "Сервер достиг ежемесячного ограничения активных пользователей.",
"This homeserver has exceeded one of its resource limits.": "Превышен один из лимитов на ресурсы сервера.",
- "Unable to connect to Homeserver. Retrying...": "Невозможно подключиться к серверу. Выполняется повторная попытка...",
+ "Unable to connect to Homeserver. Retrying...": "Невозможно соединиться с домашним сервером. Повторить",
"Unrecognised address": "Нераспознанный адрес",
"You do not have permission to invite people to this room.": "У вас нет разрешения приглашать людей в эту комнату.",
"User %(user_id)s may or may not exist": "Пользователя %(user_id)s не существует",
@@ -1017,7 +956,7 @@
"All-uppercase is almost as easy to guess as all-lowercase": "Всё прописными буквами так же легко угадывается как и всё строчными",
"Reversed words aren't much harder to guess": "Угадать перевёрнутые слова не сильно труднее",
"Predictable substitutions like '@' instead of 'a' don't help very much": "Предсказуемые замены типа «@» вместо «a» не особо помогают",
- "Add another word or two. Uncommon words are better.": "Добавьте ещё слово или два. Лучше редких.",
+ "Add another word or two. Uncommon words are better.": "Добавить другое слово или два. Необычные слова лучше.",
"Repeats like \"aaa\" are easy to guess": "Повторы типа \"ааа\" легко угадываемы",
"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"": "Повторы типа «abcabcabc», лишь немного сложнее угадать, чем «abc»",
"Sequences like abc or 6543 are easy to guess": "Последовательности типа abc или 6543 легко угадываемы",
@@ -1055,7 +994,6 @@
"You've successfully verified this user.": "Вы успешно верифицировали этого пользователя.",
"Got It": "Понял",
"Verify this user by confirming the following number appears on their screen.": "Верифицируйте пользователя, убедившись, что на его экране отображается следующее число.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Для максимальной безопасности мы рекомендуем вам делать это лично или использовать другие надежные средства связи.",
"Yes": "Да",
"No": "Нет",
"Email Address": "Адрес электронной почты",
@@ -1118,10 +1056,7 @@
"General": "Общие",
"Set a new account password...": "Установить новый пароль учётной записи...",
"Legal": "Законный",
- "At this time it is not possible to reply with an emote.": "В настоящее время невозможно ответить с помощью эмоции.",
"Room avatar": "Аватар комнаты",
- "Upload room avatar": "Загрузить аватар комнаты",
- "No room avatar": "Нет аватара комнаты",
"The following users may not exist": "Следующих пользователей может не существовать",
"Invite anyway and never warn me again": "Тем не менее пригласить и больше не предупреждать",
"Before submitting logs, you must create a GitHub issue to describe your problem.": "Перед отправкой логов необходимо создать GitHub issue, для описания проблемы.",
@@ -1168,7 +1103,6 @@
"Go to Settings": "Перейти в настройки",
"Set up Secure Messages": "Настроить безопасные сообщения",
"Recovery Method Removed": "Метод восстановления удален",
- "This device is encrypting history using the new recovery method.": "Устройство шифрует историю, используя новый метод восстановления.",
"A new recovery passphrase and key for Secure Messages have been detected.": "Обнаружена новая парольная фраза восстановления и ключ для безопасных сообщений.",
"New Recovery Method": "Новый метод восстановления",
"If you don't want to set this up now, you can later in Settings.": "Это можно сделать позже в настройках.",
@@ -1223,7 +1157,6 @@
"Book": "Книга",
"Pencil": "Карандаш",
"Paperclip": "Скрепка для бумаг",
- "Padlock": "Замок",
"Key": "Ключ",
"Hammer": "Молоток",
"Telephone": "Телефон",
@@ -1241,7 +1174,6 @@
"Headphones": "Наушники",
"Folder": "Папка",
"Pin": "Кнопка",
- "Your homeserver does not support device management.": "Ваш сервер не поддерживает управление устройством.",
"Your keys are being backed up (the first backup could take a few minutes).": "Выполняется резервная копия ключей (первый раз это может занять несколько минут).",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Размер файла '%(fileName)s' превышает разрешённый предел для текущего сервера",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Добавляет смайл ¯\\_(ツ)_/¯ в начало сообщения",
@@ -1266,20 +1198,9 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Зашифрованные сообщения защищены сквозным шифрованием. Только вы и ваш собеседник имеете ключи для их расшифровки и чтения.",
"Unable to load key backup status": "Не удалось получить статус резервного копирования для ключей шифрования",
"Restore from Backup": "Восстановить из резервной копии",
- "This device is backing up your keys. ": "Это устройство хранит резервную копию ключей шифрования. ",
"Back up your keys before signing out to avoid losing them.": "Перед выходом сохраните резервную копию ключей шифрования, чтобы не потерять их.",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Резервная копия подписана неизвестным устройством с ID %(deviceId)s.",
- "Backup has a valid signature from this device": "Резервная копия заверена действительной подписью от этого устройства",
- "Backup has a valid signature from verified device ": "Резервная копия заверена действительной подписью от подтверждённого устройства ",
- "Backup has a valid signature from unverified device ": "Резервная копия заверена действительной подписью от неподтверждённого устройства ",
- "Backup has an invalid signature from verified device ": "Резервная копия заверена недействительной подписью от подтверждённого устройства ",
- "Backup has an invalid signature from unverified device ": "Резервная копия заверена недействительной подписью от неподтверждённого устройства ",
- "Backup is not signed by any of your devices": "Резервная копия не заверена ни одним из ваших устройств",
- "This backup is trusted because it has been restored on this device": "Эта резервная копия считается надёжной потому что была восстановлена на этом устройстве",
- "Your keys are not being backed up from this device.": "Ключи шифрования с этого устройства не сохраняются в резервную копию.",
"Start using Key Backup": "Использовать резервную копию ключей шифрования",
"Profile picture": "Аватар",
- "Upload profile picture": "Загрузить аватар",
"Accept all %(invitedRooms)s invites": "Принять все приглашения (%(invitedRooms)s)",
"Missing media permissions, click the button below to request.": "Отсутствует доступ к источнику медиа. Нажмите кнопку ниже чтобы запросить.",
"Request media permissions": "Запросить доступ к медиа носителю",
@@ -1308,17 +1229,11 @@
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Используете ли вы функцию \"хлебные крошки\" (аватары над списком комнат) или нет",
"A conference call could not be started because the integrations server is not available": "Конференц-вызов не может быть запущен, так как сервер интеграции недоступен",
"Replying With Files": "Ответ файлами",
- "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "В настоящее время нет возможности ответить файлом. Хотели бы вы загрузить этот файл без ответа?",
+ "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "На данный момент не возможнo ответить с файлом. Хотите загрузить этот файл без ответа?",
"The file '%(fileName)s' failed to upload.": "Файл '%(fileName)s' не был загружен.",
"The server does not support the room version specified.": "Сервер не поддерживает указанную версию комнаты.",
"Name or Matrix ID": "Имя или Matrix ID",
- "Email, name or Matrix ID": "Эл. почта, имя или Matrix ID",
- "Room upgrade confirmation": "Подтверждение модернизации комнаты",
- "Upgrading a room can be destructive and isn't always necessary.": "Модернизация комнаты может быть разрушительной и не всегда необходимой.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Модернизация версий комнат обычно рекомендуются, если номер версии комнаты считается нестабильным. Нестабильные версии комнат могут содержать ошибки, отсутствующие функции или уязвимости безопасности.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Модернизация комнаты обычно влияет только на обработку серверной стороны комнаты. Если у вас возникли проблемы с вашим Riot-клиентом , пожалуйста, отправьте запрос в .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Предупреждение: Обновление номера не приведет к автоматическому переходу участников комнаты на новую версию комнаты. Мы разместим ссылку на новую комнату в старой версии комнаты - участники комнаты должны будут нажать эту ссылку для присоединения к новой комнате.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Пожалуйста, подтвердите, что вы хотите перейти к обновлению этой комнаты с на .",
"Changes your avatar in this current room only": "Меняет ваш аватар только в этой комнате",
"Unbans user with given ID": "Разблокирует пользователя с заданным ID",
"Adds a custom widget by URL to the room": "Добавляет пользовательский виджет по URL-адресу в комнате",
@@ -1333,12 +1248,6 @@
"Show read receipts sent by other users": "Показать подтверждение прочтения, отправленные другими пользователями",
"Show hidden events in timeline": "Показать скрытые события в хронологии",
"When rooms are upgraded": "При обновлении комнат",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Это устройство не выполняет резервное копирование ключей, но у вас есть существующая резервная копия, которую вы можете восстановить и добавить в следующий раз.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Подключите это устройство к резервной копии ключей перед выходом из системы, чтобы избежать потери любых ключей, которые могут находиться только на этом устройстве.",
- "Connect this device to Key Backup": "Подключите это устройство к функции резервного копирования ключей",
- "Backup has an invalid signature from this device": "Резервная копия имеет недействительнуюподпись с этого устройства",
- "Enable desktop notifications for this device": "Включить уведомления на рабочем столе для этого устройства",
- "Enable audible notifications for this device": "Включение звуковых оповещений для данного устройства",
"Upgrade to your own domain": "Обновление до собственного домена",
"Credits": "Благодарности",
"Bulk options": "Групповые опции",
@@ -1360,14 +1269,6 @@
"%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s выключено для %(groups)s в этой комнате.",
"%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s включено для %(newGroups)s и отключено для %(oldGroups)s в этой комнате.",
"Once enabled, encryption cannot be disabled.": "После включения, шифрование не может быть отключено.",
- "Some devices for this user are not trusted": "Некоторые устройства для этого пользователя не являются доверенными",
- "Some devices in this encrypted room are not trusted": "Некоторые устройства в этой зашифрованной комнате являются недоверенными",
- "All devices for this user are trusted": "Все устройства для этого пользователя являются доверенными",
- "All devices in this encrypted room are trusted": "Все устройства в этой зашифрованной комнате являются доверенными",
- "inline-code": "встроенный код",
- "block-quote": "цитата",
- "bulleted-list": "маркированный список",
- "numbered-list": "нумерованный-список",
"This room has been replaced and is no longer active.": "Эта комната была заменена и больше не активна.",
"Joining room …": "Вступление в комнату …",
"Loading …": "Загрузка…",
@@ -1435,12 +1336,11 @@
"Use two-way text verification": "Использовать двустороннюю проверку текста",
"View Servers in Room": "Просмотр серверов в комнате",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Проверьте этого пользователя, чтобы отметить его как доверенного. Доверенные пользователи дают вам дополнительное спокойствие при использовании сквозного шифрования сообщений.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Проверка этого пользователя пометит его устройство как доверенное, а также пометит ваше устройство как доверенное.",
"Waiting for partner to confirm...": "В ожидании партнера, чтобы подтвердить ...",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Ранее вы использовали Riot на %(host)s с отложенной загрузкой участников. В этой версии отложенная загрузка отключена. Поскольку локальный кеш не совместим между этими двумя настройками, Riot необходимо повторно синхронизировать вашу учётную запись.",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Если другая версия Riot все еще открыта на другой вкладке, закройте ее, так как использование Riot на том же хосте с включенной и отключенной ленивой загрузкой одновременно вызовет проблемы.",
"Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot теперь использует в 3-5 раз меньше памяти, загружая информацию только о других пользователях, когда это необходимо. Пожалуйста, подождите, пока мы ресинхронизируемся с сервером!",
- "I don't want my encrypted messages": "Мне не нужны мои зашифрованные сообщения",
+ "I don't want my encrypted messages": "Продолжить выход, мне не нужны мои зашифрованные сообщения",
"Manually export keys": "Ручной экспорт ключей",
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Если вы столкнулись с какими-либо ошибками или хотите оставить отзыв, которым хотите поделиться, сообщите нам об этом на GitHub.",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Чтобы избежать повторяющихся проблем, сначала просмотрите существующие проблемы (и добавьте +1), либо создайте новую проблему , если вы не можете ее найти.",
@@ -1477,7 +1377,6 @@
"This looks like a valid recovery key!": "Это похоже на действительный ключ восстановления!",
"Not a valid recovery key": "Недействительный ключ восстановления",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Получите доступ к своей истории защищенных сообщений и настройте безопасный обмен сообщениями, введя свой ключ восстановления.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Если вы забыли пароль для восстановления, вы можете настроить новые параметры восстановления",
"Share Permalink": "Поделиться постоянной ссылкой",
"Clear status": "Удалить статус",
"Update status": "Обновить статус",
@@ -1525,13 +1424,11 @@
"Guest": "Гость",
"Your profile": "Ваш профиль",
"Could not load user profile": "Не удалось загрузить профиль пользователя",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Смена пароля приведет к сбросу любых сквозных ключей шифрования на всех ваших устройствах, что сделает историю зашифрованного чата нечитаемой. Настройте Резервное копирование ключей или экспортируйте ключи от вашей комнаты с другого устройства перед сбросом пароля.",
"Your Matrix account on %(serverName)s": "Ваша учётная запись Matrix на %(serverName)s",
"Your Matrix account on ": "Ваша учётная запись Matrix на ",
"A verification email will be sent to your inbox to confirm setting your new password.": "Письмо с подтверждением будет отправлено на ваш почтовый ящик, чтобы подтвердить установку нового пароля.",
"Sign in instead": "Войдите, вместо этого",
"Your password has been reset.": "Ваш пароль был сброшен.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Вы вышли из всех устройств и больше не будете получать push-уведомления. Чтобы снова включить уведомления, войдите в систему повторно на каждом устройстве.",
"Set a new password": "Установить новый пароль",
"Invalid homeserver discovery response": "Неверное обнаружения сервера",
"Failed to get autodiscovery configuration from server": "Не удалось получить конфигурацию автообнаружения с сервера",
@@ -1567,11 +1464,7 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Как сеть безопасности, вы можете использовать ее для восстановления истории зашифрованных сообщений, если вы забыли свой пароль восстановления.",
"As a safety net, you can use it to restore your encrypted message history.": "Как сеть безопасности, вы можете использовать ее для восстановления истории зашифрованных сообщений.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Ключ восстановления - это сеть безопасности, с помощью которой можно восстановить доступ к зашифрованным сообщениям, если вы забудете пароль.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Храните ключ восстановления в надежном месте, например в менеджере паролей (или в сейфе)",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Ваш ключ восстановления скопирован в буфер обмена, вставьте его в:",
- "Your Recovery Key is in your Downloads folder.": "Ваш ключ восстановления находится в папке Загрузки.",
"Print it and store it somewhere safe": "Распечатайте его и храните в безопасном месте",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Без настройки безопасного восстановления сообщений вы не сможете восстановить историю зашифрованных сообщений, если выйдете из системы или используете другое устройство.",
"Secure your backup with a passphrase": "Защитите вашу резервную копию паролем",
"Confirm your passphrase": "Подтвердите свой пароль",
"Recovery key": "Ключ восстановления",
@@ -1580,8 +1473,6 @@
"Retry": "Попробуйте снова",
"Without setting up Secure Message Recovery, you'll lose your secure message history when you log out.": "Без настройки безопасного восстановления сообщений при выходе из системы вы потеряете историю защищенных сообщений.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Если вы не установили новый метод восстановления, злоумышленник может попытаться получить доступ к вашей учётной записи. Измените пароль учётной записи и сразу установите новый способ восстановления в настройках.",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Это устройство обнаружило, что ваш пароль восстановления и ключ для безопасных сообщений были удалены.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Если вы сделали это случайно, вы можете настроить безопасные сообщения на этом устройстве, которые будут повторно зашифровать историю сообщений этого устройства с новым методом восстановления.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Если вы не удалили метод восстановления, злоумышленник может попытаться получить доступ к вашей учётной записи. Измените пароль учётной записи и сразу установите новый способ восстановления в настройках.",
"Cannot reach homeserver": "Не удаётся связаться с сервером",
"Ensure you have a stable internet connection, or get in touch with the server admin": "Убедитесь, что у вас есть стабильное подключение к интернету, или свяжитесь с администратором сервера",
@@ -1607,8 +1498,6 @@
"%(oneUser)smade no changes %(count)s times|one": "%(oneUser)sне внёс изменений",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Пожалуйста, расскажите нам что пошло не так, либо, ещё лучше, создайте отчёт в GitHub с описанием проблемы.",
"Removing…": "Удаление…",
- "Clear all data on this device?": "Очистить все данные на этом устройстве?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Очистка данных на этом устройстве необратима. Шифрованные сообщения будут утеряны, если не было сделано резервной копии их ключей шифрования.",
"Clear all data": "Очистить все данные",
"Your homeserver doesn't seem to support this feature.": "Ваш сервер похоже не поддерживает эту возможность.",
"Message edits": "Правки сообщения",
@@ -1628,18 +1517,15 @@
"Continue with previous account": "Продолжить с предыдущей учётной записью",
"Failed to re-authenticate due to a homeserver problem": "Ошибка повторной аутентификации из-за проблем на сервере",
"Failed to re-authenticate": "Ошибка повторной аутентификации",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Восстановить доступ к Вашей учётной записи и восстановить ключи шифрования, сохранённые на этом устройстве. Без них Вы не сможете читать все ваши зашифрованные сообщения на любом устройстве.",
"Enter your password to sign in and regain access to your account.": "Введите Ваш пароль для входа и восстановления доступа к Вашей учётной записи.",
"Forgotten your password?": "Забыли Ваш пароль?",
"Sign in and regain access to your account.": "Войти и восстановить доступ к Вашей учётной записи.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Вы не можете войти в Вашу учётную запись. Пожалуйста свяжитесь с администратором вашего сервера для более подробной информации.",
"You're signed out": "Вы вышли из учётной записи",
"Clear personal data": "Очистить персональные данные",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Внимание: Ваши персональные данные (включая ключи шифрования) всё ещё хранятся на этом устройстви. Очистите их, если Вы закончили использовать это устройство, либо хотите войти в другую учётную запись.",
"This account has been deactivated.": "Этот аккаунт был деактивирован.",
"Call failed due to misconfigured server": "Вызов не состоялся из-за неправильно настроенного сервера",
"Try using turn.matrix.org": "Попробуйте использовать turn.matrix.org",
- "Failed to start chat": "Не удалось начать чат",
"Messages": "Сообщения",
"Actions": "Действия",
"Displays list of commands with usages and descriptions": "Отображает список команд с описанием и использованием",
@@ -1666,8 +1552,8 @@
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Кроме того, вы можете попытаться использовать общедоступный сервер по адресу turn.matrix.org , но это не будет настолько надежным, и он предоставит ваш IP-адрес этому серверу. Вы также можете управлять этим в настройках.",
"Sends a message as plain text, without interpreting it as markdown": "Посылает сообщение в виде простого текста, не интерпретируя его как разметку",
"Use an identity server": "Используйте сервер идентификации",
- "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Используйте идентификационный сервер для приглашения по электронной почте. Нажмите «Продолжить», чтобы использовать сервер идентификации по умолчанию (%(defaultIdentityServerName)s) или измените его в настройках.",
- "Use an identity server to invite by email. Manage in Settings.": "Используйте идентификационный сервер для приглашения по электронной почте. Управление в меню Настройки.",
+ "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Используйте сервер идентификации что бы пригласить по электронной почте Нажмите Продолжить, чтобы использовать стандартный сервер идентифицации(%(defaultIdentityServerName)s) или изменить в Настройках.",
+ "Use an identity server to invite by email. Manage in Settings.": "Используйте сервер идентификации что бы пригласить по электронной почте Управление в настройках.",
"Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Разрешить резервный вызов поддержки сервера turn.matrix.org, когда ваш домашний сервер не предлагает такой поддержки (ваш IP-адрес будет использоваться во время вызова)",
"Add Email Address": "Добавить адрес Email",
"Add Phone Number": "Добавить номер телефона",
@@ -1683,7 +1569,6 @@
"Create a private room": "Создать приватную комнату",
"Topic (optional)": "Тема (опционально)",
"Make this room public": "Сделать комнату публичной",
- "Use the new, faster, composer for writing messages": "Используйте новый, более быстрый, редактор для написания сообщений",
"Send read receipts for messages (requires compatible homeserver to disable)": "Отправлять подтверждения о прочтении сообщений (требуется отключение совместимого домашнего сервера)",
"Show previews/thumbnails for images": "Показать превью / миниатюры для изображений",
"Disconnect from the identity server and connect to instead?": "Отключиться от сервера идентификации и вместо этого подключиться к ?",
@@ -1691,19 +1576,18 @@
"You are still sharing your personal data on the identity server .": "Вы все еще делитесь своими личными данными на сервере идентификации .",
"We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Мы рекомендуем вам удалить свои адреса электронной почты и номера телефонов с сервера идентификации перед отключением.",
"Disconnect anyway": "Отключить в любом случае",
- "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "В настоящее время вы используете для обнаружения и быть найденным существующими контактами, которые вы знаете. Вы можете изменить ваш сервер идентификации ниже.",
+ "You are currently using to discover and be discoverable by existing contacts you know. You can change your identity server below.": "В настоящее время вы используете для поиска вами ваших контактов а также вас вашими оппонентами. Вы можете изменить ваш сервер идентификации ниже.",
"If you don't want to use to discover and be discoverable by existing contacts you know, enter another identity server below.": "Если вы не хотите использовать для обнаружения вас и быть обнаруженным вашими существующими контактами, введите другой идентификационный сервер ниже.",
- "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Вы в настоящее время не используете идентификационный сервер. Чтобы обнаружить и быть обнаруженным существующими контактами, которых вы знаете, добавьте один ниже.",
+ "You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "Вы в настоящее время не используете идентификационный сервер. Чтобы найти и быть найденным существующими контактами, которые вы знаете, добавьте один ниже.",
"Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Отключение от сервера идентификации будет означать, что другие пользователи не смогут вас обнаружить, и вы не сможете приглашать других по электронной почте или по телефону.",
"Using an identity server is optional. If you choose not to use an identity server, you won't be discoverable by other users and you won't be able to invite others by email or phone.": "Использование сервера идентификации не обязательно. Если вы решите не использовать сервер идентификации, другие пользователи не смогут обнаружить вас, и вы не сможете пригласить других по электронной почте или телефону.",
"Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Подтвердите условия предоставления услуг сервера идентификации (%(serverName)s), чтобы вас можно было обнаружить по адресу электронной почты или номеру телефона.",
- "Discovery": "Обнаружение",
+ "Discovery": "Поиск",
"Deactivate account": "Деактивировать аккаунт",
"Clear cache and reload": "Очистить кэш и перезагрузить",
"Always show the window menu bar": "Всегда показывать строку меню",
"Read Marker lifetime (ms)": "Читать маркер время жизни (мс)",
"Read Marker off-screen lifetime (ms)": "Читать маркер вне экрана время жизни (мс)",
- "A device's public name is visible to people you communicate with": "Публичное имя устройства видно людям, с которыми вы общаетесь",
"Upgrade the room": "Обновить эту комнату",
"Enable room encryption": "Включить шифрование комнаты",
"You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Вы должны удалить свои личные данные с сервера идентификации перед отключением. К сожалению, идентификационный сервер в данный момент отключен или недоступен.",
@@ -1723,11 +1607,11 @@
"Complete": "Выполнено",
"Revoke": "Отмена",
"Share": "Делиться",
- "Discovery options will appear once you have added an email above.": "Параметры обнаружения появятся после добавления электронной почты выше.",
+ "Discovery options will appear once you have added an email above.": "Параметры поиска по электронной почты появятся после добавления её выше.",
"Unable to revoke sharing for phone number": "Не удалось отменить общий доступ к номеру телефона",
"Unable to share phone number": "Не удается предоставить общий доступ к номеру телефона",
"Please enter verification code sent via text.": "Пожалуйста, введите проверочный код, высланный с помощью текста.",
- "Discovery options will appear once you have added a phone number above.": "Параметры обнаружения появятся после добавления вышеуказанного номера телефона.",
+ "Discovery options will appear once you have added a phone number above.": "Параметры поиска по номеру телефона появятся после его добавления.",
"Remove %(email)s?": "Удалить %(email)s?",
"Remove %(phone)s?": "Удалить %(phone)s?",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Текстовое сообщение было отправлено +%(msisdn)s. Пожалуйста, введите проверочный код, который он содержит.",
@@ -1780,7 +1664,6 @@
"Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Используйте идентификационный сервер для приглашения по электронной почте. Используйте значение по умолчанию (%(defaultIdentityServerName)s) или управляйте в Настройках.",
"Use an identity server to invite by email. Manage in Settings.": "Используйте идентификационный сервер для приглашения по электронной почте. Управление в Настройки.",
"Block users on other matrix homeservers from joining this room (This setting cannot be changed later!)": "Запретить пользователям других Matrix-Серверов присоединяться к этой комнате (этот параметр нельзя изменить позже!)",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Чтобы убедиться, что этому устройству можно доверять, проверьте ключ, который вы видите в настройках пользователя на этом устройстве, соответствует указанному ниже ключу:",
"Reporting this message will send its unique 'event ID' to the administrator of your homeserver. If messages in this room are encrypted, your homeserver administrator will not be able to read the message text or view any files or images.": "Отчет о данном сообщении отправит свой уникальный 'event ID' администратору вашего домашнего сервера. Если сообщения в этой комнате зашифрованы, администратор вашего домашнего сервера не сможет прочитать текст сообщения или просмотреть какие-либо файлы или изображения.",
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "Отсутствует Капча открытого ключа в конфигурации домашнего сервера. Пожалуйста, сообщите об этом администратору вашего домашнего сервера.",
"Set an email for account recovery. Use email or phone to optionally be discoverable by existing contacts.": "Установка адреса электронной почты для восстановления учетной записи. Используйте электронную почту или телефон, чтобы опционально быть обнаруженными существующими контактами.",
@@ -1832,5 +1715,106 @@
"Error adding ignored user/server": "Ошибка добавления игнорируемого пользователя/сервера",
"Error subscribing to list": "Ошибка при подписке на список",
"Send cross-signing keys to homeserver": "Отправка ключей перекрестной подписи на домашний сервер",
- "Error upgrading room": "Ошибка обновления комнаты"
+ "Error upgrading room": "Ошибка обновления комнаты",
+ "Match system theme": "Тема системы",
+ "Show tray icon and minimize window to it on close": "Показать иконку в панели задач и свернуть окно при закрытии",
+ "The version of Riot": "Версия Riot",
+ "Show typing notifications": "Показывать уведомления о наборе",
+ "Delete %(count)s sessions|other": "Удалить %(count)s сессию",
+ "Enable desktop notifications for this session": "Включить уведомления для рабочего стола для этой сессии",
+ "Enable audible notifications for this session": "Включить звуковые уведомления для этой сессии",
+ "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Используйте Менеджер интеграциями %(serverName)s для управления ботами, виджетами и стикерами.",
+ "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Используйте Менеджер интеграциями для управления ботами, виджетами и стикерами.",
+ "Manage integrations": "Управление интеграциями",
+ "Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Менеджеры интеграции получают данные конфигурации и могут изменять виджеты, отправлять приглашения в комнаты и устанавливать уровни доступа от вашего имени.",
+ "Sessions": "Сессии",
+ "Direct Messages": "Прямые сообщения",
+ "%(count)s sessions|other": "%(count)s сессий",
+ "Hide sessions": "Скрытые сессии",
+ "Enable 'Manage Integrations' in Settings to do this.": "Включите «Управление интеграциями» в настройках, чтобы сделать это.",
+ "Unknown sessions": "Неизвестные сессии",
+ "Help": "Помощь",
+ "If you cancel now, you won't complete verifying your other session.": "Если вы отмените сейчас, вы не завершите проверку вашей другой сессии.",
+ "Verify this session": "Проверьте эту сессию",
+ "Unverified session": "Непроверенная сессия",
+ "Verifies a user, session, and pubkey tuple": "Проверяет пользователя, сессию и публичные ключи",
+ "Unknown (user, session) pair:": "Неизвестная (пользователь:сессия) пара:",
+ "Session already verified!": "Сессия уже подтверждена!",
+ "Never send encrypted messages to unverified sessions from this session": "Никогда не отправляйте зашифрованные сообщения в непроверенные сессий из этой сессии",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Никогда не отправляйте зашифрованные сообщения в непроверенные сессии в эту комнату из этой сессии",
+ "Your keys are not being backed up from this session.": "Ваши ключи не резервируются с этой сессии.",
+ "Server or user ID to ignore": "ID сервера или пользователя для игнорирования",
+ "Subscribed lists": "Подписанные списки",
+ "Subscribe": "Подписать",
+ "A session's public name is visible to people you communicate with": "Публичное имя сессии видны людям, с которыми вы общаетесь",
+ "If you cancel now, you won't complete verifying the other user.": "Если вы сейчас отмените, у вас не будет завершена проверка других пользователей.",
+ "If you cancel now, you won't complete your secret storage operation.": "Если вы сейчас отмените, вы не завершите операцию секретного хранения.",
+ "Cancel entering passphrase?": "Отмена ввода пароль?",
+ "Setting up keys": "Настройка ключей",
+ "Encryption upgrade available": "Доступно обновление шифрования",
+ "Set up encryption": "Настройка шифрования",
+ "Double check that your server supports the room version chosen and try again.": "Дважды проверьте, что ваш сервер поддерживает версию комнаты и попробуйте снова.",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "ВНИМАНИЕ:Сессия уже подтверждена, но ключи НЕ совпадают!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ВНИМАНИЕ: ПРОВЕРКА КЛЮЧА НЕ ПРОШЛА! Ключом подписи для %(userId)s и сессии %(deviceId)s является \"%(fprint)s\", что не соответствует указанному ключу \"%(fingerprint)s\". Это может означать, что ваши сообщения перехватываются!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Ключ подписи, который вы предоставили, соответствует ключу подписи, который вы получили от %(userId)s's сессии %(deviceId)s. Сессия отмечена как подтверждена.",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s добавил %(addedAddresses)s и %(count)s другие адреса к этой комнате",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s удалил %(removedAddresses)s и %(count)s другие адреса из этой комнаты",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s удалил %(countRemoved)s и добавил %(countAdded)s адреса к этой комнате",
+ "%(senderName)s placed a voice call.": "%(senderName)s сделал голосовой вызов.",
+ "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s сделал голосовой вызов. (не поддерживается этим браузером)",
+ "%(senderName)s placed a video call.": "%(senderName)s сделал видео вызов.",
+ "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s сделал видео вызов. (не поддерживается этим браузером)",
+ "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s удалил правило, запрещающее пользователям соответствовать %(glob)s",
+ "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s removed the rule banning rooms matching %(glob)s",
+ "a few seconds ago": "несколько секунд назад",
+ "about a minute ago": "около минуты назад",
+ "%(num)s minutes ago": "%(num)s минут назад",
+ "about an hour ago": "около часа назад",
+ "%(num)s hours ago": "%(num)s часов назад ",
+ "about a day ago": "около суток назад",
+ "%(num)s days ago": "%(num)s дней назад",
+ "a few seconds from now": "несколько секунд назад",
+ "about a minute from now": "примерно через минуту",
+ "%(num)s minutes from now": "%(num)s минут спустя",
+ "about an hour from now": "примерно через час",
+ "%(num)s hours from now": "%(num)s часов спустя",
+ "about a day from now": "примерно через день",
+ "%(num)s days from now": "%(num)s дней спустя",
+ "Show a presence dot next to DMs in the room list": "Показать точку присутствия рядом с DMs в списке комнат",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Включение перекрестной подписи для проверки в расчете на одного пользователя, а не за сессию (в разработке)",
+ "Enable local event indexing and E2EE search (requires restart)": "Включить локальное индексирование событий и E2EE поиска (требуется перезапуск)",
+ "Show info about bridges in room settings": "Показать информацию о мостах в настройках комнаты",
+ "Show padlocks on invite only rooms": "Показывать замки по приглашению только комнаты",
+ "Enable message search in encrypted rooms": "Включить поиск сообщений в зашифрованных комнатах",
+ "Keep secret storage passphrase in memory for this session": "Храните в памяти секретную парольную фразу для этого сеанса",
+ "How fast should messages be downloaded.": "Как быстро сообщения должны быть загружены.",
+ "This is your list of users/servers you have blocked - don't leave the room!": "Это список пользователей/серверов, которые вы заблокировали - не покидайте комнату!",
+ "Verify this session by completing one of the following:": "Проверить эту сессию, выполнив одно из следующих действий:",
+ "Scan this unique code": "Отсканируйте этот уникальный код",
+ "or": "или",
+ "Compare unique emoji": "Сравнитe уникальныe эмодзи",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Сравните уникальный набор смайликов, если у вас нет камеры ни на одном из устройств.",
+ "Start": "Начать",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Подтвердите, что смайлики, приведенные ниже, отображаются на обоих устройствах в одном и том же порядке:",
+ "Verify this device by confirming the following number appears on its screen.": "Проверьте это устройство, подтвердив, что на его экране появляется следующий номер.",
+ "Waiting for %(displayName)s to verify…": "Ждите %(displayName)s, чтобы проверить...",
+ "Cancelling…": "Отменяется...",
+ "They match": "Они совпадают",
+ "They don't match": "Они не совпадают",
+ "To be secure, do this in person or use a trusted way to communicate.": "Чтобы быть в безопасности, делайте это лично или используйте надежный способ связи.",
+ "Lock": "Заблокировать",
+ "Verify yourself & others to keep your chats safe": "Проверить себя и других, чтобы сохранить ваши чаты безопасными",
+ "Other users may not trust it": "Другие пользователи могут не доверять этому",
+ "Upgrade": "Обновление",
+ "Verify": "Проверить",
+ "Later": "Позже",
+ "Review": "Обзор",
+ "Decline (%(counter)s)": "Сокращение (%(counter)s)",
+ "This bridge was provisioned by .": "Этот мост был подготовлен пользователем .",
+ "This bridge is managed by .": "Этот мост управляется .",
+ "Workspace: %(networkName)s": "Рабочая область: %(networkName)s",
+ "Channel: %(channelName)s": "Канал: %(channelName)s",
+ "Show less": "Показать меньше",
+ "Show more": "Показать больше",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved."
}
diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json
index 8befc3c18c..f6f0cd3a74 100644
--- a/src/i18n/strings/sk.json
+++ b/src/i18n/strings/sk.json
@@ -57,10 +57,6 @@
"Moderator": "Moderátor",
"Admin": "Správca",
"Start a chat": "Začať konverzáciu",
- "Who would you like to communicate with?": "S kým si želáte komunikovať?",
- "Start Chat": "Začať konverzáciu",
- "Invite new room members": "Pozvať nových členov do miestnosti",
- "Send Invites": "Poslať pozvánky",
"Operation failed": "Operácia zlyhala",
"Failed to invite": "Pozvanie zlyhalo",
"Failed to invite the following users to the %(roomName)s room:": "Do miestnosti %(roomName)s sa nepodarilo pozvať nasledujúcich používateľov:",
@@ -83,13 +79,7 @@
"You are now ignoring %(userId)s": "Od teraz ignorujete používateľa %(userId)s",
"Unignored user": "Ignorácia zrušená",
"You are no longer ignoring %(userId)s": "Od teraz viac neignorujete používateľa %(userId)s",
- "Unknown (user, device) pair:": "Neznámy pár (používateľ, zariadenie):",
- "Device already verified!": "Zariadenie už overené!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "POZOR: Zariadenie je už overené, ale kľúče SA NEZHODUJÚ!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "POZOR: OVERENIE KĽÚČOV ZLYHALO! Podpisovací kľúč zo zariadenia %(deviceId)s používateľa %(userId)s je \"%(fprint)s\" čo sa nezhoduje s poskytnutým kľúčom \"%(fingerprint)s\". Mohlo by to znamenať, že vaša komunikácia je práve odpočúvaná!",
"Verified key": "Kľúč overený",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Podpisovací kľúč, ktorý ste poskytli súhlasí s podpisovacím kľúčom, ktorý ste dostali zo zariadenia %(deviceId)s používateľa %(userId)s's. Zariadenie je považované za overené.",
- "Unrecognised command:": "Nerozpoznaný príkaz:",
"Reason": "Dôvod",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s prijal pozvanie do %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s prijal pozvanie.",
@@ -126,7 +116,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s sprístupnil budúcu históriu miestnosti pre všetkých členov.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s sprístupnil budúcu históriu miestnosti pre každého.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s sprístupnil budúcu históriu miestnosti neznámym (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s povolil E2E šifrovanie (algoritmus %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s z %(fromPowerLevel)s na %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s zmenil úroveň moci pre %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s zmenil pripnuté správy pre túto miestnosť.",
@@ -159,7 +148,6 @@
"No display name": "Žiadne zobrazované meno",
"New passwords don't match": "Nové heslá sa nezhodujú",
"Passwords can't be empty": "Heslá nemôžu byť prázdne",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Zmena hesla momentálne obnoví šifrovacie kľúče na všetkých vašich zariadeniach, čo spôsobí, že história vašich šifrovaných konverzácií sa stane nečitateľná, jedine že si pred zmenou hesla exportujete kľúče miestností do súboru a po zmene kľúče importujete naspäť. V budúcnosti bude táto funkcia vylepšená.",
"Continue": "Pokračovať",
"Export E2E room keys": "Exportovať E2E šifrovacie kľúče miestností",
"Do you want to set an email address?": "Želáte si nastaviť emailovú adresu?",
@@ -168,7 +156,6 @@
"New Password": "Nové heslo",
"Confirm password": "Potvrdiť heslo",
"Change Password": "Zmeniť heslo",
- "Unable to load device list": "Nie je možné načítať zoznam zariadení",
"Device ID": "ID zariadenia",
"Last seen": "Naposledy aktívne",
"Failed to set display name": "Nepodarilo sa nastaviť zobrazované meno",
@@ -187,9 +174,6 @@
"%(senderName)s sent a video": "%(senderName)s poslal video",
"%(senderName)s uploaded a file": "%(senderName)s nahral súbor",
"Options": "Možnosti",
- "Undecryptable": "Nedešifrovateľné",
- "Encrypted by an unverified device": "Zašifrované neovereným zariadením",
- "Unencrypted message": "Nešifrovaná správa",
"Please select the destination room for this message": "Prosím, vyberte cieľovú miestnosť pre túto správu",
"Blacklisted": "Na čiernej listine",
"device id: ": "ID zariadenia: ",
@@ -208,8 +192,6 @@
"Failed to change power level": "Nepodarilo sa zmeniť úroveň moci",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Túto zmenu nebudete môcť vrátiť späť pretože tomuto používateľovi udeľujete rovnakú úroveň moci, akú máte vy.",
"Are you sure?": "Ste si istí?",
- "No devices with registered encryption keys": "Žiadne zariadenia so zaregistrovanými šifrovacími kľúčmi",
- "Devices": "Zariadenia",
"Unignore": "Prestať ignorovať",
"Ignore": "Ignorovať",
"Jump to read receipt": "Preskočiť na potvrdenie o prečítaní",
@@ -232,16 +214,10 @@
"Voice call": "Audio hovor",
"Video call": "Video hovor",
"Upload file": "Nahrať súbor",
- "Show Text Formatting Toolbar": "Zobraziť lištu formátovania textu",
"You do not have permission to post to this room": "Nemáte povolenie posielať do tejto miestnosti",
- "Hide Text Formatting Toolbar": "Skryť lištu formátovania textu",
"Server error": "Chyba servera",
"Server unavailable, overloaded, or something else went wrong.": "Server je nedostupný, preťažený, alebo sa pokazilo niečo iné.",
"Command error": "Chyba príkazu",
- "bold": "tučné",
- "italic": "kurzíva",
- "Markdown is disabled": "Markdown je zakázaný",
- "Markdown is enabled": "Markdown je povolený",
"Unpin Message": "Zrušiť pripnutie správy",
"Jump to message": "Preskočiť na správu",
"No pinned messages.": "Žiadne pripnuté správy.",
@@ -267,7 +243,6 @@
"Community Invites": "Pozvánky do komunity",
"Invites": "Pozvánky",
"Favourites": "Obľúbené",
- "People": "Ľudia",
"Rooms": "Miestnosti",
"Low priority": "Nízka priorita",
"Historical": "Historické",
@@ -278,7 +253,6 @@
"Banned by %(displayName)s": "Vstup zakázal %(displayName)s",
"unknown error code": "neznámy kód chyby",
"Failed to forget room %(errCode)s": "Nepodarilo sa zabudnúť miestnosť %(errCode)s",
- "Never send encrypted messages to unverified devices in this room from this device": "Z tohoto zariadenia nikdy v tejto miestnosti neposielať šifrované správy na neoverené zariadenia",
"Privileged Users": "Poverení používatelia",
"No users have specific privileges in this room": "Žiadny používatelia nemajú v tejto miestnosti pridelené konkrétne poverenia",
"Banned users": "Používatelia, ktorým bol zakázaný vstup",
@@ -304,8 +278,6 @@
"Cancel": "Zrušiť",
"Jump to first unread message.": "Preskočiť na prvú neprečítanú správu.",
"Close": "Zatvoriť",
- "Invalid alias format": "Nesprávny formát aliasu",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' nie je platný formát pre alias",
"not specified": "nezadané",
"Remote addresses for this room:": "Vzdialené adresy do tejto miestnosti:",
"Local addresses for this room:": "Lokálne adresy do tejto miestnosti:",
@@ -458,20 +430,12 @@
"Unknown error": "Neznáma chyba",
"Incorrect password": "Nesprávne heslo",
"Deactivate Account": "Deaktivovať účet",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Ak chcete overiť, či toto zariadenie je skutočne dôverihodné, kontaktujte jeho vlastníka iným spôsobom (napr. osobne alebo cez telefón) a opýtajte sa ho, či kľúč, ktorý má pre toto zariadenie zobrazený v nastaveniach sa zhoduje s kľúčom zobrazeným nižšie:",
- "Device name": "Názov zariadenia",
- "Device key": "Kľúč zariadenia",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Ak sa kľúče zhodujú, stlačte tlačidlo Overiť nižšie. Ak sa nezhodujú, niekto ďalší odpočúva toto zariadenie a v takomto prípade by ste asi mali namiesto toho stlačiť tlačidlo Pridať na čiernu listinu.",
- "Verify device": "Overiť zariadenie",
"I verify that the keys match": "Overil som, kľúče sa zhodujú",
"An error has occurred.": "Vyskytla sa chyba.",
"OK": "OK",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Pridali ste nové zariadenie nazvané '%(displayName)s', ktoré žiada o šifrovacie kľúče.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Vaše neoverené zariadenie nazvané '%(displayName)s' žiada o šifrovacie kľúče.",
"Start verification": "Spustiť overenie",
"Share without verifying": "Zdieľať bez overenia",
"Ignore request": "Ignorovať žiadosť",
- "Loading device info...": "Načítanie informácií o zariadení…",
"Encryption key request": "Žiadosť o šifrovacie kľúče",
"Unable to restore session": "Nie je možné obnoviť reláciu",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Ak ste sa v minulosti prihlásili s novšou verziou programu Riot, vaša relácia nemusí byť kompatibilná s touto verziou. Zatvorte prosím toto okno a vráťte sa cez najnovšiu verziu Riot.",
@@ -490,11 +454,6 @@
"To get started, please pick a username!": "Začnite tým, že si zvolíte používateľské meno!",
"This will be your account name on the homeserver, or you can pick a different server.": "Toto bude názov vašeho účtu na domovskom serveri , alebo si môžete zvoliť iný server.",
"If you already have a Matrix account you can log in instead.": "Ak už máte Matrix účet, môžete sa hneď Prihlásiť.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Momentálne sa ku všetkym neovereným zariadeniam správate ako by boli na čiernej listine; aby ste na tieto zariadenia mohli posielať správy, mali by ste ich overiť.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Odporúčame vám prejsť procesom overenia pre všetky tieto zariadenia aby ste si potvrdili, že skutočne patria ich pravým vlastníkom, ak si to však želáte, môžete tiež znovu poslať správu bez overovania.",
- "Room contains unknown devices": "V miestnosti sú neznáme zariadenia",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "V miestnosti \"%(RoomName)s\" sa našli zariadenia, s ktorými ste doposiaľ nikdy nekomunikovali.",
- "Unknown devices": "Neznáme zariadenia",
"Send anyway": "Napriek tomu odoslať",
"Private Chat": "Súkromná konverzácia",
"Public Chat": "Verejná konverzácia",
@@ -559,7 +518,6 @@
"You seem to be uploading files, are you sure you want to quit?": "Zdá sa, že práve nahrávate súbory, ste si istí, že chcete skončiť?",
"You seem to be in a call, are you sure you want to quit?": "Zdá sa, že máte prebiehajúci hovor, ste si istí, že chcete skončiť?",
"%(count)s of your messages have not been sent.|other": "Niektoré vaše správy ešte neboli odoslané.",
- "Message not sent due to unknown devices being present": "Neodoslaná správa kvôli nájdeným neznámym zariadeniam",
"Search failed": "Hľadanie zlyhalo",
"Server may be unavailable, overloaded, or search timed out :(": "Server môže byť nedostupný, preťažený, alebo vypršal časový limit hľadania :(",
"No more results": "Žiadne ďalšie výsledky",
@@ -584,19 +542,15 @@
"Enable automatic language detection for syntax highlighting": "Povoliť automatickú detegciu jazyka pre zvýrazňovanie syntaxe",
"Automatically replace plain text Emoji": "Automaticky nahrádzať textové Emoji",
"Mirror local video feed": "Zrkadliť lokálne video",
- "Never send encrypted messages to unverified devices from this device": "Z tohoto zariadenia nikdy neposielať šifrované správy neovereným zariadeniam",
"Light theme": "Svetlý vzhľad",
"Dark theme": "Tmavý vzhľad",
"Sign out": "Odhlásiť sa",
"Failed to change password. Is your password correct?": "Nepodarilo sa zmeniť heslo. Zadali ste správne heslo?",
"Success": "Úspech",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Úspešne ste si zmenili heslo. Na ostatných zariadeniach sa vám nebudú zobrazovať okamžité oznámenia, kým sa aj na nich opätovne neprihlásite",
"Unable to remove contact information": "Nie je možné odstrániť kontaktné informácie",
"": "",
"Import E2E room keys": "Importovať E2E šifrovacie kľúče miestností",
"Cryptography": "Kryptografia",
- "Device ID:": "ID zariadenia:",
- "Device key:": "Kľúč zariadenia:",
"Analytics": "Analytické údaje",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot zbiera anonymné analytické údaje, čo nám umožňuje aplikáciu ďalej zlepšovať.",
"Labs": "Experimenty",
@@ -618,7 +572,6 @@
"click to reveal": "Odkryjete kliknutím",
"Homeserver is": "Domovský server je",
"Identity Server is": "Server totožností je",
- "matrix-react-sdk version:": "Verzia matrix-react-sdk:",
"riot-web version:": "Verzia riot-web:",
"olm version:": "Verzia olm:",
"Failed to send email": "Nepodarilo sa odoslať email",
@@ -647,7 +600,6 @@
"Kicks user with given id": "Vykáže používateľa so zadaným ID",
"Changes your display nickname": "Zmení vaše zobrazované meno",
"Searches DuckDuckGo for results": "Vyhľadá výsledky na DuckDuckGo",
- "Verifies a user, device, and pubkey tuple": "Overí zadané údaje používateľa, zariadenie a verejný kľúč",
"Ignores a user, hiding their messages from you": "Ignoruje používateľa a skrije všetky jeho správy",
"Stops ignoring a user, showing their messages going forward": "Prestane ignorovať používateľa a začne zobrazovať jeho správy",
"Commands": "Príkazy",
@@ -671,7 +623,6 @@
"Session ID": "ID relácie",
"End-to-end encryption information": "Informácie o šifrovaní E2E",
"Event information": "Informácie o udalosti",
- "Sender device information": "Informácie o zariadení odosielateľa",
"Passphrases must match": "Heslá sa musia zhodovať",
"Passphrase must not be empty": "Heslo nesmie byť prázdne",
"Export room keys": "Exportovať kľúče miestností",
@@ -695,15 +646,12 @@
"URL previews are disabled by default for participants in this room.": "Náhľady URL adries sú predvolene zakázané pre členov tejto miestnosti.",
"There's no one else here! Would you like to invite others or stop warning about the empty room?": "Okrem vás v tejto miestnosti nie je nik iný! Želáte si Pozvať ďalších alebo Prestať upozorňovať na prázdnu miestnosť?",
"Call Failed": "Zlyhanie hovoru",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "V tejto miestnosti sú neznáme zariadenia: Ak budete pokračovať bez ich overenia, niekto získa možnosť odpočúvať váš hovor.",
"Review Devices": "Prezrieť zariadenia",
"Call Anyway": "Napriek tomu zavolať",
"Answer Anyway": "Napriek tomu prijať",
"Call": "Hovor",
"Answer": "Prijať",
"Send": "Odoslať",
- "Delete %(count)s devices|other": "Vymazať %(count)s zariadení",
- "Delete %(count)s devices|one": "Vymazať zariadenie",
"%(duration)ss": "%(duration)ss",
"%(duration)sm": "%(duration)sm",
"%(duration)sh": "%(duration)sh",
@@ -752,12 +700,7 @@
"Failed to add tag %(tagName)s to room": "Miestnosti sa nepodarilo pridať značku %(tagName)s",
"In reply to": "Odpoveď na",
"Community IDs cannot be empty.": "ID komunity nemôže ostať prázdne.",
- "Show devices, send anyway or cancel.": "Zobraziť zariadenia, napriek tomu odoslať alebo zrušiť.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Žiadosť o zdieľanie kľúčov bola odoslaná - Overte si zobrazenie žiadosti o zdieľanie kľúčov na vašich ostatných zariadeniach.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Žiadosť o zdieľanie kľúčov je automaticky odoslaná na vaše ďalšie zariadenia. Ak ste žiadosť odmietli alebo zrušili dialógové okno so žiadosťou na ostatných zariadeniach, kliknutím sem môžete opätovne vyžiadať kľúče pre túto reláciu.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Ak kľúče pre tieto správy nemáte uložené na ostatných vašich zariadeniach, nebudete ich môcť dešifrovať.",
"Key request sent.": "Žiadosť o kľúče odoslaná.",
- "Re-request encryption keys from your other devices.": "Znovu vyžiadať šifrovacie kľúče z vašich ostatných zariadení.",
"Seen by %(displayName)s (%(userName)s) at %(dateTime)s": "%(displayName)s (%(userName)s) videl %(dateTime)s",
"Code": "Kód",
"Unable to join community": "Nie je možné vstúpiť do komunity",
@@ -823,7 +766,6 @@
"Noisy": "Hlučné",
"Collecting app version information": "Získavajú sa informácie o verzii aplikácii",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Vymazať alias %(alias)s a odstrániť miestnosť %(name)s z adresára?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Toto vám v budúcnosti umožní vrátiť sa k vašemu účtu aj po odhlásení, alebo tiež prihlásiť sa na iných zariadeniach.",
"Keywords": "Kľúčové slová",
"Enable notifications for this account": "Povoliť oznámenia pre tento účet",
"Invite to this community": "Pozvať do tejto komunity",
@@ -913,8 +855,6 @@
"Popout widget": "Otvoriť widget v novom okne",
"Missing roomId.": "Chýba ID miestnosti.",
"Always show encryption icons": "Vždy zobrazovať ikony stavu šifrovania",
- "Unable to reply": "Nie je možné odpovedať",
- "At this time it is not possible to reply with an emote.": "V odpovedi zatiaľ nie je možné vijadriť pocit.",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Nie je možné načítať udalosť odkazovanú v odpovedi. Takáto udalosť buď neexistuje alebo nemáte povolenie na jej zobrazenie.",
"Send Logs": "Odoslať záznamy",
"Clear Storage and Sign Out": "Vymazať úložisko a Odhlásiť sa",
@@ -964,12 +904,6 @@
"This event could not be displayed": "Nie je možné zobraziť túto udalosť",
"Demote yourself?": "Znížiť vlastnú úroveň moci?",
"Demote": "Znížiť",
- "deleted": "Odstránené",
- "underlined": "Podčiarknuté",
- "inline-code": "Vnorený kód",
- "block-quote": "Citácia",
- "bulleted-list": "Odrážkový zoznam",
- "numbered-list": "Číselný zoznam",
"Failed to remove widget": "Nepodarilo sa odstrániť widget",
"An error ocurred whilst trying to remove the widget from the room": "Pri odstraňovaní widgetu z miestnosti sa vyskytla chyba",
"You can't send any messages until you review and agree to our terms and conditions.": "Nemôžete posielať žiadne správy, kým si neprečítate a neodsúhlasíte naše zmluvné podmienky.",
@@ -1056,12 +990,6 @@
"Encrypted messages in group chats": "Šifrované správy v skupinových konverzáciách",
"Delete Backup": "Vymazať zálohu",
"Unable to load key backup status": "Nie je možné načítať stav zálohy kľúčov",
- "Backup has a valid signature from this device": "Záloha je podpísaná platným kľúčom z tohoto zariadenia",
- "Backup has a valid signature from verified device ": "Podpis zálohy je platný a pochádza z overeného zariadenia ",
- "Backup has a valid signature from unverified device ": "Podpis zálohy je platný a pochádza z neovereného zariadenia ",
- "Backup has an invalid signature from verified device ": "Podpis zálohy je neplatný a pochádza z overeného zariadenia ",
- "Backup has an invalid signature from unverified device ": "Záloha je podpísaná neplatným kľúčom z neovereného zariadenia ",
- "Backup is not signed by any of your devices": "Záloha nie je podpísaná žiadnym z vašich zariadení",
"Backup version: ": "Verzia zálohy: ",
"Algorithm: ": "Algoritmus: ",
"Don't ask again": "Viac sa nepýtať",
@@ -1102,7 +1030,6 @@
"This looks like a valid recovery key!": "Zdá sa, že toto je platný kľúč obnovenia!",
"Not a valid recovery key": "Neplatný kľúč obnovenia",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Zabezpečte svoju komunikáciu a prístup k šifrovanej histórii konverzácií zadaním kľúča obnovenia.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Ak ste zabudli heslo obnovenia, nastavte si bezpečné obnovenie znovu",
"Set a new status...": "Nastaviť nový stav…",
"Clear status": "Zrušiť stav",
"You are an administrator of this community. You will not be able to rejoin without an invite from another administrator.": "Ste správcom tejto komunity. Nebudete môcť znovu vstúpiť bez pozvania od iného správcu.",
@@ -1122,12 +1049,9 @@
"Your Recovery Key": "Váš kľúč obnovenia",
"Copy to clipboard": "Kopírovať do schránky",
"Download": "Stiahnuť",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Váš kľúč obnovenia bol skopírovaný do schránky, vložte ho do:",
- "Your Recovery Key is in your Downloads folder.": "Váš kľúč obnovenia je uložený v priečinku so stiahnutými súbormi.",
"Print it and store it somewhere safe": "Vytlačte si ho a uchovajte na bezpečnom mieste",
"Save it on a USB key or backup drive": "Uložte si ho na USB kľúč alebo iné zálohovacie médium",
"Copy it to your personal cloud storage": "Skopírujte si ho na osobné úložisko v cloude",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Ak si nenastavíte bezpečné obnovenie správ, nebudete si môcť po odhlásení alebo prihlásení sa na inom zariadení čítať históriu šifrovaných konverzácií.",
"Set up Secure Message Recovery": "Nastaviť bezpečné obnovenie správ",
"Keep it safe": "Bezpečne ho uchovajte",
"Create Key Backup": "Vytvoriť zálohu kľúčov",
@@ -1186,7 +1110,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "Overte tohoto používateľa tým, že zistíte, či sa na jeho obrazovke objaví nasledujúci emoji.",
"Verify this user by confirming the following number appears on their screen.": "Overte tohoto používateľa tým, že zistíte, či sa na jeho obrazovke objaví nasledujúce číslo.",
"Unable to find a supported verification method.": "Nie je možné nájsť podporovanú metódu overenia.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Pre zachovanie maximálnej bezpečnosti odporúčame, aby ste toto vykonali osobne, alebo použili iný dôverihodný komunikačný kanál.",
"Dog": "Hlava psa",
"Cat": "Hlava mačky",
"Lion": "Hlava leva",
@@ -1233,7 +1156,6 @@
"Pencil": "Ceruzka",
"Paperclip": "Sponka na papier",
"Scissors": "Nožnice",
- "Padlock": "Zatvorená zámka",
"Key": "Kľúč",
"Hammer": "Kladivo",
"Telephone": "Telefón",
@@ -1251,7 +1173,6 @@
"Headphones": "Slúchadlá",
"Folder": "Fascikel",
"Pin": "Špendlík",
- "Your homeserver does not support device management.": "Váš domovský server nepodporuje správu zariadení.",
"Yes": "Áno",
"No": "Nie",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Poslali sme vám email, aby sme mohli overiť vašu adresu. Postupujte podľa odoslaných inštrukcií a potom klepnite na nižšie zobrazené tlačidlo.",
@@ -1259,20 +1180,15 @@
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Ste si istí? Ak nemáte správne zálohované šifrovacie kľúče, prídete o históriu šifrovaných konverzácií.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Šifrované správy sú zabezpečené E2E šifrov. Ku kľúčom potrebných na ich čítanie máte prístup len vy a ich adresát(i).",
"Restore from Backup": "Obnoviť zo zálohy",
- "This device is backing up your keys. ": "Kľúče z tohoto zariadenia sú zálohované. ",
"Back up your keys before signing out to avoid losing them.": "Zálohujte si šifrovacie kľúče pred odhlásením, aby ste zabránili ich strate.",
"Backing up %(sessionsRemaining)s keys...": "Zálohovanie %(sessionsRemaining)s kľúčov…",
"All keys backed up": "Všetky kľúče sú zálohované",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Podpis zálohy pochádza z neznámeho zariadenia ID %(deviceId)s.",
- "This backup is trusted because it has been restored on this device": "Táto záloha je dôverihodná, pretože ste z nej obnovili kľúče v tomto zariadení",
- "Your keys are not being backed up from this device.": "Kľúče z tohoto zariadenia nemáte zálohované.",
"Start using Key Backup": "Začnite používať zálohovanie kľúčov",
"Add an email address to configure email notifications": "Oznámenia emailom nastavíte pridaním emailovej adresy",
"Unable to verify phone number.": "Nie je možné overiť telefónne číslo.",
"Verification code": "Overovací kód",
"Phone Number": "Telefónne číslo",
"Profile picture": "Obrázok v profile",
- "Upload profile picture": "Nahrať obrázok v profile",
"Upgrade to your own domain": "Použiť vlastnú doménu",
"Display Name": "Zobrazované meno",
"Set a new account password...": "Nastaviť nové heslo k účtu…",
@@ -1335,10 +1251,6 @@
"Encryption": "Šifrovanie",
"Once enabled, encryption cannot be disabled.": "Po aktivovaní šifrovanie nie je možné deaktivovať.",
"Encrypted": "Zašifrované",
- "Some devices for this user are not trusted": "Niektoré zariadenia tohoto používateľa nie sú dôverihodné",
- "Some devices in this encrypted room are not trusted": "Niektoré zariadenia v tejto šifrovanej miestnosti nie sú dôverihodné",
- "All devices for this user are trusted": "Všetky zariadenia tohoto používateľa sú dôverihodné",
- "All devices in this encrypted room are trusted": "Všetky zariadenia v tejto šifrovanej miestnosti sú dôverihodné",
"Never lose encrypted messages": "Nikdy neprídete o zašifrované správy",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Správy v tejto miestnosti sú zabezpečené E2E šifrov. Ku kľúčom potrebných na ich čítanie máte prístup len vy a ich adresát(i).",
"Securely back up your keys to avoid losing them. Learn more.": "Bezpečne si zálohujte šifrovacie kľúče, aby ste o ne neprišli. Zistiť viac.",
@@ -1354,8 +1266,6 @@
"Error updating flair": "Chyba pri aktualizácii zobrazenia členstva",
"There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "Pri aktualizácii zobrazenia členstva v skupinách v tejto miestnosti nastala chyba. Nie je to povolené na servery, alebo sa jedná o dočasný problém.",
"Room avatar": "Obrázok miestnosti",
- "Upload room avatar": "Nahrať obrázok miestnosti",
- "No room avatar": "Žiadny obrázok miestnosti",
"Room Name": "Názov miestnosti",
"Room Topic": "Téma miestnosti",
"Join": "Vstúpiť",
@@ -1367,7 +1277,6 @@
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Nič sa nezobrazuje? Ešte nie všetky aplikácie podporujú interaktívne overenie. Použiť pôvodný spôsob overenia.",
"Use two-way text verification": "Použiť obojsmerné textové overenie",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Overte tohoto používateľa a označte ho ako dôveryhodného. Dôverovanie používateľov pridáva pokoj na duši pri posielaní E2E šifrovaných správ.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Overením tohoto používateľa označíte jeho zariadenia ako dôverihodné pre vás a vaše zariadenia ako dôverihodné pre neho.",
"Waiting for partner to confirm...": "Čakanie na potvrdenie od partnera…",
"Incoming Verification Request": "Prichádzajúca žiadosť o overenie",
"I don't want my encrypted messages": "Nezáleží mi na zašifrovaných správach",
@@ -1418,12 +1327,10 @@
"This homeserver does not support communities": "Tento domovský server nepodporuje komunity",
"Guest": "Hosť",
"Could not load user profile": "Nie je možné načítať profil používateľa",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Zmena hesla spôsobí obnovenie E2E šifrovacích kľúčov na všetkých vašich zariadeniach a história šifrovaných konverzácií sa tak pre vás môže stať nečitateľná. Pred obnovením hesla si prosím nastavte zálohovanie šifrovacích kľúčov alebo si E2E kľúče exportujte na inom zariadení.",
"Your Matrix account on %(serverName)s": "Váš Matrix účet na serveri %(serverName)s",
"A verification email will be sent to your inbox to confirm setting your new password.": "Na emailovú adresu vám odošleme overovaciu správu, aby bolo možné potvrdiť nastavenie vašeho nového hesla.",
"Sign in instead": "Radšej sa prihlásiť",
"Your password has been reset.": "Vaše heslo bolo obnovené.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Boli ste odhlásení zo všetkých zariadení a nebudú sa vám viac zobrazovať okamžité oznámenia. Ak chcete zobrazovať oznámenia, musíte sa na každom zariadení znovu prihlásiť.",
"Set a new password": "Nastaviť nové heslo",
"This homeserver does not support login using email address.": "Tento domovský server nepodporuje prihlásenie sa zadaním emailovej adresy.",
"Create account": "Vytvoriť účet",
@@ -1436,7 +1343,6 @@
"Set up with a Recovery Key": "Nastaviť použitím kľúča obnovenia",
"Please enter your passphrase a second time to confirm.": "Prosím zadajte heslo obnovenia ešte raz pre potvrdenie.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Kľúč obnovenia je bezpečnostný mechanizmus - môžete ho použiť na prístup k šifrovacím kľúčom v prípade, ak zabudnete vaše heslo obnovenia.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Kľúč obnovenia si bezpečne uchovajte, použite napr. správcu hesiel (alebo ho schovajte v trezore)",
"Your keys are being backed up (the first backup could take a few minutes).": "Zálohovanie kľúčov máte aktívne (prvé zálohovanie môže trvať niekoľko minút).",
"Secure your backup with a passphrase": "Zabezpečte si zálohu zadaním hesla obnovenia",
"Confirm your passphrase": "Potvrdiť heslo obnovenia",
@@ -1444,10 +1350,7 @@
"Starting backup...": "Začína sa zálohovanie…",
"Success!": "Hotovo!",
"A new recovery passphrase and key for Secure Messages have been detected.": "Boli zistené nový kľúč a nové heslo obnovenia zálohovania šifrovacích kľúčov.",
- "This device is encrypting history using the new recovery method.": "Toto zariadenie šifruje históriu použitím novej metódy obnovenia.",
"Recovery Method Removed": "Odstránený spôsob obnovenia",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Na tomto zariadení bolo zistené, že heslo a kľúč obnovenia šifrovacích kľúčov zo zálohy boli odstránené.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Ak ste ich odstránili omylom, môžete si obnovenie nastaviť znovu, čo zašifruje zálohy použitím novej metódy.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ak ste spôsob obnovenia neodstránili vy, útočník sa pravdepodobne usiluje dostať k vašemu účtu. Zmente si prosím heslo na prihlásenie do Matrix účtu a znovu si ihneď nastavte možnosti obnovenia.",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Či používate alebo nie funkcionalitu známu ako „omrvinky“ (obrázky nad zoznamom miestností)",
"Call failed due to misconfigured server": "Hovor zlyhal kvôli nesprávne nakonfigurovanému serveru",
@@ -1460,16 +1363,9 @@
"The file '%(fileName)s' failed to upload.": "Nepodarilo sa nahrať súbor „%(fileName)s“.",
"The server does not support the room version specified.": "Server nepodporuje zadanú verziu miestnosti.",
"Name or Matrix ID": "Meno alebo Matrix ID",
- "Email, name or Matrix ID": "Email, meno alebo Matrix ID",
- "Failed to start chat": "Nepodarilo sa začať konverzáciu",
"Messages": "Správy",
"Actions": "Akcie",
- "Room upgrade confirmation": "Potvrdenie aktualizácii miestnosti",
- "Upgrading a room can be destructive and isn't always necessary.": "Aktualizácia miestnosti nemusí byť bez následkov a nie je vždy nevyhnutná.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Aktualizácie miestnosti sú obyčajne odporúčané, keď je konkrétna verzia považovaná za nestabilnú. Nestabilné verzie miestností môžu obsahovať chyby, chýbajúce vlastnosti, alebo bezpečnostné zraniteľnosti.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Aktualizácie miestnosti majú vplyv len na spracovanie miestnosti na servery. Ak máte problémy s programom Riot, prosím nahláste chybu .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Pozor: Aktualizáciou miestnosti do novej verzii neprenesiete členov miestnosti. Konverzácia v starej verzii miestnosti bude ukončená odkazom do novej verzii miestnosti - členovia budú môcť vstúpiť do novej verzii miestnosti kliknutím na tento odkaz.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Prosím, potvrďte, či naozaj chcete aktualizovať túto miestnosť z na .",
"Changes your avatar in this current room only": "Zmení váš obrázok len pre túto miestnosť",
"Changes your avatar in all rooms": "Zmení váš obrázok vo všetkých miestnostiach",
"Unbans user with given ID": "Zruší zákaz vstúpiť používateľovi so zadaným ID",
@@ -1501,12 +1397,6 @@
"Accept to continue:": "Ak chcete pokračovať, musíte prijať :",
"ID": "ID",
"Public Name": "Verejný názov",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Toto zariadenie nezálohuje vaše šifrovacie kľúče, ale máte existujúcu zálohu, z ktorej môžete kľúče obnoviť a pokračovať v zálohovaní.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Nastavte zálohu šifrovacích kľúčov pred odhlásením, aby ste neprišli o kľúče, ktoré máte uložené len v tomto zariadení.",
- "Connect this device to Key Backup": "Nastaviť zálohovanie kľúčov",
- "Backup has an invalid signature from this device": "Podpis zálohy z tohoto zariadenia nie je platný",
- "Enable desktop notifications for this device": "Povoliť oznámenia na pracovnej ploche pre toto zariadenie",
- "Enable audible notifications for this device": "Povoliť zvukové oznámenia pre toto zariadenie",
"Identity Server URL must be HTTPS": "URL adresa servera totožností musí začínať HTTPS",
"Not a valid Identity Server (status code %(code)s)": "Toto nie je funkčný server totožností (kód stavu %(code)s)",
"Could not connect to Identity Server": "Nie je možné sa pripojiť k serveru totožností",
@@ -1553,10 +1443,7 @@
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Multiple integration managers": "Viacej integračných serverov",
"Try out new ways to ignore people (experimental)": "Vyskúšajte si nový spôsob ignorovania používateľov (experiment)",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Požiadavky na overenie používateľov posielať v priamych konverzáciách, zahŕňa tiež nové rozhranie overenia v zozname používateľov.",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Povoliť podpisovanie naprieč zariadeniami, umožňuje overovanie používateľov namiesto ich zariadení (vo vývoji)",
"Enable local event indexing and E2EE search (requires restart)": "Povoliť lokálne indexovanie udalostí a vyhľadávanie v šifrovaných miestnostiach",
- "Use the new, faster, composer for writing messages": "Používať nový, rýchly, editor pri písaní správ",
"Match system theme": "Prispôsobiť sa vzhľadu systému",
"Send read receipts for messages (requires compatible homeserver to disable)": "Odosielať potvrdenia o prečítaní správ (na zakázanie je vyžadovaný kompatibilný domovský server)",
"Show previews/thumbnails for images": "Zobrazovať ukážky/náhľady obrázkov",
@@ -1566,11 +1453,9 @@
"This is your list of users/servers you have blocked - don't leave the room!": "Toto je zoznam používateľov / serverov, ktorých ste zablokovali - neopúšťajte miestnosť!",
"Upload": "Nahrať",
"Cross-signing and secret storage are enabled.": "Podpisovanie naprieč zariadeniami a bezpečné úložisko sú aktívne.",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Na bezpečnom úložisku vo vašom účte máte uloženú totožnosť podpisovania naprieč zariadeniami, ale v tomto zariadení zatiaľ tejto totožnosti nedôverujete.",
"Cross-signing and secret storage are not yet set up.": "Podpisovanie naprieč zariadeniami a bezpečné úložisko zatiaľ nie sú nastavené.",
"Bootstrap cross-signing and secret storage": "Zaviesť podpisovanie naprieč zariadeniami a bezpečné úložisko",
"Cross-signing public keys:": "Verejné kľúče podpisovania naprieč zariadeniami:",
- "on device": "na zariadení",
"not found": "nenájdené",
"Cross-signing private keys:": "Súkromné kľúče podpisovania naprieč zariadeniami:",
"in secret storage": "na bezpečnom úložisku",
@@ -1583,10 +1468,7 @@
"Backup has a valid signature from this user": "Záloha je podpísaná platným kľúčom od tohoto používateľa",
"Backup has a invalid signature from this user": "Záloha je podpísaná neplatným kľúčom od tohoto používateľa",
"Backup has a signature from unknown user with ID %(deviceId)s": "Podpis zálohy pochádza od neznámeho používateľa ID %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Podpis zálohy pochádza z neznámeho zariadenia ID %(deviceId)s",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "Záloha kľúčov je uložená na bezpečnom úložisku, ale funkcia podpisovanie naprieč zariadeniami nie je na tomto zariadení aktívna. Ak chcete zmeniť stav zálohy kľúčov, zapnite podpisovanie naprieč zariadeniami v časti experimenty.",
"Backup key stored: ": "Záloha kľúčov uložená: ",
- "Start using Key Backup with Secure Secret Storage": "Začnite používať zálohu kľúčov na bezpečnom úložisku",
"Clear notifications": "Vymazať oznámenia",
"Change identity server": "Zmeniť server totožností",
"Disconnect from the identity server and connect to instead?": "Naozaj si želáte odpojiť od servera totožností a pripojiť sa namiesto toho k serveru ?",
diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json
index e833009d59..543b5fadb3 100644
--- a/src/i18n/strings/sq.json
+++ b/src/i18n/strings/sq.json
@@ -13,7 +13,6 @@
"The information being sent to us to help make Riot.im better includes:": "Të dhënat që na dërgohen për të na ndihmuar ta bëjmë më të mirë Riot.im-in përfshijnë:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Kur kjo faqe përfshin të dhëna të identifikueshme, të tilla si një ID dhome përdoruesi apo grupi, këto të dhëna hiqen përpara se të dërgohet te shërbyesi.",
"Call Failed": "Thirrja Dështoi",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Në këtë dhomë ka pajisje të panjohura: nëse vazhdoni pa i verifikuar ato, për dikë do të jetë e mundur të përgjojë thirrjen tuaj.",
"Review Devices": "Shqyrtoni Pajisje",
"Call Anyway": "Thirre Sido Qoftë",
"Answer Anyway": "Përgjigju Sido Qoftë",
@@ -79,10 +78,6 @@
"Moderator": "Moderator",
"Admin": "Përgjegjës",
"Start a chat": "Nisni një fjalosje",
- "Who would you like to communicate with?": "Me kë do të donit të komunikonit?",
- "Start Chat": "Filloni Fjalosje",
- "Invite new room members": "Ftoni anëtarë të rinj dhome",
- "Send Invites": "Dërgoni Ftesa",
"Operation failed": "Veprimi dështoi",
"Failed to invite": "S’u arrit të ftohej",
"Failed to invite the following users to the %(roomName)s room:": "S’u arrit të ftoheshin përdoruesit vijues te dhoma %(roomName)s:",
@@ -159,7 +154,6 @@
"Noisy": "I zhurmshëm",
"Collecting app version information": "Po grumbullohen të dhëna versioni aplikacioni",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Të fshihet aliasi i dhomës %(alias)s dhe të hiqet %(name)s nga drejtoria?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Kjo do t’ju lejojë të riktheheni te llogaria juaj pasi të keni bërë daljen, dhe të hyni që nga pajisje të tjera.",
"Keywords": "Fjalëkyçe",
"Unpin Message": "Shfiksojeni Mesazhin",
"Enable notifications for this account": "Aktivizo njoftime për këtë llogari",
@@ -263,10 +257,7 @@
"PM": "PM",
"AM": "AM",
"Room name or alias": "Emër dhome ose alias",
- "Unknown (user, device) pair:": "Çift (përdorues, pajisje) i panjohur:",
- "Device already verified!": "Pajisje tashmë e verifikuar!",
"Verified key": "Kyç i verifikuar",
- "Unrecognised command:": "Urdhër jo i pranuar:",
"Reason": "Arsye",
"%(senderName)s requested a VoIP conference.": "%(senderName)s kërkoi një konferencë VoIP.",
"VoIP conference started.": "Konferenca VoIP filloi.",
@@ -299,12 +290,10 @@
"Confirm password": "Ripohoni frazëkalimin",
"Change Password": "Ndryshoni Fjalëkalimin",
"Authentication": "Mirëfilltësim",
- "Delete %(count)s devices|one": "Fshije pajisjen",
"Device ID": "ID Pajisjeje",
"Last seen": "Parë së fundi më",
"Disable Notifications": "Çaktivizo Njoftimet",
"Enable Notifications": "Aktivizo Njoftimet",
- "Invalid alias format": "Format i pavlefshëm aliasesh",
"not specified": "e papërcaktuar",
"Remote addresses for this room:": "Adresa të largëta për këtë dhomë:",
"Local addresses for this room:": "Adresa vendore për këtë dhomë:",
@@ -319,8 +308,6 @@
"%(senderName)s sent a video": "%(senderName)s dërgoi një video",
"Options": "Mundësi",
"Key request sent.": "Kërkesa për kyç u dërgua.",
- "Encrypted by an unverified device": "Fshehtëzuar nga një pajisje e paverifikuar",
- "Unencrypted message": "Mesazh i pafshehtëzuar",
"Please select the destination room for this message": "Ju lutemi, përzgjidhni dhomën vendmbërritje për këtë mesazh",
"Blacklisted": "Në Listë të Zezë",
"device id: ": "ID pajisjeje: ",
@@ -331,8 +318,6 @@
"Ban this user?": "Të dëbohet ky përdorues?",
"Are you sure?": "Jeni i sigurt?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "S’do të jeni në gjendje ta zhbëni këtë ndryshim, ngaqë po e promovoni përdoruesin të ketë të njëjtën shkallë pushteti si ju vetë.",
- "No devices with registered encryption keys": "S’ka pajisje me kyçe fshehtëzimi të regjistruar",
- "Devices": "Pajisje",
"Unignore": "Shpërfille",
"Ignore": "Shpërfille",
"Mention": "Përmendje",
@@ -348,7 +333,6 @@
"Voice call": "Thirrje audio",
"Video call": "Thirrje video",
"Upload file": "Ngarkoni kartelë",
- "Show Text Formatting Toolbar": "Shfaq Panel Formatimi Tekstesh",
"Send an encrypted reply…": "Dërgoni një përgjigje të fshehtëzuar…",
"Send a reply (unencrypted)…": "Dërgoni një përgjigje (të pafshehtëzuar)…",
"Send an encrypted message…": "Dërgoni një mesazh të fshehtëzuar…",
@@ -356,10 +340,6 @@
"You do not have permission to post to this room": "S’keni leje të postoni në këtë dhomë",
"Server error": "Gabim shërbyesi",
"Command error": "Gabim urdhri",
- "bold": "të trasha",
- "italic": "të pjerrta",
- "Markdown is disabled": "Markdown është i çaktivizuar",
- "Markdown is enabled": "Markdown është i aktivizuar",
"Loading...": "Po ngarkohet…",
"Pinned Messages": "Mesazhe të Fiksuar",
"Jump to message": "Kalo te mesazhi",
@@ -382,7 +362,6 @@
"Community Invites": "Ftesa Bashkësie",
"Invites": "Ftesa",
"Favourites": "Të parapëlqyer",
- "People": "Persona",
"Low priority": "Me përparësi të ulët",
"This room": "Këtë dhomë",
"%(roomName)s does not exist.": "%(roomName)s s’ekziston.",
@@ -466,16 +445,10 @@
"Unknown error": "Gabim i panjohur",
"Incorrect password": "Fjalëkalim i pasaktë",
"Deactivate Account": "Çaktivizoje Llogarinë",
- "Device name": "Emër pajisjeje",
- "Device key": "Kyç pajisjeje",
- "Verify device": "Verifiko pajisjen",
"An error has occurred.": "Ndodhi një gabim.",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Shtuat një pajisje të re '%(displayName)s', e cila po kërkon kyçe fshehtëzimi.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Pajisja juaj e paverifikuar '%(displayName)s' po kërkon kyçe fshehtëzimi.",
"Start verification": "Fillo verifikimin",
"Share without verifying": "Ndajeni me të tjerë pa e verifikuar",
"Ignore request": "Shpërfille kërkesën",
- "Loading device info...": "Po ngarkohen të dhëna pajisjeje…",
"Encryption key request": "Kërkesë kyçi fshehtëzimesh",
"Invalid Email Address": "Adresë Email e Pavlefshme",
"This doesn't appear to be a valid email address": "Kjo s’duket se është adresë email e vlefshme",
@@ -484,8 +457,6 @@
"Username not available": "Emri i përdoruesit s’është i lirë",
"Username invalid: %(errMessage)s": "Emër përdoruesi i pavlefshëm: %(errMessage)s",
"Username available": "Emri i përdoruesit është i lirë",
- "Room contains unknown devices": "Dhoma përmban pajisje të panjohura",
- "Unknown devices": "Pajisje të panjohura",
"Private Chat": "Fjalosje Private",
"Public Chat": "Fjalosje Publike",
"Custom": "Vetjak",
@@ -522,7 +493,7 @@
"Search failed": "Kërkimi shtoi",
"No more results": "Jo më tepër përfundime",
"Room": "Dhomë",
- "Clear filter": "Pastroje filtrin",
+ "Clear filter": "Spastroje filtrin",
"Uploading %(filename)s and %(count)s others|other": "Po ngarkohet %(filename)s dhe %(count)s të tjera",
"Uploading %(filename)s and %(count)s others|zero": "Po ngarkohet %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "Po ngarkohet %(filename)s dhe %(count)s tjetër",
@@ -531,8 +502,6 @@
"Sign out": "Dilni",
"Success": "Sukses",
"Cryptography": "Kriptografi",
- "Device ID:": "ID Pajisjeje:",
- "Device key:": "Kyç pajisjeje:",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot-i grumbullon të dhëna analitike anonime që të na lejojë ta përmirësojmë aplikacionin.",
"Check for update": "Kontrollo për përditësime",
"No media permissions": "S’ka leje mediash",
@@ -577,7 +546,6 @@
"Session ID": "ID sesioni",
"End-to-end encryption information": "Të dhëna fshehtëzimi skaj-më-skaj",
"Event information": "Të dhëna akti",
- "Sender device information": "Të dhëna pajisjeje dërguesi",
"Passphrases must match": "Frazëkalimet duhet të përputhen",
"Passphrase must not be empty": "Frazëkalimi s’mund të jetë i zbrazët",
"Export room keys": "Eksporto kyçe dhome",
@@ -592,13 +560,10 @@
"Missing user_id in request": "Mungon user_id te kërkesa",
"Failed to join room": "S’u arrit të hyhej në dhomë",
"Mirror local video feed": "Pasqyro prurje vendore videoje",
- "Never send encrypted messages to unverified devices from this device": "Mos dërgo kurrë mesazhe të fshehtëzuar, nga kjo pajisje te pajisje të paverifikuara",
- "Never send encrypted messages to unverified devices in this room from this device": "Mos dërgo kurrë mesazhe të fshehtëzuar, nga kjo pajisje te pajisje të paverifikuara në këtë dhomë",
"Incoming voice call from %(name)s": "Thirrje audio ardhëse nga %(name)s",
"Incoming video call from %(name)s": "Thirrje video ardhëse nga %(name)s",
"Incoming call from %(name)s": "Thirrje ardhëse nga %(name)s",
"Failed to upload profile picture!": "S’u arrit të ngarkohej foto profili!",
- "Unable to load device list": "S’arrihet të ngarkohet listë pajisjesh",
"New address (e.g. #foo:%(localDomain)s)": "Adresë e re (p.sh. #foo:%(localDomain)s)",
"New community ID (e.g. +foo:%(localDomain)s)": "ID bashkësie të re (p.sh. +foo:%(localDomain)s)",
"Ongoing conference call%(supportedText)s.": "Thirrje konference që po zhvillohet%(supportedText)s.",
@@ -610,7 +575,6 @@
"Unmute": "Ktheji zërin",
"Invited": "I ftuar",
"Hangup": "Mbylle Thirrjen",
- "Hide Text Formatting Toolbar": "Fshih Panel Formatimi Tekstesh",
"No pinned messages.": "S’ka mesazhe të fiksuar.",
"Replying": "Po përgjigjet",
"Failed to unban": "S’u arrit t’i hiqej dëbimi",
@@ -630,8 +594,6 @@
"Failed to remove room from community": "S’u arrit të hiqej dhoma nga bashkësia",
"Minimize apps": "Minimizoji aplikacionet",
"%(oneUser)schanged their avatar %(count)s times|one": "%(oneUser)sndryshoi avatarin e vet",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Që të verifikoni se kësaj pajisje mund t’i zihet besë, ju lutemi, lidhuni me të zotët e saj përmes ndonjë rruge tjetër (p.sh., personalisht, ose përmes një thirrjeje telefonike) dhe kërkojuni nëse kyçi që shohin te Rregullime të tyret të Përdoruesit për këtë pajisje përputhet me kyçin më poshtë:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Nëse përputhet, shtypni butonin e verifikimit më poshtë. Nëse jo, atëherë dikush tjetër po e përgjon këtë pajisje dhe duhet ta kaloni në listë të zezë.",
"I verify that the keys match": "Verifikoj se kyçet përputhen",
"Unable to restore session": "S’arrihet të rikthehet sesioni",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Ju lutemi, kontrolloni email-in tuaj dhe klikoni mbi lidhjen që përmban. Pasi të jetë bërë kjo, klikoni që të vazhdohet.",
@@ -649,7 +611,6 @@
"Failed to reject invitation": "S’u arrit të hidhej poshtë ftesa",
"Failed to leave room": "S’u arrit të braktisej",
"Scroll to bottom of page": "Rrëshqit te fundi i faqes",
- "Message not sent due to unknown devices being present": "Mesazhi s’u dërgua, për shkak të pranisë së pajisjeve të panjohura",
"Unknown room %(roomId)s": "Dhomë e panjohur %(roomId)s",
"Fill screen": "Mbushe ekranin",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "U provua të ngarkohej një pikë të dhënë prej rrjedhës kohore në këtë dhomë, por s’u arrit të gjendej.",
@@ -657,7 +618,6 @@
"Unable to remove contact information": "S’arrihet të hiqen të dhëna kontakti",
"Import E2E room keys": "Importo kyçe E2E dhome",
"Homeserver is": "Shërbyesi Home është",
- "matrix-react-sdk version:": "Version matrix-react-sdk:",
"Failed to send email": "S’u arrit të dërgohej email",
"I have verified my email address": "E kam verifikuar adresën time email",
"Failed to fetch avatar URL": "S’u arrit të sillej URL avatari",
@@ -684,12 +644,9 @@
"(could not connect media)": "(s’lidhi dot median)",
"(unknown failure: %(reason)s)": "(dështim i panjohur: %(reason)s)",
"%(senderName)s ended the call.": "%(senderName)s e përfundoi thirrjen.",
- "Delete %(count)s devices|other": "Fshi %(count)s pajisje",
"Failed to set display name": "S’u arrit të caktohej emër ekrani",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' s’është format i vlefshëm aliasesh",
"'%(groupId)s' is not a valid community ID": "'%(groupId)s' s’është ID i vlefshëm bashkësish",
"Cannot add any more widgets": "S’mund të shtohen më tepër widget-e",
- "Re-request encryption keys from your other devices.": "Rikërkoni kyçe fshehtëzimi prej pajisjesh tuaja të tjera.",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (pushtet %(powerLevelNumber)si)",
"(~%(count)s results)|other": "(~%(count)s përfundime)",
"(~%(count)s results)|one": "(~%(count)s përfundim)",
@@ -775,8 +732,6 @@
"%(widgetName)s widget modified by %(senderName)s": "Widget-i %(widgetName)s u modifikua nga %(senderName)s",
"%(widgetName)s widget added by %(senderName)s": "Widget-i %(widgetName)s u shtua nga %(senderName)s",
"Always show encryption icons": "Shfaq përherë ikona fshehtëzimi",
- "block-quote": "bllok citimi",
- "bulleted-list": "listë me toptha",
"Add some now": "Shtohen ca tani",
"Click here to see older messages.": "Klikoni këtu për të parë mesazhe më të vjetër.",
"%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)shynë dhe dolën %(count)s herë",
@@ -786,8 +741,8 @@
"%(oneUser)schanged their name %(count)s times|other": "%(oneUser)sndryshoi emrin e vet %(count)s herë",
"%(severalUsers)schanged their avatar %(count)s times|other": "%(severalUsers)sndryshuan avatarët e tyre %(count)s herë",
"%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)sndryshoi avatarin e vet %(count)s herë",
- "Clear cache and resync": "Pastro fshehtinën dhe rinjëkohëso",
- "Clear Storage and Sign Out": "Pastro Depon dhe Dil",
+ "Clear cache and resync": "Spastro fshehtinën dhe rinjëkohëso",
+ "Clear Storage and Sign Out": "Spastro Depon dhe Dil",
"COPY": "KOPJOJE",
"e.g. %(exampleValue)s": "p.sh., %(exampleValue)s",
"e.g. ": "p.sh., ",
@@ -801,9 +756,6 @@
"Please contact your homeserver administrator.": "Ju lutemi, lidhuni me përgjegjësin e shërbyesit tuaj Home.",
"Send analytics data": "Dërgo të dhëna analitike",
"This event could not be displayed": "Ky akt s’u shfaq dot",
- "underlined": "nënvizuar",
- "inline-code": "kod brendazi",
- "numbered-list": "listë e numërtuar",
"The conversation continues here.": "Biseda vazhdon këtu.",
"System Alerts": "Sinjalizime Sistemi",
"Muted Users": "Përdorues të Heshtur",
@@ -851,9 +803,7 @@
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "%(senderName)s hoqi %(removedAddresses)s si adresa për këtë dhomë.",
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s hoqi %(removedAddresses)s si adresë për këtë dhomë.",
"%(senderName)s removed the main address for this room.": "%(senderName)s hoqi adresën kryesore për këtë dhomë.",
- "deleted": "u fshi",
"This room has been replaced and is no longer active.": "Kjo dhomë është zëvendësuar dhe s’është më aktive.",
- "At this time it is not possible to reply with an emote.": "Sot për sot s’është e mundur të përgjigjeni me një emote.",
"Share room": "Ndani dhomë me të tjerë",
"You don't currently have any stickerpacks enabled": "Hëpërhë, s’keni të aktivizuar ndonjë pako ngjitësesh",
"%(senderDisplayName)s changed the room avatar to ": "%(senderDisplayName)s ndryshoi avatarin e dhomës në ",
@@ -880,7 +830,6 @@
"Every page you use in the app": "Çdo faqe që përdorni te aplikacioni",
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s shtoi %(addedAddresses)s si adresa për këtë dhomë.",
"%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s shtoi %(addedAddresses)s dhe hoqi %(removedAddresses)s si adresa për këtë dhomë.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s aktivizoi fshehtëzimin skaj-më-skaj (algorithm %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s nga %(fromPowerLevel)s në %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s ndryshoi shkallën e pushtetit të %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s ndryshoi mesazhin e fiksuar për këtë dhomë.",
@@ -896,7 +845,6 @@
"Before submitting logs, you must create a GitHub issue to describe your problem.": "Përpara se të parashtroni regjistra, duhet të krijoni një çështje në GitHub issue që të përshkruani problemin tuaj.",
"Community IDs may only contain characters a-z, 0-9, or '=_-./'": "ID-të e bashkësive mund të përmbajnë vetëm shenjat a-z, 0-9, ose '=_-./'",
"Create a new room with the same name, description and avatar": "Krijoni një dhomë të re me po atë emër, përshkrim dhe avatar",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" përmban pajisje që s’i keni parë më parë.",
"
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n
\n You can even use 'img' tags\n
\n": "
HTML për faqen e bashkësisë tuaj
\n
\n Përshkrimin e gjatë përdoreni për t’u paraqitur përdoruesve të rinj bashkësinë, ose për të dhënë\n një a disa lidhje të rëndësishme\n
\n
\n Mund të përdorni madje etiketa 'img'\n
\n",
"Failed to add the following rooms to the summary of %(groupId)s:": "S’u arrit të shtoheshin dhomat vijuese te përmbledhja e %(groupId)s:",
"Failed to remove the room from the summary of %(groupId)s": "S’u arrit të hiqej dhoma prej përmbledhjes së %(groupId)s",
@@ -907,7 +855,6 @@
"Data from an older version of Riot has been detected. This will have caused end-to-end cryptography to malfunction in the older version. End-to-end encrypted messages exchanged recently whilst using the older version may not be decryptable in this version. This may also cause messages exchanged with this version to fail. If you experience problems, log out and back in again. To retain message history, export and re-import your keys.": "Janë pikasur të dhëna nga një version i dikurshëm i Riot-it. Kjo do të bëjë që kriptografia skaj-më-skaj te versioni i dikurshëm të mos punojë si duhet. Mesazhet e fshehtëzuar skaj-më-skaj tani së fundi teksa përdorej versioni i dikurshëm mund të mos jenë të shfshehtëzueshëm në këtë version. Kjo mund bëjë edhe që mesazhet e shkëmbyera me këtë version të dështojnë. Nëse ju dalin probleme, bëni daljen dhe rihyni në llogari. Që të ruhet historiku i mesazheve, eksportoni dhe riimportoni kyçet tuaj.",
"Did you know: you can use communities to filter your Riot.im experience!": "E dinit se: mund t’i përdorni bashkësitë për të filtruar punimin tuaj në Riot.im?",
"Error whilst fetching joined communities": "Gabim teksa silleshin bashkësitë ku merret pjesë",
- "Show devices, send anyway or cancel.": "Shfaq pajisje, dërgoje sido qoftë ose anuloje.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Ridërgojini krejt ose anulojini krejt tani. Për ridërgim ose anulim, mundeni edhe të përzgjidhni mesazhe individualë.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Ridërgojeni mesazhin ose anulojeni mesazhin tani.",
"Audio Output": "Sinjal Audio",
@@ -917,10 +864,7 @@
"Failed to remove tag %(tagName)s from room": "S’u arrit të hiqej etiketa %(tagName)s nga dhoma",
"Failed to add tag %(tagName)s to room": "S’u arrit të shtohej në dhomë etiketa %(tagName)s",
"Enable widget screenshots on supported widgets": "Aktivizo foto ekrani widget-esh për widget-e që e mbulojnë",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Ndryshimi i fjalëkalimit do të sjellë zerimin e çfarëdo kyçesh fshehtëzimi skaj-më-skaj në krejt pajisjet, duke e bërë të palexueshëm historikun e fshehtëzuar të bisedave, hiq rastin kur i eksportoni më parë kyçet tuaj të dhomës dhe i ri-importoni ata më pas. Në të ardhmen kjo do të përmirësohet.",
"Join as voice or video.": "Merrni pjesë me zë ose me video.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Kërkesat për ndarje kyçesh dërgohen automatikisht te pajisjet tuaja të tjera. Nëse s’e pranuat ose e hodhët tej kërkesën për ndarje kyçesh në pajisjet tuaja të tjera, klikoni këtu që të rikërkoni kyçe për këtë sesion.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Nëse pajisjet tuaja të tjera nuk kanë kyçin për këtë mesazh, s’do të jeni në gjendje ta shfshehtëzoni.",
"Demote yourself?": "Të zhgradohet vetvetja?",
"Demote": "Zhgradoje",
"Failed to toggle moderator status": "S’u arrit të këmbehet gjendje moderatori",
@@ -939,12 +883,12 @@
"Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot-i tani përdor 3 deri 5 herë më pak kujtesë, duke ngarkuar të dhëna mbi përdorues të tjerë vetëm kur duhen. Ju lutemi, prisni, teksa njëkohësojmë të dhënat me shërbyesin!",
"Put a link back to the old room at the start of the new room so people can see old messages": "Vendosni në krye të dhomës së re një lidhje për te dhoma e vjetër, që njerëzit të mund të shohin mesazhet e vjetër",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Nëse më herët keni përdorur një version më të freskët të Riot-it, sesioni juaj mund të jetë i papërputhshëm me këtë version. Mbylleni këtë dritare dhe kthehuni te versioni më i ri.",
- "Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Pastrimi i gjërave të depozituara në shfletuesin tuaj mund ta ndreqë problemin, por kjo do të sjellë nxjerrjen tuaj nga llogari dhe do ta bëjë të palexueshëm çfarëdo historiku të fshehtëzuar të bisedës.",
+ "Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Spastrimi i gjërave të depozituara në shfletuesin tuaj mund ta ndreqë problemin, por kjo do të sjellë nxjerrjen tuaj nga llogari dhe do ta bëjë të palexueshëm çfarëdo historiku të fshehtëzuar të bisedës.",
"If you already have a Matrix account you can log in instead.": "Nëse keni tashmë një llogari Matrix, mund të bëni hyrjen.",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Krijoni një bashkësi që bëni tok përdorues dhe dhoma! Krijoni një faqe hyrëse vetjake, që të ravijëzoni hapësirën tuaj në universin Matrix.",
"Sent messages will be stored until your connection has returned.": "Mesazhet e dërguar do të depozitohen deri sa lidhja juaj të jetë rikthyer.",
"Server may be unavailable, overloaded, or search timed out :(": "Shërbyesi mund të jetë i pakapshëm, i mbingarkuar, ose kërkimit i mbaroi koha :(",
- "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Nëse parashtruar një të metë përmes GitHub-it, regjistrat e diagnostikimit mund të na ndihmojnë të ndjekim problemin. Regjistrat e diagnostikimit përmbajnë të dhëna përdorimi, përfshi emrin tuaj të përdoruesit, ID-të ose aliaset e dhomave apo grupeve që keni vizituar dhe emrat e përdoruesve të përdoruesve të tjerë. Në to nuk përmbahen mesazhet.",
+ "If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Nëse parashtruat një të metë përmes GitHub-it, regjistrat e diagnostikimit mund të na ndihmojnë të ndjekim problemin. Regjistrat e diagnostikimit përmbajnë të dhëna përdorimi, përfshi emrin tuaj të përdoruesit, ID-të ose aliaset e dhomave apo grupeve që keni vizituar dhe emrat e përdoruesve të përdoruesve të tjerë. Në to nuk përmbahen mesazhet.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privatësia është e rëndësishme për ne, ndaj nuk grumbullojmë ndonjë të dhënë personale apo të identifikueshme për analizat tona.",
"Learn more about how we use analytics.": "Mësoni më tepër se si i përdorim analizat.",
"Reject all %(invitedRooms)s invites": "Mos prano asnjë ftesë për në %(invitedRooms)s",
@@ -952,19 +896,12 @@
"Please note you are logging into the %(hs)s server, not matrix.org.": "Ju lutemi, kini parasysh se jeni futur te shërbyesi %(hs)s, jo te matrix.org.",
"You need to register to do this. Would you like to register now?": "Për ta bërë këtë, lypset të regjistroheni. Doni të regjistroheni që tani?",
"Stops ignoring a user, showing their messages going forward": "Resht shpërfilljen e një përdoruesi, duke i shfaqur mesazhet e tij të dërgohen",
- "Verifies a user, device, and pubkey tuple": "Verifikon një përdorues, pajisje dhe një set kyçesh publikë",
- "WARNING: Device already verified, but keys do NOT MATCH!": "KUJDES: Pajisje tashmë e verifikuar, por kyçet NUK PËRPUTHEN!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "KUJDES: VERIFIKIMI I KYÇIT DËSHTOI! Kyçi i nënshkrimit për %(userId)s dhe pajisjen %(deviceId)s është \"%(fprint)s\", që nuk përpythet me kyçin e dhënë \"%(fingerprint)s\". Kjo mund të jetë shenjë se komunikimet tuaja po përgjohen!",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Kyçi i nënshkrimit që dhatë përputhet me kyçin e nënshkrimit që morët nga pajisja e %(userId)s %(deviceId)s. Pajisja u shënua si e verifikuar.",
"Your browser does not support the required cryptography extensions": "Shfletuesi juaj nuk mbulon zgjerimet kriptografike të domosdoshme",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Vulat kohore shfaqi në formatin 12 orësh (p.sh. 2:30pm)",
"Enable inline URL previews by default": "Aktivizo, si parazgjedhje, paraparje URL-sh brendazi",
"The maximum permitted number of widgets have already been added to this room.": "Në këtë dhomë është shtuar tashmë numri maksimum i lejuar për widget-et.",
- "Your key share request has been sent - please check your other devices for key share requests.": "Kërkesa juaj për shkëmbim kyçesh u dërgua - ju lutemi, kontrolloni pajisjet tuaja të tjera për kërkesa shkëmbimi kyçesh.",
- "Undecryptable": "I pashfshehtëzueshëm",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "S’do të jeni në gjendje ta zhbëni këtë, ngaqë po zhgradoni veten, nëse jeni përdoruesi i fundit i privilegjuar te dhoma do të jetë e pamundur të rifitoni privilegjet.",
"Jump to read receipt": "Hidhuni te leximi i faturës",
- "Unable to reply": "S’arrihet të përgjigjet",
"Unknown for %(duration)s": "I panjohur për %(duration)s",
"This room is not accessible by remote Matrix servers": "Kjo dhomë nuk është e përdorshme nga shërbyes Matrix të largët",
"Stickerpack": "Paketë ngjitësish",
@@ -985,8 +922,6 @@
"We encountered an error trying to restore your previous session.": "Hasëm një gabim teksa provohej të rikthehej sesioni juaj i dikurshëm.",
"This will allow you to reset your password and receive notifications.": "Kjo do t’ju lejojë të ricaktoni fjalëkalimin tuaj dhe të merrni njoftime.",
"This will be your account name on the homeserver, or you can pick a different server.": "Ky do të jetë emri i llogarisë tuaj te shërbyesi home, ose mund të zgjidhni një shërbyes tjetër.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Po kaloni në listë të zezë pajisje të paverifikuara; që të dërgoni mesazhe te këto pajisje, duhet t’i verifikoni.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Këshillojmë të përshkoni procesin e verifikimit për çdo pajisje, që t’u bindur se u takojnë të zotëve të ligjshëm, por, nëse parapëlqeni, mund ta dërgoni mesazhin pa verifikuar gjë.",
"You must join the room to see its files": "Duhet të hyni në dhomë, pa të shihni kartelat e saj",
"The room '%(roomName)s' could not be removed from the summary.": "Dhoma '%(roomName)s' s’u hoq dot nga përmbledhja.",
"The user '%(displayName)s' could not be removed from the summary.": "Përdoruesi '%(displayName)s' s’u hoq dot nga përmbledhja.",
@@ -1001,7 +936,6 @@
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Mesazhi juaj s’u dërgua, ngaqë ky shërbyes Home ka tejkaluar kufirin e një burimi. Ju lutemi, që të vazhdoni ta përdorni këtë shërbim, lidhuni me përgjegjësin e shërbimit tuaj.",
"There's no one else here! Would you like to invite others or stop warning about the empty room?": "S’ka njeri këtu! Do të donit të ftoni të tjerë apo të reshtet së njoftuari për dhomë të zbrazët?",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "U provua të ngarkohej një pikë e caktuar në kronologjinë e kësaj dhome, por nuk keni leje për ta parë mesazhin në fjalë.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Fjalëkalimi juaj u ndryshua me sukses. Nuk do të merrni njoftime push në pajisjet tuaja të tjera, veç në hyfshi sërish në llogarinë tuaj në to",
"Start automatically after system login": "Nisu vetvetiu pas hyrjes në sistem",
"You may need to manually permit Riot to access your microphone/webcam": "Lypset të lejoni dorazi Riot-in të përdorë mikrofonin/kamerën tuaj web",
"No Audio Outputs detected": "S’u pikasën Sinjale Audio Në Dalje",
@@ -1024,11 +958,6 @@
"Forces the current outbound group session in an encrypted room to be discarded": "Forces the current outbound group session in an encrypted room to be discarded",
"Delete Backup": "Fshije Kopjeruajtjen",
"Unable to load key backup status": "S’arrihet të ngarkohet gjendje kopjeruajtjeje kyçesh",
- "Backup has a valid signature from this device": "Kopjeruajtja ka një nënshkrim të vlefshëm prej kësaj pajisjeje",
- "Backup has a valid signature from unverified device ": "Kopjeruajtja ka një nënshkrim të vlefshëm prej pajisjes së paverifikuar",
- "Backup has an invalid signature from verified device ": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej pajisjes së verifikuar",
- "Backup has an invalid signature from unverified device ": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej pajisjes së paverifikuar",
- "Backup is not signed by any of your devices": "Kopjeruajtja s’është nënshkruar nga ndonjë prej pajisjeve tuaja",
"Backup version: ": "Version kopjeruajtjeje: ",
"Algorithm: ": "Algoritëm: ",
"Enter a passphrase...": "Jepni një frazëkalim…",
@@ -1041,12 +970,9 @@
"Your Recovery Key": "Kyçi Juaj i Rimarrjeve",
"Copy to clipboard": "Kopjoje në të papastër",
"Download": "Shkarkoje",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Kyçi juaj i Fshehtëzimeve është kopjuar te e papastra juaj, ngjiteni te:",
- "Your Recovery Key is in your Downloads folder.": "Kyçi juaj i Fshehtëzimeve gjendet te dosja juaj Shkarkime.",
"Print it and store it somewhere safe": "Shtypeni dhe ruajeni diku pa rrezik",
"Save it on a USB key or backup drive": "Ruajeni në një diskth USB ose disk kopjeruajtjesh",
"Copy it to your personal cloud storage": "Kopjojeni te depoja juaj personale në re",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Pa ujdisur Rimarrje të Sigurt Mesazhesh, s’do të jeni në gjendje të riktheni historikun e mesazheve tuaj të fshehtëzuar, nëse bëni daljen ose përdorni një pajisje tjetër.",
"Set up Secure Message Recovery": "Rregulloni Rimarrje të Sigurt Mesazhesh",
"Keep it safe": "Mbajeni të parrezikuar",
"Create Key Backup": "Krijo Kopjeruajtje Kyçesh",
@@ -1065,7 +991,6 @@
"This looks like a valid recovery key!": "Ky duket si kyç i vlefshëm rimarrjesh!",
"Not a valid recovery key": "Kyç rimarrjesh jo i vlefshëm",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Hyni te historiku i mesazheve tuaj të siguruar dhe rregulloni shkëmbim mesazhesh të sigurt duke dhënë kyçin tuaj të rimarrjeve.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "Nëse keni harruar frazëkalimin tuaj të rikthimeve, mund të rregulloni mundësi të reja rikthimesh",
"Sign in with single sign-on": "Bëni hyrjen me hyrje njëshe",
"Failed to perform homeserver discovery": "S’u arrit të kryhej zbulim shërbyesi Home",
"Invalid homeserver discovery response": "Përgjigje e pavlefshme zbulimi shërbyesi Home",
@@ -1113,7 +1038,6 @@
"That doesn't look like a valid email address": "Kjo s’duket si adresë email e vlefshme",
"Checking...": "Po kontrollohet…",
"Invalid identity server discovery response": "Përgjigje e pavlefshme zbulimi identiteti shërbyesi",
- "Backup has a valid signature from verified device ": "Kopjeruajtja ka një nënshkrim të vlefshëm prej pajisjes së verifikuar",
"New Recovery Method": "Metodë e Re Rimarrjesh",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Nëse metodën e re të rimarrjeve s’e keni caktuar ju, dikush mund të jetë duke u rrekur të hyjë në llogarinë tuaj. Ndryshoni menjëherë fjalëkalimin e llogarisë tuaj, te Rregullimet, dhe caktoni një metodë të re rimarrjesh.",
"Set up Secure Messages": "Rregulloni Mesazhi të Sigurt",
@@ -1123,7 +1047,7 @@
"Custom user status messages": "Mesazhe vetjakë për gjendje përdoruesi",
"Unable to load commit detail: %(msg)s": "S’arrihet të ngarkohen hollësi depozitimi: %(msg)s",
"Set a new status...": "Caktoni një gjendje të re…",
- "Clear status": "Pastroji gjendjen",
+ "Clear status": "Spastroji gjendjen",
"Unrecognised address": "Adresë jo e pranuar",
"User %(user_id)s may or may not exist": "Përdoruesi %(user_id)s mund të ekzistojë ose jo",
"Waiting for %(userId)s to confirm...": "Po pritet që %(userId)s të bëjë ripohimin…",
@@ -1155,7 +1079,7 @@
"Verified!": "U verifikua!",
"You've successfully verified this user.": "E verifikuat me sukses këtë përdorues.",
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Mesazhet e sigurt me këtë përdorues fshehtëzohen skaj-më-skaj dhe të palexueshëm nga palë të treta.",
- "Got It": "E kuptova",
+ "Got It": "E Mora Vesh",
"Verify this user by confirming the following number appears on their screen.": "Verifikojeni këtë përdorues duke ripohuar shfaqjen e numrit vijues në skenën e tyre.",
"Yes": "Po",
"No": "Jo",
@@ -1163,13 +1087,11 @@
"Email Address": "Adresë Email",
"Backing up %(sessionsRemaining)s keys...": "Po kopjeruhen kyçet për %(sessionsRemaining)s…",
"All keys backed up": "U kopjeruajtën krejt kyçet",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Kopjeruajtja ka nënshkrim nga pajisje e panjohur me ID %(deviceId)s.",
"Add an email address to configure email notifications": "Shtoni një adresë email që të formësoni njoftime me email",
"Unable to verify phone number.": "S’arrihet të verifikohet numër telefoni.",
"Verification code": "Kod verifikimi",
"Phone Number": "Numër Telefoni",
"Profile picture": "Foto profili",
- "Upload profile picture": "Ngarkoni foto profili",
"Display Name": "Emër Në Ekran",
"Room information": "Të dhëna dhome",
"Internal room ID:": "ID e brendshme dhome:",
@@ -1212,19 +1134,15 @@
"Share Link to User": "Ndajeni Lidhjen për te Përdoruesi",
"Main address": "Adresë kryesore",
"Room avatar": "Avatar dhome",
- "Upload room avatar": "Ngarkoni avatar dhome",
- "No room avatar": "S’ka avatar dhome",
"Room Name": "Emër Dhome",
"Room Topic": "Temë Dhome",
"Join": "Bëhuni pjesë",
"Use Legacy Verification (for older clients)": "Përdor Verifikim të Dikurshëm (për klientë të vjetër)",
"Verify by comparing a short text string.": "Verifikoje duke krahasuar një varg të shkurtër teksti.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Për siguri maksimale, këshillojmë ta bëni këtë në prani të vetë personit, ose të përdorni një tjetër kanal të besuar komunikimesh.",
"Begin Verifying": "Po verifikohet",
"Waiting for partner to accept...": "Po pritet pranimi nga partneri…",
"Use two-way text verification": "Përdor verifikim të anasjelltë me tekst",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifikojeni këtë përdorues që t’i vihet shenjë si i besuar. Përdoruesit e besuar ju më tepër siguri kur përdorni mesazhe të fshehtëzuar skaj-më-skaj.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Verifikimi i këtij përdoruesi do të shënojë pajisjen e tij si të besuar, dhe tuajën si të besuar kundrejt tyre.",
"Waiting for partner to confirm...": "Po pritet ripohimi nga partneri…",
"Incoming Verification Request": "Kërkesë Verifikimi e Ardhur",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Për të na ndihmuar të shmangim çështje të përsëdytura, ju lutemi, së pari shihni çështjet ekzistuese (dhe shtoni një +1) ose krijoni një çështje të re, nëse nuk gjeni gjë.",
@@ -1261,10 +1179,7 @@
"Keep going...": "Vazhdoni kështu…",
"Starting backup...": "Po fillohet kopjeruajtje…",
"A new recovery passphrase and key for Secure Messages have been detected.": "Janë pikasur një frazëkalim dhe kyç i ri rimarrjesh për Mesazhe të Sigurt.",
- "This device is encrypting history using the new recovery method.": "Kjo pajisje e fshehtëzon historikun duke përdorur metodë të re rimarrjesh.",
"Recovery Method Removed": "U hoq Metodë Rimarrje",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Kjo pajisje ka pikasur se frazëkalimi dhe kyçi juaj i rimarrjeve për Mesazhe të Sigurt janë hequr.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Nëse këtë e keni bërë pa dashje, mund të ujdisni Mesazhe të Sigurt në këtë pajisje, gjë që do të sjellë rifshehtëzimin e historikut të mesazheve të pajisjes me një metodë të re rimarrjesh.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Nëse metodën e re të rimarrjeve s’e keni hequr ju, dikush mund të jetë duke u rrekur të hyjë në llogarinë tuaj. Ndryshoni menjëherë fjalëkalimin e llogarisë tuaj, te Rregullimet, dhe caktoni një metodë të re rimarrjesh.",
"Disinvite this user?": "T’i hiqet ftesa këtij përdoruesi?",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Kartela '%(fileName)s' tejkalon kufirin e këtij shërbyesi Home për madhësinë e ngarkimeve",
@@ -1312,7 +1227,6 @@
"Book": "Libër",
"Pencil": "Laps",
"Paperclip": "Kapëse",
- "Padlock": "Dry",
"Hammer": "Çekiç",
"Telephone": "Telefon",
"Flag": "Flamur",
@@ -1328,10 +1242,7 @@
"Anchor": "Spirancë",
"Headphones": "Kufje",
"Folder": "Dosje",
- "Your homeserver does not support device management.": "Shërbyesi juaj Home nuk mbulon administrim pajisjesh.",
"Chat with Riot Bot": "Fjalosuni me Robotin Riot",
- "Some devices for this user are not trusted": "Disa pajisje për këtë përdorues nuk janë të besuara",
- "All devices for this user are trusted": "Krejt pajisjet për këtë përdorues janë të besuara",
"Recovery Key Mismatch": "Mospërputhje Kyçesh Rimarrjeje",
"Incorrect Recovery Passphrase": "Frazëkalim Rimarrjeje i Pasaktë",
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "S’u shfshehtëzua dot kopjeruajtja me këtë frazëkalim: ju lutemi, verifikoni që dhatë frazëkalimin e duhur të rimarrjeve.",
@@ -1340,7 +1251,6 @@
"Couldn't load page": "S’u ngarkua dot faqja",
"This homeserver does not support communities": "Ky shërbyes Home s’mbulon bashkësi",
"Your password has been reset.": "Fjalëkalimi juaj u ricaktua.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Jeni nxjerrë jashtë prej krejt pajisjeve dhe s’do të merrni më njoftime push. Që të riaktivizoni njoftimet, bëni sërish hyrjen në çdo pajisje.",
"This homeserver does not support login using email address.": "Ky shërbyes Home nuk mbulon hyrje përmes adresash email.",
"Registration has been disabled on this homeserver.": "Në këtë shërbyes Home regjistrimi është çaktivizuar.",
"Unable to query for supported registration methods.": "S’arrihet të kërkohet për metoda regjistrimi që mbulohen.",
@@ -1355,18 +1265,13 @@
"Santa": "Babagjyshi i Vitit të Ri",
"Hourglass": "Klepsidër",
"Key": "Kyç",
- "This backup is trusted because it has been restored on this device": "Kjo kopjeruajtje është e besuar, ngaqë është rikthyer në këtë pajisje",
- "Some devices in this encrypted room are not trusted": "Disa pajisje në këtë dhomë të fshehtëzuar s’janë të besuara",
- "All devices in this encrypted room are trusted": "Krejt pajisjet në këtë dhomë të fshehtëzuar janë të besuara",
"Disinvite": "Hiqi ftesën",
"Disinvite this user from community?": "T’i hiqet ftesa për në bashkësi këtij përdoruesi?",
"A verification email will be sent to your inbox to confirm setting your new password.": "Te mesazhet tuaj do të dërgohet një email verifikimi, për të ripohuar caktimin e fjalëkalimit tuaj të ri.",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Jeni i sigurt? Do të humbni mesazhet tuaj të fshehtëzuar, nëse kopjeruajtja për kyçet tuaj nuk bëhet si duhet.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Mesazhet e fshehtëzuar sigurohen me fshehtëzim skaj-më-skaj. Vetëm ju dhe marrësi(t) kanë kyçet për të lexuar këto mesazhe.",
"Restore from Backup": "Riktheje prej Kopjeruajtje",
- "This device is backing up your keys. ": "Kjo pajisje po bën kopjeruajtje të kyçeve tuaja. ",
"Back up your keys before signing out to avoid losing them.": "Kopjeruajini kyçet tuaj, përpara se të dilni, që të shmangni humbjen e tyre.",
- "Your keys are not being backed up from this device.": "Kyçet tuaj nuk po kopjeruhen nga kjo pajisje.",
"Start using Key Backup": "Fillo të përdorësh Kopjeruajtje Kyçesh",
"Never lose encrypted messages": "Mos humbni kurrë mesazhe të fshehtëzuar",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Mesazhet në këtë dhomë janë të siguruar përmes fshehtëzimi skaj-më-skaj. Vetëm ju dhe marrësi(t) kanë kyçet për të lexuar këto mesazhe.",
@@ -1385,7 +1290,6 @@
"Set up with a Recovery Key": "Rregullojeni me një Kyç Rimarrjesh",
"Please enter your passphrase a second time to confirm.": "Ju lutemi, që të ripohohet, rijepeni frazëkalimin tuaj.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Kyçi juaj i rimarrjeve është një masë sigurie - mund ta përdorni për rimarrje hyrjeje te mesazhet tuaj të fshehtëzuar, nëse harroni frazëkalimin tuaj.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Mbajeni kyçin tuaj të rikthimeve diku në një vend shumë të sigurt, bie fjala, nën një përgjegjës fjalëkalimesh (ose në një kasafortë)",
"Your keys are being backed up (the first backup could take a few minutes).": "Kyçet tuaj po kopjeruhen (kopjeruajtja e parë mund të hajë disa minuta).",
"Secure your backup with a passphrase": "Sigurojeni kopjeruajtjen tuaj me një frazëkalim",
"Confirm your passphrase": "Ripohoni frazëkalimin tuaj",
@@ -1444,23 +1348,16 @@
"Want more than a community? Get your own server": "Doni më shumë se një bashkësi? Merrni një shërbyes tuajin",
"Power level": "Shkallë pushteti",
"Please install Chrome, Firefox, or Safari for the best experience.": "Për funksionimin më të mirë, ju lutemi, instaloni Chrome, Firefox, ose Safari.",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Ndryshimi i fjalëkalimit tuaj do të sjellë ricaktim të çfarëdo kyçesh fshehtëzimi skaj-më-skaj në krejt pajisjet tuaja, duke e bërë të palexueshëm historikun e bisedave të fshehtëzuara. Ujdisni një Kopjeruajtje Kyçesh ose eksportoni kyçet e dhomës tuaj prej një tjetër pajisjeje përpara se të ricaktoni fjalëkalimin tuaj.",
"A conference call could not be started because the integrations server is not available": "S’u nis dot një thirrje konferencë, ngaqë shërbyesi i integrimit s’është i kapshëm",
"Replying With Files": "Përgjigje Me Kartela",
"The file '%(fileName)s' failed to upload.": "Dështoi ngarkimi i kartelës '%(fileName)s'.",
"Name or Matrix ID": "Emër ose ID Matrix-i",
- "Email, name or Matrix ID": "Email, emër ose ID matrix",
- "Room upgrade confirmation": "Ripohim përmirësimi dhome",
"Changes your avatar in this current room only": "Ndryshon avatarin tuaj vetëm në dhomën e tanishme",
"Unbans user with given ID": "I heq dëbimin përdoruesit me ID-në e dhënë",
"You cannot modify widgets in this room.": "S’mund të ndryshoni widget-e në këtë dhomë.",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s shfuqizoi ftesën për %(targetDisplayName)s që të marrë pjesë në dhomë.",
"No homeserver URL provided": "S’u dha URL shërbyesi Home",
"When rooms are upgraded": "Kur përmirësohen dhomat",
- "Connect this device to Key Backup": "Lidheni këtë pajisje me Kopjeruajtje Kyçesh",
- "Backup has an invalid signature from this device": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej kësaj pajisjeje",
- "Enable desktop notifications for this device": "Aktivizo njoftime desktop për këtë pajisje",
- "Enable audible notifications for this device": "Aktivizo njoftime audio për këtë pajisje",
"Upgrade this room to the recommended room version": "Përmirësojeni këtë dhomë me versionin e rekomanduar të dhomës",
"this room": "këtë dhomë",
"View older messages in %(roomName)s.": "Shihni mesazhe më të vjetër në %(roomName)s.",
@@ -1530,11 +1427,7 @@
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Nëse përdorni apo jo veçorinë 'breadcrumbs' (avatarë sipër listës së dhomës)",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Hëpërhë s’është e mundur përgjigja me një kartelë. Do të donit ta ngarkoni këtë kartelë pa u përgjigjur?",
"The server does not support the room version specified.": "Shërbyesi nuk e mbulon versionin e specifikuar të dhomës.",
- "Upgrading a room can be destructive and isn't always necessary.": "Përmirësimi i një dhome mund të jetë shkatërrimtar dhe s’është i nevojshëm përherë.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Përmirësimet e dhomave zakonisht janë të këshilluara kur një version dhome konsiderohet i paqëndrueshëm. Versionet e paqëndrueshëm të dhomave mund të kenë të meta, mungesa veçorish, ose cenueshmëri sigurie.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Përmirësimi i dhomave zakonisht prek vetëm pjesën më anë të shërbyesit të dhomës. Nëse keni probleme me klientin tuaj Riot , ju lutemi, parashtroni një problem me .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Kujdes: Përmirësimi i një dhome s’do të shkaktojë migrim vetvetiu të anëtarëve të dhomës te versioni i ri i dhomës. Do të postojmë në versionin e vjetër të dhomë një lidhje për te dhoma e re - anëtarëve të dhomës do t’u duhet të klikojnë mbi këtë lidhje, që të bëhen pjesë e saj.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Ju lutemi, ripohoni se do të donit të ecej më tej me përmirësimin e kësaj dhome nga te .",
"Adds a custom widget by URL to the room": "Shton te dhoma një widget vetjak përmes URL-je",
"Please supply a https:// or http:// widget URL": "Ju lutemi, furnizoni një URL https:// ose http:// widget-i",
"Sends the given message coloured as a rainbow": "E dërgon mesazhin e dhënë të ngjyrosur si ylber",
@@ -1542,8 +1435,6 @@
"The user's homeserver does not support the version of the room.": "Shërbyesi Home i përdoruesit s’e mbulon versionin e dhomës.",
"Show hidden events in timeline": "Shfaq te rrjedha kohore veprimtari të fshehura",
"Low bandwidth mode": "Mënyrë gjerësi e ulët bande",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Kjo pajisje nuk po bën kopjeruajtje të kyçeve tuaja, por keni një kopjeruajtje ekzistuese që mund ta përdorni për rimarrje dhe ta shtoni më tej.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Lidheni këtë pajisje me kopjeruajtje kyçesh, përpara se të dilni, që të shmangni humbje të çfarëdo kyçi që mund të gjendet vetëm në këtë pajisje.",
"Something went wrong with your invite to %(roomName)s": "Diç shkoi ters me ftesën tuaj për te %(roomName)s",
"You can only join it with a working invite.": "Mund të merrni pjesë në të vetëm me një ftesë funksionale.",
"You can still join it because this is a public room.": "Mundeni prapëseprapë të merrni pjesë, ngaqë është një dhomë publike.",
@@ -1552,7 +1443,7 @@
"Try again later, or ask a room admin to check if you have access.": "Riprovoni më vonë, ose kërkojini një përgjegjësi dhome të kontrollojë nëse keni apo jo hyrje.",
"%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s erdhi teksa provohej të hyhej në dhomë. Nëse mendoni se po e shihni gabimisht këtë mesazh, ju lutemi, parashtroni një njoftim të mete.",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Përmirësimi i kësaj dhome do të asgjësojë instancën e tanishme të dhomës dhe do të krijojë një dhomë të përmirësuar me të njëjtin emër.",
- "This room is running room version , which this homeserver has marked as unstable.": "Kjo dhomë gjendet nën versionin e dhomës, të cilin shërbyesi e ka shënuar si të paqëndrueshëm.",
+ "This room is running room version , which this homeserver has marked as unstable.": "Kjo dhomë gjendet nën versionin e dhomës, të cilit shërbyesi Home i ka vënë shenjë si i paqëndrueshëm.",
"Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "S’u shfuqizua dot ftesa. Shërbyesi mund të jetë duke kaluar një problem të përkohshëm ose s’keni leje të mjaftueshme për të shfuqizuar ftesën.",
"reacted with %(shortName)s": "reagoi me %(shortName)s",
"If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here.": "Nëse ka kontekst shtesë që mund të ndihmonte në analizimin e problemit, b.f., ç’po bënit në atë kohë, ID dhomash, ID përdorueusish, etj, ju lutemi, përfshijini këto gjëra këtu.",
@@ -1607,11 +1498,9 @@
"Resend %(unsentCount)s reaction(s)": "Ridërgo %(unsentCount)s reagim(e)",
"Resend removal": "Ridërgo heqjen",
"Changes your avatar in all rooms": "Ndryshon avatarin tuaj në krejt dhomat",
- "Clear all data on this device?": "Të spastrohen krejt të dhënat në këtë pajisje?",
"Your homeserver doesn't seem to support this feature.": "Shërbyesi juaj Home nuk duket se e mbulon këtë veçori.",
"You're signed out": "Keni bërë dalje",
"Clear all data": "Spastro krejt të dhënat",
- "Failed to start chat": "S’u arrit të nisej fjalosje",
"Messages": "Mesazhe",
"Actions": "Veprime",
"Sends the given emote coloured as a rainbow": "E dërgon emote-n e dhënë të ngjyrosur si ylber",
@@ -1628,7 +1517,6 @@
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Te +%(msisdn)s u dërgua një mesazh tekst. Ju lutemi, jepni kodin e verifikimit që përmban.",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Ju lutemi, na tregoni ç’shkoi keq ose, akoma më mirë, krijoni në GitHub një çështje që përshkruan problemin.",
"Removing…": "Po hiqet…",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Spastrimi i krejt të dhënave prej kësaj pajisjeje është përfundimtar. Mesazhet e fshehtëzuar do të humbin, veç në qofshin kopjeruajtur kyçet e tyre.",
"Share User": "Ndani Përdorues",
"Command Help": "Ndihmë Urdhri",
"Identity Server": "Shërbyes Identitetesh",
@@ -1642,13 +1530,11 @@
"This account has been deactivated.": "Kjo llogari është çaktivizuar.",
"Failed to re-authenticate due to a homeserver problem": "S’u arrit të ribëhej mirëfilltësimi, për shkak të një problemi me shërbyesin Home",
"Failed to re-authenticate": "S’u arrit të ribëhej mirëfilltësimi",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Rifitoni hyrjen te llogaria juaj dhe rimerrni kyçe fshehtëzimi të depozituar në këtë pajisje. Pa ta, s’do të jeni në gjendje të lexoni krejt mesazhet tuaj të siguruar në çfarëdo pajisje.",
"Enter your password to sign in and regain access to your account.": "Jepni fjalëkalimin tuaj që të bëhet hyrja dhe të rifitoni hyrje në llogarinë tuaj.",
"Forgotten your password?": "Harruat fjalëkalimin tuaj?",
"Sign in and regain access to your account.": "Bëni hyrjen dhe rifitoni hyrje në llogarinë tuaj.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "S’mund të bëni hyrjen në llogarinë tuaj. Ju lutemi, për më tepër hollësi, lidhuni me përgjegjësin e shërbyesit tuaj Home.",
"Clear personal data": "Spastro të dhëna personale",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Kujdes: Të dhënat tuaja personale (përfshi kyçe fshehtëzimi) janë ende të depozituara në këtë pajisje. Spastrojini, nëse keni përfunduar së përdoruri këtë pajisje, ose dëshironi të bëni hyrjen në një tjetër llogari.",
"Spanner": "Çelës",
"Identity Server URL must be HTTPS": "URL-ja e Shërbyesit të Identiteteve duhet të jetë HTTPS",
"Not a valid Identity Server (status code %(code)s)": "Shërbyes Identitetesh i pavlefshëm (kod gjendjeje %(code)s)",
@@ -1675,10 +1561,8 @@
"Terms of service not accepted or the identity server is invalid.": "S’janë pranuar kushtet e shërbimit ose shërbyesi i identiteteve është i pavlefshëm.",
"Enter a new identity server": "Jepni një shërbyes të ri identitetesh",
"Integration Manager": "Përgjegjës Integrimesh",
- "A device's public name is visible to people you communicate with": "Emri publik i një pajisjeje është i dukshëm për personat me të cilët komunikoni",
"Remove %(email)s?": "Të hiqet %(email)s?",
"Remove %(phone)s?": "Të hiqet %(phone)s?",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Që të verifikohet se kjo pajisje mund të besohet, ju lutemi, kontrolloni që kyçi që shihni te Rregullime Përdoruesi në atë pajisje të përputhet me kyçin më poshtë:",
"You do not have the required permissions to use this command.": "S’keni lejet e domosdoshme për përdorimin e këtij urdhri.",
"Multiple integration managers": "Përgjegjës të shumtë integrimesh",
"Accept to continue:": "Që të vazhdohet, pranoni :",
@@ -1769,14 +1653,13 @@
"Community Autocomplete": "Vetëplotësim Nga të Bashkësisë",
"Add Email Address": "Shtoni Adresë Email",
"Add Phone Number": "Shtoni Numër Telefoni",
- "Use the new, faster, composer for writing messages": "Përdorni për shkrim mesazhesh hartuesin e ri, më të shpejtë",
"Show previews/thumbnails for images": "Shfaq për figurat paraparje/miniatura",
"You should remove your personal data from identity server before disconnecting. Unfortunately, identity server is currently offline or cannot be reached.": "Përpara shkëputjes, duhet të hiqni të dhënat tuaja personale nga shërbyesi i identiteteve . Mjerisht, shërbyesi i identiteteve hëpërhë është jashtë funksionimi dhe s’mund të kapet.",
"You should:": "Duhet:",
"check your browser plugins for anything that might block the identity server (such as Privacy Badger)": "të kontrolloni shtojcat e shfletuesit tuaj për çfarëdo që mund të bllokojë shërbyesin e identiteteve (bie fjala, Privacy Badger)",
"contact the administrators of identity server ": "të lidheni me përgjegjësit e shërbyesit të identiteteve ",
"wait and try again later": "të prisni dhe të riprovoni më vonë",
- "Clear cache and reload": "Të pastroni fshehtinën dhe të ringarkoni",
+ "Clear cache and reload": "Spastro fshehtinën dhe ringarko",
"Your email address hasn't been verified yet": "Adresa juaj email s’është verifikuar ende",
"Click the link in the email you received to verify and then click continue again.": "Për verifkim, klikoni lidhjen te email që morët dhe mandej vazhdoni sërish.",
"You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "Ju ndan një hap nga heqja e 1 mesazhi prej %(user)s. Kjo s’mund të zhbëhet. Doni të vazhdohet?",
@@ -1868,11 +1751,7 @@
"Custom (%(level)s)": "Vetjak (%(level)s)",
"Trusted": "E besuar",
"Not trusted": "Jo e besuar",
- "Hide verified Sign-In's": "Fshihi Hyrjet e verifikuara",
- "%(count)s verified Sign-In's|other": "%(count)s Hyrje të verifikuara",
- "%(count)s verified Sign-In's|one": "1 Hyrje e verifikuar",
"Direct message": "Mesazh i Drejtpërdrejtë",
- "Unverify user": "Hiqi verifikimin përdoruesit",
"%(role)s in %(roomName)s": "%(role)s në %(roomName)s",
"Messages in this room are end-to-end encrypted.": "Mesazhet në këtë dhomë janë të fshehtëzuara skaj-më-skaj.",
"Security": "Siguri",
@@ -1889,7 +1768,6 @@
"Using this widget may share data with %(widgetDomain)s.": "Përdorimi i këtij widget-i mund të sjellë ndarje të dhënash me %(widgetDomain)s.",
"Widget added by": "Widget i shtuar nga",
"This widget may use cookies.": "Ky widget mund të përdorë cookies.",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "Dërgo kërkesa verifikimi në mesazhe të drejtpërdrejtë, përfshi një UX të ri verifikimesh te paneli i anëtarit.",
"Decline (%(counter)s)": "Hidhe poshtë (%(counter)s)",
"Connecting to integration manager...": "Po lidhet me përgjegjës integrimesh…",
"Cannot connect to integration manager": "S’lidhet dot te përgjegjës integrimesh",
@@ -1917,12 +1795,10 @@
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s bëri një thirrje zanore. (e pambuluar nga ky shfletues)",
"%(senderName)s placed a video call.": "%(senderName)s bëri një thirrje video.",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s bëri një thirrje video. (e pambuluar nga ky shfletues)",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "",
"Enable local event indexing and E2EE search (requires restart)": "Aktivizoni indeksim aktesh vendore dhe kërkim E2EE (lyp rinisje)",
"Match system theme": "Përputhe me temën e sistemit",
- "Send cross-signing keys to homeserver": "",
- "Cross-signing public keys:": "",
- "on device": "në pajisje",
+ "Send cross-signing keys to homeserver": "Dërgo te shërbyesi Home kyçe cross-signing",
+ "Cross-signing public keys:": "Kyçe publikë për cross-signing:",
"not found": "s’u gjet",
"in secret storage": "në depozitë të fshehtë",
"Secret storage public key:": "Kyç publik depozite të fshehtë:",
@@ -1953,16 +1829,12 @@
"If you've forgotten your recovery key you can set up new recovery options": "Nëse keni harruar kyçin tuaj të rimarrjeve, mund të ujdisni mundësi të reja rimarrjeje",
"Notification settings": "Rregullime njoftimesh",
"User Status": "Gjendje Përdoruesi",
- "Warning: You should only set up secret storage from a trusted computer.": "Kujdes: Duhet të ujdisni një depozitë të fshehtë vetëm nga një kompjuter i besuar.",
"Set up with a recovery key": "Rregullojeni me një kyç rimarrjesh",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "Si masë sigurie, mund ta përdorni për të rifituar hyrjen tuaj te mesazhe të fshehtëzuar, nëse harroni frazëkalimin tuaj.",
"As a safety net, you can use it to restore your access to encrypted messages.": "Si një masë sigurie, mund ta përdorni për të rifituar hyrjen tuaj te mesazhe të fshehtëzuar.",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "Mbajeni kyçin tuaj të rimarrjeve diku në një vend shumë të sigurt, bie fjala, nën një përgjegjës fjalëkalimesh (ose në një kasafortë).",
"Your recovery key has been copied to your clipboard, paste it to:": "Kyçi juaj i rimarrjeve është kopjuar te e papastra juaj, ngjiteni te:",
"Your recovery key is in your Downloads folder.": "Kyçi juaj i rimarrjeve gjendet te dosja juaj Shkarkime.",
- "Your access to encrypted messages is now protected.": "Hyrja juaj te mesazhe të fshehtëzuar tani është e mbrojtur.",
- "Set up secret storage": "Ujdisni depozitë të fshehtë",
- "Secure your encrypted messages with a passphrase": "Sigurojini mesazhet tuaj të fshehtëzuar me një frazëkalim",
"Storing secrets...": "Po depozitohen të fshehta…",
"Unable to set up secret storage": "S’u arrit të ujdiset depozitë e fshehtë",
"%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s hoqi rregullin për dëbim përdoruesish që kanë përputhje me %(glob)s",
@@ -1983,19 +1855,11 @@
"%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s ndryshoi një rregull që dëbonte shërbyes me përputhje me %(oldGlob)s për përputhje me %(newGlob)s për %(reason)s",
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s përditësoi një rregull dëbimesh mbi përputhje me %(oldGlob)s për përputhje me %(newGlob)s për %(reason)s",
"The message you are trying to send is too large.": "Mesazhi që po rrekeni të dërgoni është shumë i madh.",
- "New DM invite dialog (under development)": "Dialog ftese të re për MD (në zhvillim)",
"not stored": "e padepozituar",
"Backup has a valid signature from this user": "Kopjeruajtja ka një nënshkrim të vlefshëm prej këtij përdoruesi",
"Backup has a invalid signature from this user": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej këtij përdoruesi",
"Backup has a signature from unknown user with ID %(deviceId)s": "Kopjeruajtja ka një nënshkrim nga një përdorues i panjohur me ID %(deviceId)s",
- "Backup has a signature from unknown device with ID %(deviceId)s": "Kopjeruajtja ka një nënshkrim nga një pajisje e panjohur me ID %(deviceId)s",
"Backup key stored: ": "Kyç kopjeruajtjeje i depozituar: ",
- "Start using Key Backup with Secure Secret Storage": "Fillo të përdorësh Kopejruajtje Kyçesh me Depozitim Kyçi të Fshehtë",
- "This user has not verified all of their devices.": "Ky përdorues s’ka verifikuar krejt pajisjet e tij.",
- "You have not verified this user. This user has verified all of their devices.": "S’e keni verifikuar këtë përdorues. Ky përdorues ka verifikuar krejt pajisjet e veta.",
- "You have verified this user. This user has verified all of their devices.": "E keni verifikuar këtë përdorues. Ky përdorues ka verifikuar krejt pajisjet e veta.",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "Disa përdorues në këtë dhomë të fshehtëzuar nuk janë verifikuar nga ju ose nuk kanë verifikuar pajisjet e tyre.",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "Krejt përdorues në këtë dhomë të fshehtëzuar janë verifikuar nga ju dhe kanë verifikuar pajisjet e tyre.",
"Close preview": "Mbylle paraparjen",
"Hide verified sessions": "Fshih sesione të verifikuar",
"%(count)s verified sessions|other": "%(count)s sesione të verifikuar",
@@ -2004,17 +1868,417 @@
"Show more": "Shfaq më tepër",
"Recent Conversations": "Biseda Së Fundi",
"Direct Messages": "Mesazhe të Drejtpërdrejtë",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Nëse s’gjeni dot dikë, kërkojuni emrin e përdoruesit, ose jepuni emrin tuaj të përdoruesit (%(userId)s) ose profile link.",
"Go": "Shko",
"Help": "Ndihmë",
"Country Dropdown": "Menu Hapmbyll Vendesh",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "Depozita e Fshehtë do të ujdiset duke përdorur hollësitë tuaja ekzistuese për kopjeruajtje kyçesh.Frazëkalimi juaj për në depozitën e fshehtë dhe kyçi i rimarrjes do të jenë të njëjtë me ata për kopjeruajtjen tuaj të kyçeve",
- "Migrate from Key Backup": "Migroji prej Kopjeruajtje Kyçesh",
"Show info about bridges in room settings": "Shfaq te rregullime dhome të dhëna rreth urash",
- "This bridge was provisioned by ": "Kjo urë është dhënë nga ",
"This bridge is managed by .": "Kjo urë administrohet nga .",
- "Connected to on ": "Lidhur me në ",
- "Connected via %(protocolName)s": "Lidhur përmes %(protocolName)s",
- "Bridge Info": "Të dhëna Ure",
- "Below is a list of bridges connected to this room.": "Më poshtë keni një listë urash të lidhura në këtë dhomë."
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s shtoi %(addedAddresses)s dhe dhe %(count)s adresa të tjera te kjo dhomë",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s hoqi %(removedAddresses)s dhe %(count)s adresa të tjera nga kjo dhomë",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s hoqi %(countRemoved)s dhe shtoi %(countAdded)s adresa te kjo dhomë",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s aktivizoi fshehtëzimin skaj-më-skaj.",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s aktivizoi fshehtëzimin skaj-më-skaj (algoritëm jo i pranuar %(algorithm)s).",
+ "a few seconds ago": "pak sekonda më parë",
+ "about a minute ago": "rreth një minutë më parë",
+ "%(num)s minutes ago": "%(num)s minuta më parë",
+ "about an hour ago": "rreth një orë më parë",
+ "%(num)s hours ago": "%(num)s orë më parë",
+ "about a day ago": "rreth një ditë më parë",
+ "%(num)s days ago": "%(num)s ditë më parë",
+ "a few seconds from now": "pak sekonda nga tani",
+ "about a minute from now": "rreth një minutë nga tani",
+ "%(num)s minutes from now": "%(num)s minuta nga tani",
+ "about an hour from now": "rreth një orë nga tani",
+ "%(num)s hours from now": "%(num)s orë nga tani",
+ "about a day from now": "rreth një ditë nga tani",
+ "%(num)s days from now": "%(num)s ditë nga tani",
+ "Show a presence dot next to DMs in the room list": "Shfaqni një pikë pranie në krah DM-sh te lista e dhomave",
+ "Other users may not trust it": "Përdorues të tjerë mund të mos e besojnë",
+ "Later": "Më vonë",
+ "Cross-signing and secret storage are enabled.": "Cross-signing dhe depozitimi i fshehtë janë aktivizuar.",
+ "Cross-signing and secret storage are not yet set up.": "Cross-signing dhe depozitimi i fshehtë s’janë ujdisur ende.",
+ "Cross-signing private keys:": "Kyçe privatë për cross-signing:",
+ "Labs": "Labs",
+ "Complete": "E plotë",
+ "This room is end-to-end encrypted": "Kjo dhomë është e fshehtëzuar skaj-më-skaj",
+ "Everyone in this room is verified": "Gjithkush në këtë dhomë është verifikuar",
+ "Invite only": "Vetëm me ftesa",
+ "Send a reply…": "Dërgoni një përgjigje…",
+ "Send a message…": "Dërgoni një mesazh…",
+ "Reject & Ignore user": "Hidhe poshtë & Shpërfille përdoruesin",
+ "Unknown Command": "Urdhër i Panjohur",
+ "Unrecognised command: %(commandText)s": "Urdhër Jo i Pranuar: %(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "Mund të përdorni /help që të shfaqen urdhrat e gatshëm. Donit vërtet ta dërgoni këtë si një mesazh?",
+ "Hint: Begin your message with // to start it with a slash.": "Ndihmëz: Fillojeni mesazhin tuaj me // që të nisë me një pjerrake.",
+ "Send as message": "Dërgoni një mesazh",
+ "Verify User": "Verifikoni Përdoruesin",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "Për siguri ekstra, verifikojeni këtë përdorues duke kontrolluar në të dyja pajisjet tuaja një kod njëpërdorimsh.",
+ "Start Verification": "Fillo Verifikimin",
+ "Failed to invite the following users to chat: %(csvUsers)s": "S’u arrit të ftoheshin për bisedë përdoruesit vijues: %(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "S’e krijuam dot DM-në tuaj. Ju lutemi, kontrolloni përdoruesit që doni të ftoni dhe riprovoni.",
+ "Something went wrong trying to invite the users.": "Diç shkoi ters teksa provohej të ftoheshin përdoruesit.",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "S’i ftuam dot këta përdorues. Ju lutemi, kontrolloni përdoruesit që doni të ftoni dhe riprovoni.",
+ "Failed to find the following users": "S’u arrit të gjendeshin përdoruesit vijues",
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Përdoruesit vijues mund të mos ekzistojnë ose janë të pavlefshëm, dhe s’mund të ftohen: %(csvNames)s",
+ "Suggestions": "Sugjerime",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "Nëse s’gjeni dot dikë, kërkojini emrin e tij të përdoruesit, tregojuni emrin tuaj të përdoruesit (%(userId)s) ose lidhjen e profilit.",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "Nëse s’gjeni dot dikë, kërkojini emrin e tij të përdoruesit (p.sh., @përdorues:shërbyes.com) ose tregojuni këtë dhomë.",
+ "Complete security": "Siguri të plotë",
+ "Verify this session to grant it access to encrypted messages.": "Verifikojeni këtë sesion që t’i akordohet hyrje te mesazhe të fshehtëzuar.",
+ "Start": "Nise",
+ "Session verified": "Sesion i verifikuar",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Sesioni juaj i ri tani është i verifikuar. Ka hyrje te mesazhet tuaj të fshehtëzuar dhe përdoruesit e tjerë do ta shohin si të besuar.",
+ "Done": "U bë",
+ "Go Back": "Shko Mbrapsht",
+ "Restore": "Riktheje",
+ "Enter your account password to confirm the upgrade:": "Që të ripohohet përmirësimi, jepni fjalëkalimin e llogarisë tuaj:",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Do t’ju duhet të bëni mirëfilltësimin me shërbyesin që të ripohohet përmirësimi.",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "Sigurojini kyçet tuaj të fshehtëzimit me një frazëkalim. Për siguri maksimale, ky do të duhej të ishte i ndryshëm nga fjalëkalimi për llogarinë tuaj:",
+ "Enter a passphrase": "Jepni një frazëkalim",
+ "Enter your passphrase a second time to confirm it.": "Që të ripohohet, jepeni edhe një herë frazëkalimin tuaj.",
+ "Verify other users in their profile.": "Verifikoni përdorues të tjerë në profilin e tyre.",
+ "Upgrade your encryption": "Përmirësoni fshehtëzimin tuaj",
+ "Set up encryption": "Ujdisni fshehtëzim",
+ "Encryption upgraded": "U përmirësua fshehtëzimi",
+ "Encryption setup complete": "Ujdisje fshehtëzimit e plotësuar",
+ "Verify this session": "Verifikoni këtë sesion",
+ "Encryption upgrade available": "Ka të gatshëm përmirësim fshehtëzimi",
+ "Review": "Shqyrtojeni",
+ "Enable message search in encrypted rooms": "Aktivizo kërkim mesazhesh në dhoma të fshehtëzuara",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "Ruaj lokalisht në mënyrë të sigurt në fshehtinë mesazhet që të shfaqen në përfundime kërkimi, duke përdorur ",
+ " to store messages from ": " për të depozituar mesazhe nga ",
+ "rooms.": "dhoma.",
+ "Manage": "Administroni",
+ "Securely cache encrypted messages locally for them to appear in search results.": "Ruaj lokalisht në mënyrë të sigurt në fshehtinë mesazhet që të shfaqen në përfundime kërkimi.",
+ "Enable": "Aktivizoje",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot-it i mungojnë disa përbërës të domosdoshëm për ruajtje lokalisht në mënyrë të sigurt në fshehtinë mesazhe. Nëse do të donit të eksperimentonit me këtë veçori, montoni një Desktop vetjak Riot Desktop me shtim përbërësish kërkimi.",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot-i s’mund të ruajë lokalisht në mënyrë të sigurt mesazhe në fshehtinë teksa xhirohet nën shfletues. Që mesazhet e fshehtëzuar të shihen në përfundime kërkimi, përdorni Riot Desktop.",
+ "Message search": "Kërkim mesazhesh",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "Në u çaktivizoftë, mesazhet prej dhomash të fshehtëzuara s’do të duken në përfundime kërkimi.",
+ "Disable": "Çaktivizoje",
+ "Not currently downloading messages for any room.": "Aktualisht s’po shkarkohen mesazhe për ndonjë dhomë.",
+ "Downloading mesages for %(currentRoom)s.": "Po shkarkohen mesazhe për %(currentRoom)s.",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot-i po ruan lokalisht në mënyrë të sigurt në fshehtinë mesazhet që të shfaqen në përfundime kërkimi:",
+ "Space used:": "Hapësirë e përdorur:",
+ "Indexed messages:": "Mesazhe të indeksuar:",
+ "Number of rooms:": "Numër dhomash:",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Në këtë dhomë ka sesione të panjohur: nëse vazhdoni pa i verifikuar ata, për dikë do të jetë e mundur të përgjojë thirrjen tuaj.",
+ "If you cancel now, you won't complete verifying the other user.": "Nëse e anuloni tani, s’do të plotësoni verifikimin e përdoruesit tjetër.",
+ "If you cancel now, you won't complete verifying your other session.": "Nëse e anuloni tani, s’do të plotësoni verifikimin e sesionit tuaj tjetër.",
+ "If you cancel now, you won't complete your secret storage operation.": "Nëse e anuloni tani, s’do të plotësoni veprimin tuaj për depozitë të fshehtë.",
+ "Cancel entering passphrase?": "Të anulohet dhënue frazëkalimi?",
+ "Setting up keys": "Ujdisje kyçesh",
+ "Unverified session": "Sesion i paverifikuar",
+ "Verifies a user, session, and pubkey tuple": "Verifikon një përdorues, sesion dhe një set kyçesh publikë",
+ "Unknown (user, session) pair:": "Çift (përdorues, sesion) i panjohur:",
+ "Session already verified!": "Sesion i tashmë i verifikuar!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "KUJDES: Sesion tashmë i verifikuar, por kyçet NUK PËRPUTHEN!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "KUJDES: VERIFIKIMI I KYÇIT DËSHTOI! Kyçi i nënshkrimit për %(userId)s dhe sesionin %(deviceId)s është \"%(fprint)s\", që nuk përputhet me kyçin e dhënë \"%(fingerprint)s\". Kjo mund të jetë shenjë se komunikimet tuaja po përgjohen!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Kyçi i nënshkrimit që dhatë përputhet me kyçin e nënshkrimit që morët nga sesioni i %(userId)s %(deviceId)s. Sesionit iu vu shenjë si i verifikuar.",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Aktivizoni cross-signing për të verifikuar me bazë përdorues në vend se me bazë sesioni (në zhvillim)",
+ "Show padlocks on invite only rooms": "Për dhoma vetëm me ftesa shfaq dryna",
+ "Never send encrypted messages to unverified sessions from this session": "Mos dërgo kurrë prej këtij sesioni mesazhe të fshehtëzuar te sesione të paverifikuar",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Mos dërgo kurrë prej këtij sesioni mesazhe të fshehtëzuar te sesione të paverifikuar në këtë dhomë",
+ "Keep secret storage passphrase in memory for this session": "Për këtë sesion, frazëkalimin e depozitës së fshehtë mbaje në kujtesë",
+ "How fast should messages be downloaded.": "Sa shpejt duhen shkarkuar mesazhet.",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "Ripohoni që emoji-t më poshtë shfaqen në të dyja pajisjet, në të njëjtën radhë:",
+ "Verify this device by confirming the following number appears on its screen.": "Verifikojeni këtë pajisje duke ripohuar shfaqjen e numrit vijues në skenën e tij.",
+ "Waiting for %(displayName)s to verify…": "Po pritet për %(displayName)s të verifikojë…",
+ "They match": "Përputhen",
+ "They don't match": "S’përputhen",
+ "To be secure, do this in person or use a trusted way to communicate.": "Për të qenë i sigurt, bëjeni këtë duke qenë vetë i pranishëm ose përdorni për të komunikuar një rrugë të besuar.",
+ "Verify yourself & others to keep your chats safe": "Verifikoni veten & të tjerët, që t’i mbani bisedat tuaja të sigurta",
+ "This bridge was provisioned by .": "Kjo urë është dhënë nga .",
+ "Workspace: %(networkName)s": "Hapësirë pune: %(networkName)s",
+ "Channel: %(channelName)s": "Kanal: %(channelName)s",
+ "Show less": "Shfaq më pak",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Ndryshimi i fjalëkalimit do të sjellë zerimin e çfarëdo kyçesh fshehtëzimi skaj-më-skaj në krejt sesionet, duke e bërë të palexueshëm historikun e fshehtëzuar të bisedave, hiq rastin kur i eksportoni më parë kyçet tuaj të dhomës dhe i ri-importoni ata më pas. Në të ardhmen kjo do të përmirësohet.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Llogaria juaj ka një identitet cross-signing në depozitë të fshehtë, por s’është ende i besuar në këtë sesion.",
+ "in memory": "në kujtesë",
+ "Your homeserver does not support session management.": "Shërbyesi juaj Home nuk mbulon administrim sesionesh.",
+ "Unable to load session list": "S’arrihet të ngarkohet listë sesionesh",
+ "Delete %(count)s sessions|other": "Fshi %(count)s sesione",
+ "Delete %(count)s sessions|one": "Fshi %(count)s sesion",
+ "This session is backing up your keys. ": "Kjo sesion po bën kopjeruajtje të kyçeve tuaja. ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Ky sesion nuk po bën kopjeruajtje të kyçeve tuaja, por keni një kopjeruajtje ekzistuese që mund ta përdorni për rimarrje dhe ta shtoni më tej.",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Lidheni këtë sesion kopjeruajtje kyçesh, përpara se të dilni, që të shmangni humbje të çfarëdo kyçi që mund të gjendet vetëm në këtë pajisje.",
+ "Connect this session to Key Backup": "Lidhe këtë sesion me Kopjeruajtje Kyçesh",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "Kopjeruajtja ka nënshkrim nga sesion i panjohur me ID %(deviceId)s",
+ "Backup has a valid signature from this session": "Kopjeruajtja ka një nënshkrim të vlefshëm prej këtij sesioni",
+ "Backup has an invalid signature from this session": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej këtij sesioni",
+ "Backup has a valid signature from verified session ": "Kopjeruajtja ka një nënshkrim të vlefshëm prej sesioni të verifikuar",
+ "Backup has a valid signature from unverified session ": "Kopjeruajtja ka një nënshkrim të vlefshëm prej sesioni paverifikuar",
+ "Backup has an invalid signature from verified session ": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej sesioni të verifikuar",
+ "Backup has an invalid signature from unverified session ": "Kopjeruajtja ka një nënshkrim të pavlefshëm prej sesioni të paverifikuar",
+ "Backup is not signed by any of your sessions": "Kopjeruajtja s’është nënshkruar nga ndonjë prej sesioneve tuaj",
+ "This backup is trusted because it has been restored on this session": "Kjo kopjeruajtje është e besuar, ngaqë është rikthyer në këtë sesion",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "Kyçi i kopjeruajtjeve u depozitua në depozitë të fshehtë, po kjo veçori s’është e aktivizuar në këtë sesion. Ju lutemi, aktivizoni në Labs cross-signing që të modifikoni gjendje kopjeruatjeje kyçesh.",
+ "Your keys are not being backed up from this session.": "Kyçet tuaj nuk po kopjeruhen nga ky sesion.",
+ "Enable desktop notifications for this session": "Aktivizo njoftime desktop për këtë sesion",
+ "Enable audible notifications for this session": "Aktivizo njoftime audio për këtë sesion",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "Fjalëkalimi juaj u ndryshua me sukses. Nuk do të merrni njoftime push në sesionet tuaj të tjerë, veç në hyfshi sërish në llogarinë tuaj në to",
+ "Session ID:": "ID sesioni:",
+ "Session key:": "Kyç sesioni:",
+ "Sessions": "Sesione",
+ "A session's public name is visible to people you communicate with": "Emri publik i një sesioni është i dukshëm për persona me të cilët komunikoni",
+ "This room is bridging messages to the following platforms. Learn more.": "Kjo dhomë po kalon mesazhe përmes ure te platformat vijuese. Mësoni më tepër.",
+ "This room isn’t bridging messages to any platforms. Learn more.": "Kjo dhomë s’kalon mesazhe përmes ure te ndonjë platformë. Mësoni më tepër.",
+ "Bridges": "Ura",
+ "This user has not verified all of their sessions.": "Ky përdorues s’ka verifikuar krejt sesionet e tij.",
+ "You have not verified this user.": "S’e keni verifikuar këtë përdorues.",
+ "You have verified this user. This user has verified all of their sessions.": "E keni verifikuar këtë përdorues. Ky përdorues ka verifikuar krejt sesionet e veta.",
+ "Someone is using an unknown session": "Dikush po përdor një sesion të panjohur",
+ "Some sessions for this user are not trusted": "Disa sesione për këtë përdorues s’janë të besuar",
+ "All sessions for this user are trusted": "Krejt sesionet për këtë përdorues janë të besuar",
+ "Some sessions in this encrypted room are not trusted": "Disa sesione në këtë dhomë të fshehtëzuar s’janë të besuar",
+ "All sessions in this encrypted room are trusted": "Krejt sesionet në këtë dhomë të fshehtëzuar janë të besuar",
+ "Mod": "Moderator",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "Kërkesa juaj për shkëmbim kyçesh u dërgua - ju lutemi, kontrolloni sesionet tuaj të tjerë për kërkesa shkëmbimi kyçesh.",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "Kërkesat për ndarje kyçesh dërgohen automatikisht te sesionet tuaj të tjerë. Nëse s’e pranuat ose e hodhët tej kërkesën për ndarje kyçesh në sesionet tuaj të tjerë, klikoni këtu që të rikërkoni kyçe për këtë sesion.",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "Nëse sesionet tuaj të tjerë nuk kanë kyçin për këtë mesazh, s’do të jeni në gjendje ta shfshehtëzoni.",
+ "Re-request encryption keys from your other sessions.": "Rikërkoni kyçe fshehtëzimi prej sesionesh tuaj të tjerë.",
+ "Encrypted by an unverified session": "Fshehtëzuar nga një sesion i paverifikuar",
+ "Encrypted by a deleted session": "Fshehtëzuar nga një sesion i fshirë",
+ "No sessions with registered encryption keys": "S’ka sesion me kyçe fshehtëzimi të regjistruar",
+ "Waiting for %(displayName)s to accept…": "Po pritet për %(displayName)s të pranojë…",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "Mesazhet tuaj janë të sigurt dhe vetëm ju dhe marrësi kanë kyçet unikë për t’i shkyçur.",
+ "Your messages are not secure": "Mesazhet tuaj s’janë të sigurt",
+ "One of the following may be compromised:": "Një nga sa vijon mund të jetë komprometuar:",
+ "Your homeserver": "Shërbyesi juaj Home",
+ "The homeserver the user you’re verifying is connected to": "Shërbyesi Home te i cili është lidhur përdoruesi që po verifikoni",
+ "Yours, or the other users’ internet connection": "Lidhja internet e juaja, ose e përdoruesve të tjerë",
+ "Yours, or the other users’ session": "Sesioni juaj, ose i përdoruesve të tjerë",
+ "%(count)s sessions|other": "%(count)s sesione",
+ "%(count)s sessions|one": "%(count)s sesion",
+ "Hide sessions": "Fshih sesione",
+ "Verify by emoji": "Verifikoje përmes emoji-t",
+ "Verify by comparing unique emoji.": "Verifikoje duke krahasuar emoji unik.",
+ "Ask %(displayName)s to scan your code:": "Kërkojini %(displayName)s të skanojë kodin tuaj:",
+ "If you can't scan the code above, verify by comparing unique emoji.": "Nëse s’e skanoni dot kodin më sipër, verifikojeni duke krahasuar emoji unik.",
+ "You've successfully verified %(displayName)s!": "E verifikuat me sukses %(displayName)s!",
+ "Got it": "E mora vesh",
+ "Verification timed out. Start verification again from their profile.": "Verifikimit i mbaroi koha. Riniseni verifikimin prej profilit të tij.",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s e anuloi verifikimin. Rinisni verifkimin nga profili i tij.",
+ "You cancelled verification. Start verification again from their profile.": "Anuluat verifikimin. Riniseni verifikimin nga profili i tij.",
+ "Encryption enabled": "Fshehtëzim i aktivizuar",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "Mesazhet në këtë dhomë fshehtëzohen skaj-më-skaj. Mësoni më tepër & verifikoni këtë përdorues në profilin e tij.",
+ "Encryption not enabled": "Fshehtëzim jo i aktivizuar",
+ "The encryption used by this room isn't supported.": "Fshehtëzimi i përdorur nga kjo dhomë nuk mbulohet.",
+ "Clear all data in this session?": "Të pastrohen krejt të dhënat në këtë sesion?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Spastrimi i krejt të dhënave prej këtij sesioni është përfundimtar. Mesazhet e fshehtëzuar do të humbin, veç në qofshin kopjeruajtur kyçet e tyre.",
+ "Verify session": "Verifiko sesion",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Që të verifikohet se ky sesion mund të besohet, ju lutemi, kontrolloni se kyçi që shihni te Rregullime Përdoruesi në atë pajisje të përputhet me kyçin më poshtë:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "Që të verifikoni se këtij sesioni mund t’i zihet besë, ju lutemi, lidhuni me të zotët e saj përmes ndonjë rruge tjetër (p.sh., personalisht, ose përmes një thirrjeje telefonike) dhe pyetini nëse përputhet apo jo kyçi që shohin te Rregullime të tyret të Përdoruesit për këtë pajisje me kyçin më poshtë:",
+ "Session name": "Emër sesioni",
+ "Session key": "Kyç sesioni",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "Nëse përputhet, shtypni butonin e verifikimit më poshtë. Nëse jo, atëherë dikush tjetër po e përgjon këtë sesion dhe gjasat janë që të doni të shtypni butonin e kalimit në listë bllokimesh.",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Verifikimi i këtij përdoruesi do t’i vërë shenjë sesionit të tij si të besuar dhe sesionit tuaj si të besuar për ta.",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Që t’i vihet shenjë si e besuar, verifikojeni këtë pajisje. Besimi i kësaj pajisjeje ju jep juve dhe përdoruesve të tjerë ca qetësi më tepër, kur përdoren mesazhe të fshehtëzuar skaj-më-skaj.",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifikimi i kësaj pajisjeje do të t’i vërë shenjë si të besuar dhe përdoruesit që janë verifikuar me ju do ta besojnë këtë pajisje.",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "Shtuat një sesion të ri '%(displayName)s', i cili po kërkon kyçe fshehtëzimi.",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "Sesioni juaj i paverifikuar '%(displayName)s' po kërkon kyçe fshehtëzimi.",
+ "Loading session info...": "Po ngarkohen të dhëna sesioni…",
+ "New session": "Sesion i ri",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "Përdoreni këtë sesion për të verifikuar atë tuajin të ri, duke i akorduar hyrje te mesazhe të fshehtëzuar:",
+ "If you didn’t sign in to this session, your account may be compromised.": "Nëse s’bëtë hyrjen te ky sesion, llogaria muaj mund të jetë komprometuar.",
+ "This wasn't me": "Ky s’jam unë",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "Kjo do t’ju lejojë të riktheheni te llogaria juaj pasi të keni bërë daljen, dhe të hyni në sesione të tjerë.",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "Po kaloni në listë të bllokimesh sesione të paverifikuar; që të dërgoni mesazhe te këta sesione, duhet t’i verifikoni.",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Këshillojmë të përshkoni procesin e verifikimit për çdo sesion, për t’u bindur se u takojnë të zotëve të ligjshëm, por, nëse parapëlqeni, mund ta dërgoni mesazhin pa verifikuar gjë.",
+ "Room contains unknown sessions": "Dhoma përmban sesione të panjohur",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "\"%(RoomName)s\" përmban sesione që s’i keni parë më parë.",
+ "Unknown sessions": "Sesione të panjohur",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "Për verifikim sesionesh të tjerë përmes dhënies së frazëkalimit tuaj, hyni te historiku i mesazheve tuaj të sigurt dhe identiteti juaj për cross-signing.",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "Për verifikim sesionesh të tjerë përmes dhënies së kyçit tuaj të rimarrjes, hyni te historiku i mesazheve tuaj të sigurt dhe identiteti juaj për cross-signing.",
+ "Recovery key mismatch": "Mospërputhje kyçesh rimarrjeje",
+ "Incorrect recovery passphrase": "Frazëkalim rimarrjeje i pasaktë",
+ "Backup restored": "Kopjeruajtja u rikthye",
+ "Enter recovery passphrase": "Jepni frazëkalim rimarrjesh",
+ "Enter recovery key": "Jepni kyç rimarrjesh",
+ "Confirm your identity by entering your account password below.": "Ripohoni identitetin tuaj duke dhënë më poshtë fjalëkalimin e llogarisë tuaj.",
+ "Message not sent due to unknown sessions being present": "Mesazhi s’u dërgua, për shkak të pranisë së sesioneve të panjohur",
+ "Show sessions, send anyway or cancel.": "Shfaq sesione, dërgoje sido qoftë ose anuloje.",
+ "Your new session is now verified. Other users will see it as trusted.": "Sesioni juaj i ri tani është i verifikuar. Përdoruesit e tjerë do të shohin si të besuar.",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "Pa plotësuar sigurinë në këtë sesion, s’do të ketë hyrje te mesazhe të fshehtëzuar.",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "Ndryshimi i fjalëkalimit tuaj do të sjellë zerim të çfarëdo kyçesh fshehtëzimi skaj-më-skaj në krejt sesionet tuaj, duke e bërë të palexueshëm historikun e bisedave të fshehtëzuara. Ujdisni një Kopjeruajtje Kyçesh ose eksportoni kyçet e dhomës tuaj prej një tjetër sesioni, përpara se të ricaktoni fjalëkalimin tuaj.",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Jeni nxjerrë jashtë krejt sesioneve dhe nuk do të merrni më njoftime push. Që të riaktivizoni njoftimet, bëni sërish hyrjen në çdo pajisje.",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "Rifitoni hyrjen te llogaria juaj dhe rimerrni kyçe fshehtëzimi të depozituar në këtë sesion. Pa ta, s’do të jeni në gjendje të lexoni krejt mesazhet tuaj të siguruar në çfarëdo sesion.",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "Kujdes: Të dhënat tuaja personale (përfshi kyçe fshehtëzimi) janë ende të depozituara në këtë sesion. Spastrojini, nëse keni përfunduar së përdoruri këtë sesion, ose dëshironi të bëni hyrjen në një tjetër llogari.",
+ "Sender session information": "Të dhëna sesioni dërguesi",
+ "Restore your key backup to upgrade your encryption": "Që të përmirësoni fshehtëzimin tuaj, riktheni kopjeruajtjen e kyçeve tuaj",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Përmirësojeni këtë sesion për ta lejuar të verifikojë sesione të tjerë, duke u akorduar hyrje te mesazhe të fshehtëzuar dhe duke u vënë shenjë si të besuar për përdorues të tjerë.",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "Ujdisni fshehtëzim në këtë sesion që ta lejoni të verifikojë sesione të tjerë, duke u akorduar atyre hyrje te mesazhe të fshehtëzuar dhe duke u vënë shenjë si të besuar për përdorues të tjerë.",
+ "Back up my encryption keys, securing them with the same passphrase": "Kopjeruaj kyçet e mi të fshehtëzimit, duke i siguruar me të njëjtin frazëkalim",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "Mbajeni kyçin tuaj të rimarrjeve diku në një vend pak a shumë të sigurt, bie fjala, nën një përgjegjës fjalëkalimesh ose madje në një kasafortë.",
+ "Your recovery key": "Kyçi juaj i rimarrjeve",
+ "Copy": "Kopjoje",
+ "You can now verify your other devices, and other users to keep your chats safe.": "Tani mund të verifikoni pajisje tuajat të tjera dhe përdorues të tjerë, për t’i mbajtur të sigurta bisedat tuaja.",
+ "Make a copy of your recovery key": "Bëni një kopje të kyçit tuaj të rimarrjeve",
+ "You're done!": "Mbaruat!",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "Pa ujdisur Rimarrje të Sigurt Mesazhesh, s’do të jeni në gjendje të riktheni historikun e mesazheve tuaj të fshehtëzuar, nëse bëni daljen ose përdorni një sesion tjetër.",
+ "Create key backup": "Krijo kopjeruajtje kyçesh",
+ "This session is encrypting history using the new recovery method.": "Ky sesion e fshehtëzon historikun duke përdorur metodë të re rimarrjesh.",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "Ky sesion ka pikasur se frazëkalimi dhe kyçi juaj i rimarrjeve për Mesazhe të Sigurt janë hequr.",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "Nëse këtë e keni bërë pa dashje, mund të ujdisni Mesazhe të Sigurt në këtë sesion, gjë që do të sjellë rifshehtëzimin e historikut të mesazheve të sesionit me një metodë të re rimarrjesh.",
+ "Indexed rooms:": "Dhoma të indeksuara:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(crawlingRooms)s nga %(totalRooms)s gjithsej",
+ "Message downloading sleep time(ms)": "Kohë fjetjeje shkarkimi mesazhi(ms)",
+ "Show typing notifications": "Shfaq njoftime shtypjeje",
+ "Destroy cross-signing keys?": "Të shkatërrohen kyçet cross-signing?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "Fshirja e kyçeve cross-signing është e përhershme. Cilido që keni verifikuar me to, do të shohë një sinjalizim sigurie. Thuajse e sigurt që s’keni pse ta bëni një gjë të tillë, veç në paçi humbur çdo pajisje prej nga mund të bëni cross-sign.",
+ "Clear cross-signing keys": "Spastro kyçe cross-signing",
+ "Verify this session by completing one of the following:": "Verifikoni këtë sesion duke plotësuar një nga sa vijon:",
+ "Scan this unique code": "Skanoni këtë kod unik",
+ "or": "ose",
+ "Compare unique emoji": "Krahasoni emoji unik",
+ "Compare a unique set of emoji if you don't have a camera on either device": "Krahasoni një grup unik emoji-sh, nëse s’keni kamera në njërën nga pajisjet",
+ "Not Trusted": "Jo e Besuar",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) bëri hyrjen në një sesion të ri pa e verifikuar:",
+ "Ask this user to verify their session, or manually verify it below.": "Kërkojini këtij përdoruesi të verifikojë sesionin e vet, ose ta verifikojë më poshtë dorazi.",
+ "Manually Verify": "Verifikoje Dorazi",
+ "Verify by scanning": "Verifikoje me skanim",
+ "The version of Riot": "Versioni i Riot-it",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Nëse po e përdorni Riot-in në një pajisje ku touch-i është mekanizmi parësor për input-e",
+ "Whether you're using Riot as an installed Progressive Web App": "Nëse po e përdorni Riot-in të instaluar si një Aplikacion Web Progresiv",
+ "Your user agent": "Agjenti juaj i përdoruesit",
+ "The information being sent to us to help make Riot better includes:": "Te të dhënat e dërguara te ne për të na ndihmuar ta bëjmë Riot-in më të mirë përfshihen:",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "Sesioni që po provoni të verifikoni, nuk mbulon skanim kodesh QR apo verifikim emoji-sh, çka janë ato që Riot-i mbulon. Provoni me një tjetër klient.",
+ "You declined": "Hodhët poshtë",
+ "%(name)s declined": "%(name)s hodhi poshtë",
+ "accepting …": "po pranohet …",
+ "declining …": "po hidhet poshtë …",
+ "Order rooms by name": "Renditini dhomat sipas emrash",
+ "Show rooms with unread notifications first": "Shfaq së pari dhoma me njoftime të palexuara",
+ "Show shortcuts to recently viewed rooms above the room list": "Shfaq te lista e dhomave shkurtore për te dhoma të para së fundi",
+ "Cancelling…": "Po anulohet…",
+ "Your homeserver does not support cross-signing.": "Shërbyesi juaj Home nuk mbulon cross-signing.",
+ "Homeserver feature support:": "Mbulim veçorish nga shërbyesi Home:",
+ "exists": "ekziston",
+ "Accepting…": "Po pranohet…",
+ "Accepting …": "Po pranohet …",
+ "Declining …": "Po hidhet poshtë …",
+ "Verification Requests": "Kërkesa Verifikimi",
+ "Your account is not secure": "Llogaria juaj s’është e sigurt",
+ "Your password": "Fjalëkalimi juaj",
+ "This session, or the other session": "Ky sesion, ose sesioni tjetër",
+ "The internet connection either session is using": "Lidhja internet që përdor cilido nga dy sesionet",
+ "We recommend you change your password and recovery key in Settings immediately": "Këshillojmë të ndryshoni menjëherë te Rregullimet fjalëkalimin tuaj dhe kyçin e rimarrjeve",
+ "Sign In or Create Account": "Hyni ose Krijoni një Llogari",
+ "Use your account or create a new one to continue.": "Që të vazhdohet, përdorni llogarinë tuaj të përdoruesit ose krijoni një të re.",
+ "Create Account": "Krijoni Llogari",
+ "Displays information about a user": "Shfaq të dhëna rreth një përdoruesi",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "Që të njoftoni një problem sigurie lidhur me Matrix-in, ju lutemi, lexoni Rregulla Tregimi Çështjes Sigurie te Matrix.org.",
+ "Mark all as read": "Vëru të tërave shenjë si të lexuara",
+ "Not currently indexing messages for any room.": "Pa indeksuar aktualisht mesazhe nga ndonjë dhomë.",
+ "Currently indexing: %(currentRoom)s.": "Aktualisht nën indeksim: %(currentRoom)s.",
+ "%(doneRooms)s out of %(totalRooms)s": "%(doneRooms)s nga %(totalRooms)s",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s shtoi adresat alternative %(addresses)s për këtë dhomë.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s shtoi adresën alternative %(addresses)s për këtë dhomë.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s hoqi adresat alternative %(addresses)s për këtë dhomë.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s hoqi adresën alternative %(addresses)s për këtë dhomë.",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s ndryshoi adresat alternative për këtë dhomë.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s ndryshoi adresat kryesore dhe alternative për këtë dhomë.",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s ndryshoi emrin e dhomës nga %(oldRoomName)s në %(newRoomName)s.",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s ndryshoi adresat për këtë dhomë.",
+ "Support adding custom themes": "Mbulim shtimi temash vetjake",
+ "Invalid theme schema.": "Skemë e pavlefshme teme.",
+ "Error downloading theme information.": "Gabim në shkarkim të dhënash teme.",
+ "Theme added!": "Tema u shtua!",
+ "Custom theme URL": "URL teme vetjake",
+ "Add theme": "Shtoni temë",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "Pati një gabim gjatë përditësimit të adresave alternative të dhomës. Mund të mos lejohet nga shërbyesi pse ndodhi një gabim i përkohshëm.",
+ "You don't have permission to delete the alias.": "S’keni leje të fshini aliasin.",
+ "Alternative addresses for this room:": "Adresa alternative për këtë dhomë:",
+ "This room has no alternative addresses": "Kjo dhomë nuk ka adresa alternative",
+ "New address (e.g. #foo:domain)": "Adresë e re (p.sh., #foo:domain)",
+ "Local addresses (unmoderated content)": "Adresa vendore (lëndë e pamoderuar)",
+ "Review Sessions": "Shqyrtoni Sesione",
+ "Local address": "Adresë vendore",
+ "Published Addresses": "Adresa të Publikuara",
+ "Scroll to most recent messages": "Rrëshqit te mesazhet më të freskët",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "Adresat e publikuara mund të përdoren nga cilido në çfarëdo shërbyesi për të hyrë në dhomën tuaj. Që të publikoni një adresë, lypset së pari të caktohet si adresë vendore.",
+ "Other published addresses:": "Adresa të tjera të publikuara:",
+ "No other published addresses yet, add one below": "Ende pa adresa të tjera të publikuara, shtoni një më poshtë",
+ "New published address (e.g. #alias:server)": "Adresë e re e publikuar (p.sh., #alias:server)",
+ "Local Addresses": "Adresa Vendore",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "Caktoni adresa për këtë dhomë, që kështu përdoruesit të gjejnë këtë dhomë përmes shërbyesit tuaj Home (%(localDomain)s)",
+ "Enter a server name": "Jepni një emër shërbyesi",
+ "Looks good": "Duket mirë",
+ "Can't find this server or its room list": "S’gjendet dot ky shërbyes ose lista e dhomave të tij",
+ "All rooms": "Krejt dhomat",
+ "Your server": "Shërbyesi juaj",
+ "Are you sure you want to remove %(serverName)s": "Jeni i sigurt se doni të hiqet %(serverName)s",
+ "Remove server": "Hiqe shërbyesin",
+ "Add a new server": "Shtoni një shërbyes të ri",
+ "Enter the name of a new server you want to explore.": "Jepni emrin e një shërbyesi të ri që doni të eksploroni.",
+ "Server name": "Emër shërbyesi",
+ "Add a new server...": "Shtoni një shërbyes të ri…",
+ "%(networkName)s rooms": "Dhoma %(networkName)s",
+ "Matrix rooms": "Dhoma Matrix",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "Hapni një sesion ekzistues & përdoreni për të verifikuar këtë këtu, duke i akorduar hyrje te mesazhe të fshehtëzuar.",
+ "Waiting…": "Po pritet…",
+ "If you can’t access one, use your recovery key or passphrase.": "Nëse s’hapni dot një, përdorni kyçin ose frazëkalimin tuaj të rimarrjes.",
+ "Reset cross-signing and secret storage": "Rikthe te parazgjedhjet cross-signing dhe depozitën e fshehtë",
+ "Keyboard Shortcuts": "Shkurtore Tastiere",
+ "Matrix": "Matrix",
+ "a new master key signature": "një nënshkrim i ri kyçi të përgjithshëm",
+ "a new cross-signing key signature": "një nënshkrim i ri kyçi cross-signing",
+ "a device cross-signing signature": "një nënshkrim cross-signing pajisjeje",
+ "a key signature": "një nënshkrim kyçi",
+ "Riot encountered an error during upload of:": "Riot-i hasi një gabim gjatë ngarkimit të:",
+ "Upload completed": "Ngarkimi u plotësua",
+ "Cancelled signature upload": "Ngarkim i anuluar nënshkrimi",
+ "Unabled to upload": "S’u arrit të ngarkohej",
+ "Signature upload success": "Sukses ngarkimi nënshkrimi",
+ "Signature upload failed": "Ngarkimi i nënshkrimit dështoi",
+ "Navigation": "Lëvizje",
+ "Calls": "Thirrje",
+ "Room List": "Listë Dhomash",
+ "Autocomplete": "Vetëplotëso",
+ "Alt": "Alt",
+ "Alt Gr": "Alt Gr",
+ "Shift": "Shift",
+ "Ctrl": "Ctrl",
+ "Toggle Bold": "Aktivizo/çaktivizo Të trasha",
+ "Toggle Italics": "Aktivizo/çaktivizo Të pjerrëta",
+ "Toggle Quote": "Aktivizo/çaktivizo Thonjëza",
+ "Toggle Markdown": "Aktivizo/çaktivizo Markdown",
+ "New line": "Rresht i ri",
+ "Navigate recent messages to edit": "Shihni mesazhe së fundi për përpunim",
+ "Jump to start/end of the composer": "Hidhu te fillimi/fundi i hartuesit",
+ "Toggle microphone mute": "Aktivizo/çaktivizon heshtje mikrofoni",
+ "Jump to room search": "Hidhu te kërkim në dhomë",
+ "Navigate up/down in the room list": "Lëvizni sipër/poshtë në listën e dhomave",
+ "Select room from the room list": "Përzgjidhni dhomë prej listës së dhomave",
+ "Collapse room list section": "Tkurre pjesën e listës së dhomave",
+ "Expand room list section": "Zgjeroje pjesën e listës së dhomave",
+ "Clear room list filter field": "Spastro fushën e filtrit të listës së dhomave",
+ "Scroll up/down in the timeline": "Rrëshqitni sipër/poshtë nëpër rrjedhën kohore",
+ "Toggle the top left menu": "Shfaq/fshih menunë e epërme majtas",
+ "Close dialog or context menu": "Mbyllni dialog ose menu konteksti",
+ "Activate selected button": "Aktivizo buton të përzgjedhur",
+ "Toggle this dialog": "Hap/mbyll këtë dialog",
+ "Move autocomplete selection up/down": "Kaloje përzgjedhjen e vetëplotësimit sipër/poshtë",
+ "Cancel autocomplete": "Anulo vetëplotësim",
+ "Page Up": "Page Up",
+ "Page Down": "Page Down",
+ "Esc": "Esc",
+ "Enter": "Enter",
+ "Space": "Space",
+ "End": "End",
+ "Manually Verify by Text": "Verifikojeni Dorazi përmes Teksti",
+ "Interactively verify by Emoji": "Verifikojeni në mënyrë ndërvepruese përmes Emoji-sh",
+ "Secret Storage key format:": "Format kyçesh Depozite të Fshehtë:",
+ "outdated": "e vjetruar",
+ "up to date": "e përditësuar",
+ "Start a conversation with someone using their name, username (like ) or email address.": "Nisni një bisedë me dikë duke përdorur emrin e tij, emrin e përdoruesit për të (bie fjala, ) ose adresë email.",
+ "Confirm by comparing the following with the User Settings in your other session:": "Ripohojeni duke krahasuar sa vijon me Rregullimet e Përdoruesit te sesioni juaj tjetër:",
+ "Confirm this user's session by comparing the following with their User Settings:": "Ripohojeni këtë sesion përdoruesi duke krahasuar sa vijon me Rregullimet e tij të Përdoruesit:",
+ "If they don't match, the security of your communication may be compromised.": "Nëse s’përputhen, siguria e komunikimeve tuaja mund të jetë komprometuar.",
+ "Super": "Super",
+ "Navigate composer history": "Lëvizni nëpër historikun e hartuesit",
+ "Toggle video on/off": "Aktivizoni/çaktivizoni videon",
+ "Previous/next unread room or DM": "Dhoma ose MD i palexuar i mëparshëm/pasues",
+ "Previous/next room or DM": "Dhoma ose MD i mëparshëm/pasues",
+ "Toggle right panel": "Hap/mbyll panelin djathtas"
}
diff --git a/src/i18n/strings/sr.json b/src/i18n/strings/sr.json
index 94e5225d20..e5bd6d6f1a 100644
--- a/src/i18n/strings/sr.json
+++ b/src/i18n/strings/sr.json
@@ -58,10 +58,6 @@
"Moderator": "Модератор",
"Admin": "Админ",
"Start a chat": "Крени са ћаскањем",
- "Who would you like to communicate with?": "Са киме желите да разговарате?",
- "Start Chat": "Ћаскај",
- "Invite new room members": "Позови нове чланове у собу",
- "Send Invites": "Пошаљи позивнице",
"Operation failed": "Радња није успела",
"Failed to invite": "Нисам успео да пошаљем позивницу",
"Failed to invite the following users to the %(roomName)s room:": "Нисам успео да пошаљем позивницу корисницима за собу %(roomName)s:",
@@ -77,7 +73,6 @@
"Room %(roomId)s not visible": "Соба %(roomId)s није видљива",
"Missing user_id in request": "Недостаје user_id у захтеву",
"Call Failed": "Позивање неуспешно",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Постоје непознати уређаји у овој соби: уколико наставите без проверавања, можда ће неко прислушкивати ваш позив.",
"Review Devices": "Испрегледај уређаје",
"Call Anyway": "Ипак позови",
"Answer Anyway": "Ипак одговори",
@@ -93,19 +88,13 @@
"You are now ignoring %(userId)s": "Сада занемарујете корисника %(userId)s",
"Unignored user": "Незанемарени корисник",
"You are no longer ignoring %(userId)s": "Више не занемарујете корисника %(userId)s",
- "Unknown (user, device) pair:": "Непознати пар (корисника, уређаја):",
- "Device already verified!": "Уређај је већ проверен!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "УПОЗОРЕЊЕ: Уређај је већ проверен али се кључеви НЕ ПОДУДАРАЈУ!",
"Verified key": "Проверени кључ",
- "Unrecognised command:": "Непрепозната наредба:",
"Reason": "Разлог",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s је прихватио позивницу за %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s је прихватио позивницу.",
"%(senderName)s requested a VoIP conference.": "%(senderName)s је затражио VoIP конференцију.",
"%(senderName)s invited %(targetName)s.": "%(senderName)s је позвао %(targetName)s.",
"%(senderName)s banned %(targetName)s.": "%(senderName)s је бановао %(targetName)s.",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "УПОЗОРЕЊЕ: ПРОВЕРА КЉУЧА НИЈЕ УСПЕЛА! Кључ потписивања за корисника %(userId)s и уређај %(deviceId)s је „%(fprint)s“ а то се не подудара са достављеним кључем „%(fingerprint)s“. Ово можда значи да се ваши разговори прате!",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Кључ за потписивање који сте доставили се подудара са кључем за потписивање од корисника %(userId)s и уређаја %(deviceId)s. Уређај је означен као проверен.",
"%(senderName)s set their display name to %(displayName)s.": "Корисник %(senderName)s је себи поставио приказно име %(displayName)s.",
"%(senderName)s removed their display name (%(oldDisplayName)s).": "Корисник %(senderName)s је себи уклонио приказно име %(oldDisplayName)s.",
"%(senderName)s removed their profile picture.": "Корисник %(senderName)s је себи уклонио профилну слику.",
@@ -136,7 +125,6 @@
"%(senderName)s made future room history visible to all room members.": "Корисник %(senderName)s је учинио будући историјат собе видљивим свим члановима собе.",
"%(senderName)s made future room history visible to anyone.": "Корисник %(senderName)s је учинио будући историјат собе видљивим свима.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "Корисник %(senderName)s је учинио будући историјат собе непознатим (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "Корисник %(senderName)s је укључио шифровање с краја на крај (алгоритам %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s са %(fromPowerLevel)s на %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "Корисник %(senderName)s је променио ниво моћи од %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "Корисник %(senderName)s је променио закачене поруке у соби.",
@@ -160,8 +148,6 @@
"Enable automatic language detection for syntax highlighting": "Омогући самостално препознавање језика за истицање синтаксе",
"Automatically replace plain text Emoji": "Самостално замени емоџије писане обичним текстом",
"Mirror local video feed": "Копирај довод локалног видеа",
- "Never send encrypted messages to unverified devices from this device": "Никада не шаљи шифроване поруке са овог уређаја ка непровереним уређајима",
- "Never send encrypted messages to unverified devices in this room from this device": "Никада не шаљи шифроване поруке са овог уређаја ка непровереним уређајима у овој соби",
"Enable inline URL previews by default": "Подразумевано омогући претпрегледе адреса унутар линије",
"Enable URL previews for this room (only affects you)": "Омогући претпрегледе адреса у овој соби (утиче само на вас)",
"Enable URL previews by default for participants in this room": "Подразумевано омогући прегледе адреса за чланове ове собе",
@@ -183,7 +169,6 @@
"No display name": "Нема приказног имена",
"New passwords don't match": "Нове лозинке се не подударају",
"Passwords can't be empty": "Лозинке не могу бити празне",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Промена лозинке ће тренутно ресетовати све кључеве за шифровање с краја на крај, на свим уређајима и тиме учинити шифровани историјат ћаскања нечитљивим осим ако прво не извезете кључеве ваше собе па их поново увезете после. Ово ће бити побољшано у будућности.",
"Continue": "Настави",
"Export E2E room keys": "Извези E2E кључеве собе",
"Do you want to set an email address?": "Да ли желите да поставите мејл адресу?",
@@ -192,10 +177,7 @@
"New Password": "Нова лозинка",
"Confirm password": "Потврди лозинку",
"Change Password": "Промени лозинку",
- "Unable to load device list": "Нисам могао да учитам списак уређаја",
"Authentication": "Идентификација",
- "Delete %(count)s devices|other": "Обриши %(count)s уређај(а)",
- "Delete %(count)s devices|one": "Обриши уређај",
"Device ID": "ИБ уређаја",
"Last seen": "Последњи пут виђен",
"Failed to set display name": "Нисам успео да поставим приказно име",
@@ -213,9 +195,6 @@
"%(senderName)s sent a video": "Корисник %(senderName)s је послао видео",
"%(senderName)s uploaded a file": "Корисник %(senderName)s је отпремио датотеку",
"Options": "Опције",
- "Undecryptable": "Немогуће дешифровати",
- "Encrypted by an unverified device": "Шифровано на непровереном уређају",
- "Unencrypted message": "Нешифрована порука",
"Please select the destination room for this message": "Изаберите одредишну собу за ову поруку",
"Blacklisted": "На црном списку",
"device id: ": "иб уређаја: ",
@@ -235,8 +214,6 @@
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "Нећете моћи да опозовете ове промене зато што снижавате себе, ако сте последњи овлашћени корисник у соби, немогуће је да поново добијете овлашћења.",
"Are you sure?": "Да ли сте сигурни?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Нећете моћи да опозовете ову измену јер унапређујете корисника тако да има исти ниво моћи као и ви.",
- "No devices with registered encryption keys": "Нема уређаја са регистрованим кључевима за шифровање",
- "Devices": "Уређаји",
"Unignore": "Не занемаруј више",
"Ignore": "Занемари",
"Jump to read receipt": "Скочи на потврду о прочитаности",
@@ -259,20 +236,14 @@
"Voice call": "Гласовни позив",
"Video call": "Видео позив",
"Upload file": "Отпреми датотеку",
- "Show Text Formatting Toolbar": "Прикажи алатницу за форматирање текста",
"Send an encrypted reply…": "Пошаљи шифровани одговор…",
"Send a reply (unencrypted)…": "Пошаљи одговор (нешифровани)…",
"Send an encrypted message…": "Пошаљи шифровану поруку…",
"Send a message (unencrypted)…": "Пошаљи поруку (нешифровану)…",
"You do not have permission to post to this room": "Немате овлашћење за писање у овој соби",
- "Hide Text Formatting Toolbar": "Сакриј алатницу за форматирање текста",
"Server error": "Грешка на серверу",
"Server unavailable, overloaded, or something else went wrong.": "Сервер није доступан или је преоптерећен или је нешто пошло наопако.",
"Command error": "Грешка у наредби",
- "bold": "подебљано",
- "italic": "искошено",
- "Markdown is disabled": "Маркдаун је искључен",
- "Markdown is enabled": "Маркдаун је укључен",
"Unpin Message": "Откачи поруку",
"Jump to message": "Скочи на поруку",
"No pinned messages.": "Нема закачених порука.",
@@ -307,7 +278,6 @@
"Community Invites": "Позивнице заједнице",
"Invites": "Позивнице",
"Favourites": "Омиљено",
- "People": "Особе",
"Rooms": "Собе",
"Low priority": "Ниска важност",
"Historical": "Историјско",
@@ -342,8 +312,6 @@
"Cancel": "Откажи",
"Jump to first unread message.": "Скочи на прву непрочитану поруку.",
"Close": "Затвори",
- "Invalid alias format": "Неисправан облик алијаса",
- "'%(alias)s' is not a valid format for an alias": "„%(alias)s 1“ није исправан облик алијаса",
"not specified": "није наведено",
"Remote addresses for this room:": "Удаљене адресе за ову собу:",
"Local addresses for this room:": "Локална адреса ове собе:",
@@ -510,20 +478,12 @@
"Unknown error": "Непозната грешка",
"Incorrect password": "Нетачна лозинка",
"Deactivate Account": "Угаси налог",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Да бисте проверили да се овом уређају може веровати, контактирајте власника користећи друге начине (нпр.: лично или преко телефонског позива) и питајте га да ли се кључ који види у корисничким подешавањима подудара са кључем испод:",
- "Device name": "Назив уређаја",
- "Device key": "Кључ уређаја",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Ако се подудара, притисните дугме за потврду провере испод. Ако се не подудара, неко други прислушкује овај уређај и вероватно желите да притиснете дугме за стављање на црни списак.",
- "Verify device": "Провери уређај",
"I verify that the keys match": "Потврђујем да се кључеви подударају",
"An error has occurred.": "Догодила се грешка.",
"OK": "У реду",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Додали сте нови уређај „%(displayName)s“ који захтева кључеве за шифровање.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Ваш непроверени уређај „%(displayName)s“ захтева кључеве за шифровање.",
"Start verification": "Започни проверу",
"Share without verifying": "Подели без провере",
"Ignore request": "Занемари захтев",
- "Loading device info...": "Учитавам податке о уређају...",
"Encryption key request": "Захтев за кључ шифровања",
"Unable to restore session": "Не могу да повратим сесију",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Ако сте претходно користили новије издање Riot-а, ваша сесија може бити некомпатибилна са овим издањем. Затворите овај прозор и вратите се на новије издање.",
@@ -542,11 +502,6 @@
"To get started, please pick a username!": "Да бисте кренули, изаберите корисничко име!",
"This will be your account name on the homeserver, or you can pick a different server.": "Ово ће бити назив вашег налога на кућном серверу, или можете изабрати други сервер.",
"If you already have a Matrix account you can log in instead.": "Ако већ имате Матрикс налог, можете се већ пријавити.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Тренутно убацујете непроверене уређаје на црни списак. Да бисте им слали поруке, морате их проверити.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Предлажемо да прођете кроз поступак провере сваког уређаја да бисте потврдили да они припадају њиховим стварним власницима али можете поново послати поруку без провере, ако то желите.",
- "Room contains unknown devices": "Соба садржи непознате уређаје",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "Соба „%(RoomName)s“ садржи уређаје које нисте видели пре.",
- "Unknown devices": "Непознати уређаји",
"Private Chat": "Приватно ћаскање",
"Public Chat": "Јавно ћаскање",
"Custom": "Прилагођено",
@@ -621,8 +576,6 @@
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "Направите заједницу да бисте спојили кориснике и собе! Направите прилагођену почетну страницу да бисте означили ваш кутак у Матрикс универзуму.",
"You have no visible notifications": "Немате видљивих обавештења",
"Scroll to bottom of page": "Превуци на дно странице",
- "Message not sent due to unknown devices being present": "Порука се неће послати због присутности непознатих уређаја",
- "Show devices, send anyway or cancel.": "Прикажи уређаје, ипак пошаљи или откажи.",
"%(count)s of your messages have not been sent.|other": "Неке ваше поруке нису послате.",
"%(count)s of your messages have not been sent.|one": "Ваша порука није послата.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Пошаљи поново или откажи све сада. Такође можете изабрати појединачне поруке за поновно слање или отказивање.",
@@ -656,13 +609,10 @@
"Sign out": "Одјави ме",
"Failed to change password. Is your password correct?": "Нисам успео да променим лозинку. Да ли је ваша лозинка тачна?",
"Success": "Успех",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Ваша лозинка је успешно промењена. Нећете добијати пуш обавештења на вашим другим уређајима док се поново не пријавите на њима",
"Unable to remove contact information": "Не могу да уклоним контакт податке",
"": "<није подржано>",
"Import E2E room keys": "Увези E2E кључеве собе",
"Cryptography": "Криптографија",
- "Device ID:": "ИБ уређаја:",
- "Device key:": "Кључ уређаја:",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot прикупља анонимне податке о коришћењу да бисмо побољшали апликацију.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Приватност је веома важна нама те не сакупљамо било какве податке личне природе у нашој аналитици.",
"Learn more about how we use analytics.": "Сазнајте више о нашем начину употребе аналитике.",
@@ -685,7 +635,6 @@
"click to reveal": "кликни за приказ",
"Homeserver is": "Кућни сервер је",
"Identity Server is": "Идентитетски сервер је",
- "matrix-react-sdk version:": "matrix-react-sdk издање:",
"riot-web version:": "riot-web издање:",
"olm version:": "olm издање:",
"Failed to send email": "Нисам успео да пошаљем мејл",
@@ -716,7 +665,6 @@
"Kicks user with given id": "Избацује корисника са датим иб-јем",
"Changes your display nickname": "Мења ваш приказни надимак",
"Searches DuckDuckGo for results": "Претражује DuckDuckGo за резултате",
- "Verifies a user, device, and pubkey tuple": "Проверава корисника, уређај и торку јавног кључа",
"Ignores a user, hiding their messages from you": "Занемарује корисника и тиме скрива њихове поруке од вас",
"Stops ignoring a user, showing their messages going forward": "Престаје са занемаривањем корисника и тиме приказује њихове поруке одсад",
"Commands": "Наредбе",
@@ -740,7 +688,6 @@
"Session ID": "ИБ сесије",
"End-to-end encryption information": "Подаци о шифровању с краја на крај",
"Event information": "Подаци о догађају",
- "Sender device information": "Подаци о уређају пошиљаоца",
"Passphrases must match": "Фразе се морају подударати",
"Passphrase must not be empty": "Фразе не смеју бити празне",
"Export room keys": "Извези кључеве собе",
@@ -756,11 +703,7 @@
"Import": "Увези",
"Did you know: you can use communities to filter your Riot.im experience!": "Да ли сте знали: можете користити заједнице за филтрирање вашег Riot.im искуства!",
"Clear filter": "Очисти филтер",
- "Your key share request has been sent - please check your other devices for key share requests.": "Ваш захтев за дељење кључа је послат. Проверите да ли има захтева за дељење кључа на осталим вашим уређајима.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Захтеви за дељење кључа се самостално шаљу на остале ваше уређаје. Ако сте одбили или одбацили захтев за дељење кључа на неком другом вашем уређају, кликните овде да бисте затражили поново кључеве за ову сесију.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Ако остали ваши уређаји немају кључ за ову поруку, нећете моћи да је дешифрујете.",
"Key request sent.": "Захтев за дељење кључа послат.",
- "Re-request encryption keys from your other devices.": "Поново затражи кључеве за шифровање са осталих ваших уређаја.",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "Да бисте поставили филтер, повуците аватар заједнице на површ филтрирања скроз на леву страну екрана. Можете кликнути на аватар у површи филтрирања било када да бисте видели само собе и особе везане за ту заједницу.",
"Fetching third party location failed": "Добављање локације треће стране није успело",
"A new version of Riot is available.": "Ново издање RIot-а је доступно.",
@@ -807,7 +750,6 @@
"Noisy": "Бучно",
"Collecting app version information": "Прикупљам податке о издању апликације",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Обрисати алијас собе %(alias)s и уклонити %(name)s из фасцикле?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Ово ће вам омогућити да се вратите у ваш налог након што се одјавите и пријавите, на другим уређајима.",
"Keywords": "Кључне речи",
"Enable notifications for this account": "Омогући обавештења за овај налог",
"Invite to this community": "Позови у ову заједницу",
@@ -921,8 +863,6 @@
"e.g. %(exampleValue)s": "нпр.: %(exampleValue)s",
"Send analytics data": "Пошаљи аналитичке податке",
"Enable widget screenshots on supported widgets": "Омогући снимке екрана виџета у подржаним виџетима",
- "Unable to reply": "Не могу да одговорим",
- "At this time it is not possible to reply with an emote.": "У овом тренутку није могуће одговорити са емотиконом.",
"Muted Users": "Утишани корисници",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Помозите побољшавање Riot.im програма тако што ћете послати анонимне податке о коришћењу. Ово ће захтевати коришћење колачића (погледајте нашу политику о колачићима).",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie.": "Помозите побољшавање Riot.im програма тако што ћете послати анонимне податке о коришћењу. Ово ће захтевати коришћење колачића.",
@@ -959,8 +899,6 @@
"This event could not be displayed": "Овај догађај не може бити приказан",
"Demote yourself?": "Снизите чин себи?",
"Demote": "Снизите чин",
- "deleted": "обрисано",
- "underlined": "подвучено",
"Whether or not you're logged in (we don't record your username)": "Да ли сте пријављени (не бележимо ваше корисничко име)",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Датотека „%(fileName)s“ премашује ограничење величине отпремања на овом кућном серверу",
"Unable to load! Check your network connectivity and try again.": "Нисам могао да учитам! Проверите вашу мрежну везу и пробајте поново.",
diff --git a/src/i18n/strings/sr_Latn.json b/src/i18n/strings/sr_Latn.json
index a1fc3afafd..810f2a97cf 100644
--- a/src/i18n/strings/sr_Latn.json
+++ b/src/i18n/strings/sr_Latn.json
@@ -58,12 +58,6 @@
"Moderator": "Moderator",
"Admin": "Administrator",
"Start a chat": "Pokreni ćaskanje",
- "Who would you like to communicate with?": "Sa kim bi želeli da komunicirate?",
- "Email, name or Matrix ID": "Adresa elektronske pošte, ime ili Matriks ID",
- "Start Chat": "Započni ćaskanje",
- "Invite new room members": "Pozovi nove članove u sobu",
- "Send Invites": "Poštalji pozivnice",
- "Failed to start chat": "Započinjanje ćaskanja nije uspelo",
"Operation failed": "Operacija nije uspela",
"Failed to invite": "Slanje pozivnice nije uspelo",
"Failed to invite users to the room:": "Nije uspelo pozivanje korisnika u sobu:",
diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json
index 90c03b84f3..e65e4e2099 100644
--- a/src/i18n/strings/sv.json
+++ b/src/i18n/strings/sv.json
@@ -42,7 +42,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s tog bort rummets namn.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s bytte rummets ämne till \"%(topic)s\".",
"Changes your display nickname": "Ändrar ditt visningsnamn",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Om du byter lösenord kommer för tillfället alla krypteringsnycklar på alla enheter att nollställas, vilket gör all krypterad meddelandehistorik omöjligt att läsa, om du inte först exporterar rumsnycklarna och sedan importerar dem efteråt. I framtiden kommer det här att förbättras.",
"Claimed Ed25519 fingerprint key": "Påstådd Ed25519-fingeravtrycksnyckel",
"Click here to fix": "Klicka här för att fixa",
"Click to mute audio": "Klicka för att tysta ljud",
@@ -66,12 +65,8 @@
"Decryption error": "Dekrypteringsfel",
"Deops user with given id": "Degraderar användare med givet id",
"Default": "Standard",
- "Device already verified!": "Enheten är redan verifierad!",
"Device ID": "Enhets-ID",
- "Device ID:": "Enhets-ID:",
"device id: ": "enhets-id: ",
- "Device key:": "Enhetsnyckel:",
- "Devices": "Enheter",
"Direct chats": "Direkt-chattar",
"Disinvite": "Häv inbjudan",
"Displays action": "Visar åtgärd",
@@ -120,7 +115,6 @@
"Disable Notifications": "Slå av aviseringar",
"Drop File Here": "Dra filen hit",
"Enable Notifications": "Aktivera aviseringar",
- "Encrypted by an unverified device": "Krypterat av en overifierad enhet",
"Enter passphrase": "Ange lösenfras",
"Error: Problem communicating with the given homeserver.": "Fel: Det gick inte att kommunicera med den angivna hemservern.",
"Failed to fetch avatar URL": "Det gick inte att hämta avatar-URL",
@@ -134,7 +128,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s från %(fromPowerLevel)s till %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "Gäster kan inte gå med i det här rummet fastän de är uttryckligen inbjudna.",
"Hangup": "Lägg på",
- "Hide Text Formatting Toolbar": "Göm textformatteringsverktygsfältet",
"Historical": "Historiska",
"Home": "Hem",
"Homeserver is": "Hemserver är",
@@ -147,15 +140,12 @@
"Incoming voice call from %(name)s": "Inkommande röstsamtal från %(name)s",
"Incorrect username and/or password.": "Fel användarnamn och/eller lösenord.",
"Incorrect verification code": "Fel verifieringskod",
- "Invalid alias format": "Fel alias-format",
"Invalid Email Address": "Ogiltig epostadress",
"Invalid file%(extra)s": "Felaktig fil%(extra)s",
"%(senderName)s invited %(targetName)s.": "%(senderName)s bjöd in %(targetName)s.",
- "Invite new room members": "Bjud in nya rumsmedlemmar",
"Invited": "Inbjuden",
"Invites": "Inbjudningar",
"Invites user with given id to current room": "Bjuder in användare med givet id till nuvarande rum",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' är inte ett giltigt format för ett alias",
"Sign in with": "Logga in med",
"Join as voice or video.": "Gå med som röst eller video.",
"Join Room": "Gå med i rum",
@@ -177,17 +167,11 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s gjorde framtida rumshistorik synligt för alla rumsmedlemmar.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s gjorde framtida rumshistorik synligt för alla.",
"Manage Integrations": "Hantera integrationer",
- "Markdown is disabled": "Markdown är inaktiverat",
- "Markdown is enabled": "Markdown är aktiverat",
- "matrix-react-sdk version:": "matrix-react-sdk -version:",
- "Message not sent due to unknown devices being present": "Meddelandet skickades inte eftersom det finns okända enheter i rummet",
"Missing room_id in request": "room_id saknas i förfrågan",
"Missing user_id in request": "user_id saknas i förfrågan",
"Moderator": "Moderator",
"Mute": "Tysta",
"Name": "Namn",
- "Never send encrypted messages to unverified devices from this device": "Skicka aldrig krypterade meddelanden till overifierade enheter från den här enheten",
- "Never send encrypted messages to unverified devices in this room from this device": "Skicka aldrig krypterade meddelanden till overifierade enheter i det här rummet från den här enheten",
"New address (e.g. #foo:%(localDomain)s)": "Ny address (t.ex. #foo:%(localDomain)s)",
"New passwords don't match": "De nya lösenorden matchar inte",
"New passwords must match each other.": "De nya lösenorden måste vara de samma.",
@@ -197,7 +181,6 @@
"(not supported by this browser)": "(stöds inte av webbläsaren)",
"": "",
"NOT verified": "INTE verifierad",
- "No devices with registered encryption keys": "Inga enheter med registrerade krypteringsnycklar",
"No display name": "Inget visningsnamn",
"No more results": "Inga fler resultat",
"No results": "Inga resultat",
@@ -208,7 +191,6 @@
"Operation failed": "Handlingen misslyckades",
"Password": "Lösenord",
"Passwords can't be empty": "Lösenorden kan inte vara tomma",
- "People": "Personer",
"Permissions": "Behörigheter",
"Phone": "Telefon",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Öppna meddelandet i din epost och klicka på länken i meddelandet. När du har gjort detta, klicka vidare.",
@@ -234,7 +216,6 @@
"riot-web version:": "riot-web -version:",
"Room %(roomId)s not visible": "Rummet %(roomId)s är inte synligt",
"Room Colour": "Rumsfärg",
- "Room contains unknown devices": "Det finns okända enheter i rummet",
"%(roomName)s does not exist.": "%(roomName)s finns inte.",
"%(roomName)s is not accessible at this time.": "%(roomName)s är inte tillgängligt för tillfället.",
"Rooms": "Rum",
@@ -245,8 +226,6 @@
"Searches DuckDuckGo for results": "Söker efter resultat på DuckDuckGo",
"Seen by %(userName)s at %(dateTime)s": "Sedd av %(userName)s %(dateTime)s",
"Send anyway": "Skicka ändå",
- "Sender device information": "Sändarens enhetsinformation",
- "Send Invites": "Skicka inbjudningar",
"Send Reset Email": "Skicka återställningsmeddelande",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s skickade en bild.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s bjöd in %(targetDisplayName)s med i rummet.",
@@ -258,7 +237,6 @@
"%(senderName)s set a profile picture.": "%(senderName)s satte en profilbild.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s bytte sitt visningnamn till %(displayName)s.",
"Settings": "Inställningar",
- "Show Text Formatting Toolbar": "Visa textformatteringsverktygsfält",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Visa tidsstämplar i 12-timmarsformat (t.ex. 2:30pm)",
"Signed Out": "Loggade ut",
"Sign in": "Logga in",
@@ -267,7 +245,6 @@
"Someone": "Någon",
"Start a chat": "Starta en chatt",
"Start authentication": "Starta autentisering",
- "Start Chat": "Starta en chatt",
"Cancel": "Avbryt",
"Create new room": "Skapa nytt rum",
"Custom Server Options": "Anpassade serverinställningar",
@@ -289,7 +266,6 @@
"Submit": "Lämna in",
"The maximum permitted number of widgets have already been added to this room.": "Den största tillåtna mängden widgetar har redan tillsats till rummet.",
"The phone number entered looks invalid": "Det angivna telefonnumret är ogiltigt",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Signeringsnyckeln du angav matchar signeringsnyckeln som mottogs från enheten %(deviceId)s som tillhör %(userId)s. Enheten är markerad som verifierad.",
"This email address is already in use": "Den här epostadressen används redan",
"This email address was not found": "Den här epostadressen finns inte",
"The email address linked to your account must be entered.": "Epostadressen som är kopplad till ditt konto måste anges.",
@@ -386,7 +362,6 @@
"Files": "Filer",
"Collecting app version information": "Samlar in appversionsinformation",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Radera rumsadressen %(alias)s och ta bort %(name)s från katalogen?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Detta kommer tillåta dig att återgå till ditt konto efter att ha loggat ut, och logga in på andra enheter.",
"Keywords": "Nyckelord",
"Enable notifications for this account": "Aktivera aviseringar för det här kontot",
"Messages containing keywords": "Meddelanden som innehåller nyckelord",
@@ -474,7 +449,6 @@
"You cannot place VoIP calls in this browser.": "Du kan inte ringa VoIP-samtal i den här webbläsaren.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Din epostadress verkar inte vara kopplad till något Matrix-ID på den här hemservern.",
"Restricted": "Begränsad",
- "Who would you like to communicate with?": "Vem vill du kommunicera med?",
"Failed to invite the following users to the %(roomName)s room:": "Det gick inte att bjuda in följande användare till %(roomName)s-rummet:",
"Unable to create widget.": "Det går inte att skapa widget.",
"Ignored user": "Ignorerad användare",
@@ -504,9 +478,6 @@
"Send an encrypted message…": "Skicka ett krypterat meddelande…",
"Send a message (unencrypted)…": "Skicka ett meddelande (okrypterat)…",
"You do not have permission to post to this room": "Du har inte behörighet att posta till detta rum",
- "Unable to reply": "Det gick inte att svara",
- "bold": "fet",
- "italic": "kursiv",
"Loading...": "Laddar...",
"%(duration)ss": "%(duration)s",
"%(duration)sm": "%(duration)sm",
@@ -582,13 +553,9 @@
"Start automatically after system login": "Starta automatiskt vid systeminloggning",
"This will allow you to reset your password and receive notifications.": "Det här låter dig återställa lösenordet och ta emot aviseringar.",
"You have no visible notifications": "Du har inga synliga aviseringar",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Ditt lösenord har ändrats. Du kommer inte att få push-aviseringar på andra enheter förrän du har loggat in på dem igen",
"Failed to upload image": "Det gick inte att ladda upp bild",
"New Password": "Nytt lösenord",
"Do you want to set an email address?": "Vill du ange en epostadress?",
- "Unable to load device list": "Det gick inte att ladda enhetslista",
- "Delete %(count)s devices|other": "Ta bort %(count)s enheter",
- "Delete %(count)s devices|one": "Ta bort enhet",
"Use compact timeline layout": "Använd kompakt tidslinjelayout",
"Not a valid Riot keyfile": "Inte en giltig Riot-nyckelfil",
"Authentication check failed: incorrect password?": "Autentiseringskontroll misslyckades: felaktigt lösenord?",
@@ -604,7 +571,6 @@
"You seem to be uploading files, are you sure you want to quit?": "Du verkar ladda upp filer, är du säker på att du vill avsluta?",
"You seem to be in a call, are you sure you want to quit?": "Du verkar vara i ett samtal, är du säker på att du vill avsluta?",
"Active call": "Aktivt samtal",
- "Show devices, send anyway or cancel.": "Visa enheter, skicka ändå eller avbryt.",
"%(count)s of your messages have not been sent.|one": "Ditt meddelande skickades inte.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "Skicka om alla eller ångra alla nu. Du kan även välja enskilda meddelanden för att skicka om eller ångra.",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Skicka om meddelande eller ångra meddelande nu.",
@@ -627,8 +593,6 @@
"Removed or unknown message type": "Borttagen eller okänd meddelandetyp",
"Message removed by %(userId)s": "Meddelande borttaget av %(userId)s",
"Message removed": "Meddelande borttaget",
- "Unknown devices": "Okända enheter",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" innehåller enheter som du inte har sett tidigare.",
"Delete Widget": "Ta bort widget",
"Deleting a widget removes it for all users in this room. Are you sure you want to delete this widget?": "Widget tas bort för alla användare i rummet. Är du säker på att du vill ta bort den?",
"Minimize apps": "Minimera appar",
@@ -661,7 +625,6 @@
"%(senderName)s sent a video": "%(senderName)s skickade en video",
"%(senderName)s uploaded a file": "%(senderName)s laddade upp en fil",
"Options": "Alternativ",
- "Unencrypted message": "Okrypterat meddelande",
"Replying": "Svarar",
"Kick this user?": "Kicka användaren?",
"This room": "Detta rum",
@@ -681,12 +644,7 @@
"Create": "Skapa",
"Unknown error": "Okänt fel",
"Incorrect password": "Felaktigt lösenord",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "För att verifiera att denna enhet kan litas på, vänligen kontakta ägaren på annat sätt (t ex personligen eller med ett telefonsamtal) och fråga om nyckeln ägaren har i sina användarinställningar för enheten matchar nyckeln nedan:",
- "Device name": "Enhetsnamn",
- "Device key": "Enhetsnyckel",
- "Verify device": "Verifiera enhet",
"I verify that the keys match": "Jag verifierar att nycklarna matchar",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Om det matchar, tryck på verifieringsknappen nedan. Om inte så är det risk att någon annan försöker avlyssna enheten och då vill du förmodligen trycka på svartlistsknappen istället.",
"State Key": "Lägesnyckel",
"Send Account Data": "Skicka kontodata",
"Explore Account Data": "Utforska kontodata",
@@ -694,12 +652,9 @@
"Developer Tools": "Utvecklarverktyg",
"Unverify": "Ta bort verifiering",
"Verify...": "Verifiera...",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Du har lagt till en ny enhet '%(displayName)s', som begär krypteringsnycklar.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Din overifierade enhet '%(displayName)s' begär krypteringsnycklar.",
"Start verification": "Starta verifiering",
"Share without verifying": "Dela utan att verifiera",
"Ignore request": "Ignorera begäran",
- "Loading device info...": "Laddar enhetsinfo...",
"Encryption key request": "Begäran av krypteringsnyckel",
"Clear Storage and Sign Out": "Rensa lagring och logga ut",
"Send Logs": "Skicka loggar",
@@ -708,25 +663,18 @@
"We encountered an error trying to restore your previous session.": "Ett fel uppstod vid återställning av din tidigare session.",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Om du nyligen har använt en senare version av Riot kan din session vara inkompatibel med den här versionen. Stäng det här fönstret och använd senare versionen istället.",
"Clearing your browser's storage may fix the problem, but will sign you out and cause any encrypted chat history to become unreadable.": "Att rensa webbläsarens lagring kan lösa problemet, men då loggas du ut och krypterad chatthistorik blir oläslig.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "För tillfället svartlistar du overifierade enheter. För att skicka meddelanden till dessa enheter måste du verifiera dem.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Vi rekommenderar att du går igenom verifieringsprocessen för varje enhet för att bekräfta att de tillhör sina rätta ägare, men du kan skicka meddelandet utan att verifiera om du föredrar det.",
"Collapse Reply Thread": "Dölj svarstråd",
"Terms and Conditions": "Villkor",
"To continue using the %(homeserverDomain)s homeserver you must review and agree to our terms and conditions.": "För att fortsätta använda hemservern %(homeserverDomain)s måste du granska och godkänna våra villkor.",
"Review terms and conditions": "Granska villkoren",
"Old cryptography data detected": "Gammal krypteringsdata upptäckt",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Det finns okända enheter i rummet: om du fortsätter utan att verifiera dem, är det möjligt att någon kan avlyssna ditt samtal.",
"Unable to capture screen": "Det gick inte att ta skärmdump",
"Failed to add the following rooms to %(groupId)s:": "Det gick inte att lägga till följande rum till %(groupId)s:",
"Missing roomId.": "Rums-ID saknas.",
"This room is not recognised.": "Detta rum känns inte igen.",
"Usage": "Användning",
"Unrecognised room alias:": "Oigenkänt rumsalias:",
- "Unknown (user, device) pair:": "Okänt (användare, enhet) par:",
- "WARNING: Device already verified, but keys do NOT MATCH!": "VARNING: Enhet redan verifierad, men nycklarna MATCHAR INTE!",
"Verified key": "Verifierad nyckel",
- "Unrecognised command:": "Oigenkänt kommando:",
- "Verifies a user, device, and pubkey tuple": "Verifierar en användare, enhet och offentlig nyckel-tupel",
"VoIP conference started.": "VoIP-konferens startad.",
"VoIP conference finished.": "VoIP-konferens avslutad.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s gjorde framtida rumshistorik synligt för okänd (%(visibility)s).",
@@ -745,7 +693,6 @@
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie (please see our Cookie Policy).": "Vänligen hjälp till att förbättra Riot.im genom att skicka anonyma användardata. Detta kommer att använda en cookie (se vår Cookiepolicy).",
"Please help improve Riot.im by sending anonymous usage data. This will use a cookie.": "Vänligen hjälp till att förbättra Riot.im genom att skicka anonyma användardata. Detta kommer att använda en cookie.",
"Yes, I want to help!": "Ja, jag vill hjälpa till!",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s aktiverade totalsträckskryptering (algoritm %(algorithm)s).",
"%(severalUsers)sleft and rejoined %(count)s times|other": "%(severalUsers)slämnade och gick med igen %(count)s gånger",
"%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)slämnade och gick med igen",
"%(oneUser)sleft and rejoined %(count)s times|other": "%(oneUser)slämnade och gick med igen %(count)s gånger",
@@ -863,9 +810,7 @@
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Du kommer inte att kunna ångra den här ändringen eftersom du höjer användaren till samma behörighetsnivå som dig själv.",
"User Options": "Användaralternativ",
"unknown caller": "okänd uppringare",
- "At this time it is not possible to reply with an emote.": "Det är för närvarande inte möjligt att svara med en emoji.",
"To use it, just wait for autocomplete results to load and tab through them.": "För att använda detta, vänta på att autokompletteringen laddas och tabba igenom resultatet.",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "VARNING: NYCKELVERIFIERINGEN MISSLYCKADES! Signeringsnyckeln för %(userId)s och enhet %(deviceId)s är \"%(fprint)s\" som inte matchar den angivna nyckeln \"%(fingerprint)s\". Detta kan betyda att dina kommunikationer avlyssnas!",
"Enable inline URL previews by default": "Aktivera URL-förhandsvisning som standard",
"Enable URL previews for this room (only affects you)": "Aktivera URL-förhandsvisning för detta rum (påverkar bara dig)",
"Enable URL previews by default for participants in this room": "Aktivera URL-förhandsvisning som standard för deltagare i detta rum",
@@ -888,12 +833,7 @@
"Unable to accept invite": "Det gick inte att acceptera inbjudan",
"Leave %(groupName)s?": "Lämna %(groupName)s?",
"Enable widget screenshots on supported widgets": "Aktivera widget-skärmdumpar för widgets som stöder det",
- "Your key share request has been sent - please check your other devices for key share requests.": "Din nyckeldelningsbegäran har skickats - kolla efter nyckeldelningsbegäran på dina andra enheter.",
- "Undecryptable": "Odekrypterbar",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Nyckeldelningsbegäran skickas automatiskt till dina andra enheter. Om du avvisat nyckelbegäran på dina andra enheter, klicka här för att begära nycklarna till den här sessionen igen.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Om dina andra enheter inte har nyckeln till detta meddelande kommer du du att kunna dekryptera det.",
"Key request sent.": "Nyckelbegäran skickad.",
- "Re-request encryption keys from your other devices.": "Begär krypteringsnycklar igen från dina andra enheter.",
"Unban": "Avbanna",
"Unban this user?": "Avbanna användaren?",
"Unmute": "Ta bort dämpning",
@@ -957,12 +897,6 @@
"Permission Required": "Behörighet krävs",
"You do not have permission to start a conference call in this room": "Du har inte behörighet att starta ett konferenssamtal i detta rum",
"This event could not be displayed": "Den här händelsen kunde inte visas",
- "deleted": "borttagen",
- "underlined": "understruken",
- "inline-code": "kod",
- "block-quote": "citat",
- "bulleted-list": "punktlista",
- "numbered-list": "nummerlista",
"In encrypted rooms, like this one, URL previews are disabled by default to ensure that your homeserver (where the previews are generated) cannot gather information about links you see in this room.": "I krypterade rum, som detta, är URL-förhandsvisning inaktiverad som standard för att säkerställa att din hemserver (där förhandsvisningar genereras) inte kan samla information om länkar du ser i rummet.",
"The email field must not be blank.": "Epost-fältet får inte vara tomt.",
"The phone number field must not be blank.": "Telefonnummer-fältet får inte vara tomt.",
@@ -1131,7 +1065,6 @@
"Pencil": "Penna",
"Paperclip": "Gem",
"Scissors": "Sax",
- "Padlock": "Hänglås",
"Key": "Nyckel",
"Hammer": "Hammare",
"Telephone": "Telefon",
@@ -1156,7 +1089,6 @@
"Verification code": "Verifieringskod",
"Phone Number": "Telefonnummer",
"Profile picture": "Profilbild",
- "Upload profile picture": "Ladda upp profilbild",
"Display Name": "Visningsnamn",
"Set a new account password...": "Ange ett nytt lösenord för kontot...",
"Email addresses": "Epostadresser",
@@ -1261,16 +1193,10 @@
"Encryption": "Kryptering",
"Once enabled, encryption cannot be disabled.": "Efter aktivering kan kryptering inte inaktiveras igen.",
"Encrypted": "Krypterat",
- "Some devices for this user are not trusted": "Vissa enheter för den här användaren är inte betrodda",
- "Some devices in this encrypted room are not trusted": "Vissa enheter i det här krypterade rummet är inte betrodda",
- "All devices for this user are trusted": "Alla enheter för den här användaren är betrodda",
- "All devices in this encrypted room are trusted": "Alla enheter i det här krypterade rummet är betrodda",
"Not now": "Inte nu",
"Don't ask me again": "Fråga mig inte igen",
"Error updating main address": "Fel vid uppdatering av huvudadress",
"Room avatar": "Rumsavatar",
- "Upload room avatar": "Ladda upp rumsavatar",
- "No room avatar": "Ingen rumsavatar",
"Room Name": "Rumsnamn",
"Room Topic": "Rumsämne",
"The following users may not exist": "Följande användare kanske inte existerar",
@@ -1289,8 +1215,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "Verifiera den här användaren genom att bekräfta följande emoji visas på deras skärm.",
"Verify this user by confirming the following number appears on their screen.": "Verifiera den här användaren genom att bekräfta att följande nummer visas på deras skärm.",
"Unable to find a supported verification method.": "Det går inte att hitta en verifieringsmetod som stöds.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "För maximal säkerhet rekommenderar vi att du gör det personligen eller använder ett annat betrott kommunikationsmedel.",
- "Your homeserver does not support device management.": "Din hemserver stöder inte enhetshantering.",
"Delete Backup": "Ta bort säkerhetskopia",
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Är du säker? Du kommer att förlora dina krypterade meddelanden om dina nycklar inte säkerhetskopieras ordentligt.",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Krypterade meddelanden är säkrade med totalsträckskryptering. Bara du och mottagaren/na har nycklarna för att läsa dessa meddelanden.",
@@ -1323,15 +1247,10 @@
"Unable to load backup status": "Det går inte att ladda backupstatus",
"Guest": "Gäst",
"Could not load user profile": "Kunde inte ladda användarprofil",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Om du ändrar ditt lösenord återställs eventuella krypteringsnycklar på alla dina enheter, vilket gör att krypterad chatthistorik inte kan läsas. Aktivera nyckelsäkerhetskopiering eller exportera dina rumsnycklar från en annan enhet innan du återställer ditt lösenord.",
"Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "Om du använder 'breadcrumbs' eller inte (avatarer ovanför rumslistan)",
"Replying With Files": "Svarar med filer",
"At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Just nu är det inte möjligt att svara med en fil. Vill du ladda upp filen utan att svara?",
"The file '%(fileName)s' failed to upload.": "Filen '%(fileName)s' kunde inte laddas upp.",
- "Room upgrade confirmation": "Bekräfta rumsuppgradering",
- "Upgrading a room can be destructive and isn't always necessary.": "Uppgradering av ett rum kan vara destruktivt och är inte alltid nödvändigt.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Rumsuppgraderingar rekommenderas vanligtvis när en rumversion anses vara instabil. Instabila rumsversioner kan ha fel, sakna funktioner eller ha säkerhetsproblem.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Rumuppgraderingar påverkar vanligtvis bara bearbetningen av rummet på serversidan. Om du har problem med din Riot-klient, vänligen anmäl ett ärende på .",
"Composer": "Meddelandefält",
"Key backup": "Nyckelsäkerhetskopiering",
"Never lose encrypted messages": "Förlora aldrig krypterade meddelanden",
@@ -1377,13 +1296,11 @@
"Cancel All": "Avbryt alla",
"Upload Error": "Uppladdningsfel",
"Name or Matrix ID": "Namn eller Martix-ID",
- "Email, name or Matrix ID": "Email, namn, eller Matrix-ID",
"Your Riot is misconfigured": "Riot är felkonfigurerat",
"Call failed due to misconfigured server": "Anrop misslyckades på grund av felkonfigurerad server",
"Try using turn.matrix.org": "Prova att använda turn.matrix.org",
"A conference call could not be started because the integrations server is not available": "Ett konferenssamtal kunde inte startas eftersom integrationsservern inte är tillgänglig",
"The server does not support the room version specified.": "Servern stöder inte den angivna rumsversionen.",
- "Failed to start chat": "Det gick inte att starta chatten",
"Messages": "Meddelanden",
"Actions": "Åtgärder",
"Sends a message as plain text, without interpreting it as markdown": "Skickar ett meddelande som vanlig text, utan att tolka det som markdown",
@@ -1440,7 +1357,6 @@
"Discovery": "Upptäckt",
"Deactivate account": "Inaktivera konto",
"Always show the window menu bar": "Visa alltid fönstermenyn",
- "A device's public name is visible to people you communicate with": "En enhets offentliga namn är synligt för personer du kommunicerar med",
"this room": "detta rum",
"View older messages in %(roomName)s.": "Visa äldre meddelanden i %(roomName)s.",
"Uploaded sound": "Uppladdat ljud",
@@ -1478,8 +1394,6 @@
"Sign Up": "Registrera dig",
"Sign In": "Logga in",
"Prompt before sending invites to potentially invalid matrix IDs": "Fråga innan inbjudningar skickas till potentiellt ogiltiga matrix-IDn",
- "Enable desktop notifications for this device": "Aktivera skrivbordsaviseringar för denna enhet",
- "Enable audible notifications for this device": "Aktivera ljudaviseringar för denna enhet",
"Show all": "Visa alla",
"reacted with %(shortName)s": "reagerade med %(shortName)s",
"Edited at %(date)s. Click to view edits.": "Ändrad %(date)s. Klicka för att visa ändringar.",
@@ -1495,7 +1409,6 @@
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Be administratören för din hemserver (%(homeserverDomain)s) att konfigurera en TURN-server för att samtal ska fungera pålitligt.",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Alternativt kan du testa att använda den offentliga servern turn.matrix.org, men det är inte lika pålitligt och det kommer att dela din IP-adress med den servern. Du kan också hantera detta under Inställningar.",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Varning: Uppgradering av ett rum flyttar inte automatiskt rumsmedlemmar till den nya versionen av rummet. Vi lägger ut en länk till det nya rummet i den gamla versionen av rummet - rumsmedlemmar måste klicka på den här länken för att gå med i det nya rummet.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Bekräfta att du vill gå vidare med att uppgradera detta rum från till .",
"Changes the avatar of the current room": "Ändrar avataren i det aktuella rummet",
"Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "Använd en identitetsserver för att bjuda in via epost. Klicka på Fortsätt för att använda standardidentitetsservern (%(defaultIdentityServerName)s) eller hantera det i Inställningar.",
"Use an identity server to invite by email. Manage in Settings.": "Använd en identitetsserver för att bjuda in via epost. Hantera det i inställningar.",
@@ -1504,13 +1417,8 @@
"Allow fallback call assist server turn.matrix.org when your homeserver does not offer one (your IP address would be shared during a call)": "Tillåt samtalsserver turn.matrix.org som reserv när din hemserver inte erbjuder en (din IP-adress delades under ett samtal)",
"Unable to load key backup status": "Det går inte att ladda status för nyckelsäkerhetskopiering",
"Restore from Backup": "Återställ från säkerhetskopiering",
- "This device is backing up your keys. ": "Den här enheten säkerhetskopierar dina nycklar. ",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Den här enheten säkerhetskopierar inte dina nycklar, men du har en befintlig säkerhetskopia som du kan återställa från och lägga till i framöver.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Anslut denna enhet till säkerhetskopiering innan du loggar ut för att undvika att förlora några nycklar som kanske bara finns på den här enheten.",
- "Connect this device to Key Backup": "Anslut den här enheten till nyckelsäkerhetskopiering",
"Backing up %(sessionsRemaining)s keys...": "Säkerhetskopierar %(sessionsRemaining)s nycklar...",
"All keys backed up": "Alla nycklar säkerhetskopierade",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "Säkerhetskopian har en signatur från okänd enhet med ID %(deviceId)s.",
"Add Email Address": "Lägg till e-postadress",
"Add Phone Number": "Lägg till telefonnummer",
"Identity server has no terms of service": "Identitetsserver har inga användarvillkor",
@@ -1518,7 +1426,6 @@
"Trust": "Förtroende",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Try out new ways to ignore people (experimental)": "Testa nya sätt att ignorera personer (experimentalt)",
- "Use the new, faster, composer for writing messages": "Använd den nya, snabbare kompositören för att skriva meddelanden",
"Show previews/thumbnails for images": "Visa förhandsvisning/tumnagel för bilder",
"Send cross-signing keys to homeserver": "Skicka korssigneringsnycklar till hemserver",
"Custom (%(level)s)": "Anpassad (%(level)s)",
@@ -1533,7 +1440,6 @@
"%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s tog bort regeln som bannar servrar som matchar %(glob)s",
"Match system theme": "Matcha systemtema",
"Decline (%(counter)s)": "Avvisa (%(counter)s)",
- "on device": "på enhet",
"not found": "hittades inte",
"Connecting to integration manager...": "Ansluter till integrationshanterare...",
"Cannot connect to integration manager": "Det går inte att ansluta till integrationshanterare",
@@ -1623,9 +1529,7 @@
"Suggestions": "Förslag",
"Show more": "Visa mer",
"Direct Messages": "Direktmeddelanden",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Om det är någon du inte kan hitta, be dem om sitt användarnamn eller dela ditt användarnamn (%(userId)s) eller profillänk.",
"Go": "Gå",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Verifiering av den här användaren kommer att markera deras enhet som betrodd, men även markera din enhet som den är betrodd för dem.",
"Waiting for partner to confirm...": "Väntar på att kompanjon ska bekräfta...",
"Incoming Verification Request": "Inkommande verifieringsbegäran",
"Integrations are disabled": "Integrationer är inaktiverade",
@@ -1636,8 +1540,6 @@
"Message edits": "Meddelandedigeringar",
"Preview": "Förhandsvisa",
"The message you are trying to send is too large.": "Meddelandet du försöker skicka är för stort.",
- "New DM invite dialog (under development)": "Ny inbjudningsdialog för direktmeddelanden (under utveckling)",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "Aktivera korssignering för att verifiera per användare istället för per enhet (under utveckling)",
"Find others by phone or email": "Hitta andra via telefon eller epost",
"Be found by phone or email": "Bli hittad via telefon eller e-post",
"Terms of Service": "Användarvillkor",
diff --git a/src/i18n/strings/ta.json b/src/i18n/strings/ta.json
index a1c9cca93c..9bc5ccbfaf 100644
--- a/src/i18n/strings/ta.json
+++ b/src/i18n/strings/ta.json
@@ -151,7 +151,6 @@
"The information being sent to us to help make Riot.im better includes:": "Riot.im ஐ சிறப்பாகச் செய்ய எங்களுக்கு அனுப்பப்படும் தகவல்களில் பின்வருவன அடங்கும்:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "இந்த பக்கம் ஒரு அறை, பயனர் அல்லது குழு ஐடி போன்ற அடையாளம் காணக்கூடிய தகவல்களை உள்ளடக்கியது, அந்த தரவு சேவையகத்திற்கு அனுப்பப்படுவதற்கு முன்பு அகற்றப்படும்.",
"Call Failed": "அழைப்பு தோல்வியுற்றது",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "இந்த அறையில் அறியப்படாத சாதனங்கள் உள்ளன: அவற்றைச் சரிபார்க்காமல் தொடர்ந்தால், உங்கள் அழைப்பில் யாராவது செவிமடுப்பது சாத்தியமாகும்.",
"Review Devices": "சாதனங்களை மதிப்பாய்வு செய்யவும்",
"Call Anyway": "எப்படியும் அழைக்கவும்",
"Answer Anyway": "எப்படியும் பதில் சொல்லுங்கள்",
diff --git a/src/i18n/strings/te.json b/src/i18n/strings/te.json
index dfd5a5b1f4..c5afde7e24 100644
--- a/src/i18n/strings/te.json
+++ b/src/i18n/strings/te.json
@@ -47,7 +47,6 @@
"You cannot place VoIP calls in this browser.": "మీరు ఈ బ్రౌజర్లో కాల్లను చేయలేరు.",
"You have no visible notifications": "మీకు కనిపించే నోటిఫికేషన్లు లేవు",
"You need to be able to invite users to do that.": "మీరు దీన్ని చేయడానికి వినియోగదారులను ఆహ్వానించగలరు.",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "పాస్ వర్డ్ మార్చడం వల్ల ప్రస్తుతం అన్ని పరికరాల్లో ఏదైనా ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ కీలను రీసెట్ చేస్తుంది, ఎన్క్రిప్టెడ్ చాట్ చరిత్రను చదవటానికి వీలెకుండ చెస్తుంది, మీరు మొదట మీ గది కీలను ఎగుమతి చేసి, తర్వాత వాటిని తిరిగి దిగుమతి చేసుకోకపోతే. భవిష్యత్తులో ఇది మెరుగవుతుంది.",
"Claimed Ed25519 fingerprint key": "ఎడ్25519 వేలిముద్ర కీ ని పేర్కొన్నారు",
"Click here to fix": "పరిష్కరించడానికి ఇక్కడ క్లిక్ చేయండి",
"Click to mute audio": "ఆడియోను మ్యూట్ చేయడానికి క్లిక్ చేయండి",
@@ -73,8 +72,6 @@
"Decryption error": "గుప్తలేఖన లోపం",
"Deops user with given id": "ఇచ్చిన ID తో వినియోగదారుని విడదీస్తుంది",
"Default": "డిఫాల్ట్",
- "Device already verified!": "పరికరం ఇప్పటికే ధృవీకరించబడింది!",
- "Devices": "పరికరాలు",
"Sun": "ఆదివారం",
"Mon": "సోమవారం",
"Tue": "మంగళవారం",
@@ -84,8 +81,6 @@
"Sat": "శనివారం",
"Jan": "జనవరి",
"Feb": "ఫిబ్రవరి",
- "Markdown is disabled": "మార్క్డౌన్ నిలిపివేయబడింది",
- "Markdown is enabled": "మార్క్డౌన్ ప్రారంభించబడింది",
"Mar": "మార్చి",
"Apr": "ఏప్రిల్",
"Server may be unavailable, overloaded, or search timed out :(": "సర్వర్ అందుబాటులో లేకపోవచ్చు, ఓవర్లోడ్ లేదా శోధన సమయం ముగిసి ఉండవచ్చు :(",
@@ -111,8 +106,6 @@
"Connectivity to the server has been lost.": "సెర్వెర్ కనెక్టివిటీని కోల్పోయారు.",
"Sent messages will be stored until your connection has returned.": "మీ కనెక్షన్ తిరిగి వచ్చే వరకు పంపిన సందేశాలు నిల్వ చేయబడతాయి.",
"Cancel": "రద్దు",
- "bold": "బోల్డ్",
- "italic": "ఇటాలిక్",
"Failed to forget room %(errCode)s": "గది మర్చిపోవడం విఫలమైంది %(errCode)s",
"Incorrect verification code": "ధృవీకరణ కోడ్ సరిగా లెదు",
"unknown error code": "తెలియని కోడ్ లోపం",
diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json
index 7cc6214592..333beca311 100644
--- a/src/i18n/strings/th.json
+++ b/src/i18n/strings/th.json
@@ -13,15 +13,12 @@
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s เปลี่ยนหัวข้อเป็น \"%(topic)s\"",
"Decrypt %(text)s": "ถอดรหัส %(text)s",
"Device ID": "ID อุปกรณ์",
- "Device ID:": "ID อุปกรณ์:",
"device id: ": "id อุปกรณ์: ",
- "Devices": "อุปกรณ์",
"Download %(text)s": "ดาวน์โหลด %(text)s",
"Emoji": "อีโมจิ",
"Error": "ข้อผิดพลาด",
"Kick": "เตะ",
"Low priority": "ความสำคัญต่ำ",
- "matrix-react-sdk version:": "เวอร์ชัน matrix-react-sdk:",
"Name": "ชื่อ",
"OK": "ตกลง",
"Password": "รหัสผ่าน",
@@ -88,8 +85,6 @@
"/ddg is not a command": "/ddg ไม่ใช่คำสั่ง",
"Deactivate Account": "ปิดการใช้งานบัญชี",
"Decryption error": "การถอดรหัสผิดพลาด",
- "Device already verified!": "ยืนยันอุปกรณ์แล้ว!",
- "Device key:": "Key อุปกรณ์:",
"Direct chats": "แชทตรง",
"Disinvite": "ถอนคำเชิญ",
"Ed25519 fingerprint": "ลายนิ้วมือ Ed25519",
@@ -124,15 +119,12 @@
"Import": "นำเข้า",
"Incorrect username and/or password.": "ชื่อผู้ใช้และ/หรือรหัสผ่านไม่ถูกต้อง",
"Incorrect verification code": "รหัสยืนยันไม่ถูกต้อง",
- "Invalid alias format": "รูปแบบนามแฝงไม่ถูกต้อง",
"Invalid Email Address": "ที่อยู่อีเมลไม่ถูกต้อง",
"Invalid file%(extra)s": "ไฟล์ %(extra)s ไม่ถูกต้อง",
"%(senderName)s invited %(targetName)s.": "%(senderName)s เชิญ %(targetName)s แล้ว",
- "Invite new room members": "เชิญสมาชิกใหม่",
"Invited": "เชิญแล้ว",
"Invites": "คำเชิญ",
"Invites user with given id to current room": "เชิญผู้ใช้ พร้อม id ของห้องปัจจุบัน",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ไม่ใช่รูปแบบที่ถูกต้องสำหรับนามแฝง",
"Sign in with": "เข้าสู่ระบบด้วย",
"Join Room": "เข้าร่วมห้อง",
"%(targetName)s joined the room.": "%(targetName)s เข้าร่วมห้องแล้ว",
@@ -142,8 +134,6 @@
"Leave room": "ออกจากห้อง",
"%(targetName)s left the room.": "%(targetName)s ออกจากห้องแล้ว",
"Logout": "ออกจากระบบ",
- "Markdown is disabled": "ปิดใช้งาน Markdown แล้ว",
- "Markdown is enabled": "เปิดใช้งาน Markdown แล้ว",
"Missing user_id in request": "ไม่พบ user_id ในคำขอ",
"Moderator": "ผู้ช่วยดูแล",
"New address (e.g. #foo:%(localDomain)s)": "ที่อยู่ใหม่ (เช่น #foo:%(localDomain)s)",
@@ -157,7 +147,6 @@
"No more results": "ไม่มีผลลัพธ์อื่น",
"No results": "ไม่มีผลลัพธ์",
"Passwords can't be empty": "รหัสผ่านต้องไม่ว่าง",
- "People": "บุคคล",
"Permissions": "สิทธิ์",
"Phone": "โทรศัพท์",
"Please check your email and click on the link it contains. Once this is done, click continue.": "กรุณาเช็คอีเมลและคลิกลิงก์ข้างใน หลังจากนั้น คลิกดำเนินการต่อ",
@@ -176,7 +165,6 @@
"Scroll to bottom of page": "เลื่อนลงไปล่างสุด",
"Search failed": "การค้นหาล้มเหลว",
"Searches DuckDuckGo for results": "ค้นหาบน DuckDuckGo",
- "Send Invites": "ส่งคำเชิญ",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s ได้ส่งรูป",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s ได้ส่งคำเชิญให้ %(targetDisplayName)s เข้าร่วมห้อง",
"Server error": "เซิร์ฟเวอร์ผิดพลาด",
@@ -192,7 +180,6 @@
"Always show message timestamps": "แสดงเวลาในแชทเสมอ",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "แสดงเวลาในแชทในรูปแบบ 12 ชั่วโมง (เช่น 2:30pm)",
"Start a chat": "เริ่มแชท",
- "Start Chat": "เริ่มแชท",
"Submit": "ส่ง",
"Success": "สำเร็จ",
"This email address is already in use": "ที่อยู่อีเมลถูกใช้แล้ว",
@@ -209,19 +196,15 @@
"Import E2E room keys": "นำเข้ากุญแจถอดรหัส E2E",
"The phone number entered looks invalid": "ดูเหมือนว่าหมายเลขโทรศัพท์ที่กรอกรมาไม่ถูกต้อง",
"The email address linked to your account must be entered.": "กรุณากรอกที่อยู่อีเมลที่เชื่อมกับบัญชีของคุณ",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ได้เปิดใช้งานการเข้ารหัสจากปลายทางถึงปลายทาง (อัลกอริทึม%(algorithm)s).",
"Unable to add email address": "ไมาสามารถเพิ่มที่อยู่อีเมล",
"Unable to verify email address.": "ไม่สามารถยืนยันที่อยู่อีเมล",
"Unban": "ปลดแบน",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s ปลดแบน %(targetName)s แล้ว",
"Unable to capture screen": "ไม่สามารถจับภาพหน้าจอ",
"Unable to enable Notifications": "ไม่สามารถเปิดใช้งานการแจ้งเตือน",
- "Unable to load device list": "ไม่สามารถโหลดรายชื่ออุปกรณ์",
"unencrypted": "ยังไม่ได้เข้ารหัส",
"unknown device": "อุปกรณ์ที่ไม่รู้จัก",
"Unknown room %(roomId)s": "ห้องที่ไม่รู้จัก %(roomId)s",
- "Unknown (user, device) pair:": "คู่ (ผู้ใช้, อุปกรณ์) ที่ไม่รู้จัก:",
- "Unrecognised command:": "คำสั่งที่ไม่รู้จัก:",
"Unrecognised room alias:": "นามแฝงห้องที่ไม่รู้จัก:",
"Uploading %(filename)s and %(count)s others|zero": "กำลังอัปโหลด %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "กำลังอัปโหลด %(filename)s และอีก %(count)s ไฟล์",
@@ -233,12 +216,10 @@
"Warning!": "คำเตือน!",
"Who can access this room?": "ใครสามารถเข้าถึงห้องนี้ได้?",
"Who can read history?": "ใครสามารถอ่านประวัติแชทได้?",
- "Who would you like to communicate with?": "คุณต้องการคุยกับใคร?",
"You have disabled URL previews by default.": "ค่าเริ่มต้นของคุณปิดใช้งานตัวอย่าง URL เอาไว้",
"You have enabled URL previews by default.": "ค่าเริ่มต้นของคุณเปิดใช้งานตัวอย่าง URL เอาไว้",
"You must register to use this functionality": "คุณต้องลงทะเบียนเพื่อใช้ฟังก์ชันนี้",
"You need to be logged in.": "คุณต้องเข้าสู่ระบบก่อน",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "การเปลี่ยนรหัสผ่านเสร็จสมบูณณ์ คุณจะไม่ได้รับการแจ้งเตือนบนอุปกรณ์อื่น ๆ จนกว่าคุณจะกลับเข้าสู่ระบบในอุปกรณ์เหล่านั้น",
"Sun": "อา.",
"Mon": "จ.",
"Tue": "อ.",
@@ -264,8 +245,6 @@
"Set a display name:": "ตั้งชื่อที่แสดง:",
"Make Moderator": "เลื่อนขั้นเป็นผู้ช่วยดูแล",
"Room": "ห้อง",
- "bold": "หนา",
- "italic": "เอียง",
"New Password": "รหัสผ่านใหม่",
"Options": "ตัวเลือก",
"Export room keys": "ส่งออกกุณแจห้อง",
@@ -277,9 +256,6 @@
"Confirm Removal": "ยืนยันการลบ",
"Unknown error": "ข้อผิดพลาดที่ไม่รู้จัก",
"Incorrect password": "รหัสผ่านไม่ถูกต้อง",
- "Device name": "ชื่ออุปกรณ์",
- "Device key": "Key อุปกรณ์",
- "Unknown devices": "อุปกรณ์ที่ไม่รู้จัก",
"Unknown Address": "ที่อยู่ที่ไม่รู้จัก",
"Unblacklist": "ถอดบัญชีดำ",
"Blacklist": "ขึ้นบัญชีดำ",
@@ -311,8 +287,6 @@
"%(roomName)s does not exist.": "ไม่มีห้อง %(roomName)s อยู่จริง",
"Enter passphrase": "กรอกรหัสผ่าน",
"Seen by %(userName)s at %(dateTime)s": "%(userName)s เห็นแล้วเมื่อเวลา %(dateTime)s",
- "Undecryptable": "ไม่สามารถถอดรหัสได้",
- "Unencrypted message": "ข้อความไม่ได้เข้ารหัส",
"unknown caller": "ไม่ทราบผู้โทร",
"Upload new:": "อัปโหลดใหม่:",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (ระดับอำนาจ %(powerLevelNumber)s)",
@@ -377,7 +351,6 @@
"Noisy": "เสียงดัง",
"Collecting app version information": "กำลังรวบรวมข้อมูลเวอร์ชันแอป",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "ลบนามแฝง %(alias)s ของห้องและถอด %(name)s ออกจากไดเรกทอรี?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "เพื่อคุณจะได้กลับมายังบัญชีเดิมของคุณได้ หลังจากออกจากระบบ แล้วกลับเข้าสู่ระบบในอุปกรณ์อื่น ๆ",
"Enable notifications for this account": "เปิดใช้งานการแจ้งเตือนสำหรับบัญชีนี้",
"Messages containing keywords": "ข้อความที่มีคีย์เวิร์ด",
"View Source": "ดูซอร์ส",
diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json
index 659c973d35..7b5a0ac3ec 100644
--- a/src/i18n/strings/tr.json
+++ b/src/i18n/strings/tr.json
@@ -8,7 +8,7 @@
"Add": "Ekle",
"Add a topic": "Bir konu(topic) ekle",
"Admin": "Admin",
- "Admin Tools": "Admin araçları",
+ "Admin Tools": "Admin Araçları",
"No Microphones detected": "Hiçbir Mikrofon bulunamadı",
"No Webcams detected": "Hiçbir Web kamerası bulunamadı",
"No media permissions": "Medya izinleri yok",
@@ -50,7 +50,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s oda adını kaldırdı.",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s konuyu \"%(topic)s\" olarak değiştirdi.",
"Changes your display nickname": "Görünen takma adınızı değiştirir",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Şifre değiştirme eğer oda anahtarlarınızı dışa aktarmaz ve daha sonra tekrar içe aktarmazsanız , şu anda tüm cihazlarda uçtan uca şifreleme anahtarlarını sıfırlayacak ve geçmişi okunamaz hale getirecek . Gelecekte bu geliştirilecek.",
"Claimed Ed25519 fingerprint key": "Ed25519 parmak izi anahtarı istendi",
"Click here to fix": "Düzeltmek için buraya tıklayın",
"Click to mute audio": "Sesi kapatmak için tıklayın",
@@ -77,16 +76,12 @@
"Decryption error": "Şifre çözme hatası",
"Deops user with given id": "ID'leriyle birlikte , düşürülmüş kullanıcılar",
"Default": "Varsayılan",
- "Device already verified!": "Cihaz zaten doğrulandı!",
"Device ID": "Cihaz ID",
- "Device ID:": "Cihaz ID:",
"device id: ": "cihaz id: ",
- "Device key:": "Cihaz anahtarı:",
- "Devices": "Cihazlar",
"Direct chats": "Doğrudan Sohbetler",
"Disable Notifications": "Bildirimleri Devre Dışı Bırak",
"Disinvite": "Daveti İptal Et",
- "Displays action": "Görünür eylem",
+ "Displays action": "Eylemi görüntüler",
"Download %(text)s": "%(text)s metnini indir",
"Drop File Here": "Dosyayı Buraya Bırak",
"Ed25519 fingerprint": "Ed25519 parmak izi",
@@ -94,7 +89,6 @@
"Email address": "E-posta Adresi",
"Emoji": "Emoji (Karakter)",
"Enable Notifications": "Bildirimleri Etkinleştir",
- "Encrypted by an unverified device": "Doğrulanmamış bir cihaz tarafından şifrelendi",
"%(senderName)s ended the call.": "%(senderName)s çağrıyı bitirdi.",
"End-to-end encryption information": "Uçtan-uca şifreleme bilgileri",
"Enter passphrase": "Şifre deyimi Girin",
@@ -106,7 +100,7 @@
"Export": "Dışa Aktar",
"Export E2E room keys": "Uçtan uca Oda anahtarlarını Dışa Aktar",
"Failed to ban user": "Kullanıcı yasaklama(Ban) başarısız",
- "Failed to change password. Is your password correct?": "Şifreniz değiştirilemedi . Şifreniz doğru mu ?",
+ "Failed to change password. Is your password correct?": "Parola değiştirilemedi . Şifreniz doğru mu ?",
"Failed to change power level": "Güç seviyesini değiştirme başarısız oldu",
"Failed to fetch avatar URL": "Avatar URL'i alınamadı",
"Failed to forget room %(errCode)s": "Oda unutulması başarısız oldu %(errCode)s",
@@ -123,7 +117,7 @@
"Failed to toggle moderator status": "Moderatör durumunu değiştirmek başarısız oldu",
"Failed to unban": "Yasağı kaldırmak başarısız oldu",
"Failed to upload profile picture!": "Profil resmi yükleme başarısız oldu!",
- "Failed to verify email address: make sure you clicked the link in the email": "E-posta adresini doğrulama başarısız : e-postadaki bağlantıya tıkladığınızdan emin olun",
+ "Failed to verify email address: make sure you clicked the link in the email": "Eposta adresini doğrulamadı: epostadaki bağlantıya tıkladığınızdan emin olun",
"Failure to create room": "Oda oluşturulamadı",
"Favourite": "Favori",
"Favourites": "Favoriler",
@@ -134,7 +128,6 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s %(fromPowerLevel)s den %(toPowerLevel)s ' ye",
"Guests cannot join this room even if explicitly invited.": "Misafirler açıkca davet edilseler bile bu odaya katılamazlar.",
"Hangup": "Sorun",
- "Hide Text Formatting Toolbar": "Metin Biçimlendirme Araç Çubuğunu Gizle",
"Historical": "Tarihi",
"Home": "Ev",
"Homeserver is": "Ana Sunucusu",
@@ -147,15 +140,12 @@
"Incoming voice call from %(name)s": "%(name)s ' den gelen sesli arama",
"Incorrect username and/or password.": "Yanlış kullanıcı adı ve / veya şifre.",
"Incorrect verification code": "Yanlış doğrulama kodu",
- "Invalid alias format": "Geçersiz Takma Ad(nickname) Formatı",
"Invalid Email Address": "Geçersiz E-posta Adresi",
"Invalid file%(extra)s": "Geçersiz dosya %(extra)s'ı",
"%(senderName)s invited %(targetName)s.": "%(senderName)s %(targetName)s ' ı davet etti.",
- "Invite new room members": "Yeni oda üyelerini davet et",
"Invited": "Davet Edildi",
"Invites": "Davetler",
"Invites user with given id to current room": "Mevcut odaya verilen kimliği olan kullanıcıyı davet eder",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' bir takma ad(nickname) için geçerli değil",
"Sign in with": "Şununla giriş yap",
"Join as voice or video.": " ses veya video olarak katılın.",
"Join Room": "Odaya Katıl",
@@ -178,17 +168,11 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s gelecekte oda geçmişini görünür yaptı herhangi biri.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s gelecekte oda geçmişini görünür yaptı bilinmeyen (%(visibility)s).",
"Manage Integrations": "Entegrasyonları Yönet",
- "Markdown is disabled": "Markdown devre dışı",
- "Markdown is enabled": "Markdown aktif",
- "matrix-react-sdk version:": "matrix-react-sdk versiyon:",
- "Message not sent due to unknown devices being present": "Bilinmeyen cihazlar bulunduğundan mesaj gönderilemedi",
"Missing room_id in request": "İstekte eksik room_id",
"Missing user_id in request": "İstekte user_id eksik",
"Moderator": "Moderatör",
"Mute": "Sessiz",
"Name": "İsim",
- "Never send encrypted messages to unverified devices from this device": "Bu cihazdan doğrulanmamış cihazlara asla şifrelenmiş mesajlar göndermeyin",
- "Never send encrypted messages to unverified devices in this room from this device": "Bu odada bu cihazdan doğrulanmamış cihazlara asla şifrelenmiş mesajlar göndermeyin",
"New address (e.g. #foo:%(localDomain)s)": "Yeni adres (e.g. #foo:%(localDomain)s)",
"New passwords don't match": "Yeni şifreler uyuşmuyor",
"New passwords must match each other.": "Yeni şifreler birbirleriyle eşleşmelidir.",
@@ -198,7 +182,6 @@
"(not supported by this browser)": "(Bu tarayıcı tarafından desteklenmiyor)",
"": "",
"NOT verified": "Doğrulanmadı",
- "No devices with registered encryption keys": "Kayıtlı şifreleme anahtarlı cihazlar yok",
"No display name": "Görünür isim yok",
"No more results": "Başka sonuç yok",
"No results": "Sonuç yok",
@@ -209,7 +192,6 @@
"Operation failed": "Operasyon başarısız oldu",
"Password": "Şifre",
"Passwords can't be empty": "Şifreler boş olamaz",
- "People": "İnsanlar",
"Permissions": "İzinler",
"Phone": "Telefon",
"Please check your email and click on the link it contains. Once this is done, click continue.": "Lütfen e-postanızı kontrol edin ve içerdiği bağlantıya tıklayın . Bu işlem tamamlandıktan sonra , 'devam et' e tıklayın .",
@@ -235,7 +217,6 @@
"riot-web version:": "riot-web versiyon:",
"Room %(roomId)s not visible": "%(roomId)s odası görünür değil",
"Room Colour": "Oda Rengi",
- "Room contains unknown devices": "Oda bilinmeyen cihazlar içeriyor",
"%(roomName)s does not exist.": "%(roomName)s mevcut değil.",
"%(roomName)s is not accessible at this time.": "%(roomName)s şu anda erişilebilir değil.",
"Rooms": "Odalar",
@@ -246,8 +227,6 @@
"Searches DuckDuckGo for results": "Sonuçlar için DuckDuckGo'yu arar",
"Seen by %(userName)s at %(dateTime)s": "%(dateTime)s ' de %(userName)s tarafından görüldü",
"Send anyway": "Her durumda gönder",
- "Sender device information": "Gönderen cihaz bilgileri",
- "Send Invites": "Davetiye Gönder",
"Send Reset Email": "E-posta Sıfırlama Gönder",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s bir resim gönderdi.",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s %(targetDisplayName)s' a odaya katılması için bir davet gönderdi.",
@@ -259,7 +238,6 @@
"%(senderName)s set a profile picture.": "%(senderName)s bir profil resmi ayarladı.",
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s görünür ismini %(displayName)s ' a ayarladı.",
"Settings": "Ayarlar",
- "Show Text Formatting Toolbar": "Metin Biçimlendirme Araç Çubuğunu Göster",
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Zaman damgalarını 12 biçiminde göster (örn. 2:30 pm)",
"Signed Out": "Oturum Kapatıldı",
"Sign in": "Giriş Yap",
@@ -268,12 +246,10 @@
"Someone": "Birisi",
"Start a chat": "Bir Sohbet Başlat",
"Start authentication": "Kimlik Doğrulamayı başlatın",
- "Start Chat": "Sohbet Başlat",
"Submit": "Gönder",
- "Success": "Başarı",
+ "Success": "Başarılı",
"The phone number entered looks invalid": "Girilen telefon numarası geçersiz görünüyor",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Sağladığınız imza anahtarı %(userId)s aygıtından %(deviceId)s ile eşleşiyor . Aygıt doğrulanmış olarak işaretlendi.",
- "This email address is already in use": "Bu e-posta adresi zaten kullanımda",
+ "This email address is already in use": "Bu eposta adresi zaten kullanımda",
"This email address was not found": "Bu e-posta adresi bulunamadı",
"The email address linked to your account must be entered.": "Hesabınıza bağlı e-posta adresi girilmelidir.",
"The remote side failed to pick up": "Uzak taraf toplanamadı(alınamadı)",
@@ -286,7 +262,6 @@
"To use it, just wait for autocomplete results to load and tab through them.": "Kullanmak için , otomatik tamamlama sonuçlarının yüklenmesini ve bitmesini bekleyin.",
"Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Bu odanın zaman çizelgesinde belirli bir nokta yüklemeye çalışıldı , ama geçerli mesajı görüntülemeye izniniz yok.",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "Bu odanın akışında belirli bir noktaya yüklemeye çalışıldı , ancak bulunamadı.",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s uçtanuca şifrelemeyi açtı (algoritma -> %(algorithm)s).",
"Unable to add email address": "E-posta adresi eklenemiyor",
"Unable to remove contact information": "Kişi bilgileri kaldırılamıyor",
"Unable to verify email address.": "E-posta adresi doğrulanamıyor.",
@@ -294,18 +269,13 @@
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s %(targetName)s 'in yasağını kaldırdı.",
"Unable to capture screen": "Ekran yakalanamadı",
"Unable to enable Notifications": "Bildirimler aktif edilemedi",
- "Unable to load device list": "Cihaz listesi yüklenemedi",
- "Undecryptable": "Şifresi çözülemez",
"unencrypted": "şifrelenmemiş",
- "Unencrypted message": "Şifrelenmemiş mesaj",
"unknown caller": "bilinmeyen arayıcı",
"unknown device": "bilinmeyen cihaz",
"unknown error code": "bilinmeyen hata kodu",
"Unknown room %(roomId)s": "Bilinmeyen oda %(roomId)s",
- "Unknown (user, device) pair:": "Bilinmeyen (kullanıcı , cihaz) çifti :",
"Unmute": "Sesi aç",
"Unnamed Room": "İsimsiz Oda",
- "Unrecognised command:": "Tanınmayan komut :",
"Unrecognised room alias:": "Tanınmayan oda isimleri :",
"Uploading %(filename)s and %(count)s others|zero": "%(filename)s yükleniyor",
"Uploading %(filename)s and %(count)s others|one": "%(filename)s ve %(count)s kadarı yükleniyor",
@@ -333,24 +303,20 @@
"(no answer)": "(cevap yok)",
"(unknown failure: %(reason)s)": "(bilinmeyen hata : %(reason)s)",
"Warning!": "Uyarı!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "UYARI: Cihaz zaten doğrulandı , ancak anahtarlar UYUŞMUYOR!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "UYARI: ANAHTAR DOĞRULAMA BAŞARISIZ! (key verification failure). %(userId)s ve %(deviceId)s imza anahtarı sağlanan imza anahtarı \"%(fingerprint)s\" ile uyuşmayan \"%(fprint)s\". Bu iletişiminizin kesiliyor olabileceği anlamına geliyor!",
"Who can access this room?": "Bu odaya kimler erişebilir ?",
"Who can read history?": "Geçmişi kimler okuyabilir ?",
- "Who would you like to communicate with?": "Kimlerle iletişim kurmak istersiniz ?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s %(targetName)s'nin davetinden çekildi.",
"You are already in a call.": "Zaten bir çağrıdasınız.",
"You cannot place a call with yourself.": "Kendinizle görüşme yapamazsınız .",
"You cannot place VoIP calls in this browser.": "Bu tarayıcıda VoIP çağrısı yapamazsınız.",
"You do not have permission to post to this room": "Bu odaya göndermeye izniniz yok",
"You have disabled URL previews by default.": "URL önizlemelerini varsayılan olarak devre dışı bıraktınız.",
- "You have enabled URL previews by default.": "URL önizlemelerini varsayılan olarak etkinleştirdiniz .",
+ "You have enabled URL previews by default.": "URL önizlemelerini varsayılan olarak etkinleştirdiniz.",
"You have no visible notifications": "Hiçbir görünür bildiriminiz yok",
"You must register to use this functionality": "Bu işlevi kullanmak için Kayıt Olun ",
"You need to be able to invite users to do that.": "Bunu yapmak için kullanıcıları davet etmeye ihtiyacınız var.",
"You need to be logged in.": "Oturum açmanız gerekiyor.",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "E-posta adresiniz bu Ana Sunucu'da ki Matrix ID'si ile ilişkili gözükmüyor.",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Şifreniz başarıyla değiştirildi . Diğer cihazlara girene kadar onlara bildirim almayacaksınız",
"You seem to be in a call, are you sure you want to quit?": "Bir çağrıda gözüküyorsunuz , çıkmak istediğinizden emin misiniz ?",
"You seem to be uploading files, are you sure you want to quit?": "Dosya yüklüyorsunuz gibi görünüyor , çıkmak istediğinizden emin misiniz ?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Kullanıcıyı sizinle aynı güç seviyesine yükseltirken , bu değişikliği geri alamazsınız.",
@@ -387,10 +353,8 @@
"Sent messages will be stored until your connection has returned.": "Gönderilen iletiler bağlantınız geri gelene kadar saklanacak.",
"(~%(count)s results)|one": "(~%(count)s sonuç)",
"(~%(count)s results)|other": "(~%(count)s sonuçlar)",
- "Cancel": "İptal Et",
+ "Cancel": "İptal",
"Active call": "Aktif çağrı",
- "bold": "kalın",
- "italic": "italik",
"Please select the destination room for this message": "Bu ileti için lütfen hedef oda seçin",
"Create new room": "Yeni Oda Oluştur",
"Room directory": "Oda Rehberi",
@@ -419,18 +383,9 @@
"Unknown error": "Bilinmeyen Hata",
"Incorrect password": "Yanlış Şifre",
"To continue, please enter your password.": "Devam etmek için , lütfen şifrenizi girin.",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Bu cihazın güvenilir olabileceğini doğrulamak için , lütfen sahibiyle başka yollarla iletişim kurun (örn. şahsen veya telefon görüşmesi) ve bu cihazın Kullanıcı Ayarları'nda gördükleri anahtarın aşağıdaki anahtarla eşleşip eşleşmediğini sorun :",
- "Device name": "Cihaz ismi",
- "Device key": "Cihaz anahtarı",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Eğer eşleşirse , aşağıdaki doğrulama butonuna basın . Eğer eşleşmezse , o zaman başkası bir bu cihazı tutuyor ve bunun yerine kara liste butonuna basmak istiyor olabilirsiniz.",
- "Verify device": "Cihazı Doğrula",
"I verify that the keys match": "Anahtarların uyuştuğunu doğruluyorum",
"Unable to restore session": "Oturum geri yüklenemiyor",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Eğer daha önce Riot'un daha yeni bir versiyonunu kullandıysanız , oturumunuz bu sürümle uyumsuz olabilir . Bu pencereyi kapatın ve daha yeni sürüme geri dönün.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Şu anda doğrulanmamış cihazları kara listeye alıyorsunuz , bu cihazlara mesaj göndermek için onları doğrulamanız gerekir.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Her cihazın yasal sahiplerine ait olduklarını doğrulamak için doğrulama işlemini gerçekleştirmenizi öneririz, ancak tercih edip onaylamadan iletiyi tekrar gönderebilirsiniz.",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" daha önce görmediğiniz cihazları içeriyor.",
- "Unknown devices": "Bilinmeyen cihazlar",
"Unknown Address": "Bilinmeyen Adres",
"Unblacklist": "Karaliste Dışı",
"Blacklist": "Kara Liste",
@@ -475,8 +430,6 @@
"Start verification": "Doğrulamayı başlat",
"Share without verifying": "Doğrulamadan paylaş",
"Ignore request": "İsteği yoksay",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "Şifreleme anahtarları isteyen , '%(displayName)s' isminde yeni bir cihaz eklediniz .",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Tanımlanmamış cihazınız '%(displayName)s' , şifreleme anahtarlarını istiyor.",
"Encryption key request": "Şifreleme anahtarı isteği",
"Fetching third party location failed": "Üçüncü parti konumunu çekemedi",
"A new version of Riot is available.": "Riot'un yeni bir versiyonu mevcuttur.",
@@ -520,7 +473,6 @@
"Files": "Dosyalar",
"Collecting app version information": "Uygulama sürümü bilgileri toplanıyor",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "%(alias)s oda rumuzu silinsin ve %(name)s dizinden kaldırılsın mı ?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Bu oturumunuzu kapattıktan sonra hesabınıza dönmenizi ve diğer cihazlarda oturum açmanızı sağlar.",
"Keywords": "Anahtar kelimeler",
"Enable notifications for this account": "Bu hesap için bildirimleri etkinleştir",
"Messages containing keywords": " anahtar kelimeleri içeren mesajlar",
@@ -586,15 +538,15 @@
"View Source": "Kaynağı Görüntüle",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "Geçerli tarayıcınız ile birlikte , uygulamanın görünüş ve kullanım hissi tamamen hatalı olabilir ve bazı ya da tüm özellikler çalışmayabilir. Yine de denemek isterseniz devam edebilirsiniz ancak karşılaşabileceğiniz sorunlar karşısında kendi başınasınız !",
"There are advanced notifications which are not shown here": "Burada gösterilmeyen gelişmiş bildirimler var",
- "The platform you're on": "Bulunduğun platform",
+ "The platform you're on": "Platformunuz",
"The version of Riot.im": "Riot.im'in sürümü",
- "Your language of choice": "Seçtiginiz diliniz",
- "Which officially provided instance you are using, if any": "Hangi resmi destekli örneği(eğer varsa) kullanmaktasınız",
- "Add Email Address": "E-posta Adresi Ekle",
+ "Your language of choice": "Dil seçiminiz",
+ "Which officially provided instance you are using, if any": "Hangi resmi destekli platformu kullanmaktasınız (eğer varsa)",
+ "Add Email Address": "Eposta Adresi Ekle",
"Add Phone Number": "Telefon Numarası Ekle",
"Your identity server's URL": "Kimlik sunucunuzun linki",
"e.g. %(exampleValue)s": "örn.%(exampleValue)s",
- "Every page you use in the app": "uygulamadaki kullandığınız tüm sayfalar",
+ "Every page you use in the app": "Uygulamadaki kullandığınız tüm sayfalar",
"e.g. ": "örn. ",
"Your User Agent": "Kullanıcı Ajanınız",
"Your device resolution": "Cihazınızın çözünürlüğü",
@@ -624,8 +576,6 @@
"Registration Required": "Kayıt Zorunlu",
"You need to register to do this. Would you like to register now?": "Bunu yapabilmek için kayıt olmalısınız. Şimdi kayıt olmak ister misiniz?",
"Restricted": "Sınırlı",
- "Email, name or Matrix ID": "E-posta, isim yada Matrix ID",
- "Failed to start chat": "Sohbet başlatma başarısız",
"Failed to invite users to the room:": "Kullanıcıların odaya daveti başarısız oldu:",
"Missing roomId.": "roomId eksik.",
"You are not in this room.": "Bu odada değilsin.",
@@ -652,7 +602,7 @@
"%(names)s and %(count)s others are typing …|one": "%(names)s ve bir diğeri yazıyor…",
"%(names)s and %(lastPerson)s are typing …": "%(names)s ve %(lastPerson)s yazıyor…",
"Cannot reach homeserver": "Ana sunucuya erişilemiyor",
- "Your Riot is misconfigured": "Rioutunuz hatalı yapılandırılmış",
+ "Your Riot is misconfigured": "Riot hatalı ayarlanmış",
"Cannot reach identity server": "Kimlik sunucu erişilemiyor",
"No homeserver URL provided": "Ana sunucu adresi belirtilmemiş",
"Unexpected error resolving homeserver configuration": "Ana sunucu yapılandırması çözümlenirken beklenmeyen hata",
@@ -693,7 +643,7 @@
"Power level": "Güç düzeyi",
"e.g. my-room": "örn. odam",
"Some characters not allowed": "Bazı karakterlere izin verilmiyor",
- "Matrix ID": "Matrix ID",
+ "Matrix ID": "Matrix Kimliği",
"Matrix Room ID": "Matrix Oda ID",
"email address": "e-posta adresi",
"That doesn't look like a valid email address": "Geçerli bir e-posta adresi gibi gözükmüyor",
@@ -708,7 +658,6 @@
"GitHub issue": "GitHub sorunu",
"Notes": "Notlar",
"Removing…": "Siliniyor…",
- "Clear all data on this device?": "Bu cihazdaki bütün verileri sil?",
"Clear all data": "Bütün verileri sil",
"Community IDs cannot be empty.": "Topluluk ID leri boş bırakılamaz.",
"Something went wrong whilst creating your community": "Topluluğunuz oluşturulurken bir şeyler yanlış gitti",
@@ -740,7 +689,6 @@
"Developer Tools": "Geliştirici Araçları",
"Integrations are disabled": "Bütünleştirmeler kapatılmış",
"Integrations not allowed": "Bütünleştirmelere izin verilmiyor",
- "Loading device info...": "Cihaz bilgileri yükleniyor...",
"Incompatible local cache": "Yerel geçici bellek uyumsuz",
"Clear cache and resync": "Geçici belleği temizle ve yeniden eşle",
"Updating Riot": "Riot güncelleniyor",
@@ -891,7 +839,7 @@
"Set a new password": "Yeni bir şifre belirle",
"General failure": "Genel başarısızlık",
"This homeserver does not support login using email address.": "Bu ana sunucu e-posta adresiyle oturum açmayı desteklemiyor.",
- "This account has been deactivated.": "Bu hesap pasifleştirilmiş.",
+ "This account has been deactivated.": "Hesap devre dışı bırakıldı.",
"Create account": "Yeni hesap",
"Unable to query for supported registration methods.": "Desteklenen kayıt yöntemleri için sorgulama yapılamıyor.",
"Continue with previous account": "Önceki hesapla devam et",
@@ -900,8 +848,8 @@
"Create your account": "Hesabınızı oluşturun",
"Forgotten your password?": "Parolanızı mı unuttunuz?",
"Sign in and regain access to your account.": "Oturum açın ve yeniden hesabınıza ulaşın.",
- "Whether or not you're logged in (we don't record your username)": "İster oturum açın yasa açmayın (biz kullanıcı adınızı kaydetmiyoruz)",
- "Whether or not you're using the Richtext mode of the Rich Text Editor": "Zengin Metin Düzenleyicinin Zengin metin modunu kullanıyor ya da kullanmıyorsunuz",
+ "Whether or not you're logged in (we don't record your username)": "İster oturum açın yada açmayın (biz kullanıcı adınızı kaydetmiyoruz)",
+ "Whether or not you're using the Richtext mode of the Rich Text Editor": "Zengin Metin Düzenleyicisinin Zengin metin modunu kullanıyor ya da kullanmıyorsunuz",
"Your homeserver's URL": "Ana sunucunuzun URL’i",
"The information being sent to us to help make Riot.im better includes:": "Riot.im i daha iyi yapmamıza yardımcı olacak bize gönderdiğiniz bilgilerin içeriği:",
"Try using turn.matrix.org": "turn.matrix.org i kullanarak dene",
@@ -950,8 +898,6 @@
"Print it and store it somewhere safe": "Yazdır ve güvenli bir yerde sakla",
"Save it on a USB key or backup drive": "Bir USB anahtara kaydet veya sürücüye yedekle",
"Copy it to your personal cloud storage": "Kişisel bulut depolamaya kopyala",
- "Your access to encrypted messages is now protected.": "Şifrelenmiş mesajlara erişiminiz şimdi korunuyor.",
- "Migrate from Key Backup": "Anahtar Yedeğinden Göç Et",
"Recovery key": "Kurtarma anahtarı",
"Success!": "Başarılı!",
"Retry": "Yeniden Dene",
@@ -993,29 +939,21 @@
"Folder": "Klasör",
"Accept to continue:": "Devam etmek için i kabul ediniz:",
"Upload": "Yükle",
- "on device": "cihaz üstünde",
"not found": "bulunamadı",
"in account data": "hesap verisinde",
- "Your homeserver does not support device management.": "Aan sunucunuz aygıt yönetimini desteklemiyor.",
- "Delete %(count)s devices|other": "%(count)s cihazı silin",
- "Delete %(count)s devices|one": "Cihaz sil",
"ID": "ID",
"Connecting to integration manager...": "Entegrasyon yöneticisine bağlanın...",
"Cannot connect to integration manager": "Entegrasyon yöneticisine bağlanılamadı",
"Delete Backup": "Yedek Sil",
"Unable to load key backup status": "Anahtar yedek durumu yüklenemiyor",
"Restore from Backup": "Yedekten Geri Dön",
- "This device is backing up your keys. ": "Bu cihaz anahtarlarınızı yedekliyor. ",
- "Connect this device to Key Backup": "Anahtar Yedeği için bu cihazı bağlayın",
"not stored": "depolanmadı",
"Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s anahtar yedekleniyor...",
"All keys backed up": "Bütün yedekler yedeklendi",
- "Backup is not signed by any of your devices": "Yedek hiç bir cihazınız tarafından imzalanmadı",
"Backup version: ": "Yedek sürümü: ",
"Algorithm: ": "Algoritma: ",
"Start using Key Backup": "Anahtar Yedekleme kullanmaya başla",
"Clear notifications": "Bildirimleri temizle",
- "Enable desktop notifications for this device": "Bu cihaz için masaüstü bildirimlerini aç",
"Show message in desktop notification": "Masaüstü bildiriminde mesaj göster",
"Display Name": "Ekran Adı",
"Profile picture": "Profil resmi",
@@ -1026,7 +964,6 @@
"Please contact your homeserver administrator.": "Lütfen anasunucu yöneticiniz ile bağlantıya geçin.",
"Message Pinning": "Mesaj Sabitleme",
"Multiple integration managers": "Çoklu entegrasyon yöneticileri",
- "New DM invite dialog (under development)": "Yeni DM davet diyalog kutusu (geliştirilmekte)",
"Enable Emoji suggestions while typing": "Yazarken Emoji önerilerini aç",
"Show join/leave messages (invites/kicks/bans unaffected)": "Katılma/ayrılma mesajları göster (davetler/atılmalar/yasaklamalar etkilenmeyecek)",
"Show avatar changes": "Avatar değişikliklerini göster",
@@ -1046,7 +983,7 @@
"Cat": "Kedi",
"Lion": "Aslan",
"Horse": "At",
- "Unicorn": "Tek boynuzlu at",
+ "Unicorn": "Midilli",
"Pig": "Domuz",
"Elephant": "Fil",
"Rabbit": "Tavşan",
@@ -1157,10 +1094,6 @@
"Cannot add any more widgets": "Daha fazla görsel bileşen eklenemiyor",
"The maximum permitted number of widgets have already been added to this room.": "İzin verilen maksimum sayıda görsel bileşen bu odaya zaten eklenmiş.",
"Add a widget": "Bir görsel bileşen ekle",
- "Some devices for this user are not trusted": "Bu kullanıcının bazı cihazları güvenilir değil",
- "All devices for this user are trusted": "Bu kullanıcının tüm cihazları güvenilir",
- "Some devices in this encrypted room are not trusted": "Bu şifrelenmiş odada bazı cihazlar şifrelenmemiş",
- "All devices in this encrypted room are trusted": "Bu şifrelenmiş odadaki tüm cihazlar güvenilir",
"Edit message": "Mesajı düzenle",
"%(senderName)s sent an image": "%(senderName)s bir resim gönderdi",
"%(senderName)s sent a video": "%(senderName)s bir video gönderdi",
@@ -1175,7 +1108,6 @@
"Ban this user?": "Bu kullanıcıyı yasakla?",
"Remove %(count)s messages|other": "%(count)s mesajı sil",
"Remove %(count)s messages|one": "1 mesajı sil",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Bu odada bilinmeyen cihazlar var: bunları doğrulamadan devam ederseniz birilerinin çağrılarınıza göz atma ihtimali var.",
"A conference call could not be started because the integrations server is not available": "Entegrasyon sunucusu mevcut olmadığından konferans çağrısı başlatılamadı",
"Send cross-signing keys to homeserver": "Çapraz-imzalama anahtarlarını anasunucuya gönder",
"Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Uyarı: Topluluğa eklediğiniz her bir kişi topluluk IDsini bilen herhangi biri tarafından açıkça görünür olacaktır",
@@ -1262,7 +1194,7 @@
"Failed to revoke invite": "Davetin geri çekilmesi başarısız",
"Revoke invite": "Davet geri çekildi",
"Invited by %(sender)s": "%(sender)s tarafından davet",
- "Error updating main address": "Ana adres güncellemede hata",
+ "Error updating main address": "Ana adresi güncellemede hata",
"Error removing alias": "Lakap silmede hata",
"Main address": "Ana adres",
"Invalid community ID": "Geçersiz topluluk ID si",
@@ -1297,5 +1229,602 @@
"Copied!": "Kopyalandı!",
"Failed to copy": "Kopyalama başarısız",
"edited": "düzenlendi",
- "Message removed by %(userId)s": "Mesaj %(userId)s tarafından silindi"
+ "Message removed by %(userId)s": "Mesaj %(userId)s tarafından silindi",
+ "You are still sharing your personal data on the identity server .": "Kimlik sunucusu üzerinde hala kişisel veri paylaşımı yapıyorsunuz \n.",
+ "We recommend that you remove your email addresses and phone numbers from the identity server before disconnecting.": "Kimlik sunucusundan bağlantıyı kesmeden önce telefon numaranızı ve e-posta adreslerinizi silmenizi tavsiye ederiz.",
+ "Set a new account password...": "Yeni bir hesap parolası belirle...",
+ "Deactivating your account is a permanent action - be careful!": "Hesabınızı pasifleştirmek bir kalıcı eylemdir - dikkat edin!",
+ "Deactivate account": "Hesabı pasifleştir",
+ "For help with using Riot, click here.": "Riot kullanarak yardım etmek için, buraya tıklayın.",
+ "Chat with Riot Bot": "Riot Bot ile Sohbet Et",
+ "Submit debug logs": "Hata ayıklama kayıtlarını gönder",
+ "Something went wrong. Please try again or view your console for hints.": "Bir şeyler hatalı gitti. Lütfen yeniden deneyin veya ipuçları için konsolunuza bakın.",
+ "Please verify the room ID or alias and try again.": "Lütfen odanın ID si veya lakabı doğrulayın ve yeniden deneyin.",
+ "Please try again or view your console for hints.": "Lütfen yeniden deneyin veya ipuçları için konsolunuza bakın.",
+ "None": "Yok",
+ "Ban list rules - %(roomName)s": "Yasak Liste Kuralları - %(roomName)s",
+ "You have not ignored anyone.": "Kimseyi yok saymamışsınız.",
+ "You are currently ignoring:": "Halihazırda yoksaydıklarınız:",
+ "Unsubscribe": "Abonelikten Çık",
+ "You are currently subscribed to:": "Halizhazırdaki abonelikleriniz:",
+ "Ignored users": "Yoksayılan kullanıcılar",
+ "Personal ban list": "Kişisel yasak listesi",
+ "Server or user ID to ignore": "Yoksaymak için sunucu veya kullanıcı ID",
+ "eg: @bot:* or example.org": "örn: @bot:* veya example.org",
+ "Ignore": "Yoksay",
+ "Subscribed lists": "Abone olunmuş listeler",
+ "If this isn't what you want, please use a different tool to ignore users.": "Eğer istediğiniz bu değilse, kullanıcıları yoksaymak için lütfen farklı bir araç kullanın.",
+ "Room ID or alias of ban list": "Yasak listesinin Oda ID veya lakabı",
+ "Subscribe": "Abone ol",
+ "Always show the window menu bar": "Pencerenin menü çubuğunu her zaman göster",
+ "Bulk options": "Toplu işlem seçenekleri",
+ "Accept all %(invitedRooms)s invites": "Bütün %(invitedRooms)s davetlerini kabul et",
+ "Request media permissions": "Medya izinleri talebi",
+ "Upgrade this room to the recommended room version": "Bu odayı önerilen oda sürümüne yükselt",
+ "View older messages in %(roomName)s.": "%(roomName)s odasında daha eski mesajları göster.",
+ "This bridge is managed by .": "Bu köprü tarafından yönetiliyor.",
+ "Set a new custom sound": "Özel bir ses ayarla",
+ "Change main address for the room": "Oda için ana adresi değiştir",
+ "Error changing power level requirement": "Güç düzey gereksinimi değiştirmede hata",
+ "Error changing power level": "Güç düzeyi değiştirme hatası",
+ "Send %(eventType)s events": "%(eventType)s olaylarını gönder",
+ "To link to this room, please add an alias.": "Bu odaya bağlanmak için, lütfen bir lakap ekle.",
+ "This event could not be displayed": "Bu olay görüntülenemedi",
+ "Demote yourself?": "Kendinin rütbeni düşür?",
+ "Demote": "Rütbe Düşür",
+ "Mention": "Bahsetme",
+ "Remove recent messages": "Son mesajları sil",
+ "The conversation continues here.": "Sohbet buradan devam ediyor.",
+ "You can only join it with a working invite.": "Sadece çalışan bir davet ile katılınabilir.",
+ "Try to join anyway": "Katılmak için yinede deneyin",
+ "Preferences": "Tercihler",
+ "Timeline": "Zaman Çizelgesi",
+ "You are about to remove %(count)s messages by %(user)s. This cannot be undone. Do you wish to continue?|one": "%(user)s tarafından gönderilen 1 mesajı silmek üzeresiniz. Bu işlem geri alınamaz. Devam etmek istediğinize emin misiniz?",
+ "This room has been replaced and is no longer active.": "Bu oda değiştirildi ve artık aktif değil.",
+ "Idle for %(duration)s": "%(duration)s süresince boşta",
+ "You were kicked from %(roomName)s by %(memberName)s": "%(memberName)s tarafından %(roomName)s dan kovuldunuz",
+ "You were banned from %(roomName)s by %(memberName)s": "%(memberName)s tarafından %(roomName)s odası size yasaklandı",
+ "Something went wrong with your invite to %(roomName)s": "%(roomName)s odasına davet işleminizde birşeyler yanlış gitti",
+ "This invite to %(roomName)s was sent to %(email)s": "%(roomName)s odası daveti %(email)s adresine gönderildi",
+ "You're previewing %(roomName)s. Want to join it?": "%(roomName)s odasını inceliyorsunuz. Katılmak ister misiniz?",
+ "You don't currently have any stickerpacks enabled": "Açılmış herhangi bir çıkartma paketine sahip değilsiniz",
+ "Error creating alias": "Lakap oluştururken hata",
+ "Room Topic": "Oda Başlığı",
+ "Verify this session to grant it access to encrypted messages.": "Şifrelenmiş mesajlara erişmek için bu oturumu doğrula.",
+ "Start": "Başlat",
+ "Session verified": "Oturum doğrulandı",
+ "Done": "Bitti",
+ "Go Back": "Geri dön",
+ "Gets or sets the room topic": "Oda başlığını getirir yada ayarlar",
+ "Unbans user with given ID": "Verilen ID ile kullanıcı yasağını kaldırır",
+ "Ignores a user, hiding their messages from you": "Mesajlarını senden gizleyerek, bir kullanıcıyı yok sayar",
+ "Ignored user": "Yoksayılan kullanıcı",
+ "You are now ignoring %(userId)s": "Şimdi %(userId)s yı yoksayıyorsunuz",
+ "Stops ignoring a user, showing their messages going forward": "Sonraki mesajlarını göstererek, bir kullanıcıyı yoksaymaktan vazgeç",
+ "Adds a custom widget by URL to the room": "URL ile odaya özel bir görsel bileşen ekle",
+ "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s misafirlerin odaya katılmasına izin verdi.",
+ "%(senderName)s updated an invalid ban rule": "%(senderName)s bir geçersiz yasaklama kuralını güncelledi",
+ "%(senderName)s updated a ban rule matching %(glob)s for %(reason)s": "%(senderName)s, %(reason)s nedeniyle %(glob)s ile eşleşen yasaklama kuralını güncelledi",
+ "%(senderName)s created a rule banning users matching %(glob)s for %(reason)s": "%(senderName)s, %(reason)s nedeniyle %(glob)s ile eşleşen kullanıcıları yasaklama kuralı oluşturdu",
+ "%(senderName)s created a rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s, %(reason)s nedeniyle %(glob)s ile eşleşen bir oda yasaklama kuralı oluşturdu",
+ "%(senderName)s created a rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s, %(reason)s nedeniyle %(glob)s ile eşleşen bir sunucular yasaklama kuralı oluşturdu",
+ "%(senderName)s created a ban rule matching %(glob)s for %(reason)s": "%(senderName)s, %(reason)s nedeniyle %(glob)s ile eşleşen bir yasak kuralı oluşturdu",
+ "Ensure you have a stable internet connection, or get in touch with the server admin": "Kararlı bir internet bağlantısına sahip olduğunuzdan emin olun yada sunucu yöneticisi ile iletişime geçin",
+ "Please contact your service administrator to continue using the service.": "Hizmeti kullanmaya devam etmek için, lütfen hizmet yöneticiniz ile bağlantıya geçin.",
+ "a few seconds ago": "bir kaç saniye önce",
+ "about a minute ago": "yaklaşık bir dakika önce",
+ "%(num)s minutes ago": "%(num)s dakika önce",
+ "about an hour ago": "yaklaşık bir saat önce",
+ "%(num)s hours ago": "%(num)s saat önce",
+ "about a day ago": "yaklaşık bir gün önce",
+ "%(num)s days ago": "%(num)s gün önce",
+ "The user's homeserver does not support the version of the room.": "Kullanıcının ana sunucusu odanın sürümünü desteklemiyor.",
+ "Unknown server error": "Bilinmeyen sunucu hatası",
+ "Use a few words, avoid common phrases": "Bir kaç kelime kullanın ve genel ifadelerden kaçının",
+ "No need for symbols, digits, or uppercase letters": "Semboller, sayılar yada büyük harflere gerek yok",
+ "Avoid repeated words and characters": "Tekrarlanan kelimeler ve karakterlerden kaçının",
+ "Avoid sequences": "Sekanslardan kaçının",
+ "Avoid recent years": "Son yıllardan kaçının",
+ "Avoid years that are associated with you": "Sizle ilişkili yıllardan kaçının",
+ "Avoid dates and years that are associated with you": "Sizle ilişkili tarihler ve yıllardan kaçının",
+ "Capitalization doesn't help very much": "Baş harfi büyük yapmak size pek yardımcı olmaz",
+ "All-uppercase is almost as easy to guess as all-lowercase": "Bütün harflerin büyük olmasıyla tümünün küçük olması tahmin için hemen hemen aynı kolaylıktadır",
+ "Reversed words aren't much harder to guess": "Ters kelimeler tahmin için çok zor değil",
+ "Repeats like \"aaa\" are easy to guess": "“aaa” gibi tekrarlar tahmin için oldukça kolay",
+ "Dates are often easy to guess": "Tarihler sıklıkla tahmin için daha kolaydır",
+ "This is a top-10 common password": "Bu bir top-10 yaygın parola",
+ "This is a top-100 common password": "Bu bir top-100 yaygın parola",
+ "This is a very common password": "Bu oldukça yaygın parola",
+ "This is similar to a commonly used password": "Bu yaygınca kullanılan bir parolaya benziyor",
+ "Names and surnames by themselves are easy to guess": "Adlar ve soyadlar kendi kendilerine tahmin için kolaydır",
+ "There was an error joining the room": "Odaya katılırken bir hata oluştu",
+ "Custom user status messages": "Özel kullanıcı durum mesajları",
+ "Group & filter rooms by custom tags (refresh to apply changes)": "Özel etiketler ile odaları grupla & filtrele ( değişiklikleri uygulamak için yenile)",
+ "Render simple counters in room header": "Oda başlığında basit sayaçları görüntüle",
+ "Try out new ways to ignore people (experimental)": "Kişileri yoksaymak için yeni yöntemleri dene (deneysel)",
+ "Enable local event indexing and E2EE search (requires restart)": "E2EE arama ve yerel olay indeksini aç (yeniden başlatma gerekli)",
+ "Mirror local video feed": "Yerel video beslemesi yansısı",
+ "Enable Community Filter Panel": "Toluluk Filtre Panelini Aç",
+ "Match system theme": "Sistem temasıyla eşle",
+ "Allow Peer-to-Peer for 1:1 calls": "1:1 çağrılar için eşten-eşe izin ver",
+ "Missing media permissions, click the button below to request.": "Medya izinleri eksik, alttaki butona tıkayarak talep edin.",
+ "Credits": "Katkıda Bulunanlar",
+ "Clear cache and reload": "Belleği temizle ve yeniden yükle",
+ "Customise your experience with experimental labs features. Learn more.": "Deneysel laboratuar özellikler ile deneyiminizi özelleştirebilirsiniz. Daha fazla.",
+ "Ignored/Blocked": "Yoksayılan/Bloklanan",
+ "Error adding ignored user/server": "Yoksayılan kullanıcı/sunucu eklenirken hata",
+ "Error subscribing to list": "Listeye abone olunurken hata",
+ "Error removing ignored user/server": "Yoksayılan kullanıcı/sunucu silinirken hata",
+ "Error unsubscribing from list": "Listeden abonelikten çıkılırken hata",
+ "You are not subscribed to any lists": "Herhangi bir listeye aboneliğiniz bulunmuyor",
+ "⚠ These settings are meant for advanced users.": "⚠ Bu ayarlar ileri düzey kullanıcılar içindir.",
+ "Unignore": "Yoksayma",
+ "Change room avatar": "Oda resmini değiştir",
+ "Members only (since the point in time of selecting this option)": "Sadece üyeler ( bu seçeneği seçtiğinizden itibaren)",
+ "Unable to revoke sharing for email address": "E-posta adresi paylaşımı kaldırılamadı",
+ "Unable to revoke sharing for phone number": "Telefon numarası paylaşımı kaldırılamıyor",
+ "Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Bu sayfadaki oda, kullanıcı veya grup kimliği gibi betimleyici bilgiler sunucuya gönderilmeden önce silindi.",
+ "Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "Çağrıların sağlıklı bir şekide yapılabilmesi için lütfen anasunucunuzun (%(homeserverDomain)s) yöneticisinden bir TURN sunucusu yapılandırmasını isteyin.",
+ "%(severalUsers)schanged their name %(count)s times|other": "%(severalUsers)s kullanıcıları isimlerini %(count)s kez değiştirdiler",
+ "%(oneUser)schanged their name %(count)s times|other": "%(oneUser)s ismini %(count)s kez değiştirdi",
+ "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)s değişiklik yapmadı",
+ "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)s %(count)s kez değişiklik yapmadı",
+ "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)s değişiklik yapmadı",
+ "Room alias": "Oda lakabı",
+ "Please provide a room alias": "Lütfen bir oda lakabı belirtin",
+ "This alias is available to use": "Bu lakap kullanmaya uygun",
+ "This alias is already in use": "Bu lakap zaten kullanımda",
+ "And %(count)s more...|other": "ve %(count)s kez daha...",
+ "Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "Alternatif olarak,turn.matrix.org adresindeki herkese açık sunucuyu kullanmayı deneyebilirsiniz. Fakat bu güvenilir olmayabilir. IP adresiniz bu sunucu ile paylaşılacaktır. Ayarlardan yönetebilirsiniz.",
+ "An error ocurred whilst trying to remove the widget from the room": "Görsel bileşen odadan silinmeye çalışılırken bir hata oluştu",
+ "Minimize apps": "Uygulamaları küçült",
+ "Maximize apps": "Uygulamaları büyült",
+ "Popout widget": "Görsel bileşeni göster",
+ "Please create a new issue on GitHub so that we can investigate this bug.": "Lütfen GitHub’da Yeni bir talep oluşturun ki bu hatayı inceleyebilelim.",
+ "Rotate counter-clockwise": "Saat yönünün tersine döndür",
+ "Language Dropdown": "Dil Listesi",
+ "%(severalUsers)sleft %(count)s times|other": "%(severalUsers)s, %(count)s kez ayrıldı",
+ "%(oneUser)sleft %(count)s times|other": "%(oneUser)s %(count)s kez ayrıldı",
+ "%(severalUsers)sjoined and left %(count)s times|other": "%(severalUsers)s %(count)s kez katılıp ve ayrıldı",
+ "%(oneUser)sjoined and left %(count)s times|other": "%(oneUser)s %(count)s kez katıldı ve ayrıldı",
+ "%(severalUsers)sleft and rejoined %(count)s times|one": "%(severalUsers)s ayrıldı ve yeniden katıldı",
+ "%(severalUsers)srejected their invitations %(count)s times|other": "%(severalUsers)s %(count)s kez davetlerini reddetti",
+ "%(severalUsers)srejected their invitations %(count)s times|one": "%(severalUsers)s davetlerini reddetti",
+ "%(oneUser)srejected their invitation %(count)s times|one": "%(oneUser)s davetlerini reddetti",
+ "%(severalUsers)shad their invitations withdrawn %(count)s times|one": "%(severalUsers)s davetlerini geri çekti",
+ "%(oneUser)shad their invitation withdrawn %(count)s times|other": "%(oneUser)s davetini %(count)s kez geri çekti",
+ "%(oneUser)shad their invitation withdrawn %(count)s times|one": "%(oneUser)s davetini geri çekti",
+ "were banned %(count)s times|other": "%(count)s kez yasaklandı",
+ "were banned %(count)s times|one": "yasaklandı",
+ "was banned %(count)s times|other": "%(count)s kez yasaklandı",
+ "was banned %(count)s times|one": "yasaklandı",
+ "were unbanned %(count)s times|other": "%(count)s kez yasak kaldırıldı",
+ "were unbanned %(count)s times|one": "yasak kaldırıldı",
+ "was unbanned %(count)s times|other": "%(count)s kez yasak kaldırıldı",
+ "was unbanned %(count)s times|one": "yasak kaldırıldı",
+ "%(severalUsers)schanged their avatar %(count)s times|one": "%(severalUsers)s resimlerini değiştirdiler",
+ "%(oneUser)schanged their avatar %(count)s times|other": "%(oneUser)s %(count)s kez resmini değiştirdi",
+ "%(oneUser)schanged their avatar %(count)s times|one": "%(oneUser)s resmini değiştirdi",
+ "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)s %(count)s kez hiç bir değişiklik yapmadı",
+ "Try using one of the following valid address types: %(validTypesList)s.": "Takip eden geçerli adres tiplerinden birini kullanmayı deneyin: %(validTypesList)s.",
+ "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "E-posta ile davet etmek için bir kimlik sunucusu kullan. Varsayılanı kullan (%(defaultIdentityServerName)s ya da Ayarlar kullanarak yönetin.",
+ "Use an identity server to invite by email. Manage in Settings.": "E-posta ile davet için bir kimlik sunucu kullan. Ayarlar dan yönet.",
+ "The following users may not exist": "Belirtilen kullanıcılar mevcut olmayabilir",
+ "Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Altta belirtilen Matrix ID li profiller bulunamıyor - Onları yinede davet etmek ister misiniz?",
+ "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Lütfen neyin yanlış gittiğini bize bildirin ya da en güzeli problemi tanımlayan bir GitHub talebi oluşturun.",
+ "Before submitting logs, you must create a GitHub issue to describe your problem.": "Logları göndermeden önce, probleminizi betimleyen bir GitHub talebi oluşturun.",
+ "Community IDs may only contain characters a-z, 0-9, or '=_-./'": "Topluluk ID leri sadece a-z, 0-9 ya da '=_-./' karakterlerini içerebilir",
+ "Set a room alias to easily share your room with other people.": "Odanızı diğer kişilerle kolayca paylaşabilmek için bir oda lakabı ayarların.",
+ "Create a public room": "Halka açık bir oda oluşturun",
+ "Make this room public": "Bu odayı halka açık yap",
+ "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Sohbet tarihçesini kaybetmemek için, çıkmadan önce odanızın anahtarlarını dışarıya aktarın. Bunu yapabilmek için Riotun daha yeni sürümü gerekli. Ulaşmak için geri gitmeye ihtiyacınız var",
+ "Continue With Encryption Disabled": "Şifreleme Kapalı Şekilde Devam Et",
+ "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "%(fileName)s dosyası anasunucunun yükleme boyutu limitini aşıyor",
+ "Double check that your server supports the room version chosen and try again.": "Seçtiğiniz oda sürümünün sunucunuz tarafından desteklenip desteklenmediğini iki kez kontrol edin ve yeniden deneyin.",
+ "Changes your avatar in this current room only": "Sadece bu odadaki resminizi değiştirin",
+ "Please supply a https:// or http:// widget URL": "Lütfen bir https:// ya da http:// olarak bir görsel bileşen URL i belirtin",
+ "Sends the given emote coloured as a rainbow": "Verilen ifadeyi bir gökkuşağı gibi renklendirilmiş olarak gönderin",
+ "%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s ekran adını %(displayName)s olarak değiştirdi.",
+ "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s odayı adresi bilen herkesin girebileceği şekilde halka açık hale getirdi.",
+ "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s katılma kuralını %(rule)s şeklinde değiştirdi",
+ "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s misafir erişim kuralını %(rule)s şeklinde değiştirdi",
+ "%(senderName)s set the main address for this room to %(address)s.": "%(senderName)s bu odanın ana adresini %(address)s olarak ayarladı.",
+ "%(senderName)s placed a voice call.": "%(senderName)s bir çağrı yaptı.",
+ "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s bir çağrı başlattı. (Bu tarayıcı tarafından desteklenmiyor)",
+ "%(senderName)s placed a video call.": "%(senderName)s bir görüntülü çağrı yaptı.",
+ "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s bir görüntülü çağrı yaptı. (bu tarayıcı tarafından desteklenmiyor)",
+ "Ask your Riot admin to check your config for incorrect or duplicate entries.": "Riot yöneticinize yapılandırmanızın hatalı ve mükerrer girdilerini kontrol etmesi için talepte bulunun.",
+ "You can register, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Kayıt olabilirsiniz, fakat kimlik sunucunuz çevrimiçi olana kadar bazı özellikler mevcut olmayacak. Bu uyarıyı sürekli görüyorsanız, yapılandırmanızı kontrol edin veya sunucu yöneticinizle iletişime geçin.",
+ "You can reset your password, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Parolanızı sıfırlayabilirsiniz, fakat kimlik sunucunuz çevrimiçi olana kadar bazı özellikler mevcut olmayacak. Bu uyarıyı sürekli görüyorsanız, yapılandırmanızı kontrol edin veya sunucu yöneticinizle iletişime geçin.",
+ "You can log in, but some features will be unavailable until the identity server is back online. If you keep seeing this warning, check your configuration or contact a server admin.": "Oturum açabilirsiniz, fakat kimlik sunucunuz çevrimiçi olana kadar bazı özellikler mevcut olmayacak. Bu uyarıyı sürekli görüyorsanız, yapılandırmanızı kontrol edin veya sunucu yöneticinizle iletişime geçin.",
+ "a few seconds from now": "şu andan itibaren bir kaç saniye",
+ "about a minute from now": "şu andan itibaren yaklaşık bir dakika",
+ "%(num)s minutes from now": "şu andan itibaren %(num)s dakika",
+ "about an hour from now": "şu andan itibaren yaklaşık bir saat",
+ "%(num)s hours from now": "şu andan itibaren %(num)s saat",
+ "about a day from now": "şu andan itibaren yaklaşık bir gün",
+ "%(num)s days from now": "şu andan itibaren %(num)s gün",
+ "The user must be unbanned before they can be invited.": "Kullanıcının davet edilebilmesi için öncesinde yasağının kaldırılması gereklidir.",
+ "Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"": "“abcabcabc” gibi tekrarlar “abc” yi tahmin etmekten çok az daha zor olur",
+ "Sequences like abc or 6543 are easy to guess": "abc veya 6543 gibi diziler tahmin için oldukça kolaydır",
+ "Common names and surnames are easy to guess": "Yaygın isimleri ve soyisimleri tahmin etmek oldukça kolay",
+ "Show info about bridges in room settings": "Oda ayarlarındaki köprülerin bilgilerini göster",
+ "Show a placeholder for removed messages": "Silinen mesajlar için bir yer tutucu göster",
+ "Show display name changes": "Ekran isim değişikliklerini göster",
+ "Enable URL previews for this room (only affects you)": "Bu oda için URL önizlemeyi aç (sadece sizi etkiler)",
+ "Enable URL previews by default for participants in this room": "Bu odadaki katılımcılar için URL önizlemeyi varsayılan olarak açık hale getir",
+ "Enable widget screenshots on supported widgets": "Desteklenen görsel bileşenlerde anlık görüntüleri aç",
+ "Show recently visited rooms above the room list": "En son ziyaret edilen odaları oda listesinin en üstünde göster",
+ "Show hidden events in timeline": "Zaman çizelgesinde gizli olayları göster",
+ "Encrypted messages in one-to-one chats": "Birebir sohbetlerdeki şifrelenmiş mesajlar",
+ "Encrypted messages in group chats": "Grup sohbetlerdeki şifrelenmiş mesajlar",
+ "This is your list of users/servers you have blocked - don't leave the room!": "Bu sizin engellediğiniz kullanıcılar/sunucular listeniz - odadan ayrılmayın!",
+ "Got It": "Anlaşıldı",
+ "Subscribing to a ban list will cause you to join it!": "Bir yasak listesine abonelik ona katılmanıza yol açar!",
+ "Message search": "Mesaj arama",
+ "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Mahremiyet bizim için önemli, bu yüzden hiç bir kişisel ve betimleyici veriyi analizlerimiz için toplamayız.",
+ "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Uyarı: Bir oda yükseltimi o oda üyelerinin otomatik olarak yeni sürüm odaya göç ettirilmesini sağlamaz. Odanın eski sürümünde yeni sürüm odaya gitmek için bir linki gönderilecektir - yeni odaya katılmak için oda üyeleri bu linke tıklamak zorunda olacaktır.",
+ "Internal room ID:": "Dahili oda ID:",
+ "An error occurred changing the user's power level. Ensure you have sufficient permissions and try again.": "Kullanıcının güç düzeyini değiştirirken bir hata oluştu. Yeterli izinlere sahip olduğunuza emin olun ve yeniden deneyin.",
+ "Select the roles required to change various parts of the room": "Odanın çeşitli bölümlerini değişmek için gerekli rolleri seçiniz",
+ "Click the link in the email you received to verify and then click continue again.": "Aldığınız e-postaki bağlantıyı tıklayarak doğrulayın ve sonra tekrar tıklayarak devam edin.",
+ "Verify this session": "Bu oturumu doğrula",
+ "Encryption upgrade available": "Şifreleme güncellemesi var",
+ "Set up encryption": "Şifrelemeyi ayarla",
+ "Unverified session": "Doğrulanmamış oturum",
+ "You are no longer ignoring %(userId)s": "%(userId)s artık yoksayılmıyor",
+ "Verifies a user, session, and pubkey tuple": "Bir kullanıcı, oturum ve açık anahtar çiftini doğrular",
+ "Unknown (user, session) pair:": "Bilinmeyen (kullanıcı, oturum) çifti:",
+ "Session already verified!": "Oturum zaten doğrulanmış!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "UYARI: Oturum zaten doğrulanmış, ama anahtarlar EŞLEŞMİYOR!",
+ "Your Matrix account on ": "Matrix hesabınız da yer almakta",
+ "No identity server is configured: add one in server settings to reset your password.": "Kimlik sunucusu yapılandırılmamış: sunucu ayarlarından ekleyerek parolanızı sıfırlayabilirsiniz.",
+ "A verification email will be sent to your inbox to confirm setting your new password.": "Yeni parolanızın ayarlandığını doğrulamak için bir e-posta gelen kutunuza gönderilecek.",
+ "Invalid homeserver discovery response": "Geçersiz anasunucu keşif yanıtı",
+ "Failed to get autodiscovery configuration from server": "Sunucudan otokeşif yapılandırması alınması başarısız",
+ "Homeserver URL does not appear to be a valid Matrix homeserver": "Anasunucu URL i geçerli bir Matrix anasunucusu olarak gözükmüyor",
+ "Invalid identity server discovery response": "Geçersiz kimlik sunucu keşfi yanıtı",
+ "Please contact your service administrator to continue using this service.": "Bu servisi kullanmaya devam etmek için lütfen servis yöneticinizle bağlantı kurun.",
+ "Failed to perform homeserver discovery": "Anasunucu keşif işlemi başarısız",
+ "Sender session information": "Gönderici oturum bilgisi",
+ "Go back to set it again.": "Geri git ve yeniden ayarla.",
+ "Your recovery key": "Kurtarma anahtarınız",
+ "Copy": "Kopyala",
+ "Upgrade your encryption": "Şifrelemenizi güncelleyin",
+ "Make a copy of your recovery key": "Kurtarma anahtarınızın bir kopyasını oluşturun",
+ "Create key backup": "Anahtar yedeği oluştur",
+ "Set up Secure Messages": "Güvenli Mesajları Ayarla",
+ "Space used:": "Kullanılan alan:",
+ "Indexed messages:": "İndekslenmiş mesajlar:",
+ "Number of rooms:": "Oda sayısı:",
+ "Enable inline URL previews by default": "Varsayılan olarak satır içi URL önizlemeleri aç",
+ "Waiting for %(displayName)s to verify…": "%(displayName)s ın doğrulaması için bekleniyor…",
+ "They match": "Eşleşiyorlar",
+ "They don't match": "Eşleşmiyorlar",
+ "Verify yourself & others to keep your chats safe": "Sohbetlerinizi güvenli tutmak için kendinizi & diğerlerini doğrulayın",
+ "Other users may not trust it": "Diğer kullanıcılar güvenmeyebilirler",
+ "Later": "Sonra",
+ "Review": "Gözden Geçirme",
+ "Workspace: %(networkName)s": "Çalışma alanı: %(networkName)s",
+ "Channel: %(channelName)s": "Kanal: %(channelName)s",
+ "Show less": "Daha az göster",
+ "Show more": "Daha fazla göster",
+ "in memory": "hafızada",
+ "in secret storage": "sır deposunda",
+ "Secret storage public key:": "Sır deposu açık anahtarı:",
+ "Your homeserver does not support session management.": "Anasunucunuz oturum yönetimini desteklemiyor.",
+ "Unable to load session list": "Oturum listesi yüklenemedi",
+ "Delete %(count)s sessions|other": "%(count)s oturumu sil",
+ "Delete %(count)s sessions|one": "%(count)s oturum sil",
+ "Public Name": "Açık İsim",
+ "rooms.": "odalar.",
+ "Manage": "Yönet",
+ "Enable": "Aç",
+ "The integration manager is offline or it cannot reach your homeserver.": "Entegrasyon yöneticisi çevrim dışı veya anasunucunuza erişemiyor.",
+ "Connect this session to Key Backup": "Anahtar Yedekleme için bu oturuma bağlanın",
+ "Backup is not signed by any of your sessions": "Yedek hiç bir oturumunuz tarafından imzalanmadı",
+ "This backup is trusted because it has been restored on this session": "Bu yedek güvenilir çünkü bu oturumda geri döndürüldü",
+ "Backup key stored: ": "Yedek anahtarı depolandı: ",
+ "Enable desktop notifications for this session": "Bu oturum için masaüstü bildirimlerini aç",
+ "Upgrade to your own domain": "Kendi etkinlik alanınızı yükseltin",
+ "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Botları, görsel bileşenleri ve çıkartma paketlerini yönetmek için bir entegrasyon yöneticisi kullanın.",
+ "Session ID:": "Oturum ID:",
+ "Session key:": "Oturum anahtarı:",
+ "Sessions": "Oturumlar",
+ "This user has not verified all of their sessions.": "Bu kullanıcı bütün oturumlarında doğrulanmamış.",
+ "You have not verified this user.": "Bu kullanıcıyı doğrulamadınız.",
+ "Someone is using an unknown session": "Birisi bilinmeyen bir oturum kullanıyor",
+ "Everyone in this room is verified": "Bu odadaki herkes doğrulanmış",
+ "Some sessions for this user are not trusted": "Bu kullanıcı için bazı oturumlar güvenilir değil",
+ "All sessions for this user are trusted": "Bu kullanıcı için tüm oturumlar güvenilir",
+ "The version of Riot": "Riot sürümü",
+ "Your user agent": "Kullanıcı aracınız",
+ "If you cancel now, you won't complete verifying the other user.": "Şimdi iptal ederseniz, diğer kullanıcıyı doğrulamayı tamamlamış olmayacaksınız.",
+ "If you cancel now, you won't complete verifying your other session.": "Şimdi iptal ederseniz, diğer oturumu doğrulamış olmayacaksınız.",
+ "Setting up keys": "Anahtarları ayarla",
+ "Custom (%(level)s)": "Özel (%(level)s)",
+ "Room contains unknown sessions": "Oda bilinmeyen oturumlar içeriyor",
+ "Unknown sessions": "Bilinmeyen oturumlar",
+ "Upload %(count)s other files|other": "%(count)s diğer dosyaları yükle",
+ "Upload %(count)s other files|one": "%(count)s dosyayı sağla",
+ "A widget would like to verify your identity": "Bir görsel tasarım kimliğinizi teyit etmek istiyor",
+ "Remember my selection for this widget": "Bu görsel bileşen işin seçimimi hatırla",
+ "Deny": "Reddet",
+ "Recovery key mismatch": "Kurtarma anahtarı uyumsuz",
+ "Backup restored": "Yedek geri dönüldü",
+ "Enter recovery key": "Kurtarma anahtarı gir",
+ "Help": "Yardım",
+ "Take picture": "Resim çek",
+ "Premium": "Premium",
+ "Sign in to your Matrix account on %(serverName)s": "%(serverName)s adresindeki Matrix hesabınıza oturum açın",
+ "Sign in to your Matrix account on ": " adresindeki Matrix hesabına oturum açın",
+ "Add to summary": "Özete ekle",
+ "Add users to the community summary": "Topluluk özetine kullanıcıları ekle",
+ "Who would you like to add to this summary?": "Bu özete kimi eklemek istersiniz?",
+ "Failed to update community": "Toluluğu güncelleme başarısız",
+ "Downloading mesages for %(currentRoom)s.": "%(currentRoom)s için mesajlar indiriliyor.",
+ "Indexed rooms:": "İndekslenmiş odalar:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(totalRooms)s odadan %(crawlingRooms)s tanesi",
+ "Bridges": "Köprüler",
+ "Send a reply…": "Bir cevap gönder…",
+ "Send a message…": "Bir mesaj gönder…",
+ "Direct Messages": "Doğrudan Mesajlar",
+ "Unknown Command": "Bilinmeyen Komut",
+ "Unrecognised command: %(commandText)s": "Tanınmayan komut: %(commandText)s",
+ "Send as message": "Mesaj olarak gönder",
+ "Start Verification": "Doğrulamayı Başlat",
+ "Verify User": "Kullanıcı Doğrula",
+ "Your messages are not secure": "Mesajlarınız korunmuyor",
+ "Your homeserver": "Ana sunucunuz",
+ "Not Trusted": "Güvenilmiyor",
+ "%(count)s sessions|other": "%(count)s oturum",
+ "%(count)s sessions|one": "%(count)s oturum",
+ "%(name)s cancelled verifying": "%(name)s doğrulama iptal edildi",
+ "Message removed": "Mesaj silindi",
+ "Filter community members": "Topluluk üyeleri filtrelendi",
+ "Invite to this community": "Bu topluluğa davet et",
+ "Failed to remove room from community": "Topluluktan oda silinmesi başarısız",
+ "Visible to everyone": "Herkese görünür",
+ "Only visible to community members": "Sadece topluluk üyelerine görünür",
+ "Add rooms to this community": "Bu topluluğa odaları ekle",
+ "Filter community rooms": "Topluluk odalarını filtrele",
+ "You're not currently a member of any communities.": "Şu anda hiç bir topluluğun bir üyesi değilsiniz.",
+ "Yes, I want to help!": "Evet, Yardım istiyorum!",
+ "Set Password": "Şifre oluştur",
+ "Error encountered (%(errorDetail)s).": "Hata oluştu (%(errorDetail)s).",
+ "Checking for an update...": "Güncelleme kontrolü...",
+ "No update available.": "Güncelleme yok.",
+ "Downloading update...": "Güncelleme indiriliyor...",
+ "Frequently Used": "Sıklıkla Kullanılan",
+ "Animals & Nature": "Hayvanlar & Doğa",
+ "Food & Drink": "Yiyecek & İçecek",
+ "Activities": "Aktiviteler",
+ "Travel & Places": "Seyahat & Yerler",
+ "Objects": "Nesneler",
+ "Symbols": "Semboller",
+ "Flags": "Bayraklar",
+ "Cancel search": "Aramayı iptal et",
+ "Your display name": "Ekran adınız",
+ "Your user ID": "Kullanıcı ID",
+ "Your theme": "Temanız",
+ "Widget ID": "Görsel Bileşen ID si",
+ "Delete Widget": "Görsel Bileşen Sil",
+ "Delete widget": "Görsel bileşen sil",
+ "Failed to remove widget": "Görsel bileşen silme başarısız",
+ "Destroy cross-signing keys?": "Çarpraz-imzalama anahtarlarını imha et?",
+ "Clear cross-signing keys": "Çapraz-imzalama anahtarlarını temizle",
+ "Clear all data in this session?": "Bu oturumdaki tüm verileri temizle?",
+ "Verify session": "Oturum doğrula",
+ "Use Legacy Verification (for older clients)": "Eski Doğrulamayı Kullan (eski istemciler için)",
+ "Session name": "Oturum adı",
+ "Session key": "Oturum anahtarı",
+ "Verification Requests": "Doğrulama İstekleri",
+ "Recent Conversations": "Güncel Sohbetler",
+ "Suggestions": "Öneriler",
+ "Recently Direct Messaged": "Güncel Doğrudan Mesajlar",
+ "Go": "Git",
+ "Loading session info...": "Oturum bilgisi yükleniyor...",
+ "Your account is not secure": "Hesabınız güvende değil",
+ "Your password": "Parolanız",
+ "This session, or the other session": "Bu oturum veya diğer oturum",
+ "New session": "Yeni oturum",
+ "This wasn't me": "Bu ben değildim",
+ "Sign In or Create Account": "Oturum Açın veya Hesap Oluşturun",
+ "Use your account or create a new one to continue.": "Hesabınızı kullanın veya devam etmek için yeni bir tane oluşturun.",
+ "Create Account": "Hesap Oluştur",
+ "Displays information about a user": "Bir kullanıcı hakkındaki bilgileri görüntüler",
+ "Add another word or two. Uncommon words are better.": "Bir iki kelime daha ekleyin. Yaygın olmayan kelimeler daha iyi olur.",
+ "Recent years are easy to guess": "Güncel yılların tahmini kolaydır",
+ "Show typing notifications": "Yazma bildirimlerini göster",
+ "Order rooms by name": "Odaları isme göre sırala",
+ "Show rooms with unread notifications first": "Okunmamış bildirimlere sahip odaları önce göster",
+ "Enable message search in encrypted rooms": "Şifrelenmiş odalardaki mesaj aramayı aktifleştir",
+ "Messages containing @room": "@room odasındaki mesajlar",
+ "Scan this unique code": "Bu eşsiz kodu tara",
+ "or": "veya",
+ "Cancelling…": "İptal ediliyor…",
+ "Lock": "Kilit",
+ "Pin": "Şifre",
+ "Your homeserver does not support cross-signing.": "Ana sunucunuz çapraz imzalamayı desteklemiyor.",
+ "exists": "mevcut",
+ "This session is backing up your keys. ": "Bu oturum anahtarlarınızı yedekliyor. ",
+ "Your keys are not being backed up from this session.": "Anahtarlarınız bu oturum tarafından yedeklenmiyor.",
+ "Enable audible notifications for this session": "Bu oturum için sesli bildirimleri aktifleştir",
+ "Change topic": "Başlığı değiştir",
+ "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "Bir metin mesajı gönderildi: +%(msisdn)s. Lütfen içerdiği doğrulama kodunu girin.",
+ "You have verified this user. This user has verified all of their sessions.": "Bu kullanıcıyı doğruladınız. Bu kullanıcı tüm oturumlarını doğruladı.",
+ "This room is end-to-end encrypted": "Bu oda uçtan uça şifreli",
+ "Some sessions in this encrypted room are not trusted": "Şifrelenmiş bu odadaki bazı oturumlar güvenilir değil",
+ "All sessions in this encrypted room are trusted": "Bu odadaki tün oturumlar güvenilir",
+ "Re-request encryption keys from your other sessions.": "Diğer oturumlardan şifreleme anahtarlarını yeniden talep et.",
+ "Encrypted by an unverified session": "Doğrulanmamış bir oturum tarafından şifrelenmiş",
+ "Encrypted by a deleted session": "Silinen bir oturumla şifrelenmiş",
+ "Invite only": "Sadece davetliler",
+ "Strikethrough": "Üstü çizili",
+ "Recent rooms": "Güncel odalar",
+ "Reject & Ignore user": "Kullanıcı Reddet & Yoksay",
+ "%(count)s unread messages including mentions.|one": "1 okunmamış bahis.",
+ "Unread mentions.": "Okunmamış bahisler.",
+ "Could not revoke the invite. The server may be experiencing a temporary problem or you do not have sufficient permissions to revoke the invite.": "Davet geri çekilemiyor. Sunucu geçici bir problem yaşıyor olabilir yada daveti geri çekmek için gerekli izinlere sahip değilsin.",
+ "Mark all as read": "Tümünü okunmuş olarak işaretle",
+ "Incoming Verification Request": "Gelen Doğrulama İsteği",
+ "Use bots, bridges, widgets and sticker packs": "Botları, köprüleri, görsel bileşenleri ve çıkartma paketlerini kullan",
+ "Not sure of your password? Set a new one": "Şifrenizden emin değil misiniz? Yenisini ayalarla",
+ "Want more than a community? Get your own server": "Bir topluluktan fazlasınımı istiyorsunuz? Kendi sunucunuzu edinin",
+ "Explore rooms": "Odaları keşfet",
+ "Show sessions, send anyway or cancel.": "Oturumları gözat, yinede gönder yada iptal.",
+ "%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "Mesajı yeniden gönder veya şimdi mesajı iptal et .",
+ " (1/%(totalCount)s)": " (1/%(totalCount)s)",
+ "Your new session is now verified. Other users will see it as trusted.": "Yeni oturumunuz şimdi doğrulandı. Diğer kullanıcılar güvenilir olarak görecek.",
+ "Invalid base_url for m.homeserver": "m.anasunucu için geçersiz base_url",
+ "Invalid base_url for m.identity_server": "m.kimlik_sunucu için geçersiz base_url",
+ "Identity server URL does not appear to be a valid identity server": "Kimlik sunucu adresi geçerli bir kimlik sunucu adresi gibi gözükmüyor",
+ "Please note you are logging into the %(hs)s server, not matrix.org.": "Lütfen %(hs)s sunucusuna oturum açtığınızın farkında olun. Bu sunucu matrix.org değil.",
+ "Registration has been disabled on this homeserver.": "Bu anasunucuda kayıt işlemleri kapatılmış.",
+ "You can now close this window or log in to your new account.": "Şimdi bu pencereyi kapatabilirsin yada yeni hesabına oturum aç.",
+ "Enter your password to sign in and regain access to your account.": "Oturum açmak için şifreni gir ve hesabına yeniden erişimi sağla.",
+ "Enter your account password to confirm the upgrade:": "Güncellemeyi başlatmak için hesap şifreni gir:",
+ "Restore": "Geri yükle",
+ "You'll need to authenticate with the server to confirm the upgrade.": "Güncellemeyi teyit etmek için sunucuda oturum açmaya ihtiyacınız var.",
+ "Great! This passphrase looks strong enough.": "Harika! Bu parola yeterince güçlü gözüküyor.",
+ "Enter a passphrase": "Bir parola girin",
+ "Back up my encryption keys, securing them with the same passphrase": "Şifreleme anahtarlarımı aynı parola ile güvenli hale getirerek yedekle",
+ "Enter your passphrase a second time to confirm it.": "Parolanızı ikinci kez girerek teyit edin.",
+ "Confirm your passphrase": "Parolanızı teyit edin",
+ "Your recovery key is in your Downloads folder.": "Kurtarma anahtarı İndirilenler klasörünüzde.",
+ "Unable to set up secret storage": "Sır deposu ayarlanamıyor",
+ "For maximum security, this should be different from your account password.": "En üst düzey güvenlik için, bu şifre hesap şifrenizden farklı olmalı.",
+ "Enter a passphrase...": "Bir parola girin...",
+ "Please enter your passphrase a second time to confirm.": "Lütfen parolanızı ikinci kez girerek teyit edin.",
+ "Repeat your passphrase...": "Parolanızı tekrarlayın...",
+ "Your keys are being backed up (the first backup could take a few minutes).": "Anahtarlarınız yedekleniyor (ilk yedek bir kaç dakika sürebilir).",
+ "Secure your backup with a passphrase": "Yedeğinizi bir parola ile koruyun",
+ "If you don't want to set this up now, you can later in Settings.": "Şimdi ayarlamak istemiyorsanız daha sonra Ayarlar menüsünden yapabilirsiniz.",
+ "Set up": "Ayarla",
+ "Review Sessions": "Oturumlar Gözden Geçir",
+ "Cancel entering passphrase?": "Parola girişini iptal et?",
+ "%(senderName)s changed the alternative addresses for this room.": "Bu oda için alternatif adresler %(senderName)s tarafından değiştirildi.",
+ "%(senderName)s changed the main and alternative addresses for this room.": "Bu oda için ana ve alternatif adresler %(senderName)s tarafından değiştirildi.",
+ "%(senderName)s changed the addresses for this room.": "Bu oda adresleri %(senderName)s tarafından değiştirildi.",
+ "Upgrade public room": "Açık odayı güncelle",
+ "You'll upgrade this room from to .": "Bu odayı versiyonundan versiyonuna güncelleyeceksiniz.",
+ "We encountered an error trying to restore your previous session.": "Önceki oturumunuzu geri yüklerken bir hatayla karşılaştık.",
+ "A username can only contain lower case letters, numbers and '=_-./'": "Bir kullanıcı adı sadece küçük karakterler, numaralar ve '=_-./' karakterlerini içerebilir",
+ "To help us prevent this in future, please send us logs.": "Bunun gelecekte de olmasının önüne geçmek için lütfen günceleri bize gönderin.",
+ "To continue you need to accept the terms of this service.": "Devam etmek için bu servisi kullanma şartlarını kabul etmeniz gerekiyor.",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "“%(RoomName)s” odası sizin daha önce görmediğiniz oturumlar içeriyor.",
+ "Upload files (%(current)s of %(total)s)": "Dosyaları yükle (%(current)s / %(total)s)",
+ "Incorrect recovery passphrase": "Hatalı kurtarma parolası",
+ "Failed to decrypt %(failedCount)s sessions!": "Çözümlemesi başarısız olan %(failedCount)s oturum!",
+ "Restored %(sessionCount)s session keys": "Geri yüklenen %(sessionCount)s oturum anahtarı",
+ "Enter recovery passphrase": "Kurtarma parolasını girin",
+ "Confirm your identity by entering your account password below.": "Hesabınızın şifresini aşağıya girerek kimliğinizi teyit edin.",
+ "An email has been sent to %(emailAddress)s": "%(emailAddress)s adresine bir e-posta gönderildi",
+ "A text message has been sent to %(msisdn)s": "%(msisdn)s ye bir metin mesajı gönderildi",
+ "Use lowercase letters, numbers, dashes and underscores only": "Sadece küçük harfler, numara, tire ve alt tire kullanın",
+ "Join millions for free on the largest public server": "En büyük açık sunucu üzerindeki milyonlara ücretsiz ulaşmak için katılın",
+ "Find other public servers or use a custom server": "Diğer açık sunucuları bulun ya da özel bir sunucu kullanın",
+ "Add rooms to the community summary": "Topluluk özetine odaları ekleyin",
+ "Which rooms would you like to add to this summary?": "Hangi odaları bu özete eklemek istersiniz?",
+ "%(inviter)s has invited you to join this community": "%(inviter)s sizi bu topluluğa katılmanız için davet etti",
+ "This room is not public. You will not be able to rejoin without an invite.": "Bu oda açık bir oda değil. Davet almadan tekrar katılamayacaksınız.",
+ "%(creator)s created and configured the room.": "%(creator)s odayı oluşturdu ve yapılandırdı.",
+ "Riot failed to get the public room list.": "Açık oda listesini getirirken Riot başarısız oldu.",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Bu odada bilinmeyen oturumlar mevcut: eğer doğrulamadan devam ederseniz, birilerinin çağrılarınıza göz atma durumu ortaya çıkabilir.",
+ "If you cancel now, you won't complete your secret storage operation.": "Eğer şimdi iptal ederseniz, sır depolama operasyonunu tamamlamış olmayacaksınız.",
+ "Show these rooms to non-members on the community page and room list?": "Bu odaları oda listesinde ve topluluğun sayfasında üye olmayanlara göster?",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s bu odaya alternatif olarak %(addresses)s adreslerini ekledi.",
+ "Waiting for partner to accept...": "Partnerin kabul etmesi için bekleniyor...",
+ "Failed to invite the following users to chat: %(csvUsers)s": "Sohbet için gönderilen davetin başarısız olduğu kullanıcılar: %(csvUsers)s",
+ "Something went wrong trying to invite the users.": "Kullanıcıların davet edilmesinde bir şeyler yanlış gitti.",
+ "a new master key signature": "yeni bir master anahtar imzası",
+ "a new cross-signing key signature": "yeni bir çapraz-imzalama anahtarı imzası",
+ "a key signature": "bir anahtar imzası",
+ "Upload completed": "Yükleme tamamlandı",
+ "Cancelled signature upload": "anahtar yükleme iptal edildi",
+ "Unabled to upload": "Yüklenemedi",
+ "Signature upload success": "Anahtar yükleme başarılı",
+ "Signature upload failed": "İmza yükleme başarısız",
+ "If you didn’t sign in to this session, your account may be compromised.": "Eğer bu oturuma bağlanmadıysanız, hesabınız ele geçirilmiş olabilir.",
+ "These files are too large to upload. The file size limit is %(limit)s.": "Bu dosyalar yükleme için çok büyük. Dosya boyut limiti %(limit)s.",
+ "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Bazı dosyalar yükleme için çok büyük. Dosya boyutu limiti %(limit)s.",
+ "Waiting…": "Bekleniyor…",
+ "Failed to re-authenticate due to a homeserver problem": "Anasunucu problemi yüzünden yeniden kimlik doğrulama başarısız",
+ "Failed to re-authenticate": "Yeniden kimlik doğrulama başarısız",
+ "A new recovery passphrase and key for Secure Messages have been detected.": "Yeni bir kurtarma parolası ve Güvenli Mesajlar için anahtar tespit edildi.",
+ "Not currently indexing messages for any room.": "Şu an hiç bir odada mesaj indeksleme yapılmıyor.",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "Riot'u ana giriş yöntemi dokunma olan bir cihazda kullanıyor olsanızda",
+ "Whether or not you're using the 'breadcrumbs' feature (avatars above the room list)": "'Breadcrumbs' özelliğini kullanıp kullanmadığınız (oda listesi üzerinde avatarlar)",
+ "Whether you're using Riot as an installed Progressive Web App": "Riot'u gelişmiş web uygulaması olarak yükleyip yüklemediğinizi",
+ "The information being sent to us to help make Riot better includes:": "Riot'u geliştirmemizde bize yardım etmek için gönderdiğiniz bilgiler şunları içeriyor:",
+ "A call is currently being placed!": "Bir çağrı şu anda başlatılıyor!",
+ "At this time it is not possible to reply with a file. Would you like to upload this file without replying?": "Şu anda dosya ile birlikte mesaj yollamak mümkün değil. Dosyayı mesajsız yüklemek ister misiniz?",
+ "PM": "24:00",
+ "AM": "12:00",
+ "This action requires accessing the default identity server to validate an email address or phone number, but the server does not have any terms of service.": "Bu eylem, bir e-posta adresini veya telefon numarasını doğrulamak için varsayılan kimlik sunucusuna erişilmesini gerektirir, ancak sunucunun herhangi bir hizmet şartı yoktur.",
+ "Sends a message as plain text, without interpreting it as markdown": "Mesajı markdown kullanmadan basit metin olarak iletir",
+ "Use an identity server to invite by email. Click continue to use the default identity server (%(defaultIdentityServerName)s) or manage in Settings.": "E-posta ile davet etmek için kimlik sunucusu kullan. Varsayılan kimlik sunucusunu (%(defaultIdentityServerName)s) kullanmak için devam edin ya da ayarlardan değiştirin.",
+ "Unignored user": "Reddedilmemiş kullanıcı",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "UYARI: ANAHTAR DOĞRULAMASI BAŞARISIZ! %(userld)s'nin/nın %(deviceld)s oturumu için imza anahtarı \"%(fprint)s\" verilen anahtar ile uyumsuz \"%(fingerprint)s\". Bu iletişiminizin engellendiği anlamına gelebilir!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "Verilen imza anahtarı %(userld)s'nin/nın %(deviceld)s oturumundan gelen anahtar ile uyumlu. Oturum doğrulanmış olarak işaretlendi.",
+ "Forces the current outbound group session in an encrypted room to be discarded": "Şifreli bir odadaki geçerli giden grup oturumunun atılmasını zorlar",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s oda ismini %(oldRoomName)s bununla değiştirdi %(newRoomName)s.",
+ "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s bu odada %(groups)s için etiketleri etkinleştirdi.",
+ "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s bu odada %(groups)s için etiketleri devre dışı bıraktı.",
+ "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s bu odada etiketleri %(newGroups)s için etkinleştirdi ve %(oldGroups)s için devre dışı bıraktı.",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s bu oda için alternatif adres %(addresses)s ekledi.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s bu oda için alternatif adresleri %(addresses)s sildi.",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s bu oda için alternatif adresi %(addresses)s sildi.",
+ "%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s, %(targetDisplayName)s'nin odaya katılması için daveti iptal etti.",
+ "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s %(glob)s ile eşleşen kullanıcıları banlama kuralını kaldırdı",
+ "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s %(glob)s ile eşleşen odaları banlama kuralını kaldırdı",
+ "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s %(glob)s ile eşleşen sunucuları banlama kuralını kaldırdı",
+ "%(senderName)s removed a ban rule matching %(glob)s": "%(senderName)s %(glob)s ile eşleşen banlama kuralını kaldırdı",
+ "%(senderName)s updated the rule banning users matching %(glob)s for %(reason)s": "%(senderName)s %(glob)s ile eşleşen kullanıcıları banlama kuralını bu sebepten dolayı güncelledi %(reason)s",
+ "%(senderName)s updated the rule banning rooms matching %(glob)s for %(reason)s": "%(senderName)s %(glob)s ile eşleşen odaları banlama kuralını bu sebepten dolayı güncelledi %(reason)s",
+ "%(senderName)s updated the rule banning servers matching %(glob)s for %(reason)s": "%(senderName)s %(glob)s ile eşleşen sunucuları banlama kuralını bu sebepten dolayı güncelledi %(reason)s",
+ "%(senderName)s changed a rule that was banning users matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s %(oldGlob)s ile eşleşen kullanıcıları banlama kuralını %(newGlob)s ile eşleşen olarak değiştirdi sebebi %(reason)s",
+ "%(senderName)s changed a rule that was banning rooms matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s %(oldGlob)s ile eşleşen odaları banlama kuralını %(newGlob)s ile eşleşen olarak değiştirdi sebebi %(reason)s",
+ "%(senderName)s changed a rule that was banning servers matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s %(oldGlob)s ile eşleşen sunucuları banlama kuralını %(newGlob)s ile eşleşen olarak değiştirdi sebebi %(reason)s",
+ "%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s %(oldGlob)s ile eşleşen banlama kuralını %(newGlob)s ile eşleşen olarak değiştirdi sebebi %(reason)s",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) yeni oturuma doğrulamadan giriş yaptı:",
+ "Ask this user to verify their session, or manually verify it below.": "Kullanıcıya oturumunu doğrulamasını söyle, ya da aşağıdan doğrula.",
+ "Manually Verify by Text": "Metin ile Doğrula",
+ "Interactively verify by Emoji": "Emoji ile etkileşimli olarak doğrula",
+ "Use a longer keyboard pattern with more turns": "Daha karmaşık ve uzun bir klavye deseni kullan",
+ "Predictable substitutions like '@' instead of 'a' don't help very much": "Tahmin edilebilir harf değişimleri örneğin 'a' yerine '@' pek yardımcı olmuyor",
+ "A word by itself is easy to guess": "Kelime zaten kolay tahmin edilir",
+ "Straight rows of keys are easy to guess": "Aynı klavye satırındaki ardışık tuşlar kolay tahmin edilir",
+ "Short keyboard patterns are easy to guess": "Kısa klavye desenleri kolay tahmin edilir",
+ "Show a presence dot next to DMs in the room list": "Oda listesinde DM'lerin yanında varlık noktası göster",
+ "Support adding custom themes": "Özel tema eklemeyi destekle",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "Oturum başına doğrulamak yerine kullanıcı başına doğrulama yapmak için çapraz giriş yapmayı etkinleştir (geliştirmede)",
+ "Show padlocks on invite only rooms": "Sadece davetle girilen odalarda kilit işareti göster",
+ "Show read receipts sent by other users": "Diğer kullanıcılar tarafından gönderilen okundu bilgisini göster",
+ "Show a reminder to enable Secure Message Recovery in encrypted rooms": "Şifrelenmiş odalarda güvenli mesaj kurtarmayı etkinleştirmek için hatırlatıcı göster",
+ "Enable automatic language detection for syntax highlighting": "Sözdizimi vurgularken otomatik dil algılamayı etkinleştir",
+ "Show avatars in user and room mentions": "Kullanıcı veya odadan bahsedilirken avatarlarını göster",
+ "Automatically replace plain text Emoji": "Düz metini otomatik olarak emoji ile değiştir",
+ "Never send encrypted messages to unverified sessions from this session": "Şifreli mesajları asla bu oturumdaki doğrulanmamış oturumlara iletme",
+ "Never send encrypted messages to unverified sessions in this room from this session": "Şifreli mesajları asla oturumdaki bu odadaki doğrulanmamış oturumlara iletme",
+ "Prompt before sending invites to potentially invalid matrix IDs": "Potansiyel olarak geçersiz matrix kimliği olanlara davet gönderirken uyarı ver",
+ "Show shortcuts to recently viewed rooms above the room list": "Oda listesinin üzerinde en son kullanılan odaları göster",
+ "Secret Storage key format:": "Sır Depolama anahtar biçemi:",
+ "Error downloading theme information.": "Tema bilgisi indirilirken hata.",
+ "Theme added!": "Tema eklendi!",
+ "Add theme": "Tema ekle",
+ "Keyboard Shortcuts": "Klavye Kısayolları",
+ "%(count)s unread messages including mentions.|other": "anmalar dahil okunmayan %(count)s mesaj.",
+ "Local address": "Yerel adres",
+ "Local Addresses": "Yerel Adresler",
+ "Yours, or the other users’ session": "Sizin yada diğer kullanıcıların oturumları",
+ "Trusted": "Güvenilir",
+ "Not trusted": "Güvenilir değil",
+ "Hide sessions": "Oturumları gizle",
+ "Verify by scanning": "Taramayla doğrula",
+ "Verify by emoji": "Emojiyle doğrula",
+ "Verify by comparing unique emoji.": "Eşsiz emoji eşleştirme ile doğrulama.",
+ "Edited at %(date)s. Click to view edits.": "%(date)s tarihinde düzenlendi. Düzenlemeleri görmek için tıkla.",
+ "Failed to load group members": "Grup üyeleri yüklenirken başarısız",
+ "Visibility in Room List": "Oda Listesindeki Görünürlük"
}
diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json
index 7795060406..e1db73e8b1 100644
--- a/src/i18n/strings/uk.json
+++ b/src/i18n/strings/uk.json
@@ -137,7 +137,6 @@
"Files": "Файли",
"Collecting app version information": "Збір інформації про версію застосунка",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Видалити псевдонім %(alias)s та прибрати з каталогу %(name)s?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Це дозволить вам повернутися до своєї обліковки після виходу з неї, та заходити з інших пристроїв.",
"Keywords": "Ключові слова",
"Enable notifications for this account": "Увімкнути сповіщення для цієї обліковки",
"Invite to this community": "Запросити в це суспільство",
@@ -243,7 +242,6 @@
"The information being sent to us to help make Riot.im better includes:": "Інформація, що надсилається нам, щоб допомогти зробити Riot.im кращим, включає в себе:",
"The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Введіть пароль для захисту експортованого файлу. Щоб розшифрувати файл потрібно буде ввести цей пароль.",
"Call Failed": "Виклик не вдався",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "У цій кімнаті є невідомі пристрої: якщо ви продовжите без їхньої перевірки, зважайте на те, що вас можна буде прослуховувати.",
"Review Devices": "Перевірити пристрої",
"Call Anyway": "Подзвонити все одно",
"Answer Anyway": "Відповісти все одно",
@@ -313,10 +311,6 @@
"Restricted": "Обмежено",
"Moderator": "Модератор",
"Start a chat": "Розпочати балачку",
- "Who would you like to communicate with?": "З ким бажаєте спілкуватися?",
- "Start Chat": "Розпочати балачку",
- "Invite new room members": "Запросити до кімнати",
- "Send Invites": "Надіслати запрошення",
"Failed to invite": "Не вдалося запросити",
"Failed to invite the following users to the %(roomName)s room:": "Не вдалося запросити таких користувачів до кімнати %(roomName)s:",
"You need to be logged in.": "Вам потрібно увійти.",
@@ -350,15 +344,8 @@
"Define the power level of a user": "Вказати рівень прав користувача",
"Deops user with given id": "Знімає права оператора з користувача з вказаним ідентифікатором",
"Opens the Developer Tools dialog": "Відкриває вікно інструментів розробника",
- "Verifies a user, device, and pubkey tuple": "Перевіряє комбінацію користувача, пристрою і публічного ключа",
- "Unknown (user, device) pair:": "Невідома комбінація користувача і пристрою:",
- "Device already verified!": "Пристрій вже перевірено!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "УВАГА: Пристрій уже перевірено, але ключі НЕ ЗБІГАЮТЬСЯ!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "УВАГА: КЛЮЧ НЕ ПРОЙШОВ ПЕРЕВІРКУ! Ключ підпису %(userId)s на пристрої %(deviceId)s — це «%(fprint)s», і він не збігається з наданим ключем «%(fingerprint)s». Це може означати, що ваші повідомлення перехоплюють!",
"Verified key": "Перевірений ключ",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Ключ підпису, який ви вказали, збігається з ключем підпису, отриманим від пристрою %(deviceId)s користувача %(userId)s. Пристрій позначено як перевірений.",
"Displays action": "Показує дію",
- "Unrecognised command:": "Невідома команда:",
"Reason": "Причина",
"%(senderName)s requested a VoIP conference.": "%(senderName)s бажає розпочати дзвінок-конференцію.",
"%(senderName)s invited %(targetName)s.": "%(senderName)s запросив/ла %(targetName)s.",
@@ -397,7 +384,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s зробив/ла майбутню історію видимою для всіх учасників кімнати.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s зробив/ла майбутню історію кімнати видимою для всіх.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s зробив/ла майбутню історію видимою невідомим (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s увімкнув/ла наскрізне шифрування (алгоритм %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s з %(fromPowerLevel)s до %(toPowerLevel)s",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s змінив/ла прикріплені повідомлення для кімнати.",
"%(widgetName)s widget modified by %(senderName)s": "%(senderName)s змінив/ла %(widgetName)s",
@@ -425,8 +411,6 @@
"Automatically replace plain text Emoji": "Автоматично замінювати емоційки в простому тексті",
"Mirror local video feed": "Показувати локальне відео віддзеркалено",
"Send analytics data": "Надсилати дані аналітики",
- "Never send encrypted messages to unverified devices from this device": "Ніколи не надсилати шифрованих повідомлень до неперевірених пристроїв з цього пристрою",
- "Never send encrypted messages to unverified devices in this room from this device": "Ніколи не надсилати шифрованих повідомлень до неперевірених пристроїв у цій кімнаті з цього пристрою",
"Enable inline URL previews by default": "Увімкнути вбудований перегляд гіперпосилань за умовчанням",
"Enable URL previews for this room (only affects you)": "Увімкнути попередній перегляд гіперпосилань в цій кімнаті (стосується тільки вас)",
"Enable URL previews by default for participants in this room": "Увімкнути попередній перегляд гіперпосилань за умовчанням для учасників цієї кімнати",
@@ -443,16 +427,12 @@
"No display name": "Немає імені для показу",
"New passwords don't match": "Нові паролі не збігаються",
"Passwords can't be empty": "Пароль не може бути пустим",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Зміна пароля поки що також скидає ключі наскрізного шифрування на всіх пристроях, внаслідок чого шифрована історія балачки стає недоступною, якщо ви не експортуєте ключі шифрування кімнат і не імпортуєте їх після зміни пароля. У майбутньому це буде поліпшено.",
"Export E2E room keys": "Експортувати ключі наскрізного шифрування кімнат",
"Do you want to set an email address?": "Бажаєте вказати адресу електронної пошти?",
"Current password": "Поточний пароль",
"Password": "Пароль",
"New Password": "Новий пароль",
"Confirm password": "Підтвердження пароля",
- "Unable to load device list": "Не вдалося завантажити перелік пристроїв",
- "Delete %(count)s devices|other": "Вилучити %(count)s пристроїв",
- "Delete %(count)s devices|one": "Вилучити пристрій",
"Device ID": "ID пристрою",
"Last seen": "Востаннє з'являвся",
"Failed to set display name": "Не вдалося встановити ім'я для показу",
@@ -469,14 +449,7 @@
"%(senderName)s sent a video": "%(senderName)s надіслав/ла відео",
"%(senderName)s uploaded a file": "%(senderName)s надіслав/ла файл",
"Options": "Налаштування",
- "Your key share request has been sent - please check your other devices for key share requests.": "Ваш запит поширення ключа надіслано — гляньте запити поширення ключа на своїх інших пристроях.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Запити поширення ключа надсилаються на ваші пристрої автоматично. Якщо ви відкинули запит поширення ключа на своїх інших пристроях, натисніть тут, щоб наново надіслати запит поширення ключа для цього сеансу.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Якщо на ваших інших пристроях немає ключа для цього повідомлення, ви не зможете його прочитати.",
"Key request sent.": "Запит ключа надіслано.",
- "Re-request encryption keys from your other devices.": "Наново надіслати запит ключів шифрування на ваші інші пристрої.",
- "Undecryptable": "Неможливо розшифрувати",
- "Encrypted by an unverified device": "Зашифровано неперевіреним пристроєм",
- "Unencrypted message": "Незашифроване повідомлення",
"Please select the destination room for this message": "Будь ласка, виберіть кімнату, куди потрібно надіслати це повідомлення",
"device id: ": "id пристрою: ",
"Disinvite": "Скасувати запрошення",
@@ -515,8 +488,6 @@
"Only continue if you trust the owner of the server.": "Продовжуйте тільки якщо довіряєте власнику сервера.",
"Trust": "Довіра",
"Unable to load! Check your network connectivity and try again.": "Завантаження неможливе! Перевірте інтернет-зʼєднання та спробуйте ще.",
- "Email, name or Matrix ID": "Е-пошта, імʼя або Matrix ID",
- "Failed to start chat": "Не вдалося розпочати чат",
"Failed to invite users to the room:": "Не вдалося запросити користувачів до кімнати:",
"Messages": "Повідомлення",
"Actions": "Дії",
@@ -525,12 +496,7 @@
"Sends a message as plain text, without interpreting it as markdown": "Надсилає повідомлення як чистий текст, не використовуючи markdown",
"Upgrades a room to a new version": "Покращує кімнату до нової версії",
"You do not have the required permissions to use this command.": "Вам бракує дозволу на використання цієї команди.",
- "Room upgrade confirmation": "Підтвердження покращення кімнати",
- "Upgrading a room can be destructive and isn't always necessary.": "Покращення кімнати може призвести до втрати даних та не є обовʼязковим.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Рекомендується покращувати кімнату, якщо поточна її версія вважається нестабільною. Нестабільні версії кімнат можуть мати вади, відсутні функції або вразливості безпеки.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Покращення кімнати загалом впливає лише на роботу з кімнатою на сервері. Якщо ви маєте проблему із вашим клієнтом Riot, надішліть свою проблему на .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Увага!: Покращення кімнати не перенесе автоматично усіх учасників до нової версії кімнати. Ми опублікуємо посилання на нову кімнату у старій версії кімнати, а учасники мають власноруч клацнути це посилання, щоб приєднатися до нової кімнати.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Підтвердьте, що ви згодні продовжити покращення цієї кімнати з до .",
"Changes your display nickname in the current room only": "Змінює ваше псевдо тільки для поточної кімнати",
"Changes the avatar of the current room": "Змінює аватар поточної кімнати",
"Changes your avatar in this current room only": "Змінює ваш аватар для поточної кімнати",
diff --git a/src/i18n/strings/vi.json b/src/i18n/strings/vi.json
index 407a0a9e6f..14575a61ff 100644
--- a/src/i18n/strings/vi.json
+++ b/src/i18n/strings/vi.json
@@ -19,7 +19,6 @@
"The information being sent to us to help make Riot.im better includes:": "Thông tin gửi lên máy chủ giúp cải thiện Riot.im bao gồm:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Trường hợp trang này chứa thông tin định danh như phòng chat, người dùng hoặc mã nhóm, dữ liệu định danh sẽ được loại bỏ trước khi gửi lên máy chủ.",
"Call Failed": "Cuộc gọi thất bại",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Có thiết bị chưa được xác thực trong phòng này: nếu bạn tiếp tục mà không xác thực thiết bị, cuộc gọi có thể bị nghe lén.",
"Review Devices": "Xác nhận thiết bị",
"Call Anyway": "Vẫn gọi",
"Answer Anyway": "Vẫn trả lời",
@@ -107,11 +106,6 @@
"Moderator": "Quản trị viên",
"Admin": "Admin",
"Start a chat": "Bắt đầu chat",
- "Who would you like to communicate with?": "Bạn muốn chat với ai?",
- "Email, name or Matrix ID": "Email, tên hoặc Matrix ID",
- "Start Chat": "Bắt đầu chat",
- "Invite new room members": "Mời thành viên mới",
- "Send Invites": "Gửi lời mời",
"Operation failed": "Tác vụ thất bại",
"Failed to invite": "Không thể mời",
"Failed to invite users to the room:": "Mời thành viên vào phòng chat thất bại:",
@@ -134,12 +128,7 @@
"/ddg is not a command": "/ddg không phải là một câu lệnh",
"To use it, just wait for autocomplete results to load and tab through them.": "Để sử dụng, hãy đợi kết quả tìm kiếm được hiển thị và chọn đối tượng.",
"Upgrades a room to a new version": "Cập nhật phòng lên phiên bản mới",
- "Room upgrade confirmation": "Xác nhận phòng nâng cấp",
- "Upgrading a room can be destructive and isn't always necessary.": "Nâng cấp phòng chat có thể làm hỏng và không phải luôn cần thiết.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Cập nhật phòng được khuyến nghị khi phòng chat được xem là không ổn định. Phòng không ổn định có thể gây lỗi, thiếu chức năng hoặc có nguy cơ bị tấn công.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Nâng cấp phòng thường chỉ ảnh hưởng ở phía máy chủ cần để xử lý phòng. Nếu bạn đang gặp vấn đề với Riot, vui lòng gửi thông báo lỗi tới .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Cảnh báo: Nâng cấp phòng sẽ không tự động mời thành viên vào phòng mới. Thành viên sẽ phải click vào đường link đến phòng mới để tham gia.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Vui lòng xác nhận bạn muốn nâng cấp phòng từ phiên bản cũ lên .",
"Changes your display nickname": "Đổi tên hiển thị của bạn",
"Changes your display nickname in the current room only": "Chỉ đổi tên hiển thị của bạn trong phòng này mà thôi",
"Changes your avatar in this current room only": "Chỉ đổi hình đại diện trong phòng này",
@@ -164,20 +153,13 @@
"Adds a custom widget by URL to the room": "Thêm một URL widget vào phòng",
"Please supply a https:// or http:// widget URL": "Vui lòng điền 1 widget với https:// hoặc http://",
"You cannot modify widgets in this room.": "Bạn không thể sửa đổi widget trong phòng này.",
- "Verifies a user, device, and pubkey tuple": "Xác thực người dùng hoặc thiết bị",
- "Unknown (user, device) pair:": "Cặp người dùng - thiết bị chưa xác thực:",
- "Device already verified!": "Thiết bị đã được xác thực!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "Cảnh báo: thiết bị đã được xác thực, nhưng bộ khóa không trùng khớp!",
"Which officially provided instance you are using, if any": "Cung cấp máy chủ bạn đang sử dụng, nếu có",
"Changes your avatar in all rooms": "Đổi hình đại diện của bạn trong mọi phòng",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "CẢNH BÁO: XÁC MINH KHÓA THẤT BẠI! Khóa của %(userId)s và thiết bị %(deviceId)s là \"%(fprint)s\" và không khớp với khóa cần xác minh \"%(fingerprint)s\". Điều này có nghĩa thông tin giao tiếp của bạn có thể bị nghe lén!",
"Verified key": "Khóa được xác minh",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Khóa đăng nhập trùng với khóa bạn nhận được từ thiết bị %(deviceId)s của %(userId)s. Thiết bị được đánh dấu đã xác minh.",
"Displays action": "Hiện thị thành động",
"Forces the current outbound group session in an encrypted room to be discarded": "Buộc bỏ qua phiên làm việc trong phòng chat được mã hóa",
"Sends the given message coloured as a rainbow": "Gửi nội dung tin nhắn được tô màu cầu vồng",
"Sends the given emote coloured as a rainbow": "Gửi hình emote được tô màu cầu vồng",
- "Unrecognised command:": "Lệnh không hợp lệ:",
"Reason": "Lí do",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s chấp nhận lời mời cho %(displayName)s.",
"%(targetName)s accepted an invitation.": "%(targetName)s chấp thuận lời mời.",
@@ -234,7 +216,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s đã đặt nội dung mới của phòng chat xem được bởi thành viên.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s đã đặt nội dung mới của phòng chat xem được bởi bất kỳ ai.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s đã đặt lịch sử phòng chat xem được đối với đối tượng (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s đã bật mã hóa đầu cuối (thuật toán %(algorithm)s).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s đổi từ %(fromPowerLevel)s thành %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s đã đổi mức quyền của %(powerLevelDiffText)s.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s đã đổi tin được treo trong phòng.",
@@ -330,8 +311,6 @@
"Enable Community Filter Panel": "Bật khung bộ lọc cộng đồng",
"Allow Peer-to-Peer for 1:1 calls": "Cho cuộc gọi trực tiếp 1:1",
"Send analytics data": "Gửi dữ liệu phân tích",
- "Never send encrypted messages to unverified devices from this device": "Không bao giờ gửi tin mã hóa từ thiết bị này đến thiết bị chưa được xác minh",
- "Never send encrypted messages to unverified devices in this room from this device": "Không bao giờ gửi tin mã hóa từ thiết bị này đến các thiết bị chưa được xác minh",
"Enable inline URL previews by default": "Bật hiển thị mặc định xem trước nội dung đường link",
"Enable URL previews for this room (only affects you)": "Bật hiển thị xem trước nội dung đường link trong phòng này (chỉ tác dụng với bạn)",
"Enable URL previews by default for participants in this room": "Bật mặc định xem trước nội dung đường link cho mọi người trong phòng",
diff --git a/src/i18n/strings/vls.json b/src/i18n/strings/vls.json
index 4cfe5c437a..b08bc31e5d 100644
--- a/src/i18n/strings/vls.json
+++ b/src/i18n/strings/vls.json
@@ -2,7 +2,7 @@
"This email address is already in use": "Dat e-mailadresse hier es al in gebruuk",
"This phone number is already in use": "Dezen telefongnumero es al in gebruuk",
"Failed to verify email address: make sure you clicked the link in the email": "Kostege ’t e-mailadresse nie verifieern: zorgt dervoor da je de koppelienge in den e-mail èt angeklikt",
- "The platform you're on": "’t Platform wuk da je gebruukt",
+ "The platform you're on": "’t Platform da je gebruukt",
"The version of Riot.im": "De versie van Riot.im",
"Whether or not you're logged in (we don't record your username)": "Of da je al dan nie angemeld zyt (we sloan je gebruukersnoame nie ip)",
"Your language of choice": "De deur joun gekoozn toale",
@@ -20,7 +20,6 @@
"The information being sent to us to help make Riot.im better includes:": "D’informoasje da noar uus wor verstuurd vo Riot.im te verbetern betreft:",
"Where this page includes identifiable information, such as a room, user or group ID, that data is removed before being sent to the server.": "Woar da da blad hier identificeerboare informoasje bevat, gelyk e gespreks-, gebruukers- of groeps-ID, goan deze gegevens verwyderd wordn voorda ze noa de server gestuurd wordn.",
"Call Failed": "Iproep mislukt",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "’t Zyn ounbekende toestelln in da gesprek hier: a je deuregoat zounder ze te verifieern goa ’t meuglik zyn da ’t er etwien jen iproep afluustert.",
"Review Devices": "Toestelln noakykn",
"Call Anyway": "Algelyk belln",
"Answer Anyway": "Algelyk beantwoordn",
@@ -108,11 +107,6 @@
"Moderator": "Moderator",
"Admin": "Beheerder",
"Start a chat": "Gesprek beginn",
- "Who would you like to communicate with?": "Me wien zou je willn communiceern?",
- "Email, name or Matrix ID": "E-mailadresse, noame, of matrix-ID",
- "Start Chat": "Gesprek beginn",
- "Invite new room members": "Nieuwe gespreksleedn uutnodign",
- "Send Invites": "Uutnodigiengn verstuurn",
"Operation failed": "Handelienge es mislukt",
"Failed to invite": "Uutnodign es mislukt",
"Failed to invite users to the room:": "Kostege de volgende gebruukers hier nie uutnodign:",
@@ -135,12 +129,7 @@
"/ddg is not a command": "/ddg is geen ipdracht",
"To use it, just wait for autocomplete results to load and tab through them.": "Voor ’t te gebruukn, wacht je toutda de automatisch angevulde resultoatn zyn geloadn en tab je derdeure.",
"Upgrades a room to a new version": "Actualiseert ’t gesprek tout e nieuwe versie",
- "Room upgrade confirmation": "Bevestigienge vo ’t gesprek te actualiseern",
- "Upgrading a room can be destructive and isn't always necessary.": "’t Ipwoardeern van e gesprek es meuglik destructief en is nie assan noodzoakelik.",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Gespreksipwoarderiengn wordn meestal anbevooln wanneer da der e bepoalde groepsgespreksversie als ounstabiel wor beschouwd. Ounstabiele groepsgespreksversies bevattn meuglik fouten of beveiligiengsprobleemn, of beschikkn nie over alle functies.",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Gespreksipwoarderiengn beïnvloedn meestal enkel de verwerkienge van ’t gesprek an serverzyde. Indien da je probleemn zoudt ounderviendn me je Riot-cliënt, gelieve da ton te meldn ip .",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Let ip: ’t ipwoardeern van e gesprek goa gespreksleedn nie automatisch verplatsn noa de nieuwe versie van ’t gesprek. We goan e koppelienge noa ’t nieuw gesprek in d’oude versie van ’t gesprek platsn - gespreksleedn goan ton ip deze koppeliengen moetn klikkn vo ’t nieuw gesprek toe te treedn.",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "Bevestigt da je da gesprek hier van wilt ipwoardeern noa .",
"Changes your display nickname": "Verandert je weergavenoame",
"Changes your display nickname in the current room only": "Stelt je weergavenoame alleene moa in ’t huudig gesprek in",
"Changes your avatar in this current room only": "Verandert jen avatar alleene moa in ’t huudig gesprek",
@@ -166,18 +155,11 @@
"Adds a custom widget by URL to the room": "Voegt met een URL een angepaste widget toe an ’t gesprek",
"Please supply a https:// or http:// widget URL": "Gift een https://- of http://-widget-URL in",
"You cannot modify widgets in this room.": "J’en kut de widgets in ’t gesprek hier nie anpassn.",
- "Verifies a user, device, and pubkey tuple": "Verifieert e combinoasje van gebruuker, toestel en publieke sleuter",
- "Unknown (user, device) pair:": "Ounbekend poar (gebruuker, toestel):",
- "Device already verified!": "Toestel es al geverifieerd gewist!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "LET IP: toestel es al geverifieerd gewist, moa de sleuters KOMMN NIE OVEREEN!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "LET IP: SLEUTERVERIFICOASJE ES MISLUKT! Den oundertekende sleuter vo %(userId)s en toestel %(deviceId)s is ‘%(fprint)s’, wuk da nie overeenkomt me de verschafte sleuter ‘%(fingerprint)s’. Da zoudt hier kunn betekenn da je communicoasje ounderschept wordt!",
"Verified key": "Geverifieerde sleuter",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "De versleuteriengssleuter da j’è verstrekt komt overeen me de versleuteriengssleuter da j’ountvangen èt van ’t toestel %(deviceId)s van %(userId)s. ’t Toestel es gemarkeerd als geverifieerd.",
"Displays action": "Toogt actie",
"Forces the current outbound group session in an encrypted room to be discarded": "Forceert de huudige uutwoartsche groepssessie in e versleuterd gesprek vo verworpn te wordn",
"Sends the given message coloured as a rainbow": "Verstuurt ’t gegeevn bericht in regenboogkleurn",
"Sends the given emote coloured as a rainbow": "Verstuurt de gegeevn emoticon in regenboogkleurn",
- "Unrecognised command:": "Ounbekende ipdracht:",
"Reason": "Reedn",
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s èt d’uutnodigienge vo %(displayName)s anveird.",
"%(targetName)s accepted an invitation.": "%(targetName)s èt een uutnodigienge anveird.",
@@ -233,7 +215,6 @@
"%(senderName)s made future room history visible to all room members.": "%(senderName)s èt de toekomstige gespreksgeschiedenisse zichtboar gemakt voor alle gespreksleedn.",
"%(senderName)s made future room history visible to anyone.": "%(senderName)s èt de toekomstige gespreksgeschiedenisse zichtboar gemakt voor iedereen.",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s èt de toekomstige gespreksgeschiedenisse zichtboar gemakt voor ounbekend (%(visibility)s).",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s èt eind-tout-eind-versleuterienge angezet (%(algorithm)s-algoritme).",
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s van %(fromPowerLevel)s noa %(toPowerLevel)s",
"%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s èt ’t machtsniveau van %(powerLevelDiffText)s gewyzigd.",
"%(senderName)s changed the pinned messages for the room.": "%(senderName)s èt de vastgeprikte boodschappn vo ’t gesprek gewyzigd.",
@@ -320,8 +301,6 @@
"Enable Community Filter Panel": "Gemeenschapsfilterpaneel inschoakeln",
"Allow Peer-to-Peer for 1:1 calls": "Peer-to-peer toeloatn voor twigesprekkn",
"Send analytics data": "Statistische gegeevns (analytics) verstuurn",
- "Never send encrypted messages to unverified devices from this device": "Versleuterde berichtn vanaf dit toestel nooit noar oungeverifieerde toestelln verstuurn",
- "Never send encrypted messages to unverified devices in this room from this device": "Versleuterde berichtn vanaf dit toestel nooit noar oungeverifieerde toestelln in dit gesprek verstuurn",
"Enable inline URL previews by default": "Inline URL-voorvertoniengn standoard inschoakeln",
"Enable URL previews for this room (only affects you)": "URL-voorvertoniengn in dit gesprek inschoakeln (geldt alleene vo joun)",
"Enable URL previews by default for participants in this room": "URL-voorvertoniengn standoard vo de gebruukers in dit gesprek inschoakeln",
@@ -363,7 +342,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "Verifieert deze gebruuker deur te bevestign da zyn/heur scherm de volgende emoji toogt.",
"Verify this user by confirming the following number appears on their screen.": "Verifieert deze gebruuker deur te bevestign da zyn/heur scherm ’t volgend getal toogt.",
"Unable to find a supported verification method.": "Kan geen oundersteunde verificoasjemethode viendn.",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Vo maximoale veiligheid ku je dit best ounder vier oogn, of via een ander vertrouwd communicoasjemedium, doen.",
"Dog": "Hound",
"Cat": "Katte",
"Lion": "Leeuw",
@@ -410,7 +388,6 @@
"Pencil": "Potlood",
"Paperclip": "Paperclip",
"Scissors": "Schoar",
- "Padlock": "Hangslot",
"Key": "Sleuter",
"Hammer": "Oamer",
"Telephone": "Telefong",
@@ -434,7 +411,6 @@
"New passwords don't match": "Nieuwe paswoordn kommn nie overeen",
"Passwords can't be empty": "Paswoordn kunn nie leeg zyn",
"Warning!": "Let ip!",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "’t Verandern van ’t paswoord goa vooralsnog alle sleuters voor eind-tout-eind-versleuterienge ip alle toestelln herinstelln, woadeure da de versleuterde gespreksgeschiedenisse ounleesboar wordt, tenzy da je eest je gesprekssleuters exporteert en nadien herimporteert. Dit goat in den toekomst verbeterd wordn.",
"Export E2E room keys": "E2E-gesprekssleuters exporteern",
"Do you want to set an email address?": "Wil je een e-mailadresse instelln?",
"Current password": "Huudig paswoord",
@@ -442,11 +418,7 @@
"New Password": "Nieuw paswoord",
"Confirm password": "Bevestig ’t paswoord",
"Change Password": "Paswoord verandern",
- "Your homeserver does not support device management.": "Je thuusserver oundersteunt geen toestelbeheer.",
- "Unable to load device list": "Kan de lyste van toestelln nie loadn",
"Authentication": "Authenticoasje",
- "Delete %(count)s devices|other": "%(count)s toestelln verwydern",
- "Delete %(count)s devices|one": "Toestel verwydern",
"Device ID": "Toestel-ID",
"Last seen": "Latst gezien",
"Failed to set display name": "Instelln van weergavenoame es mislukt",
@@ -469,25 +441,11 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Versleuterde berichtn zyn beveiligd me eind-tout-eind-versleuterienge. Alleene d’ountvanger(s) en gy èn de sleuters vo deze berichtn te leezn.",
"Unable to load key backup status": "Kostege de sleuterback-upstatus nie loadn",
"Restore from Backup": "Herstelln uut back-up",
- "This device is backing up your keys. ": "Dit toestel makt een back-up van je sleuters. ",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "Dit toestel makt geen back-up van je sleuters, ma j’èt wel een bestoande back-up da je kut herstelln, en da je vanaf ton nieuwe sleuters an kut toevoegn.",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "Verbindt dit toestel me de sleuterback-up vooraleer da je jen afmeldt vo sleuters die hunder alleene mo ip dit toestel bevindn nie kwyt te speeln.",
- "Connect this device to Key Backup": "Dit toestel verbindn me de sleuterback-up",
"Backing up %(sessionsRemaining)s keys...": "%(sessionsRemaining)s sleuters wordn geback-upt…",
"All keys backed up": "Alle sleuters zyn geback-upt",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "De back-up èt een oundertekenienge van een ounbekend toestel met ID %(deviceId)s.",
- "Backup has a valid signature from this device": "De back-up èt e geldige oundertekenienge van dit toestel",
- "Backup has an invalid signature from this device": "De back-up èt een oungeldige ondertekenienge van dit toestel",
- "Backup has a valid signature from verified device ": "De back-up èt e geldige oundertekenienge van e geverifieerd toestel ",
- "Backup has a valid signature from unverified device ": "De back-up èt e geldige oundertekenienge van een oungeverifieerd toestel ",
- "Backup has an invalid signature from verified device ": "De back-up èt een oungeldige oundertekenienge van e geverifieerd toestel ",
- "Backup has an invalid signature from unverified device ": "De back-up èt een oungeldige oundertekenienge van een oungeverifieerd toestel ",
- "Backup is not signed by any of your devices": "De back-up es door geen van je toestelln oundertekend",
- "This backup is trusted because it has been restored on this device": "Deze back-up wor vertrouwd, omda t'n ip dit toestel hersteld es gewist",
"Advanced": "Geavanceerd",
"Backup version: ": "Back-upversie: ",
"Algorithm: ": "Algoritme: ",
- "Your keys are not being backed up from this device.": "Je sleuters wordn nie geback-upt van dit toestel.",
"Back up your keys before signing out to avoid losing them.": "Makt een back-up van je sleuters vooraleer da je jen afmeldt vo ze nie kwyt te speeln.",
"Start using Key Backup": "Begint me de sleuterback-up te gebruukn",
"Error saving email notification preferences": "Foute by ’t ipsloan van de meldingsvoorkeurn voor e-mail",
@@ -511,9 +469,7 @@
"Advanced notification settings": "Geavanceerde meldiengsinstelliengn",
"There are advanced notifications which are not shown here": "Der zyn geavanceerde meldiengn dat hier nie getoogd wordn",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "J’è ze meuglik ingesteld in een andere cliënt als Riot. Je ku ze nie anpassn in Riot, moa ze zyn wel actief",
- "Enable desktop notifications for this device": "Bureaubladmeldiengn inschoakeln vo dit toestel",
"Show message in desktop notification": "Bericht toogn in bureaubladmeldienge",
- "Enable audible notifications for this device": "Geluudsmeldiengn inschoakeln vo dit toestel",
"Off": "Uut",
"On": "An",
"Noisy": "Lawoaierig",
@@ -522,14 +478,12 @@
"Verification code": "Verificoasjecode",
"Phone Number": "Telefongnumero",
"Profile picture": "Profielfoto",
- "Upload profile picture": "Profielfoto iploaden",
"Upgrade to your own domain": "Ipwoardeert noa jen eigen domein",
"Display Name": "Weergavenoame",
"Save": "Ipsloan",
"Flair": "Badge",
"Failed to change password. Is your password correct?": "Wyzign van ’t paswoord es mislukt. Es je paswoord wel juste?",
"Success": "Gereed",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Je paswoord es gewyzigd. Je goat ip andere toestelln geen pushmeldiengn nie meer ountvangn toutda je je der ip heranmeldt",
"Profile": "Profiel",
"Account": "Account",
"Set a new account password...": "Stelt e nieuw accountpaswoord in…",
@@ -555,7 +509,6 @@
"Submit debug logs": "Foutipsporiengslogboekn indienn",
"FAQ": "VGV",
"Versions": "Versies",
- "matrix-react-sdk version:": "matrix-react-sdk-versie:",
"riot-web version:": "riot-web-versie:",
"olm version:": "olm-versie:",
"Homeserver is": "Thuusserver es",
@@ -574,15 +527,12 @@
"": "",
"Import E2E room keys": "E2E-gesprekssleuters importeern",
"Cryptography": "Cryptografie",
- "Device ID:": "Toestel-ID:",
- "Device key:": "Toestelsleuter:",
"Ignored users": "Genegeerde gebruukers",
"Bulk options": "Bulkopties",
"Accept all %(invitedRooms)s invites": "Alle %(invitedRooms)s-uutnodigiengn anveirdn",
"Reject all %(invitedRooms)s invites": "Alle %(invitedRooms)s-uutnodigiengn weigern",
"Key backup": "Sleuterback-up",
"Security & Privacy": "Veiligheid & privacy",
- "Devices": "Toestelln",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot verzoamelt anonieme analysegegeevns da ’t meuglik moakn van de toepassienge te verbetern.",
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privacy es belangryk voor uus, dus me verzoameln geen persoonlike of identificeerboare gegeevns voor uzze gegeevnsanalyse.",
"Learn more about how we use analytics.": "Leest meer over hoe da we joun gegeevns gebruukn.",
@@ -663,22 +613,11 @@
" (unsupported)": " (nie oundersteund)",
"Join as voice or video.": "Deelneemn me sproak of video.",
"Ongoing conference call%(supportedText)s.": "Loopnd vergoaderiengsgesprek %(supportedText)s.",
- "Some devices for this user are not trusted": "Der wordn enkele toestelln van deze gebruuker nie vertrouwd",
- "Some devices in this encrypted room are not trusted": "Der wordn enkele toestelln in dit versleuterd gesprek nie vertrouwd",
- "All devices for this user are trusted": "Alle toestelln van deze gebruuker wordn vertrouwd",
- "All devices in this encrypted room are trusted": "Alle toestelln in dit versleuterd gesprek wordn vertrouwd",
"This event could not be displayed": "Deze gebeurtenisse kostege nie weergegeevn wordn",
"%(senderName)s sent an image": "%(senderName)s èt e fotootje gestuurd",
"%(senderName)s sent a video": "%(senderName)s èt e filmtje gestuurd",
"%(senderName)s uploaded a file": "%(senderName)s èt e bestand ipgeloaden",
- "Your key share request has been sent - please check your other devices for key share requests.": "Je sleuterdeelverzoek es verstuurd - controleer jen andere toestelln vo sleuterdeelverzoekn.",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "Sleuterdeelverzoekn wordn automatisch noar andere toestelln verstuurd. A je ’t verzoek èt afgeweezn of geslootn, klikt ton hier vo de sleuters van deze sessie heran te vroagn.",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "Je goat dit bericht nie kunn ountsleutern als geen van jen andere toestellen der de sleuter voor èt.",
"Key request sent.": "Sleuterverzoek verstuurd.",
- "Re-request encryption keys from your other devices.": "Versleuteriengssleuters heranvroagn van jen andere toestelln.",
- "Undecryptable": "Ounountsleuterboar",
- "Encrypted by an unverified device": "Versleuterd deur een oungeverifieerd toestel",
- "Unencrypted message": "Ounversleuterd bericht",
"Please select the destination room for this message": "Selecteer ’t bestemmingsgesprek vo dit bericht",
"Scroll to bottom of page": "Scrollt noa den onderkant van ’t blad",
"device id: ": "toestel-ID: ",
@@ -698,7 +637,6 @@
"Failed to toggle moderator status": "Anpassn van moderatorstatus es mislukt",
"Failed to change power level": "Wyzign van ’t machtsniveau es mislukt",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Je kut deze veranderiengn nie oungedoan moakn angezien da je de gebruuker tout ’tzelfste niveau als jen eigen promoveert.",
- "No devices with registered encryption keys": "Geen toestelln me geregistreerde versleuteriengssleuters",
"Ignore": "Negeern",
"Jump to read receipt": "Noar ’t latst geleezn bericht goan",
"Mention": "Vermeldn",
@@ -718,34 +656,20 @@
"Invited": "Uutgenodigd",
"Filter room members": "Gespreksleedn filtern",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (macht %(powerLevelNumber)s)",
- "bold": "vetgedrukt",
- "italic": "scheefgedrukt",
- "deleted": "verwyderd",
- "underlined": "ounderstreept",
- "inline-code": "code",
- "block-quote": "citoat",
- "bulleted-list": "ipsommienge",
- "numbered-list": "genummerde lyste",
"Voice call": "Sproakiproep",
"Video call": "Video-iproep",
"Hangup": "Iphangn",
- "Show Text Formatting Toolbar": "Tekstipmoakwerkbalk toogn",
"Upload file": "Bestand iploadn",
"Send an encrypted reply…": "Verstuurt e versleuterd antwoord…",
"Send a reply (unencrypted)…": "Verstuurt een antwoord (ounversleuterd)…",
"Send an encrypted message…": "Verstuurt e versleuterd bericht…",
"Send a message (unencrypted)…": "Verstuurt een bericht (ounversleuterd)…",
- "Markdown is disabled": "Markdown is uutgeschoakeld",
- "Hide Text Formatting Toolbar": "Tekstipmoakwerkbalk wegsteekn",
"The conversation continues here.": "’t Gesprek goat hier verder.",
"This room has been replaced and is no longer active.": "Dit gesprek is vervangn gewist en is nie langer actief.",
"You do not have permission to post to this room": "J’èt geen toestemmienge voor in dit gesprek te postn",
"Server error": "Serverfoute",
"Server unavailable, overloaded, or something else went wrong.": "De server is ounbereikboar of overbelast, of der is etwat anders foutgegoan.",
"Command error": "Ipdrachtfoute",
- "Unable to reply": "Kostege nie reageern",
- "At this time it is not possible to reply with an emote.": "’t Es nog nie meuglik met een emoticon te reageern.",
- "Markdown is enabled": "Markdown es ingeschoakeld",
"No pinned messages.": "Geen vastgeprikte berichtn.",
"Loading...": "Bezig me loadn…",
"Pinned Messages": "Vastgeprikte berichtn",
@@ -781,7 +705,6 @@
"Community Invites": "Gemeenschapsuutnodigiengn",
"Invites": "Uutnodigiengn",
"Favourites": "Favorietn",
- "People": "Menschn",
"Start chat": "Gesprek beginn",
"Rooms": "Gesprekkn",
"Low priority": "Leige prioriteit",
@@ -842,8 +765,6 @@
"There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "’t Es e foute ipgetreedn by ’t bywerkn van ’t hoofdadresse van ’t gesprek. Dit wor meugliks nie toegeloatn deur de server, of der es een tydelik probleem ipgetreedn.",
"Error creating alias": "Foute by ’t anmoakn van de bynoame",
"There was an error creating that alias. It may not be allowed by the server or a temporary failure occurred.": "’t Es e foute ipgetreedn by ’t anmoakn van die bynoame. Dit wor meugliks nie toegeloatn deur de server, of der is een tydelik probleem ipgetreedn.",
- "Invalid alias format": "Oungeldig bynoamformoat",
- "'%(alias)s' is not a valid format for an alias": "‘%(alias)s’ es geen geldig formoat voor e bynoame",
"Error removing alias": "Foute by ’t verwydern van de bynoame",
"There was an error removing that alias. It may no longer exist or a temporary error occurred.": "’t Es e foute ipgetreedn by ’t verwydern van die bynoame. Meugliks bestoa ze nie mi, of der es een tydelike foute ipgetreedn.",
"Main address": "Hoofdadresse",
@@ -860,8 +781,6 @@
"This room is not showing flair for any communities": "Dit gesprek toogt geen badges vo gemeenschappn",
"New community ID (e.g. +foo:%(localDomain)s)": "Nieuwe gemeenschaps-ID (bv. +foo:%(localDomain)s)",
"Room avatar": "Gespreksavatar",
- "Upload room avatar": "Gespreksavatar iploadn",
- "No room avatar": "Geen gespreksavatar",
"Room Name": "Gespreksnoame",
"Room Topic": "Gespreksounderwerp",
"You have enabled URL previews by default.": "J’èt URL-voorvertoniengn standoard ingeschoakeld.",
@@ -1080,7 +999,6 @@
"Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "De zichtboarheid van berichtn in Matrix is lik by e-mails. ’t Vergeetn van je berichtn betekent da berichtn da je gy è verstuurd nie mi gedeeld goan wordn me nieuwe of oungeregistreerde gebruukers, mo geregistreerde gebruukers dat al toegank han tout deze berichtn goan nog assan toegank èn tout hunder eigen kopie dervan.",
"Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Vergeet alle berichtn dan ’kik verstuurd ghed èn wanneer da myn account gedeactiveerd gewist es (Let ip: dit goat der voorn zorgn da toekomstige gebruukers een ounvolledig beeld krygn van gesprekkn)",
"To continue, please enter your password:": "Gif je paswoord in vo verder te goan:",
- "Verify device": "Toestel verifieern",
"Use Legacy Verification (for older clients)": "Verouderde verificoasje gebruukn (voor oudere cliëntn)",
"Verify by comparing a short text string.": "Verifieert deur e korte tekenreekse te vergelykn.",
"Begin Verifying": "Verificoasje beginn",
@@ -1088,10 +1006,6 @@
"Nothing appearing? Not all clients support interactive verification yet. Use legacy verification.": "Verschynt er nietent? Nog nie alle cliëntn biedn oundersteunienge voor interactieve verificoasje. Gebruukt verouderde verificoasje.",
"Waiting for %(userId)s to confirm...": "Wachtn ip bevestigienge van %(userId)s…",
"Use two-way text verification": "Twirichtiengstekstverificoasje gebruukn",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Neemt ip een andere manier (bv. ounder vier oogn of telefonisch) contact op me den eigenoar vo te controleern of da dit toestel vertrouwd ku wordn, en vroagt of da de sleuter vo dit toestel in hunder Gebruukersinstelliengn gelyk is an ounderstoande sleuter:",
- "Device name": "Toestelnoame",
- "Device key": "Toestelsleuter",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Klikt hieroundern ip de knop ‘Verifieern’ a de sleuters overeenkommn. Zo niet druk j’ip de knop ‘Blokkeern’, want ton is ’t er etwien da de berichtn noa dit toestel an ’t ounderscheppn is.",
"I verify that the keys match": "’k Verifieern dan de sleuters overeenkommn",
"Back": "Were",
"Send Custom Event": "Angepaste gebeurtenisse verstuurn",
@@ -1110,15 +1024,11 @@
"Developer Tools": "Ountwikkeliengsgereedschap",
"An error has occurred.": "’t Is e foute ipgetreedn.",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verifieert deze gebruuker vo n’hem/heur als vertrouwd te markeern. Gebruukers vertrouwn gift je extra gemoedsrust by ’t gebruuk van eind-tout-eind-versleuterde berichtn.",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Deze gebruuker verifieern goat hunder toestel als vertrouwd markeern, en ook joun toestel voor hunder als vertrouwd markeern.",
"Waiting for partner to confirm...": "Wachtn ip bevestigienge van partner…",
"Incoming Verification Request": "Inkomend verificoasjeverzoek",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "J’èt e nieuw toestel ‘%(displayName)s’ toegevoegd, dat achter versleuteriengssleuters vroagt.",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "Jen oungeverifieerd toestel ‘%(displayName)s’ vroagt achter versleuteriengssleuters.",
"Start verification": "Verificoasje beginn",
"Share without verifying": "Deeln zounder verificoasje",
"Ignore request": "Verzoek negeern",
- "Loading device info...": "Toestelinformoasje wor geloadn…",
"Encryption key request": "Verzoek vo versleuteriengssleuter",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "J’èt al e ki Riot ip %(host)s gebruukt me lui loadn van leedn ingeschoakeld. In deze versie is lui laden uutgeschoakeld. Me da de lokoale cache nie compatibel is tusschn deze twi instelliengn, moe Riot jen account hersynchroniseern.",
"If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Indien dat d’andere versie van Riot nog in een ander tabblad is geopend, sluut je da best, want Riot ip dezelfsten host tegelykertyd me lui loadn ingeschoakeld en uutgeschoakeld gebruukn goa vo probleemn zorgn.",
@@ -1171,7 +1081,6 @@
"Remember, you can always set an email address in user settings if you change your mind.": "Onthoudt da je nog assan een e-mailadresse kut instelln in de gebruukersinstelliengn.",
"(HTTP status %(httpStatus)s)": "(HTTP-status %(httpStatus)s)",
"Please set a password!": "Stelt e paswoord in!",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "Hiermee ku je noa jen account werekeern nada je j’afgemeld èt, en jen anmeldn ip andere toestelln.",
"Share Room": "Gesprek deeln",
"Link to most recent message": "Koppelienge noa ’t recentste bericht",
"Share User": "Gebruuker deeln",
@@ -1183,11 +1092,6 @@
"Missing session data": "Sessiegegeevns ountbreekn",
"Some session data, including encrypted message keys, is missing. Sign out and sign in to fix this, restoring keys from backup.": "Sommige sessiegegeevns, inclusief sleuters vo versleuterde berichtn, ountbreekn. Meldt jen af en were an vo dit ip te lossn, en herstelt de sleuters uut den back-up.",
"Your browser likely removed this data when running low on disk space.": "Je browser èt deze gegeevns meugliks verwyderd toen da de beschikboare ipslagruumte vul was.",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Vo de moment sluut je oungeverifieerde toestelln uut; vo berichtn noa deze toestelln te verstuurn moe je ze verifieern.",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "We roadn je an van ieder toestel te verifieern vo te kunn vastestelln of da ze tout de rechtmatigen eigenoar behoorn, moa je kut ’t bericht ook zounder verificoasje verstuurn.",
- "Room contains unknown devices": "’t Gesprek bevat ounbekende toestelln",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "‘%(RoomName)s’ bevat toestelln da je nog nie gezien ghed èt.",
- "Unknown devices": "Ounbekende toestelln",
"Upload files (%(current)s of %(total)s)": "Bestandn wordn ipgeloadn (%(current)s van %(total)s)",
"Upload files": "Bestandn iploadn",
"Upload": "Iploadn",
@@ -1221,7 +1125,6 @@
"This looks like a valid recovery key!": "Dit is e geldigen herstelsleuter!",
"Not a valid recovery key": "Geen geldigen herstelsleuter",
"Access your secure message history and set up secure messaging by entering your recovery key.": "Verkrygt toegank tout je beveiligde berichtgeschiedenisse en stel beveiligd chattn in door jen herstelsleuter in te geevn.",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "A je jen herstelpaswoord zy vergeetn, ku je nieuwe herstelopties instelln",
"Private Chat": "Privégesprek",
"Public Chat": "Openboar gesprek",
"Custom": "Angepast",
@@ -1407,8 +1310,6 @@
"Couldn't find a matching Matrix room": "Kostege geen byhoornd Matrix-gesprek viendn",
"Fetching third party location failed": "’t Iphoaln van de locoasje van de derde party is mislukt",
"Unable to look up room ID from server": "Kostege de gesprek-ID nie van de server iphoaln",
- "Message not sent due to unknown devices being present": "Bericht nie verstuurd doorda der ounbekende toestelln anwezig zyn",
- "Show devices, send anyway or cancel.": "Toestelln toogn, algelyk verstuurn of annuleern.",
"You can't send any messages until you review and agree to our terms and conditions.": "Je ku geen berichtn stuurn toutda je uzze algemene voorwoardn geleezn en anveird ghed èt.",
"Your message wasn't sent because this homeserver has hit its Monthly Active User Limit. Please contact your service administrator to continue using the service.": "Je bericht is nie verstuurd gewist omda deze thuusserver z’n limiet vo moandeliks actieve gebruukers bereikt ghed èt. Gelieve contact ip te neemn me jen dienstbeheerder vo de dienst te bluuvn gebruukn.",
"Your message wasn't sent because this homeserver has exceeded a resource limit. Please contact your service administrator to continue using the service.": "Je bericht is nie verstuurd gewist omda deze thuusserver e systeembronlimiet overschreedn ghed èt. Gelieve contact ip te neemn me jen dienstbeheerder vo de dienst te bluuvn gebruukn.",
@@ -1450,7 +1351,6 @@
"The email address linked to your account must be entered.": "’t E-mailadresse da me joun account verboundn is moet ingegeevn wordn.",
"A new password must be entered.": "’t Moet e nieuw paswoord ingegeevn wordn.",
"New passwords must match each other.": "Nieuwe paswoordn moetn overeenkommn.",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "Je paswoord herinstelln goat alle sleuters voor eind-tout-eind-versleuterienge ip al je toestelln herinstelln, woadeure da je versleuterde gesprekgeschiedenisse ounleesboar wordt. Stelt de sleuterback-up in of exporteer je gesprekssleuters van ip een ander toestel vooraleer da je je paswoord herinstelt.",
"Your Matrix account on %(serverName)s": "Je Matrix-account ip %(serverName)s",
"Your Matrix account on ": "Je Matrix-account ip ",
"A verification email will be sent to your inbox to confirm setting your new password.": "’t Is e verificoasje-e-mail noa joun gestuurd gewist vo ’t instelln van je nieuw paswoord te bevestign.",
@@ -1459,7 +1359,6 @@
"An email has been sent to %(emailAddress)s. Once you've followed the link it contains, click below.": "’t Is een e-mail noar %(emailAddress)s verstuurd gewist. Klikt hieroundern van zodra da je de koppelienge derin gevolgd ghed èt.",
"I have verified my email address": "’k Èn myn e-mailadresse geverifieerd",
"Your password has been reset.": "Je paswoord is heringesteld.",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "Je zyt afgemeld ip al je toestelln en je goa geen pushmeldiengn nie mi ountvangn. Meldt jen ip ieder toestel heran vo were meldiengn t’ountvangn.",
"Return to login screen": "Were noa ’t anmeldiengsscherm",
"Set a new password": "Stelt e nieuw paswoord in",
"Invalid homeserver discovery response": "Oungeldig thuusserverountdekkiengsantwoord",
@@ -1511,7 +1410,6 @@
"Decryption error": "Ountsleuteriengsfoute",
"Session ID": "Sessie-ID",
"Event information": "Gebeurtenisinformoasje",
- "Sender device information": "Info over toestel van afzender",
"Passphrases must match": "Paswoordn moetn overeenkommn",
"Passphrase must not be empty": "Paswoord meug nie leeg zyn",
"Export room keys": "Gesprekssleuters exporteern",
@@ -1538,17 +1436,13 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "Als veiligheidsnet ku je dit gebruukn vo je versleuterde berichtgeschiedenisse t’herstelln indien da je jen herstelpaswoord zou vergeetn.",
"As a safety net, you can use it to restore your encrypted message history.": "Als veiligheidsnet ku je ’t gebruukn vo je versleuterde berichtgeschiedenisse t’herstelln.",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "Jen herstelsleuter is e veiligheidsnet - je kut hem gebruukn vo de toegank tou je versleuterde berichtn t’herstelln indien da je je paswoord zou vergeetn.",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "Bewoar jen herstelsleuter ip e heel veilige plekke, lik e paswoordbeheerder (of e kluuze)",
"Your Recovery Key": "Jen herstelsleuter",
"Copy to clipboard": "Kopieern noa ’t klembord",
"Download": "Downloadn",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "Jen herstelsleuter is gekopieerd noa je klembord, plakt hem in:",
- "Your Recovery Key is in your Downloads folder.": "Jen herstelsleuter bevindt hem in je Downloads-mappe.",
"Print it and store it somewhere safe": "Print hem af en bewoart hem ip e veilige plekke",
"Save it on a USB key or backup drive": "Sloat hem ip ip een USB-stick of e back-upschyf",
"Copy it to your personal cloud storage": "Kopieert hem noa je persoonlike cloudipslag",
"Your keys are being backed up (the first backup could take a few minutes).": "’t Wordt e back-up van je sleuters gemakt (den eesten back-up kut e poar minuutn deurn).",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "Zounder veilig berichtherstel in te stelln, goa je je versleuterde berichtgeschiedenisse nie kunn herstelln indien da je jen afmeldt of een ander toestel gebruukt.",
"Set up Secure Message Recovery": "Veilig berichtherstel instelln",
"Secure your backup with a passphrase": "Beveilig je back-up met e paswoord",
"Confirm your passphrase": "Bevestig je paswoord",
@@ -1566,12 +1460,9 @@
"New Recovery Method": "Nieuwe herstelmethode",
"A new recovery passphrase and key for Secure Messages have been detected.": "’t Zyn e nieuw herstelpaswoord en e nieuwen herstelsleuter vo beveiligde berichtn gedetecteerd.",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "A je gy deze nieuwe herstelmethode nie èt ingesteld, is ’t meuglik dat der een anvaller toegank tout jen account probeert te verkrygn. Wyzigt ounmiddellik jen accountpaswoord en stelt e nieuwe herstelmethode in in d’instelliengn.",
- "This device is encrypting history using the new recovery method.": "Dit toestel versleutert de geschiedenisse met de nieuwe herstelmethode.",
"Go to Settings": "Goa noa d’instelliengn",
"Set up Secure Messages": "Beveiligde berichtn instelln",
"Recovery Method Removed": "Herstelmethode verwyderd",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "Dit toestel è gedetecteerd da jen herstelpaswoord en -sleuter vo beveiligde berichtn zyn verwyderd.",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "A je dit per accident è gedoan, ku je beveiligde berichtn instelln ip dit toestel, woamee da de berichtgeschiedenisse van dit toestel herversleuterd goa wordn met e nieuwe herstelmethode.",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "A je de herstelmethode nie è verwyderd, is ’t meuglik dat der een anvaller toegank tout jen account probeert te verkrygn. Wyzigt ounmiddellik jen accountpaswoord en stelt e nieuwe herstelmethode in in d’instelliengn.",
"Failed to set direct chat tag": "Instelln van twigesprekslabel is mislukt",
"Failed to remove tag %(tagName)s from room": "Verwydern van %(tagName)s-label van gesprek is mislukt",
@@ -1612,8 +1503,6 @@
"Changes your avatar in all rooms": "Verandert jen avatar in alle gesprekkn",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Vertelt uus wuk dat der verkeerd is geloopn, of nog beter, makt e foutmeldienge an ip GitHub woarin da je 't probleem beschryft.",
"Removing…": "Bezig me te verwydern…",
- "Clear all data on this device?": "Alle gegeevns ip dit toestel wissn?",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Gewiste gegeevns kunn nie weregehoald wirdn. Versleuterde berichtn goan verloorn goan, tenzy dad hunder sleuters geback-upt gewist zyn.",
"Clear all data": "Alle gegeevns wissn",
"Your homeserver doesn't seem to support this feature.": "Je thuusserver biedt geen oundersteunienge vo deze functie.",
"Resend edit": "Bewerkienge herverstuurn",
@@ -1629,15 +1518,12 @@
"Service": "Dienst",
"Summary": "Soamnvattienge",
"This account has been deactivated.": "Deezn account is gedeactiveerd gewist.",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "Herkrygt den toegank tou jen account en herstelt de versleuteriengssleuters dan ip dit toestel ipgesloagn gewist zyn. Zounder deze sleuters goa je je versleuterde berichtn nie kunn leezn ip andere toestelln.",
"Enter your password to sign in and regain access to your account.": "Voert je paswoord in vo jen an te meldn en den toegank tou jen account te herkrygn.",
"Forgotten your password?": "Paswoord vergeetn?",
"Sign in and regain access to your account.": "Meldt jen heran en herkrygt den toegank tou jen account.",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "Je ku je nie anmeldn me jen account. Nimt contact ip me de beheerder van je thuusserver vo meer informoasje.",
"You're signed out": "Je zyt afgemeld",
"Clear personal data": "Persoonlike gegeevns wissn",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "Let ip: je persoonlike gegeevns (inclusief versleuteriengssleuters) wordn nog alsan ip dit toestel ipgesloagn. Wist ze a je gereed zyt me ’t toestel te gebruukn, of a je je wilt anmeldn me nen andern account.",
- "Failed to start chat": "Gesprek beginn is mislukt",
"Messages": "Berichtn",
"Actions": "Acties",
"Displays list of commands with usages and descriptions": "Toogt e lyste van beschikboare ipdrachtn, met hunder gebruukn en beschryviengn",
@@ -1665,7 +1551,6 @@
"Please enter verification code sent via text.": "Gift de verificoasjecode in da je in een smse gekreegn ghed èt.",
"Discovery options will appear once you have added a phone number above.": "Ountdekkiengsopties goan verschynn a j’e telefongnumero toegevoegd ghed èt.",
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "’t Is een smse versteur noa +%(msisdn)s. Gift de verificoasjecode in da derin stoat.",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "Controleert of da de sleuter da j’in je Gebruukersinstelliengn ip da toestel ziet overeenkomt me de sleuter hierounder vo te verifieern da ’t toestel ku vertrouwd wordn:",
"Command Help": "Hulp by ipdrachtn",
"No identity server is configured: add one in server settings to reset your password.": "’t Is geen identiteitsserver geconfigureerd gewist: voegt der één toe in de serverinstelliengn vo je paswoord herin te stelln.",
"Call failed due to misconfigured server": "Iproep mislukt door verkeerd gecounfigureerde server",
diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json
index 5043525676..58e4130d99 100644
--- a/src/i18n/strings/zh_Hans.json
+++ b/src/i18n/strings/zh_Hans.json
@@ -8,7 +8,6 @@
"Decryption error": "解密出错",
"Default": "默认",
"Device ID": "设备 ID",
- "Devices": "设备列表",
"Direct chats": "私聊",
"Disinvite": "取消邀请",
"Displays action": "显示操作",
@@ -49,14 +48,12 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s 从 %(fromPowerLevel)s 变为 %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "即使有人主动邀请,游客也不能加入此聊天室。",
"Hangup": "挂断",
- "Hide Text Formatting Toolbar": "隐藏格式工具栏",
"Historical": "历史",
"Homeserver is": "主服务器是",
"Identity Server is": "身份认证服务器是",
"I have verified my email address": "我已经验证了我的邮箱地址",
"Import E2E room keys": "导入聊天室端到端加密密钥",
"Incorrect verification code": "验证码错误",
- "Invalid alias format": "别名格式无效",
"Invalid Email Address": "邮箱地址格式错误",
"Invalid file%(extra)s": "非法文件%(extra)s",
"Return to login screen": "返回登录页面",
@@ -70,8 +67,6 @@
"Search": "搜索",
"Search failed": "搜索失败",
"Searches DuckDuckGo for results": "搜索 DuckDuckGo",
- "Sender device information": "发送者的设备信息",
- "Send Invites": "发送邀请",
"Send Reset Email": "发送密码重设邮件",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s 发送了一张图片。",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s 向 %(targetDisplayName)s 发了加入聊天室的邀请。",
@@ -90,7 +85,6 @@
"%(count)s of your messages have not been sent.|other": "部分消息未发送。",
"Someone": "某位用户",
"Start a chat": "创建聊天",
- "Start Chat": "开始聊天",
"Submit": "提交",
"Success": "成功",
"This email address is already in use": "此邮箱地址已被使用",
@@ -111,7 +105,6 @@
"Confirm password": "确认密码",
"Continue": "继续",
"Ed25519 fingerprint": "Ed25519指纹",
- "Invite new room members": "邀请新的聊天室成员",
"Join Room": "加入聊天室",
"%(targetName)s joined the room.": "%(targetName)s 已加入聊天室。",
"Jump to first unread message.": "跳到第一条未读消息。",
@@ -149,7 +142,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s 移除了聊天室名称。",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s 将话题修改为 “%(topic)s”。",
"Changes your display nickname": "修改昵称",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "目前,修改密码会导致所有设备上的端到端密钥被重置,使得加密的聊天记录不再可读。除非事先导出你的密钥,并在密码修改后导入回去。此问题将会在未来得到改善。",
"Click to mute audio": "点此静音",
"Click to mute video": "点此静音",
"click to reveal": "点击展开",
@@ -161,14 +153,10 @@
"Custom": "自定义",
"Custom level": "自定义级别",
"Decline": "拒绝",
- "Device already verified!": "设备已验证!",
- "Device ID:": "设备 ID:",
"device id: ": "设备 ID: ",
- "Device key:": "设备密钥 :",
"Disable Notifications": "关闭消息通知",
"Drop File Here": "把文件拖拽到这里",
"Enable Notifications": "启用消息通知",
- "Encrypted by an unverified device": "由未验证设备加密",
"Enter passphrase": "输入密码",
"Error: Problem communicating with the given homeserver.": "错误: 与指定的主服务器通信时出错。",
"Export": "导出",
@@ -184,15 +172,12 @@
"Invited": "已邀请",
"Invites": "邀请",
"Invites user with given id to current room": "按照 ID 邀请指定用户加入当前聊天室",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' 不符合别名的格式",
"Sign in with": "第三方登录",
- "Message not sent due to unknown devices being present": "消息未发送,因为有未知的设备存在",
"Missing room_id in request": "请求中没有 聊天室 ID",
"Missing user_id in request": "请求中没有 user_id",
"Moderator": "协管员",
"Mute": "静音",
"Name": "姓名",
- "Never send encrypted messages to unverified devices from this device": "在此设备上,从不对未经验证的设备发送消息",
"New passwords don't match": "两次输入的新密码不符",
"none": "无",
"not specified": "未指定",
@@ -229,9 +214,6 @@
"%(targetName)s left the room.": "%(targetName)s 退出了聊天室。",
"Logout": "登出",
"Low priority": "低优先级",
- "Markdown is disabled": "Markdown 已禁用",
- "Markdown is enabled": "Markdown 已启用",
- "matrix-react-sdk version:": "matrix-react-sdk 版本:",
"No more results": "没有更多结果",
"olm version:": "olm 版本:",
"Only people who have been invited": "只有被邀请的人",
@@ -256,8 +238,6 @@
"Make Moderator": "使成为主持人",
"Room": "聊天室",
"Connectivity to the server has been lost.": "到服务器的连接已经丢失。",
- "bold": "加粗",
- "italic": "斜体",
"New Password": "新密码",
"Options": "选项",
"Passphrases must match": "密码必须匹配",
@@ -270,9 +250,6 @@
"Unknown error": "未知错误",
"Incorrect password": "密码错误",
"To continue, please enter your password.": "请输入你的密码继续。",
- "Device name": "设备名称",
- "Device key": "设备密钥",
- "Verify device": "验证设备",
"I verify that the keys match": "我验证此密钥匹配",
"Unable to restore session": "无法恢复会话",
"Blacklist": "列入黑名单",
@@ -290,7 +267,6 @@
"Skip": "跳过",
"Start verification": "开始验证",
"Ignore request": "忽略请求",
- "Loading device info...": "正在加载设备信息...",
"Example": "例子",
"Create": "创建",
"Failed to upload image": "上传图像失败",
@@ -311,11 +287,9 @@
"Revoke Moderator": "撤销主持人",
"Remote addresses for this room:": "此聊天室的远程地址:",
"Results from DuckDuckGo": "来自 DuckDuckGo 的结果",
- "Room contains unknown devices": "聊天室包含未知设备",
"%(roomName)s does not exist.": "%(roomName)s 不存在。",
"Save": "保存",
"Send anyway": "仍然发送",
- "Show Text Formatting Toolbar": "显示文本格式工具栏",
"This room has no local addresses": "此聊天室没有本地地址",
"This doesn't appear to be a valid email address": "这似乎不是有效的邮箱地址",
"This phone number is already in use": "此手机号码已被使用",
@@ -325,10 +299,7 @@
"Unban": "解除封禁",
"Unable to capture screen": "无法录制屏幕",
"Unable to enable Notifications": "无法启用通知",
- "Unable to load device list": "无法加载设备列表",
- "Undecryptable": "无法解密",
"unencrypted": "未加密的",
- "Unencrypted message": "未加密消息",
"unknown caller": "未知呼叫者",
"unknown device": "未知设备",
"Unnamed Room": "未命名的聊天室",
@@ -361,7 +332,6 @@
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s 设定历史浏览功能为 未知的 (%(visibility)s).",
"AM": "上午",
"PM": "下午",
- "People": "联系人",
"Profile": "个人配置",
"Public Chat": "公开的",
"%(roomName)s is not accessible at this time.": "%(roomName)s 此时无法访问。",
@@ -375,13 +345,9 @@
"Automatically replace plain text Emoji": "将符号表情转换为 Emoji",
"Unable to verify email address.": "无法验证邮箱地址。",
"Unknown room %(roomId)s": "未知聊天室 %(roomId)s",
- "Unknown (user, device) pair:": "未知(用户,设备)对:",
- "Unrecognised command:": "无法识别的命令:",
"Unrecognised room alias:": "无法识别的聊天室别名:",
"(no answer)": "(无回复)",
- "WARNING: Device already verified, but keys do NOT MATCH!": "警告:设备已验证,但密钥不匹配!",
"Who can access this room?": "谁有权访问此聊天室?",
- "Who would you like to communicate with?": "你想和谁交流?",
"You are already in a call.": "您正在通话。",
"You do not have permission to do that in this room.": "您没有进行此操作的权限。",
"You cannot place VoIP calls in this browser.": "无法在此浏览器中发起 VoIP 通话。",
@@ -408,7 +374,6 @@
"Username invalid: %(errMessage)s": "用户名无效: %(errMessage)s",
"Verification Pending": "验证等待中",
"(unknown failure: %(reason)s)": "(未知错误:%(reason)s)",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "警告:密钥验证失败!%(userId)s 和 device %(deviceId)s 的签名密钥为 \"%(fprint)s\",与提供的密钥 \"%(fingerprint)s\" 不匹配。这可能意味着你的通信正在被窃听!",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s 收回了 %(targetName)s 的邀请。",
"You cannot place a call with yourself.": "你怎么寂寞到要和自己打电话,不支持的啦。",
"You have disabled URL previews by default.": "你已经默认 禁用 链接预览。",
@@ -446,15 +411,10 @@
"You must join the room to see its files": "你必须加入聊天室以看到它的文件",
"Failed to invite the following users to the %(roomName)s room:": "邀请以下用户到 %(roomName)s 聊天室失败:",
"Confirm Removal": "确认移除",
- "Verifies a user, device, and pubkey tuple": "验证用户、设备与公钥元组",
- "Unknown devices": "未知设备",
"Unknown Address": "未知地址",
"%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s 删除了他们的昵称 (%(oldDisplayName)s).",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "您提供的签名密钥和你从 %(userId)s 的设备 %(deviceId)s 收到的签名密钥匹配。设备被标记为已验证。",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s 打开了端到端加密 (算法 %(algorithm)s).",
"Unable to remove contact information": "无法移除联系人信息",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot 收集匿名的分析数据以允许我们改善它。",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" 包含你以前没见过的设备。",
"Please check your email to continue registration.": "请查看你的电子邮件以继续注册。",
"If you don't specify an email address, you won't be able to reset your password. Are you sure?": "如果不指定一个邮箱地址,您将无法重置你的密码。你确定吗?",
"Add an Integration": "添加集成",
@@ -466,8 +426,6 @@
"Authentication check failed: incorrect password?": "身份验证失败:密码错误?",
"This will allow you to reset your password and receive notifications.": "这将允许你重置你的密码和接收通知。",
"Share without verifying": "不验证就分享",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "您添加了一个新的设备 '%(displayName)s',它正在请求加密密钥。",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "你的未经验证的设备 '%(displayName)s' 正在请求加密密钥。",
"Encryption key request": "加密密钥请求",
"%(widgetName)s widget added by %(senderName)s": "%(senderName)s 添加了 %(widgetName)s 小挂件",
"%(widgetName)s widget removed by %(senderName)s": "%(senderName)s 移除了 %(widgetName)s 小挂件",
@@ -475,7 +433,6 @@
"Unpin Message": "取消置顶消息",
"Add rooms to this community": "添加聊天室到此社区",
"Call Failed": "呼叫失败",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "聊天室中有未知设备:如果您在不验证它们的情况下继续,您的通话可能会被人窃听。",
"Review Devices": "复查设备",
"Call Anyway": "仍然呼叫",
"Answer Anyway": "仍然接听",
@@ -494,11 +451,8 @@
"Send": "发送",
"Message Pinning": "消息置顶",
"Use compact timeline layout": "使用紧凑的时间线布局",
- "Never send encrypted messages to unverified devices in this room from this device": "在此设备上、此聊天室中,从不对未经验证的设备发送加密的消息",
"Enable URL previews for this room (only affects you)": "在此聊天室中启用链接预览(仅影响你)",
"Enable URL previews by default for participants in this room": "对此聊天室的所有成员默认启用链接预览",
- "Delete %(count)s devices|other": "删除了 %(count)s 个设备",
- "Delete %(count)s devices|one": "删除设备",
"%(senderName)s sent an image": "%(senderName)s 发送了一张图片",
"%(senderName)s sent a video": "%(senderName)s 发送了一个视频",
"%(senderName)s uploaded a file": "%(senderName)s 上传了一个文件",
@@ -619,14 +573,9 @@
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s 将他们的昵称修改成了 %(displayName)s 。",
"Stickerpack": "贴图集",
"You don't currently have any stickerpacks enabled": "您目前没有启用任何贴纸包",
- "Your key share request has been sent - please check your other devices for key share requests.": "已请求共享密钥 - 请在您的其他设备上进行确认。",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "密钥共享请求将会自动发送到您的其他设备上。如果您在其他设备上拒绝了请求,请点击此处以再次请求此会话的密钥。",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "如果您的其他设备上没有此消息的密钥,您将依然无法解密。",
"Key request sent.": "已发送密钥共享请求。",
- "Re-request encryption keys from your other devices.": "从其他设备上 重新请求密钥。",
"You will not be able to undo this change as you are demoting yourself, if you are the last privileged user in the room it will be impossible to regain privileges.": "如果您是房间中最后一位有权限的用户,在您降低自己的权限等级后将无法撤回此修改,因为你将无法重新获得权限。",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "您将无法撤回此修改,因为您正在将此用户的滥权等级提升至与你相同。",
- "No devices with registered encryption keys": "没有注册了加密密钥的设备",
"Unmute": "取消静音",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s(滥权等级 %(powerLevelNumber)s)",
"Hide Stickers": "隐藏贴图",
@@ -687,7 +636,6 @@
"Community IDs cannot be empty.": "社区 ID 不能为空。",
"Community IDs may only contain characters a-z, 0-9, or '=_-./'": "社区 ID 只能包含 a-z、0-9 或 “=_-./” 等字符",
"Something went wrong whilst creating your community": "创建社区时出现问题",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "您目前默认将未经验证的设备列入黑名单;在发送消息到这些设备上之前,您必须先验证它们。",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "如果您之前使用过较新版本的 Riot,则您的会话可能与当前版本不兼容。请关闭此窗口并使用最新版本。",
"Showing flair for these communities:": "显示这些社区的个性徽章:",
"This room is not showing flair for any communities": "此聊天室没有显示任何社区的个性徽章",
@@ -698,9 +646,6 @@
"Please enter the code it contains:": "请输入其包含的代码:",
"Matrix ID": "Matrix ID",
"Matrix Room ID": "Matrix 聊天室 ID",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "为验证此设备是否可信,请通过其他方式(例如面对面交换或拨打电话)与其拥有者联系,并询问他们该设备的用户设置中的密钥是否与以下密钥匹配:",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "如果匹配,请点击下面的验证按钮。 如果不匹配,那么这可能说明其他人正在盗用此设备,而您应当点击黑名单按钮。",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "我们建议您对每台设备进行验证以保证它们属于其合法所有者,但是您可以在不验证它们的情况下重新发送消息。",
"
HTML for your community's page
\n
\n Use the long description to introduce new members to the community, or distribute\n some important links\n
\n",
"Add rooms to the community summary": "将聊天室添加到社区简介中",
"Which rooms would you like to add to this summary?": "您想要将哪个聊天室添加到社区简介?",
@@ -729,7 +674,6 @@
"Create a new community": "创建新社区",
"Error whilst fetching joined communities": "获取已加入社区列表时出现错误",
"Create a community to group together users and rooms! Build a custom homepage to mark out your space in the Matrix universe.": "创建社区,将用户与聊天室整合在一起!搭建自定义社区主页以在 Matrix 宇宙之中标出您的私人空间。",
- "Show devices, send anyway or cancel.": "显示未信任的设备 、 不经信任直接发送 或 取消发送。",
"%(count)s of your messages have not been sent.|one": "您的消息尚未发送。",
"Uploading %(filename)s and %(count)s others|other": "正在上传 %(filename)s 与其他 %(count)s 个文件",
"Uploading %(filename)s and %(count)s others|zero": "正在上传 %(filename)s",
@@ -747,7 +691,6 @@
"Ignores a user, hiding their messages from you": "忽略用户,隐藏他们发送的消息",
"Stops ignoring a user, showing their messages going forward": "解除忽略用户,显示他们的消息",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "如果你在 GitHub 提交了一个 bug,调试日志可以帮助我们追踪这个问题。 调试日志包含应用程序使用数据,也就包括您的用户名、您访问的房间或社区的 ID 或别名,以及其他用户的用户名,但不包括聊天记录。",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "密码修改成功。在您在其他设备上重新登录之前,其他设备不会收到推送通知",
"Tried to load a specific point in this room's timeline, but was unable to find it.": "尝试加载此聊天室的时间线的特定时间点,但是无法找到。",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|one": "现在 重新发送消息 或 取消发送 。",
"%(count)s Resend all or cancel all now. You can also select individual messages to resend or cancel.|other": "現在 重新发送消息 或 取消发送 。你也可以单独选择消息以重新发送或取消。",
@@ -800,7 +743,6 @@
"Files": "文件",
"Collecting app version information": "正在收集应用版本信息",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "确定要删除聊天室别名 %(alias)s 并将 %(name)s 从列表中删除吗?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "这将允许你可以在注销后回到您的账号,并在其他设备上登录。",
"Keywords": "关键词",
"Enable notifications for this account": "对此账号启用通知",
"Invite to this community": "邀请加入此社区",
@@ -891,8 +833,6 @@
"Your User Agent": "您的 User Agent",
"Your device resolution": "您设备的分辨率",
"Always show encryption icons": "总是显示加密标志",
- "Unable to reply": "无法回复",
- "At this time it is not possible to reply with an emote.": "目前无法使用表情符号作为回复内容。",
"You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "您将被带到一个第三方网站以便验证您的账号来使用 %(integrationsUrl)s 提供的集成。您希望继续吗?",
"The visibility of '%(roomName)s' in %(groupId)s could not be updated.": "无法更新聊天室 %(roomName)s 在社区 “%(groupId)s” 中的可见性。",
"Minimize apps": "最小化应用程序",
@@ -912,12 +852,6 @@
"You do not have permission to start a conference call in this room": "您没有在此聊天室发起通话会议的权限",
"This event could not be displayed": "无法显示此事件",
"Share Link to User": "分享链接给其他用户",
- "deleted": "删除线",
- "underlined": "下划线",
- "inline-code": "代码",
- "block-quote": "引用",
- "bulleted-list": "无序列表",
- "numbered-list": "有序列表",
"Share room": "分享聊天室",
"System Alerts": "系统警告",
"Muted Users": "被禁言的用户",
@@ -1118,7 +1052,6 @@
"Verify this user by confirming the following emoji appear on their screen.": "通过在其屏幕上显示以下表情符号来验证此用户。",
"Verify this user by confirming the following number appears on their screen.": "通过在其屏幕上显示以下数字来验证此用户。",
"Unable to find a supported verification method.": "无法找到支持的验证方法。",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "为了最大限度地提高安全性,我们建议您亲自执行此操作或使用其他可信的通信方式。",
"Dog": "狗",
"Cat": "猫",
"Lion": "狮子",
@@ -1165,7 +1098,6 @@
"Pencil": "铅笔",
"Paperclip": "回形针",
"Scissors": "剪刀",
- "Padlock": "挂锁",
"Key": "钥匙",
"Hammer": "锤子",
"Telephone": "电话",
@@ -1183,7 +1115,6 @@
"Headphones": "耳机",
"Folder": "文件夹",
"Pin": "别针",
- "Your homeserver does not support device management.": "您的主服务器不支持设备管理。",
"Yes": "是",
"No": "否",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "我们已向您发送了一封电子邮件,以验证您的地址。 请按照里面的说明操作,然后单击下面的按钮。",
@@ -1192,26 +1123,15 @@
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "加密消息已使用端对端加密保护。只有您和拥有密钥的收件人可以阅读这些消息。",
"Unable to load key backup status": "无法载入密钥备份状态",
"Restore from Backup": "从备份恢复",
- "This device is backing up your keys. ": "此设备已备份您的密钥。 ",
"Back up your keys before signing out to avoid losing them.": "在登出账号之前请备份密钥以免丢失。",
"Backing up %(sessionsRemaining)s keys...": "正在备份 %(sessionsRemaining)s 个密钥...",
"All keys backed up": "所有密钥都已备份",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "备份含有一个 ID 为 %(deviceId)s 的 未知 设备的签名。",
- "Backup has a valid signature from this device": "备份含有此设备的一个 有效 签名",
- "Backup has a valid signature from verified device ": "备份含有 已验证 设备 的一个 有效 签名",
- "Backup has a valid signature from unverified device ": "备份含有 未验证 设备 的一个 有效 签名",
- "Backup has an invalid signature from verified device ": "备份含有 已验证 设备 的一个 无效 签名",
- "Backup has an invalid signature from unverified device ": "备份含有 未验证 设备 的一个 无效 签名",
- "Backup is not signed by any of your devices": "您的任何设备均未对备份进行签名",
- "This backup is trusted because it has been restored on this device": "此备份是受信任的,因为它已在此设备上还原",
- "Your keys are not being backed up from this device.": "您的密钥 没有从此设备备份。",
"Start using Key Backup": "开始使用密钥备份",
"Add an email address to configure email notifications": "添加电子邮件地址以配置电子邮件通知",
"Unable to verify phone number.": "无法验证电话号码。",
"Verification code": "验证码",
"Phone Number": "电话号码",
"Profile picture": "个人资料头像",
- "Upload profile picture": "上传个人头像",
"Display Name": "昵称",
"Set a new account password...": "设置一个新的账号密码...",
"Email addresses": "电子邮箱地址",
@@ -1253,10 +1173,6 @@
"Encryption": "加密",
"Once enabled, encryption cannot be disabled.": "一旦启用加密就无法停止。",
"Encrypted": "已加密",
- "Some devices for this user are not trusted": "此用户的某些设备不被信任",
- "Some devices in this encrypted room are not trusted": "此加密聊天室中的某些设备不被信任",
- "All devices for this user are trusted": "此用户的所有设备都已被信任",
- "All devices in this encrypted room are trusted": "此聊天室中的所有设备都已被信任",
"Never lose encrypted messages": "永不丢失加密消息",
"Messages in this room are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "此聊天室中的消息已被端对端加密保护。只有您和拥有密钥的收件人才可以于都这些消息。",
"Securely back up your keys to avoid losing them. Learn more.": "安全地备份您的密钥以免丢失。了解更多。",
@@ -1273,8 +1189,6 @@
"Error updating flair": "更新个性徽章时发生错误",
"There was an error updating the flair for this room. The server may not allow it or a temporary error occurred.": "更新此聊天室的个性徽章时发生错误。可能时该服务器不允许,也可能是发生了一个临时错误。",
"Room avatar": "聊天室头像",
- "Upload room avatar": "上传聊天室头像",
- "No room avatar": "没有聊天室头像",
"Room Name": "聊天室名称",
"Room Topic": "聊天室话题",
"Join": "加入",
@@ -1295,7 +1209,6 @@
"Waiting for %(userId)s to confirm...": "等待 %(userId)s 确认中...",
"Use two-way text verification": "使用双向文本验证",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "验证此用户并标记为受信任。在使用端到端加密消息时,信任用户可让您更加放心。",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "验证此用户将会标记其设备为受信任,而且您的设备也会被对方标记为受信任。",
"Waiting for partner to confirm...": "等待对方确认中...",
"Incoming Verification Request": "收到验证请求",
"You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "您之前在 %(host)s 上开启了 Riot 的成员列表延迟加载设置。目前版本中延迟加载功能已被停用。因为本地缓存在这两个设置项上不相容,Riot 需要重新同步您的账号。",
@@ -1325,7 +1238,6 @@
"This looks like a valid recovery key!": "看起来是有效的恢复密钥!",
"Not a valid recovery key": "不是有效的恢复密钥",
"Access your secure message history and set up secure messaging by entering your recovery key.": "通过输入恢复密钥来访问您的安全消息历史记录和设置安全通信。",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "如果忘记了恢复密码,您可以 设置新的恢复选项",
"Share Permalink": "分享永久链接",
"Clear status": "清除状态",
"Update status": "更新状态",
@@ -1366,7 +1278,6 @@
"A verification email will be sent to your inbox to confirm setting your new password.": "一封验证电子邮件将发送到您的邮箱以确认您设置了新密码。",
"Sign in instead": "登入",
"Your password has been reset.": "您的密码已重置。",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "您已从所有设备登出且不会再收到推送通知。要重新开启通知,请在各个设备上再次登入。",
"Set a new password": "设置新密码",
"Invalid homeserver discovery response": "无效的主服务器搜索响应",
"Invalid identity server discovery response": "无效的身份服务器搜索响应",
@@ -1392,15 +1303,11 @@
"As a safety net, you can use it to restore your encrypted message history if you forget your Recovery Passphrase.": "作为一张安全网,您可以在忘记了恢复密码的时候使用它来还原您的加密消息历史记录。",
"As a safety net, you can use it to restore your encrypted message history.": "作为一张安全网,您可以使用它来还原您的加密消息历史记录。",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "恢复密钥是您的一张安全网 - 如果忘记了密码,您可以用它来重获加密消息的访问权。",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "请将您的恢复密钥保存在某个非常安全的地方,比如密码管理器(或保险箱)",
"Your Recovery Key": "您的恢复密钥",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "您的恢复密钥已 复制到剪贴板,粘贴至:",
- "Your Recovery Key is in your Downloads folder.": "您的恢复密钥保存在 下载 文件夹。",
"Print it and store it somewhere safe": "打印 并存放在安全的地方",
"Save it on a USB key or backup drive": "保存 在 U 盘或备份磁盘中",
"Copy it to your personal cloud storage": "复制 到您的个人云端存储",
"Your keys are being backed up (the first backup could take a few minutes).": "正在备份您的密钥(第一次备份可能会花费几分钟时间)。",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "如果您登出账号或使用其他设备而没有设置安全消息恢复,您将不能还原您的加密消息历史记录。",
"Set up Secure Message Recovery": "设置安全消息恢复",
"Secure your backup with a passphrase": "使用密码保护您的备份",
"Confirm your passphrase": "确认你的密码",
@@ -1415,11 +1322,8 @@
"New Recovery Method": "新恢复方式",
"A new recovery passphrase and key for Secure Messages have been detected.": "检测到安全消息的一个新恢复密码和密钥。",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "如果您没有设置新恢复方式,可能有攻击者正试图侵入您的账号。请立即更改您的账号密码并在设置中设定一个新恢复方式。",
- "This device is encrypting history using the new recovery method.": "此设备正在使用新恢复方式来加密历史记录。",
"Set up Secure Messages": "设置安全消息",
"Recovery Method Removed": "恢复方式已移除",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "此设置已检测到您的安全消息的恢复密码和密钥被移除。",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "如果您意外执行了此操作,您可以在此设备上设置安全消息来使用新恢复方式重新加密此设备上的消息历史记录。",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "如果您没有移除该恢复方式,可能有攻击者正试图侵入您的账号。请立即更改您的账号密码并在设置中设定一个新的恢复方式。",
"Prepends ¯\\_(ツ)_/¯ to a plain-text message": "将 ¯\\_(ツ)_/¯ 添加到纯文本消息中",
"User %(userId)s is already in the room": "用户 %(userId)s 已在聊天室中",
@@ -1448,18 +1352,11 @@
"Power level": "权限级别",
"Want more than a community? Get your own server": "想要的不只是社区? 架设您自己的服务器",
"Please install Chrome, Firefox, or Safari for the best experience.": "请安装 Chrome,Firefox,或 Safari 以获得最佳体验。",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "更改您的密码将会重置您所有设备上的端对端加密密钥,让已加密的聊天历史记录无法读取。在重设密码之前,请设置密钥备份或从其他设备导出您的聊天室密钥。",
- "Room upgrade confirmation": "聊天室升级确认",
- "Upgrading a room can be destructive and isn't always necessary.": "升级聊天室可能具有破坏性,并不总是必要的。",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "如果聊天室版本被视为是 不稳定 的,通常建议进行聊天室升级。不稳定的聊天室版本可能含有 bug ,缺少功能或有安全漏洞。",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "聊天室升级通常只会影响聊天室 服务器端 的处理。如果您的 Riot 客户端存在问题,请向 提 issue。",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "警告:升级聊天室 不会自动将聊天室成员转移到新版聊天室中。 我们将会在旧版聊天室中发布一个新版聊天室的链接 - 聊天室成员必须点击该链接以加入新聊天室。",
"Adds a custom widget by URL to the room": "用链接方式为聊天室添加自定义小部件",
"Please supply a https:// or http:// widget URL": "请提供一个 https:// 或 http:// 形式的小部件链接",
"You cannot modify widgets in this room.": "您无法修改此聊天室的小部件。",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s 撤销了对 %(targetDisplayName)s 加入聊天室的邀请。",
- "Enable desktop notifications for this device": "为此设备启用桌面通知",
- "Enable audible notifications for this device": "为此设备启用通知声音",
"Upgrade this room to the recommended room version": "升级此聊天室至推荐版本",
"This room is running room version , which this homeserver has marked as unstable.": "此聊天室运行的聊天室版本是 ,该版本已被主服务器标记为 不稳定 。",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "升级此聊天室将会关闭聊天室的当前实例并创建一个具有相同名称的升级版聊天室。",
diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json
index 9401bb4a65..eb4f94172e 100644
--- a/src/i18n/strings/zh_Hant.json
+++ b/src/i18n/strings/zh_Hant.json
@@ -36,7 +36,6 @@
"Decryption error": "解密出錯",
"Default": "預設",
"Device ID": "裝置識別碼",
- "Devices": "裝置列表",
"Direct chats": "私聊",
"Disinvite": "取消邀請",
"Displays action": "顯示操作",
@@ -78,17 +77,14 @@
"%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s 從 %(fromPowerLevel)s 變為 %(toPowerLevel)s",
"Guests cannot join this room even if explicitly invited.": "游客不能加入此聊天室,即使有人主動邀請。.",
"Hangup": "掛斷",
- "Hide Text Formatting Toolbar": "隱藏格式工具欄",
"Historical": "歷史",
"Homeserver is": "主伺服器是",
"Identity Server is": "身分認證伺服器是",
"I have verified my email address": "我已經驗證了我的電子郵件地址",
"Import E2E room keys": "導入聊天室端對端加密密鑰",
"Incorrect verification code": "驗證碼錯誤",
- "Invalid alias format": "別名格式錯誤",
"Invalid Email Address": "無效的電子郵件地址",
"Invalid file%(extra)s": "非法文件%(extra)s",
- "Invite new room members": "邀請新的聊天室成員",
"Join Room": "加入聊天室",
"%(targetName)s joined the room.": "%(targetName)s 加入了聊天室。.",
"Jump to first unread message.": "跳到第一則未讀訊息。",
@@ -105,8 +101,6 @@
"Search": "搜尋",
"Search failed": "搜索失敗",
"Searches DuckDuckGo for results": "搜尋 DuckDuckGo",
- "Sender device information": "發送者的裝置資訊",
- "Send Invites": "傳送邀請",
"Send Reset Email": "發送密碼重設郵件",
"%(senderDisplayName)s sent an image.": "%(senderDisplayName)s 傳了一張圖片。",
"%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s 向 %(targetDisplayName)s 傳送了加入聊天室的邀請。",
@@ -125,13 +119,11 @@
"%(count)s of your messages have not been sent.|other": "部分訊息未送出。",
"Someone": "某人",
"Start a chat": "建立聊天",
- "Start Chat": "開始聊天",
"Submit": "提交",
"Success": "成功",
"This email address is already in use": "這個電子郵件地址已被使用",
"This email address was not found": "未找到此電子郵件地址",
"The email address linked to your account must be entered.": "必須輸入和你帳號關聯的電子郵件地址。",
- "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s 啟用端對端加密 (algorithm %(algorithm)s).",
"Unable to add email address": "無法新增電郵地址",
"Unable to capture screen": "無法截取畫面",
"Unable to enable Notifications": "無法啟用通知功能",
@@ -164,7 +156,6 @@
"Anyone": "任何人",
"Command error": "指令出錯",
"Commands": "指令",
- "Device ID:": "裝置 ID:",
"device id: ": "裝置 ID: ",
"Reason": "原因",
"Register": "註冊",
@@ -202,7 +193,6 @@
"%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s 已經移除了聊天室名稱。",
"%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s 已經變更主題為「%(topic)s」。",
"Changes your display nickname": "變更您的顯示暱稱",
- "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "目前變更密碼將會重設在所有裝置上的端對端加密金鑰,讓加密的聊天歷史無法讀取,除非您先匯出您的房間金鑰,並在稍後重新匯入它們。這會在未來改進。",
"Claimed Ed25519 fingerprint key": "已索取 Ed25519 指紋金鑰",
"Click to mute audio": "點選以靜音",
"Click to mute video": "點選以讓視訊靜音",
@@ -215,12 +205,9 @@
"Custom level": "自訂等級",
"Decline": "拒絕",
"Deops user with given id": "取消指定 ID 使用者的管理員權限",
- "Device already verified!": "裝置已驗證!",
- "Device key:": "裝置金鑰:",
"Disable Notifications": "停用通知",
"Drop File Here": "在此放置檔案",
"Enable Notifications": "啟用通知",
- "Encrypted by an unverified device": "已透過未驗證過的裝置加密",
"Enter passphrase": "輸入通關密語",
"Error: Problem communicating with the given homeserver.": "錯誤:與指定的家伺服器有通訊問題。",
"Export": "匯出",
@@ -237,7 +224,6 @@
"Invited": "已邀請",
"Invites": "邀請",
"Invites user with given id to current room": "邀請指定 ID 的使用者到目前的聊天室",
- "'%(alias)s' is not a valid format for an alias": "'%(alias)s' 不是別名的有效格式",
"Sign in with": "登入使用",
"Join as voice or video.": "加入為語音或視訊。",
"Joins room with given alias": "以指定的別名加入聊天室",
@@ -254,16 +240,10 @@
"%(senderName)s made future room history visible to anyone.": "%(senderName)s 讓未來的聊天室歷史紀錄可見於任何人。",
"%(senderName)s made future room history visible to unknown (%(visibility)s).": "%(senderName)s 讓未來的聊天室歷史紀錄可見於未知 (%(visibility)s) 。",
"Manage Integrations": "管理整合",
- "Markdown is disabled": "Markdown 已停用",
- "Markdown is enabled": "Markdown 已啟用",
- "matrix-react-sdk version:": "matrix-react-sdk 版本:",
- "Message not sent due to unknown devices being present": "因為未知的裝置存在而未傳送",
"Missing room_id in request": "在要求中遺失聊天室 ID",
"Missing user_id in request": "在要求中遺失使用者 ID",
"Moderator": "仲裁者",
"Name": "名稱",
- "Never send encrypted messages to unverified devices from this device": "從不自此裝置傳送加密的訊息到未驗證的裝置",
- "Never send encrypted messages to unverified devices in this room from this device": "從不在此聊天室中從此裝置上傳送未加密的訊息到未驗證的裝置",
"New address (e.g. #foo:%(localDomain)s)": "新地址(例如:#foo:%(localDomain)s)",
"New passwords don't match": "新密碼不相符",
"New passwords must match each other.": "新密碼必須互相符合。",
@@ -272,7 +252,6 @@
"(not supported by this browser)": "(不被此瀏覽器支援)",
"": "<不支援>",
"NOT verified": "未驗證",
- "No devices with registered encryption keys": "沒有已註冊的加密金鑰的裝置",
"No display name": "沒有顯示名稱",
"No more results": "沒有更多結果",
"No results": "沒有結果",
@@ -281,7 +260,6 @@
"Only people who have been invited": "僅有被邀請的夥伴",
"Password": "密碼",
"Passwords can't be empty": "密碼不能為空",
- "People": "夥伴",
"Permissions": "權限",
"Phone": "電話",
"Please check your email and click on the link it contains. Once this is done, click continue.": "請檢查您的電子郵件並點選其中包含的連結。只要這個完成了,就點選選繼續。",
@@ -298,16 +276,13 @@
"%(senderName)s removed their profile picture.": "%(senderName)s 移除了他的基本資料圖片。",
"%(senderName)s requested a VoIP conference.": "%(senderName)s 請求了一次 VoIP 會議。",
"Results from DuckDuckGo": "DuckDuckGo 的結果",
- "Room contains unknown devices": "包含了未知裝置的房間",
"%(roomName)s does not exist.": "%(roomName)s 不存在。",
"%(roomName)s is not accessible at this time.": "%(roomName)s 此時無法存取。",
"Save": "儲存",
"Seen by %(userName)s at %(dateTime)s": "%(userName)s 在 %(dateTime)s 時看過",
"Send anyway": "無論如何都要傳送",
- "Show Text Formatting Toolbar": "顯示文字格式化工具列",
"Start authentication": "開始認證",
"The phone number entered looks invalid": "輸入的電話號碼看起來無效",
- "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "您提供的簽署金鑰與您從 %(userId)s 的裝置 %(deviceId)s 收到的簽署金鑰相符。裝置被標記為已驗證。",
"The remote side failed to pick up": "遠端未能接聽",
"This room has no local addresses": "此房間沒有本機地址",
"This room is not recognised.": "此聊天室不被認可。",
@@ -322,17 +297,12 @@
"Unable to verify email address.": "無法驗證電子郵件。",
"Unban": "解除禁止",
"%(senderName)s unbanned %(targetName)s.": "%(senderName)s 解除阻擋 %(targetName)s。",
- "Unable to load device list": "無法載入裝置清單",
- "Undecryptable": "無法解密",
"unencrypted": "未加密",
- "Unencrypted message": "未加密的訊息",
"unknown caller": "不明來電",
"unknown device": "未知的裝置",
"Unknown room %(roomId)s": "未知的房間 %(roomId)s",
- "Unknown (user, device) pair:": "未知的(使用者,裝置)配對:",
"Unmute": "解除靜音",
"Unnamed Room": "未命名的聊天室",
- "Unrecognised command:": "無法識別的命令:",
"Unrecognised room alias:": "無法辨識的聊天室別名:",
"Uploading %(filename)s and %(count)s others|zero": "正在上傳 %(filename)s",
"Uploading %(filename)s and %(count)s others|one": "正在上傳 %(filename)s 與另外 %(count)s 個",
@@ -360,11 +330,8 @@
"(no answer)": "(未回覆)",
"(unknown failure: %(reason)s)": "(未知的錯誤:%(reason)s)",
"Warning!": "警告!",
- "WARNING: Device already verified, but keys do NOT MATCH!": "警告:裝置已驗證,但金鑰不符合!",
- "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "警告:金鑰驗證失敗!%(userId)s 與裝置 %(deviceId)s 的簽署金鑰是「%(fprint)s」,其並不符合提供的金鑰「%(fingerprint)s」。這可能代表您的通訊已被攔截!",
"Who can access this room?": "誰可以存取此房間?",
"Who can read history?": "誰可以讀取歷史紀錄?",
- "Who would you like to communicate with?": "您想與誰通訊?",
"%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s 撤回了 %(targetName)s 的邀請。",
"You do not have permission to post to this room": "您沒有權限在此房間發言",
"You have disabled URL previews by default.": "您已預設停用 URL 預覽。",
@@ -374,7 +341,6 @@
"You need to be able to invite users to do that.": "您需要邀請使用者來做這件事。",
"You need to be logged in.": "您需要登入。",
"Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "您的電子郵件地址似乎未在此主伺服器上與 Matrix ID 關聯。",
- "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "您的密碼已成功變更。您將不會在其他裝置上收到推送通知,一直到您登入回那些裝置為止",
"You seem to be in a call, are you sure you want to quit?": "您似乎尚在通話中,您確定您想要結束通話嗎?",
"You seem to be uploading files, are you sure you want to quit?": "您似乎正在上傳檔案,您確定您想要結束嗎?",
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "您將無法復原此變更,因為您正在將其他使用者的權限等級提升到與您相同。",
@@ -409,8 +375,6 @@
"(~%(count)s results)|one": "(~%(count)s 結果)",
"(~%(count)s results)|other": "(~%(count)s 結果)",
"Active call": "活躍的通話",
- "bold": "粗體",
- "italic": "斜體",
"Please select the destination room for this message": "請選取此訊息的目標房間",
"New Password": "新密碼",
"Start automatically after system login": "在系統登入後自動開始",
@@ -436,18 +400,9 @@
"Unknown error": "未知的錯誤",
"Incorrect password": "不正確的密碼",
"To continue, please enter your password.": "要繼續,請輸入您的密碼。",
- "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "要驗證此裝置是否可信,請使用其他方式(例如:面對面或是打電話)聯絡它的擁有者並詢問他們在使用者設定中看到此裝置的金鑰是否與下列的金鑰相符:",
- "Device name": "裝置名稱",
- "Device key": "裝置金鑰",
- "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "若其符合,按下下面的驗證按鈕。若其不符合,那麼就是有其他人試圖攔截此裝置,您應該按下黑名單按鈕。",
- "Verify device": "驗證裝置",
"I verify that the keys match": "我驗證金鑰相符",
"Unable to restore session": "無法復原工作階段",
"If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "若您先前使用過較新版本的 Riot,您的工作階段可能與此版本不相容。關閉此視窗並回到較新的版本。",
- "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "您目前正把未驗證的裝置列入黑名單;要傳送訊息到這些裝置,您必須先驗證它們。",
- "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "我們建議您對每一個裝置執行驗證過程以確認它們屬於其合法擁有者,但若您想要的話,您也可以重新傳送訊息而不必驗證它們。",
- "\"%(RoomName)s\" contains devices that you haven't seen before.": "「%(RoomName)s」包含了您先前沒看過的裝置。",
- "Unknown devices": "未知的裝置",
"Unknown Address": "未知的地址",
"Unblacklist": "解除黑名單",
"Blacklist": "黑名單",
@@ -474,8 +429,6 @@
"Start verification": "開始驗證",
"Share without verifying": "不驗證就分享",
"Ignore request": "忽略請求",
- "You added a new device '%(displayName)s', which is requesting encryption keys.": "您加入了新裝置 '%(displayName)s',其將會要求加密金鑰。",
- "Your unverified device '%(displayName)s' is requesting encryption keys.": "您未驗證的裝置 '%(displayName)s' 正在請求加密金鑰。",
"Encryption key request": "加密金鑰請求",
"Add a widget": "新增小工具",
"Allow": "允許",
@@ -494,8 +447,6 @@
"Unable to create widget.": "無法建立小工具。",
"You are not in this room.": "您不在這個聊天室內。",
"You do not have permission to do that in this room.": "您沒有在這個聊天室做這件事的權限。",
- "Verifies a user, device, and pubkey tuple": "驗證使用者、裝置與公開金鑰變數組",
- "Loading device info...": "正在載入裝置資訊……",
"Example": "範例",
"Create": "建立",
"Featured Rooms:": "特色聊天室:",
@@ -509,7 +460,6 @@
"Failed to copy": "複製失敗",
"Add rooms to this community": "新增聊天室到此社群",
"Call Failed": "通話失敗",
- "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "此聊天室有未知的裝置:若您想要不驗證它們而繼續,可能會有其他人竊聽您的通話。",
"Review Devices": "審閱裝置",
"Call Anyway": "無論如何都通話",
"Answer Anyway": "無論如何都回覆",
@@ -540,8 +490,6 @@
"Enable inline URL previews by default": "預設啟用內嵌 URL 預覽",
"Enable URL previews for this room (only affects you)": "對此聊天室啟用 URL 預覽(僅影響您)",
"Enable URL previews by default for participants in this room": "對此聊天室中的參與者預設啟用 URL 預覽",
- "Delete %(count)s devices|other": "刪除 %(count)s 個裝置",
- "Delete %(count)s devices|one": "刪除裝置",
"%(senderName)s sent an image": "%(senderName)s 傳送了一張圖片",
"%(senderName)s sent a video": "%(senderName)s 傳送了一則視訊",
"%(senderName)s uploaded a file": "%(senderName)s 上傳了一個檔案",
@@ -747,7 +695,6 @@
"%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s",
"This room is not public. You will not be able to rejoin without an invite.": "這個聊天室並未公開。您在沒有邀請的情況下將無法重新加入。",
"Community IDs cannot be empty.": "社群 ID 不能為空。",
- "Show devices, send anyway or cancel.": "顯示裝置、無論如何都要傳送或取消。",
"In reply to": "回覆給",
"%(oldDisplayName)s changed their display name to %(displayName)s.": "%(oldDisplayName)s 變更了他的顯示名稱為 %(displayName)s 。",
"Failed to set direct chat tag": "設定直接聊天標籤失敗",
@@ -756,11 +703,7 @@
"Did you know: you can use communities to filter your Riot.im experience!": "您知道嗎:您可以使用社群來強化您的 Riot.im 使用體驗!",
"To set up a filter, drag a community avatar over to the filter panel on the far left hand side of the screen. You can click on an avatar in the filter panel at any time to see only the rooms and people associated with that community.": "要設定過濾器,拖曳社群大頭貼到位於螢幕最左邊的過濾器面板。您可以在任何時候在過濾器面板中的大頭貼上點按以檢視與該社群關聯的聊天室與夥伴。",
"Clear filter": "清除過濾器",
- "Your key share request has been sent - please check your other devices for key share requests.": "您的金鑰分享請求已傳送,請檢查您的其他裝置來看看金鑰分享請求。",
- "Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the keys for this session again.": "金鑰分享請求已自動傳送到您的其他裝置。若您在您的其他裝置上回絕了金鑰分享請求,點按這裡以再次請求這個工作階段的金鑰。",
- "If your other devices do not have the key for this message you will not be able to decrypt them.": "若您的其他裝置沒有這個訊息的金鑰,您將無法將它們解密。",
"Key request sent.": "金鑰請求已傳送。",
- "Re-request encryption keys from your other devices.": "從您的其他裝置重新請求加密金鑰。",
"Code": "代碼",
"If you've submitted a bug via GitHub, debug logs can help us track down the problem. Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "如果您透過 GitHub 來回報錯誤,除錯訊息可以用來追蹤問題。除錯訊息包含應用程式的使用資料,包括您的使用者名稱、您所造訪的房間/群組的 ID 或別名、其他使用者的使用者名稱等,其中不包含訊息本身。",
"Submit debug logs": "傳送除錯訊息",
@@ -826,7 +769,6 @@
"Files": "檔案",
"Collecting app version information": "收集應用程式版本資訊",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "刪除聊天室別名 %(alias)s 並從目錄移除 %(name)s?",
- "This will allow you to return to your account after signing out, and sign in on other devices.": "這讓您可以在登入後回到您帳號,並在其他裝置上登入。",
"Enable notifications for this account": "本帳號啟用通知",
"Invite to this community": "邀請至此社群",
"Messages containing keywords": "訊息包含 關鍵字",
@@ -912,8 +854,6 @@
"Your User Agent": "您的使用者代理字串",
"Your device resolution": "您的裝置解析度",
"Always show encryption icons": "總是顯示加密圖示",
- "Unable to reply": "無法回覆",
- "At this time it is not possible to reply with an emote.": "目前無法使用表情符號回覆。",
"Popout widget": "彈出式小工具",
"Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "無法載入要回覆的活動,它可能不存在或是您沒有權限檢視它。",
"Send Logs": "傳送紀錄",
@@ -964,12 +904,6 @@
"Permission Required": "需要權限",
"You do not have permission to start a conference call in this room": "您沒有在此聊天室啟動會議通話的權限",
"This event could not be displayed": "此活動無法顯示",
- "deleted": "刪除線",
- "underlined": "底線",
- "inline-code": "內嵌程式碼",
- "block-quote": "區塊引用",
- "bulleted-list": "項目符號清單",
- "numbered-list": "編號清單",
"A call is currently being placed!": "目前正在撥打電話!",
"Failed to remove widget": "移除小工具失敗",
"An error ocurred whilst trying to remove the widget from the room": "嘗試從聊天室移除小工具時發生錯誤",
@@ -1025,11 +959,6 @@
"Unable to load! Check your network connectivity and try again.": "無法載入!請檢查您的網路連線狀態並再試一次。",
"Delete Backup": "刪除備份",
"Unable to load key backup status": "無法載入金鑰備份狀態",
- "Backup has a valid signature from this device": "備份有從此裝置而來的有效簽章",
- "Backup has a valid signature from unverified device ": "備份有從未驗證的 裝置而來的有效簽章",
- "Backup has an invalid signature from verified device ": "備份有從已驗證的 裝置而來的無效簽章",
- "Backup has an invalid signature from unverified device ": "備份有從未驗證的 裝置而來的無效簽章",
- "Backup is not signed by any of your devices": "備份未被您的任何裝置簽署",
"Backup version: ": "備份版本: ",
"Algorithm: ": "演算法: ",
"Please review and accept all of the homeserver's policies": "請審閱並接受家伺服器的所有政策",
@@ -1047,12 +976,9 @@
"Your Recovery Key": "您的復原金鑰",
"Copy to clipboard": "複製到剪貼簿",
"Download": "下載",
- "Your Recovery Key has been copied to your clipboard, paste it to:": "您的復原金鑰已複製到您的剪貼簿,將它貼上到:",
- "Your Recovery Key is in your Downloads folder.": "您的復原金鑰在您的下載資料夾。",
"Print it and store it somewhere safe": "列印它並存放在安全的地方",
"Save it on a USB key or backup drive": "將它儲存到 USB 金鑰或備份磁碟上",
"Copy it to your personal cloud storage": "將它複製 到您的個人雲端儲存",
- "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another device.": "在沒有設定安全訊息復原的狀況下,您將無法在登出或使用其他裝置後復原您的已加密訊息歷史。",
"Set up Secure Message Recovery": "設定安全訊息復原",
"Keep it safe": "保持安全",
"Create Key Backup": "建立金鑰備份",
@@ -1071,7 +997,6 @@
"This looks like a valid recovery key!": "看起來是有效的復原金鑰!",
"Not a valid recovery key": "不是有效的復原金鑰",
"Access your secure message history and set up secure messaging by entering your recovery key.": "存取您的安全訊息歷史並趟過輸入您的復原金鑰來設定安全傳訊。",
- "If you've forgotten your recovery passphrase you can set up new recovery options": "如果您忘記您的復原密碼,您可以設定新的復原選項",
"Failed to perform homeserver discovery": "執行家伺服器探索失敗",
"Invalid homeserver discovery response": "無效的家伺服器探索回應",
"Sign in with single sign-on": "以單一登入來登入",
@@ -1119,7 +1044,6 @@
"That doesn't look like a valid email address": "看起來不像有效的電子郵件地址",
"Invalid identity server discovery response": "無效的身份伺服器探索回應",
"General failure": "一般錯誤",
- "Backup has a valid signature from verified device ": "備份有從驗證過的裝置而來的有效簽章",
"Checking...": "正在檢查……",
"New Recovery Method": "新復原方法",
"If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "如果您沒有設定新的復原方法,攻擊者可能會嘗試存取您的帳號。在設定中立刻變更您的密碼並設定新的復原方法。",
@@ -1164,20 +1088,17 @@
"Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "與此使用者的安全訊息是端到端加密的,無法被第三方讀取。",
"Got It": "我了解了",
"Verify this user by confirming the following number appears on their screen.": "透過確認在他們的螢幕上顯示的以下號碼來驗證此使用者。",
- "For maximum security, we recommend you do this in person or use another trusted means of communication.": "為了最大限度地提高安全性,我們建議您面對面執行這個動作,或是使用其他可信的通訊方式。",
"Yes": "是",
"No": "否",
"We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "我們已經傳送給您一封電子郵件以驗證您的地址。請遵照那裡的指示,然後點選下面的按鈕。",
"Email Address": "電子郵件地址",
"Backing up %(sessionsRemaining)s keys...": "正在備份 %(sessionsRemaining)s 金鑰……",
"All keys backed up": "所有金鑰都已備份",
- "Backup has a signature from unknown device with ID %(deviceId)s.": "備份有從未知裝置,ID %(deviceId)s 而來的簽章。",
"Add an email address to configure email notifications": "新增電子郵件地址以設定電子郵件通知",
"Unable to verify phone number.": "無法驗證電話號碼。",
"Verification code": "驗證碼",
"Phone Number": "電話號碼",
"Profile picture": "個人檔案照片",
- "Upload profile picture": "上傳個人檔案照片",
"Display Name": "顯示名稱",
"Room information": "聊天室資訊",
"Internal room ID:": "內部聊天室 ID:",
@@ -1220,8 +1141,6 @@
"Voice & Video": "語音與視訊",
"Main address": "主要地址",
"Room avatar": "聊天室大頭貼",
- "Upload room avatar": "上傳聊天室大頭貼",
- "No room avatar": "沒有聊天室大頭貼",
"Room Name": "聊天室名稱",
"Room Topic": "聊天室主題",
"Join": "加入",
@@ -1231,7 +1150,6 @@
"Waiting for partner to accept...": "正在等待夥伴接受……",
"Use two-way text verification": "使用雙向文字驗證",
"Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "驗證此使用者以標記他們為受信任的。信任的使用者可以在使用端到端加密訊息時能更加放心。",
- "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "驗證此使用者會將他們的裝置標記為受信任,並為他們標記您的裝置為受信任。",
"Waiting for partner to confirm...": "正在等待夥伴確認……",
"Incoming Verification Request": "來到的驗證請求",
"To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "要協助避免重覆的問題,請先檢視既有的議題(並新增 a+1)或是如果您找不到的話,就建立新議題。",
@@ -1267,10 +1185,7 @@
"Keep going...": "繼續……",
"Starting backup...": "正在開始備份……",
"A new recovery passphrase and key for Secure Messages have been detected.": "偵測到安全訊息的新復原通關密語與金鑰。",
- "This device is encrypting history using the new recovery method.": "此裝置正在使用新的復原方法加密歷史紀錄。",
"Recovery Method Removed": "已移除復原方法",
- "This device has detected that your recovery passphrase and key for Secure Messages have been removed.": "此裝置已偵測到您的安全訊息復原通關密語與金鑰被移除。",
- "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "如果您意外執行了此動作,您可以在此裝置上設定安全訊息來使用新的復原方法重新加密此裝置上的訊息歷史。",
"If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "如果您沒有移除復原方法,攻擊者可能會試圖存取您的帳號。請立刻在設定中變更您帳號的密碼並設定新的復原方式。",
"The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "檔案 %(fileName)s 超過家伺服器的上傳限制",
"Gets or sets the room topic": "取得或設定聊天室主題",
@@ -1329,7 +1244,6 @@
"Book": "書",
"Pencil": "鉛筆",
"Paperclip": "迴紋針",
- "Padlock": "掛鎖",
"Key": "鑰匙",
"Hammer": "鎚子",
"Telephone": "電話",
@@ -1347,12 +1261,6 @@
"Headphones": "耳機",
"Folder": "資料夾",
"Pin": "別針",
- "Your homeserver does not support device management.": "您的家伺服器不支援裝置管理。",
- "This backup is trusted because it has been restored on this device": "因為此備份已在此裝置上復原,所以其被信任",
- "Some devices for this user are not trusted": "此使用者的某些裝置不被信任",
- "Some devices in this encrypted room are not trusted": "此已加密的聊天室中的某些裝置不被信任",
- "All devices for this user are trusted": "此使用者的所有裝置都被信任",
- "All devices in this encrypted room are trusted": "此已加密的聊天室中的所有裝置都被信任",
"Recovery Key Mismatch": "復原金鑰不符合",
"Incorrect Recovery Passphrase": "不正確的復原通關密語",
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "備份無法使用此通關密語解密:請驗證您是否輸入正確的復原通關密語。",
@@ -1362,7 +1270,6 @@
"This homeserver does not support communities": "此家伺服器不支援社群",
"A verification email will be sent to your inbox to confirm setting your new password.": "一封驗證用的電子郵件已經傳送到您的收件匣以確認您設定了新密碼。",
"Your password has been reset.": "您的密碼已重設。",
- "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "您已從所有裝置登出,不會再收到推播通知了。要重新啟用通知,請再次於每個裝置上登入。",
"This homeserver does not support login using email address.": "此家伺服器不支援使用電子郵件地址登入。",
"Registration has been disabled on this homeserver.": "註冊已在此家伺服器上停用。",
"Unable to query for supported registration methods.": "無法查詢支援的註冊方法。",
@@ -1370,9 +1277,7 @@
"Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "您確定嗎?如果您的金鑰沒有正確備份的話,您將會遺失您的加密訊息。",
"Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "加密訊息是使用端到端加密。只有您和接收者才有金鑰可以閱讀這些訊息。",
"Restore from Backup": "從備份復原",
- "This device is backing up your keys. ": "此裝置正在備份您的金鑰。 ",
"Back up your keys before signing out to avoid losing them.": "在登出前備份您的金鑰以避免遺失它們。",
- "Your keys are not being backed up from this device.": "您的金鑰並未從此裝置上備份。",
"Start using Key Backup": "開始使用金鑰備份",
"Credits": "感謝",
"Never lose encrypted messages": "永不遺失加密訊息",
@@ -1393,7 +1298,6 @@
"Set up with a Recovery Key": "使用復原金鑰設定",
"Please enter your passphrase a second time to confirm.": "請再次輸入您的通關密語以確認。",
"Your recovery key is a safety net - you can use it to restore access to your encrypted messages if you forget your passphrase.": "您的復原金鑰是安全網,如果您忘記您的通關密語的話,您還可以使用它來復原您對加密訊息的存取權。",
- "Keep your recovery key somewhere very secure, like a password manager (or a safe)": "把您的復原金鑰放在安全的地方,像是密碼管理員(或保險箱)",
"Your keys are being backed up (the first backup could take a few minutes).": "您的金鑰正在備份(第一次備份會花費數分鐘)。",
"Secure your backup with a passphrase": "使用通關密語保障您備份的安全",
"Confirm your passphrase": "確認您的通關密語",
@@ -1448,18 +1352,11 @@
"Power level": "權力等級",
"Want more than a community? Get your own server": "想要的不只是社群?架設您自己的伺服器",
"Please install Chrome, Firefox, or Safari for the best experience.": "請安裝 Chrome、Firefox 或 Safari 以獲得最佳體驗。",
- "Changing your password will reset any end-to-end encryption keys on all of your devices, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another device before resetting your password.": "變更您的密碼將會重設在您所有裝置上的端到端加密金鑰,讓已加密的聊天歷史紀錄無法讀取。在重設您的密碼前,請設定金鑰備份或從其他裝置匯出您的聊天室金鑰。",
- "Room upgrade confirmation": "確認聊天室升級",
- "Upgrading a room can be destructive and isn't always necessary.": "升級聊天室可能會弄壞某些東西,而且不一定必要。",
- "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "聊天室升級通常建議在聊天室版本不穩定時使用。不穩定的聊天室版本可能會有臭蟲、缺少功能或安全問題。",
- "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "聊天室升級通常只會影響聊天室的伺服器端處理方式。如果您在使用 Riot 客戶端時發生問題,請使用 回報問題。",
"Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "警告:升級聊天室不會自動將聊天室成員遷移到新版的聊天室。我們會在舊版聊天室中貼出到新聊天室的連結,聊天室成員必須點選此連結以加入新聊天室。",
"Adds a custom widget by URL to the room": "透過 URL 新增自訂小工具到聊天室",
"Please supply a https:// or http:// widget URL": "請提供 https:// 或 http:// 小工具 URL",
"You cannot modify widgets in this room.": "您無法在此聊天室中修改小工具。",
"%(senderName)s revoked the invitation for %(targetDisplayName)s to join the room.": "%(senderName)s 撤銷了對 %(targetDisplayName)s 加入此聊天室的邀請。",
- "Enable desktop notifications for this device": "為此裝置啟用桌面通知",
- "Enable audible notifications for this device": "為此裝置啟用音訊通知",
"Upgrade this room to the recommended room version": "升級此聊天室到建議的聊天室版本",
"This room is running room version , which this homeserver has marked as unstable.": "此聊天室正在執行聊天室版本 ,此家伺服器已標記為不穩定。",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "升級此聊天室將會關閉聊天室目前的實體,並建立一個同名的升級版。",
@@ -1504,8 +1401,6 @@
"A conference call could not be started because the integrations server is not available": "因為沒有整合的伺服器,所以無法啟動會議通話",
"The server does not support the room version specified.": "伺服器不支援指定的聊天室版本。",
"Name or Matrix ID": "名稱或 Matrix ID",
- "Email, name or Matrix ID": "電子郵件、名稱或 Matrix ID",
- "Please confirm that you'd like to go forward with upgrading this room from to .": "請確認您想繼續升級此聊天室,從 到 。",
"Changes your avatar in this current room only": "僅在目前的聊天室中變更您的大頭貼",
"Unbans user with given ID": "取消阻擋指定 ID 的使用者",
"Sends the given message coloured as a rainbow": "將給定的訊息以彩虹顏色的方式傳送",
@@ -1515,10 +1410,6 @@
"The user's homeserver does not support the version of the room.": "使用者的主伺服器不支援此聊天室版本。",
"Show hidden events in timeline": "顯示時間軸中隱藏的活動",
"When rooms are upgraded": "當聊天室升級時",
- "This device is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "此裝置並未備份您的金鑰,但您有既有的備份,可以從那裡復原並繼續。",
- "Connect this device to key backup before signing out to avoid losing any keys that may only be on this device.": "在登出前連線此裝置以避免遺失任何可能僅在此裝置上存在的金鑰。",
- "Connect this device to Key Backup": "將此裝置連線到金鑰備份",
- "Backup has an invalid signature from this device": "從此裝置而來的備份有無效的簽章",
"this room": "此聊天室",
"View older messages in %(roomName)s.": "檢視 %(roomName)s 中較舊的訊息。",
"Joining room …": "正在加入聊天室……",
@@ -1614,19 +1505,15 @@
"Resend removal": "重新傳送移除",
"Your homeserver doesn't seem to support this feature.": "您的家伺服器似乎並不支援此功能。",
"Changes your avatar in all rooms": "在所有聊天室變更您的大頭貼",
- "Clear all data on this device?": "清除此裝置上所有的資料?",
"You're signed out": "您已登出",
"Clear all data": "清除所有資料",
"Removing…": "正在移除……",
- "Clearing all data from this device is permanent. Encrypted messages will be lost unless their keys have been backed up.": "清除從此裝置而來的所有資料將會是永久的。已加密的訊息將會遺失,除非它們的金鑰已備份。",
"Failed to re-authenticate due to a homeserver problem": "因為家伺服器的問題,所以重新驗證失敗",
"Failed to re-authenticate": "重新驗證失敗",
"Enter your password to sign in and regain access to your account.": "輸入您的密碼以登入並取回對您帳號的控制權。",
"Forgotten your password?": "忘記您的密碼了?",
"Clear personal data": "清除個人資料",
- "Warning: Your personal data (including encryption keys) is still stored on this device. Clear it if you're finished using this device, or want to sign in to another account.": "警告:您的個人資料(包含加密金鑰)仍儲存在此裝置上。如果您已不想要使用此裝置,或是想要登入其他帳號的話,就將其清除吧。",
"Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "請告訴我們發生了什麼錯誤,或更好的是,在 GitHub 上建立描述問題的議題。",
- "Regain access to your account and recover encryption keys stored on this device. Without them, you won’t be able to read all of your secure messages on any device.": "取回對您的帳號的控制權,並復原儲存在此裝置上的加密金鑰。沒有它們,您就無法在任何裝置上讀取您所有的安全訊息。",
"Sign in and regain access to your account.": "登入並取回對您帳號的控制權。",
"You cannot sign in to your account. Please contact your homeserver admin for more information.": "您無法登入到您的帳號。請聯絡您的家伺服器管理員以取得更多資訊。",
"Identity Server": "身份識別伺服器",
@@ -1637,7 +1524,6 @@
"Service": "服務",
"Summary": "摘要",
"This account has been deactivated.": "此帳號已停用。",
- "Failed to start chat": "啟動聊天失敗",
"Messages": "訊息",
"Actions": "動作",
"Displays list of commands with usages and descriptions": "顯示包含用法與描述的指令清單",
@@ -1667,7 +1553,6 @@
"You are not currently using an identity server. To discover and be discoverable by existing contacts you know, add one below.": "您目前並未使用身份識別伺服器。要探索及被您所知既有的聯絡人探索,請在下方新增一個。",
"Disconnecting from your identity server will mean you won't be discoverable by other users and you won't be able to invite others by email or phone.": "從您的身份識別伺服器斷開連線代表您不再能被其他使用者探索到,而且您也不能透過電子郵件或電話邀請其他人。",
"Integration Manager": "整合管理員",
- "To verify that this device can be trusted, please check that the key you see in User Settings on that device matches the key below:": "要驗證此裝置是否可受信任,請檢查您在裝置上的使用者設定裡看到的金鑰是否與下方的金鑰相同:",
"Call failed due to misconfigured server": "因為伺服器設定錯誤,所以通話失敗",
"Please ask the administrator of your homeserver (%(homeserverDomain)s) to configure a TURN server in order for calls to work reliably.": "請詢問您家伺服器的管理員(%(homeserverDomain)s)以設定 TURN 伺服器讓通話可以正常運作。",
"Alternatively, you can try to use the public server at turn.matrix.org, but this will not be as reliable, and it will share your IP address with that server. You can also manage this in Settings.": "或是您也可以試著使用公開伺服器 turn.matrix.org,但可能不夠可靠,而且會跟該伺服器分享您的 IP 位置。您也可以在設定中管理這個。",
@@ -1680,7 +1565,6 @@
"The identity server you have chosen does not have any terms of service.": "您所選擇的身份識別伺服器沒有任何服務條款。",
"Terms of service not accepted or the identity server is invalid.": "不接受服務條款或身份識別伺服器無效。",
"Enter a new identity server": "輸入新的身份識別伺服器",
- "A device's public name is visible to people you communicate with": "與您通訊的所有人都可以看到裝置的公開名稱",
"Remove %(email)s?": "移除 %(email)s?",
"Remove %(phone)s?": "移除 %(phone)s?",
"Accept to continue:": "接受 以繼續:",
@@ -1782,7 +1666,6 @@
"Unread mentions.": "未讀提及。",
"Show image": "顯示圖片",
"Please create a new issue on GitHub so that we can investigate this bug.": "請在 GitHub 上建立新議題,這樣我們才能調查這個臭蟲。",
- "Use the new, faster, composer for writing messages": "使用更新更快的 composer 來編寫訊息",
"Missing captcha public key in homeserver configuration. Please report this to your homeserver administrator.": "家伺服器設定中遺失驗證碼公開金鑰。請向您的家伺服器管理員回報。",
"Your email address hasn't been verified yet": "您的電子郵件位置尚未被驗證",
"Click the link in the email you received to verify and then click continue again.": "點擊您收到的電子郵件中的連結以驗證然後再次點擊繼續。",
@@ -1872,16 +1755,11 @@
"Custom (%(level)s)": "自訂 (%(level)s)",
"Trusted": "已信任",
"Not trusted": "不信任",
- "Hide verified Sign-In's": "隱藏已驗證的登入",
- "%(count)s verified Sign-In's|other": "%(count)s 個已驗證的登入",
- "%(count)s verified Sign-In's|one": "1 個已驗證的登入",
"Direct message": "直接訊息",
- "Unverify user": "未驗證的使用者",
"%(role)s in %(roomName)s": "%(role)s 在 %(roomName)s",
"Messages in this room are end-to-end encrypted.": "在此聊天室中的訊息為端到端加密。",
"Security": "安全",
"Verify": "驗證",
- "Send verification requests in direct message, including a new verification UX in the member panel.": "在直接訊息中傳送驗證請求,包含成員面板中新的驗證使用者體驗。",
"Any of the following data may be shared:": "可能會分享以下資料:",
"Your display name": "您的顯示名稱",
"Your avatar URL": "您的大頭貼 URL",
@@ -1916,7 +1794,6 @@
"Manage integrations": "管理整合",
"Verification Request": "驗證請求",
" (1/%(totalCount)s)": " (1/%(totalCount)s)",
- "Enable cross-signing to verify per-user instead of per-device (in development)": "啟用交叉簽章以驗證每個使者而非每個裝置(開發中)",
"Match system theme": "符合系統佈景主題",
"%(senderName)s placed a voice call.": "%(senderName)s 撥打了語音通話。",
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s 撥打了語音通話。(不被此瀏覽器支援)",
@@ -1960,81 +1837,462 @@
"%(senderName)s updated a ban rule that was matching %(oldGlob)s to matching %(newGlob)s for %(reason)s": "%(senderName)s 將封鎖符合 %(oldGlob)s 的規則更新為 %(newGlob)s,因為 %(reason)s",
"Send cross-signing keys to homeserver": "將交叉簽章的金鑰傳送到家伺服器",
"Cross-signing public keys:": "交叉簽章的公開金鑰:",
- "on device": "在裝置上",
"not found": "找不到",
"Cross-signing private keys:": "交叉簽章的私密金鑰:",
"in secret storage": "在秘密儲存空間中",
"Secret storage public key:": "秘密儲存空間公開金鑰:",
"in account data": "在帳號資料中",
- "Bootstrap Secure Secret Storage": "Bootstrap 安全秘密儲存空間",
"Cross-signing": "交叉簽章",
"Enter secret storage passphrase": "輸入秘密儲存空間密碼",
"Unable to access secret storage. Please verify that you entered the correct passphrase.": "無法存取秘密儲存空間。請驗證您是否輸入了正確的密碼。",
"Warning: You should only access secret storage from a trusted computer.": "警告:您應該僅從信任的電腦存取秘密儲存空間。",
"Cross-signing and secret storage are enabled.": "已啟用交叉簽章與秘密儲存空間。",
- "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "您的帳號在秘密儲存空間中有交叉簽章的身份,但尚未被此裝置信任。",
"Cross-signing and secret storage are not yet set up.": "尚未設定交叉簽章與秘密儲存空間。",
"Bootstrap cross-signing and secret storage": "啟動交叉簽章與秘密儲存空間",
"not stored": "未儲存",
"Backup has a valid signature from this user": "備份有從此使用者而來的有效簽章",
"Backup has a invalid signature from this user": "備份有從此使用者而來的無效簽章",
"Backup has a signature from unknown user with ID %(deviceId)s": "備份有從未知的使用者而來,ID 為 %(deviceId)s 的簽章",
- "Backup has a signature from unknown device with ID %(deviceId)s": "備份有從未知的裝置而來,ID 為 %(deviceId)s 的簽章",
- "Backup key stored in secret storage, but this feature is not enabled on this device. Please enable cross-signing in Labs to modify key backup state.": "備份金鑰儲存於秘密儲存空間中,但此功能未在此裝置上啟用。請在實驗室中啟用交叉簽章以修改金鑰備份狀態。",
"Backup key stored: ": "備份金鑰已儲存: ",
- "Start using Key Backup with Secure Secret Storage": "開始將金鑰備份與安全秘密儲存空間一起使用",
"Hide verified sessions": "隱藏已驗證的工作階段",
"%(count)s verified sessions|other": "%(count)s 個已驗證的工作階段",
"%(count)s verified sessions|one": "1 個已驗證的工作階段",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your passphrase.": "透過輸入您的密碼來存取您的安全訊息歷史與您的交叉簽章身份並驗證其他裝置。",
"If you've forgotten your passphrase you can use your recovery key or set up new recovery options.": "如果您忘記您的密碼,您可以使用您的復原金鑰或設定新的復原選項。",
"Enter secret storage recovery key": "輸入秘密儲存空間復原金鑰",
"Unable to access secret storage. Please verify that you entered the correct recovery key.": "無法存取秘密儲存空間。請驗證您是否輸入了正確的復原金鑰。",
- "Access your secure message history and your cross-signing identity for verifying other devices by entering your recovery key.": "透過輸入您的復原金鑰來存取您的安全訊息歷史與您的交叉簽章身份並驗證其他裝置。",
"If you've forgotten your recovery key you can set up new recovery options.": "如果您忘記您的復原金鑰,您可以設定新的復原選項。",
"Warning: You should only set up key backup from a trusted computer.": "警告:您應該只從信任的電腦設定金鑰備份。",
"If you've forgotten your recovery key you can set up new recovery options": "如果您忘記您的復原金鑰,您可以設定新的復原選項",
- "Warning: You should only set up secret storage from a trusted computer.": "警告:您應該只從信任的電腦設定秘密儲存空間。",
- "We'll use secret storage to optionally store an encrypted copy of your cross-signing identity for verifying other devices and message keys on our server. Protect your access to encrypted messages with a passphrase to keep it secure.": "我們將會使用秘密儲存空間來選擇性儲存您用來驗證其他裝置與訊息金鑰的交叉簽章加密副本在我們的伺服器上。使用密碼來保護您對加密訊息的存取權以使其更安全。",
"Set up with a recovery key": "設定復原金鑰",
"As a safety net, you can use it to restore your access to encrypted messages if you forget your passphrase.": "作為安全網,如果您忘記您的密碼的話,您可以使用它來恢復您對加密訊息的存取。",
"As a safety net, you can use it to restore your access to encrypted messages.": "作為安全網,您可以使用它來恢復您對加密訊息的存取。",
"Keep your recovery key somewhere very secure, like a password manager (or a safe).": "將您的復原金鑰保留在某個非常安全的地方,如密碼管理員(或保險櫃)中。",
"Your recovery key has been copied to your clipboard, paste it to:": "您的復原金鑰已被複製到您的剪貼簿,請將其貼到:",
"Your recovery key is in your Downloads folder.": "您的復原金鑰在您的下載資料夾中。",
- "Your access to encrypted messages is now protected.": "您對加密訊息的存取權已被保護。",
- "Without setting up secret storage, you won't be able to restore your access to encrypted messages or your cross-signing identity for verifying other devices if you log out or use another device.": "沒有設定秘密儲存空間,您將無法恢復您的加密訊息的存取權,或是您在登出或使用其他裝置時,用以驗證其他裝置的交叉簽章身份。",
- "Set up secret storage": "設定秘密儲存空間",
- "Secure your encrypted messages with a passphrase": "使用密碼保護您的加密訊息",
"Storing secrets...": "正在儲存秘密……",
"Unable to set up secret storage": "無法設定秘密儲存空間",
"Close preview": "關閉預覽",
- "This user has not verified all of their devices.": "這個使用者尚未驗證所有裝置。",
- "You have not verified this user. This user has verified all of their devices.": "您尚未驗證此使用者。此使用者已驗證所有裝置。",
- "You have verified this user. This user has verified all of their devices.": "您已驗證此使用者。此使用者已驗證所有裝置。",
- "Some users in this encrypted room are not verified by you or they have not verified their own devices.": "在此已加密的聊天室中的某些使用者尚未被您驗證,或是他們尚未驗證他們的裝置。",
- "All users in this encrypted room are verified by you and they have verified their own devices.": "在此已加密的聊天室中的所有使用者已被您驗證,他們也已驗證所有裝置。",
"Language Dropdown": "語言下拉式選單",
"Country Dropdown": "國家下拉式選單",
"The message you are trying to send is too large.": "您正試圖傳送的訊息太大了。",
- "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "秘密儲存空間將使用你既有的金鑰備份資訊來設定。您的秘密儲存空間密碼與復原金鑰會與您的金鑰備份相同",
- "Migrate from Key Backup": "從金鑰備份導入",
"Help": "說明",
- "New DM invite dialog (under development)": "新的直接訊息邀請對話框(開發中)",
"Show more": "顯示更多",
"Recent Conversations": "最近的對話",
"Direct Messages": "直接訊息",
- "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "如果您找不到某人,請向他們詢問他們的使用者名稱,或是分享您的使用者名稱 (%(userId)s) 或簡介連結。",
"Go": "到",
"Show info about bridges in room settings": "顯示關於聊天室設定中橋接相關的資訊",
- "This bridge was provisioned by ": "此橋接由 配置",
"This bridge is managed by .": "此橋接由 管理。",
- "Bridged into , on ": "橋接於 ,在 上",
- "Connected to on ": "連線到 於 ",
- "Connected via %(protocolName)s": "透過 %(protocolName)s 連線",
- "Bridge Info": "橋接資訊",
- "Below is a list of bridges connected to this room.": "以下是連線到此聊天室的橋接列表。",
"Suggestions": "建議",
"Failed to find the following users": "找不到以下使用者",
- "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "以下使用者可能不存在或無效,且無法被邀請:%(csvNames)s"
+ "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "以下使用者可能不存在或無效,且無法被邀請:%(csvNames)s",
+ "Show a presence dot next to DMs in the room list": "在聊天室清單中的直接訊息旁顯示上線狀態點",
+ "Lock": "鎖定",
+ "Restore": "還原",
+ "a few seconds ago": "數秒前",
+ "about a minute ago": "大約一分鐘前",
+ "%(num)s minutes ago": "%(num)s 分鐘前",
+ "about an hour ago": "大約一小時前",
+ "%(num)s hours ago": "%(num)s 小時前",
+ "about a day ago": "大約一天前",
+ "%(num)s days ago": "%(num)s 天前",
+ "a few seconds from now": "從現在開始數秒鐘",
+ "about a minute from now": "從現在開始大約一分鐘",
+ "%(num)s minutes from now": "從現在開始 %(num)s 分鐘",
+ "about an hour from now": "從現在開始大約一小時",
+ "%(num)s hours from now": "從現在開始 %(num)s 小時",
+ "about a day from now": "從現在開始大約一天",
+ "%(num)s days from now": "從現在開始 %(num)s 天",
+ "Failed to invite the following users to chat: %(csvUsers)s": "邀請使用者加入聊天失敗:%(csvUsers)s",
+ "We couldn't create your DM. Please check the users you want to invite and try again.": "我們無法建立您的直接對話。請檢查您想要邀請的使用者並再試一次。",
+ "Complete security": "完全安全",
+ "Verify this session to grant it access to encrypted messages.": "驗證此工作階段以取得對已加密訊息的存取權限。",
+ "Start": "開始",
+ "Session verified": "工作階段已驗證",
+ "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "您的新工作階段已驗證。其對您的已加密訊息有存取權,其他使用者也將會看到其受信任。",
+ "Done": "完成",
+ "Go Back": "返回",
+ "Other users may not trust it": "其他使用者可能不會信任它",
+ "Later": "稍後",
+ "Something went wrong trying to invite the users.": "在嘗試邀請使用者時發生錯誤。",
+ "We couldn't invite those users. Please check the users you want to invite and try again.": "我們無法邀請那些使用者。請檢查您想要邀請的使用者並再試一次。",
+ "Recently Direct Messaged": "最近傳送過直接訊息",
+ "If you can't find someone, ask them for their username (e.g. @user:server.com) or share this room.": "如果您找不到某人,請詢問他們的使用者名稱(範例:@user:server.com)或分享此聊天室。",
+ "Verify User": "驗證使用者",
+ "For extra security, verify this user by checking a one-time code on both of your devices.": "為了提高安全性,請透過檢查您兩個裝置上的一次性代碼來驗證此使用者。",
+ "Start Verification": "開始驗證",
+ "Unknown Command": "未知的指令",
+ "Unrecognised command: %(commandText)s": "無法識別的指令:%(commandText)s",
+ "You can use /help to list available commands. Did you mean to send this as a message?": "您可以使用 /help 來列出可用的指令。您是要傳送此訊息嗎?",
+ "Hint: Begin your message with // to start it with a slash.": "提示:以 // 開頭讓您的訊息傳送時可以用斜線開頭。",
+ "Send as message": "以訊息傳送",
+ "%(senderName)s added %(addedAddresses)s and %(count)s other addresses to this room|other": "%(senderName)s 向此聊天室新增了 %(addedAddresses)s 與其他 %(count)s 個地址",
+ "%(senderName)s removed %(removedAddresses)s and %(count)s other addresses from this room|other": "%(senderName)s 從此聊天室移除了 %(removedAddresses)s 與其他 %(count)s 個地址",
+ "%(senderName)s removed %(countRemoved)s and added %(countAdded)s addresses to this room": "%(senderName)s 對此聊天室移除了 %(countRemoved)s 個並新增了 %(countAdded)s 地址到此聊天室",
+ "%(senderName)s turned on end-to-end encryption.": "%(senderName)s 開啟了端到端加密。",
+ "%(senderName)s turned on end-to-end encryption (unrecognised algorithm %(algorithm)s).": "%(senderName)s 開啟了端到端加密(無法識別的演算法 %(algorithm)s)。",
+ "This room is end-to-end encrypted": "此聊天室已端到端加密",
+ "Everyone in this room is verified": "此聊天室中每個人都已驗證",
+ "Invite only": "僅邀請",
+ "Send a reply…": "傳送回覆……",
+ "Send a message…": "傳送訊息……",
+ "Reject & Ignore user": "回絕並忽略使用者",
+ "If you can't find someone, ask them for their username, share your username (%(userId)s) or profile link.": "如果您找不到某人,請詢問他們以取得他們的使用者名稱,分享您的使用者名稱 (%(userId)s) 或簡介連結。",
+ "Enter your account password to confirm the upgrade:": "輸入您的帳號密碼以確認升級:",
+ "You'll need to authenticate with the server to confirm the upgrade.": "您必須透過伺服器驗證以確認升級。",
+ "Secure your encryption keys with a passphrase. For maximum security this should be different to your account password:": "使用通關密語保護您的加密金鑰。為了取得最強的安全性,此通關密語應與您的帳號密碼不同:",
+ "Enter a passphrase": "輸入通關密語",
+ "Enter your passphrase a second time to confirm it.": "輸入您的通關密語兩次以確認。",
+ "Verify other users in their profile.": "透過他們的簡介驗證其他使用者。",
+ "Upgrade your encryption": "升級您的加密",
+ "Set up encryption": "設定加密",
+ "Encryption upgraded": "加密已升級",
+ "Encryption setup complete": "加密設定完成",
+ "There are unknown sessions in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "聊天室中有未知的工作階段:如果您不驗證它們就繼續,就有可能讓人監聽的您的通話。",
+ "Verify this session": "驗證此工作階段",
+ "Encryption upgrade available": "已提供加密升級",
+ "Unverified session": "未驗證的工作階段",
+ "Verifies a user, session, and pubkey tuple": "驗證使用者、工作階段與公開金鑰組合",
+ "Unknown (user, session) pair:": "未知(使用者、工作階段)配對:",
+ "Session already verified!": "工作階段已驗證!",
+ "WARNING: Session already verified, but keys do NOT MATCH!": "警告:工作階段已驗證、但金鑰不符合!",
+ "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and session %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "警告:金鑰驗證失敗!%(userId)s 與工作階段 %(deviceId)s 簽署的金鑰是「%(fprint)s」,並不符合提供的金鑰「%(fingerprint)s」。這可能代表您的通訊已被攔截!",
+ "The signing key you provided matches the signing key you received from %(userId)s's session %(deviceId)s. Session marked as verified.": "您提供的簽署金鑰符合您從 %(userId)s 工作階段 %(deviceId)s 收到的簽署金鑰。工作階段標記為已驗證。",
+ "Enable cross-signing to verify per-user instead of per-session (in development)": "啟用交叉簽章以驗證使用者而非工作階段(開發中)",
+ "Never send encrypted messages to unverified sessions from this session": "不要從此工作階段傳送已加密的訊息給未驗證的工作階段",
+ "Never send encrypted messages to unverified sessions in this room from this session": "不要從此工作階段傳送已加密的訊息給此聊天室中未驗證的工作階段",
+ "Enable message search in encrypted rooms": "在已加密的聊天室中啟用訊息搜尋",
+ "Waiting for %(displayName)s to verify…": "正在等待 %(displayName)s 驗證……",
+ "They match": "它們符合",
+ "They don't match": "它們不符合",
+ "To be secure, do this in person or use a trusted way to communicate.": "為了安全,請親自進行或使用可信的通訊方式。",
+ "Verify your other sessions easier": "更容易地驗證您其他的工作階段",
+ "Review": "評論",
+ "This bridge was provisioned by .": "此橋接是由 設定。",
+ "Workspace: %(networkName)s": "工作空間:%(networkName)s",
+ "Channel: %(channelName)s": "頻道:%(channelName)s",
+ "Show less": "顯示較少",
+ "Changing password will currently reset any end-to-end encryption keys on all sessions, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "變更密碼將會重設所有工作階段上的所有端到端加密金鑰,讓已加密的聊天歷史無法讀取,除非您先匯出您的聊天室金鑰並在稍後重新匯入。未來會有所改善。",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "您的帳號在秘密儲存空間中有交叉簽章的身份,但尚未被此工作階段信任。",
+ "in memory": "在記憶體中",
+ "Your homeserver does not support session management.": "您的家伺服器不支援工作階段管理。",
+ "Unable to load session list": "無法載入工作階段清單",
+ "Delete %(count)s sessions|other": "刪除 %(count)s 個工作階段",
+ "Delete %(count)s sessions|one": "刪除 %(count)s 個工作階段",
+ "Securely cache encrypted messages locally for them to appear in search results, using ": "將加密的訊息安全地在本機快取以出現在顯示結果中,使用 ",
+ " to store messages from ": " 以儲存訊息從 ",
+ "rooms.": "聊天室。",
+ "Manage": "管理",
+ "Securely cache encrypted messages locally for them to appear in search results.": "將加密的訊息安全地在本機快取以出現在顯示結果中。",
+ "Enable": "啟用",
+ "Riot is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom Riot Desktop with search components added.": "Riot 缺少某些在本機快取已加密訊習所需的元件。如果您想要實驗此功能,請加入搜尋元件並自行建構 Riot 桌面版。",
+ "Riot can't securely cache encrypted messages locally while running in a web browser. Use Riot Desktop for encrypted messages to appear in search results.": "Riot 無法在網路瀏覽器中安全地在本機快取已加密的訊息。使用 Riot 桌面版來讓已加密的訊息出現在搜尋結果中。",
+ "This session is backing up your keys. ": "此工作階段正在備份您的金鑰。 ",
+ "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.": "此工作階段不會備份您的金鑰,但您已有既有的備份,您可以從那邊復原,或是稍後再做。",
+ "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "在登出前,請先將此工作階段連線到金鑰備份以避免遺失任何可能僅在此工作階段中的金鑰。",
+ "Connect this session to Key Backup": "將此工作階段連線到金鑰備份",
+ "Backup has a signature from unknown session with ID %(deviceId)s": "備份有來自未知工作階段,ID %(deviceId)s 的簽章",
+ "Backup has a valid signature from this session": "備份有來自此工作階段的有效簽章",
+ "Backup has an invalid signature from this session": "備份有來自此工作階段的無效簽章",
+ "Backup has a valid signature from verified session ": "備份有從已驗證的工作階段 的有效簽章",
+ "Backup has a valid signature from unverified session ": "備份有從未驗證的工作階段 的有效簽章",
+ "Backup has an invalid signature from verified session ": "備份有從已驗證的工作階段 的無效簽章",
+ "Backup has an invalid signature from unverified session ": "備份有從未驗證的工作階段 的無效簽章",
+ "Backup is not signed by any of your sessions": "備份未被您的任何工作階段簽署",
+ "This backup is trusted because it has been restored on this session": "此備份已受信任,因為它已在此工作階段上復原",
+ "Backup key stored in secret storage, but this feature is not enabled on this session. Please enable cross-signing in Labs to modify key backup state.": "備份金鑰已儲存在秘密儲存空間,但此功能未在此工作階段上啟用。請在實驗室中啟用簽章以修改金鑰備份狀態。",
+ "Your keys are not being backed up from this session.": "您的金鑰沒有從此工作階段備份。",
+ "Enable desktop notifications for this session": "為此工作階段啟用桌面通知",
+ "Enable audible notifications for this session": "為此工作階段啟用聲音通知",
+ "Your password was successfully changed. You will not receive push notifications on other sessions until you log back in to them": "您的密碼已成功變更。您必須登入回其他工作階段才能收到推播通知",
+ "Session ID:": "工作階段 ID:",
+ "Session key:": "工作階段金鑰:",
+ "Message search": "訊息搜尋",
+ "Sessions": "工作階段",
+ "A session's public name is visible to people you communicate with": "工作階段的公開名稱可被您通訊的夥伴看到",
+ "This room is bridging messages to the following platforms. Learn more.": "此聊天室已橋接訊息到以下平臺。取得更多詳細資訊。",
+ "This room isn’t bridging messages to any platforms. Learn more.": "此聊天室未橋接訊息到任何平臺。取得更多詳細資訊。",
+ "Bridges": "橋接",
+ "This user has not verified all of their sessions.": "此使用者尚未驗證他們的所有工作階段。",
+ "You have not verified this user. This user has verified all of their sessions.": "您尚未驗證此使用者。此使用者已驗證他們所有的工作階段。",
+ "You have verified this user. This user has verified all of their sessions.": "您已驗證此使用者。此使用者已驗證他們所有的工作階段。",
+ "Someone is using an unknown session": "某人正仔使用未知的工作階段",
+ "Some sessions for this user are not trusted": "此使用者的某些工作階段未受信任",
+ "All sessions for this user are trusted": "此使用者的所有工作階段皆受信任",
+ "Some sessions in this encrypted room are not trusted": "此已加密的聊天室中的某些工作階段未受信任",
+ "All sessions in this encrypted room are trusted": "在此已加密聊天室的所有工作階段都受信任",
+ "Your key share request has been sent - please check your other sessions for key share requests.": "您的金鑰分享請求已傳送,請檢查您其他的工作階段以取得金鑰分享請求。",
+ "Key share requests are sent to your other sessions automatically. If you rejected or dismissed the key share request on your other sessions, click here to request the keys for this session again.": "金鑰分享請求已自動傳送到您其他的工作階段。如果您在您其他的工作階段上拒絕或忽略金鑰分享請求,點擊此處以再此請求此工作階段的金鑰。",
+ "If your other sessions do not have the key for this message you will not be able to decrypt them.": "如果您的其他工作階段沒有此訊息的金鑰,您就無法解密它們。",
+ "Re-request encryption keys from your other sessions.": "從您的其他工作階段重新請求加密金鑰。",
+ "Encrypted by an unverified session": "已由未驗證的工作階段加密",
+ "Encrypted by a deleted session": "被已刪除的工作階段加密",
+ "No sessions with registered encryption keys": "沒有已註冊加密金鑰的工作階段",
+ "Waiting for %(displayName)s to accept…": "正在等待 %(displayName)s 接受……",
+ "Your messages are secured and only you and the recipient have the unique keys to unlock them.": "您的訊息已受保護,只有您與收件人才有獨一無二的金鑰將其解鎖。",
+ "Your messages are not secure": "您的訊息不安全",
+ "One of the following may be compromised:": "以下的其中一項可能會受到威脅:",
+ "Your homeserver": "您的家伺服器",
+ "The homeserver the user you’re verifying is connected to": "您要驗證的使用者連線到的家伺服器",
+ "Yours, or the other users’ internet connection": "您的,或其他使用者的網際網路連線",
+ "Yours, or the other users’ session": "您的,或其他使用者的工作階段",
+ "%(count)s sessions|other": "%(count)s 個工作階段",
+ "%(count)s sessions|one": "%(count)s 個工作階段",
+ "Hide sessions": "隱藏工作階段",
+ "Verify by emoji": "透過表情符號驗證",
+ "Verify by comparing unique emoji.": "透過比較獨一無二的表情符號驗證。",
+ "Ask %(displayName)s to scan your code:": "要求 %(displayName)s 掃描您的條碼:",
+ "If you can't scan the code above, verify by comparing unique emoji.": "如果您無法掃描上面的條碼,請透過比較獨一無二的表情符號驗證。",
+ "You've successfully verified %(displayName)s!": "您已成功驗證 %(displayName)s!",
+ "Got it": "好的",
+ "Verification timed out. Start verification again from their profile.": "驗證逾時。再次從他們的簡介中開始驗證。",
+ "%(displayName)s cancelled verification. Start verification again from their profile.": "%(displayName)s 已取消驗證。再次從他們的簡介中開始驗證。",
+ "You cancelled verification. Start verification again from their profile.": "您取消了驗證。再次從他們的簡介中開始驗證。",
+ "Clear all data in this session?": "清除所有此工作階段中的資料?",
+ "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "將會永久清除此工作階段的所有資料。除發已備份金鑰,否則已加密的訊息將會遺失。",
+ "Verify session": "驗證工作階段",
+ "To verify that this session can be trusted, please check that the key you see in User Settings on that device matches the key below:": "要驗證此工作階段是否可受信任,請檢查您在裝置上的使用者設定中看到的金鑰是否與下方的金鑰相符:",
+ "To verify that this session can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this session matches the key below:": "要驗證此工作階段是否可受信任,請透過其他方式(如面對面或電話)聯絡其所有人,並詢問他們在他們的使用者設定中看到的金鑰是否與下面的相同:",
+ "Session name": "工作階段名稱",
+ "Session key": "工作階段金鑰",
+ "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this session and you probably want to press the blacklist button instead.": "如果其相符,請按下方的驗證按鈕。如果不相符,則表示可能有其他人正在攔截此工作階段,您可能會想要改按黑名單按鈕。",
+ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "驗證此使用者將會把他們的工作階段標記為受信任,並同時為他們標記您的工作階段可受信任。",
+ "You added a new session '%(displayName)s', which is requesting encryption keys.": "您加入了一個新的工作階段「%(displayName)s」,其正在請求加密金鑰。",
+ "Your unverified session '%(displayName)s' is requesting encryption keys.": "您的未驗證工作階段「%(displayName)s」正在請求加密金鑰。",
+ "Loading session info...": "正在載入工作階段資訊……",
+ "New session": "新工作階段",
+ "Use this session to verify your new one, granting it access to encrypted messages:": "使用此工作階段以驗證您新的工作階段,並授予其對加密訊息的存取權限:",
+ "If you didn’t sign in to this session, your account may be compromised.": "如果您未登入此工作階段,您的帳號可能已被盜用。",
+ "This wasn't me": "這不是我",
+ "This will allow you to return to your account after signing out, and sign in on other sessions.": "退出後,您可以回到您的帳號,並登入其他工作階段。",
+ "You are currently blacklisting unverified sessions; to send messages to these sessions you must verify them.": "您目前正將未驗證的工作階段加入黑名單;要傳送訊息給這些作階段,您必須驗證它們。",
+ "We recommend you go through the verification process for each session to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "我們建議您對每個工作階段進行驗證流程以確認它們屬於其合法所有者,但如果您願意的話,您還是可以不經驗證就重新傳送訊息。",
+ "Room contains unknown sessions": "聊天室包含未知的工作階段",
+ "\"%(RoomName)s\" contains sessions that you haven't seen before.": "「%(RoomName)s」包含您以前沒看過的工作階段。",
+ "Unknown sessions": "未知的工作階段",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your passphrase.": "透過輸入您的通關密語來存取您的安全訊息歷史,以及用來驗證其他工作階段的交叉簽章身份。",
+ "Access your secure message history and your cross-signing identity for verifying other sessions by entering your recovery key.": "透過輸入您的復原金鑰來存取您的安全訊息歷史,以及用來驗證其他工作階段的交叉簽章身份。",
+ "Message not sent due to unknown sessions being present": "因為有未知的工作階段,所以並未傳送訊息",
+ "Show sessions, send anyway or cancel.": "顯示工作階段,無論如何都要傳送或取消。",
+ "Your new session is now verified. Other users will see it as trusted.": "您新的工作階段已驗證。其他使用者將會看到其已受信任。",
+ "Without completing security on this session, it won’t have access to encrypted messages.": "如果在此工作階段中沒有完成安全性驗證,它將無法存取已加密的訊息。",
+ "Changing your password will reset any end-to-end encryption keys on all of your sessions, making encrypted chat history unreadable. Set up Key Backup or export your room keys from another session before resetting your password.": "變更您的密碼將會重設您所有的工作階段上任何端到端加密金鑰,讓已加密的聊天歷史無法讀取。設定金鑰備份或在重設您的密碼前從其他工作階段匯出您的聊天室金鑰。",
+ "You have been logged out of all sessions and will no longer receive push notifications. To re-enable notifications, sign in again on each device.": "您已登出所有工作階段,且將不會再收到推播通知。要重新啟用通知,請在每個裝置上重新登入。",
+ "Regain access to your account and recover encryption keys stored in this session. Without them, you won’t be able to read all of your secure messages in any session.": "重新取得對您的帳號的存取權限,並復原此工作階段中的復原金鑰。沒有它們,您就無法在任何工作階段中閱讀您所有的安全訊息。",
+ "Warning: Your personal data (including encryption keys) is still stored in this session. Clear it if you're finished using this session, or want to sign in to another account.": "警告:您的個人資料(包含加密金鑰)仍儲存在此工作階段中。如果您已不用此工作階段了,或是您想登入另一個帳號,就請將其清除。",
+ "Sender session information": "傳送者工作階段資訊",
+ "Restore your key backup to upgrade your encryption": "復原您的金鑰備份以升級您的加密",
+ "Upgrade this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "升級此工作階段以允許驗證其他工作階段,給予它們存取加密訊息的權限,並為其他使用者標記它們為受信任。",
+ "Set up encryption on this session to allow it to verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "在此工作階段上設定加密以使其可以驗證其他工作階段,給它們對已加密訊息的存取權,並將它們對其他使用者標記為受信任。",
+ "Back up my encryption keys, securing them with the same passphrase": "備份我的加密金鑰,使用相同的通關密語保護它們",
+ "This session can now verify other sessions, granting them access to encrypted messages and marking them as trusted for other users.": "這個工作階段現在可以驗證其他工作階段,給它們對已加密訊息的存取權,並將它們對其他使用者標記為受信任。",
+ "Without setting up Secure Message Recovery, you won't be able to restore your encrypted message history if you log out or use another session.": "沒有設定安全訊息復原,如果您登出的或是用其他工作階段的話,您就無法復原您已加密的訊習歷史。",
+ "This session is encrypting history using the new recovery method.": "此工作階段正在使用新的復原方法加密歷史。",
+ "This session has detected that your recovery passphrase and key for Secure Messages have been removed.": "此工作階段已偵測到您的復原通關密語與安全訊息金鑰已被移除。",
+ "Keep secret storage passphrase in memory for this session": "此工作階段會將秘密儲存空間通關密語置於記憶體中",
+ "Confirm the emoji below are displayed on both devices, in the same order:": "確認以下顯示的表情符號以相同的順序顯示在兩個裝置上:",
+ "Verify this device by confirming the following number appears on its screen.": "透過確認以下顯示在螢幕上的數字來驗證此裝置。",
+ "Mod": "模組",
+ "Encryption enabled": "加密已啟用",
+ "Messages in this room are end-to-end encrypted. Learn more & verify this user in their user profile.": "此聊天室中的訊息已端到端加密。了解更多資訊並在使用者的個人檔案中驗證使用者。",
+ "Encryption not enabled": "加密未啟用",
+ "The encryption used by this room isn't supported.": "不支援此聊天室使用的加密。",
+ "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "驗證此裝置以標記其為受信任。",
+ "Show padlocks on invite only rooms": "在僅邀請的聊天室上顯示掛鎖",
+ "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "驗證此裝置將會將其標記為受信任,且已驗證您的使用者將會信任此裝置。",
+ "If you did this accidentally, you can setup Secure Messages on this session which will re-encrypt this session's message history with a new recovery method.": "如果您不小心這樣做了,您可以在此工作階段上設定安全訊息,這將會以新的復原方法重新加密此工作階段的訊息歷史。",
+ "If disabled, messages from encrypted rooms won't appear in search results.": "若停用,從已加密的聊天室而來的訊息將不會出現在搜尋結果中。",
+ "Disable": "停用",
+ "Not currently downloading messages for any room.": "目前未下載任何聊天室的訊息。",
+ "Downloading mesages for %(currentRoom)s.": "正在下載 %(currentRoom)s 的訊息。",
+ "Riot is securely caching encrypted messages locally for them to appear in search results:": "Riot 正在安全地本機快取已加密的訊息以讓它們顯示在搜尋結果中:",
+ "Space used:": "已使用空間:",
+ "Indexed messages:": "已索引的訊息:",
+ "Number of rooms:": "聊天室數量:",
+ "Setting up keys": "設定金鑰",
+ "How fast should messages be downloaded.": "訊息應多快下載一次。",
+ "Verify yourself & others to keep your chats safe": "驗證您自己與其他以保證您的聊天安全",
+ "You have not verified this user.": "您尚未驗證此使用者。",
+ "Recovery key mismatch": "復原金鑰不相符",
+ "Incorrect recovery passphrase": "錯誤的復原通關密語",
+ "Backup restored": "備份已復原",
+ "Enter recovery passphrase": "輸入復原通關密語",
+ "Enter recovery key": "輸入復原金鑰",
+ "Confirm your identity by entering your account password below.": "透過在下方輸入您的帳號密碼來確認身份。",
+ "Keep a copy of it somewhere secure, like a password manager or even a safe.": "將其副本保存在安全的地方,如密碼管理器或保險箱等。",
+ "Your recovery key": "您的復原金鑰",
+ "Copy": "副本",
+ "You can now verify your other devices, and other users to keep your chats safe.": "您現在可以驗證您的其他裝置與其他使用者以保護您的聊天安全。",
+ "Make a copy of your recovery key": "複製您的復原金鑰",
+ "You're done!": "您已經完成了!",
+ "Create key backup": "建立金鑰備份",
+ "Message downloading sleep time(ms)": "訊息下載休眠時間(毫秒)",
+ "of ": "的 ",
+ "Indexed rooms:": "已索引的聊天室:",
+ "%(crawlingRooms)s out of %(totalRooms)s": "%(totalRooms)s 中的 %(crawlingRooms)s",
+ "If you cancel now, you won't complete verifying the other user.": "如果您現在取消,您將無法完成驗證其他使用者。",
+ "If you cancel now, you won't complete verifying your other session.": "如果您現在取消,您將無法完成驗證您其他的工作階段。",
+ "If you cancel now, you won't complete your secret storage operation.": "如果您現在取消,您將無法完成驗證您的秘密儲存空間動作。",
+ "Cancel entering passphrase?": "取消輸入通關密語?",
+ "Show typing notifications": "顯示打字通知",
+ "Reset cross-signing and secret storage": "重設交叉簽章與秘密儲存空間",
+ "Destroy cross-signing keys?": "摧毀交叉簽章金鑰?",
+ "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": "永久刪除交叉簽章金鑰。任何您已驗證過的人都會看到安全性警告。除非您遺失了所有可以進行交叉簽章的裝置,否則您平常幾乎不會想要這樣做。",
+ "Clear cross-signing keys": "清除交叉簽章金鑰",
+ "Verify this session by completing one of the following:": "透過完成以下任一種動作來驗證此工作階段:",
+ "Scan this unique code": "掃描此獨一無二的條碼",
+ "or": "或",
+ "Compare unique emoji": "比較獨一無二的顏文字",
+ "Compare a unique set of emoji if you don't have a camera on either device": "如果兩個裝置上都沒有相機的話,就比較一組獨一無二的顏文字",
+ "Not Trusted": "未受信任",
+ "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) 登入到未驗證的新工作階段:",
+ "Ask this user to verify their session, or manually verify it below.": "要求此使用者驗證他們的工作階段,或在下方手動驗證。",
+ "Manually Verify": "手動驗證",
+ "Verify by scanning": "透過掃描來驗證",
+ "The version of Riot": "Riot 版本",
+ "Whether you're using Riot on a device where touch is the primary input mechanism": "您是否在以觸控為主要機制的裝置上使用 Riot",
+ "Whether you're using Riot as an installed Progressive Web App": "您是否使用 PWA 形式的 Riot",
+ "Your user agent": "您的使用者代理字串",
+ "The information being sent to us to help make Riot better includes:": "傳送給我們以協助改進 Riot 的資訊包含了:",
+ "The session you are trying to verify doesn't support scanning a QR code or emoji verification, which is what Riot supports. Try with a different client.": "您嘗試驗證的工作階段不支援 Riot 支援的掃描 QR code 或顏文字驗證。請用其他客戶端試試看。",
+ "You declined": "您拒絕了",
+ "%(name)s declined": "%(name)s 拒絕了",
+ "accepting …": "正在接受……",
+ "declining …": "正在拒絕……",
+ "Your homeserver does not support cross-signing.": "您的家伺服器不支援交叉簽章。",
+ "Homeserver feature support:": "家伺服器功能支援:",
+ "exists": "存在",
+ "Verification Requests": "驗證請求",
+ "Cancelling…": "正在取消……",
+ "Accepting…": "正在接受……",
+ "Accepting …": "正在接受……",
+ "Declining …": "正在拒絕……",
+ "Your account is not secure": "您的帳號不安全",
+ "Your password": "您的密碼",
+ "This session, or the other session": "此工作階段或其他工作階段",
+ "The internet connection either session is using": "任何一個工作階段正在使用的網際網路連線",
+ "We recommend you change your password and recovery key in Settings immediately": "我們建議您立刻在設定中變更您的密碼與復原金鑰",
+ "Sign In or Create Account": "登入或建立帳號",
+ "Use your account or create a new one to continue.": "使用您的帳號或建立新的以繼續。",
+ "Create Account": "建立帳號",
+ "Order rooms by name": "以名稱排序聊天室",
+ "Show rooms with unread notifications first": "先顯示有未讀通知的聊天室",
+ "Show shortcuts to recently viewed rooms above the room list": "在聊天室清單上方顯示最近看過的聊天室的捷徑",
+ "Displays information about a user": "顯示關於使用者的資訊",
+ "To report a Matrix-related security issue, please read the Matrix.org Security Disclosure Policy.": "要回報與 Matrix 有關的安全性問題,請閱讀 Matrix.org 安全性揭露政策。",
+ "Mark all as read": "全部標示為已讀",
+ "Not currently indexing messages for any room.": "目前未為任何聊天室編寫索引。",
+ "Currently indexing: %(currentRoom)s.": "目前正在製作索引:%(currentRoom)s。",
+ "%(doneRooms)s out of %(totalRooms)s": "%(totalRooms)s 中的 %(doneRooms)s",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|other": "%(senderName)s 為此聊天室新增了替代位置 %(addresses)s。",
+ "%(senderName)s added the alternative addresses %(addresses)s for this room.|one": "%(senderName)s 為此聊天室新增了替代位置 %(addresses)s。",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|other": "%(senderName)s 為此聊天室移除了替代位置 %(addresses)s。",
+ "%(senderName)s removed the alternative addresses %(addresses)s for this room.|one": "%(senderName)s 為此聊天室移除了替代位置 %(addresses)s。",
+ "%(senderName)s changed the alternative addresses for this room.": "%(senderName)s 為此聊天是變更了替代位置。",
+ "%(senderName)s changed the main and alternative addresses for this room.": "%(senderName)s 為此聊天是變更了主要及替代位置。",
+ "There was an error updating the room's alternative addresses. It may not be allowed by the server or a temporary failure occurred.": "更新聊天室的替代位置時發生錯誤。伺服器可能不允許這麼做,或是昱到了暫時性的故障。",
+ "Alternative addresses for this room:": "此聊天是的替代位置:",
+ "This room has no alternative addresses": "此聊天室沒有替代位置",
+ "New address (e.g. #foo:domain)": "新位置(例如:#foo:domain)",
+ "Local addresses (unmoderated content)": "本機位置(未經審核的內容)",
+ "%(senderDisplayName)s changed the room name from %(oldRoomName)s to %(newRoomName)s.": "%(senderDisplayName)s 將聊天室名稱從 %(oldRoomName)s 變更為 %(newRoomName)s。",
+ "%(senderName)s changed the addresses for this room.": "%(senderName)s 變更了此聊天室的位置。",
+ "You don't have permission to delete the alias.": "您沒有刪除別名的權限。",
+ "Support adding custom themes": "支援新增自訂佈景主題",
+ "Invalid theme schema.": "無效的佈景主題架構。",
+ "Error downloading theme information.": "下載佈景主題資訊時發生錯誤。",
+ "Theme added!": "已新增佈景主題!",
+ "Custom theme URL": "自訂佈景主題 URL",
+ "Add theme": "新增佈景主題",
+ "Review Sessions": "檢閱工作階段",
+ "Scroll to most recent messages": "捲動到最新訊息",
+ "Local address": "本機位置",
+ "Published Addresses": "發佈的位置",
+ "Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.": "發佈的位置可以讓在任何伺服器上的任何人用來加入您的聊天室。要發佈位置,您必須先設定本機位置。",
+ "Other published addresses:": "其他已發佈的位置:",
+ "No other published addresses yet, add one below": "尚無其他已發佈的位置,在下方新增一個",
+ "New published address (e.g. #alias:server)": "新的已發佈位置(例如:#alias:server)",
+ "Local Addresses": "本機位置",
+ "Set addresses for this room so users can find this room through your homeserver (%(localDomain)s)": "為此聊天室設定位置讓使用者可以透過您的家伺服器找到此聊天室 (%(localDomain)s)",
+ "Open an existing session & use it to verify this one, granting it access to encrypted messages.": "開啟既有的工作階段並使用它來驗證此工作階段,並授予其存取已加密訊息的權限。",
+ "Waiting…": "等待中……",
+ "If you can’t access one, use your recovery key or passphrase.": "如果您無法存取裝置,使用您的復原金鑰或通關密語。",
+ "Enter a server name": "輸入伺服器名稱",
+ "Looks good": "看起來不錯",
+ "Can't find this server or its room list": "找不到此伺服器或其聊天室清單",
+ "All rooms": "所有聊天室",
+ "Your server": "您的伺服器",
+ "Are you sure you want to remove %(serverName)s": "您確定您想要移除 %(serverName)s 嗎",
+ "Remove server": "移除伺服器",
+ "Matrix": "Matrix",
+ "Add a new server": "加入新的伺服器",
+ "Enter the name of a new server you want to explore.": "輸入您想要探索的新伺服器的名稱。",
+ "Server name": "伺服器名稱",
+ "Add a new server...": "加入新的伺服器……",
+ "%(networkName)s rooms": "%(networkName)s 聊天室",
+ "Matrix rooms": "Matrix 聊天室",
+ "Keyboard Shortcuts": "鍵盤快捷鍵",
+ "Start a conversation with someone using their name, username (like ) or email address.": "使用他們的名字、使用者名稱(如 )或電子郵件地址來與某人開始對話。",
+ "a new master key signature": "新的主控金鑰簽章",
+ "a new cross-signing key signature": "新的交叉簽署金鑰簽章",
+ "a device cross-signing signature": "裝置交叉簽署簽章",
+ "a key signature": "金鑰簽章",
+ "Riot encountered an error during upload of:": "Riot 在上傳以下內容時遇到錯誤:",
+ "Upload completed": "上傳完成",
+ "Cancelled signature upload": "已取消簽章上傳",
+ "Unabled to upload": "無法上傳",
+ "Signature upload success": "簽章上傳成功",
+ "Signature upload failed": "簽章上傳失敗",
+ "Navigation": "導航",
+ "Calls": "通話",
+ "Room List": "聊天室清單",
+ "Autocomplete": "自動完成",
+ "Alt": "Alt",
+ "Alt Gr": "Alt Gr",
+ "Shift": "Shift",
+ "Super": "Super",
+ "Ctrl": "Ctrl",
+ "Toggle Bold": "切換粗體",
+ "Toggle Italics": "切換斜體",
+ "Toggle Quote": "切換引用",
+ "Toggle Markdown": "切換 Markdown",
+ "New line": "新行",
+ "Navigate recent messages to edit": "瀏覽最近的消息以進行編輯",
+ "Jump to start/end of the composer": "跳到編輯區的開頭/結尾",
+ "Toggle microphone mute": "切換麥克風靜音",
+ "Toggle video on/off": "切換影片開啟/關閉",
+ "Jump to room search": "調到聊天室搜尋",
+ "Navigate up/down in the room list": "在聊天室清單中向上/向下瀏覽",
+ "Select room from the room list": "從聊天室清單中選取聊天室",
+ "Collapse room list section": "折疊聊天室清單部份",
+ "Expand room list section": "展開聊天室清單部份",
+ "Clear room list filter field": "清除聊天室清單過濾器欄位",
+ "Scroll up/down in the timeline": "在時間軸中向上/向下捲動",
+ "Toggle the top left menu": "切換左上方選單",
+ "Close dialog or context menu": "關閉對話框或右鍵選單",
+ "Activate selected button": "啟動已選取按鈕",
+ "Toggle this dialog": "切換此對話框",
+ "Move autocomplete selection up/down": "上下移動自動完成選擇",
+ "Cancel autocomplete": "取消自動完成",
+ "Page Up": "向上翻頁",
+ "Page Down": "向下翻頁",
+ "Esc": "Esc",
+ "Enter": "Enter",
+ "Space": "Space",
+ "End": "End",
+ "Manually Verify by Text": "手動驗證文字",
+ "Interactively verify by Emoji": "透過表情符號進行互動式驗證",
+ "Confirm by comparing the following with the User Settings in your other session:": "透過比較以下內容與您其他的工作階段中的使用者設定來確認:",
+ "Confirm this user's session by comparing the following with their User Settings:": "透過將以下內容與其他使用者的使用者設定比較來確認他們的工作階段:",
+ "If they don't match, the security of your communication may be compromised.": "如果它們不相符,則可能會威脅到您的通訊安全。",
+ "Navigate composer history": "瀏覽編輯區歷史紀錄",
+ "Previous/next unread room or DM": "上一下/下一個未讀聊天室或直接訊息",
+ "Previous/next room or DM": "上一個/下一個聊天室或直接訊息",
+ "Toggle right panel": "切換右側面板",
+ "Secret Storage key format:": "秘密儲存金鑰格式:",
+ "outdated": "太舊了",
+ "up to date": "已為最新",
+ "Self signing private key:": "自行簽章私鑰:",
+ "cached locally": "本機快取",
+ "not found locally": "在本機找不到",
+ "User signing private key:": "使用者簽章私鑰:"
}
diff --git a/src/indexing/BaseEventIndexManager.js b/src/indexing/BaseEventIndexManager.js
index 5e8ca668ad..f780c8e9ce 100644
--- a/src/indexing/BaseEventIndexManager.js
+++ b/src/indexing/BaseEventIndexManager.js
@@ -62,11 +62,24 @@ export interface SearchArgs {
room_id: ?string;
}
-export interface HistoricEvent {
+export interface EventAndProfile {
event: MatrixEvent;
profile: MatrixProfile;
}
+export interface LoadArgs {
+ roomId: string;
+ limit: number;
+ fromEvent: string;
+ direction: string;
+}
+
+export interface IndexStats {
+ size: number;
+ event_count: number;
+ room_count: number;
+}
+
/**
* Base class for classes that provide platform-specific event indexing.
*
@@ -92,7 +105,7 @@ export default class BaseEventIndexManager {
* @return {Promise} A promise that will resolve when the event index is
* initialized.
*/
- async initEventIndex(): Promise<> {
+ async initEventIndex(): Promise {
throw new Error("Unimplemented");
}
@@ -110,6 +123,10 @@ export default class BaseEventIndexManager {
throw new Error("Unimplemented");
}
+ async deleteEvent(eventId: string): Promise {
+ throw new Error("Unimplemented");
+ }
+
/**
* Check if our event index is empty.
*/
@@ -117,21 +134,31 @@ export default class BaseEventIndexManager {
throw new Error("Unimplemented");
}
+ /**
+ * Get statistical information of the index.
+ *
+ * @return {Promise} A promise that will resolve to the index
+ * statistics.
+ */
+ async getStats(): Promise {
+ throw new Error("Unimplemented");
+ }
+
/**
* Commit the previously queued up events to the index.
*
* @return {Promise} A promise that will resolve once the queued up events
* were added to the index.
*/
- async commitLiveEvents(): Promise<> {
+ async commitLiveEvents(): Promise {
throw new Error("Unimplemented");
}
/**
* Search the event index using the given term for matching events.
*
- * @param {SearchArgs} searchArgs The search configuration sets what should
- * be searched for and what should be contained in the search result.
+ * @param {SearchArgs} searchArgs The search configuration for the search,
+ * sets the search term and determines the search result contents.
*
* @return {Promise<[SearchResult]>} A promise that will resolve to an array
* of search results once the search is done.
@@ -145,7 +172,7 @@ export default class BaseEventIndexManager {
*
* This is used to add a batch of events to the index.
*
- * @param {[HistoricEvent]} events The list of events and profiles that
+ * @param {[EventAndProfile]} events The list of events and profiles that
* should be added to the event index.
* @param {[CrawlerCheckpoint]} checkpoint A new crawler checkpoint that
* should be stored in the index which should be used to continue crawling
@@ -158,7 +185,7 @@ export default class BaseEventIndexManager {
* were already added to the index, false otherwise.
*/
async addHistoricEvents(
- events: [HistoricEvent],
+ events: [EventAndProfile],
checkpoint: CrawlerCheckpoint | null,
oldCheckpoint: CrawlerCheckpoint | null,
): Promise {
@@ -174,7 +201,7 @@ export default class BaseEventIndexManager {
* @return {Promise} A promise that will resolve once the checkpoint has
* been stored.
*/
- async addCrawlerCheckpoint(checkpoint: CrawlerCheckpoint): Promise<> {
+ async addCrawlerCheckpoint(checkpoint: CrawlerCheckpoint): Promise {
throw new Error("Unimplemented");
}
@@ -187,7 +214,7 @@ export default class BaseEventIndexManager {
* @return {Promise} A promise that will resolve once the checkpoint has
* been removed.
*/
- async removeCrawlerCheckpoint(checkpoint: CrawlerCheckpoint): Promise<> {
+ async removeCrawlerCheckpoint(checkpoint: CrawlerCheckpoint): Promise {
throw new Error("Unimplemented");
}
@@ -201,13 +228,33 @@ export default class BaseEventIndexManager {
throw new Error("Unimplemented");
}
+ /** Load events that contain an mxc URL to a file from the index.
+ *
+ * @param {object} args Arguments object for the method.
+ * @param {string} args.roomId The ID of the room for which the events
+ * should be loaded.
+ * @param {number} args.limit The maximum number of events to return.
+ * @param {string} args.fromEvent An event id of a previous event returned
+ * by this method. Passing this means that we are going to continue loading
+ * events from this point in the history.
+ * @param {string} args.direction The direction to which we should continue
+ * loading events from. This is used only if fromEvent is used as well.
+ *
+ * @return {Promise<[EventAndProfile]>} A promise that will resolve to an
+ * array of Matrix events that contain mxc URLs accompanied with the
+ * historic profile of the sender.
+ */
+ async loadFileEvents(args: LoadArgs): Promise<[EventAndProfile]> {
+ throw new Error("Unimplemented");
+ }
+
/**
* close our event index.
*
* @return {Promise} A promise that will resolve once the event index has
* been closed.
*/
- async closeEventIndex(): Promise<> {
+ async closeEventIndex(): Promise {
throw new Error("Unimplemented");
}
@@ -217,7 +264,7 @@ export default class BaseEventIndexManager {
* @return {Promise} A promise that will resolve once the event index has
* been deleted.
*/
- async deleteEventIndex(): Promise<> {
+ async deleteEventIndex(): Promise {
throw new Error("Unimplemented");
}
}
diff --git a/src/indexing/EventIndex.js b/src/indexing/EventIndex.js
index c912e31fa5..9e27451a78 100644
--- a/src/indexing/EventIndex.js
+++ b/src/indexing/EventIndex.js
@@ -16,20 +16,26 @@ limitations under the License.
import PlatformPeg from "../PlatformPeg";
import {MatrixClientPeg} from "../MatrixClientPeg";
+import {EventTimeline, RoomMember} from 'matrix-js-sdk';
+import {sleep} from "../utils/promise";
+import SettingsStore, {SettingLevel} from "../settings/SettingsStore";
+import {EventEmitter} from "events";
/*
* Event indexing class that wraps the platform specific event indexing.
*/
-export default class EventIndex {
+export default class EventIndex extends EventEmitter {
constructor() {
+ super();
this.crawlerCheckpoints = [];
- // The time that the crawler will wait between /rooms/{room_id}/messages
- // requests
- this._crawlerTimeout = 3000;
+ // The time in ms that the crawler will wait loop iterations if there
+ // have not been any checkpoints to consume in the last iteration.
+ this._crawlerIdleTime = 5000;
// The maximum number of events our crawler should fetch in a single
// crawl.
this._eventsPerCrawl = 100;
this._crawler = null;
+ this._currentCheckpoint = null;
this.liveEventsForIndex = new Set();
}
@@ -45,6 +51,9 @@ export default class EventIndex {
this.registerListeners();
}
+ /**
+ * Register event listeners that are necessary for the event index to work.
+ */
registerListeners() {
const client = MatrixClientPeg.get();
@@ -52,8 +61,12 @@ export default class EventIndex {
client.on('Room.timeline', this.onRoomTimeline);
client.on('Event.decrypted', this.onEventDecrypted);
client.on('Room.timelineReset', this.onTimelineReset);
+ client.on('Room.redaction', this.onRedaction);
}
+ /**
+ * Remove the event index specific event listeners.
+ */
removeListeners() {
const client = MatrixClientPeg.get();
if (client === null) return;
@@ -62,61 +75,84 @@ export default class EventIndex {
client.removeListener('Room.timeline', this.onRoomTimeline);
client.removeListener('Event.decrypted', this.onEventDecrypted);
client.removeListener('Room.timelineReset', this.onTimelineReset);
+ client.removeListener('Room.redaction', this.onRedaction);
}
+ /**
+ * Get crawler checkpoints for the encrypted rooms and store them in the index.
+ */
+ async addInitialCheckpoints() {
+ const indexManager = PlatformPeg.get().getEventIndexingManager();
+ const client = MatrixClientPeg.get();
+ const rooms = client.getRooms();
+
+ const isRoomEncrypted = (room) => {
+ return client.isRoomEncrypted(room.roomId);
+ };
+
+ // We only care to crawl the encrypted rooms, non-encrypted
+ // rooms can use the search provided by the homeserver.
+ const encryptedRooms = rooms.filter(isRoomEncrypted);
+
+ console.log("EventIndex: Adding initial crawler checkpoints");
+
+ // Gather the prev_batch tokens and create checkpoints for
+ // our message crawler.
+ await Promise.all(encryptedRooms.map(async (room) => {
+ const timeline = room.getLiveTimeline();
+ const token = timeline.getPaginationToken("b");
+
+ console.log("EventIndex: Got token for indexer",
+ room.roomId, token);
+
+ const backCheckpoint = {
+ roomId: room.roomId,
+ token: token,
+ direction: "b",
+ };
+
+ const forwardCheckpoint = {
+ roomId: room.roomId,
+ token: token,
+ direction: "f",
+ };
+
+ try {
+ if (backCheckpoint.token) {
+ await indexManager.addCrawlerCheckpoint(backCheckpoint);
+ this.crawlerCheckpoints.push(backCheckpoint);
+ }
+
+ if (forwardCheckpoint.token) {
+ await indexManager.addCrawlerCheckpoint(forwardCheckpoint);
+ this.crawlerCheckpoints.push(forwardCheckpoint);
+ }
+ } catch (e) {
+ console.log("EventIndex: Error adding initial checkpoints for room",
+ room.roomId, backCheckpoint, forwardCheckpoint, e);
+ }
+ }));
+ }
+
+ /*
+ * The sync event listener.
+ *
+ * The listener has two cases:
+ * - First sync after start up, check if the index is empty, add
+ * initial checkpoints, if so. Start the crawler background task.
+ * - Every other sync, tell the event index to commit all the queued up
+ * live events
+ */
onSync = async (state, prevState, data) => {
const indexManager = PlatformPeg.get().getEventIndexingManager();
if (prevState === "PREPARED" && state === "SYNCING") {
- const addInitialCheckpoints = async () => {
- const client = MatrixClientPeg.get();
- const rooms = client.getRooms();
-
- const isRoomEncrypted = (room) => {
- return client.isRoomEncrypted(room.roomId);
- };
-
- // We only care to crawl the encrypted rooms, non-encrypted.
- // rooms can use the search provided by the homeserver.
- const encryptedRooms = rooms.filter(isRoomEncrypted);
-
- console.log("EventIndex: Adding initial crawler checkpoints");
-
- // Gather the prev_batch tokens and create checkpoints for
- // our message crawler.
- await Promise.all(encryptedRooms.map(async (room) => {
- const timeline = room.getLiveTimeline();
- const token = timeline.getPaginationToken("b");
-
- console.log("EventIndex: Got token for indexer",
- room.roomId, token);
-
- const backCheckpoint = {
- roomId: room.roomId,
- token: token,
- direction: "b",
- };
-
- const forwardCheckpoint = {
- roomId: room.roomId,
- token: token,
- direction: "f",
- };
-
- await indexManager.addCrawlerCheckpoint(backCheckpoint);
- await indexManager.addCrawlerCheckpoint(forwardCheckpoint);
- this.crawlerCheckpoints.push(backCheckpoint);
- this.crawlerCheckpoints.push(forwardCheckpoint);
- }));
- };
-
// If our indexer is empty we're most likely running Riot the
// first time with indexing support or running it with an
// initial sync. Add checkpoints to crawl our encrypted rooms.
const eventIndexWasEmpty = await indexManager.isEventIndexEmpty();
- if (eventIndexWasEmpty) await addInitialCheckpoints();
+ if (eventIndexWasEmpty) await this.addInitialCheckpoints();
- // Start our crawler.
this.startCrawler();
return;
}
@@ -130,6 +166,14 @@ export default class EventIndex {
}
}
+ /*
+ * The Room.timeline listener.
+ *
+ * This listener waits for live events in encrypted rooms, if they are
+ * decrypted or unencrypted we queue them to be added to the index,
+ * otherwise we save their event id and wait for them in the Event.decrypted
+ * listener.
+ */
onRoomTimeline = async (ev, room, toStartOfTimeline, removed, data) => {
// We only index encrypted rooms locally.
if (!MatrixClientPeg.get().isRoomEncrypted(room.roomId)) return;
@@ -153,6 +197,12 @@ export default class EventIndex {
}
}
+ /*
+ * The Event.decrypted listener.
+ *
+ * Checks if the event was marked for addition in the Room.timeline
+ * listener, if so queues it up to be added to the index.
+ */
onEventDecrypted = async (ev, err) => {
const eventId = ev.getId();
@@ -162,15 +212,93 @@ export default class EventIndex {
await this.addLiveEventToIndex(ev);
}
+ /*
+ * The Room.redaction listener.
+ *
+ * Removes a redacted event from our event index.
+ */
+ onRedaction = async (ev, room) => {
+ // We only index encrypted rooms locally.
+ if (!MatrixClientPeg.get().isRoomEncrypted(room.roomId)) return;
+ const indexManager = PlatformPeg.get().getEventIndexingManager();
+
+ try {
+ await indexManager.deleteEvent(ev.getAssociatedId());
+ } catch (e) {
+ console.log("EventIndex: Error deleting event from index", e);
+ }
+ }
+
+ /*
+ * The Room.timelineReset listener.
+ *
+ * Listens for timeline resets that are caused by a limited timeline to
+ * re-add checkpoints for rooms that need to be crawled again.
+ */
+ onTimelineReset = async (room, timelineSet, resetAllTimelines) => {
+ if (room === null) return;
+
+ const indexManager = PlatformPeg.get().getEventIndexingManager();
+ if (!MatrixClientPeg.get().isRoomEncrypted(room.roomId)) return;
+
+ const timeline = room.getLiveTimeline();
+ const token = timeline.getPaginationToken("b");
+
+ const backwardsCheckpoint = {
+ roomId: room.roomId,
+ token: token,
+ fullCrawl: false,
+ direction: "b",
+ };
+
+ console.log("EventIndex: Added checkpoint because of a limited timeline",
+ backwardsCheckpoint);
+
+ await indexManager.addCrawlerCheckpoint(backwardsCheckpoint);
+
+ this.crawlerCheckpoints.push(backwardsCheckpoint);
+ }
+
+ /**
+ * Check if an event should be added to the event index.
+ *
+ * Most notably we filter events for which decryption failed, are redacted
+ * or aren't of a type that we know how to index.
+ *
+ * @param {MatrixEvent} ev The event that should checked.
+ * @returns {bool} Returns true if the event can be indexed, false
+ * otherwise.
+ */
+ isValidEvent(ev) {
+ const isUsefulType = ["m.room.message", "m.room.name", "m.room.topic"].includes(ev.getType());
+ const validEventType = isUsefulType && !ev.isRedacted() && !ev.isDecryptionFailure();
+
+ let validMsgType = true;
+
+ if (ev.getType() === "m.room.message" && !ev.isRedacted()) {
+ // Expand this if there are more invalid msgtypes.
+ const msgtype = ev.getContent().msgtype;
+
+ if (!msgtype) validMsgType = false;
+ else validMsgType = !msgtype.startsWith("m.key.verification");
+ }
+
+ return validEventType && validMsgType;
+ }
+
+ /**
+ * Queue up live events to be added to the event index.
+ *
+ * @param {MatrixEvent} ev The event that should be added to the index.
+ */
async addLiveEventToIndex(ev) {
const indexManager = PlatformPeg.get().getEventIndexingManager();
- if (["m.room.message", "m.room.name", "m.room.topic"]
- .indexOf(ev.getType()) == -1) {
- return;
- }
+ if (!this.isValidEvent(ev)) return;
+
+ const jsonEvent = ev.toJSON();
+ const e = ev.isEncrypted() ? jsonEvent.decrypted : jsonEvent;
- const e = ev.toJSON().decrypted;
const profile = {
displayname: ev.sender.rawDisplayName,
avatar_url: ev.sender.getMxcAvatarUrl(),
@@ -179,13 +307,25 @@ export default class EventIndex {
indexManager.addEventToIndex(e, profile);
}
- async crawlerFunc() {
- // TODO either put this in a better place or find a library provided
- // method that does this.
- const sleep = async (ms) => {
- return new Promise(resolve => setTimeout(resolve, ms));
- };
+ /**
+ * Emmit that the crawler has changed the checkpoint that it's currently
+ * handling.
+ */
+ emitNewCheckpoint() {
+ this.emit("changedCheckpoint", this.currentRoom());
+ }
+ /**
+ * The main crawler loop.
+ *
+ * Goes through crawlerCheckpoints and fetches events from the server to be
+ * added to the EventIndex.
+ *
+ * If a /room/{roomId}/messages request doesn't contain any events, stop the
+ * crawl, otherwise create a new checkpoint and push it to the
+ * crawlerCheckpoints queue so we go through them in a round-robin way.
+ */
+ async crawlerFunc() {
let cancelled = false;
console.log("EventIndex: Started crawler function");
@@ -199,11 +339,24 @@ export default class EventIndex {
cancelled = true;
};
+ let idle = false;
+
while (!cancelled) {
- // This is a low priority task and we don't want to spam our
- // homeserver with /messages requests so we set a hefty timeout
- // here.
- await sleep(this._crawlerTimeout);
+ let sleepTime = SettingsStore.getValueAt(SettingLevel.DEVICE, 'crawlerSleepTime');
+
+ // Don't let the user configure a lower sleep time than 100 ms.
+ sleepTime = Math.max(sleepTime, 100);
+
+ if (idle) {
+ sleepTime = this._crawlerIdleTime;
+ }
+
+ if (this._currentCheckpoint !== null) {
+ this._currentCheckpoint = null;
+ this.emitNewCheckpoint();
+ }
+
+ await sleep(sleepTime);
console.log("EventIndex: Running the crawler loop.");
@@ -216,9 +369,15 @@ export default class EventIndex {
/// There is no checkpoint available currently, one may appear if
// a sync with limited room timelines happens, so go back to sleep.
if (checkpoint === undefined) {
+ idle = true;
continue;
}
+ this._currentCheckpoint = checkpoint;
+ this.emitNewCheckpoint();
+
+ idle = false;
+
console.log("EventIndex: crawling using checkpoint", checkpoint);
// We have a checkpoint, let us fetch some messages, again, very
@@ -233,16 +392,40 @@ export default class EventIndex {
checkpoint.roomId, checkpoint.token, this._eventsPerCrawl,
checkpoint.direction);
} catch (e) {
+ if (e.httpStatus === 403) {
+ console.log("EventIndex: Removing checkpoint as we don't have ",
+ "permissions to fetch messages from this room.", checkpoint);
+ try {
+ await indexManager.removeCrawlerCheckpoint(checkpoint);
+ } catch (e) {
+ console.log("EventIndex: Error removing checkpoint", checkpoint, e);
+ // We don't push the checkpoint here back, it will
+ // hopefully be removed after a restart. But let us
+ // ignore it for now as we don't want to hammer the
+ // endpoint.
+ }
+ continue;
+ }
+
console.log("EventIndex: Error crawling events:", e);
this.crawlerCheckpoints.push(checkpoint);
continue;
}
+ if (cancelled) {
+ this.crawlerCheckpoints.push(checkpoint);
+ break;
+ }
+
if (res.chunk.length === 0) {
console.log("EventIndex: Done with the checkpoint", checkpoint);
// We got to the start/end of our timeline, lets just
// delete our checkpoint and go back to sleep.
- await indexManager.removeCrawlerCheckpoint(checkpoint);
+ try {
+ await indexManager.removeCrawlerCheckpoint(checkpoint);
+ } catch (e) {
+ console.log("EventIndex: Error removing checkpoint", checkpoint, e);
+ }
continue;
}
@@ -282,33 +465,22 @@ export default class EventIndex {
// Let us wait for all the events to get decrypted.
await Promise.all(decryptionPromises);
- // We filter out events for which decryption failed, are redacted
- // or aren't of a type that we know how to index.
- const isValidEvent = (value) => {
- return ([
- "m.room.message",
- "m.room.name",
- "m.room.topic",
- ].indexOf(value.getType()) >= 0
- && !value.isRedacted() && !value.isDecryptionFailure()
- );
- // TODO do we need to check if the event has all the valid
- // attributes?
- };
-
// TODO if there are no events at this point we're missing a lot
// decryption keys, do we want to retry this checkpoint at a later
// stage?
- const filteredEvents = matrixEvents.filter(isValidEvent);
+ const filteredEvents = matrixEvents.filter(this.isValidEvent);
+
+ // Collect the redaction events so we can delete the redacted events
+ // from the index.
+ const redactionEvents = matrixEvents.filter((ev) => {
+ return ev.getType() === "m.room.redaction";
+ });
// Let us convert the events back into a format that EventIndex can
// consume.
const events = filteredEvents.map((ev) => {
const jsonEvent = ev.toJSON();
-
- let e;
- if (ev.isEncrypted()) e = jsonEvent.decrypted;
- else e = jsonEvent;
+ const e = ev.isEncrypted() ? jsonEvent.decrypted : jsonEvent;
let profile = {};
if (e.sender in profiles) profile = profiles[e.sender];
@@ -335,6 +507,11 @@ export default class EventIndex {
);
try {
+ for (let i = 0; i < redactionEvents.length; i++) {
+ const ev = redactionEvents[i];
+ await indexManager.deleteEvent(ev.getAssociatedId());
+ }
+
const eventsAlreadyAdded = await indexManager.addHistoricEvents(
events, newCheckpoint, checkpoint);
// If all events were already indexed we assume that we catched
@@ -361,49 +538,305 @@ export default class EventIndex {
console.log("EventIndex: Stopping crawler function");
}
- onTimelineReset = async (room, timelineSet, resetAllTimelines) => {
- if (room === null) return;
-
- const indexManager = PlatformPeg.get().getEventIndexingManager();
- if (!MatrixClientPeg.get().isRoomEncrypted(room.roomId)) return;
-
- const timeline = room.getLiveTimeline();
- const token = timeline.getPaginationToken("b");
-
- const backwardsCheckpoint = {
- roomId: room.roomId,
- token: token,
- fullCrawl: false,
- direction: "b",
- };
-
- console.log("EventIndex: Added checkpoint because of a limited timeline",
- backwardsCheckpoint);
-
- await indexManager.addCrawlerCheckpoint(backwardsCheckpoint);
-
- this.crawlerCheckpoints.push(backwardsCheckpoint);
- }
-
+ /**
+ * Start the crawler background task.
+ */
startCrawler() {
if (this._crawler !== null) return;
this.crawlerFunc();
}
+ /**
+ * Stop the crawler background task.
+ */
stopCrawler() {
if (this._crawler === null) return;
this._crawler.cancel();
}
+ /**
+ * Close the event index.
+ *
+ * This removes all the MatrixClient event listeners, stops the crawler
+ * task, and closes the index.
+ */
async close() {
const indexManager = PlatformPeg.get().getEventIndexingManager();
this.removeListeners();
this.stopCrawler();
- return indexManager.closeEventIndex();
+ await indexManager.closeEventIndex();
+ return;
}
+ /**
+ * Search the event index using the given term for matching events.
+ *
+ * @param {SearchArgs} searchArgs The search configuration for the search,
+ * sets the search term and determines the search result contents.
+ *
+ * @return {Promise<[SearchResult]>} A promise that will resolve to an array
+ * of search results once the search is done.
+ */
async search(searchArgs) {
const indexManager = PlatformPeg.get().getEventIndexingManager();
return indexManager.searchEventIndex(searchArgs);
}
+
+ /**
+ * Load events that contain URLs from the event index.
+ *
+ * @param {Room} room The room for which we should fetch events containing
+ * URLs
+ *
+ * @param {number} limit The maximum number of events to fetch.
+ *
+ * @param {string} fromEvent From which event should we continue fetching
+ * events from the index. This is only needed if we're continuing to fill
+ * the timeline, e.g. if we're paginating. This needs to be set to a event
+ * id of an event that was previously fetched with this function.
+ *
+ * @param {string} direction The direction in which we will continue
+ * fetching events. EventTimeline.BACKWARDS to continue fetching events that
+ * are older than the event given in fromEvent, EventTimeline.FORWARDS to
+ * fetch newer events.
+ *
+ * @returns {Promise} Resolves to an array of events that
+ * contain URLs.
+ */
+ async loadFileEvents(room, limit = 10, fromEvent = null, direction = EventTimeline.BACKWARDS) {
+ const client = MatrixClientPeg.get();
+ const indexManager = PlatformPeg.get().getEventIndexingManager();
+
+ const loadArgs = {
+ roomId: room.roomId,
+ limit: limit,
+ };
+
+ if (fromEvent) {
+ loadArgs.fromEvent = fromEvent;
+ loadArgs.direction = direction;
+ }
+
+ let events;
+
+ // Get our events from the event index.
+ try {
+ events = await indexManager.loadFileEvents(loadArgs);
+ } catch (e) {
+ console.log("EventIndex: Error getting file events", e);
+ return [];
+ }
+
+ const eventMapper = client.getEventMapper();
+
+ // Turn the events into MatrixEvent objects.
+ const matrixEvents = events.map(e => {
+ const matrixEvent = eventMapper(e.event);
+
+ const member = new RoomMember(room.roomId, matrixEvent.getSender());
+
+ // We can't really reconstruct the whole room state from our
+ // EventIndex to calculate the correct display name. Use the
+ // disambiguated form always instead.
+ member.name = e.profile.displayname + " (" + matrixEvent.getSender() + ")";
+
+ // This is sets the avatar URL.
+ const memberEvent = eventMapper(
+ {
+ content: {
+ membership: "join",
+ avatar_url: e.profile.avatar_url,
+ displayname: e.profile.displayname,
+ },
+ type: "m.room.member",
+ event_id: matrixEvent.getId() + ":eventIndex",
+ room_id: matrixEvent.getRoomId(),
+ sender: matrixEvent.getSender(),
+ origin_server_ts: matrixEvent.getTs(),
+ state_key: matrixEvent.getSender(),
+ },
+ );
+
+ // We set this manually to avoid emitting RoomMember.membership and
+ // RoomMember.name events.
+ member.events.member = memberEvent;
+ matrixEvent.sender = member;
+
+ return matrixEvent;
+ });
+
+ return matrixEvents;
+ }
+
+ /**
+ * Fill a timeline with events that contain URLs.
+ *
+ * @param {TimelineSet} timelineSet The TimelineSet the Timeline belongs to,
+ * used to check if we're adding duplicate events.
+ *
+ * @param {Timeline} timeline The Timeline which should be filed with
+ * events.
+ *
+ * @param {Room} room The room for which we should fetch events containing
+ * URLs
+ *
+ * @param {number} limit The maximum number of events to fetch.
+ *
+ * @param {string} fromEvent From which event should we continue fetching
+ * events from the index. This is only needed if we're continuing to fill
+ * the timeline, e.g. if we're paginating. This needs to be set to a event
+ * id of an event that was previously fetched with this function.
+ *
+ * @param {string} direction The direction in which we will continue
+ * fetching events. EventTimeline.BACKWARDS to continue fetching events that
+ * are older than the event given in fromEvent, EventTimeline.FORWARDS to
+ * fetch newer events.
+ *
+ * @returns {Promise} Resolves to true if events were added to the
+ * timeline, false otherwise.
+ */
+ async populateFileTimeline(timelineSet, timeline, room, limit = 10,
+ fromEvent = null, direction = EventTimeline.BACKWARDS) {
+ const matrixEvents = await this.loadFileEvents(room, limit, fromEvent, direction);
+
+ // If this is a normal fill request, not a pagination request, we need
+ // to get our events in the BACKWARDS direction but populate them in the
+ // forwards direction.
+ // This needs to happen because a fill request might come with an
+ // exisitng timeline e.g. if you close and re-open the FilePanel.
+ if (fromEvent === null) {
+ matrixEvents.reverse();
+ direction = direction == EventTimeline.BACKWARDS ? EventTimeline.FORWARDS: EventTimeline.BACKWARDS;
+ }
+
+ // Add the events to the timeline of the file panel.
+ matrixEvents.forEach(e => {
+ if (!timelineSet.eventIdToTimeline(e.getId())) {
+ timelineSet.addEventToTimeline(e, timeline, direction == EventTimeline.BACKWARDS);
+ }
+ });
+
+ let ret = false;
+ let paginationToken = "";
+
+ // Set the pagination token to the oldest event that we retrieved.
+ if (matrixEvents.length > 0) {
+ paginationToken = matrixEvents[matrixEvents.length - 1].getId();
+ ret = true;
+ }
+
+ console.log("EventIndex: Populating file panel with", matrixEvents.length,
+ "events and setting the pagination token to", paginationToken);
+
+ timeline.setPaginationToken(paginationToken, EventTimeline.BACKWARDS);
+ return ret;
+ }
+
+ /**
+ * Emulate a TimelineWindow pagination() request with the event index as the event source
+ *
+ * Might not fetch events from the index if the timeline already contains
+ * events that the window isn't showing.
+ *
+ * @param {Room} room The room for which we should fetch events containing
+ * URLs
+ *
+ * @param {TimelineWindow} timelineWindow The timeline window that should be
+ * populated with new events.
+ *
+ * @param {string} direction The direction in which we should paginate.
+ * EventTimeline.BACKWARDS to paginate back, EventTimeline.FORWARDS to
+ * paginate forwards.
+ *
+ * @param {number} limit The maximum number of events to fetch while
+ * paginating.
+ *
+ * @returns {Promise} Resolves to a boolean which is true if more
+ * events were successfully retrieved.
+ */
+ paginateTimelineWindow(room, timelineWindow, direction, limit) {
+ const tl = timelineWindow.getTimelineIndex(direction);
+
+ if (!tl) return Promise.resolve(false);
+ if (tl.pendingPaginate) return tl.pendingPaginate;
+
+ if (timelineWindow.extend(direction, limit)) {
+ return Promise.resolve(true);
+ }
+
+ const paginationMethod = async (timelineWindow, timeline, room, direction, limit) => {
+ const timelineSet = timelineWindow._timelineSet;
+ const token = timeline.timeline.getPaginationToken(direction);
+
+ const ret = await this.populateFileTimeline(timelineSet, timeline.timeline, room, limit, token, direction);
+
+ timeline.pendingPaginate = null;
+ timelineWindow.extend(direction, limit);
+
+ return ret;
+ };
+
+ const paginationPromise = paginationMethod(timelineWindow, tl, room, direction, limit);
+ tl.pendingPaginate = paginationPromise;
+
+ return paginationPromise;
+ }
+
+ /**
+ * Get statistical information of the index.
+ *
+ * @return {Promise} A promise that will resolve to the index
+ * statistics.
+ */
+ async getStats() {
+ const indexManager = PlatformPeg.get().getEventIndexingManager();
+ return indexManager.getStats();
+ }
+
+ /**
+ * Get the room that we are currently crawling.
+ *
+ * @returns {Room} A MatrixRoom that is being currently crawled, null
+ * if no room is currently being crawled.
+ */
+ currentRoom() {
+ if (this._currentCheckpoint === null && this.crawlerCheckpoints.length === 0) {
+ return null;
+ }
+
+ const client = MatrixClientPeg.get();
+
+ if (this._currentCheckpoint !== null) {
+ return client.getRoom(this._currentCheckpoint.roomId);
+ } else {
+ return client.getRoom(this.crawlerCheckpoints[0].roomId);
+ }
+ }
+
+ crawlingRooms() {
+ const totalRooms = new Set();
+ const crawlingRooms = new Set();
+
+ this.crawlerCheckpoints.forEach((checkpoint, index) => {
+ crawlingRooms.add(checkpoint.roomId);
+ });
+
+ if (this._currentCheckpoint !== null) {
+ crawlingRooms.add(this._currentCheckpoint.roomId);
+ }
+
+ const client = MatrixClientPeg.get();
+ const rooms = client.getRooms();
+
+ const isRoomEncrypted = (room) => {
+ return client.isRoomEncrypted(room.roomId);
+ };
+
+ const encryptedRooms = rooms.filter(isRoomEncrypted);
+ encryptedRooms.forEach((room, index) => {
+ totalRooms.add(room.roomId);
+ });
+
+ return {crawlingRooms, totalRooms};
+ }
}
diff --git a/src/indexing/EventIndexPeg.js b/src/indexing/EventIndexPeg.js
index 3746591b1f..9aa7e78eda 100644
--- a/src/indexing/EventIndexPeg.js
+++ b/src/indexing/EventIndexPeg.js
@@ -21,17 +21,19 @@ limitations under the License.
import PlatformPeg from "../PlatformPeg";
import EventIndex from "../indexing/EventIndex";
-import SettingsStore from '../settings/SettingsStore';
+import SettingsStore, {SettingLevel} from '../settings/SettingsStore';
class EventIndexPeg {
constructor() {
this.index = null;
+ this._supportIsInstalled = false;
}
/**
- * Create a new EventIndex and initialize it if the platform supports it.
+ * Initialize the EventIndexPeg and if event indexing is enabled initialize
+ * the event index.
*
- * @return {Promise} A promise that will resolve to true if an
+ * @return {Promise} A promise that will resolve to true if an
* EventIndex was successfully initialized, false otherwise.
*/
async init() {
@@ -40,12 +42,33 @@ class EventIndexPeg {
}
const indexManager = PlatformPeg.get().getEventIndexingManager();
- if (!indexManager || await indexManager.supportsEventIndexing() !== true) {
- console.log("EventIndex: Platform doesn't support event indexing,",
- "not initializing.");
+ if (!indexManager) {
+ console.log("EventIndex: Platform doesn't support event indexing, not initializing.");
return false;
}
+ this._supportIsInstalled = await indexManager.supportsEventIndexing();
+
+ if (!this.supportIsInstalled()) {
+ console.log("EventIndex: Event indexing isn't installed for the platform, not initializing.");
+ return false;
+ }
+
+ if (!SettingsStore.getValueAt(SettingLevel.DEVICE, 'enableEventIndexing')) {
+ console.log("EventIndex: Event indexing is disabled, not initializing");
+ return false;
+ }
+
+ return this.initEventIndex();
+ }
+
+ /**
+ * Initialize the event index.
+ *
+ * @returns {boolean} True if the event index was succesfully initialized,
+ * false otherwise.
+ */
+ async initEventIndex() {
const index = new EventIndex();
try {
@@ -60,6 +83,29 @@ class EventIndexPeg {
return true;
}
+ /**
+ * Check if the current platform has support for event indexing.
+ *
+ * @return {boolean} True if it has support, false otherwise. Note that this
+ * does not mean that support is installed.
+ */
+ platformHasSupport(): boolean {
+ return PlatformPeg.get().getEventIndexingManager() !== null;
+ }
+
+ /**
+ * Check if event indexing support is installed for the platfrom.
+ *
+ * Event indexing might require additional optional modules to be installed,
+ * this tells us if those are installed. Note that this should only be
+ * called after the init() method was called.
+ *
+ * @return {boolean} True if support is installed, false otherwise.
+ */
+ supportIsInstalled(): boolean {
+ return this._supportIsInstalled;
+ }
+
/**
* Get the current event index.
*
@@ -69,6 +115,11 @@ class EventIndexPeg {
return this.index;
}
+ start() {
+ if (this.index === null) return;
+ this.index.startCrawler();
+ }
+
stop() {
if (this.index === null) return;
this.index.stopCrawler();
@@ -84,7 +135,7 @@ class EventIndexPeg {
*/
async unset() {
if (this.index === null) return;
- this.index.close();
+ await this.index.close();
this.index = null;
}
@@ -100,7 +151,7 @@ class EventIndexPeg {
const indexManager = PlatformPeg.get().getEventIndexingManager();
if (indexManager !== null) {
- this.unset();
+ await this.unset();
console.log("EventIndex: Deleting event index.");
await indexManager.deleteEventIndex();
}
diff --git a/src/integrations/IntegrationManagers.js b/src/integrations/IntegrationManagers.js
index b482ec73ce..3ba1aab135 100644
--- a/src/integrations/IntegrationManagers.js
+++ b/src/integrations/IntegrationManagers.js
@@ -54,14 +54,14 @@ export class IntegrationManagers {
startWatching(): void {
this.stopWatching();
this._client = MatrixClientPeg.get();
- this._client.on("accountData", this._onAccountData.bind(this));
+ this._client.on("accountData", this._onAccountData);
this._compileManagers();
setInterval(() => this._setupHomeserverManagers(), HS_MANAGERS_REFRESH_INTERVAL);
}
stopWatching(): void {
if (!this._client) return;
- this._client.removeListener("accountData", this._onAccountData.bind(this));
+ this._client.removeListener("accountData", this._onAccountData);
if (this._wellknownRefreshTimerId !== null) clearInterval(this._wellknownRefreshTimerId);
}
@@ -83,6 +83,7 @@ export class IntegrationManagers {
}
async _setupHomeserverManagers() {
+ if (!MatrixClientPeg.get()) return;
try {
console.log("Updating homeserver-configured integration managers...");
const homeserverDomain = MatrixClientPeg.getHomeserverName();
@@ -135,11 +136,11 @@ export class IntegrationManagers {
this._primaryManager = null; // reset primary
}
- _onAccountData(ev: MatrixEvent): void {
+ _onAccountData = (ev: MatrixEvent): void => {
if (ev.getType() === 'm.widgets') {
this._compileManagers();
}
- }
+ };
hasManager(): boolean {
return this._managers.length > 0;
diff --git a/src/languageHandler.js b/src/languageHandler.js
index ddb7e2718c..79a172015a 100644
--- a/src/languageHandler.js
+++ b/src/languageHandler.js
@@ -21,6 +21,7 @@ import request from 'browser-request';
import counterpart from 'counterpart';
import React from 'react';
import SettingsStore, {SettingLevel} from "./settings/SettingsStore";
+import PlatformPeg from "./PlatformPeg";
// $webapp is a webpack resolve alias pointing to the output directory, see webpack config
import webpackLangJsonUrl from "$webapp/i18n/languages.json";
@@ -285,6 +286,11 @@ export function setLanguage(preferredLangs) {
preferredLangs = [preferredLangs];
}
+ const plaf = PlatformPeg.get();
+ if (plaf) {
+ plaf.setLanguage(preferredLangs);
+ }
+
let langToUse;
let availLangs;
return getLangsJson().then((result) => {
diff --git a/src/linkify-matrix.js b/src/linkify-matrix.js
index 889bad682c..ee9f703136 100644
--- a/src/linkify-matrix.js
+++ b/src/linkify-matrix.js
@@ -16,7 +16,11 @@ limitations under the License.
*/
import {baseUrl} from "./utils/permalinks/SpecPermalinkConstructor";
-import {tryTransformPermalinkToLocalHref} from "./utils/permalinks/Permalinks";
+import {
+ parsePermalink,
+ tryTransformEntityToPermalink,
+ tryTransformPermalinkToLocalHref,
+} from "./utils/permalinks/Permalinks";
function matrixLinkify(linkify) {
// Text tokens
@@ -194,6 +198,22 @@ matrixLinkify.MATRIXTO_BASE_URL= baseUrl;
matrixLinkify.options = {
events: function(href, type) {
switch (type) {
+ case "url": {
+ // intercept local permalinks to users and show them like userids (in userinfo of current room)
+ try {
+ const permalink = parsePermalink(href);
+ if (permalink && permalink.userId) {
+ return {
+ click: function(e) {
+ matrixLinkify.onUserClick(e, permalink.userId);
+ },
+ };
+ }
+ } catch (e) {
+ // OK fine, it's not actually a permalink
+ }
+ break;
+ }
case "userid":
return {
click: function(e) {
@@ -221,13 +241,13 @@ matrixLinkify.options = {
case 'userid':
case 'groupid':
default: {
- return tryTransformPermalinkToLocalHref(href);
+ return tryTransformEntityToPermalink(href);
}
}
},
linkAttributes: {
- rel: 'noopener',
+ rel: 'noreferrer noopener',
},
target: function(href, type) {
diff --git a/src/mjolnir/Mjolnir.js b/src/mjolnir/Mjolnir.js
index 4970d8e8af..5836ffd57a 100644
--- a/src/mjolnir/Mjolnir.js
+++ b/src/mjolnir/Mjolnir.js
@@ -61,22 +61,22 @@ export class Mjolnir {
setup() {
if (!MatrixClientPeg.get()) return;
this._updateLists(SettingsStore.getValue("mjolnirRooms"));
- MatrixClientPeg.get().on("RoomState.events", this._onEvent.bind(this));
+ MatrixClientPeg.get().on("RoomState.events", this._onEvent);
}
stop() {
- SettingsStore.unwatchSetting(this._mjolnirWatchRef);
+ if (this._mjolnirWatchRef) {
+ SettingsStore.unwatchSetting(this._mjolnirWatchRef);
+ this._mjolnirWatchRef = null;
+ }
- try {
- if (this._dispatcherRef) dis.unregister(this._dispatcherRef);
- } catch (e) {
- console.error(e);
- // Only the tests cause problems with this particular block of code. We should
- // never be here in production.
+ if (this._dispatcherRef) {
+ dis.unregister(this._dispatcherRef);
+ this._dispatcherRef = null;
}
if (!MatrixClientPeg.get()) return;
- MatrixClientPeg.get().removeListener("RoomState.events", this._onEvent.bind(this));
+ MatrixClientPeg.get().removeListener("RoomState.events", this._onEvent);
}
async getOrCreatePersonalList(): Promise {
@@ -130,13 +130,13 @@ export class Mjolnir {
this._lists = this._lists.filter(b => b.roomId !== roomId);
}
- _onEvent(event) {
+ _onEvent = (event) => {
if (!MatrixClientPeg.get()) return;
if (!this._roomIds.includes(event.getRoomId())) return;
if (!ALL_RULE_TYPES.includes(event.getType())) return;
this._updateLists(this._roomIds);
- }
+ };
_onListsChanged(settingName, roomId, atLevel, newValue) {
// We know that ban lists are only recorded at one level so we don't need to re-eval them
diff --git a/src/rageshake/submit-rageshake.js b/src/rageshake/submit-rageshake.js
index 1d765dd273..1500130ffd 100644
--- a/src/rageshake/submit-rageshake.js
+++ b/src/rageshake/submit-rageshake.js
@@ -49,6 +49,18 @@ async function collectBugReport(opts) {
userAgent = window.navigator.userAgent;
}
+ let installedPWA = "UNKNOWN";
+ try {
+ // Known to work at least for desktop Chrome
+ installedPWA = window.matchMedia('(display-mode: standalone)').matches;
+ } catch (e) { }
+
+ let touchInput = "UNKNOWN";
+ try {
+ // MDN claims broad support across browsers
+ touchInput = window.matchMedia('(pointer: coarse)').matches;
+ } catch (e) { }
+
const client = MatrixClientPeg.get();
console.log("Sending bug report.");
@@ -58,12 +70,21 @@ async function collectBugReport(opts) {
body.append('app', 'riot-web');
body.append('version', version);
body.append('user_agent', userAgent);
+ body.append('installed_pwa', installedPWA);
+ body.append('touch_input', touchInput);
if (client) {
body.append('user_id', client.credentials.userId);
body.append('device_id', client.deviceId);
}
+ const keys = [`ed25519:${client.getDeviceEd25519Key()}`];
+ if (client.getDeviceCurve25519Key) {
+ keys.push(`curve25519:${client.getDeviceCurve25519Key()}`);
+ }
+ body.append('device_keys', keys.join(', '));
+ body.append('cross_signing_key', client.getCrossSigningId());
+
if (opts.label) {
body.append('label', opts.label);
}
@@ -74,6 +95,29 @@ async function collectBugReport(opts) {
body.append('enabled_labs', enabledLabs.join(', '));
}
+ // add storage persistence/quota information
+ if (navigator.storage && navigator.storage.persisted) {
+ try {
+ body.append("storageManager_persisted", await navigator.storage.persisted());
+ } catch (e) {}
+ } else if (document.hasStorageAccess) { // Safari
+ try {
+ body.append("storageManager_persisted", await document.hasStorageAccess());
+ } catch (e) {}
+ }
+ if (navigator.storage && navigator.storage.estimate) {
+ try {
+ const estimate = await navigator.storage.estimate();
+ body.append("storageManager_quota", estimate.quota);
+ body.append("storageManager_usage", estimate.usage);
+ if (estimate.usageDetails) {
+ Object.keys(estimate.usageDetails).forEach(k => {
+ body.append(`storageManager_usage_${k}`, estimate.usageDetails[k]);
+ });
+ }
+ } catch (e) {}
+ }
+
if (opts.sendLogs) {
progressCallback(_t("Collecting logs"));
const logs = await rageshake.getLogsForReport();
diff --git a/src/settings/Settings.js b/src/settings/Settings.js
index 8ee8d89890..0d72017878 100644
--- a/src/settings/Settings.js
+++ b/src/settings/Settings.js
@@ -1,7 +1,7 @@
/*
Copyright 2017 Travis Ralston
Copyright 2018, 2019 New Vector Ltd.
-Copyright 2019 The Matrix.org Foundation C.I.C.
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+import {MatrixClient} from 'matrix-js-sdk';
+
import {_td} from '../languageHandler';
import {
AudioNotificationsEnabledController,
@@ -24,6 +26,7 @@ import {
} from "./controllers/NotificationControllers";
import CustomStatusController from "./controllers/CustomStatusController";
import ThemeController from './controllers/ThemeController';
+import PushToMatrixClientController from './controllers/PushToMatrixClientController';
import ReloadOnChangeController from "./controllers/ReloadOnChangeController";
import {RIGHT_PANEL_PHASES} from "../stores/RightPanelStorePhases";
@@ -128,18 +131,18 @@ export const SETTINGS = {
supportedLevels: LEVELS_FEATURE,
default: false,
},
- "feature_ftue_dms": {
- isFeature: true,
- displayName: _td("New DM invite dialog (under development)"),
- supportedLevels: LEVELS_FEATURE,
- default: false,
- },
"feature_presence_in_room_list": {
isFeature: true,
displayName: _td("Show a presence dot next to DMs in the room list"),
supportedLevels: LEVELS_FEATURE,
default: false,
},
+ "feature_custom_themes": {
+ isFeature: true,
+ displayName: _td("Support adding custom themes"),
+ supportedLevels: LEVELS_FEATURE,
+ default: false,
+ },
"mjolnirRooms": {
supportedLevels: ['account'],
default: [],
@@ -150,10 +153,9 @@ export const SETTINGS = {
},
"feature_cross_signing": {
isFeature: true,
- displayName: _td("Enable cross-signing to verify per-user instead of per-device (in development)"),
+ displayName: _td("Enable cross-signing to verify per-user instead of per-session (in development)"),
supportedLevels: LEVELS_FEATURE,
default: false,
- controller: new ReloadOnChangeController(),
},
"feature_event_indexing": {
isFeature: true,
@@ -167,6 +169,12 @@ export const SETTINGS = {
displayName: _td("Show info about bridges in room settings"),
default: false,
},
+ "feature_invite_only_padlocks": {
+ isFeature: true,
+ supportedLevels: LEVELS_FEATURE,
+ displayName: _td("Show padlocks on invite only rooms"),
+ default: true,
+ },
"MessageComposerInput.suggestEmoji": {
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
displayName: _td('Enable Emoji suggestions while typing'),
@@ -264,6 +272,11 @@ export const SETTINGS = {
default: true,
invertedSettingName: 'dontSendTypingNotifications',
},
+ "showTypingNotifications": {
+ supportedLevels: LEVELS_ACCOUNT_SETTINGS,
+ displayName: _td("Show typing notifications"),
+ default: true,
+ },
"MessageComposerInput.autoReplaceEmoji": {
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
displayName: _td('Automatically replace plain text Emoji'),
@@ -320,6 +333,10 @@ export const SETTINGS = {
supportedLevels: ['account'],
default: [],
},
+ "room_directory_servers": {
+ supportedLevels: ['account'],
+ default: [],
+ },
"integrationProvisioning": {
supportedLevels: ['account'],
default: true,
@@ -355,8 +372,8 @@ export const SETTINGS = {
supportedLevels: ['room-device', 'device'],
supportedLevelsAreOrdered: true,
displayName: {
- "default": _td('Never send encrypted messages to unverified devices from this device'),
- "room-device": _td('Never send encrypted messages to unverified devices in this room from this device'),
+ "default": _td('Never send encrypted messages to unverified sessions from this session'),
+ "room-device": _td('Never send encrypted messages to unverified sessions in this room from this session'),
},
default: false,
},
@@ -429,14 +446,19 @@ export const SETTINGS = {
deny: [],
},
},
+ "RoomList.orderAlphabetically": {
+ supportedLevels: LEVELS_ACCOUNT_SETTINGS,
+ displayName: _td("Order rooms by name"),
+ default: false,
+ },
"RoomList.orderByImportance": {
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
- displayName: _td('Order rooms in the room list by most important first instead of most recent'),
+ displayName: _td("Show rooms with unread notifications first"),
default: true,
},
"breadcrumbs": {
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
- displayName: _td("Show recently visited rooms above the room list"),
+ displayName: _td("Show shortcuts to recently viewed rooms above the room list"),
default: true,
},
"showHiddenEventsInTimeline": {
@@ -487,4 +509,31 @@ export const SETTINGS = {
supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS,
default: RIGHT_PANEL_PHASES.GroupMemberList,
},
+ "enableEventIndexing": {
+ supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS,
+ displayName: _td("Enable message search in encrypted rooms"),
+ default: true,
+ },
+ "keepSecretStoragePassphraseForSession": {
+ supportedLevels: ['device', 'config'],
+ displayName: _td("Keep secret storage passphrase in memory for this session"),
+ default: false,
+ },
+ "crawlerSleepTime": {
+ supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS,
+ displayName: _td("How fast should messages be downloaded."),
+ default: 3000,
+ },
+ "showCallButtonsInComposer": {
+ supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS_WITH_CONFIG,
+ default: true,
+ },
+ "e2ee.manuallyVerifyAllSessions": {
+ supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS,
+ displayName: _td("Manually verify all remote sessions"),
+ default: false,
+ controller: new PushToMatrixClientController(
+ MatrixClient.prototype.setCryptoTrustCrossSignedDevices, true,
+ ),
+ },
};
diff --git a/src/settings/SettingsStore.js b/src/settings/SettingsStore.js
index 9501bac205..0122916bc3 100644
--- a/src/settings/SettingsStore.js
+++ b/src/settings/SettingsStore.js
@@ -113,6 +113,9 @@ export default class SettingsStore {
static _watchers = {}; // { callbackRef => { callbackFn } }
static _monitors = {}; // { settingName => { roomId => callbackRef } }
+ // Counter used for generation of watcher IDs
+ static _watcherCount = 1;
+
/**
* Watches for changes in a particular setting. This is done without any local echo
* wrapping and fires whenever a change is detected in a setting's value, at any level.
@@ -138,14 +141,14 @@ export default class SettingsStore {
settingName = setting.invertedSettingName;
}
- const watcherId = `${new Date().getTime()}_${settingName}_${roomId}`;
+ const watcherId = `${new Date().getTime()}_${SettingsStore._watcherCount++}_${settingName}_${roomId}`;
const localizedCallback = (changedInRoomId, atLevel, newValAtLevel) => {
const newValue = SettingsStore.getValue(originalSettingName);
callbackFn(originalSettingName, changedInRoomId, atLevel, newValAtLevel, newValue);
};
- console.log(`Starting watcher for ${settingName}@${roomId || ''}`);
+ console.log(`Starting watcher for ${settingName}@${roomId || ''} as ID ${watcherId}`);
SettingsStore._watchers[watcherId] = localizedCallback;
defaultWatchManager.watchSetting(settingName, roomId, localizedCallback);
@@ -159,8 +162,12 @@ export default class SettingsStore {
* to cancel.
*/
static unwatchSetting(watcherReference) {
- if (!SettingsStore._watchers[watcherReference]) return;
+ if (!SettingsStore._watchers[watcherReference]) {
+ console.warn(`Ending non-existent watcher ID ${watcherReference}`);
+ return;
+ }
+ console.log(`Ending watcher ID ${watcherReference}`);
defaultWatchManager.unwatchSetting(SettingsStore._watchers[watcherReference]);
delete SettingsStore._watchers[watcherReference];
}
@@ -560,7 +567,7 @@ export default class SettingsStore {
const handlers = {};
for (const level of SETTINGS[settingName].supportedLevels) {
if (!LEVEL_HANDLERS[level]) throw new Error("Unexpected level " + level);
- handlers[level] = LEVEL_HANDLERS[level];
+ if (SettingsStore.isLevelSupported(level)) handlers[level] = LEVEL_HANDLERS[level];
}
// Always support 'default'
diff --git a/src/settings/controllers/PushToMatrixClientController.js b/src/settings/controllers/PushToMatrixClientController.js
new file mode 100644
index 0000000000..b7c285227f
--- /dev/null
+++ b/src/settings/controllers/PushToMatrixClientController.js
@@ -0,0 +1,37 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import { MatrixClientPeg } from '../../MatrixClientPeg';
+
+/**
+ * When the value changes, call a setter function on the matrix client with the new value
+ */
+export default class PushToMatrixClientController {
+ constructor(setter, inverse) {
+ this._setter = setter;
+ this._inverse = inverse;
+ }
+
+ getValueOverride(level, roomId, calculatedValue, calculatedAtLevel) {
+ return null; // no override
+ }
+
+ onChange(level, roomId, newValue) {
+ // XXX does this work? This surely isn't necessarily the effective value,
+ // but it's what NotificationsEnabledController does...
+ this._setter.call(MatrixClientPeg.get(), this._inverse ? !newValue : newValue);
+ }
+}
diff --git a/src/settings/controllers/ThemeController.js b/src/settings/controllers/ThemeController.js
index aae43673bf..4098a5ca3e 100644
--- a/src/settings/controllers/ThemeController.js
+++ b/src/settings/controllers/ThemeController.js
@@ -19,9 +19,13 @@ import SettingController from "./SettingController";
import {DEFAULT_THEME, enumerateThemes} from "../../theme";
export default class ThemeController extends SettingController {
+ static isLogin = false;
+
getValueOverride(level, roomId, calculatedValue, calculatedAtLevel) {
if (!calculatedValue) return null; // Don't override null themes
+ if (ThemeController.isLogin) return 'light';
+
const themes = enumerateThemes();
// Override in case some no longer supported theme is stored here
if (!themes[calculatedValue]) {
diff --git a/src/settings/handlers/ConfigSettingsHandler.js b/src/settings/handlers/ConfigSettingsHandler.js
index a54ad1cef6..3b5b4b626e 100644
--- a/src/settings/handlers/ConfigSettingsHandler.js
+++ b/src/settings/handlers/ConfigSettingsHandler.js
@@ -17,6 +17,7 @@ limitations under the License.
import SettingsHandler from "./SettingsHandler";
import SdkConfig from "../../SdkConfig";
+import {isNullOrUndefined} from "matrix-js-sdk/src/utils";
/**
* Gets and sets settings at the "config" level. This handler does not make use of the
@@ -32,7 +33,7 @@ export default class ConfigSettingsHandler extends SettingsHandler {
}
const settingsConfig = config["settingDefaults"];
- if (!settingsConfig || !settingsConfig[settingName]) return null;
+ if (!settingsConfig || isNullOrUndefined(settingsConfig[settingName])) return null;
return settingsConfig[settingName];
}
diff --git a/src/stores/RightPanelStore.js b/src/stores/RightPanelStore.js
index 02775b847b..8869d0be42 100644
--- a/src/stores/RightPanelStore.js
+++ b/src/stores/RightPanelStore.js
@@ -15,6 +15,7 @@ limitations under the License.
*/
import dis from '../dispatcher';
+import {pendingVerificationRequestForUser} from '../verification';
import {Store} from 'flux/utils';
import SettingsStore, {SettingLevel} from "../settings/SettingsStore";
import {RIGHT_PANEL_PHASES, RIGHT_PANEL_PHASES_NO_ARGS} from "./RightPanelStorePhases";
@@ -35,6 +36,12 @@ const INITIAL_STATE = {
const GROUP_PHASES = Object.keys(RIGHT_PANEL_PHASES).filter(k => k.startsWith("Group"));
+const MEMBER_INFO_PHASES = [
+ RIGHT_PANEL_PHASES.RoomMemberInfo,
+ RIGHT_PANEL_PHASES.Room3pidMemberInfo,
+ RIGHT_PANEL_PHASES.EncryptionPanel,
+];
+
/**
* A class for tracking the state of the right panel between layouts and
* sessions.
@@ -42,8 +49,6 @@ const GROUP_PHASES = Object.keys(RIGHT_PANEL_PHASES).filter(k => k.startsWith("G
export default class RightPanelStore extends Store {
static _instance;
- _inhibitUpdates = false;
-
constructor() {
super(dis);
@@ -116,63 +121,82 @@ export default class RightPanelStore extends Store {
}
__onDispatch(payload) {
- if (payload.action === 'panel_disable') {
- this._inhibitUpdates = payload.rightDisabled || payload.sideDisabled || false;
- return;
- }
+ switch (payload.action) {
+ case 'view_room':
+ case 'view_group':
+ // Reset to the member list if we're viewing member info
+ if (MEMBER_INFO_PHASES.includes(this._state.lastRoomPhase)) {
+ this._setState({lastRoomPhase: RIGHT_PANEL_PHASES.RoomMemberList, lastRoomPhaseParams: {}});
+ }
- if (payload.action === 'view_room' || payload.action === 'view_group') {
- // Reset to the member list if we're viewing member info
- const memberInfoPhases = [RIGHT_PANEL_PHASES.RoomMemberInfo, RIGHT_PANEL_PHASES.Room3pidMemberInfo];
- if (memberInfoPhases.includes(this._state.lastRoomPhase)) {
- this._setState({lastRoomPhase: RIGHT_PANEL_PHASES.RoomMemberList, lastRoomPhaseParams: {}});
+ // Do the same for groups
+ if (this._state.lastGroupPhase === RIGHT_PANEL_PHASES.GroupMemberInfo) {
+ this._setState({lastGroupPhase: RIGHT_PANEL_PHASES.GroupMemberList});
+ }
+ break;
+
+ case 'set_right_panel_phase': {
+ let targetPhase = payload.phase;
+ let refireParams = payload.refireParams;
+ // redirect to EncryptionPanel if there is an ongoing verification request
+ if (targetPhase === RIGHT_PANEL_PHASES.RoomMemberInfo) {
+ const {member} = payload.refireParams;
+ const pendingRequest = pendingVerificationRequestForUser(member);
+ if (pendingRequest) {
+ targetPhase = RIGHT_PANEL_PHASES.EncryptionPanel;
+ refireParams = {
+ verificationRequest: pendingRequest,
+ member,
+ };
+ }
+ }
+ if (!RIGHT_PANEL_PHASES[targetPhase]) {
+ console.warn(`Tried to switch right panel to unknown phase: ${targetPhase}`);
+ return;
+ }
+
+ if (GROUP_PHASES.includes(targetPhase)) {
+ if (targetPhase === this._state.lastGroupPhase) {
+ this._setState({
+ showGroupPanel: !this._state.showGroupPanel,
+ });
+ } else {
+ this._setState({
+ lastGroupPhase: targetPhase,
+ showGroupPanel: true,
+ });
+ }
+ } else {
+ if (targetPhase === this._state.lastRoomPhase && !refireParams) {
+ this._setState({
+ showRoomPanel: !this._state.showRoomPanel,
+ });
+ } else {
+ this._setState({
+ lastRoomPhase: targetPhase,
+ showRoomPanel: true,
+ lastRoomPhaseParams: refireParams || {},
+ });
+ }
+ }
+
+ // Let things like the member info panel actually open to the right member.
+ dis.dispatch({
+ action: 'after_right_panel_phase_change',
+ phase: targetPhase,
+ ...(refireParams || {}),
+ });
+ break;
}
- // Do the same for groups
- if (this._state.lastGroupPhase === RIGHT_PANEL_PHASES.GroupMemberInfo) {
- this._setState({lastGroupPhase: RIGHT_PANEL_PHASES.GroupMemberList});
- }
+ case 'toggle_right_panel':
+ if (payload.type === "room") {
+ this._setState({ showRoomPanel: !this._state.showRoomPanel });
+ } else { // group
+ this._setState({ showGroupPanel: !this._state.showGroupPanel });
+ }
+ break;
}
-
- if (payload.action !== 'set_right_panel_phase' || this._inhibitUpdates) return;
-
- const targetPhase = payload.phase;
- if (!RIGHT_PANEL_PHASES[targetPhase]) {
- console.warn(`Tried to switch right panel to unknown phase: ${targetPhase}`);
- return;
- }
-
- if (GROUP_PHASES.includes(targetPhase)) {
- if (targetPhase === this._state.lastGroupPhase) {
- this._setState({
- showGroupPanel: !this._state.showGroupPanel,
- });
- } else {
- this._setState({
- lastGroupPhase: targetPhase,
- showGroupPanel: true,
- });
- }
- } else {
- if (targetPhase === this._state.lastRoomPhase && !payload.refireParams) {
- this._setState({
- showRoomPanel: !this._state.showRoomPanel,
- });
- } else {
- this._setState({
- lastRoomPhase: targetPhase,
- showRoomPanel: true,
- lastRoomPhaseParams: payload.refireParams || {},
- });
- }
- }
-
- // Let things like the member info panel actually open to the right member.
- dis.dispatch({
- action: 'after_right_panel_phase_change',
- phase: targetPhase,
- ...(payload.refireParams || {}),
- });
}
static getSharedInstance(): RightPanelStore {
diff --git a/src/stores/RightPanelStorePhases.js b/src/stores/RightPanelStorePhases.js
index 96807ebf5b..d9af320233 100644
--- a/src/stores/RightPanelStorePhases.js
+++ b/src/stores/RightPanelStorePhases.js
@@ -21,8 +21,9 @@ export const RIGHT_PANEL_PHASES = Object.freeze({
FilePanel: 'FilePanel',
NotificationPanel: 'NotificationPanel',
RoomMemberInfo: 'RoomMemberInfo',
- Room3pidMemberInfo: 'Room3pidMemberInfo',
+ EncryptionPanel: 'EncryptionPanel',
+ Room3pidMemberInfo: 'Room3pidMemberInfo',
// Group stuff
GroupMemberList: 'GroupMemberList',
GroupRoomList: 'GroupRoomList',
diff --git a/src/stores/RoomListStore.js b/src/stores/RoomListStore.js
index a0785cf10e..89edc9a8ef 100644
--- a/src/stores/RoomListStore.js
+++ b/src/stores/RoomListStore.js
@@ -36,29 +36,53 @@ const CATEGORY_GREY = "grey"; // Unread notified messages (not mentions)
const CATEGORY_BOLD = "bold"; // Unread messages (not notified, 'Mentions Only' rooms)
const CATEGORY_IDLE = "idle"; // Nothing of interest
-const CATEGORY_ORDER = [CATEGORY_RED, CATEGORY_GREY, CATEGORY_BOLD, CATEGORY_IDLE];
-const LIST_ORDERS = {
- "m.favourite": "manual",
- "im.vector.fake.invite": "recent",
- "im.vector.fake.recent": "recent",
- "im.vector.fake.direct": "recent",
- "m.lowpriority": "recent",
- "im.vector.fake.archived": "recent",
-};
+export const TAG_DM = "im.vector.fake.direct";
/**
- * Identifier for the "breadcrumb" (or "sort by most important room first") algorithm.
- * Includes a provision for keeping the currently open room from flying down the room
- * list.
+ * Identifier for manual sorting behaviour: sort by the user defined order.
* @type {string}
*/
-const ALGO_IMPORTANCE = "importance";
+export const ALGO_MANUAL = "manual";
+
+/**
+ * Identifier for alphabetic sorting behaviour: sort by the room name alphabetically first.
+ * @type {string}
+ */
+export const ALGO_ALPHABETIC = "alphabetic";
/**
* Identifier for classic sorting behaviour: sort by the most recent message first.
* @type {string}
*/
-const ALGO_RECENT = "recent";
+export const ALGO_RECENT = "recent";
+
+const CATEGORY_ORDER = [CATEGORY_RED, CATEGORY_GREY, CATEGORY_BOLD, CATEGORY_IDLE];
+
+const getListAlgorithm = (listKey, settingAlgorithm) => {
+ // apply manual sorting only to m.favourite, otherwise respect the global setting
+ // all the known tags are listed explicitly here to simplify future changes
+ switch (listKey) {
+ case "im.vector.fake.invite":
+ case "im.vector.fake.recent":
+ case "im.vector.fake.archived":
+ case "m.lowpriority":
+ case TAG_DM:
+ return settingAlgorithm;
+
+ case "m.favourite":
+ default: // custom-tags
+ return ALGO_MANUAL;
+ }
+};
+
+const knownLists = new Set([
+ "m.favourite",
+ "im.vector.fake.invite",
+ "im.vector.fake.recent",
+ "im.vector.fake.archived",
+ "m.lowpriority",
+ TAG_DM,
+]);
/**
* A class for storing application state for categorising rooms in
@@ -76,13 +100,13 @@ class RoomListStore extends Store {
/**
* Changes the sorting algorithm used by the RoomListStore.
* @param {string} algorithm The new algorithm to use. Should be one of the ALGO_* constants.
+ * @param {boolean} orderImportantFirst Whether to sort by categories of importance
*/
- updateSortingAlgorithm(algorithm) {
+ updateSortingAlgorithm(algorithm, orderImportantFirst) {
// Dev note: We only have two algorithms at the moment, but it isn't impossible that we want
// multiple in the future. Also constants make things slightly clearer.
- const byImportance = algorithm === ALGO_IMPORTANCE;
- console.log("Updating room sorting algorithm: sortByImportance=" + byImportance);
- this._setState({orderRoomsByImportance: byImportance});
+ console.log("Updating room sorting algorithm: ", {algorithm, orderImportantFirst});
+ this._setState({algorithm, orderImportantFirst});
// Trigger a resort of the entire list to reflect the change in algorithm
this._generateInitialRoomLists();
@@ -95,7 +119,7 @@ class RoomListStore extends Store {
"im.vector.fake.invite": [],
"m.favourite": [],
"im.vector.fake.recent": [],
- "im.vector.fake.direct": [],
+ [TAG_DM]: [],
"m.lowpriority": [],
"im.vector.fake.archived": [],
};
@@ -106,9 +130,11 @@ class RoomListStore extends Store {
presentationLists: defaultLists, // like `lists`, but with arrays of rooms instead
ready: false,
stickyRoomId: null,
- orderRoomsByImportance: true,
+ algorithm: ALGO_RECENT,
+ orderImportantFirst: false,
};
+ SettingsStore.monitorSetting('RoomList.orderAlphabetically', null);
SettingsStore.monitorSetting('RoomList.orderByImportance', null);
SettingsStore.monitorSetting('feature_custom_tags', null);
}
@@ -135,11 +161,18 @@ class RoomListStore extends Store {
case 'setting_updated': {
if (!logicallyReady) break;
- if (payload.settingName === 'RoomList.orderByImportance') {
- this.updateSortingAlgorithm(payload.newValue === true ? ALGO_IMPORTANCE : ALGO_RECENT);
- } else if (payload.settingName === 'feature_custom_tags') {
- this._setState({tagsEnabled: payload.newValue});
- this._generateInitialRoomLists(); // Tags means we have to start from scratch
+ switch (payload.settingName) {
+ case "RoomList.orderAlphabetically":
+ this.updateSortingAlgorithm(payload.newValue ? ALGO_ALPHABETIC : ALGO_RECENT,
+ this._state.orderImportantFirst);
+ break;
+ case "RoomList.orderByImportance":
+ this.updateSortingAlgorithm(this._state.algorithm, payload.newValue);
+ break;
+ case "feature_custom_tags":
+ this._setState({tagsEnabled: payload.newValue});
+ this._generateInitialRoomLists(); // Tags means we have to start from scratch
+ break;
}
}
break;
@@ -157,9 +190,9 @@ class RoomListStore extends Store {
this._matrixClient = payload.matrixClient;
- const algorithm = SettingsStore.getValue("RoomList.orderByImportance")
- ? ALGO_IMPORTANCE : ALGO_RECENT;
- this.updateSortingAlgorithm(algorithm);
+ const orderByImportance = SettingsStore.getValue("RoomList.orderByImportance");
+ const orderAlphabetically = SettingsStore.getValue("RoomList.orderAlphabetically");
+ this.updateSortingAlgorithm(orderAlphabetically ? ALGO_ALPHABETIC : ALGO_RECENT, orderByImportance);
}
break;
case 'MatrixActions.Room.receipt': {
@@ -188,7 +221,8 @@ class RoomListStore extends Store {
if (!logicallyReady ||
!payload.isLiveEvent ||
!payload.isLiveUnfilteredRoomTimelineEvent ||
- !this._eventTriggersRecentReorder(payload.event)
+ !this._eventTriggersRecentReorder(payload.event) ||
+ this._state.algorithm !== ALGO_RECENT
) {
break;
}
@@ -302,7 +336,7 @@ class RoomListStore extends Store {
_filterTags(tags) {
tags = tags ? Object.keys(tags) : [];
if (this._state.tagsEnabled) return tags;
- return tags.filter((t) => !!LIST_ORDERS[t]);
+ return tags.filter((t) => knownLists.has(t));
}
_getRecommendedTagsForRoom(room) {
@@ -323,7 +357,7 @@ class RoomListStore extends Store {
} else if (dmRoomMap.getUserIdForRoomId(room.roomId) && tags.length === 0) {
// We intentionally don't duplicate rooms in other tags into the people list
// as a feature.
- tags.push("im.vector.fake.direct");
+ tags.push(TAG_DM);
} else if (tags.length === 0) {
tags.push("im.vector.fake.recent");
}
@@ -338,6 +372,14 @@ class RoomListStore extends Store {
_slotRoomIntoList(room, category, tag, existingEntries, newList, lastTimestampFn) {
const targetCategoryIndex = CATEGORY_ORDER.indexOf(category);
+ let categoryComparator = (a, b) => lastTimestampFn(a.room) >= lastTimestampFn(b.room);
+ const sortAlgorithm = getListAlgorithm(tag, this._state.algorithm);
+ if (sortAlgorithm === ALGO_RECENT) {
+ categoryComparator = (a, b) => this._recentsComparator(a, b, lastTimestampFn);
+ } else if (sortAlgorithm === ALGO_ALPHABETIC) {
+ categoryComparator = (a, b) => this._lexicographicalComparator(a, b);
+ }
+
// The slotting algorithm works by trying to position the room in the most relevant
// category of the list (red > grey > etc). To accomplish this, we need to consider
// a couple cases: the category existing in the list but having other rooms in it and
@@ -415,7 +457,7 @@ class RoomListStore extends Store {
// based on most recent timestamp.
const changedBoundary = entryCategoryIndex > targetCategoryIndex;
const currentCategory = entryCategoryIndex === targetCategoryIndex;
- if (changedBoundary || (currentCategory && lastTimestampFn(room) >= lastTimestampFn(entry.room))) {
+ if (changedBoundary || (currentCategory && categoryComparator({room}, entry) <= 0)) {
if (changedBoundary) {
// If we changed a boundary, then we've gone too far - go to the top of the last
// section instead.
@@ -474,7 +516,7 @@ class RoomListStore extends Store {
// Speed optimization: Don't do complicated math if we don't have to.
if (!shouldHaveRoom) {
listsClone[key] = this._state.lists[key].filter((e) => e.room.roomId !== room.roomId);
- } else if (LIST_ORDERS[key] !== 'recent') {
+ } else if (getListAlgorithm(key, this._state.algorithm) === ALGO_MANUAL) {
// Manually ordered tags are sorted later, so for now we'll just clone the tag
// and add our room if needed
listsClone[key] = this._state.lists[key].filter((e) => e.room.roomId !== room.roomId);
@@ -535,7 +577,7 @@ class RoomListStore extends Store {
// Sort the favourites before we set the clone
for (const tag of Object.keys(listsClone)) {
- if (LIST_ORDERS[tag] === 'recent') continue; // skip recents (pre-sorted)
+ if (getListAlgorithm(tag, this._state.algorithm) !== ALGO_MANUAL) continue; // skip recents (pre-sorted)
listsClone[tag].sort(this._getManualComparator(tag));
}
@@ -553,7 +595,7 @@ class RoomListStore extends Store {
"im.vector.fake.invite": [],
"m.favourite": [],
"im.vector.fake.recent": [],
- "im.vector.fake.direct": [],
+ [TAG_DM]: [],
"m.lowpriority": [],
"im.vector.fake.archived": [],
};
@@ -585,12 +627,14 @@ class RoomListStore extends Store {
// Default to an arbitrary category for tags which aren't ordered by recents
let category = CATEGORY_IDLE;
- if (LIST_ORDERS[tagName] === 'recent') category = this._calculateCategory(room);
- lists[tagName].push({room, category: category});
+ if (getListAlgorithm(tagName, this._state.algorithm) !== ALGO_MANUAL) {
+ category = this._calculateCategory(room);
+ }
+ lists[tagName].push({room, category});
}
} else if (dmRoomMap.getUserIdForRoomId(room.roomId)) {
// "Direct Message" rooms (that we're still in and that aren't otherwise tagged)
- lists["im.vector.fake.direct"].push({room, category: this._calculateCategory(room)});
+ lists[TAG_DM].push({room, category: this._calculateCategory(room)});
} else {
lists["im.vector.fake.recent"].push({room, category: this._calculateCategory(room)});
}
@@ -605,31 +649,48 @@ class RoomListStore extends Store {
// cache only needs to survive the sort operation below and should not be implemented outside
// of this function, otherwise the room lists will almost certainly be out of date and wrong.
const latestEventTsCache = {}; // roomId => timestamp
+ const tsOfNewestEventFn = (room) => {
+ if (!room) return Number.MAX_SAFE_INTEGER; // Should only happen in tests
+
+ if (latestEventTsCache[room.roomId]) {
+ return latestEventTsCache[room.roomId];
+ }
+
+ const ts = this._tsOfNewestEvent(room);
+ latestEventTsCache[room.roomId] = ts;
+ return ts;
+ };
Object.keys(lists).forEach((listKey) => {
let comparator;
- switch (LIST_ORDERS[listKey]) {
- case "recent":
- comparator = (entryA, entryB) => {
- return this._recentsComparator(entryA, entryB, (room) => {
- if (!room) return Number.MAX_SAFE_INTEGER; // Should only happen in tests
-
- if (latestEventTsCache[room.roomId]) {
- return latestEventTsCache[room.roomId];
- }
-
- const ts = this._tsOfNewestEvent(room);
- latestEventTsCache[room.roomId] = ts;
- return ts;
- });
- };
+ switch (getListAlgorithm(listKey, this._state.algorithm)) {
+ case ALGO_RECENT:
+ comparator = (entryA, entryB) => this._recentsComparator(entryA, entryB, tsOfNewestEventFn);
break;
- case "manual":
+ case ALGO_ALPHABETIC:
+ comparator = this._lexicographicalComparator;
+ break;
+ case ALGO_MANUAL:
default:
comparator = this._getManualComparator(listKey);
break;
}
- lists[listKey].sort(comparator);
+
+ if (this._state.orderImportantFirst) {
+ lists[listKey].sort((entryA, entryB) => {
+ if (entryA.category !== entryB.category) {
+ const idxA = CATEGORY_ORDER.indexOf(entryA.category);
+ const idxB = CATEGORY_ORDER.indexOf(entryB.category);
+ if (idxA > idxB) return 1;
+ if (idxA < idxB) return -1;
+ return 0; // Technically not possible
+ }
+ return comparator(entryA, entryB);
+ });
+ } else {
+ // skip the category comparison even though it should no-op when orderImportantFirst disabled
+ lists[listKey].sort(comparator);
+ }
});
this._setState({
@@ -668,7 +729,7 @@ class RoomListStore extends Store {
}
_calculateCategory(room) {
- if (!this._state.orderRoomsByImportance) {
+ if (!this._state.orderImportantFirst) {
// Effectively disable the categorization of rooms if we're supposed to
// be sorting by more recent messages first. This triggers the timestamp
// comparison bit of _setRoomCategory and _recentsComparator instead of
@@ -689,26 +750,13 @@ class RoomListStore extends Store {
}
_recentsComparator(entryA, entryB, tsOfNewestEventFn) {
- const roomA = entryA.room;
- const roomB = entryB.room;
- const categoryA = entryA.category;
- const categoryB = entryB.category;
-
- if (categoryA !== categoryB) {
- const idxA = CATEGORY_ORDER.indexOf(categoryA);
- const idxB = CATEGORY_ORDER.indexOf(categoryB);
- if (idxA > idxB) return 1;
- if (idxA < idxB) return -1;
- return 0; // Technically not possible
- }
-
- const timestampA = tsOfNewestEventFn(roomA);
- const timestampB = tsOfNewestEventFn(roomB);
+ const timestampA = tsOfNewestEventFn(entryA.room);
+ const timestampB = tsOfNewestEventFn(entryB.room);
return timestampB - timestampA;
}
- _lexicographicalComparator(roomA, roomB) {
- return roomA.name > roomB.name ? 1 : -1;
+ _lexicographicalComparator(entryA, entryB) {
+ return entryA.room.name.localeCompare(entryB.room.name);
}
_getManualComparator(tagName, optimisticRequest) {
@@ -733,7 +781,7 @@ class RoomListStore extends Store {
return -1;
}
- return a === b ? this._lexicographicalComparator(roomA, roomB) : (a > b ? 1 : -1);
+ return a === b ? this._lexicographicalComparator(entryA, entryB) : (a > b ? 1 : -1);
};
}
diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js
index d9204193e4..64dfd56b2f 100644
--- a/src/stores/RoomViewStore.js
+++ b/src/stores/RoomViewStore.js
@@ -46,6 +46,7 @@ const INITIAL_STATE = {
forwardingEvent: null,
quotingEvent: null,
+ matrixClientIsReady: false,
};
/**
@@ -59,9 +60,26 @@ class RoomViewStore extends Store {
// Initialise state
this._state = INITIAL_STATE;
+ if (MatrixClientPeg.get()) {
+ this._state.matrixClientIsReady = MatrixClientPeg.get().isInitialSyncComplete();
+ }
}
_setState(newState) {
+ // If values haven't changed, there's nothing to do.
+ // This only tries a shallow comparison, so unchanged objects will slip
+ // through, but that's probably okay for now.
+ let stateChanged = false;
+ for (const key of Object.keys(newState)) {
+ if (this._state[key] !== newState[key]) {
+ stateChanged = true;
+ break;
+ }
+ }
+ if (!stateChanged) {
+ return;
+ }
+
this._state = Object.assign(this._state, newState);
this.__emitChange();
}
@@ -136,6 +154,11 @@ class RoomViewStore extends Store {
}, /*className=*/null, /*isPriority=*/false, /*isStatic=*/true);
break;
}
+ case 'sync_state':
+ this._setState({
+ matrixClientIsReady: MatrixClientPeg.get().isInitialSyncComplete(),
+ });
+ break;
}
}
@@ -350,7 +373,7 @@ class RoomViewStore extends Store {
}
shouldPeek() {
- return this._state.shouldPeek;
+ return this._state.shouldPeek && this._state.matrixClientIsReady;
}
}
diff --git a/src/stores/SetupEncryptionStore.js b/src/stores/SetupEncryptionStore.js
new file mode 100644
index 0000000000..7b42e1552d
--- /dev/null
+++ b/src/stores/SetupEncryptionStore.js
@@ -0,0 +1,144 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import EventEmitter from 'events';
+import { MatrixClientPeg } from '../MatrixClientPeg';
+import { accessSecretStorage, AccessCancelledError } from '../CrossSigningManager';
+
+export const PHASE_INTRO = 0;
+export const PHASE_BUSY = 1;
+export const PHASE_DONE = 2; //final done stage, but still showing UX
+export const PHASE_CONFIRM_SKIP = 3;
+export const PHASE_FINISHED = 4; //UX can be closed
+
+export class SetupEncryptionStore extends EventEmitter {
+ static sharedInstance() {
+ if (!global.mx_SetupEncryptionStore) global.mx_SetupEncryptionStore = new SetupEncryptionStore();
+ return global.mx_SetupEncryptionStore;
+ }
+
+ start() {
+ if (this._started) {
+ return;
+ }
+ this._started = true;
+ this.phase = PHASE_INTRO;
+ this.verificationRequest = null;
+ this.backupInfo = null;
+ MatrixClientPeg.get().on("crypto.verification.request", this.onVerificationRequest);
+ }
+
+ stop() {
+ if (!this._started) {
+ return;
+ }
+ this._started = false;
+ if (this.verificationRequest) {
+ this.verificationRequest.off("change", this.onVerificationRequestChange);
+ }
+ if (MatrixClientPeg.get()) {
+ MatrixClientPeg.get().removeListener("crypto.verification.request", this.onVerificationRequest);
+ }
+ }
+
+ async usePassPhrase() {
+ this.phase = PHASE_BUSY;
+ this.emit("update");
+ const cli = MatrixClientPeg.get();
+ try {
+ const backupInfo = await cli.getKeyBackupVersion();
+ this.backupInfo = backupInfo;
+ this.emit("update");
+ // The control flow is fairly twisted here...
+ // For the purposes of completing security, we only wait on getting
+ // as far as the trust check and then show a green shield.
+ // We also begin the key backup restore as well, which we're
+ // awaiting inside `accessSecretStorage` only so that it keeps your
+ // passphase cached for that work. This dialog itself will only wait
+ // on the first trust check, and the key backup restore will happen
+ // in the background.
+ await new Promise((resolve, reject) => {
+ try {
+ accessSecretStorage(async () => {
+ await cli.checkOwnCrossSigningTrust();
+ resolve();
+ if (backupInfo) {
+ // A complete restore can take many minutes for large
+ // accounts / slow servers, so we allow the dialog
+ // to advance before this.
+ await cli.restoreKeyBackupWithSecretStorage(backupInfo);
+ }
+ }).catch(reject);
+ } catch (e) {
+ console.error(e);
+ reject(e);
+ }
+ });
+
+ if (cli.getCrossSigningId()) {
+ this.phase = PHASE_DONE;
+ this.emit("update");
+ }
+ } catch (e) {
+ if (!(e instanceof AccessCancelledError)) {
+ console.log(e);
+ }
+ // this will throw if the user hits cancel, so ignore
+ this.phase = PHASE_INTRO;
+ this.emit("update");
+ }
+ }
+
+ onVerificationRequest = async (request) => {
+ if (request.otherUserId !== MatrixClientPeg.get().getUserId()) return;
+
+ if (this.verificationRequest) {
+ this.verificationRequest.off("change", this.onVerificationRequestChange);
+ }
+ this.verificationRequest = request;
+ await request.accept();
+ request.on("change", this.onVerificationRequestChange);
+ this.emit("update");
+ }
+
+ onVerificationRequestChange = () => {
+ if (this.verificationRequest.cancelled) {
+ this.verificationRequest.off("change", this.onVerificationRequestChange);
+ this.verificationRequest = null;
+ this.emit("update");
+ }
+ }
+
+ skip() {
+ this.phase = PHASE_CONFIRM_SKIP;
+ this.emit("update");
+ }
+
+ skipConfirm() {
+ this.phase = PHASE_FINISHED;
+ this.emit("update");
+ }
+
+ returnAfterSkip() {
+ this.phase = PHASE_INTRO;
+ this.emit("update");
+ }
+
+ done() {
+ this.phase = PHASE_FINISHED;
+ this.emit("update");
+ }
+}
diff --git a/src/stores/TagOrderStore.js b/src/stores/TagOrderStore.js
index deb6388461..6d03a2b289 100644
--- a/src/stores/TagOrderStore.js
+++ b/src/stores/TagOrderStore.js
@@ -19,6 +19,7 @@ import GroupStore from './GroupStore';
import Analytics from '../Analytics';
import * as RoomNotifs from "../RoomNotifs";
import {MatrixClientPeg} from '../MatrixClientPeg';
+import SettingsStore from "../settings/SettingsStore";
const INITIAL_STATE = {
orderedTags: null,
@@ -40,6 +41,7 @@ class TagOrderStore extends Store {
// Initialise state
this._state = Object.assign({}, INITIAL_STATE);
+ SettingsStore.monitorSetting("TagPanel.enableTagPanel", null);
}
_setState(newState) {
@@ -178,6 +180,14 @@ class TagOrderStore extends Store {
this._state = Object.assign({}, INITIAL_STATE);
break;
}
+ case 'setting_updated':
+ if (payload.settingName === 'TagPanel.enableTagPanel' && !payload.newValue) {
+ this._setState({
+ selectedTags: [],
+ });
+ Analytics.trackEvent('FilterStore', 'disable_tags');
+ }
+ break;
}
}
diff --git a/src/stores/ToastStore.js b/src/stores/ToastStore.js
new file mode 100644
index 0000000000..f17d13bf9e
--- /dev/null
+++ b/src/stores/ToastStore.js
@@ -0,0 +1,66 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import EventEmitter from 'events';
+
+/**
+ * Holds the active toasts
+ */
+export default class ToastStore extends EventEmitter {
+ static PRIORITY_REALTIME = 1;
+ static PRIORITY_DEFAULT = 0;
+
+ static sharedInstance() {
+ if (!global.mx_ToastStore) global.mx_ToastStore = new ToastStore();
+ return global.mx_ToastStore;
+ }
+
+ constructor() {
+ super();
+ this._dispatcherRef = null;
+ this._toasts = [];
+ }
+
+ reset() {
+ this._toasts = [];
+ }
+
+ addOrReplaceToast(newToast) {
+ if (newToast.priority === undefined) newToast.priority = ToastStore.PRIORITY_DEFAULT;
+
+ const oldIndex = this._toasts.findIndex(t => t.key === newToast.key);
+ if (oldIndex === -1) {
+ // we only have two priorities so just push realtime ones onto the front
+ if (newToast.priority) {
+ this._toasts.unshift(newToast);
+ } else {
+ this._toasts.push(newToast);
+ }
+ } else {
+ this._toasts[oldIndex] = newToast;
+ }
+ this.emit('update');
+ }
+
+ dismissToast(key) {
+ this._toasts = this._toasts.filter(t => t.key !== key);
+ this.emit('update');
+ }
+
+ getToasts() {
+ return this._toasts;
+ }
+}
diff --git a/src/theme.js b/src/theme.js
index 1ba87a2048..442a89e25f 100644
--- a/src/theme.js
+++ b/src/theme.js
@@ -21,6 +21,7 @@ export const DEFAULT_THEME = "light";
import Tinter from "./Tinter";
import dis from "./dispatcher";
import SettingsStore, {SettingLevel} from "./settings/SettingsStore";
+import ThemeController from "./settings/controllers/ThemeController";
export class ThemeWatcher {
static _instance = null;
@@ -69,7 +70,7 @@ export class ThemeWatcher {
}
};
- // XXX: forceTheme param aded here as local echo appears to be unreliable
+ // XXX: forceTheme param added here as local echo appears to be unreliable
// https://github.com/vector-im/riot-web/issues/11443
recheck(forceTheme) {
const oldTheme = this._currentTheme;
@@ -82,12 +83,22 @@ export class ThemeWatcher {
getEffectiveTheme() {
// Dev note: Much of this logic is replicated in the GeneralUserSettingsTab
+ // XXX: checking the isLight flag here makes checking it in the ThemeController
+ // itself completely redundant since we just override the result here and we're
+ // now effectively just using the ThemeController as a place to store the static
+ // variable. The system theme setting probably ought to have an equivalent
+ // controller that honours the same flag, although probablt better would be to
+ // have the theme logic in one place rather than split between however many
+ // different places.
+ if (ThemeController.isLogin) return 'light';
+
// If the user has specifically enabled the system matching option (excluding default),
// then use that over anything else. We pick the lowest possible level for the setting
// to ensure the ordering otherwise works.
const systemThemeExplicit = SettingsStore.getValueAt(
SettingLevel.DEVICE, "use_system_theme", null, false, true);
if (systemThemeExplicit) {
+ console.log("returning explicit system theme");
if (this._preferDark.matches) return 'dark';
if (this._preferLight.matches) return 'light';
}
@@ -97,7 +108,10 @@ export class ThemeWatcher {
// level for the setting to ensure the ordering otherwise works.
const themeExplicit = SettingsStore.getValueAt(
SettingLevel.DEVICE, "theme", null, false, true);
- if (themeExplicit) return themeExplicit;
+ if (themeExplicit) {
+ console.log("returning explicit theme: " + themeExplicit);
+ return themeExplicit;
+ }
// If the user hasn't really made a preference in either direction, assume the defaults of the
// settings and use those.
@@ -105,6 +119,7 @@ export class ThemeWatcher {
if (this._preferDark.matches) return 'dark';
if (this._preferLight.matches) return 'light';
}
+ console.log("returning theme value");
return SettingsStore.getValue('theme');
}
diff --git a/src/usercontent/index.html b/src/usercontent/index.html
new file mode 100644
index 0000000000..90a0fe7c16
--- /dev/null
+++ b/src/usercontent/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/src/usercontent/index.js b/src/usercontent/index.js
new file mode 100644
index 0000000000..2e87e182af
--- /dev/null
+++ b/src/usercontent/index.js
@@ -0,0 +1,52 @@
+const params = window.location.search.substring(1).split('&');
+let lockOrigin;
+for (let i = 0; i < params.length; ++i) {
+ const parts = params[i].split('=');
+ if (parts[0] === 'origin') lockOrigin = decodeURIComponent(parts[1]);
+}
+
+function remoteRender(event) {
+ const data = event.data;
+
+ const img = document.createElement("img");
+ img.id = "img";
+ img.src = data.imgSrc;
+ img.style = data.imgStyle;
+
+ const a = document.createElement("a");
+ a.id = "a";
+ a.rel = "noreferrer noopener";
+ a.download = data.download;
+ a.style = data.style;
+ a.style.fontFamily = "Arial, Helvetica, Sans-Serif";
+ a.href = window.URL.createObjectURL(data.blob);
+ a.appendChild(img);
+ a.appendChild(document.createTextNode(data.textContent));
+
+ const body = document.body;
+ // Don't display scrollbars if the link takes more than one line to display.
+ body.style = "margin: 0px; overflow: hidden";
+ body.appendChild(a);
+
+ if (event.data.auto) {
+ a.click(); // try to trigger download automatically
+ }
+}
+
+function remoteSetTint(event) {
+ const data = event.data;
+
+ const img = document.getElementById("img");
+ img.src = data.imgSrc;
+ img.style = data.imgStyle;
+
+ const a = document.getElementById("a");
+ a.style = data.style;
+}
+
+window.onmessage = function(e) {
+ if (e.origin === lockOrigin) {
+ if (e.data.blob) remoteRender(e);
+ else remoteSetTint(e);
+ }
+};
diff --git a/src/utils/AutoDiscoveryUtils.js b/src/utils/AutoDiscoveryUtils.js
index 49898aae90..328aa9c776 100644
--- a/src/utils/AutoDiscoveryUtils.js
+++ b/src/utils/AutoDiscoveryUtils.js
@@ -78,7 +78,7 @@ export default class AutoDiscoveryUtils {
return {sub};
},
},
diff --git a/src/utils/DMRoomMap.js b/src/utils/DMRoomMap.js
index 547da0863b..6ce92a0458 100644
--- a/src/utils/DMRoomMap.js
+++ b/src/utils/DMRoomMap.js
@@ -124,6 +124,27 @@ export default class DMRoomMap {
return this._getUserToRooms()[userId] || [];
}
+ /**
+ * Gets the DM room which the given IDs share, if any.
+ * @param {string[]} ids The identifiers (user IDs and email addresses) to look for.
+ * @returns {Room} The DM room which all IDs given share, or falsey if no common room.
+ */
+ getDMRoomForIdentifiers(ids) {
+ // TODO: [Canonical DMs] Handle lookups for email addresses.
+ // For now we'll pretend we only get user IDs and end up returning nothing for email addresses
+
+ let commonRooms = this.getDMRoomsForUserId(ids[0]);
+ for (let i = 1; i < ids.length; i++) {
+ const userRooms = this.getDMRoomsForUserId(ids[i]);
+ commonRooms = commonRooms.filter(r => userRooms.includes(r));
+ }
+
+ const joinedRooms = commonRooms.map(r => MatrixClientPeg.get().getRoom(r))
+ .filter(r => r && r.getMyMembership() === 'join');
+
+ return joinedRooms[0];
+ }
+
getUserIdForRoomId(roomId) {
if (this.roomToUser == null) {
// we lazily populate roomToUser so you can use
@@ -147,6 +168,7 @@ export default class DMRoomMap {
}
getUniqueRoomsWithIndividuals(): {[userId: string]: Room} {
+ if (!this.roomToUser) return {}; // No rooms means no map.
return Object.keys(this.roomToUser)
.map(r => ({userId: this.getUserIdForRoomId(r), room: this.matrixClient.getRoom(r)}))
.filter(r => r.userId && r.room && r.room.getInvitedAndJoinedMemberCount() === 2)
diff --git a/src/utils/DecryptFile.js b/src/utils/DecryptFile.js
index b87b723ed7..f5a1b0aa62 100644
--- a/src/utils/DecryptFile.js
+++ b/src/utils/DecryptFile.js
@@ -17,8 +17,6 @@ limitations under the License.
// Pull in the encryption lib so that we can decrypt attachments.
import encrypt from 'browser-encrypt-attachment';
-// Pull in a fetch polyfill so we can download encrypted attachments.
-import 'isomorphic-fetch';
// Grab the client so that we can turn mxc:// URLs into https:// URLS.
import {MatrixClientPeg} from '../MatrixClientPeg';
diff --git a/src/utils/ErrorUtils.js b/src/utils/ErrorUtils.js
index 51b130bdb6..f0a4d7c49e 100644
--- a/src/utils/ErrorUtils.js
+++ b/src/utils/ErrorUtils.js
@@ -36,7 +36,7 @@ export function messageForResourceLimitError(limitType, adminContact, strings, e
const linkSub = sub => {
if (adminContact) {
- return {sub};
+ return {sub};
} else {
return sub;
}
diff --git a/src/utils/EventUtils.js b/src/utils/EventUtils.js
index 8acf5ae396..7e33aaed81 100644
--- a/src/utils/EventUtils.js
+++ b/src/utils/EventUtils.js
@@ -46,7 +46,7 @@ export function isContentActionable(mxEvent) {
}
export function canEditContent(mxEvent) {
- if (mxEvent.status === EventStatus.CANCELLED || mxEvent.getType() !== "m.room.message") {
+ if (mxEvent.status === EventStatus.CANCELLED || mxEvent.getType() !== "m.room.message" || mxEvent.isRedacted()) {
return false;
}
const content = mxEvent.getOriginalContent();
diff --git a/src/utils/FormattingUtils.js b/src/utils/FormattingUtils.js
index 1fd7d00feb..b932214530 100644
--- a/src/utils/FormattingUtils.js
+++ b/src/utils/FormattingUtils.js
@@ -30,6 +30,31 @@ export function formatCount(count) {
return (count / 1000000000).toFixed(1) + "B"; // 10B is enough for anyone, right? :S
}
+/**
+ * Format a count showing the whole number but making it a bit more readable.
+ * e.g: 1000 => 1,000
+ */
+export function formatCountLong(count) {
+ const formatter = new Intl.NumberFormat();
+ return formatter.format(count)
+}
+
+/**
+ * format a size in bytes into a human readable form
+ * e.g: 1024 -> 1.00 KB
+ */
+export function formatBytes(bytes, decimals = 2) {
+ if (bytes === 0) return '0 Bytes';
+
+ const k = 1024;
+ const dm = decimals < 0 ? 0 : decimals;
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
+
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
+
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
+}
+
/**
* format a key into groups of 4 characters, for easier visual inspection
*
diff --git a/src/utils/KeyVerificationStateObserver.js b/src/utils/KeyVerificationStateObserver.js
index d84a5f584e..a29d2ea1aa 100644
--- a/src/utils/KeyVerificationStateObserver.js
+++ b/src/utils/KeyVerificationStateObserver.js
@@ -17,163 +17,15 @@ limitations under the License.
import {MatrixClientPeg} from '../MatrixClientPeg';
import { _t } from '../languageHandler';
-const SUB_EVENT_TYPES_OF_INTEREST = ["start", "cancel", "done"];
-
-export default class KeyVerificationStateObserver {
- constructor(requestEvent, client, updateCallback) {
- this._requestEvent = requestEvent;
- this._client = client;
- this._updateCallback = updateCallback;
- this.accepted = false;
- this.done = false;
- this.cancelled = false;
- this._updateVerificationState();
- }
-
- get concluded() {
- return this.accepted || this.done || this.cancelled;
- }
-
- get pending() {
- return !this.concluded;
- }
-
- setCallback(callback) {
- this._updateCallback = callback;
- }
-
- attach() {
- this._requestEvent.on("Event.relationsCreated", this._onRelationsCreated);
- for (const phaseName of SUB_EVENT_TYPES_OF_INTEREST) {
- this._tryListenOnRelationsForType(`m.key.verification.${phaseName}`);
- }
- }
-
- detach() {
- const roomId = this._requestEvent.getRoomId();
- const room = this._client.getRoom(roomId);
-
- for (const phaseName of SUB_EVENT_TYPES_OF_INTEREST) {
- const relations = room.getUnfilteredTimelineSet()
- .getRelationsForEvent(this._requestEvent.getId(), "m.reference", `m.key.verification.${phaseName}`);
- if (relations) {
- relations.removeListener("Relations.add", this._onRelationsUpdated);
- relations.removeListener("Relations.remove", this._onRelationsUpdated);
- relations.removeListener("Relations.redaction", this._onRelationsUpdated);
- }
- }
- this._requestEvent.removeListener("Event.relationsCreated", this._onRelationsCreated);
- }
-
- _onRelationsCreated = (relationType, eventType) => {
- if (relationType !== "m.reference") {
- return;
- }
- if (
- eventType !== "m.key.verification.start" &&
- eventType !== "m.key.verification.cancel" &&
- eventType !== "m.key.verification.done"
- ) {
- return;
- }
- this._tryListenOnRelationsForType(eventType);
- this._updateVerificationState();
- this._updateCallback();
- };
-
- _tryListenOnRelationsForType(eventType) {
- const roomId = this._requestEvent.getRoomId();
- const room = this._client.getRoom(roomId);
- const relations = room.getUnfilteredTimelineSet()
- .getRelationsForEvent(this._requestEvent.getId(), "m.reference", eventType);
- if (relations) {
- relations.on("Relations.add", this._onRelationsUpdated);
- relations.on("Relations.remove", this._onRelationsUpdated);
- relations.on("Relations.redaction", this._onRelationsUpdated);
- }
- }
-
- _onRelationsUpdated = (event) => {
- this._updateVerificationState();
- this._updateCallback && this._updateCallback();
- };
-
- _updateVerificationState() {
- const roomId = this._requestEvent.getRoomId();
- const room = this._client.getRoom(roomId);
- const timelineSet = room.getUnfilteredTimelineSet();
- const fromUserId = this._requestEvent.getSender();
- const content = this._requestEvent.getContent();
- const toUserId = content.to;
-
- this.cancelled = false;
- this.done = false;
- this.accepted = false;
- this.otherPartyUserId = null;
- this.cancelPartyUserId = null;
-
- const startRelations = timelineSet.getRelationsForEvent(
- this._requestEvent.getId(), "m.reference", "m.key.verification.start");
- if (startRelations) {
- for (const startEvent of startRelations.getRelations()) {
- if (startEvent.getSender() === toUserId) {
- this.accepted = true;
- }
- }
- }
-
- const doneRelations = timelineSet.getRelationsForEvent(
- this._requestEvent.getId(), "m.reference", "m.key.verification.done");
- if (doneRelations) {
- let senderDone = false;
- let receiverDone = false;
- for (const doneEvent of doneRelations.getRelations()) {
- if (doneEvent.getSender() === toUserId) {
- receiverDone = true;
- } else if (doneEvent.getSender() === fromUserId) {
- senderDone = true;
- }
- }
- if (senderDone && receiverDone) {
- this.done = true;
- }
- }
-
- if (!this.done) {
- const cancelRelations = timelineSet.getRelationsForEvent(
- this._requestEvent.getId(), "m.reference", "m.key.verification.cancel");
-
- if (cancelRelations) {
- let earliestCancelEvent;
- for (const cancelEvent of cancelRelations.getRelations()) {
- // only accept cancellation from the users involved
- if (cancelEvent.getSender() === toUserId || cancelEvent.getSender() === fromUserId) {
- this.cancelled = true;
- if (!earliestCancelEvent || cancelEvent.getTs() < earliestCancelEvent.getTs()) {
- earliestCancelEvent = cancelEvent;
- }
- }
- }
- if (earliestCancelEvent) {
- this.cancelPartyUserId = earliestCancelEvent.getSender();
- }
- }
- }
-
- this.otherPartyUserId = fromUserId === this._client.getUserId() ? toUserId : fromUserId;
- }
-}
-
-export function getNameForEventRoom(userId, mxEvent) {
- const roomId = mxEvent.getRoomId();
+export function getNameForEventRoom(userId, roomId) {
const client = MatrixClientPeg.get();
const room = client.getRoom(roomId);
- const member = room.getMember(userId);
+ const member = room && room.getMember(userId);
return member ? member.name : userId;
}
-export function userLabelForEventRoom(userId, mxEvent) {
- const name = getNameForEventRoom(userId, mxEvent);
+export function userLabelForEventRoom(userId, roomId) {
+ const name = getNameForEventRoom(userId, roomId);
if (name !== userId) {
return _t("%(name)s (%(userId)s)", {name, userId});
} else {
diff --git a/src/utils/NamingUtils.ts b/src/utils/NamingUtils.ts
new file mode 100644
index 0000000000..44ccb9b030
--- /dev/null
+++ b/src/utils/NamingUtils.ts
@@ -0,0 +1,29 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import * as projectNameGenerator from "project-name-generator";
+
+/**
+ * Generates a human readable identifier. This should not be used for anything
+ * which needs secure/cryptographic random: just a level uniquness that is offered
+ * by something like Date.now().
+ * @returns {string} The randomly generated ID
+ */
+export function generateHumanReadableId(): string {
+ return projectNameGenerator({words: 3}).raw.map(w => {
+ return w[0].toUpperCase() + w.substring(1).toLowerCase();
+ }).join('');
+}
diff --git a/src/utils/ShieldUtils.ts b/src/utils/ShieldUtils.ts
new file mode 100644
index 0000000000..ef2d475293
--- /dev/null
+++ b/src/utils/ShieldUtils.ts
@@ -0,0 +1,50 @@
+import DMRoomMap from './DMRoomMap';
+
+/* For now, a cut-down type spec for the client */
+interface Client {
+ getUserId: () => string;
+ checkUserTrust: (userId: string) => {
+ isCrossSigningVerified: () => boolean
+ };
+ getStoredDevicesForUser: (userId: string) => Promise<[{ deviceId: string }]>;
+ checkDeviceTrust: (userId: string, deviceId: string) => {
+ isVerified: () => boolean
+ }
+}
+
+interface Room {
+ getEncryptionTargetMembers: () => Promise<[{userId: string}]>;
+ roomId: string;
+}
+
+export async function shieldStatusForRoom(client: Client, room: Room): Promise {
+ const members = (await room.getEncryptionTargetMembers()).map(({userId}) => userId);
+ const inDMMap = !!DMRoomMap.shared().getUserIdForRoomId(room.roomId);
+
+ const verified: string[] = [];
+ const unverified: string[] = [];
+ members.filter((userId) => userId !== client.getUserId())
+ .forEach((userId) => {
+ (client.checkUserTrust(userId).isCrossSigningVerified() ?
+ verified : unverified).push(userId);
+ });
+
+ /* Check all verified user devices. */
+ /* Don't alarm if no other users are verified */
+ const includeUser = (verified.length > 0) && // Don't alarm for self in rooms where nobody else is verified
+ !inDMMap && // Don't alarm for self in DMs with other users
+ (members.length !== 2) || // Don't alarm for self in 1:1 chats with other users
+ (members.length === 1); // Do alarm for self if we're alone in a room
+ const targets = includeUser ? [...verified, client.getUserId()] : verified;
+ for (const userId of targets) {
+ const devices = await client.getStoredDevicesForUser(userId);
+ const anyDeviceNotVerified = devices.some(({deviceId}) => {
+ return !client.checkDeviceTrust(userId, deviceId).isVerified();
+ });
+ if (anyDeviceNotVerified) {
+ return "warning";
+ }
+ }
+
+ return unverified.length === 0 ? "verified" : "normal";
+}
diff --git a/src/utils/StorageManager.js b/src/utils/StorageManager.js
index c5a9f7aeed..e29b6d9b0e 100644
--- a/src/utils/StorageManager.js
+++ b/src/utils/StorageManager.js
@@ -43,6 +43,21 @@ function track(action) {
Analytics.trackEvent("StorageManager", action);
}
+export function tryPersistStorage() {
+ if (navigator.storage && navigator.storage.persist) {
+ navigator.storage.persist().then(persistent => {
+ console.log("StorageManager: Persistent?", persistent);
+ });
+ } else if (document.requestStorageAccess) { // Safari
+ document.requestStorageAccess().then(
+ () => console.log("StorageManager: Persistent?", true),
+ () => console.log("StorageManager: Persistent?", false),
+ );
+ } else {
+ console.log("StorageManager: Persistence unsupported");
+ }
+}
+
export async function checkConsistency() {
log("Checking storage consistency");
log(`Local storage supported? ${!!localStorage}`);
diff --git a/src/utils/WidgetUtils.js b/src/utils/WidgetUtils.js
index c09cd8a858..eea995cfea 100644
--- a/src/utils/WidgetUtils.js
+++ b/src/utils/WidgetUtils.js
@@ -28,6 +28,7 @@ const WIDGET_WAIT_TIME = 20000;
import SettingsStore from "../settings/SettingsStore";
import ActiveWidgetStore from "../stores/ActiveWidgetStore";
import {IntegrationManagers} from "../integrations/IntegrationManagers";
+import {Capability} from "../widgets/WidgetApi";
/**
* Encodes a URI according to a set of template variables. Variables will be
@@ -422,6 +423,22 @@ export default class WidgetUtils {
app.eventId = eventId;
app.name = app.name || app.type;
+ if (app.type === 'jitsi') {
+ console.log("Replacing Jitsi widget URL with local wrapper");
+ if (!app.data || !app.data.conferenceId) {
+ // Assumed to be a v1 widget: add a data object for visibility on the wrapper
+ // TODO: Remove this once mobile supports v2 widgets
+ console.log("Replacing v1 Jitsi widget with v2 equivalent");
+ const parsed = new URL(app.url);
+ app.data = {
+ conferenceId: parsed.searchParams.get("confId"),
+ domain: "jitsi.riot.im", // v1 widgets have this hardcoded
+ };
+ }
+
+ app.url = WidgetUtils.getLocalJitsiWrapperUrl({forLocalRender: true});
+ }
+
if (app.data) {
Object.keys(app.data).forEach((key) => {
params['$' + key] = app.data[key];
@@ -438,12 +455,15 @@ export default class WidgetUtils {
static getCapWhitelistForAppTypeInRoomId(appType, roomId) {
const enableScreenshots = SettingsStore.getValue("enableWidgetScreenshots", roomId);
- const capWhitelist = enableScreenshots ? ["m.capability.screenshot"] : [];
+ const capWhitelist = enableScreenshots ? [Capability.Screenshot] : [];
// Obviously anyone that can add a widget can claim it's a jitsi widget,
// so this doesn't really offer much over the set of domains we load
// widgets from at all, but it probably makes sense for sanity.
- if (appType == 'jitsi') capWhitelist.push("m.always_on_screen");
+ if (appType === 'jitsi') {
+ capWhitelist.push(Capability.AlwaysOnScreen);
+ capWhitelist.push(Capability.GetRiotWebConfig);
+ }
return capWhitelist;
}
@@ -468,4 +488,28 @@ export default class WidgetUtils {
return encodeURIComponent(`${widgetLocation}::${widgetUrl}`);
}
+
+ static getLocalJitsiWrapperUrl(opts: {forLocalRender?: boolean}={}) {
+ // NB. we can't just encodeURIComponent all of these because the $ signs need to be there
+ const queryString = [
+ 'conferenceDomain=$domain',
+ 'conferenceId=$conferenceId',
+ 'isAudioOnly=$isAudioOnly',
+ 'displayName=$matrix_display_name',
+ 'avatarUrl=$matrix_avatar_url',
+ 'userId=$matrix_user_id',
+ ].join('&');
+
+ let baseUrl = window.location;
+ if (window.location.protocol !== "https:" && !opts.forLocalRender) {
+ // Use an external wrapper if we're not locally rendering the widget. This is usually
+ // the URL that will end up in the widget event, so we want to make sure it's relatively
+ // safe to send.
+ // We'll end up using a local render URL when we see a Jitsi widget anyways, so this is
+ // really just for backwards compatibility and to appease the spec.
+ baseUrl = "https://riot.im/app/";
+ }
+ const url = new URL("jitsi.html#" + queryString, baseUrl); // this strips hash fragment from baseUrl
+ return url.href;
+ }
}
diff --git a/src/utils/permalinks/Permalinks.js b/src/utils/permalinks/Permalinks.js
index 1174e59da6..466d1ed57d 100644
--- a/src/utils/permalinks/Permalinks.js
+++ b/src/utils/permalinks/Permalinks.js
@@ -290,6 +290,25 @@ export function isPermalinkHost(host: string): boolean {
return getPermalinkConstructor().isPermalinkHost(host);
}
+/**
+ * Transforms an entity (permalink, room alias, user ID, etc) into a local URL
+ * if possible. If the given entity is not found to be valid enough to be converted
+ * then a null value will be returned.
+ * @param {string} entity The entity to transform.
+ * @returns {string|null} The transformed permalink or null if unable.
+ */
+export function tryTransformEntityToPermalink(entity: string): string {
+ if (!entity) return null;
+
+ // Check to see if it is a bare entity for starters
+ if (entity[0] === '#' || entity[0] === '!') return makeRoomPermalink(entity);
+ if (entity[0] === '@') return makeUserPermalink(entity);
+ if (entity[0] === '+') return makeGroupPermalink(entity);
+
+ // Then try and merge it into a permalink
+ return tryTransformPermalinkToLocalHref(entity);
+}
+
/**
* Transforms a permalink (or possible permalink) into a local URL if possible. If
* the given permalink is found to not be a permalink, it'll be returned unaltered.
diff --git a/src/utils/pillify.js b/src/utils/pillify.js
index 24cc8a3c67..f708ab7770 100644
--- a/src/utils/pillify.js
+++ b/src/utils/pillify.js
@@ -1,5 +1,5 @@
/*
-Copyright 2019 The Matrix.org Foundation C.I.C.
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -21,7 +21,20 @@ import SettingsStore from "../settings/SettingsStore";
import {PushProcessor} from 'matrix-js-sdk/src/pushprocessor';
import * as sdk from '../index';
-export function pillifyLinks(nodes, mxEvent) {
+/**
+ * Recurses depth-first through a DOM tree, converting matrix.to links
+ * into pills based on the context of a given room. Returns a list of
+ * the resulting React nodes so they can be unmounted rather than leaking.
+ *
+ * @param {Node[]} nodes - a list of sibling DOM nodes to traverse to try
+ * to turn into pills.
+ * @param {MatrixEvent} mxEvent - the matrix event which the DOM nodes are
+ * part of representing.
+ * @param {Node[]} pills: an accumulator of the DOM nodes which contain
+ * React components which have been mounted as part of this.
+ * The initial caller should pass in an empty array to seed the accumulator.
+ */
+export function pillifyLinks(nodes, mxEvent, pills) {
const room = MatrixClientPeg.get().getRoom(mxEvent.getRoomId());
const shouldShowPillAvatar = SettingsStore.getValue("Pill.shouldShowPillAvatar");
let node = nodes[0];
@@ -45,6 +58,7 @@ export function pillifyLinks(nodes, mxEvent) {
ReactDOM.render(pill, pillContainer);
node.parentNode.replaceChild(pillContainer, node);
+ pills.push(pillContainer);
// Pills within pills aren't going to go well, so move on
pillified = true;
@@ -102,6 +116,7 @@ export function pillifyLinks(nodes, mxEvent) {
ReactDOM.render(pill, pillContainer);
roomNotifTextNode.parentNode.replaceChild(pillContainer, roomNotifTextNode);
+ pills.push(pillContainer);
}
// Nothing else to do for a text node (and we don't need to advance
// the loop pointer because we did it above)
@@ -111,9 +126,26 @@ export function pillifyLinks(nodes, mxEvent) {
}
if (node.childNodes && node.childNodes.length && !pillified) {
- pillifyLinks(node.childNodes, mxEvent);
+ pillifyLinks(node.childNodes, mxEvent, pills);
}
node = node.nextSibling;
}
}
+
+/**
+ * Unmount all the pill containers from React created by pillifyLinks.
+ *
+ * It's critical to call this after pillifyLinks, otherwise
+ * Pills will leak, leaking entire DOM trees via the event
+ * emitter on BaseAvatar as per
+ * https://github.com/vector-im/riot-web/issues/12417
+ *
+ * @param {Node[]} pills - array of pill containers whose React
+ * components should be unmounted.
+ */
+export function unmountPills(pills) {
+ for (const pillContainer of pills) {
+ ReactDOM.unmountComponentAtNode(pillContainer);
+ }
+}
diff --git a/src/utils/replaceableComponent.ts b/src/utils/replaceableComponent.ts
index 9f617b27f3..8c29fdf037 100644
--- a/src/utils/replaceableComponent.ts
+++ b/src/utils/replaceableComponent.ts
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-import React from 'react';
+import * as React from 'react';
import * as sdk from '../index';
/**
diff --git a/src/verification.js b/src/verification.js
new file mode 100644
index 0000000000..2231346478
--- /dev/null
+++ b/src/verification.js
@@ -0,0 +1,131 @@
+/*
+Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import {MatrixClientPeg} from './MatrixClientPeg';
+import dis from "./dispatcher";
+import Modal from './Modal';
+import * as sdk from './index';
+import { _t } from './languageHandler';
+import {RIGHT_PANEL_PHASES} from "./stores/RightPanelStorePhases";
+import {findDMForUser} from './createRoom';
+import {accessSecretStorage} from './CrossSigningManager';
+import SettingsStore from './settings/SettingsStore';
+import {verificationMethods} from 'matrix-js-sdk/src/crypto';
+
+async function enable4SIfNeeded() {
+ const cli = MatrixClientPeg.get();
+ if (!cli.isCryptoEnabled() || !SettingsStore.isFeatureEnabled("feature_cross_signing")) {
+ return false;
+ }
+ const usk = cli.getCrossSigningId("user_signing");
+ if (!usk) {
+ await accessSecretStorage();
+ return false;
+ }
+
+ return true;
+}
+
+function UntrustedDeviceDialog(props) {
+ const {device, user, onFinished} = props;
+ const BaseDialog = sdk.getComponent("dialogs.BaseDialog");
+ const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
+ return
+
+
{_t("%(name)s (%(userId)s) signed in to a new session without verifying it:", {name: user.displayName, userId: user.userId})}
+
{device.getDisplayName()} ({device.deviceId})
+
{_t("Ask this user to verify their session, or manually verify it below.")}
+
+
+ onFinished("legacy")}>{_t("Manually Verify by Text")}
+ onFinished("sas")}>{_t("Interactively verify by Emoji")}
+ onFinished()}>{_t("Done")}
+
+ ;
+}
+
+export async function verifyDevice(user, device) {
+ if (!await enable4SIfNeeded()) {
+ return;
+ }
+ Modal.createTrackedDialog("Verification warning", "unverified session", UntrustedDeviceDialog, {
+ user,
+ device,
+ onFinished: async (action) => {
+ if (action === "sas") {
+ const cli = MatrixClientPeg.get();
+ const verificationRequestPromise = cli.legacyDeviceVerification(
+ user.userId,
+ device.deviceId,
+ verificationMethods.SAS,
+ );
+ dis.dispatch({
+ action: "set_right_panel_phase",
+ phase: RIGHT_PANEL_PHASES.EncryptionPanel,
+ refireParams: {member: user, verificationRequestPromise},
+ });
+ } else if (action === "legacy") {
+ const ManualDeviceKeyVerificationDialog = sdk.getComponent("dialogs.ManualDeviceKeyVerificationDialog");
+ Modal.createTrackedDialog("Legacy verify session", "legacy verify session",
+ ManualDeviceKeyVerificationDialog,
+ {
+ userId: user.userId,
+ device,
+ },
+ );
+ }
+ },
+ });
+}
+
+export async function legacyVerifyUser(user) {
+ if (!await enable4SIfNeeded()) {
+ return;
+ }
+ const cli = MatrixClientPeg.get();
+ const verificationRequestPromise = cli.beginKeyVerification(user.userId);
+ dis.dispatch({
+ action: "set_right_panel_phase",
+ phase: RIGHT_PANEL_PHASES.EncryptionPanel,
+ refireParams: {member: user, verificationRequestPromise},
+ });
+}
+
+export async function verifyUser(user) {
+ if (!await enable4SIfNeeded()) {
+ return;
+ }
+ const existingRequest = pendingVerificationRequestForUser(user);
+ dis.dispatch({
+ action: "set_right_panel_phase",
+ phase: RIGHT_PANEL_PHASES.EncryptionPanel,
+ refireParams: {
+ member: user,
+ verificationRequest: existingRequest,
+ },
+ });
+}
+
+export function pendingVerificationRequestForUser(user) {
+ const cli = MatrixClientPeg.get();
+ const dmRoom = findDMForUser(cli, user.userId);
+ if (dmRoom) {
+ return cli.findVerificationRequestDMInProgress(dmRoom.roomId);
+ }
+}
diff --git a/src/widgets/WidgetApi.ts b/src/widgets/WidgetApi.ts
new file mode 100644
index 0000000000..d6d1c79a99
--- /dev/null
+++ b/src/widgets/WidgetApi.ts
@@ -0,0 +1,168 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Dev note: This is largely inspired by Dimension. Used with permission.
+// https://github.com/turt2live/matrix-dimension/blob/4f92d560266635e5a3c824606215b84e8c0b19f5/web/app/shared/services/scalar/scalar-widget.api.ts
+
+import { randomString } from "matrix-js-sdk/src/randomstring";
+
+export enum Capability {
+ Screenshot = "m.capability.screenshot",
+ Sticker = "m.sticker",
+ AlwaysOnScreen = "m.always_on_screen",
+ GetRiotWebConfig = "im.vector.web.riot_config",
+}
+
+export enum KnownWidgetActions {
+ GetSupportedApiVersions = "supported_api_versions",
+ TakeScreenshot = "screenshot",
+ GetCapabilities = "capabilities",
+ SendEvent = "send_event",
+ UpdateVisibility = "visibility",
+ ReceiveOpenIDCredentials = "openid_credentials",
+ SetAlwaysOnScreen = "set_always_on_screen",
+ GetRiotWebConfig = "im.vector.web.riot_config",
+ ClientReady = "im.vector.ready",
+}
+
+export type WidgetAction = KnownWidgetActions | string;
+
+export enum WidgetApiType {
+ ToWidget = "toWidget",
+ FromWidget = "fromWidget",
+}
+
+export interface WidgetRequest {
+ api: WidgetApiType;
+ widgetId: string;
+ requestId: string;
+ data: any;
+ action: WidgetAction;
+}
+
+export interface ToWidgetRequest extends WidgetRequest {
+ api: WidgetApiType.ToWidget;
+}
+
+export interface FromWidgetRequest extends WidgetRequest {
+ api: WidgetApiType.FromWidget;
+ response: any;
+}
+
+/**
+ * Handles Riot <--> Widget interactions for embedded/standalone widgets.
+ */
+export class WidgetApi {
+ private origin: string;
+ private inFlightRequests: { [requestId: string]: (reply: FromWidgetRequest) => void } = {};
+ private readyPromise: Promise;
+ private readyPromiseResolve: () => void;
+
+ /**
+ * Set this to true if your widget is expecting a ready message from the client. False otherwise (default).
+ */
+ public expectingExplicitReady = false;
+
+ constructor(currentUrl: string, private widgetId: string, private requestedCapabilities: string[]) {
+ this.origin = new URL(currentUrl).origin;
+
+ this.readyPromise = new Promise(resolve => this.readyPromiseResolve = resolve);
+
+ window.addEventListener("message", event => {
+ if (event.origin !== this.origin) return; // ignore: invalid origin
+ if (!event.data) return; // invalid schema
+ if (event.data.widgetId !== this.widgetId) return; // not for us
+
+ const payload = event.data;
+ if (payload.api === WidgetApiType.ToWidget && payload.action) {
+ console.log(`[WidgetAPI] Got request: ${JSON.stringify(payload)}`);
+
+ if (payload.action === KnownWidgetActions.GetCapabilities) {
+ this.onCapabilitiesRequest(payload);
+ if (!this.expectingExplicitReady) {
+ this.readyPromiseResolve();
+ }
+ } else if (payload.action === KnownWidgetActions.ClientReady) {
+ this.readyPromiseResolve();
+
+ // Automatically acknowledge so we can move on
+ this.replyToRequest(payload, {});
+ } else {
+ console.warn(`[WidgetAPI] Got unexpected action: ${payload.action}`);
+ }
+ } else if (payload.api === WidgetApiType.FromWidget && this.inFlightRequests[payload.requestId]) {
+ console.log(`[WidgetAPI] Got reply: ${JSON.stringify(payload)}`);
+ const handler = this.inFlightRequests[payload.requestId];
+ delete this.inFlightRequests[payload.requestId];
+ handler(payload);
+ } else {
+ console.warn(`[WidgetAPI] Unhandled payload: ${JSON.stringify(payload)}`);
+ }
+ });
+ }
+
+ public waitReady(): Promise {
+ return this.readyPromise;
+ }
+
+ private replyToRequest(payload: ToWidgetRequest, reply: any) {
+ if (!window.parent) return;
+
+ const request = JSON.parse(JSON.stringify(payload));
+ request.response = reply;
+
+ window.parent.postMessage(request, this.origin);
+ }
+
+ private onCapabilitiesRequest(payload: ToWidgetRequest) {
+ return this.replyToRequest(payload, {capabilities: this.requestedCapabilities});
+ }
+
+ public callAction(action: WidgetAction, payload: any, callback: (reply: FromWidgetRequest) => void) {
+ if (!window.parent) return;
+
+ const request: FromWidgetRequest = {
+ api: WidgetApiType.FromWidget,
+ widgetId: this.widgetId,
+ action: action,
+ requestId: randomString(160),
+ data: payload,
+ response: {}, // Not used at this layer - it's used when the client responds
+ };
+
+ if (callback) {
+ this.inFlightRequests[request.requestId] = callback;
+ }
+
+ console.log(`[WidgetAPI] Sending request: `, request);
+ window.parent.postMessage(request, "*");
+ }
+
+ public setAlwaysOnScreen(onScreen: boolean): Promise {
+ return new Promise(resolve => {
+ this.callAction(KnownWidgetActions.SetAlwaysOnScreen, {value: onScreen}, null);
+ resolve(); // SetAlwaysOnScreen is currently fire-and-forget, but that could change.
+ });
+ }
+
+ public getRiotConfig(): Promise {
+ return new Promise(resolve => {
+ this.callAction(KnownWidgetActions.GetRiotWebConfig, {}, response => {
+ resolve(response.response.config);
+ });
+ });
+ }
+}
diff --git a/test/UserActivity-test.js b/test/UserActivity-test.js
index a30df527ae..1b0fbafb48 100644
--- a/test/UserActivity-test.js
+++ b/test/UserActivity-test.js
@@ -15,7 +15,6 @@ limitations under the License.
*/
import lolex from 'lolex';
-import jest from 'jest-mock';
import EventEmitter from 'events';
import UserActivity from '../src/UserActivity';
@@ -36,8 +35,8 @@ describe('UserActivity', function() {
let clock;
beforeEach(function() {
- fakeWindow = new FakeDomEventEmitter(),
- fakeDocument = new FakeDomEventEmitter(),
+ fakeWindow = new FakeDomEventEmitter();
+ fakeDocument = new FakeDomEventEmitter();
userActivity = new UserActivity(fakeWindow, fakeDocument);
userActivity.start();
clock = lolex.install();
diff --git a/test/accessibility/RovingTabIndex-test.js b/test/accessibility/RovingTabIndex-test.js
new file mode 100644
index 0000000000..8be4a2976c
--- /dev/null
+++ b/test/accessibility/RovingTabIndex-test.js
@@ -0,0 +1,121 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from "react";
+import Adapter from "enzyme-adapter-react-16";
+import { configure, mount } from "enzyme";
+
+import {
+ RovingTabIndexProvider,
+ RovingTabIndexWrapper,
+ useRovingTabIndex,
+} from "../../src/accessibility/RovingTabIndex";
+
+configure({ adapter: new Adapter() });
+
+const Button = (props) => {
+ const [onFocus, isActive, ref] = useRovingTabIndex();
+ return ;
+};
+
+const checkTabIndexes = (buttons, expectations) => {
+ expect(buttons.length).toBe(expectations.length);
+ for (let i = 0; i < buttons.length; i++) {
+ expect(buttons.at(i).prop("tabIndex")).toBe(expectations[i]);
+ }
+};
+
+// give the buttons keys for the fibre reconciler to not treat them all as the same
+const button1 = a;
+const button2 = b;
+const button3 = c;
+const button4 = d;
+
+describe("RovingTabIndex", () => {
+ it("RovingTabIndexProvider renders children as expected", () => {
+ const wrapper = mount(
+ {() =>