Merge branch 'develop' into travis/remove-presence

This commit is contained in:
Travis Ralston 2018-04-11 15:18:30 -06:00
commit 5845a1ec7a
117 changed files with 4096 additions and 1533 deletions

2
.gitignore vendored
View File

@ -16,4 +16,6 @@ electron/dist
electron/pub
**/.idea
/config.json
/config.json.*
/config.local*.json
/src/component-index.js

View File

@ -3,7 +3,10 @@ dist: trusty
# we don't need sudo, so can run in a container, which makes startup much
# quicker.
sudo: false
#
# unfortunately we do temporarily require sudo as a workaround for
# https://github.com/travis-ci/travis-ci/issues/8836
sudo: required
language: node_js
node_js:

View File

@ -1,3 +1,233 @@
Changes in [0.14.0](https://github.com/vector-im/riot-web/releases/tag/v0.14.0) (2018-04-11)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.6...v0.14.0)
* Cosmetic changes for group UI
Changes in [0.14.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.6) (2018-04-09)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.5...v0.14.0-rc.6)
* Bump react-sdk to [rc.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.12.0-rc.6)
Changes in [0.14.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.5) (2018-04-09)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.4...v0.14.0-rc.5)
* Add CSS for new control to set group join policy
Changes in [0.14.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.4) (2018-03-22)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.3...v0.14.0-rc.4)
* Fix tagging rooms as direct messages
Changes in [0.14.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.3) (2018-03-20)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.2...v0.14.0-rc.3)
* Fix a bug where the badge on a room tile would not update
when a room was read from a different device.
Changes in [0.14.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.2) (2018-03-19)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.1...v0.14.0-rc.2)
* Take TagPanel out of labs
[\#6347](https://github.com/vector-im/riot-web/pull/6347)
* Add languages (czech, galician and serbian)
[\#6343](https://github.com/vector-im/riot-web/pull/6343)
Changes in [0.14.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.1) (2018-03-19)
======================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.5...v0.14.0-rc.1)
* Force update RoomSubList after reading a room
[\#6342](https://github.com/vector-im/riot-web/pull/6342)
* Ensure entire LeftPanel is faded when settings open
[\#6340](https://github.com/vector-im/riot-web/pull/6340)
* Update from Weblate.
[\#6330](https://github.com/vector-im/riot-web/pull/6330)
* Implement a simple shouldComponentUpdate for DNDRoomTile
[\#6313](https://github.com/vector-im/riot-web/pull/6313)
* Remove og:image with status.im URL
[\#6317](https://github.com/vector-im/riot-web/pull/6317)
* Add change delay warning in GroupView settings
[\#6316](https://github.com/vector-im/riot-web/pull/6316)
* Correctly position mx_TagPanel_clearButton
[\#6289](https://github.com/vector-im/riot-web/pull/6289)
* Fix gap between avatar and border
[\#6290](https://github.com/vector-im/riot-web/pull/6290)
* Fix bug where cannot send group invite on GroupMemberInfo phase
[\#6303](https://github.com/vector-im/riot-web/pull/6303)
* Fix themeing bug with Firefox where "disabled" ignored
[\#6301](https://github.com/vector-im/riot-web/pull/6301)
* Changes for E2E "fudge-button"
[\#6288](https://github.com/vector-im/riot-web/pull/6288)
* Make sure mx_TagPanel_tagTileContainer occupies full height
[\#6286](https://github.com/vector-im/riot-web/pull/6286)
* Add transparent CSS class for RoomTile
[\#6281](https://github.com/vector-im/riot-web/pull/6281)
* Fix crash; fs event received /w langauge file empty
[\#6273](https://github.com/vector-im/riot-web/pull/6273)
* Add setting to disable TagPanel
[\#6269](https://github.com/vector-im/riot-web/pull/6269)
* CSS for my groups microcopy
[\#6257](https://github.com/vector-im/riot-web/pull/6257)
* Add Bulgarian to the list of languages
[\#6246](https://github.com/vector-im/riot-web/pull/6246)
* Make media dropdown wider
[\#6245](https://github.com/vector-im/riot-web/pull/6245)
* Make dropdowns with long options degrade more gracefully
[\#6244](https://github.com/vector-im/riot-web/pull/6244)
* Fix un-tinted "View Community" icon in TagTile context menu
[\#6223](https://github.com/vector-im/riot-web/pull/6223)
* Fix RoomDropTarget and emptySubListTip to have containers
[\#6160](https://github.com/vector-im/riot-web/pull/6160)
* Fix syntax error of wrong use of self-closing HTML tag
[\#6154](https://github.com/vector-im/riot-web/pull/6154)
* Use translucent black for RoomSubList bg to fix tinting
[\#6227](https://github.com/vector-im/riot-web/pull/6227)
* CSS for changing "R" to "X" for clearing group filter
[\#6216](https://github.com/vector-im/riot-web/pull/6216)
* CSS for new global TagPanel filter
[\#6187](https://github.com/vector-im/riot-web/pull/6187)
* Separate the middle panel from the room list
[\#6194](https://github.com/vector-im/riot-web/pull/6194)
* Only use DNDRoomTile for editable sub lists
[\#6176](https://github.com/vector-im/riot-web/pull/6176)
* Adjust CSS to prevent scrollbars on message panel spinner
[\#6131](https://github.com/vector-im/riot-web/pull/6131)
* Implement riot-web side of dragging GroupTile avatars to TagPanel
[\#6143](https://github.com/vector-im/riot-web/pull/6143)
* Fix LeftPanel size being incorrect when TagPanel disabled
[\#6140](https://github.com/vector-im/riot-web/pull/6140)
* Fix TagPanel from collapsing to < 60px when LP collapsed
[\#6134](https://github.com/vector-im/riot-web/pull/6134)
* Temporary hack to constrain LLP container size.
[\#6138](https://github.com/vector-im/riot-web/pull/6138)
* Fix typo
[\#6137](https://github.com/vector-im/riot-web/pull/6137)
* Add context menu to TagPanel
[\#6127](https://github.com/vector-im/riot-web/pull/6127)
* Make room tagging flux-y
[\#6096](https://github.com/vector-im/riot-web/pull/6096)
* Move groups button to TagPanel
[\#6130](https://github.com/vector-im/riot-web/pull/6130)
* Fix long group name pushing settings cog into void
[\#6106](https://github.com/vector-im/riot-web/pull/6106)
* Fix horizontal scrollbar under certain circumstances
[\#6103](https://github.com/vector-im/riot-web/pull/6103)
* Split MImageBody into MFileBody to match JS Classes.
[\#6067](https://github.com/vector-im/riot-web/pull/6067)
* Add Catalan
[\#6040](https://github.com/vector-im/riot-web/pull/6040)
* Update from Weblate.
[\#5777](https://github.com/vector-im/riot-web/pull/5777)
* make FilteredList controlled, such that it can externally persist filter
[\#5718](https://github.com/vector-im/riot-web/pull/5718)
* Linear Rich Quoting
[\#6017](https://github.com/vector-im/riot-web/pull/6017)
* Highlight ViewSource and Devtools ViewSource
[\#5995](https://github.com/vector-im/riot-web/pull/5995)
* default url, not domain
[\#6022](https://github.com/vector-im/riot-web/pull/6022)
* T3chguy/num members tooltip
[\#5929](https://github.com/vector-im/riot-web/pull/5929)
* Swap RoomList to react-beautiful-dnd
[\#6008](https://github.com/vector-im/riot-web/pull/6008)
* CSS required as part of moving TagPanel from react-dnd to react-beautiful-
dnd
[\#5992](https://github.com/vector-im/riot-web/pull/5992)
* fix&refactor DateSeparator and MessageTimestamp
[\#5984](https://github.com/vector-im/riot-web/pull/5984)
* Iterative fixes on Rich Quoting
[\#5978](https://github.com/vector-im/riot-web/pull/5978)
* move piwik whitelists to conf and add piwik config.json info to readme
[\#5653](https://github.com/vector-im/riot-web/pull/5653)
* Implement Rich Quoting/Replies
[\#5804](https://github.com/vector-im/riot-web/pull/5804)
* Change author
[\#5950](https://github.com/vector-im/riot-web/pull/5950)
* Revert "Add a &nbsp; after timestamp"
[\#5944](https://github.com/vector-im/riot-web/pull/5944)
* Add a &nbsp; after timestamp
[\#3046](https://github.com/vector-im/riot-web/pull/3046)
* Corrected language name
[\#5938](https://github.com/vector-im/riot-web/pull/5938)
* Hide Options button from copy to clipboard
[\#2892](https://github.com/vector-im/riot-web/pull/2892)
* Fix for `If riot is narrow enough, such that 'Send a message (unecrypted)'
wraps to a second line, the timeline doesn't fit the window.`
[\#5900](https://github.com/vector-im/riot-web/pull/5900)
* Screenshot UI
[\#5849](https://github.com/vector-im/riot-web/pull/5849)
* add missing config.json entry such that scalar-staging widgets work
[\#5855](https://github.com/vector-im/riot-web/pull/5855)
* add dark theme styling to devtools input box
[\#5610](https://github.com/vector-im/riot-web/pull/5610)
* Fixes #1953 by adding oivoodoo as author
[\#5851](https://github.com/vector-im/riot-web/pull/5851)
* Instructions on security issues
[\#5824](https://github.com/vector-im/riot-web/pull/5824)
* Move DND wrapper to top level component
[\#5790](https://github.com/vector-im/riot-web/pull/5790)
* Widget title bar max / min visual cues.
[\#5786](https://github.com/vector-im/riot-web/pull/5786)
* Implement renumeration of ordered tags upon collision
[\#5759](https://github.com/vector-im/riot-web/pull/5759)
* Update imports for accessing KeyCode
[\#5751](https://github.com/vector-im/riot-web/pull/5751)
* Set html lang attribute from language setting
[\#5685](https://github.com/vector-im/riot-web/pull/5685)
* CSS for new TagPanel
[\#5723](https://github.com/vector-im/riot-web/pull/5723)
* getGroupStore no longer needs a matrix client
[\#5707](https://github.com/vector-im/riot-web/pull/5707)
* CSS required for moving group publication toggles to UserSettings
[\#5702](https://github.com/vector-im/riot-web/pull/5702)
* Make sure the SettingsStore is ready to load the theme before loading it
[\#5630](https://github.com/vector-im/riot-web/pull/5630)
* Add some aria-labels to RightPanel
[\#5661](https://github.com/vector-im/riot-web/pull/5661)
* Use badge count format for member count in RightPanel
[\#5657](https://github.com/vector-im/riot-web/pull/5657)
* Exclude the default language on page load
[\#5640](https://github.com/vector-im/riot-web/pull/5640)
* Use SettingsStore to get the default theme
[\#5615](https://github.com/vector-im/riot-web/pull/5615)
* Refactor translations
[\#5613](https://github.com/vector-im/riot-web/pull/5613)
* TintableSvgButton styling
[\#5605](https://github.com/vector-im/riot-web/pull/5605)
* Granular settings
[\#5468](https://github.com/vector-im/riot-web/pull/5468)
* CSS/components for custom presence controls
[\#5286](https://github.com/vector-im/riot-web/pull/5286)
* Set widget tile background colour
[\#5574](https://github.com/vector-im/riot-web/pull/5574)
* Widget styling tweaks
[\#5573](https://github.com/vector-im/riot-web/pull/5573)
* Center mixed content warnings in panel.
[\#5567](https://github.com/vector-im/riot-web/pull/5567)
* Status.im theme
[\#5578](https://github.com/vector-im/riot-web/pull/5578)
Changes in [0.13.5](https://github.com/vector-im/riot-web/releases/tag/v0.13.5) (2018-02-09)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.4...v0.13.5)
* SECURITY UPDATE: Sanitise URLs from 'external_url'. Thanks to walle303 for contacting
us about this vulnerability.
Changes in [0.13.4](https://github.com/vector-im/riot-web/releases/tag/v0.13.4) (2018-01-03)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.3...v0.13.4)
* Change config of riot.im electron build to fix some widgets not working. This only affects
electron builds using the riot.im config - for all other builds, this is identical to
v0.13.3.
Changes in [0.13.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.3) (2017-12-04)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.2...v0.13.3)

View File

@ -106,7 +106,9 @@ config.json
You can configure the app by copying `config.sample.json` to
`config.json` and customising it:
1. `default_hs_url` is the default home server url.
For a good example, see https://riot.im/develop/config.json
1. `default_hs_url` is the default homeserver url.
1. `default_is_url` is the default identity server url (this is the server used
for verifying third party identifiers like email addresses). If this is blank,
registering with an email address, adding an email address to your account,
@ -115,21 +117,49 @@ You can configure the app by copying `config.sample.json` to
addresses) to matrix IDs: see http://matrix.org/docs/spec/identity_service/unstable.html
for more details. Currently the only public matrix identity servers are https://matrix.org
and https://vector.im. In future identity servers will be decentralised.
1. `features`: Lookup of optional features that may be `enable`d, `disable`d, or exposed to the user
in the `labs` section of settings. The available optional experimental features vary from
release to release.
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
homeserver know what email template to use when talking to you.
1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations
server is not Riot and normally not your Home Server either. The integration server settings
may be left blank to disable integrations.
1. `integrations_rest_url`: URL to the REST interface for the integrations server.
1. `integrations_widgets_urls`: list of URLs to the REST interface for the widget integrations server.
1. `bug_report_endpoint_url`: endpoint to send bug reports to (must be running a
https://github.com/matrix-org/rageshake server)
1. `roomDirectory`: config for the public room directory. This section is optional.
1. `roomDirectory.servers`: List of other Home Servers' directories to include in the drop
1. `roomDirectory.servers`: List of other homeservers' directories to include in the drop
down list. Optional.
1. `default_theme`: name of theme to use by default (e.g. 'light')
1. `update_base_url` (electron app only): HTTPS URL to a web server to download
updates from. This should be the path to the directory containing `macos`
and `win32` (for update packages, not installer packages).
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
encrypted file attachments. This MUST be hosted on a completely separate domain to
anything else since it is used to isolate the privileges of file attachments to this
domain. Default: `usercontent.riot.im`. This needs to contain v1.html from
domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from
https://github.com/matrix-org/usercontent/blob/master/v1.html
1. `piwik`: an object containing the following properties:
1. `url`: The URL of the Piwik instance to use for collecting Analytics
1. `whitelistedHSUrls`: a list of HS URLs to not redact from the Analytics
1. `whitelistedISUrls`: a list of IS URLs to not redact from the Analytics
1. `siteId`: The Piwik Site ID to use when sending Analytics to the Piwik server configured above
1. `teamServerConfig`, `teamTokenMap`, `referralBaseUrl`: an obsolete precursor to communities
with referral tracking; please ignore it.
1. `welcomeUserId`: the user ID of a bot to invite whenever users register that can give them a tour
Note that `index.html` also has an og:image meta tag that is set to an image
hosted on riot.im. This is the image used if links to your copy of Riot
appear in some websites like Facebook, and indeed Riot itself. This has to be
static in the HTML and an absolute URL (and HTTP rather than HTTPS), so it's
not possible for this to be an option in config.json. If you'd like to change
it, you can build Riot as above, but run
`RIOT_OG_IMAGE_URL="http://example.com/logo.png" npm run build`.
Alternatively, you can edit the `og:image` meta tag in `index.html` directly
each time you download a new version of Riot.
Running as a Desktop app
========================
@ -314,31 +344,51 @@ For a developer guide, see the [translating dev doc](docs/translating-dev.md).
Triaging issues
===============
Issues will be triaged by the core team using the following primary set of tags:
Issues will be triaged by the core team using the below set of tags.
priority:
Tags are meant to be used in combination - e.g.:
* P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
* "release blocker" == stuff which is blocking us from cutting the next release.
* P1 feature type:voip == what VoIP features should we be working on next?
* P1: top priority; typically blocks releases
priority: **compulsory**
* P1: top priority - i.e. pool of stuff which we should be working on next
* P2: still need to fix, but lower than P1
* P3: non-urgent
* P4: intereseting idea - bluesky some day
* P4: interesting idea - bluesky some day
* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
bug or feature:
bug or feature: **compulsory**
* bug
* feature
bug severity:
bug severity: **compulsory, if bug**
* cosmetic - feature works functionally but UI/UX is broken
* critical - whole app doesn't work
* major - entire feature doesn't work
* minor - partially broken feature (but still usable)
* cosmetic - feature works functionally but UI/UX is broken
additional categories:
types
* type:* - refers to a particular part of the app; used to filter bugs
on a given topic - e.g. VOIP, signup, timeline, etc.
additional categories (self-explanatory):
* release blocker
* ui/ux (think of this as cosmetic)
* network (specific to network conditions)
* platform (platform specific)
* platform specific
* accessibility
* maintenance
* performance
* i18n
* blocked - whether this issue currently can't be progressed due to outside factors
community engagement
* easy
* hacktoberfest
* bounty? - proposal to be included in a bounty programme
* bounty - included in Status Open Bounty

View File

@ -24,6 +24,11 @@
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
"url": "https://piwik.riot.im/",
"whitelistedHSUrls": ["https://matrix.org"],
"whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
"siteId": 1
},
"enable_presence_by_hs_url": {
"https://matrix.org": false
}
}

View File

@ -35,7 +35,7 @@ Head to the explanations under Steb 2b
## Step 2b: Adding a new language
1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
2. Click the ``Start new language`` button at the bottom
2. Click the ``Start new translation`` button at the bottom
3. Select a language
4. Start translating like in 2a.3
5. Repeat these steps for the other projects which are listed at the link of step 2b.1

View File

@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.13.3",
"version": "0.14.0",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"dependencies": {

View File

@ -2,9 +2,9 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "0.13.3",
"version": "0.14.0",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"author": "New Vector Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/riot-web"
@ -68,14 +68,13 @@
"gfm.css": "^1.1.1",
"highlight.js": "^9.0.0",
"linkifyjs": "^2.1.3",
"matrix-js-sdk": "0.9.2",
"matrix-react-sdk": "0.11.3",
"matrix-js-sdk": "0.10.0",
"matrix-react-sdk": "0.12.1",
"modernizr": "^3.1.0",
"pako": "^1.0.5",
"prop-types": "^15.5.10",
"react": "^15.6.0",
"react-dnd": "^2.1.4",
"react-dnd-html5-backend": "^2.1.2",
"react-beautiful-dnd": "^4.0.1",
"react-dom": "^15.6.0",
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
"sanitize-html": "^1.11.1",
@ -144,7 +143,7 @@
"react-addons-perf": "^15.4.0",
"react-addons-test-utils": "^15.6.0",
"rimraf": "^2.4.3",
"source-map-loader": "^0.1.5",
"source-map-loader": "^0.2.3",
"webpack": "^1.12.14",
"webpack-dev-server": "^1.16.2"
},
@ -154,7 +153,7 @@
"build": {
"appId": "im.riot.app",
"category": "Network",
"electronVersion": "1.7.9",
"electronVersion": "1.8.3",
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
"asar": false,
"dereference": true,

View File

@ -284,9 +284,9 @@
<div class="mx_HomePage_room">
<a href="#/room/#riotweb-translations:matrix.org">
<img class="mx_HomePage_icon" src="home/rooms/riot-translations.png">
<span class="mx_HomePage_name">Riot-Web Translations</span>
<span class="mx_HomePage_name">Riot Translations</span>
</a>
<span class="mx_HomePage_desc">_t("Co-ordination for Riot/Web translators")</span>
<span class="mx_HomePage_desc">_t("Co-ordination for Riot translators")</span>
</div>
</div>
</div>

View File

@ -7,18 +7,22 @@
// a translation in the app (because having a translation with only
// 3 strings translated is just frustrating)
// This could readily be automated, but it's nice to explicitly
// control when we languages are available.
// control when new languages are available.
const INCLUDE_LANGS = [
{'value': 'bg', 'label': 'Български'},
{'value': 'ca', 'label': 'Català'},
{'value': 'cs', 'label': 'čeština'},
{'value': 'da', 'label': 'Dansk'},
{'value': 'de_DE', 'label': 'Deutsch'},
{'value': 'el', 'label': 'Ελληνικά'},
{'value': 'en_EN', 'label': 'English'},
{'value': 'en_US', 'label': 'English (US)'},
{'value': 'el', 'label': 'Ελληνικά'},
{'value': 'eo', 'label': 'Esperanto'},
{'value': 'es', 'label': 'Español'},
{'value': 'eu', 'label': 'Euskal'},
{'value': 'eu', 'label': 'Euskara'},
{'value': 'fi', 'label': 'Suomi'},
{'value': 'fr', 'label': 'Français'},
{'value': 'gl', 'label': 'Galego'},
{'value': 'hu', 'label': 'Magyar'},
{'value': 'ko', 'label': '한국어'},
{'value': 'lv', 'label': 'Latviešu'},
@ -28,10 +32,11 @@ const INCLUDE_LANGS = [
{'value': 'pt', 'label': 'Português'},
{'value': 'pt_BR', 'label': 'Português do Brasil'},
{'value': 'ru', 'label': 'Русский'},
{'value': 'sv', 'label': 'Svenska'},
{'value': 'sk', 'label': 'Slovenčina'},
{'value': 'th', 'label': 'ไทย'},
{'value': 'sr', 'label': 'српски'},
{'value': 'sv', 'label': 'Svenska'},
{'value': 'te', 'label': 'తెలుగు'},
{'value': 'th', 'label': 'ไทย'},
{'value': 'tr', 'label': 'Türk'},
{'value': 'zh_Hans', 'label': '简体中文'}, // simplified chinese
{'value': 'zh_Hant', 'label': '繁體中文'}, // traditional chinese
@ -132,8 +137,19 @@ function next(i, err) {
const reactSdkFile = 'node_modules/matrix-react-sdk/src/i18n/strings/' + source + '.json';
const riotWebFile = 'src/i18n/strings/' + source + '.json';
const translations = {};
const makeLang = () => { genLangFile(source, dest) };
// XXX: Use a debounce because for some reason if we read the language
// file immediately after the FS event is received, the file contents
// appears empty. Possibly https://github.com/nodejs/node/issues/6112
let makeLangDebouncer;
const makeLang = () => {
if (makeLangDebouncer) {
clearTimeout(makeLangDebouncer);
}
makeLangDebouncer = setTimeout(() => {
genLangFile(source, dest);
}, 500);
};
[reactSdkFile, riotWebFile].forEach(function(f) {
chokidar.watch(f)
.on('add', makeLang)
@ -168,13 +184,13 @@ function genLangFile(lang, dest) {
JSON.parse(fs.readFileSync(f).toString())
);
} catch (e) {
console.error("Failed: "+f, e);
console.error("Failed: " + f, e);
throw e;
}
}
});
translations = weblateToCounterpart(translations)
translations = weblateToCounterpart(translations);
fs.writeFileSync(dest + lang + '.json', JSON.stringify(translations, null, 4));
if (verbose) {

View File

@ -167,8 +167,11 @@ module.exports = React.createClass({
const StartChatButton = sdk.getComponent('elements.StartChatButton');
const RoomDirectoryButton = sdk.getComponent('elements.RoomDirectoryButton');
const CreateRoomButton = sdk.getComponent('elements.CreateRoomButton');
const GroupsButton = sdk.getComponent('elements.GroupsButton');
const SettingsButton = sdk.getComponent('elements.SettingsButton');
const GroupsButton = sdk.getComponent('elements.GroupsButton');
const groupsButton = SettingsStore.getValue("TagPanel.disableTagPanel") ?
<GroupsButton tooltip={true} /> : null;
return (
<div className="mx_BottomLeftMenu">
@ -183,7 +186,7 @@ module.exports = React.createClass({
<div ref={this._collectCreateRoomButton}>
<CreateRoomButton tooltip={true} />
</div>
<GroupsButton tooltip={true} />
{ groupsButton }
<span className="mx_BottomLeftMenu_settings">
<SettingsButton tooltip={true} />
</span>

View File

@ -18,10 +18,10 @@ limitations under the License.
'use strict';
import React from 'react';
import GeminiScrollbar from 'react-gemini-scrollbar';
import request from 'browser-request';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import sanitizeHtml from 'sanitize-html';
import sdk from 'matrix-react-sdk/lib';
module.exports = React.createClass({
displayName: 'HomePage',
@ -99,11 +99,12 @@ module.exports = React.createClass({
);
}
else {
const GeminiScrollbarWrapper = sdk.getComponent("elements.GeminiScrollbarWrapper");
return (
<GeminiScrollbar autoshow={true} className="mx_HomePage">
<GeminiScrollbarWrapper autoshow={true} className="mx_HomePage">
<div className="mx_HomePage_body" dangerouslySetInnerHTML={{ __html: this.state.page }}>
</div>
</GeminiScrollbar>
</GeminiScrollbarWrapper>
);
}
}

View File

@ -17,22 +17,28 @@ limitations under the License.
'use strict';
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { MatrixClient } from 'matrix-js-sdk';
import { KeyCode } from 'matrix-react-sdk/lib/Keyboard';
import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import CallHandler from 'matrix-react-sdk/lib/CallHandler';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import VectorConferenceHandler from '../../VectorConferenceHandler';
import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore';
var LeftPanel = React.createClass({
displayName: 'LeftPanel',
// NB. If you add props, don't forget to update
// shouldComponentUpdate!
propTypes: {
collapsed: React.PropTypes.bool.isRequired,
collapsed: PropTypes.bool.isRequired,
},
contextTypes: {
matrixClient: PropTypes.instanceOf(MatrixClient),
},
getInitialState: function() {
@ -161,13 +167,18 @@ var LeftPanel = React.createClass({
this.setState({ searchFilter: term });
},
collectRoomList: function(ref) {
this._roomList = ref;
},
render: function() {
const RoomList = sdk.getComponent('rooms.RoomList');
const TagPanel = sdk.getComponent('structures.TagPanel');
const BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu');
const CallPreview = sdk.getComponent('voip.CallPreview');
let topBox;
if (MatrixClientPeg.get().isGuest()) {
if (this.context.matrixClient.isGuest()) {
const LoginBox = sdk.getComponent('structures.LoginBox');
topBox = <LoginBox collapsed={ this.props.collapsed }/>;
} else {
@ -175,24 +186,39 @@ var LeftPanel = React.createClass({
topBox = <SearchBox collapsed={ this.props.collapsed } onSearch={ this.onSearch } />;
}
let classes = classNames(
"mx_LeftPanel", "mx_fadable",
const classes = classNames(
"mx_LeftPanel",
{
"collapsed": this.props.collapsed,
},
);
const tagPanelEnabled = !SettingsStore.getValue("TagPanel.disableTagPanel");
const tagPanel = tagPanelEnabled ? <TagPanel /> : <div />;
const containerClasses = classNames(
"mx_LeftPanel_container", "mx_fadable",
{
"mx_LeftPanel_container_collapsed": this.props.collapsed,
"mx_LeftPanel_container_hasTagPanel": tagPanelEnabled,
"mx_fadable_faded": this.props.disabled,
}
},
);
return (
<aside className={classes} onKeyDown={ this._onKeyDown } onFocus={ this._onFocus } onBlur={ this._onBlur }>
{ topBox }
<CallPreview ConferenceHandler={VectorConferenceHandler} />
<RoomList
collapsed={this.props.collapsed}
searchFilter={this.state.searchFilter}
ConferenceHandler={VectorConferenceHandler} />
<BottomLeftMenu collapsed={this.props.collapsed}/>
</aside>
<div className={containerClasses}>
{ tagPanel }
<aside className={classes} onKeyDown={ this._onKeyDown } onFocus={ this._onFocus } onBlur={ this._onBlur }>
{ topBox }
<CallPreview ConferenceHandler={VectorConferenceHandler} />
<RoomList
ref={this.collectRoomList}
collapsed={this.props.collapsed}
searchFilter={this.state.searchFilter}
ConferenceHandler={VectorConferenceHandler} />
<BottomLeftMenu collapsed={this.props.collapsed}/>
</aside>
</div>
);
}
});

View File

@ -24,7 +24,7 @@ import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import { MatrixClient } from 'matrix-js-sdk';
import Analytics from 'matrix-react-sdk/lib/Analytics';
import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc';
import RateLimitedFunc from 'matrix-react-sdk/lib/ratelimitedfunc';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import { showGroupInviteDialog, showGroupAddRoomDialog } from 'matrix-react-sdk/lib/GroupAddressPicker';
import GroupStoreCache from 'matrix-react-sdk/lib/stores/GroupStoreCache';
@ -58,8 +58,8 @@ class HeaderButton extends React.Component {
<div className="mx_RightPanel_headerButton_badge">
{ this.props.badge ? this.props.badge : <span>&nbsp;</span> }
</div>
<TintableSvg src={this.props.iconSrc} width="25" height="25"/>
{ this.props.isHighlighted ? <div className="mx_RightPanel_headerButton_highlight"></div> : <div/> }
<TintableSvg src={this.props.iconSrc} width="25" height="25" />
{ this.props.isHighlighted ? <div className="mx_RightPanel_headerButton_highlight" /> : <div /> }
</AccessibleButton>;
}
@ -167,35 +167,40 @@ module.exports = React.createClass({
return;
}
if (this.state.phase === this.Phase.GroupMemberList) {
showGroupInviteDialog(this.props.groupId);
} else if (this.state.phase === this.Phase.GroupRoomList) {
showGroupAddRoomDialog(this.props.groupId).then(() => {
this.forceUpdate();
// call AddressPickerDialog
dis.dispatch({
action: 'view_invite',
roomId: this.props.roomId,
});
},
onInviteToGroupButtonClick: function() {
showGroupInviteDialog(this.props.groupId).then(() => {
this.setState({
phase: this.Phase.GroupMemberList,
});
} else {
// call AddressPickerDialog
dis.dispatch({
action: 'view_invite',
roomId: this.props.roomId,
});
}
});
},
onAddRoomToGroupButtonClick: function() {
showGroupAddRoomDialog(this.props.groupId).then(() => {
this.forceUpdate();
});
},
onRoomStateMember: function(ev, state, member) {
// redraw the badge on the membership list
if (this.state.phase == this.Phase.RoomMemberList && member.roomId === this.props.roomId) {
if (this.state.phase === this.Phase.RoomMemberList && member.roomId === this.props.roomId) {
this._delayedUpdate();
}
else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId &&
} else if (this.state.phase === this.Phase.RoomMemberInfo && member.roomId === this.props.roomId &&
member.userId === this.state.member.userId) {
// refresh the member info (e.g. new power level)
this._delayedUpdate();
}
},
_delayedUpdate: new rate_limited_func(function() {
this.forceUpdate();
_delayedUpdate: new RateLimitedFunc(function() {
this.forceUpdate(); // eslint-disable-line babel/no-invalid-this
}, 500),
onAction: function(payload) {
@ -234,6 +239,10 @@ module.exports = React.createClass({
this.setState({
phase: this.Phase.GroupRoomList,
});
} else if (payload.action === "view_group_member_list") {
this.setState({
phase: this.Phase.GroupMemberList,
});
} else if (payload.action === "view_group_user") {
this.setState({
phase: this.Phase.GroupMemberInfo,
@ -266,22 +275,23 @@ module.exports = React.createClass({
let inviteGroup;
let membersBadge;
if ((this.state.phase == this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo)
let membersTitle = _t('Members');
if ((this.state.phase === this.Phase.RoomMemberList || this.state.phase === this.Phase.RoomMemberInfo)
&& this.props.roomId
) {
const cli = this.context.matrixClient;
const room = cli.getRoom(this.props.roomId);
let userIsInRoom;
let isUserInRoom;
if (room) {
membersBadge = formatCount(room.getJoinedMembers().length);
userIsInRoom = room.hasMembershipState(
this.context.matrixClient.credentials.userId, 'join',
);
const numMembers = room.getJoinedMembers().length;
membersTitle = _t('%(count)s Members', { count: numMembers });
membersBadge = <div title={membersTitle}>{ formatCount(numMembers) }</div>;
isUserInRoom = room.hasMembershipState(this.context.matrixClient.credentials.userId, 'join');
}
if (userIsInRoom) {
if (isUserInRoom) {
inviteGroup =
<AccessibleButton className="mx_RightPanel_invite" onClick={ this.onInviteButtonClick } >
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteButtonClick}>
<div className="mx_RightPanel_icon" >
<TintableSvg src="img/icon-invite-people.svg" width="35" height="35" />
</div>
@ -292,13 +302,13 @@ module.exports = React.createClass({
const isPhaseGroup = [
this.Phase.GroupMemberInfo,
this.Phase.GroupMemberList
this.Phase.GroupMemberList,
].includes(this.state.phase);
let headerButtons = [];
if (this.props.roomId) {
headerButtons = [
<HeaderButton key="_membersButton" title={_t('Members')} iconSrc="img/icons-people.svg"
<HeaderButton key="_membersButton" title={membersTitle} iconSrc="img/icons-people.svg"
isHighlighted={[this.Phase.RoomMemberList, this.Phase.RoomMemberInfo].includes(this.state.phase)}
clickPhase={this.Phase.RoomMemberList}
badge={membersBadge}
@ -336,54 +346,54 @@ module.exports = React.createClass({
// button on these 2 screens or you won't be able to re-expand the panel.
headerButtons.push(
<div className="mx_RightPanel_headerButton mx_RightPanel_collapsebutton" key="_minimizeButton"
title={ _t("Hide panel") } aria-label={ _t("Hide panel") } onClick={ this.onCollapseClick }
title={_t("Hide panel")} aria-label={_t("Hide panel")} onClick={this.onCollapseClick}
>
<TintableSvg src="img/minimise.svg" width="10" height="16"/>
<TintableSvg src="img/minimise.svg" width="10" height="16" />
</div>,
);
}
let panel = <div />;
if (!this.props.collapsed) {
if (this.props.roomId && this.state.phase == this.Phase.RoomMemberList) {
if (this.props.roomId && this.state.phase === this.Phase.RoomMemberList) {
panel = <MemberList roomId={this.props.roomId} key={this.props.roomId} />;
} else if (this.props.groupId && this.state.phase == this.Phase.GroupMemberList) {
} else if (this.props.groupId && this.state.phase === this.Phase.GroupMemberList) {
panel = <GroupMemberList groupId={this.props.groupId} key={this.props.groupId} />;
} else if (this.state.phase === this.Phase.GroupRoomList) {
panel = <GroupRoomList groupId={this.props.groupId} key={this.props.groupId} />;
} else if (this.state.phase == this.Phase.RoomMemberInfo) {
} else if (this.state.phase === this.Phase.RoomMemberInfo) {
panel = <MemberInfo member={this.state.member} key={this.props.roomId || this.state.member.userId} />;
} else if (this.state.phase == this.Phase.GroupMemberInfo) {
} else if (this.state.phase === this.Phase.GroupMemberInfo) {
panel = <GroupMemberInfo
groupMember={this.state.member}
groupId={this.props.groupId}
key={this.state.member.user_id} />;
} else if (this.state.phase == this.Phase.GroupRoomInfo) {
} else if (this.state.phase === this.Phase.GroupRoomInfo) {
panel = <GroupRoomInfo
groupRoomId={this.state.groupRoomId}
groupId={this.props.groupId}
key={this.state.groupRoomId} />;
} else if (this.state.phase == this.Phase.NotificationPanel) {
} else if (this.state.phase === this.Phase.NotificationPanel) {
panel = <NotificationPanel />;
} else if (this.state.phase == this.Phase.FilePanel) {
} else if (this.state.phase === this.Phase.FilePanel) {
panel = <FilePanel roomId={this.props.roomId} />;
}
}
if (!panel) {
panel = <div className="mx_RightPanel_blank"></div>;
panel = <div className="mx_RightPanel_blank" />;
}
if (this.props.groupId && this.state.isUserPrivilegedInGroup) {
inviteGroup = isPhaseGroup ? (
<AccessibleButton className="mx_RightPanel_invite" onClick={ this.onInviteButtonClick } >
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteToGroupButtonClick}>
<div className="mx_RightPanel_icon" >
<TintableSvg src="img/icon-invite-people.svg" width="35" height="35" />
</div>
<div className="mx_RightPanel_message">{ _t('Invite to this community') }</div>
</AccessibleButton>
) : (
<AccessibleButton className="mx_RightPanel_invite" onClick={ this.onInviteButtonClick } >
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onAddRoomToGroupButtonClick}>
<div className="mx_RightPanel_icon" >
<TintableSvg src="img/icons-room-add.svg" width="35" height="35" />
</div>
@ -392,19 +402,16 @@ module.exports = React.createClass({
);
}
let classes = classNames(
"mx_RightPanel", "mx_fadable",
{
"collapsed": this.props.collapsed,
"mx_fadable_faded": this.props.disabled,
}
);
const classes = classNames("mx_RightPanel", "mx_fadable", {
"collapsed": this.props.collapsed,
"mx_fadable_faded": this.props.disabled,
});
return (
<aside className={classes}>
<div className="mx_RightPanel_header">
<div className="mx_RightPanel_headerButtonGroup">
{headerButtons}
{ headerButtons }
</div>
</div>
{ panel }

View File

@ -20,8 +20,8 @@ limitations under the License.
var React = require('react');
var ReactDOM = require('react-dom');
var classNames = require('classnames');
var DropTarget = require('react-dnd').DropTarget;
var sdk = require('matrix-react-sdk');
import { Droppable } from 'react-beautiful-dnd';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
var dis = require('matrix-react-sdk/lib/dispatcher');
var Unread = require('matrix-react-sdk/lib/Unread');
@ -32,36 +32,12 @@ var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/A
import Modal from 'matrix-react-sdk/lib/Modal';
import { KeyCode } from 'matrix-react-sdk/lib/Keyboard';
// turn this on for drop & drag console debugging galore
var debug = false;
const TRUNCATE_AT = 10;
var roomListTarget = {
canDrop: function() {
return true;
},
drop: function(props, monitor, component) {
if (debug) console.log("dropped on sublist")
},
hover: function(props, monitor, component) {
var item = monitor.getItem();
if (component.state.sortedList.length == 0 && props.editable) {
if (debug) console.log("hovering on sublist " + props.label + ", isOver=" + monitor.isOver());
if (item.targetList !== component) {
item.targetList.removeRoomTile(item.room);
item.targetList = component;
}
component.moveRoomTile(item.room, 0);
}
},
};
var RoomSubList = React.createClass({
displayName: 'RoomSubList',
@ -109,13 +85,22 @@ var RoomSubList = React.createClass({
},
componentWillMount: function() {
this.sortList(this.applySearchFilter(this.props.list, this.props.searchFilter), this.props.order);
this.setState({
sortedList: this.applySearchFilter(this.props.list, this.props.searchFilter),
});
this.dispatcherRef = dis.register(this.onAction);
},
componentWillUnmount: function() {
dis.unregister(this.dispatcherRef);
},
componentWillReceiveProps: function(newProps) {
// order the room list appropriately before we re-render
//if (debug) console.log("received new props, list = " + newProps.list);
this.sortList(this.applySearchFilter(newProps.list, newProps.searchFilter), newProps.order);
this.setState({
sortedList: this.applySearchFilter(newProps.list, newProps.searchFilter),
});
},
applySearchFilter: function(list, filter) {
@ -136,6 +121,21 @@ var RoomSubList = React.createClass({
}
},
onAction: function(payload) {
// XXX: Previously RoomList would forceUpdate whenever on_room_read is dispatched,
// but this is no longer true, so we must do it here (and can apply the small
// optimisation of checking that we care about the room being read).
//
// Ultimately we need to transition to a state pushing flow where something
// explicitly notifies the components concerned that the notif count for a room
// has change (e.g. a Flux store).
if (payload.action === 'on_room_read' &&
this.props.list.some((r) => r.roomId === payload.roomId)
) {
this.forceUpdate();
}
},
onClick: function(ev) {
if (this.isCollapsableOnClick()) {
// The header isCollapsable, so the click is to be interpreted as collapse and truncation logic
@ -163,71 +163,6 @@ var RoomSubList = React.createClass({
});
},
tsOfNewestEvent: function(room) {
for (var i = room.timeline.length - 1; i >= 0; --i) {
var ev = room.timeline[i];
if (ev.getTs() &&
(Unread.eventTriggersUnreadCount(ev) ||
(ev.getSender() === MatrixClientPeg.get().credentials.userId))
) {
return ev.getTs();
}
}
// we might only have events that don't trigger the unread indicator,
// in which case use the oldest event even if normally it wouldn't count.
// This is better than just assuming the last event was forever ago.
if (room.timeline.length && room.timeline[0].getTs()) {
return room.timeline[0].getTs();
} else {
return Number.MAX_SAFE_INTEGER;
}
},
// TODO: factor the comparators back out into a generic comparator
// so that view_prev_room and view_next_room can do the right thing
recentsComparator: function(roomA, roomB) {
return this.tsOfNewestEvent(roomB) - this.tsOfNewestEvent(roomA);
},
lexicographicalComparator: function(roomA, roomB) {
return roomA.name > roomB.name ? 1 : -1;
},
// Generates the manual comparator using the given list
manualComparator: function(roomA, roomB) {
if (!roomA.tags[this.props.tagName] || !roomB.tags[this.props.tagName]) return 0;
// Make sure the room tag has an order element, if not set it to be the bottom
var a = roomA.tags[this.props.tagName].order;
var b = roomB.tags[this.props.tagName].order;
// Order undefined room tag orders to the bottom
if (a === undefined && b !== undefined) {
return 1;
} else if (a !== undefined && b === undefined) {
return -1;
}
return a == b ? this.lexicographicalComparator(roomA, roomB) : ( a > b ? 1 : -1);
},
sortList: function(list, order) {
if (list === undefined) list = this.state.sortedList;
if (order === undefined) order = this.props.order;
var comparator;
list = list || [];
if (order === "manual") comparator = this.manualComparator;
if (order === "recent") comparator = this.recentsComparator;
// Fix undefined orders here, and make sure the backend gets updated as well
this._fixUndefinedOrder(list);
//if (debug) console.log("sorting list for sublist " + this.props.label + " with length " + list.length + ", this.props.list = " + this.props.list);
this.setState({ sortedList: list.sort(comparator) });
},
_shouldShowNotifBadge: function(roomNotifState) {
const showBadgeInStates = [RoomNotifs.ALL_MESSAGES, RoomNotifs.ALL_MESSAGES_LOUD];
return showBadgeInStates.indexOf(roomNotifState) > -1;
@ -278,119 +213,28 @@ var RoomSubList = React.createClass({
this.setState(this.state);
},
moveRoomTile: function(room, atIndex) {
if (debug) console.log("moveRoomTile: id " + room.roomId + ", atIndex " + atIndex);
//console.log("moveRoomTile before: " + JSON.stringify(this.state.rooms));
var found = this.findRoomTile(room);
var rooms = this.state.sortedList;
if (found.room) {
if (debug) console.log("removing at index " + found.index + " and adding at index " + atIndex);
rooms.splice(found.index, 1);
rooms.splice(atIndex, 0, found.room);
}
else {
if (debug) console.log("Adding at index " + atIndex);
rooms.splice(atIndex, 0, room);
}
this.setState({ sortedList: rooms });
// console.log("moveRoomTile after: " + JSON.stringify(this.state.rooms));
},
// XXX: this isn't invoked via a property method but indirectly via
// the roomList property method. Unsure how evil this is.
removeRoomTile: function(room) {
if (debug) console.log("remove room " + room.roomId);
var found = this.findRoomTile(room);
var rooms = this.state.sortedList;
if (found.room) {
rooms.splice(found.index, 1);
}
else {
console.warn("Can't remove room " + room.roomId + " - can't find it");
}
this.setState({ sortedList: rooms });
},
findRoomTile: function(room) {
var index = this.state.sortedList.indexOf(room);
if (index >= 0) {
// console.log("found: room: " + room.roomId + " with index " + index);
}
else {
if (debug) console.log("didn't find room");
room = null;
}
return ({
room: room,
index: index,
});
},
calcManualOrderTagData: function(room) {
const index = this.state.sortedList.indexOf(room);
// we sort rooms by the lexicographic ordering of the 'order' metadata on their tags.
// for convenience, we calculate this for now a floating point number between 0.0 and 1.0.
let orderA = 0.0; // by default we're next to the beginning of the list
if (index > 0) {
const prevTag = this.state.sortedList[index - 1].tags[this.props.tagName];
if (!prevTag) {
console.error("Previous room in sublist is not tagged to be in this list. This should never happen.");
} else if (prevTag.order === undefined) {
console.error("Previous room in sublist has no ordering metadata. This should never happen.");
} else {
orderA = prevTag.order;
}
}
let orderB = 1.0; // by default we're next to the end of the list too
if (index < this.state.sortedList.length - 1) {
const nextTag = this.state.sortedList[index + 1].tags[this.props.tagName];
if (!nextTag) {
console.error("Next room in sublist is not tagged to be in this list. This should never happen.");
} else if (nextTag.order === undefined) {
console.error("Next room in sublist has no ordering metadata. This should never happen.");
} else {
orderB = nextTag.order;
}
}
const order = (orderA + orderB) / 2.0;
if (order === orderA || order === orderB) {
console.error("Cannot describe new list position. This should be incredibly unlikely.");
this.state.sortedList.forEach((room, index) => {
MatrixClientPeg.get().setRoomTag(
room.roomId, this.props.tagName,
{order: index / this.state.sortedList.length},
);
});
return index / this.state.sortedList.length;
}
return order;
},
makeRoomTiles: function() {
var self = this;
var DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile");
return this.state.sortedList.map(function(room) {
// XXX: is it evil to pass in self as a prop to RoomTile?
return (
<DNDRoomTile
room={ room }
roomSubList={ self }
key={ room.roomId }
collapsed={ self.props.collapsed || false}
unread={ Unread.doesRoomHaveUnreadMessages(room) }
highlight={ room.getUnreadNotificationCount('highlight') > 0 || self.props.isInvite }
isInvite={ self.props.isInvite }
refreshSubList={ self._updateSubListCount }
incomingCall={ null }
onClick={ self.onRoomTileClick }
/>
);
const DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile");
const RoomTile = sdk.getComponent("rooms.RoomTile");
return this.state.sortedList.map((room, index) => {
// XXX: is it evil to pass in this as a prop to RoomTile? Yes.
// We should only use <DNDRoomTile /> when editable
const RoomTileComponent = this.props.editable ? DNDRoomTile : RoomTile;
return <RoomTileComponent
index={index} // For DND
room={room}
roomSubList={this}
tagName={this.props.tagName}
key={room.roomId}
collapsed={this.props.collapsed || false}
unread={Unread.doesRoomHaveUnreadMessages(room)}
highlight={room.getUnreadNotificationCount('highlight') > 0 || this.props.isInvite}
isInvite={this.props.isInvite}
refreshSubList={this._updateSubListCount}
incomingCall={null}
onClick={this.onRoomTileClick}
/>;
});
},
@ -496,47 +340,6 @@ var RoomSubList = React.createClass({
this.props.onHeaderClick(false);
},
// Fix any undefined order elements of a room in a manual ordered list
// room.tag[tagname].order
_fixUndefinedOrder: function(list) {
if (this.props.order === "manual") {
var order = 0.0;
var self = this;
// Find the highest (lowest position) order of a room in a manual ordered list
list.forEach(function(room) {
if (room.tags.hasOwnProperty(self.props.tagName)) {
if (order < room.tags[self.props.tagName].order) {
order = room.tags[self.props.tagName].order;
}
}
});
// Fix any undefined order elements of a room in a manual ordered list
// Do this one at a time, as each time a rooms tag data is updated the RoomList
// gets triggered and another list is passed in. Doing it one at a time means that
// we always correctly calculate the highest order for the list - stops multiple
// rooms getting the same order. This is only really relevant for the first time this
// is run with historical room tag data, after that there should only be undefined
// in the list at a time anyway.
for (let i = 0; i < list.length; i++) {
if (list[i].tags[self.props.tagName] && list[i].tags[self.props.tagName].order === undefined) {
MatrixClientPeg.get().setRoomTag(list[i].roomId, self.props.tagName, {order: (order + 1.0) / 2.0}).finally(function() {
// Do any final stuff here
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to add tag " + self.props.tagName + " to room" + err);
Modal.createTrackedDialog('Failed to add tag to room', '', ErrorDialog, {
title: _t('Failed to add tag %(tagName)s to room', {tagName: self.props.tagName}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
break;
};
};
}
},
render: function() {
var connectDropTarget = this.props.connectDropTarget;
var TruncatedList = sdk.getComponent('elements.TruncatedList');
@ -566,12 +369,22 @@ var RoomSubList = React.createClass({
</TruncatedList>;
}
return connectDropTarget(
<div>
{ this._getHeaderJsx() }
{ subList }
</div>
);
const subListContent = <div>
{ this._getHeaderJsx() }
{ subList }
</div>;
return this.props.editable ?
<Droppable
droppableId={"room-sub-list-droppable_" + this.props.tagName}
type="draggable-RoomTile"
>
{ (provided, snapshot) => (
<div ref={provided.innerRef}>
{ subListContent }
</div>
) }
</Droppable> : subListContent;
}
else {
var Loader = sdk.getComponent("elements.Spinner");
@ -585,11 +398,4 @@ var RoomSubList = React.createClass({
}
});
// Export the wrapped version, inlining the 'collect' functions
// to more closely resemble the ES7
module.exports =
DropTarget('RoomTile', roomListTarget, function(connect) {
return {
connectDropTarget: connect.dropTarget(),
}
})(RoomSubList);
module.exports = RoomSubList;

View File

@ -16,14 +16,17 @@ limitations under the License.
'use strict';
var React = require('react');
import React from 'react';
import PropTypes from 'prop-types';
import SyntaxHighlight from '../views/elements/SyntaxHighlight';
module.exports = React.createClass({
displayName: 'ViewSource',
propTypes: {
content: React.PropTypes.object.isRequired,
onFinished: React.PropTypes.func.isRequired,
content: PropTypes.object.isRequired,
onFinished: PropTypes.func.isRequired,
},
componentDidMount: function() {
@ -45,9 +48,9 @@ module.exports = React.createClass({
render: function() {
return (
<div className="mx_ViewSource">
<pre>
{JSON.stringify(this.props.content, null, 2)}
</pre>
<SyntaxHighlight className="json">
{ JSON.stringify(this.props.content, null, 2) }
</SyntaxHighlight>
</div>
);
}

View File

@ -0,0 +1,60 @@
/*
Copyright 2017 New Vector 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.
*/
'use strict';
import React from 'react';
import PropTypes from 'prop-types';
/*
* This component can be used to display generic HTML content in a contextual
* menu.
*/
export default class GenericElementContextMenu extends React.Component {
static PropTypes = {
element: PropTypes.element.isRequired,
// Function to be called when the parent window is resized
// This can be used to reposition or close the menu on resize and
// ensure that it is not displayed in a stale position.
onResize: PropTypes.func,
};
constructor(props) {
super(props);
this.resize = this.resize.bind(this);
}
componentDidMount() {
this.resize = this.resize.bind(this);
window.addEventListener("resize", this.resize);
}
componentWillUnmount() {
window.removeEventListener("resize", this.resize);
}
resize() {
if (this.props.onResize) {
this.props.onResize();
}
}
render() {
return <div>{ this.props.element }</div>;
}
}

View File

@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2018 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -16,15 +17,17 @@ limitations under the License.
'use strict';
const React = require('react');
import React from 'react';
const MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg');
const dis = require('matrix-react-sdk/lib/dispatcher');
const sdk = require('matrix-react-sdk');
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import dis from 'matrix-react-sdk/lib/dispatcher';
import sdk from 'matrix-react-sdk';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
const Modal = require('matrix-react-sdk/lib/Modal');
const Resend = require("matrix-react-sdk/lib/Resend");
import Modal from 'matrix-react-sdk/lib/Modal';
import Resend from "matrix-react-sdk/lib/Resend";
import SettingsStore from "matrix-react-sdk/lib/settings/SettingsStore";
import {makeEventPermalink} from 'matrix-react-sdk/lib/matrix-to';
import { isUrlPermitted } from 'matrix-react-sdk/lib/HtmlUtils';
module.exports = React.createClass({
displayName: 'MessageContextMenu',
@ -107,15 +110,14 @@ module.exports = React.createClass({
onFinished: (proceed) => {
if (!proceed) return;
MatrixClientPeg.get().redactEvent(
this.props.mxEvent.getRoomId(), this.props.mxEvent.getId()
).catch(function(e) {
const cli = MatrixClientPeg.get();
cli.redactEvent(this.props.mxEvent.getRoomId(), this.props.mxEvent.getId()).catch(function(e) {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
// display error message stating you couldn't delete this.
const code = e.errcode || e.statusCode;
Modal.createTrackedDialog('You cannot delete this message', '', ErrorDialog, {
title: _t('Error'),
description: _t('You cannot delete this message. (%(code)s)', {code: code})
description: _t('You cannot delete this message. (%(code)s)', {code}),
});
}).done();
},
@ -138,12 +140,12 @@ module.exports = React.createClass({
onPinClick: function() {
MatrixClientPeg.get().getStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', '')
.catch(e => {
.catch((e) => {
// Intercept the Event Not Found error and fall through the promise chain with no event.
if (e.errcode === "M_NOT_FOUND") return null;
throw e;
})
.then(event => {
.then((event) => {
const eventIds = (event ? event.pinned : []) || [];
if (!eventIds.includes(this.props.mxEvent.getId())) {
// Not pinned - add
@ -153,7 +155,8 @@ module.exports = React.createClass({
eventIds.splice(eventIds.indexOf(this.props.mxEvent.getId()), 1);
}
MatrixClientPeg.get().sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, '');
const cli = MatrixClientPeg.get();
cli.sendStateEvent(this.props.mxEvent.getRoomId(), 'm.room.pinned_events', {pinned: eventIds}, '');
});
this.closeMenu();
},
@ -177,6 +180,14 @@ module.exports = React.createClass({
this.closeMenu();
},
onReplyClick: function() {
dis.dispatch({
action: 'quote_event',
event: this.props.mxEvent,
});
this.closeMenu();
},
render: function() {
const eventStatus = this.props.mxEvent.status;
let resendButton;
@ -184,12 +195,11 @@ module.exports = React.createClass({
let cancelButton;
let forwardButton;
let pinButton;
let viewSourceButton;
let viewClearSourceButton;
let unhidePreviewButton;
let permalinkButton;
let externalURLButton;
let quoteButton;
let replyButton;
if (eventStatus === 'not_sent') {
resendButton = (
@ -224,17 +234,25 @@ module.exports = React.createClass({
</div>
);
if (SettingsStore.isFeatureEnabled("feature_rich_quoting")) {
replyButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onReplyClick}>
{ _t('Reply') }
</div>
);
}
if (this.state.canPin) {
pinButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onPinClick}>
{this._isPinned() ? _t('Unpin Message') : _t('Pin Message')}
{ this._isPinned() ? _t('Unpin Message') : _t('Pin Message') }
</div>
);
}
}
}
viewSourceButton = (
const viewSourceButton = (
<div className="mx_MessageContextMenu_field" onClick={this.onViewSourceClick}>
{ _t('View Source') }
</div>
@ -259,10 +277,10 @@ module.exports = React.createClass({
}
// XXX: if we use room ID, we should also include a server where the event can be found (other than in the domain of the event ID)
permalinkButton = (
const permalinkButton = (
<div className="mx_MessageContextMenu_field">
<a href={ "https://matrix.to/#/" + this.props.mxEvent.getRoomId() +"/"+ this.props.mxEvent.getId() }
target="_blank" rel="noopener" onClick={ this.closeMenu }>{ _t('Permalink') }</a>
<a href={makeEventPermalink(this.props.mxEvent.getRoomId(), this.props.mxEvent.getId())}
target="_blank" rel="noopener" onClick={this.closeMenu}>{ _t('Permalink') }</a>
</div>
);
@ -275,29 +293,33 @@ module.exports = React.createClass({
}
// Bridges can provide a 'external_url' to link back to the source.
if( typeof(this.props.mxEvent.event.content.external_url) === "string") {
externalURLButton = (
<div className="mx_MessageContextMenu_field">
<a href={ this.props.mxEvent.event.content.external_url }
rel="noopener" target="_blank" onClick={ this.closeMenu }>{ _t('Source URL') }</a>
</div>
if (
typeof(this.props.mxEvent.event.content.external_url) === "string" &&
isUrlPermitted(this.props.mxEvent.event.content.external_url)
) {
externalURLButton = (
<div className="mx_MessageContextMenu_field">
<a href={this.props.mxEvent.event.content.external_url}
rel="noopener" target="_blank" onClick={this.closeMenu}>{ _t('Source URL') }</a>
</div>
);
}
return (
<div>
{resendButton}
{redactButton}
{cancelButton}
{forwardButton}
{pinButton}
{viewSourceButton}
{viewClearSourceButton}
{unhidePreviewButton}
{permalinkButton}
{quoteButton}
{externalURLButton}
{ resendButton }
{ redactButton }
{ cancelButton }
{ forwardButton }
{ pinButton }
{ viewSourceButton }
{ viewClearSourceButton }
{ unhidePreviewButton }
{ permalinkButton }
{ quoteButton }
{ replyButton }
{ externalURLButton }
</div>
);
},

View File

@ -20,6 +20,7 @@ limitations under the License.
import Promise from 'bluebird';
import React from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import sdk from 'matrix-react-sdk';
import { _t, _td } from 'matrix-react-sdk/lib/languageHandler';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
@ -28,14 +29,15 @@ import DMRoomMap from 'matrix-react-sdk/lib/utils/DMRoomMap';
import * as Rooms from 'matrix-react-sdk/lib/Rooms';
import * as RoomNotifs from 'matrix-react-sdk/lib/RoomNotifs';
import Modal from 'matrix-react-sdk/lib/Modal';
import RoomListActions from 'matrix-react-sdk/lib/actions/RoomListActions';
module.exports = React.createClass({
displayName: 'RoomTileContextMenu',
propTypes: {
room: React.PropTypes.object.isRequired,
room: PropTypes.object.isRequired,
/* callback called when the menu is dismissed */
onFinished: React.PropTypes.func,
onFinished: PropTypes.func,
},
getInitialState() {
@ -45,7 +47,7 @@ module.exports = React.createClass({
isFavourite: this.props.room.tags.hasOwnProperty("m.favourite"),
isLowPriority: this.props.room.tags.hasOwnProperty("m.lowpriority"),
isDirectMessage: Boolean(dmRoomMap.getUserIdForRoomId(this.props.room.roomId)),
}
};
},
componentWillMount: function() {
@ -57,42 +59,16 @@ module.exports = React.createClass({
},
_toggleTag: function(tagNameOn, tagNameOff) {
var self = this;
const roomId = this.props.room.roomId;
var cli = MatrixClientPeg.get();
if (!cli.isGuest()) {
Promise.delay(500).then(function() {
if (tagNameOff !== null && tagNameOff !== undefined) {
cli.deleteRoomTag(roomId, tagNameOff).finally(function() {
// Close the context menu
if (self.props.onFinished) {
self.props.onFinished();
};
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to remove tag from room 1', '', ErrorDialog, {
title: _t('Failed to remove tag %(tagName)s from room', {tagName: tagNameOff}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
if (!MatrixClientPeg.get().isGuest()) {
Promise.delay(500).then(() => {
dis.dispatch(RoomListActions.tagRoom(
MatrixClientPeg.get(),
this.props.room,
tagNameOff, tagNameOn,
undefined, 0,
), true);
if (tagNameOn !== null && tagNameOn !== undefined) {
// If the tag ordering meta data is required, it is added by
// the RoomSubList when it sorts its rooms
cli.setRoomTag(roomId, tagNameOn, {}).finally(function() {
// Close the context menu
if (self.props.onFinished) {
self.props.onFinished();
};
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to remove tag from room 2', '', ErrorDialog, {
title: _t('Failed to remove tag %(tagName)s from room', {tagName: tagNameOn}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
this.props.onFinished();
});
}
},
@ -132,22 +108,22 @@ module.exports = React.createClass({
},
_onClickDM: function() {
if (MatrixClientPeg.get().isGuest()) return;
const newIsDirectMessage = !this.state.isDirectMessage;
this.setState({
isDirectMessage: newIsDirectMessage,
});
if (MatrixClientPeg.get().isGuest()) return;
Rooms.guessAndSetDMRoom(
this.props.room, newIsDirectMessage
this.props.room, newIsDirectMessage,
).delay(500).finally(() => {
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
}, (err) => {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to set Direct Message status of room', '', ErrorDialog, {
title: _t('Failed to set Direct Message status of room'),
description: ((err && err.message) ? err.message : _t('Operation failed')),
@ -165,7 +141,7 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
},
_onClickReject: function() {
@ -177,7 +153,7 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
},
_onClickForget: function() {
@ -185,8 +161,8 @@ module.exports = React.createClass({
MatrixClientPeg.get().forget(this.props.room.roomId).done(function() {
dis.dispatch({ action: 'view_next_room' });
}, function(err) {
var errCode = err.errcode || _td("unknown error code");
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
const errCode = err.errcode || _td("unknown error code");
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Failed to forget room', '', ErrorDialog, {
title: _t('Failed to forget room %(errCode)s', {errCode: errCode}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
@ -196,20 +172,19 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
},
_saveNotifState: function(newState) {
if (MatrixClientPeg.get().isGuest()) return;
const oldState = this.state.roomNotifState;
const roomId = this.props.room.roomId;
var cli = MatrixClientPeg.get();
if (cli.isGuest()) return;
this.setState({
roomNotifState: newState,
});
RoomNotifs.setRoomNotifsState(this.props.room.roomId, newState).done(() => {
RoomNotifs.setRoomNotifsState(roomId, newState).done(() => {
// delay slightly so that the user can see their state change
// before closing the menu
return Promise.delay(500).then(() => {
@ -217,7 +192,7 @@ module.exports = React.createClass({
// Close the context menu
if (this.props.onFinished) {
this.props.onFinished();
};
}
});
}, (error) => {
// TODO: some form of error notification to the user
@ -247,22 +222,22 @@ module.exports = React.createClass({
},
_renderNotifMenu: function() {
var alertMeClasses = classNames({
const alertMeClasses = classNames({
'mx_RoomTileContextMenu_notif_field': true,
'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.ALL_MESSAGES_LOUD,
});
var allNotifsClasses = classNames({
const allNotifsClasses = classNames({
'mx_RoomTileContextMenu_notif_field': true,
'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.ALL_MESSAGES,
});
var mentionsClasses = classNames({
const mentionsClasses = classNames({
'mx_RoomTileContextMenu_notif_field': true,
'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.MENTIONS_ONLY,
});
var muteNotifsClasses = classNames({
const muteNotifsClasses = classNames({
'mx_RoomTileContextMenu_notif_field': true,
'mx_RoomTileContextMenu_notif_fieldSet': this.state.roomNotifState == RoomNotifs.MUTE,
});
@ -272,22 +247,22 @@ module.exports = React.createClass({
<div className="mx_RoomTileContextMenu_notif_picker" >
<img src="img/notif-slider.svg" width="20" height="107" />
</div>
<div className={ alertMeClasses } onClick={this._onClickAlertMe} >
<div className={alertMeClasses} onClick={this._onClickAlertMe} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute-off-copy.svg" width="16" height="12" />
{ _t('All messages (loud)') }
{ _t('All messages (noisy)') }
</div>
<div className={ allNotifsClasses } onClick={this._onClickAllNotifs} >
<div className={allNotifsClasses} onClick={this._onClickAllNotifs} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute-off.svg" width="16" height="12" />
{ _t('All messages') }
</div>
<div className={ mentionsClasses } onClick={this._onClickMentions} >
<div className={mentionsClasses} onClick={this._onClickMentions} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute-mentions.svg" width="16" height="12" />
{ _t('Mentions only') }
</div>
<div className={ muteNotifsClasses } onClick={this._onClickMute} >
<div className={muteNotifsClasses} onClick={this._onClickMute} >
<img className="mx_RoomTileContextMenu_notif_activeIcon" src="img/notif-active.svg" width="12" height="12" />
<img className="mx_RoomTileContextMenu_notif_icon mx_filterFlipColor" src="img/icon-context-mute.svg" width="16" height="12" />
{ _t('Mute') }
@ -322,7 +297,7 @@ module.exports = React.createClass({
return (
<div>
<div className="mx_RoomTileContextMenu_leave" onClick={ leaveClickHandler } >
<div className="mx_RoomTileContextMenu_leave" onClick={leaveClickHandler} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_delete.svg" width="15" height="15" />
{ leaveText }
</div>
@ -351,17 +326,17 @@ module.exports = React.createClass({
return (
<div>
<div className={ favouriteClasses } onClick={this._onClickFavourite} >
<div className={favouriteClasses} onClick={this._onClickFavourite} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_fave.svg" width="15" height="15" />
<img className="mx_RoomTileContextMenu_tag_icon_set" src="img/icon_context_fave_on.svg" width="15" height="15" />
{ _t('Favourite') }
</div>
<div className={ lowPriorityClasses } onClick={this._onClickLowPriority} >
<div className={lowPriorityClasses} onClick={this._onClickLowPriority} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_low.svg" width="15" height="15" />
<img className="mx_RoomTileContextMenu_tag_icon_set" src="img/icon_context_low_on.svg" width="15" height="15" />
{ _t('Low Priority') }
</div>
<div className={ dmClasses } onClick={this._onClickDM} >
<div className={dmClasses} onClick={this._onClickDM} >
<img className="mx_RoomTileContextMenu_tag_icon" src="img/icon_context_person.svg" width="15" height="15" />
<img className="mx_RoomTileContextMenu_tag_icon_set" src="img/icon_context_person_on.svg" width="15" height="15" />
{ _t('Direct Chat') }
@ -372,7 +347,7 @@ module.exports = React.createClass({
render: function() {
const myMember = this.props.room.getMember(
MatrixClientPeg.get().credentials.userId
MatrixClientPeg.get().credentials.userId,
);
// Can't set notif level or tags on non-join rooms
@ -389,5 +364,5 @@ module.exports = React.createClass({
{ this._renderRoomTagMenu() }
</div>
);
}
},
});

View File

@ -0,0 +1,75 @@
/*
Copyright 2018 New Vector 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 React from 'react';
import PropTypes from 'prop-types';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import dis from 'matrix-react-sdk/lib/dispatcher';
import TagOrderActions from 'matrix-react-sdk/lib/actions/TagOrderActions';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import sdk from 'matrix-react-sdk/lib/index';
export default class TagTileContextMenu extends React.Component {
static propTypes = {
tag: PropTypes.string.isRequired,
/* callback called when the menu is dismissed */
onFinished: PropTypes.func.isRequired,
};
constructor() {
super();
this._onViewCommunityClick = this._onViewCommunityClick.bind(this);
this._onRemoveClick = this._onRemoveClick.bind(this);
}
_onViewCommunityClick() {
dis.dispatch({
action: 'view_group',
group_id: this.props.tag,
});
this.props.onFinished();
}
_onRemoveClick() {
dis.dispatch(TagOrderActions.removeTag(
// XXX: Context menus don't have a MatrixClient context
MatrixClientPeg.get(),
this.props.tag,
));
this.props.onFinished();
}
render() {
const TintableSvg = sdk.getComponent("elements.TintableSvg");
return <div>
<div className="mx_TagTileContextMenu_item" onClick={this._onViewCommunityClick} >
<TintableSvg
className="mx_TagTileContextMenu_item_icon"
src="img/icons-groups.svg"
width="15"
height="15"
/>
{ _t('View Community') }
</div>
<hr className="mx_TagTileContextMenu_separator" />
<div className="mx_TagTileContextMenu_item" onClick={this._onRemoveClick} >
<img className="mx_TagTileContextMenu_item_icon" src="img/icon_context_delete.svg" width="15" height="15" />
{ _t('Remove') }
</div>
</div>;
}
}

View File

@ -27,6 +27,7 @@ export default class BugReportDialog extends React.Component {
sendLogs: true,
busy: false,
err: null,
issueUrl: "",
text: "",
progress: null,
};
@ -34,6 +35,7 @@ export default class BugReportDialog extends React.Component {
this._onSubmit = this._onSubmit.bind(this);
this._onCancel = this._onCancel.bind(this);
this._onTextChange = this._onTextChange.bind(this);
this._onIssueUrlChange = this._onIssueUrlChange.bind(this);
this._onSendLogsChange = this._onSendLogsChange.bind(this);
this._sendProgressCallback = this._sendProgressCallback.bind(this);
}
@ -47,28 +49,24 @@ export default class BugReportDialog extends React.Component {
}
_onSubmit(ev) {
const sendLogs = this.state.sendLogs;
const userText = this.state.text;
if (!sendLogs && userText.trim().length === 0) {
this.setState({
err: _t("Please describe the bug and/or send logs."),
});
return;
}
const userText =
(this.state.text.length > 0 ? this.state.text + '\n\n': '') + 'Issue: ' +
(this.state.issueUrl.length > 0 ? this.state.issueUrl : 'No issue link given');
this.setState({ busy: true, progress: null, err: null });
this._sendProgressCallback(_t("Loading bug report module"));
this._sendProgressCallback(_t("Preparing to send logs"));
require(['../../../vector/submit-rageshake'], (s) => {
s(SdkConfig.get().bug_report_endpoint_url, {
userText: userText,
sendLogs: sendLogs,
userText,
sendLogs: true,
progressCallback: this._sendProgressCallback,
}).then(() => {
if (!this._unmounted) {
this.props.onFinished(false);
const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
Modal.createTrackedDialog('Bug report sent', '', QuestionDialog, {
title: _t('Bug report sent'),
title: _t('Logs sent'),
description: _t('Thank you!'),
hasCancelButton: false,
});
@ -78,7 +76,7 @@ export default class BugReportDialog extends React.Component {
this.setState({
busy: false,
progress: null,
err: _t("Failed to send report: ") + `${err.message}`,
err: _t("Failed to send logs: ") + `${err.message}`,
});
}
});
@ -89,7 +87,11 @@ export default class BugReportDialog extends React.Component {
this.setState({ text: ev.target.value });
}
_onSendLogsChange(ev) {
_onIssueUrlChange(ev) {
this.setState({ issueUrl: ev.target.value });
}
_onSendLogsChange(ev) {
this.setState({ sendLogs: ev.target.checked });
}
@ -130,27 +132,61 @@ export default class BugReportDialog extends React.Component {
return (
<div className="mx_BugReportDialog">
<div className="mx_Dialog_title">
{ _t("Report a bug") }
{ _t("Submit debug logs") }
</div>
<div className="mx_Dialog_content">
<p>
{ _t("Please describe the bug. What did you do? What did you expect to happen? What actually happened?") }
{ _t(
"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.",
) }
</p>
<textarea
className="mx_BugReportDialog_input"
rows={5}
onChange={this._onTextChange}
value={this.state.text}
placeholder={_t("Describe your problem here.")}
/>
<p>
{ _t("In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:") }
{ _t(
"<a>Click here</a> to create a GitHub issue.",
{},
{
a: (sub) => <a
target="_blank"
href="https://github.com/vector-im/riot-web/issues/new"
>
{ sub }
</a>,
},
) }
</p>
<input type="checkbox" checked={this.state.sendLogs}
onChange={this._onSendLogsChange} id="mx_BugReportDialog_logs"/>
<label htmlFor="mx_BugReportDialog_logs">
{ _t("Send logs") }
</label>
<div className="mx_BugReportDialog_field_container">
<label
htmlFor="mx_BugReportDialog_issueUrl"
className="mx_BugReportDialog_field_label"
>
{ _t("GitHub issue link:") }
</label>
<input
id="mx_BugReportDialog_issueUrl"
type="text"
className="mx_BugReportDialog_field_input"
onChange={this._onIssueUrlChange}
value={this.state.issueUrl}
placeholder="https://github.com/vector-im/riot-web/issues/1337"
/>
</div>
<div className="mx_BugReportDialog_field_container">
<label
htmlFor="mx_BugReportDialog_notes_label"
className="mx_BugReportDialog_field_label"
>
{ _t("Notes:") }
</label>
<textarea
className="mx_BugReportDialog_field_input"
rows={5}
onChange={this._onTextChange}
value={this.state.text}
/>
</div>
{progress}
{error}
</div>
@ -161,7 +197,7 @@ export default class BugReportDialog extends React.Component {
autoFocus={true}
disabled={this.state.busy}
>
{ _t("Send") }
{ _t("Send logs") }
</button>
{cancelButton}

View File

@ -19,7 +19,7 @@ import sdk from 'matrix-react-sdk';
import request from 'browser-request';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
const REPOS = ['vector-im/vector-web', 'matrix-org/matrix-react-sdk', 'matrix-org/matrix-js-sdk'];
const REPOS = ['vector-im/riot-web', 'matrix-org/matrix-react-sdk', 'matrix-org/matrix-js-sdk'];
export default class ChangelogDialog extends React.Component {
constructor(props) {

View File

@ -17,6 +17,7 @@ limitations under the License.
import React from 'react';
import PropTypes from 'prop-types';
import sdk from 'matrix-react-sdk';
import SyntaxHighlight from '../elements/SyntaxHighlight';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
@ -244,24 +245,22 @@ class SendAccountData extends GenericEditor {
class FilteredList extends React.Component {
static propTypes = {
children: PropTypes.any,
query: PropTypes.string,
onChange: PropTypes.func,
};
constructor(props, context) {
super(props, context);
this.onQuery = this.onQuery.bind(this);
this.state = {
query: '',
};
}
onQuery(ev) {
this.setState({ query: ev.target.value });
if (this.props.onChange) this.props.onChange(ev.target.value);
}
filterChildren() {
if (this.state.query) {
const lowerQuery = this.state.query.toLowerCase();
if (this.props.query) {
const lowerQuery = this.props.query.toLowerCase();
return this.props.children.filter((child) => child.key.toLowerCase().includes(lowerQuery));
}
return this.props.children;
@ -271,7 +270,7 @@ class FilteredList extends React.Component {
return <div>
<input size="64"
onChange={this.onQuery}
value={this.state.query}
value={this.props.query}
placeholder={_t('Filter results')}
className="mx_TextInputDialog_input mx_DevTools_RoomStateExplorer_query" />
{ this.filterChildren() }
@ -295,11 +294,16 @@ class RoomStateExplorer extends DevtoolsComponent {
this.onBack = this.onBack.bind(this);
this.editEv = this.editEv.bind(this);
this.onQueryEventType = this.onQueryEventType.bind(this);
this.onQueryStateKey = this.onQueryStateKey.bind(this);
this.state = {
eventType: null,
event: null,
editing: false,
queryEventType: '',
queryStateKey: '',
};
}
@ -331,6 +335,14 @@ class RoomStateExplorer extends DevtoolsComponent {
this.setState({ editing: true });
}
onQueryEventType(filterEventType) {
this.setState({ queryEventType: filterEventType });
}
onQueryStateKey(filterStateKey) {
this.setState({ queryStateKey: filterStateKey });
}
render() {
if (this.state.event) {
if (this.state.editing) {
@ -343,7 +355,9 @@ class RoomStateExplorer extends DevtoolsComponent {
return <div className="mx_ViewSource">
<div className="mx_Dialog_content">
<pre>{ JSON.stringify(this.state.event.event, null, 2) }</pre>
<SyntaxHighlight className="json">
{ JSON.stringify(this.state.event.event, null, 2) }
</SyntaxHighlight>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
@ -352,41 +366,47 @@ class RoomStateExplorer extends DevtoolsComponent {
</div>;
}
const rows = [];
let list = null;
const classes = 'mx_DevTools_RoomStateExplorer_button';
if (this.state.eventType === null) {
Object.keys(this.roomStateEvents).forEach((evType) => {
const stateGroup = this.roomStateEvents[evType];
const stateKeys = Object.keys(stateGroup);
list = <FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}>
{
Object.keys(this.roomStateEvents).map((evType) => {
const stateGroup = this.roomStateEvents[evType];
const stateKeys = Object.keys(stateGroup);
let onClickFn;
if (stateKeys.length > 1) {
onClickFn = this.browseEventType(evType);
} else if (stateKeys.length === 1) {
onClickFn = this.onViewSourceClick(stateGroup[stateKeys[0]]);
let onClickFn;
if (stateKeys.length > 1) {
onClickFn = this.browseEventType(evType);
} else if (stateKeys.length === 1) {
onClickFn = this.onViewSourceClick(stateGroup[stateKeys[0]]);
}
return <button className={classes} key={evType} onClick={onClickFn}>
{ evType }
</button>;
})
}
rows.push(<button className={classes} key={evType} onClick={onClickFn}>
{ evType }
</button>);
});
</FilteredList>;
} else {
const evType = this.state.eventType;
const stateGroup = this.roomStateEvents[evType];
Object.keys(stateGroup).forEach((stateKey) => {
const ev = stateGroup[stateKey];
rows.push(<button className={classes} key={stateKey} onClick={this.onViewSourceClick(ev)}>
{ stateKey }
</button>);
});
const stateGroup = this.roomStateEvents[this.state.eventType];
list = <FilteredList query={this.state.queryStateKey} onChange={this.onQueryStateKey}>
{
Object.keys(stateGroup).map((stateKey) => {
const ev = stateGroup[stateKey];
return <button className={classes} key={stateKey} onClick={this.onViewSourceClick(ev)}>
{ stateKey }
</button>;
})
}
</FilteredList>;
}
return <div>
<div className="mx_Dialog_content">
<FilteredList>
{ rows }
</FilteredList>
{ list }
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
@ -408,11 +428,14 @@ class AccountDataExplorer extends DevtoolsComponent {
this.onBack = this.onBack.bind(this);
this.editEv = this.editEv.bind(this);
this._onChange = this._onChange.bind(this);
this.onQueryEventType = this.onQueryEventType.bind(this);
this.state = {
isRoomAccountData: false,
event: null,
editing: false,
queryEventType: '',
};
}
@ -448,6 +471,10 @@ class AccountDataExplorer extends DevtoolsComponent {
this.setState({ editing: true });
}
onQueryEventType(queryEventType) {
this.setState({ queryEventType });
}
render() {
if (this.state.event) {
if (this.state.editing) {
@ -459,7 +486,9 @@ class AccountDataExplorer extends DevtoolsComponent {
return <div className="mx_ViewSource">
<div className="mx_Dialog_content">
<pre>{ JSON.stringify(this.state.event.event, null, 2) }</pre>
<SyntaxHighlight className="json">
{ JSON.stringify(this.state.event.event, null, 2) }
</SyntaxHighlight>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.onBack}>{ _t('Back') }</button>
@ -482,7 +511,7 @@ class AccountDataExplorer extends DevtoolsComponent {
return <div>
<div className="mx_Dialog_content">
<FilteredList>
<FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}>
{ rows }
</FilteredList>
</div>

View File

@ -20,7 +20,7 @@ var React = require('react');
var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg');
var DateUtils = require('matrix-react-sdk/lib/DateUtils');
import {formatDate} from 'matrix-react-sdk/lib/DateUtils';
var filesize = require('filesize');
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
const Modal = require('matrix-react-sdk/lib/Modal');
@ -159,7 +159,7 @@ module.exports = React.createClass({
}
eventMeta = (<div className="mx_ImageView_metadata">
{ _t('Uploaded on %(date)s by %(user)s', {date: DateUtils.formatDate(new Date(this.props.mxEvent.getTs())), user: sender}) }
{ _t('Uploaded on %(date)s by %(user)s', {date: formatDate(new Date(this.props.mxEvent.getTs())), user: sender}) }
</div>);
}

View File

@ -0,0 +1,53 @@
/*
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
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 {highlightBlock} from 'highlight.js';
export default class SyntaxHighlight extends React.Component {
static propTypes = {
className: PropTypes.string,
children: PropTypes.node,
};
constructor(props, context) {
super(props, context);
this._ref = this._ref.bind(this);
}
// componentDidUpdate used here for reusability
// componentWillReceiveProps fires too early to call highlightBlock on.
componentDidUpdate() {
if (this._el) highlightBlock(this._el);
}
// call componentDidUpdate because _ref is fired on initial render
// which does not fire componentDidUpdate
_ref(el) {
this._el = el;
this.componentDidUpdate();
}
render() {
const { className, children } = this.props;
return <pre className={`${className} mx_SyntaxHighlight`} ref={this._ref}>
<code>{ children }</code>
</pre>;
}
}

View File

@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2018 Michael Telatynski <7t3chguy@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,8 +16,9 @@ limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import DateUtils from 'matrix-react-sdk/lib/DateUtils';
import {formatFullDateNoTime} from 'matrix-react-sdk/lib/DateUtils';
function getdaysArray() {
return [
@ -30,30 +32,30 @@ function getdaysArray() {
];
}
module.exports = React.createClass({
displayName: 'DateSeparator',
render: function() {
var date = new Date(this.props.ts);
var today = new Date();
var yesterday = new Date();
var days = getdaysArray();
yesterday.setDate(today.getDate() - 1);
var label;
if (date.toDateString() === today.toDateString()) {
label = _t('Today');
}
else if (date.toDateString() === yesterday.toDateString()) {
label = _t('Yesterday');
}
else if (today.getTime() - date.getTime() < 6 * 24 * 60 * 60 * 1000) {
label = days[date.getDay()];
}
else {
label = DateUtils.formatFullDate(date, this.props.showTwelveHour);
}
export default class DateSeparator extends React.Component {
static propTypes = {
ts: PropTypes.number.isRequired,
};
return (
<h2 className="mx_DateSeparator">{ label }</h2>
);
getLabel() {
const date = new Date(this.props.ts);
const today = new Date();
const yesterday = new Date();
const days = getdaysArray();
yesterday.setDate(today.getDate() - 1);
if (date.toDateString() === today.toDateString()) {
return _t('Today');
} else if (date.toDateString() === yesterday.toDateString()) {
return _t('Yesterday');
} else if (today.getTime() - date.getTime() < 6 * 24 * 60 * 60 * 1000) {
return days[date.getDay()];
} else {
return formatFullDateNoTime(date);
}
}
});
render() {
return <h2 className="mx_DateSeparator">{ this.getLabel() }</h2>;
}
}

View File

@ -1,5 +1,6 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2018 Michael Telatynski <7t3chguy@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -14,24 +15,22 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
'use strict';
import React from 'react';
import DateUtils from 'matrix-react-sdk/lib/DateUtils';
import PropTypes from 'prop-types';
import {formatFullDate, formatTime} from 'matrix-react-sdk/lib/DateUtils';
module.exports = React.createClass({
displayName: 'MessageTimestamp',
export default class MessageTimestamp extends React.Component {
static propTypes = {
ts: PropTypes.number.isRequired,
showTwelveHour: PropTypes.bool,
};
propTypes: {
showTwelveHour: React.PropTypes.bool,
},
render: function() {
render() {
const date = new Date(this.props.ts);
return (
<span className="mx_MessageTimestamp" title={ DateUtils.formatFullDate(date, this.props.showTwelveHour) }>
{ DateUtils.formatTime(date, this.props.showTwelveHour) }
<span className="mx_MessageTimestamp" title={formatFullDate(date, this.props.showTwelveHour)}>
{ formatTime(date, this.props.showTwelveHour) }
</span>
);
},
});
}
}

View File

@ -14,227 +14,52 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
'use strict';
import React from 'react';
import {DragSource} from 'react-dnd';
import {DropTarget} from 'react-dnd';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import sdk from 'matrix-react-sdk';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import { Draggable } from 'react-beautiful-dnd';
import RoomTile from 'matrix-react-sdk/lib/components/views/rooms/RoomTile';
import * as Rooms from 'matrix-react-sdk/lib/Rooms';
import Modal from 'matrix-react-sdk/lib/Modal';
/**
* Defines a new Component, DNDRoomTile that wraps RoomTile, making it draggable.
* Requires extra props:
* roomSubList: React.PropTypes.object.isRequired,
* refreshSubList: React.PropTypes.func.isRequired,
*/
import classNames from 'classnames';
/**
* Specifies the drag source contract.
* Only `beginDrag` function is required.
*/
var roomTileSource = {
canDrag: function(props, monitor) {
return props.roomSubList.props.editable;
},
beginDrag: function (props) {
// Return the data describing the dragged item
var item = {
room: props.room,
originalList: props.roomSubList,
originalIndex: props.roomSubList.findRoomTile(props.room).index,
targetList: props.roomSubList, // at first target is same as original
// lastTargetRoom: null,
// lastYOffset: null,
// lastYDelta: null,
};
if (props.roomSubList.debug) console.log("roomTile beginDrag for " + item.room.roomId);
// doing this 'correctly' with state causes react-dnd to break seemingly due to the state transitions
props.room._dragging = true;
return item;
},
endDrag: function (props, monitor, component) {
var item = monitor.getItem();
if (props.roomSubList.debug) console.log("roomTile endDrag for " + item.room.roomId + " with didDrop=" + monitor.didDrop());
props.room._dragging = false;
if (monitor.didDrop()) {
if (props.roomSubList.debug) console.log("force updating component " + item.targetList.props.label);
item.targetList.forceUpdate(); // as we're not using state
}
const prevTag = item.originalList.props.tagName;
const newTag = item.targetList.props.tagName;
if (monitor.didDrop() && item.targetList.props.editable) {
// Evil hack to get DMs behaving
if ((prevTag === undefined && newTag === 'im.vector.fake.direct') ||
(prevTag === 'im.vector.fake.direct' && newTag === undefined)
) {
Rooms.guessAndSetDMRoom(
item.room, newTag === 'im.vector.fake.direct',
).done(() => {
item.originalList.removeRoomTile(item.room);
}, (err) => {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to set direct chat tag " + err);
Modal.createTrackedDialog('Failed to set direct chat tag', '', ErrorDialog, {
title: _t('Failed to set direct chat tag'),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
return;
}
// 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`.
// if we moved lists, remove the old tag
if (prevTag && prevTag !== 'im.vector.fake.direct' &&
item.targetList !== item.originalList
) {
// commented out attempts to set a spinner on our target component as component is actually
// the original source component being dragged, not our target. To fix we just need to
// move all of this to endDrop in the target instead. FIXME later.
//component.state.set({ spinner: component.state.spinner ? component.state.spinner++ : 1 });
MatrixClientPeg.get().deleteRoomTag(item.room.roomId, prevTag).finally(function() {
//component.state.set({ spinner: component.state.spinner-- });
}).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to remove tag " + prevTag + " from room: " + err);
Modal.createTrackedDialog('Failed to remove tag from room', '', ErrorDialog, {
title: _t('Failed to remove tag %(tagName)s from room', {tagName: prevTag}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
var newOrder= {};
if (item.targetList.props.order === 'manual') {
newOrder['order'] = item.targetList.calcManualOrderTagData(item.room);
}
// if we moved lists or the ordering changed, add the new tag
if (newTag && newTag !== 'im.vector.fake.direct' &&
(item.targetList !== item.originalList || newOrder)
) {
MatrixClientPeg.get().setRoomTag(item.room.roomId, newTag, newOrder).catch(function(err) {
var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
console.error("Failed to add tag " + newTag + " to room: " + err);
Modal.createTrackedDialog('Failed to add tag to room', '', ErrorDialog, {
title: _t('Failed to add tag %(tagName)s to room', {tagName: newTag}),
description: ((err && err.message) ? err.message : _t('Operation failed')),
});
});
}
}
else {
// cancel the drop and reset our original position
if (props.roomSubList.debug) console.log("cancelling drop & drag");
props.roomSubList.moveRoomTile(item.room, item.originalIndex);
if (item.targetList && item.targetList !== item.originalList) {
item.targetList.removeRoomTile(item.room);
}
}
export default class DNDRoomTile extends React.PureComponent {
constructor() {
super();
this.getClassName = this.getClassName.bind(this);
}
};
var roomTileTarget = {
canDrop: function() {
return false;
},
hover: function(props, monitor) {
var item = monitor.getItem();
//var off = monitor.getClientOffset();
// console.log("hovering on room " + props.room.roomId + ", isOver=" + monitor.isOver());
//console.log("item.targetList=" + item.targetList + ", roomSubList=" + props.roomSubList);
var switchedTarget = false;
if (item.targetList !== props.roomSubList) {
// we've switched target, so remove the tile from the previous target.
// n.b. the previous target might actually be the source list.
if (props.roomSubList.debug) console.log("switched target sublist");
switchedTarget = true;
item.targetList.removeRoomTile(item.room);
item.targetList = props.roomSubList;
}
if (!item.targetList.props.editable) return;
if (item.targetList.props.order === 'manual') {
if (item.room.roomId !== props.room.roomId && props.room !== item.lastTargetRoom) {
// find the offset of the target tile in the list.
var roomTile = props.roomSubList.findRoomTile(props.room);
// shuffle the list to add our tile to that position.
props.roomSubList.moveRoomTile(item.room, roomTile.index);
}
// stop us from flickering between our droptarget and the previous room.
// whenever the cursor changes direction we have to reset the flicker-damping.
/*
var yDelta = off.y - item.lastYOffset;
if ((yDelta > 0 && item.lastYDelta < 0) ||
(yDelta < 0 && item.lastYDelta > 0))
{
// the cursor changed direction - forget our previous room
item.lastTargetRoom = null;
}
else {
// track the last room we were hovering over so we can stop
// bouncing back and forth if the droptarget is narrower than
// the other list items. The other way to do this would be
// to reduce the size of the hittarget on the list items, but
// can't see an easy way to do that.
item.lastTargetRoom = props.room;
}
if (yDelta) item.lastYDelta = yDelta;
item.lastYOffset = off.y;
*/
}
else if (switchedTarget) {
if (!props.roomSubList.findRoomTile(item.room).room) {
// add to the list in the right place
props.roomSubList.moveRoomTile(item.room, 0);
}
// we have to sort the list whatever to recalculate it
props.roomSubList.sortList();
}
},
};
// Export the wrapped version, inlining the 'collect' functions
// to more closely resemble the ES7
module.exports =
DropTarget('RoomTile', roomTileTarget, function(connect, monitor) {
return {
// Call this function inside render()
// to let React DnD handle the drag events:
connectDropTarget: connect.dropTarget(),
isOver: monitor.isOver(),
getClassName(isDragging) {
return classNames({
"mx_DNDRoomTile": true,
"mx_DNDRoomTile_dragging": isDragging,
});
}
})(
DragSource('RoomTile', roomTileSource, function(connect, monitor) {
return {
// Call this function inside render()
// to let React DnD handle the drag events:
connectDragSource: connect.dragSource(),
// You can ask the monitor about the current drag state:
isDragging: monitor.isDragging()
};
})(RoomTile));
render() {
const props = this.props;
return <div>
<Draggable
key={props.room.roomId}
draggableId={props.tagName + '_' + props.room.roomId}
index={props.index}
type="draggable-RoomTile"
>
{ (provided, snapshot) => {
return (
<div>
<div
ref={provided.innerRef}
{...provided.draggableProps}
{...provided.dragHandleProps}
>
<div className={this.getClassName(snapshot.isDragging)}>
<RoomTile {...props} />
</div>
</div>
{ provided.placeholder }
</div>
);
} }
</Draggable>
</div>;
}
}

View File

@ -23,9 +23,11 @@ module.exports = React.createClass({
render: function() {
return (
<div className="mx_RoomDropTarget">
<div className="mx_RoomDropTarget_label">
{ this.props.label }
<div className="mx_RoomDropTarget_container">
<div className="mx_RoomDropTarget">
<div className="mx_RoomDropTarget_label">
{ this.props.label }
</div>
</div>
</div>
);

View File

@ -21,6 +21,8 @@ var ReactDOM = require('react-dom');
var dis = require('matrix-react-sdk/lib/dispatcher');
import classNames from 'classnames';
const MIN_TOOLTIP_HEIGHT = 25;
module.exports = React.createClass({
displayName: 'RoomTooltip',
@ -31,7 +33,7 @@ module.exports = React.createClass({
tooltipClassName: React.PropTypes.string,
// The tooltip is derived from either the room name or a label
room: React.PropTypes.object,
label: React.PropTypes.string,
label: React.PropTypes.node,
},
// Create a wrapper for the tooltip outside the parent and attach it to the body element
@ -39,6 +41,9 @@ module.exports = React.createClass({
this.tooltipContainer = document.createElement("div");
this.tooltipContainer.className = "mx_RoomTileTooltip_wrapper";
document.body.appendChild(this.tooltipContainer);
window.addEventListener('scroll', this._renderTooltip, true);
this.parent = ReactDOM.findDOMNode(this).parentNode;
this._renderTooltip();
},
@ -57,6 +62,18 @@ module.exports = React.createClass({
ReactDOM.unmountComponentAtNode(this.tooltipContainer);
document.body.removeChild(this.tooltipContainer);
window.removeEventListener('scroll', this._renderTooltip, true);
},
_updatePosition(style) {
const parentBox = this.parent.getBoundingClientRect();
let offset = 0;
if (parentBox.height > MIN_TOOLTIP_HEIGHT) {
offset = Math.floor((parentBox.height - MIN_TOOLTIP_HEIGHT) / 2);
}
style.top = (parentBox.top - 2) + window.pageYOffset + offset;
style.left = 6 + parentBox.right + window.pageXOffset;
return style;
},
_renderTooltip: function() {
@ -66,10 +83,9 @@ module.exports = React.createClass({
// positioned, also taking into account any window zoom
// NOTE: The additional 6 pixels for the left position, is to take account of the
// tooltips chevron
var parent = ReactDOM.findDOMNode(this);
var parent = ReactDOM.findDOMNode(this).parentNode;
var style = {};
style.top = parent.getBoundingClientRect().top + window.pageYOffset;
style.left = 6 + parent.getBoundingClientRect().right + window.pageXOffset;
style = this._updatePosition(style);
style.display = "block";
const tooltipClasses = classNames(
@ -97,8 +113,8 @@ module.exports = React.createClass({
render: function() {
// Render a placeholder
return (
<div className={ this.props.className } >
<div className={this.props.className} >
</div>
);
}
},
});

View File

@ -1,32 +1,62 @@
{
"All messages": "كل الرسائل",
"Continue": "استمر",
"Please set a password!": "يرجى تعيين كلمة مرور!",
"Continue": "إستمر",
"Please set a password!": "يرجى تعيين كلمة مرور !",
"This will allow you to return to your account after signing out, and sign in on other devices.": "سيسمح لك هذا بالعودة إلى حسابك بعد الخروج، وتسجيل الدخول على الأجهزة الأخرى.",
"Advanced notification settings": "إعدادات متقدمة للرسائل",
"A new version of Riot is available.": "نسخة جديدة من رايوت متوفرة.",
"Advanced notification settings": "الإعدادات المتقدمة للإشعارات",
"A new version of Riot is available.": "هناك نسخة جديدة مِن رايوت متوفرة.",
"All Rooms": "كل الغُرف",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">متصفح سافاري</a> و <a href=\"http://opera.com\">متصفح أوبرا</a> يعملان أيضاً.",
"Add an email address above to configure email notifications": "أضف بريداً إلكترونياً أعلاه من أجل تعديل إعدادت تنبيهات البريد الإلكتروني",
"All messages (loud)": "كل الرسائل (صوت مرتفع)",
"Add an email address above to configure email notifications": "أضف بريداً إلكترونياً أعلاه من أجل ضبط الإشعارات عبر البريد الإلكتروني",
"All messages (noisy)": "كل الرسائل (صوت مرتفع)",
"All notifications are currently disabled for all targets.": "كل التنبيهات غير مفعلة حالياً للجميع.",
"An error occurred whilst saving your email notification preferences.": "حدث خطأ ما خلال حفظ إعدادات التنبيهات للبريد الإلكتروني.",
"An error occurred whilst saving your email notification preferences.": "حدث خطأ ما أثناء عملية حفظ إعدادات الإشعارات عبر البريد الإلكتروني.",
"Call invitation": "دعوة لمحادثة",
"Cancel": "إلغاء",
"Cancel Sending": "إلغاء الإرسال",
"Can't update user notification settings": "لا يمكن تحديث إعدادات التنبيهات للمستخدم",
"Can't update user notification settings": "لا يمكن تحديث إعدادات الإشعارات الخاصة بالمستخدم",
"Changelog": "سِجل التغييرات",
"Close": "إغلاق",
"Collapse panel": "طي الجدول",
"Collecting app version information": "إستعادة معلومات النسخة للتطبيق",
"Collecting logs": "إستعادة السجلات",
"Collecting app version information": "تجميع المعلومات حول نسخة التطبيق",
"Collecting logs": "تجميع السجلات",
"Couldn't find a matching Matrix room": "لا يمكن إيجاد غرفة مايتركس متطابقة",
"Custom Server Options": "إعدادات السيرفر خاصة",
"Custom Server Options": "الإعدادات الشخصية للخادوم",
"delete the alias.": "إلغاء المُعرف.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "إلغاء مُعرف الغرفة %(alias)s وحذف %(name)s من الدليل؟",
"Describe your problem here.": "صِف مشكلتك هنا.",
"Direct Chat": "دردشة مباشرة",
"Directory": "دليل",
"Dismiss": "صرف النظر",
"Download this file": "تحميل هذا الملف"
"Directory": "الدليل",
"Dismiss": "تجاهل",
"Download this file": "تنزيل هذا الملف",
"Set Password": "تعيين كلمة سرية",
"You have successfully set a password!": "تم تعيين كلمة السر بنجاح !",
"You have successfully set a password and an email address!": "لقد قمت بتعيين كلمة سرية و إدخال عنوان للبريد الإلكتروني بنجاح !",
"Failed to change password. Is your password correct?": "فشلت عملية تعديل الكلمة السرية. هل كلمتك السرية صحيحة ؟",
"Riot is not supported on mobile web. Install the app?": "رايوت غير مدعوم في وضعية الويب على الهاتف. هل تريد تثبيت التطبيق ؟",
"Waiting for response from server": "في انتظار الرد مِن الخادوم",
"Riot Desktop on %(platformName)s": "الواجهة المكتبية لرايوت على %(platformName)s",
"Unknown device": "جهاز مجهول",
"What's New": "آخِر المُستجدّات",
"Update": "تحديث",
"What's new?": "ما الجديد ؟",
"Checking for an update...": "البحث عن تحديث …",
"No update available.": "لا يوجد هناك أي تحديث.",
"Downloading update...": "عملية تنزيل التحديث جارية …",
"Warning": "تنبيه",
"Error": "خطأ",
"Remove": "حذف",
"Bug report sent": "تم إرسال تقرير الأخطاء",
"Thank you!": "شكرًا !",
"Report a bug": "الإبلاغ عن عِلّة",
"Send logs": "إرسال السِجلات",
"Send": "إرسال",
"Unavailable": "غير متوفر",
"Back": "العودة",
"State Key": "مفتاح الحالة",
"Send Account Data": "إرسال بيانات الحساب",
"Explore Room State": "إكتشاف حالة الغرفة",
"Edit": "تعديل",
"Toolbox": "علبة الأدوات",
"Developer Tools": "أدوات التطوير"
}

32
src/i18n/strings/az.json Normal file
View File

@ -0,0 +1,32 @@
{
"Riot is not supported on mobile web. Install the app?": "Riot mobil qurğular üçün veb-saytın versiyasını dəstəkləmir. Proqramı qurmaq?",
"Collecting app version information": "Proqramın versiyası haqqında məlumatın yığılması",
"Collecting logs": "Jurnalların bir yığım",
"Uploading report": "Hesabatın göndərilməsi",
"Waiting for response from server": "Serverdən cavabın gözlənməsi",
"Riot Desktop on %(platformName)s": "%(platformName)s-da Riot Desktop",
"Unknown device": "Naməlum qurğu",
"You need to be using HTTPS to place a screen-sharing call.": "İş stolunun birgə istifadəsi üçün HTTPS-dan istifadə tələb olunur.",
"Messages containing my display name": "Mənim adımı özündə saxlayan mesajlar",
"Messages containing my user name": "Mənim istifadəçinin adımı özündə saxlayan mesaj",
"Messages in one-to-one chats": "Fərdi çatlarda mesajlar",
"Messages in group chats": "Qrup çatlarında mesajlar",
"When I'm invited to a room": "Nə vaxt ki, məni otağa dəvət edirlər",
"Call invitation": "Dəvət zəngi",
"Messages sent by bot": "Botla göndərilmiş mesajlar",
"Error saving email notification preferences": "Email üzrə xəbərdarlıqların qurmalarının saxlanılması səhv",
"An error occurred whilst saving your email notification preferences.": "Email üzrə bildirişin qurmalarının saxlanılması səhv yarandı.",
"Keywords": "Açar sözlər",
"Enter keywords separated by a comma:": "Vergül bölünmüş açar sözləri daxil edin:",
"OK": "OK",
"Failed to change settings": "Qurmaları dəyişdirməyi bacarmadı",
"Operation failed": "Əməliyyatın nasazlığı",
"Can't update user notification settings": "Bildirişin istifadəçi qurmalarını yeniləməyə müvəffəq olmur",
"Failed to update keywords": "Açar sözləri yeniləməyi bacarmadı",
"Messages containing <span>keywords</span>": "Müəyyən <span>açar sözləri</span> özündə saxlayan mesajlar",
"Notify for all other messages/rooms": "Bütün başqa mesajdan/otaqlardan xəbər vermək",
"Notify me for anything else": "Bütün qalan hadisələrdə xəbər vermək",
"Enable notifications for this account": "Bu hesab üçün xəbərdarlıqları qoşmaq",
"All notifications are currently disabled for all targets.": "Bütün qurğular üçün bütün bildirişlər kəsilmişdir.",
"Add an email address above to configure email notifications": "Email-i bildirişlər üçün ünvanı əlavə edin"
}

View File

@ -1,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Дадайце адрас электроннай пошты вышэй, каб наладзіць апавяшчэнні",
"All messages": "Усе паведамленні",
"All messages (loud)": "Усе паведамленні (гучна)",
"All messages (noisy)": "Усе паведамленні (гучна)",
"All notifications are currently disabled for all targets.": "Усе апавяшчэнні ў цяперашні час адключаныя для ўсіх мэтаў.",
"An error occurred whilst saving your email notification preferences.": "Адбылася памылка падчас захавання налады апавяшчэнняў па электроннай пошце.",
"Cancel Sending": "Адмяніць адпраўку",
@ -50,7 +50,7 @@
"Noisy": "Шумна",
"Notification targets": "Мэты апавяшчэння",
"Notifications": "Апавяшчэнні",
"Notifications on the following keywords follow rules which cant be displayed here:": "Апавяшчэнні па наступных ключавых словах прытрымліваюцца правілаў, якія не могуць быць адлюстраваны тут",
"Notifications on the following keywords follow rules which cant be displayed here:": "Апавяшчэнні па наступных ключавых словах прытрымліваюцца правілаў, якія не могуць быць адлюстраваны тут:",
"Notify for all other messages/rooms": "Апавяшчаць для ўсіх іншых паведамленняў/пакояў",
"Notify me for anything else": "Паведаміць мне што-небудзь яшчэ",
"Off": "Выключыць",

233
src/i18n/strings/bg.json Normal file
View File

@ -0,0 +1,233 @@
{
"Riot is not supported on mobile web. Install the app?": "Riot не поддържа мобилен уеб браузър. Инсталиране на приложението?",
"Collecting app version information": "Събиране на информация за версията на приложението",
"Collecting logs": "Събиране на логове",
"Uploading report": "Качване на доклада",
"Waiting for response from server": "Изчакване на отговор от сървъра",
"Riot Desktop on %(platformName)s": "Riot Desktop под %(platformName)s",
"Unknown device": "Непознато устройство",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s в %(browserName)s под %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Трябва да използвате HTTPS, за да споделите екрана си.",
"Messages containing my display name": "Съобщения, съдържащи моя псевдоним",
"Messages containing my user name": "Съобщения, съдържащи моето потребителско име",
"Messages in one-to-one chats": "Съобщения в индивидуални чатове",
"Messages in group chats": "Съобщения в групови чатове",
"When I'm invited to a room": "Когато ме поканят в стая",
"Call invitation": "Покана за разговор",
"Messages sent by bot": "Съобщения изпратени от бот",
"Error saving email notification preferences": "Грешка при запазване на настройките за имейл известяване",
"An error occurred whilst saving your email notification preferences.": "Възникна грешка при запазване на настройките за имейл известяване.",
"Keywords": "Ключови думи",
"Enter keywords separated by a comma:": "Ключови думи разделени чрез запетая:",
"OK": "ОК",
"Failed to change settings": "Неуспешна промяна на настройки",
"Operation failed": "Операцията е неуспешна",
"Can't update user notification settings": "Неуспешно обновяване на потребителски настройки за известяване",
"Failed to update keywords": "Грешка при обновяване на ключови думи",
"Messages containing <span>keywords</span>": "Съобщения, съдържащи <span>ключови думи</span>",
"Notify for all other messages/rooms": "Извести ме за всички други съобщения/стаи",
"Notify me for anything else": "Извести ме за всичко останало",
"Enable notifications for this account": "Включване на известия за този профил",
"All notifications are currently disabled for all targets.": "В момента известията са изключени за всички цели.",
"Add an email address above to configure email notifications": "За конфигурация на имейл известия добавете имейл адрес по-горе.",
"Enable email notifications": "Активиране на имейл известия",
"Notifications on the following keywords follow rules which cant be displayed here:": "Известия за следните ключови думи изпълняват правила, които не могат да бъдат показани тук:",
"Unable to fetch notification target list": "Неуспешно извличане на списък с устройства получаващи известия",
"Notification targets": "Устройства, получаващи известия",
"Advanced notification settings": "Разширени настройки за известяване",
"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": "Възможна конфигурация на настройките за известия в клиент, различен от Riot. Не могат да бъдат променени в Riot, но важат въпреки това",
"Enable desktop notifications": "Включване на известия на работния плот",
"Show message in desktop notification": "Показване на съдържание в известията на работния плот",
"Enable audible notifications in web client": "Включване на звукови известия в уеб клиент",
"Off": "Изключено",
"On": "Включено",
"Noisy": "Шумно",
"Search…": "Търсене…",
"Search": "Търсене",
"This Room": "В тази стая",
"All Rooms": "Във всички стаи",
"Sunday": "Неделя",
"Monday": "Понеделник",
"Tuesday": "Вторник",
"Wednesday": "Сряда",
"Thursday": "Четвъртък",
"Friday": "Петък",
"Saturday": "Събота",
"Today": "Днес",
"Yesterday": "Вчера",
"Custom Server Options": "Потребителски опции за сървър",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Може да използвате опциите за друг сървър, за да влезете в други Matrix сървъри като посочите различен Home сървър.<br/>Това Ви позволява да използвате Riot със съществуващ Matrix профил на различен Home сървър.<br/><br/> Възможно е и да зададете друг сървър за самоличност. В този случай обаче няма да бъде възможно да поканите други потребители по имейл адрес, както и самите Вие няма да можете да бъдете поканени по имейл адрес.",
"Dismiss": "Затвори",
"powered by Matrix": "базирано на Matrix",
"You are not receiving desktop notifications": "Не получавате известия на работния плот",
"Enable them now": "Включете ги сега",
"What's New": "Какво ново",
"Update": "Актуализиране",
"What's new?": "Какво ново?",
"A new version of Riot is available.": "Налична е нова версия на Riot.",
"To return to your account in future you need to <u>set a password</u>": "За да се върнете в профила си в бъдеще, трябва да <u>зададете парола</u>",
"Set Password": "Задаване на парола",
"Error encountered (%(errorDetail)s).": "Възникна грешка (%(errorDetail)s).",
"Checking for an update...": "Проверяване за нова версия...",
"No update available.": "Няма нова версия.",
"Downloading update...": "Сваляне на нова версия...",
"Warning": "Предупреждение",
"Error": "Грешка",
"You cannot delete this image. (%(code)s)": "Не можете да изтриете тази снимка. (%(code)s)",
"Uploaded on %(date)s by %(user)s": "Качено на %(date)s от %(user)s",
"Remove": "Премахни",
"Close": "Затвори",
"Download this file": "Изтегли този файл",
"Please describe the bug and/or send logs.": "Моля, опишете проблема и/или изпратете логове.",
"Loading bug report module": "Зареждане на модул за докладване на проблем",
"Bug report sent": "Докладът за грешки е изпратен",
"Thank you!": "Благодарим!",
"Failed to send report: ": "Неуспешно изпращане на доклада: ",
"Cancel": "Отказ",
"Report a bug": "Докладвай за грешка",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Моля, опишете грешката. Какво направихте? Какво очаквахте да стане? Какво стана всъщност?",
"Describe your problem here.": "Опишете своя проблем тук.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "За да се диагностицират проблемите, логовете от този клиент ще бъдат изпратени с този доклад за грешки. Ако предпочитате да изпратите само текста по-горе, моля, премахнете отметката:",
"Send logs": "Изпращане на логове",
"Send": "Изпрати",
"Unavailable": "Не е наличен",
"Changelog": "Списък на промените",
"Back": "Назад",
"Send Custom Event": "Изпрати потребителско събитие",
"You must specify an event type!": "Трябва да укажате тип на събитието",
"Event sent!": "Събитието е изпратено!",
"Failed to send custom event.": "Неуспешно изпращане на потребителско събитие.",
"Event Type": "Вид на събитие",
"Send Account Data": "Изпращане на Account Data",
"Filter results": "Филтриране на резултати",
"Edit": "Редактирай",
"Toolbox": "Инструменти",
"You have successfully set a password!": "Вие успешно зададохте парола!",
"You have successfully set a password and an email address!": "Вие успешно зададохте парола и имейл адрес!",
"You can now return to your account after signing out, and sign in on other devices.": "Вече можете да се върнете в профила си след излизане от него и да влезете от други устройства.",
"Remember, you can always set an email address in user settings if you change your mind.": "Ако си промените мнението, винаги може да зададете имейл адрес в настройки на потребителя.",
"Continue": "Продължи",
"Failed to change password. Is your password correct?": "Неуспешна промяна. Правилно ли сте въвели Вашата парола?",
"(HTTP status %(httpStatus)s)": "(HTTP статус %(httpStatus)s)",
"Please set a password!": "Моля, въведете парола!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Това ще Ви позволи да се върнете в профила си след излизане от него, и да влезете от други устройства.",
"You cannot delete this message. (%(code)s)": "Това съобщение не може да бъде изтрито. (%(code)s)",
"Resend": "Изпрати отново",
"Cancel Sending": "Откажи изпращането",
"Forward Message": "Препрати съобщението",
"Reply": "Отговори",
"Unpin Message": "Откачи съобщението",
"Pin Message": "Закачи съобщението",
"View Source": "Прегледай източника",
"View Decrypted Source": "Прегледай разшифрования източник",
"Unhide Preview": "Покажи отново прегледа",
"Permalink": "Permalink",
"Quote": "Цитирай",
"Source URL": "URL на източника",
"Online": "Онлайн",
"Away": "Отсъстващ",
"Appear Offline": "Показване като офлайн",
"Failed to remove tag %(tagName)s from room": "Неуспешно премахване на %(tagName)s етикет от стаята",
"Failed to set Direct Message status of room": "Неуспешно настройване на стаята като Директен чат",
"unknown error code": "неизвестен код за грешка",
"Failed to forget room %(errCode)s": "Неуспешно забравяне на стаята %(errCode)s",
"All messages (noisy)": "Всички съобщения (шумно)",
"All messages": "Всички съобщения",
"Mentions only": "Само при споменаване",
"Mute": "Заглуши",
"Leave": "Напусни",
"Forget": "Забрави",
"Reject": "Отхвърли",
"Favourite": "Любим",
"Low Priority": "Нисък приоритет",
"Direct Chat": "Директен чат",
"View Community": "Прегледай общността",
"Sorry, your browser is <b>not</b> able to run Riot.": "За жалост, Вашият браузър <b>не</b> може да пусне Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot използва много разширени браузър харектеристики, някои от които не са налични или са все още експериментални в настоящия Ви браузър.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Моля, инсталирайте <chromeLink>Chrome</chromeLink> или <firefoxLink>Firefox</firefoxLink> за най-добро преживяване.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> и <operaLink>Opera</operaLink> са други алтернативи.",
"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!": "С текущия Ви браузър, изглеждането и усещането на приложението може да бъде неточно, и някои или всички от функциите може да не функционират,работят......... Ако искате може да продължите така или иначе, но сте сами по отношение на евентуалните проблеми, които може да срещнете!",
"I understand the risks and wish to continue": "Разбирам рисковете и желая да продължа",
"Couldn't load home page": "Неуспешно зареждане на началната страница",
"Login": "Вход",
"Register": "Регистрация",
"Members": "Членове",
"%(count)s Members|other": "%(count)s Членове",
"%(count)s Members|one": "%(count)s Член",
"Invite to this room": "Покани в тази стая",
"Files": "Файлове",
"Notifications": "Известия",
"Rooms": "Стаи",
"Hide panel": "Скриване на панела",
"Invite to this community": "Покани в тази общност",
"Add rooms to this community": "Добави стаи в тази общност",
"Failed to get protocol list from Home Server": "Неуспешно получаване на списък с протоколи от Home сървър",
"The Home Server may be too old to support third party networks": "Home сървърът може да е твърде стар, за да поддържа работа с други мрежи",
"Failed to get public room list": "Неуспешно получаване на списък с публични стаи",
"State Key": "State ключ",
"Event Content": "Съдържание на събитието",
"Explore Room State": "Преглед на състоянието на стаята",
"Explore Account Data": "Преглед на данните от профила",
"Developer Tools": "Инструменти за разработчика",
"The server may be unavailable or overloaded": "Сървърът не е наличен или е претоварен",
"Unnamed room": "Стая без име",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Изтриване на псевдонима %(alias)s на стаята и премахване на %(name)s от директорията?",
"Remove %(name)s from the directory?": "Премахване на %(name)s от директорията?",
"Remove from Directory": "Премахни от директорията",
"remove %(name)s from the directory.": "премахване %(name)s от директорията.",
"delete the alias.": "изтрий псевдонима.",
"Unable to join network": "Неуспешно присъединяване към мрежата",
"Riot does not know how to join a room on this network": "Riot не знае как да се присъедини към стая от тази мрежа",
"Room not found": "Стаята не е намерена",
"Couldn't find a matching Matrix room": "Не успяхме да намерим съответната Matrix стая",
"Fetching third party location failed": "Неуспешно извличане на адреса на стаята от друга мрежа",
"Unable to look up room ID from server": "Стая с такъв идентификатор не е намерена на сървъра",
"World readable": "Четимо за всички",
"Guests can join": "Гости могат да се присъединят",
"Directory": "Директория",
"No rooms to show": "Няма стаи, които да бъдат показани",
"Search for a room": "Търсене на стая",
"#example": "#пример",
"more": "още",
"Failed to add tag %(tagName)s to room": "Неуспешно добавяне на %(tagName)s етикет в стаята",
"Expand panel": "Разшири панела",
"Collapse panel": "Свий панела",
"Filter room names": "Филтрирай стаи по име",
"Welcome to Riot.im": "Добре дошли в Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Децентрализиран, шифрован чат и колаборация базирани на [matrix]",
"Search the room directory": "Търсене в директорията със стаи",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "В Matrix съществуват много стаи, свързани към вече съществуващи мрежи (Slack, IRC, Gitter и т.н.) или независими такива. Разгледайте директорията!",
"Chat with Riot Bot": "Чат с Riot Bot",
"Get started with some tips from Riot Bot!": "Започнете с някои съвети от Riot Bot!",
"General discussion about Matrix and Riot": "Обща дискусия относно Matrix и Riot",
"Discussion of all things Matrix!": "Дискусия за всичко свързано с Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop чат",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk чат",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk чат",
"Matrix technical discussions": "Технически дискусии в Matrix",
"Running Matrix services": "Хостинг на Matrix услуги",
"Community-run support for Synapse": "Поддръжка за Synapse от общността",
"Admin support for Dendrite": "Административна поддръжка за Dendrite",
"Announcements about Synapse releases": "Обявления за нови версии на Synapse",
"Support for those using and running matrix-appservice-irc": "Поддръжка за използващите и работещите с matrix-appservice-irc",
"Building services on Matrix": "Разработка на услуги в Matrix",
"Support for those using the Matrix spec": "Поддръжка за използващите Matrix спецификацията",
"Design and implementation of E2E in Matrix": "Разработване и внедряване на E2E шифроване в Matrix",
"Implementing VR services with Matrix": "Внедряване на VR услуги с Matrix",
"Implementing VoIP services with Matrix": "Внедряване на VoIP услуги с Matrix",
"Discussion of the Identity Service API": "Дискусия върху API услугата за самоличност",
"Support for those using, running and writing other bridges": "Поддръжка за тези, които използват, работят и пишат Matrix мостове",
"Contributing code to Matrix and Riot": "Допринасяне с код към Matrix и Riot",
"Dev chat for the Riot/Web dev team": "Чат за разработващия екип на Riot/Web",
"Dev chat for the Dendrite dev team": "Чат за разработващия екип на Dendrite",
"Co-ordination for Riot/Web translators": "Координация за преводачи на Riot/Web",
"Submit debug logs": "Изпрати логове за дебъгване",
"Preparing to send logs": "Подготовка за изпращане на логове",
"Logs sent": "Логовете са изпратени",
"Failed to send logs: ": "Неуспешно изпращане на логове: ",
"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.": "Логовете за дебъгване съдържат данни за използване на приложението, включващи потребителското Ви име, идентификаторите или псевдонимите на стаите или групите, които сте посетили, и потребителските имена на други потребители. Те не съдържат съобщения.",
"<a>Click here</a> to create a GitHub issue.": "<a>Натиснете тук</a>, за да създадете GitHub issue.",
"GitHub issue link:": "Линк към GitHub issue:",
"Notes:": "Бележки:"
}

1
src/i18n/strings/bs.json Normal file
View File

@ -0,0 +1 @@
{}

View File

@ -3,7 +3,7 @@
"All messages": "Tots els missatges",
"Cancel": "Cancel·la",
"Close": "Tanca",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s a %(osName)s",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s per a %(osName)s",
"Failed to change password. Is your password correct?": "Hi ha hagut un error al canviar la vostra contrasenya. És correcte la vostra contrasenya?",
"Continue": "Continua",
"All Rooms": "Totes les sales",
@ -14,14 +14,14 @@
"Failed to remove tag %(tagName)s from room": "No s'ha pogut esborrar l'etiqueta %(tagName)s de la sala",
"Filter room names": "Filtra els noms de les sales",
"Couldn't load home page": "No s'ha pogut carregar la pàgina d'inici",
"All messages (loud)": "Tots els missatges (sorollós)",
"All messages (noisy)": "Tots els missatges (sorollós)",
"Mentions only": "Només mencions",
"Mute": "Silenciat",
"Mute": "Silencia",
"Direct Chat": "Xat directe",
"Directory": "Directori",
"Failed to set direct chat tag": "No s'ha pogut establir l'etiqueta del xat directe",
"Invite to this room": "Convida a aquesta sala",
"No rooms to show": "No hi ha sales a mostrar",
"No rooms to show": "No hi ha cap sala per a mostrar",
"Riot does not know how to join a room on this network": "El Riot no sap com unir-se a una sala en aquesta xarxa",
"Room not found": "No s'ha trobat la sala",
"Unnamed room": "Sala sense nom",
@ -41,32 +41,32 @@
"Favourite": "Favorit",
"Files": "Fitxers",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "També funcionen el <a href=\"http://apple.com/safari\">Safari</a> i l'<a href=\"http://opera.com\">Opera</a>.",
"Add an email address above to configure email notifications": "Afegiu una adreça de correu electrònic més amunt per configurar les notificacions",
"Add an email address above to configure email notifications": "Afegiu més amunt un correu electrònic per a configurar les notificacions",
"Advanced notification settings": "Paràmetres avançats de notificacions",
"All notifications are currently disabled for all targets.": "Actualment totes les notificacions estan inhabilitades per a tots els objectius.",
"An error occurred whilst saving your email notification preferences.": "Hi ha hagut un error al desar les vostres preferències de notificació per correu electrònic.",
"An error occurred whilst saving your email notification preferences.": "S'ha produït un error en desar les vostres preferències de notificació per correu electrònic.",
"Bug report sent": "S'ha enviat l'informe d'error",
"Call invitation": "Invitació a la trucada",
"Can't update user notification settings": "No es poden actualitzar els paràmetres de notificació de l'usuari",
"Collecting app version information": "Recol·lectant la informació de la versió de l'aplicació",
"Collecting logs": "Recol·lectant els registres",
"Call invitation": "Invitació de trucada",
"Can't update user notification settings": "No es poden actualitzar els paràmetres de les notificacions de l'usuari",
"Collecting app version information": "S'està recollint la informació de la versió de l'aplicació",
"Collecting logs": "S'estan recopilant els registres",
"Custom Server Options": "Opcions de servidor personalitzat",
"Dismiss": "Omet",
"Enter keywords separated by a comma:": "Introdueix paraules clau separades per una coma:",
"Enter keywords separated by a comma:": "Introduïu les paraules clau separades per una coma:",
"Login": "Inicia sessió",
"Leave": "Abandona",
"Messages containing <span>keywords</span>": "Missatges que contenen <span>paraules clau</span>",
"Leave": "Surt",
"Messages containing <span>keywords</span>": "Missatges que contenen <span>keywords</span>",
"Messages containing my user name": "Missatges que contenen el meu nom d'usuari",
"Messages in group chats": "Missatges a xats de grup",
"Messages containing my display name": "Missatges que contenen el meu nom",
"Messages in group chats": "Missatges en xats de grup",
"Messages containing my display name": "Missatges que contenen el meu nom visible",
"Messages in one-to-one chats": "Missatges en xats un a un",
"Messages sent by bot": "Missatges enviats pel bot",
"more": "més",
"Noisy": "Sorollós",
"Notification targets": "Objectius de notificació",
"Notification targets": "Objectius de les notificacions",
"Notifications": "Notificacions",
"Notify me for anything else": "Notifica'm per qualsevol altra cosa",
"Notify for all other messages/rooms": "Notifica per a tots els altres missatges/sales",
"Notify me for anything else": "Notifica'm per a qualsevol altra cosa",
"Notify for all other messages/rooms": "Notifica per a tots els altres missatges o sales",
"Off": "Apagat",
"On": "Engegat",
"Permalink": "Enllaç permanent",
@ -85,7 +85,7 @@
"unknown error code": "codi d'error desconegut",
"What's New": "Novetats",
"What's new?": "Què hi ha de nou?",
"Waiting for response from server": "Esperant una resposta del servidor",
"Waiting for response from server": "S'està esperant una resposta del servidor",
"You cannot delete this image. (%(code)s)": "No podeu eliminar aquesta imatge. (%(code)s)",
"You cannot delete this message. (%(code)s)": "No podeu eliminar aquest missatge. (%(code)s)",
"You are not receiving desktop notifications": "No esteu rebent notificacions d'escriptori",
@ -100,7 +100,7 @@
"Today": "Avui",
"Yesterday": "Ahir",
"OK": "D'acord",
"Warning": "Advertència",
"Warning": "Avís",
"Checking for an update...": "Comprovant si hi ha actualitzacions...",
"No update available.": "No hi ha cap actualització disponible.",
"Downloading update...": "Descarregant l'actualització...",
@ -109,5 +109,127 @@
"Back": "Enrere",
"Cancel Sending": "Cancel·la l'enviament",
"Collapse panel": "Col·lapsa el tauler",
"Developer Tools": "Eines de desenvolupador"
"Developer Tools": "Eines de desenvolupador",
"Riot is not supported on mobile web. Install the app?": "Riot no és compatible amb la web per a mòbils. Voleu instal·lar l'aplicació per a mòbils?",
"Uploading report": "S'està enviant l'informe",
"Riot Desktop on %(platformName)s": "Riot d'escriptori per a %(platformName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada amb pantalla compartida.",
"When I'm invited to a room": "Quan sóc convidat a una sala",
"Error saving email notification preferences": "No s'han pogut desar les preferències de les notificacions a causa d'un error",
"Keywords": "Paraules clau",
"Operation failed": "No s'ha pogut realitzar l'operació",
"Failed to update keywords": "No s'han pogut actualitzar les paraules clau",
"Notifications on the following keywords follow rules which cant be displayed here:": "Les notificacions sobre les següents paraules clau segueixen regles que no es poden mostrar aquí:",
"Unable to fetch notification target list": "No s'ha pogut obtenir la llista d'objectius de les notificacions",
"There are advanced notifications which are not shown here": "Hi ha notificacions avançades que no es mostren aquí",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "És possible que els hàgiu configurat en un client diferent de Riot. No podeu modificar-los amb Riot, però encara s'apliquen",
"Show message in desktop notification": "Mostra els missatges amb notificacions d'escriptori",
"Search": "Cerca",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Podeu utilitzar opcions de servidor personalitzades per iniciar sessió en altres servidors Matrix especificant una URL diferent a la del servidor principal. <br/> Això us permet utilitzar Riot amb un compte de Matrix existent en un servidor d'origen diferent. <br/> <br/> També podeu establir un servidor d'identitat personalitzat, però no podreu convidar o ser convidat per correu electrònic.",
"powered by Matrix": "amb tecnologia de Matrix",
"Update": "Actualització",
"Appear Offline": "Apareix sense connexió",
"Away": "Absent",
"To return to your account in future you need to <u>set a password</u>": "Per poder tornar al vostre compte en un futur, heu de <u>set a password</u>",
"Set Password": "Establiu una contrasenya",
"Error encountered (%(errorDetail)s).": "S'ha trobat un error (%(errorDetail)s).",
"Uploaded on %(date)s by %(user)s": "Pujat el %(date)s per l'usuari %(user)s",
"Please describe the bug and/or send logs.": "Si us plau, descriviu l'error i/o envia els registres.",
"Loading bug report module": "S'està carregant l'informe del modul",
"Failed to send report: ": "No s'ha pogut enviar l'informe ",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Si us plau, descriviu l'error. Què heu fet, què esperàveu que passes i què sembla haver passat?",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Amb aquest informe d'error, alguns registres d'aquesta aplicació s'enviaran també per tal de fer un diagnostic del problema. Si preferiu enviar només el text anterior, desseleccioneu:",
"Send logs": "Envia els registres",
"Send Custom Event": "Envia els esdeveniments personalitzats",
"You must specify an event type!": "Heu d'especificar un tipus d'esdeveniment",
"Event sent!": "S'ha enviat l'esdeveniment",
"Failed to send custom event.": "No s'ha pogut enviar l'esdeveniment personalitzat.",
"Event Type": "Tipus d'esdeveniment",
"State Key": "Clau d'estat",
"Event Content": "Contingut de l'esdeveniment",
"Send Account Data": "Envia les dades del compte",
"Filter results": "Resultats del filtre",
"Explore Room State": "Esbrina els estats de les sales",
"Edit": "Edita",
"Explore Account Data": "Explora les dades del compte",
"Toolbox": "Caixa d'eines",
"You have successfully set a password!": "Heu establert correctament la contrasenya",
"You have successfully set a password and an email address!": "Heu establert correctament la vostra contrasenya i l'adreça de correu electrònic",
"You can now return to your account after signing out, and sign in on other devices.": "Ara podreu tornar a entrar al vostre compte des de altres dispositius.",
"Remember, you can always set an email address in user settings if you change your mind.": "Recordeu-ho, si canvieu d'idea, sempre podreu establir una adreça de correu electrònic a las vostra configuració d'usuari.",
"(HTTP status %(httpStatus)s)": "(Estat de l´HTTP %(httpStatus)s)",
"Please set a password!": "Si us plau, establiu una contrasenya",
"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.",
"Forward Message": "Reenvia el missatge",
"Unpin Message": "Desenganxa el missatge",
"Pin Message": "Enganxa el missatge",
"View Source": "Mostra el codi",
"View Decrypted Source": "Mostra el codi desencriptat",
"Unhide Preview": "Mostra la previsualització",
"Quote": "Cita",
"Failed to set Direct Message status of room": "No s'ha pogut establir l'estat del missatge directe de la sala",
"Forget": "Oblida",
"Reject": "Rebutja",
"Sorry, your browser is <b>not</b> able to run Riot.": "Disculpeu, el seu navegador <b>not</b> pot executar Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utilitza moltes funcions avançades del navegador, algunes de les quals no estan disponibles o són experimentals al vostre navegador actual.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Si us plau, instal·leu <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> per gaudir d'una millor experiència.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> i <operaLink>Opera</operaLink> també fan la feina.",
"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!": "Amb el vostre navegador actual, l'aparença de l'aplicació pot ser completament incorrecta i algunes o totes les funcions poden no funcionar correctament. Si voleu provar-ho de totes maneres, podeu continuar, però esteu sols pel que fa als problemes que pugueu trobar!",
"I understand the risks and wish to continue": "Entenc el riscos i desitjo continuar",
"Register": "Registre",
"Rooms": "Sales",
"Hide panel": "Amaga el panel",
"Invite to this community": "Convida a aquesta comunitat",
"Add rooms to this community": "Afegeix sales a aquesta comunitat",
"Failed to get protocol list from Home Server": "No s'ha pogut obtenir la llista de protocols del servidor local",
"The Home Server may be too old to support third party networks": "El servidor local pot ser massa antic per a ser compatible amb xarxes de tercers",
"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?",
"Remove %(name)s from the directory?": "Voleu retirar %(name)s del directori?",
"delete the alias.": "esborra l'alies.",
"Unable to join network": "No s'ha pogut unir-se a la xarxa",
"Fetching third party location failed": "S'ha produït un error en obtenir la ubicació de tercers",
"Unable to look up room ID from server": "No s'ha pogut cercar l'ID de la sala en el servidor",
"World readable": "Llegible al món",
"Guests can join": "Els usuaris d'altres xarxes s'hi poden unir",
"Search for a room": "Busca una sala",
"Expand panel": "Expandeix el panel",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Xat descentralitzat, encriptat &amp; col·laboració amb tecnologia de [matrix]",
"Search the room directory": "Cerqueu el directori de sales",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Ja existeixen moltes sales a Matrix vinculades a xarxes existents (Slack, IRC, Gitter, etc.) o independents. Feu un cop d'ull al directori!",
"Get started with some tips from Riot Bot!": "Comenceu amb alguns consells de Riot Bot!",
"General discussion about Matrix and Riot": "Debat general sobre Matrix i Riot",
"Discussion of all things Matrix!": "Debats sobre qualsevol cosa de Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Xat d'escriptori",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; Xat de matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; Xat matrix-android-sdk",
"Matrix technical discussions": "Debats tècnics sobre Matrix",
"Reply": "Respon",
"Running Matrix services": "Serveis de Matrix en marxa",
"Community-run support for Synapse": "Suport de la comunitat per a Synapse",
"Admin support for Dendrite": "Suport dels administrador per a Dendrite",
"Announcements about Synapse releases": "Anuncis sobre llançaments de Synapse",
"Support for those using and running matrix-appservice-irc": "Suport per a aquells que utilitzen i executen matrix-appservice-irc",
"Building services on Matrix": "Construir serveis a Matrix",
"Support for those using the Matrix spec": "Suport per a aquells que utilitzen l'especificació Matrix",
"Design and implementation of E2E in Matrix": "Disseny i implementació de l'E2E a Matrix",
"Implementing VR services with Matrix": "Implementació de serveis VR amb Matrix",
"Implementing VoIP services with Matrix": "Implementació de serveis VoIP amb Matrix",
"Discussion of the Identity Service API": "Debat sobre l'API Identity Service",
"Support for those using, running and writing other bridges": "Suport per a aquells que utilitzen, executen i escriuen altres ponts",
"Contributing code to Matrix and Riot": "Contribuir amb codi a Matrix i Riot",
"Dev chat for the Riot/Web dev team": "Xat de l'equip de desenvolupadors Riot/Web per a desenvolupadors",
"Dev chat for the Dendrite dev team": "Xat de l'equip Dendrite per a desenvolupadors",
"Co-ordination for Riot/Web translators": "Coordinació per a traductors de Riot/Web",
"%(count)s Members|other": "%(count)s membres",
"%(count)s Members|one": "%(count)s membre",
"Online": "Conectat",
"View Community": "Mira la communitat",
"Preparing to send logs": "Preparant l'enviament de logs",
"Logs sent": "Logs enviats",
"Failed to send logs: ": "No s'han pogut enviar els logs: ",
"Submit debug logs": "Enviar logs de depuració",
"<a>Click here</a> to create a GitHub issue.": "<a>Clica aquí</a> per crear una issue a GitHub.",
"GitHub issue link:": "Enllaç de l'issue de GitHub:",
"Notes:": "Notes:",
"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.": "Els logs de depuració contenen dades d'ús de l'aplicació que inclouen el teu nom d'usuari, les IDs o pseudònims de les sales o grups que has visitat i els noms d'usuari d'altres usuaris. No contenen missatges."
}

View File

@ -42,7 +42,7 @@
"Messages sent by bot": "Zprávy poslané robotem",
"more": "více",
"Mute": "Ztlumit",
"All messages (loud)": "Všechny zprávy (hlasitě)",
"All messages (noisy)": "Všechny zprávy (hlasitě)",
"Couldn't load home page": "Nepodařilo se nahrát úvodní stránku",
"All notifications are currently disabled for all targets.": "Veškeré notifikace jsou aktuálně pro všechny cíle vypnuty.",
"Cancel Sending": "Zrušit odesílání",
@ -100,7 +100,7 @@
"Today": "Dnes",
"Yesterday": "Včera",
"OK": "OK",
"Warning": "Varování",
"Warning": "Upozornění",
"Checking for an update...": "Kontrola aktualizací...",
"An error occurred whilst saving your email notification preferences.": "Při ukládání nastavení e-mailových upozornění nastala chyba.",
"Collecting app version information": "Sbírání informací o verzi aplikace",
@ -210,12 +210,21 @@
"Register": "Zaregistrovat",
"Rooms": "Místnosti",
"Invite to this community": "Pozvat do této komunity",
"Add rooms to this community": "Přidat místnosti do této komunity",
"Add rooms to this community": "Přidat místnosti do této skupiny",
"State Key": "Stavový klíč",
"Send Custom State Event": "Poslat vlastní stavovou událost",
"Explore Room State": "Prohlížet stav místnosti",
"Unpin Message": "Odepnout zprávu",
"Toolbox": "Sada nástrojů",
"Send Account Data": "Poslat data o účtu",
"Explore Account Data": "Prozkoumat data o účtu"
"Explore Account Data": "Prozkoumat data o účtu",
"Appear Offline": "Jevit se offline",
"Away": "Pryč",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Pro nejlepší zážitek si prosím nainstalujte <chromeLink>Chrome</chromeLink> nebo <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> a <operaLink>Opera</operaLink> fungují taky.",
"Reply": "Odpovědět",
"Online": "Online",
"View Community": "Zobrazit Komunitu",
"%(count)s Members|other": "%(count)s Členů",
"%(count)s Members|one": "%(count)s Člen"
}

View File

@ -6,8 +6,8 @@
"Couldn't find a matching Matrix room": "Kunne ikke finde et matchende Matrix-rum",
"Custom Server Options": "Brugerdefinerede serverindstillinger",
"delete the alias.": "Slet aliaset.",
"Direct Chat": "Personligt Chat",
"Directory": "Rum fortegnelse",
"Direct Chat": "Personlig Chat",
"Directory": "Rum katalog",
"Dismiss": "Afskedige",
"Enable audible notifications in web client": "Aktivér hørbare underretninger i webklienten",
"Enable desktop notifications": "Aktivér desktop meddelelser",
@ -22,22 +22,22 @@
"Failed to update keywords": "Kunne ikke opdatere søgeord",
"Failed to get protocol list from Home Server": "Kunne ikke få protokolliste fra Home Server",
"Failed to get public room list": "Kunne ikke få offentlig rumliste",
"Failed to set Direct Message status of room": "Kunne ikke indstille direkte beskedstatus for rumet",
"Failed to set Direct Message status of room": "Kunne ikke indstille Direkte Beskedstatus for rummet",
"Favourite": "Favorit",
"Fetching third party location failed": "Hentning af tredjeparts placering mislykkedes",
"Files": "Filer",
"Filter room names": "Filtrer rumnavne",
"Filter room names": "Filtrér rumnavne",
"Forget": "Glem",
"Guests can join": "Gæster kan deltage",
"Invite to this room": "Inviter til dette rum",
"Keywords": "Søgeord",
"Leave": "Forlade",
"Leave": "Forlad",
"Low Priority": "Lav prioritet",
"Members": "Medlemmer",
"No rooms to show": "Ingen rum at vise",
"Noisy": "Støjende",
"Notification targets": "Meddelelsesmål",
"Notifications": "Meddelser",
"Notifications": "Notifikationer",
"Notifications on the following keywords follow rules which cant be displayed here:": "Meddelelser om følgende søgeord følger regler, der ikke kan vises her:",
"Notify for all other messages/rooms": "Underret om alle andre meddelelser / rum",
"Notify me for anything else": "Underret mig om noget andet",
@ -45,22 +45,177 @@
"On": "Tændt",
"Operation failed": "Operation mislykkedes",
"powered by Matrix": "Drevet af Matrix",
"Reject": "Afvise",
"Remove": "Fjerne",
"Remove from Directory": "Fjern fra fortegnelse",
"Reject": "Afvis",
"Remove": "Fjern",
"Remove from Directory": "Fjern fra Katalog",
"Riot does not know how to join a room on this network": "Riot ved ikke, hvordan man kan deltage i et rum på dette netværk",
"Room not found": "Rumet ikke fundet",
"Room not found": "Rummet ikke fundet",
"Search for a room": "Søg efter et rum",
"The Home Server may be too old to support third party networks": "Hjemmeserveren kan være for gammel til at understøtte tredjepartsnetværk",
"There are advanced notifications which are not shown here": "Der er avancerede meddelelser, som ikke vises her",
"The server may be unavailable or overloaded": "Serveren kan være utilgængelig eller overbelastet",
"Unable to fetch notification target list": "Kan ikke hente meddelelsesmålliste",
"Unable to join network": "Kan ikke deltage i netværket",
"Unable to look up room ID from server": "Kunne ikke slå op på rum-id fra server",
"Unable to join network": "Kan ikke forbinde til netværket",
"Unable to look up room ID from server": "Kunne ikke slå rum-id op på server",
"unknown error code": "Ukendt fejlkode",
"Unnamed room": "Unnamed rum",
"World readable": "Læselig til alle",
"You are not receiving desktop notifications": "Du modtager ikke desktop meddelelser",
"Unnamed room": "Unavngivet rum",
"World readable": "Læselig af alle",
"You are not receiving desktop notifications": "Du modtager ikke skrivebordsmeddelelser",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du har muligvis konfigureret dem i en anden klient end Riot. Du kan ikke tune dem i Riot, men de gælder stadig",
"Close": "Luk"
"Close": "Luk",
"Riot is not supported on mobile web. Install the app?": "Riot understøtter ikke mobilhjemmesider. Vil du installere app'en?",
"Collecting app version information": "Indsamler app versionsoplysninger",
"Collecting logs": "Indsamler logfiler",
"Uploading report": "Uploader rapport",
"Waiting for response from server": "Venter på svar fra server",
"Riot Desktop on %(platformName)s": "Riot Desktop på %(platformName)s",
"Unknown device": "Ukendt enhed",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s på %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Du skal bruge HTTPS for at lave skærm-delings-opkald.",
"Messages containing my display name": "Beskeder der indeholder mit viste navn",
"Messages containing my user name": "Beskeder der indeholder mit brugernavn",
"Messages in one-to-one chats": "Beskeder i en-til-en chats",
"Messages in group chats": "Beskeder i gruppechats",
"When I'm invited to a room": "Når jeg bliver inviteret til et rum",
"Call invitation": "Opkalds invitation",
"Messages sent by bot": "Beskeder sendt af en bot",
"OK": "OK",
"Messages containing <span>keywords</span>": "Beskeder der indeholder <span>keywords</span>",
"Advanced notification settings": "Avancerede notifikationsindstillinger",
"Show message in desktop notification": "Vis besked i skrivebordsnotifikation",
"Failed to set direct chat tag": "Kunne ikke markere rummet som direkte chat",
"Failed to remove tag %(tagName)s from room": "Kunne ikke fjerne tag(s): %(tagName)s fra rummet",
"Failed to add tag %(tagName)s to room": "Kunne ikke tilføje tag(s): %(tagName)s til rummet",
"Search…": "Søg…",
"Search": "Søg",
"This Room": "Dette rum",
"All Rooms": "Alle rum",
"Sunday": "Søndag",
"Monday": "Mandag",
"Tuesday": "Tirsdag",
"Wednesday": "Onsdag",
"Thursday": "Torsdag",
"Friday": "Fredag",
"Saturday": "Lørdag",
"Today": "I dag",
"Yesterday": "I går",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Du kan bruge de brugerdefinerede server indstillinger til at logge ind på andre Matrix servere ved at skrive en anden Home Server adresse.<br/>Dette tillader dig at bruge Riot med en eksisterende Matrix konto på en anden home server.<br/><br/>Du kan også indstille en brugerdefineret identity server men så vil du ikke kunne invitere brugere ved hjælp af deres emailadresse eller selv blive inviteret med emailadresse.",
"What's New": "Hvad er nyt",
"Update": "Opdater",
"What's new?": "Hvad er nyt?",
"Appear Offline": "Fremstå Offline",
"Away": "Ikke til stede",
"A new version of Riot is available.": "En ny version a Riot er tilgængelig.",
"To return to your account in future you need to <u>set a password</u>": "For at komme ind på din konto i fremtiden skal du <u>indstille et password</u>",
"Set Password": "Indstil Password",
"Error encountered (%(errorDetail)s).": "En fejl er opstået (%(errorDetail)s).",
"Checking for an update...": "Checker om der er en opdatering...",
"No update available.": "Ingen opdatering tilgængelig.",
"Downloading update...": "Downloader opdatering...",
"Warning": "Advarsel",
"You cannot delete this image. (%(code)s)": "Du kan ikke slette dette billede. (%(code)s)",
"Uploaded on %(date)s by %(user)s": "Uploadet den %(date)s af %(user)s",
"Download this file": "Download denne fil",
"Please describe the bug and/or send logs.": "Beskriv venligst fejlen og/eller send logs.",
"Loading bug report module": "Indlæser fejlrepporterings modul",
"Bug report sent": "Fejl rapporteret",
"Thank you!": "Tak!",
"Failed to send report: ": "Kunne ikke sende rapport: ",
"Cancel": "Afbryd",
"Report a bug": "Rapportér en fejl",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Beskriv venlist fejlen. Hvad gjorde du? Hvad forventede du ville ske? Hvad skete rent faktisk?",
"Describe your problem here.": "Beskriv dit problem her.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "For at diagnosticere problemer vil logs fra denne klient blive sendt sammen med fejlrapporten. Hvis du vil foretrække kun at sende teksten foroven, bedes du fjerne fluebenet:",
"Send logs": "Send logs",
"Send": "Send",
"Unavailable": "Utilgængelig",
"Changelog": "Ændringslog",
"Back": "Tilbage",
"Send Custom Event": "Send Brugerdefineret Begivenhed",
"You must specify an event type!": "Du skal angive en begivenhedstype!",
"Event sent!": "Begivenhed sendt!",
"Failed to send custom event.": "Kunne ikke sende brugerdefinerede begivenhed.",
"Event Type": "Begivenhedstype",
"State Key": "Tilstandsnøgle",
"Event Content": "Begivenhedsindhold",
"Send Account Data": "Send Konto Data",
"Filter results": "Filtrér resultater",
"Explore Room State": "Udforsk Rum Tilstand",
"Edit": "Rediger",
"Explore Account Data": "Udforsk Konto Data",
"Toolbox": "Værktøjer",
"Developer Tools": "Udviklingsværktøjer",
"You have successfully set a password!": "Du har succesfuldt indstillet et password!",
"You have successfully set a password and an email address!": "Du har succesfuldt indstillet et password og en emailadresse!",
"You can now return to your account after signing out, and sign in on other devices.": "Du kan nu vende tilbage til din konto efter at have logget ud og logge ind på andre enheder.",
"Remember, you can always set an email address in user settings if you change your mind.": "Husk, du kan altid indstille en emailadresse i dine bruger indstillinger hvis du ombestemmer dig.",
"Continue": "Fortsæt",
"Failed to change password. Is your password correct?": "Kunne ikke ændre password. Er dit password korrekt?",
"(HTTP status %(httpStatus)s)": "(HTTP tilstand %(httpStatus)s)",
"Please set a password!": "Indstil venligst et password!",
"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.",
"You cannot delete this message. (%(code)s)": "Du kan ikke slette denne besked. (%(code)s)",
"Resend": "Send igen",
"Cancel Sending": "Stop Forsendelse",
"Forward Message": "Videresend Besked",
"Unpin Message": "Fasthold ikke længere Besked",
"Pin Message": "Fasthold Besked",
"View Source": "Se Kilde",
"View Decrypted Source": "Se Dekrypteret Kilde",
"Unhide Preview": "Vis Forhåndsvisning",
"Permalink": "Permanent link",
"Quote": "Citat",
"Source URL": "Kilde URL",
"Failed to forget room %(errCode)s": "Kunne ikke glemme rummet %(errCode)s",
"All messages (loud)": "Alle beskeder (høj)",
"All messages": "Alle beskeder",
"Mentions only": "Kun nævninger",
"Mute": "Sæt på lydløs",
"Sorry, your browser is <b>not</b> able to run Riot.": "Beklager, din browser kan <b>ikke</b> køre Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot bruger mange avancerede browser funktioner, hvoraf nogle af dem ikke er tilgængelige eller er eksperimentelle i din browser.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Installer venligst <chromeLink>Chrome</chromeLink> eller <firefoxLink>Firefox</firefoxLink> for den bedste oplevelse.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> og <operaLink>Opera</operaLink> virker også.",
"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 din nuværnde broser kan udseendet og fornemmelsen af programmet være helt forkert og nogle funktioner virker måske ikke. Hvis du alligevel vil prøve så kan du fortsætte, men det er på egen risiko!",
"I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker at fortsætte",
"Couldn't load home page": "Kunne ikke indlæse startsiden",
"Login": "Log ind",
"Register": "Registrér",
"Rooms": "Rum",
"Hide panel": "Gem panel",
"Invite to this community": "Inviter til dette fællesskab",
"Add rooms to this community": "Tilføj rum til dette fællesskab",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Slet rumaliaset %(alias)s og fjern %(name)s fra kataloget?",
"Remove %(name)s from the directory?": "Fjern %(name)s fra kataloget?",
"remove %(name)s from the directory.": "fjern %(name)s fra kataloget.",
"more": "mere",
"Expand panel": "Udvid panel",
"Collapse panel": "Slå panel sammen",
"Welcome to Riot.im": "Velkommen til Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentraliseret, krypteret chat &amp; samarbejde baseret på [matrix]",
"Search the room directory": "Søg i rumkataloget",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Masser af rum ekistere allerede i Matrix, forbundet til eksisterende netværk (Slack, IRC, Gitter osv.) eller selvstændige. Tjek kataloget ud!",
"Chat with Riot Bot": "Chat med Riot Bot",
"Get started with some tips from Riot Bot!": "Kom godt i gang med nogle tips fra Riot Bot!",
"General discussion about Matrix and Riot": "Generel diskussion om Matrix og Riot",
"Discussion of all things Matrix!": "Diskussion om alt der har med Matrix at gøre!",
"Riot/Web &amp; Desktop chat": "Riot/Web- &amp; Desktopchat",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"Matrix technical discussions": "Matrix tekniske diskussioner",
"Running Matrix services": "Drift af Matrix tjenester",
"Community-run support for Synapse": "Fællesskabsstyret hjælp til Synapse",
"Admin support for Dendrite": "Adminstrationshjælp til Dendrite",
"Announcements about Synapse releases": "Announceringer om Synapse udgivelser",
"Support for those using and running matrix-appservice-irc": "Hjælp til dem der bruger og kører matrix-appservice-irc",
"Building services on Matrix": "Bygning af tjenester på Matrix",
"Support for those using the Matrix spec": "Hjælp til dem der anvender Matrix speciffikationen",
"Design and implementation of E2E in Matrix": "Design og implementering af E2E i Matrix",
"Implementing VR services with Matrix": "Implementering af VR tjenester med Matrix",
"Implementing VoIP services with Matrix": "Implementering af VoIP tjenester med Matrix",
"Discussion of the Identity Service API": "Diskussion af Identity Service API'en",
"Support for those using, running and writing other bridges": "Hjælp til dem der bruger, driver og skriver andre bridges",
"Contributing code to Matrix and Riot": "Biddrag med kode til Matrix og Riot",
"Dev chat for the Riot/Web dev team": "Udviklerchat til Riot/Web udviklerholdet",
"Dev chat for the Dendrite dev team": "Udviklerchat til Dendrite udviklerholdet",
"Co-ordination for Riot/Web translators": "Co-ordination af Riot/Web oversættere"
}

View File

@ -62,19 +62,19 @@
"On": "An",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Du hast sie eventuell auf einem anderen Matrix-Client und nicht in Riot konfiguriert. Sie können in Riot nicht verändert werden, gelten aber trotzdem",
"All messages": "Alle Nachrichten",
"All messages (loud)": "Alle Nachrichten (laut)",
"All messages (noisy)": "Alle Nachrichten (laut)",
"Cancel Sending": "Senden abbrechen",
"Close": "Schließen",
"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?",
"Download this file": "Datei herunterladen",
"Failed to add tag %(tagName)s to room": "Das Hinzufügen des Tags %(tagName)s für den Raum ist fehlgeschlagen",
"Failed to add tag %(tagName)s to room": "Fehler beim Hinzufügen des \"%(tagName)s\"-Tags an dem Raum",
"Failed to forget room %(errCode)s": "Das Entfernen des Raums ist fehlgeschlagen %(errCode)s",
"Failed to remove tag %(tagName)s from room": "Das Entfernen des Tags %(tagName)s für den Raum ist fehlgeschlagen",
"Failed to set direct chat tag": "Fehler beim Setzen der \"Direkter Chat\"-Kennzeichnung",
"Failed to remove tag %(tagName)s from room": "Fehler beim Entfernen des \"%(tagName)s\"-Tags von dem Raum",
"Failed to set direct chat tag": "Fehler beim Setzen der Direkt-Chat-Markierung",
"Mentions only": "Nur, wenn du erwähnt wirst",
"Mute": "Stummschalten",
"Permalink": "Permanenter Link",
"Quote": "Zitieren",
"Quote": "Zitat",
"Remove %(name)s from the directory?": "Soll der Raum %(name)s aus dem Verzeichnis entfernt werden?",
"remove %(name)s from the directory.": "entferne %(name)s aus dem Verzeichnis.",
"Resend": "Erneut senden",
@ -216,6 +216,23 @@
"Invite to this community": "In diese Community einladen",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Die benutzerdefinierten Server-Einstellungen kannst du verwenden, um dich auf anderen Matrix-Servern anzumelden, indem du eine abweichende Heimserver-URL eingibst.<br/>Somit ist es möglich, Riot mit einem bereits bestehendem Matrix-Benutzerkonto auf einem anderen Heimserver zu verwenden.<br/><br/>Außerdem kannst du einen benutzerdefinierten Identitätsserver eingeben. Allerdings kannst du in diesem Fall Benutzer nicht mehr per E-Mail-Adresse einladen und auch selbst nicht mehr per E-Mail-Adresse eingeladen werden.",
"Toolbox": "Werkzeugkasten",
"Explore Account Data": "Daten des Benutzerkontos erkunden",
"Send Account Data": "Sende Benutzerkonto-Daten"
"Explore Account Data": "Benutzerkonto-Daten analysieren",
"Send Account Data": "Benutzerkonto-Daten senden",
"Away": "Abwesend",
"Appear Offline": "Als offline anzeigen",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> und <operaLink>Opera</operaLink> sind weitere Alternativen.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Bitte installiere <chromeLink>Chrome</chromeLink> oder <firefoxLink>Firefox</firefoxLink> für ein optimales Anwendungsergebnis.",
"Reply": "Antworten",
"%(count)s Members|other": "%(count)s Mitglieder",
"%(count)s Members|one": "%(count)s Mitglied",
"Online": "Online",
"View Community": "Community ansehen",
"Submit debug logs": "Fehlerberichte einreichen",
"Preparing to send logs": "Senden von Logs wird vorbereitet",
"Logs sent": "Logs gesendet",
"Failed to send logs: ": "Senden von Logs fehlgeschlagen: ",
"<a>Click here</a> to create a GitHub issue.": "<a>Klicke hier</a> um ein GithHub-Problem zu erstellen.",
"GitHub issue link:": "Link des GitHub-Problems:",
"Notes:": "Notizen:",
"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.": "Fehlerberichte enthalten Anwendungsdaten wie deinen Nutzernamen, Raum- und Gruppen-ID's und Aliase die du besucht hast sowie Nutzernamen anderer Nutzer. Sie enthalten keine Nachrichten."
}

View File

@ -29,7 +29,7 @@
"Collecting app version information": "Συγκέντρωση πληροφοριών σχετικά με την έκδοση της εφαρμογής",
"customServer_text": "Μπορείτε να χρησιμοποιήσετε τις προσαρμοσμένες ρυθμίσεις για να εισέλθετε σε άλλους διακομιστές Matrix επιλέγοντας μια διαφορετική διεύθυνση για το διακομιστή.<br/> Αυτό σας επιτρέπει να χρησιμοποιήσετε την εφαρμογή Riot με έναν υπάρχοντα λογαριασμό σε διαφορετικό διακομιστή.<br/><br/>Επίσης μπορείτε να επιλέξετε ένα διαφορετικό διακομιστή ταυτότητας αλλά δεν θα έχετε τη δυνατότητα να προσκαλέσετε άλλους χρήστες ή να σας προσκαλέσουν μέσω μηνυμάτων ηλεκτρονικής αλληλογραφίας.",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s μέσω %(browserName)s σε %(osName)s",
"All messages (loud)": "Όλα τα μηνύματα (δυνατά)",
"All messages (noisy)": "Όλα τα μηνύματα (δυνατά)",
"delete the alias.": "διέγραψε το ψευδώνυμο.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Διαγραφή του ψευδώνυμου %(alias)s και αφαίρεση του %(name)s από το ευρετήριο;",
"Dismiss": "Απόρριψη",

View File

@ -43,9 +43,6 @@
"Off": "Off",
"On": "On",
"Noisy": "Noisy",
"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",
"Search…": "Search…",
"Search": "Search",
"This Room": "This Room",
@ -82,21 +79,21 @@
"Remove": "Remove",
"Close": "Close",
"Download this file": "Download this file",
"Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.",
"Loading bug report module": "Loading bug report module",
"Bug report sent": "Bug report sent",
"Preparing to send logs": "Preparing to send logs",
"Logs sent": "Logs sent",
"Thank you!": "Thank you!",
"Failed to send report: ": "Failed to send report: ",
"Failed to send logs: ": "Failed to send logs: ",
"Cancel": "Cancel",
"Report a bug": "Report a bug",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?",
"Describe your problem here.": "Describe your problem here.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:",
"Submit debug logs": "Submit debug logs",
"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.": "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.",
"<a>Click here</a> to create a GitHub issue.": "<a>Click here</a> to create a GitHub issue.",
"GitHub issue link:": "GitHub issue link:",
"Notes:": "Notes:",
"Send logs": "Send logs",
"Send": "Send",
"Unavailable": "Unavailable",
"Changelog": "Changelog",
"Back": "Back",
"Send": "Send",
"Send Custom Event": "Send Custom Event",
"You must specify an event type!": "You must specify an event type!",
"Event sent!": "Event sent!",
@ -124,6 +121,7 @@
"Resend": "Resend",
"Cancel Sending": "Cancel Sending",
"Forward Message": "Forward Message",
"Reply": "Reply",
"Unpin Message": "Unpin Message",
"Pin Message": "Pin Message",
"View Source": "View Source",
@ -132,10 +130,13 @@
"Permalink": "Permalink",
"Quote": "Quote",
"Source URL": "Source URL",
"Online": "Online",
"Away": "Away",
"Appear Offline": "Appear Offline",
"Failed to set Direct Message status of room": "Failed to set Direct Message status of room",
"unknown error code": "unknown error code",
"Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s",
"All messages (loud)": "All messages (loud)",
"All messages (noisy)": "All messages (noisy)",
"All messages": "All messages",
"Mentions only": "Mentions only",
"Mute": "Mute",
@ -145,6 +146,7 @@
"Favourite": "Favourite",
"Low Priority": "Low Priority",
"Direct Chat": "Direct Chat",
"View Community": "View Community",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.",
@ -154,8 +156,10 @@
"Couldn't load home page": "Couldn't load home page",
"Login": "Login",
"Register": "Register",
"Invite to this room": "Invite to this room",
"Members": "Members",
"%(count)s Members|other": "%(count)s Members",
"%(count)s Members|one": "%(count)s Member",
"Invite to this room": "Invite to this room",
"Files": "Files",
"Notifications": "Notifications",
"Rooms": "Rooms",

View File

@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Add an email address above to configure email notifications",
"Advanced notification settings": "Advanced notification settings",
"All messages": "All messages",
"All messages (loud)": "All messages (loud)",
"All messages (noisy)": "All messages (noisy)",
"All Rooms": "All Rooms",
"All notifications are currently disabled for all targets.": "All notifications are currently disabled for all targets.",
"An error occurred whilst saving your email notification preferences.": "An error occurred while saving your email notification preferences.",

View File

@ -1,136 +1,136 @@
{
"A new version of Riot is available.": "Nova versio de \"Riot\" haveblas.",
"A new version of Riot is available.": "Nova versio de Riot haveblas.",
"All messages": "Ĉiuj mesaĝoj",
"All messages (loud)": "Ĉiuj mesaĝoj (lauta)",
"All messages (noisy)": "Ĉiuj mesaĝoj (lauta)",
"All Rooms": "Ĉiuj babilejoj",
"Cancel": "Nuligi",
"delete the alias.": "Forviŝi la kromnomon.",
"Describe your problem here.": "Priskribi vian problemon ĉi tie.",
"Direct Chat": "Rekta babilejo",
"delete the alias.": "forigi la kromnomon.",
"Describe your problem here.": "Priskribu vian problemon ĉi tie.",
"Direct Chat": "Rekta babilo",
"Directory": "Dosierujo",
"Dismiss": "Eksigu",
"Download this file": "Elŝutu ĉi-tiun dosieron",
"Dismiss": "Rezigni",
"Download this file": "Elŝuti ĉi tiun dosieron",
"#example": "#ekzemplo",
"Files": "Dosieroj",
"Forget": "Forgesi",
"Guests can join": "Gastoj povas aliĝi",
"I understand the risks and wish to continue": "Mi komprenas la riskonj kaj volas daŭrigi",
"Invite to this room": "Inviti en ĉi tiun babilejon",
"I understand the risks and wish to continue": "Mi komprenas la riskojn kaj volas daŭrigi",
"Invite to this room": "Inviti al ĉi tiu ĉambro",
"Keywords": "Ŝlosilvortoj",
"Leave": "Foriri",
"Low Priority": "Malalta prioritato",
"Messages containing my display name": "Mesaĝoj enhavantaj mian vidigan nomon",
"Messages containing <span>keywords</span>": "Mesaĝoj enhavantaj <span>ŝlosilovortojn</span>",
"Messages containing my user name": "Mesaĝoj enhavantaj mian uzantnomon",
"Messages in group chats": "Mesaĝoj en grupaj babilejoj",
"Messages containing my user name": "Mesaĝoj enhavantaj mian salutnomon",
"Messages in group chats": "Mesaĝoj en grupaj babiloj",
"Mute": "Silentigi",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bonvolu priskribi la cimon. Kion vi faris? Kion vi atendis okazi? Kion fakte okazis?",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Bonvolu priskribi la cimon. Kion vi faris? Kion vi atendis? Kio fakte okazis?",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Bonvolu instali <a href=\"https://www.google.com/chrome\">\"Chrome\"</a> aŭ <a href=\"https://getfirefox.com\">\"Firefox\"</a> por la plej bona sperto.",
"powered by Matrix": "funkciigata de \"Matrix\"",
"Quote": "Citu",
"Reject": "Malakcepti",
"powered by Matrix": "funkciigata de Matrix",
"Quote": "Citi",
"Reject": "Rifuzi",
"Resend": "Resendi",
"Room not found": "Babilejo ne trovita",
"Room not found": "Ĉambro ne troviĝis",
"Search": "Serĉi",
"Search…": "Serĉi…",
"Search for a room": "Serĉi babilejon",
"Search for a room": "Serĉi ĉambron",
"Send": "Sendi",
"This Room": "Ĉi tiu Babilejo",
"This Room": "Ĉi tiu ĉambro",
"Add an email address above to configure email notifications": "Aldonu retadreson supre por agordi retpoŝtajn sciigojn",
"Advanced notification settings": "Agordoj de sciigoj specialaj",
"Advanced notification settings": "Specialaj agordoj de sciigoj",
"Call invitation": "Invito al voko",
"All notifications are currently disabled for all targets.": "Ĉiuj sciigoj estas malvalidigitaj por ĉiu aparato.",
"An error occurred whilst saving your email notification preferences.": "Eraro okazis dum konservado de agordoj por retpoŝtaj sciigoj.",
"Cancel Sending": "Nuligi sendadon",
"Can't update user notification settings": "Ne eblas ĝisdatigi la agordojn de sciigoj al uzanto",
"All notifications are currently disabled for all targets.": "Ĉiuj sciigoj nun estas malŝaltitaj por ĉiuj aparatoj.",
"An error occurred whilst saving your email notification preferences.": "Eraro okazis dum konservado de agordoj pri retpoŝtaj sciigoj.",
"Cancel Sending": "Nuligi sendon",
"Can't update user notification settings": "Agordoj de sciigoj al uzanto ne ĝisdatigeblas",
"Changelog": "Protokolo de ŝanĝoj",
"Close": "Fermi",
"Collapse panel": "Kaŝi panelon",
"Collecting app version information": "Kolektante informon pri versio de la aplikaĵo",
"Collapse panel": "Maletendi panelon",
"Collecting app version information": "Kolektanta informon pri versio de la aplikaĵo",
"Collecting logs": "Kolektante protokolon",
"Couldn't find a matching Matrix room": "Ne eblis trovi kongruantan ejon Matrix",
"Custom Server Options": "Opcioj pri personigo de servilo",
"Couldn't find a matching Matrix room": "Malsukcesis trovi kongruan ĉambron en Matrix",
"Custom Server Options": "Propraj servilaj elektoj",
"customServer_text": "Vi povas uzi opciojn personigitajn de la servilo por ensaluti en aliajn servilojn Matrix specifante alian adreson URL-an de alia servilo Home.<br/>Tio permesas al vi uzi Riot per ekzistanta konto en alia Home servilo.<br/><br/>Vi povas ankaŭ agordi servilon identecan personigita, sed ne eblos inviti uzantojn pere de retpoŝtadreso, aŭ esti invitita pere de retpoŝtadreso vi mem.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Forviŝi la kromnomon de la ejo %(alias)s and forigi %(name)s el la dosierujo?",
"Enable audible notifications in web client": "Ebligi aŭdeblajn sciigojn en la retkliento",
"Enable desktop notifications": "Ebligi labortablajn sciigojn",
"Enable email notifications": "Ebligi retpoŝtajn sciigojn",
"Enable notifications for this account": "Ebligi sciigojn por tiu ĉi konto",
"Enable them now": "Ebligi ilin nun",
"Enter keywords separated by a comma:": "Entajpi ŝlosilvortojn apartigitaj per komoj:",
"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?",
"Enable audible notifications in web client": "Ŝalti aŭdeblajn sciigojn en la retkliento",
"Enable desktop notifications": "Ŝalti labortablajn sciigojn",
"Enable email notifications": "Ŝalti retpoŝtajn sciigojn",
"Enable notifications for this account": "Ŝalti sciigojn por tiu ĉi konto",
"Enable them now": "Ŝalti ilin nun",
"Enter keywords separated by a comma:": "Entajpu ŝlosilvortojn apartigitajn per komoj:",
"Error": "Eraro",
"Error saving email notification preferences": "Eraro konservante agordojn pri retpoŝtaj sciigoj",
"Expand panel": "Pli grandigi panelon",
"Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al la ejo",
"Expand panel": "Etendi panelon",
"Failed to add tag %(tagName)s to room": "Malsukcesis aldoni etikedon %(tagName)s al la ĉambro",
"Failed to change settings": "Malsukcesis ŝanĝi la agordojn",
"Failed to forget room %(errCode)s": "Malsukcesis forgesi la ejon %(errCode)s",
"Failed to forget room %(errCode)s": "Malsukcesis forgesi ĉambron %(errCode)s",
"Failed to update keywords": "Malsukcesis ĝisdatigi la ŝlosilvortojn",
"Failed to get protocol list from Home Server": "Malsukcesis obteni la liston de protokoloj por la servilo Home",
"Failed to get public room list": "Malsukcesis obteni la liston de publikaj ejoj",
"Failed to remove tag %(tagName)s from room": "Malsukcesis forigi la etikedon %(tagName)s el la ejo",
"Failed to get protocol list from Home Server": "Malsukcesis akiri liston de protokoloj el la hejmservilo",
"Failed to get public room list": "Malsukcesis akiri liston de publikaj ĉambroj",
"Failed to remove tag %(tagName)s from room": "Malsukcesis forigi etikedon %(tagName)s el la ĉambro",
"Failed to send report: ": "Malsukcesis sendi raporton: ",
"Failed to set direct chat tag": "Malsukcesis agordi la etikedon de rekta babilejo",
"Failed to set Direct Message status of room": "Malsukcesis agordi la staton de Rekta Mesaĝo de la ejo",
"Failed to set direct chat tag": "Malsukcesis agordi la etikedon de rekta babilo",
"Failed to set Direct Message status of room": "Malsukcesis agordi staton de rekta mesaĝo al la ĉambro",
"Forward Message": "Plusendi mesaĝon",
"Hide panel": "Kaŝi panelon",
"(HTTP status %(httpStatus)s)": "(stato HTTP %(httpStatus)s)",
"(HTTP status %(httpStatus)s)": "(stato de HTTP %(httpStatus)s)",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Por diagnozi problemojn, protokoloj el tiu ĉi kliento sendiĝos kune kun tiu ĉi raporto de eraro. Se vi preferas sendi nur la supran tekston, bonvolu malŝalti:",
"Login": "Ensaluti",
"Loading bug report module": "Ŝarĝante modulon pri eraroraporto",
"Members": "Membroj",
"Login": "Saluti",
"Loading bug report module": "Enleganta cimraportan modulon",
"Members": "Anoj",
"Mentions only": "Nur mencioj",
"Messages in one-to-one chats": "Mesaĝoj en unu-je-unu babilejoj",
"Messages sent by bot": "Mesaĝoj sendita per roboto",
"Messages in one-to-one chats": "Mesaĝoj en duopaj babiloj",
"Messages sent by bot": "Mesaĝoj senditaj per roboto",
"more": "pli",
"No rooms to show": "Neniu ejo por montri",
"No rooms to show": "Neniuj ĉambroj montreblas",
"Noisy": "Brua",
"Notification targets": "Celo de sciigoj",
"Notification targets": "Celoj de sciigoj",
"Notifications": "Sciigoj",
"Notifications on the following keywords follow rules which cant be displayed here:": "La sciigoj de la sekvaj ŝlosilvortoj sekvas regulojn kiuj ne povas esti montrataj ĉi tie:",
"Notifications on the following keywords follow rules which cant be displayed here:": "La sciigoj de la jenaj ŝlosilvortoj sekvas regulojn kiuj ne povas esti montrataj ĉi tie:",
"Notify for all other messages/rooms": "Sciigu min por ĉiu alia babilejo",
"Notify me for anything else": "Sciigu min por ĉio alia",
"Off": "Malŝaltita",
"On": "Ŝaltita",
"Operation failed": "La operacio malsukcesis",
"Notify me for anything else": "Sciigu min pri ĉio alia",
"Off": "For",
"On": "Ek",
"Operation failed": "Ago malsukcesis",
"Permalink": "Konstanta ligilo",
"Please describe the bug and/or send logs.": "Bonvolu priskribi la cimon kaj/aŭ sendi protokolojn.",
"Remove %(name)s from the directory?": "Forigi %(name)s el la dosierujo?",
"Remove %(name)s from the directory?": "Ĉu forigi %(name)s de la ujo?",
"Remove": "Forigi",
"remove %(name)s from the directory.": "forigi %(name)s el la dosierujo.",
"Remove from Directory": "Forigi el Dosierujo",
"remove %(name)s from the directory.": "forigi %(name)s de la ujo.",
"Remove from Directory": "Forigi de ujo",
"Report a bug": "Raporti cimon",
"Riot Desktop on %(platformName)s": "Riot Labortablo sur %(platformName)s",
"Riot does not know how to join a room on this network": "Riot ne scias kiel aliĝi al ejo en tiu ĉi reto",
"Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenita je mobile web. Instali la aplikaĵon?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uzas multajn specialajn trajtojn, kelkaj ne estas disponeblaj aŭ estas eksperimentaj en via nuna retumilo.",
"Riot does not know how to join a room on this network": "Riot ne scias aliĝi al ĉambroj en tiu ĉi reto",
"Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenata sur poŝkomputila reto. Ĉu instali la aplikaĵon?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uzas multajn specialajn funkciojn, el kiuj kelkaj ne disponeblas aŭ estas eksperimentaj en via nuna foliumilo.",
"Send logs": "Sendi protokolojn",
"Source URL": "Fonta URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Pardonu, via retumilo <b>ne kapablas</b> funkciigi Riot.",
"The Home Server may be too old to support third party networks": "La servilo Home povas esti tro malnova por subteni retoj de ekstera liveranto",
"There are advanced notifications which are not shown here": "Estas specialaj sciigoj kiuj ne estas montritaj ĉi tie",
"The server may be unavailable or overloaded": "La servilo povas esti maldisponebla aŭ tro ŝarĝita",
"Unable to fetch notification target list": "Ne eblis obteni la liston de celoj por sciigoj",
"Unable to join network": "Ne eblis kuniĝi kun la reto",
"Unable to look up room ID from server": "Ne eblis trovi la identigon el la servilo",
"Unavailable": "Maldisponebla",
"Sorry, your browser is <b>not</b> able to run Riot.": "Pardonu, via foliumilo <b>ne kapablas</b> funkciigi klienton Riot.",
"The Home Server may be too old to support third party networks": "La hejmservilo povas esti tro malnova por subteni retojn de eksteraj liverantoj",
"There are advanced notifications which are not shown here": "Ekzistas specialaj sciigoj, kiuj ne montriĝas ĉi tie",
"The server may be unavailable or overloaded": "La servilo povas esti nedisponebla aŭ troŝarĝita",
"Unable to fetch notification target list": "Malsukcesis akiri la liston de celoj por sciigoj",
"Unable to join network": "Malsukcesis konektiĝi al la reto",
"Unable to look up room ID from server": "Ĉambra identigaĵo ne akireblas de la servilo",
"Unavailable": "Nedisponebla",
"Unhide Preview": "Malkaŝi antaŭrigardon",
"Unknown device": "Nekonata aparato",
"unknown error code": "kodo de nekonata eraro",
"Unnamed room": "Nekonata ejo",
"unknown error code": "nekonata kodo de eraro",
"Unnamed room": "Sennoma ĉambro",
"Update": "Ĝisdatigi",
"Uploaded on %(date)s by %(user)s": "Alŝutita je %(date)s per %(user)s",
"Uploaded on %(date)s by %(user)s": "Alŝutita je %(date)s de %(user)s",
"Uploading report": "Alŝutante raporton",
"View Decrypted Source": "Vidi malĉifritan fonton",
"View Source": "Vidi fonton",
"What's New": "Kio novas",
"What's new?": "Kio novas?",
"Waiting for response from server": "Atendante respondon el la servilo",
"When I'm invited to a room": "Kiam mi estas invitita en ejon",
"World readable": "Legebla tutmonde",
"You cannot delete this image. (%(code)s)": "Vi ne povas forviŝi tiun ĉi bildon. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Vi ne povas forviŝi tiun ĉi mesaĝon. (%(code)s)",
"You are not receiving desktop notifications": "Vi ne estas ricevante sciigojn labortablan",
"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 kliento kiu ne estis Riot. Vi ne povas agordi ilin en Riot sed ili ankoraŭ validas",
"When I'm invited to a room": "Kiam mi estas invitita al ĉambro",
"World readable": "Legebla de ĉiuj",
"You cannot delete this image. (%(code)s)": "Vi ne povas forigi tiun ĉi bildon. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Vi ne povas forigi tiun ĉi mesaĝon. (%(code)s)",
"You are not receiving desktop notifications": "Vi ne ricevadas sciigojn labortablajn",
"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",
"Sunday": "Dimanĉo",
"Monday": "Lundo",
"Tuesday": "Mardo",
@ -141,50 +141,89 @@
"Today": "Hodiaŭ",
"Yesterday": "Hieraŭ",
"OK": "Bone",
"You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por starigi ekranan vokon.",
"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!": "Kun via nuna retumilo, la aspekto kaj funkciado de la aplikaĵo povas esti tute malĝusta, kaj kelkaj aŭ ĉiu funkcioj eble ne funkcios. Se vi volas provi ĉiuokaze vi rajtas daŭrigi, sed ne estos subteno se vi trafas problemojn!",
"Welcome to Riot.im": "Bonvenon al Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilejo &amp; kunlaboro povigita de [matrix]",
"Search the room directory": "Serĉi la ejan dosierujon",
"Chat with Riot Bot": "Babili kun la roboto Riot Bot",
"Get started with some tips from Riot Bot!": "Eki per sugesto de la roboto Riot Bot!",
"You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekranvidadi.",
"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!": "Kun via nuna foliumilo, la aspekto kaj funkciado de la aplikaĵo povas esti tute malĝusta, kaj kelkaj aŭ ĉiu funkcioj eble ne tute funkcios. Se vi tamen volas provi, vi povas daŭrigi, sed vi ricevos nenian subtenon se vi renkontos problemojn!",
"Welcome to Riot.im": "Bonvenu al Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Malcentra, ĉifrita babilado &amp; kunlaboro povigita de [matrix]",
"Search the room directory": "Serĉi en la ĉambrujo",
"Chat with Riot Bot": "Babilu kun la roboto Riot Bot",
"Get started with some tips from Riot Bot!": "Komencu kun kelkaj sugestoj de la roboto Riot Bot!",
"General discussion about Matrix and Riot": "Ĝenerala diskutado pri Matrix kaj Riot",
"Discussion of all things Matrix!": "Diskutado pri ĉio rilate al Matrix!",
"Riot/Web &amp; Desktop chat": "Diskudato labortabla pri Riot/Web",
"Riot/iOS &amp; matrix-ios-sdk chat": "Diskutado pri Riot/iOS &amp; matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Diskutado pri Riot/Android &amp; matrix-android-sdk",
"Matrix technical discussions": "Teknikaj diskutoj pri Matrix",
"Running Matrix services": "Funkciigado de servoj Matrix",
"Discussion of all things Matrix!": "Diskutado pri ĉio rilata al Matrix!",
"Riot/Web &amp; Desktop chat": "Babilado pri Riot ĉe reto kaj labortablo",
"Riot/iOS &amp; matrix-ios-sdk chat": "Babilado pri Riot ĉe iOS kaj matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Babilado pri Riot ĉe Android kaj matrix-android-sdk",
"Matrix technical discussions": "Teĥnikaj diskutoj pri Matrix",
"Running Matrix services": "Funkciigado de servoj de Matrix",
"Community-run support for Synapse": "Komunuma subtenado de Synapse",
"Admin support for Dendrite": "Administra subtenado por Dendrite",
"Announcements about Synapse releases": "Anoncoj pri eldonoj Synapse",
"Announcements about Synapse releases": "Anoncoj pri eldonoj de Synapse",
"Support for those using and running matrix-appservice-irc": "Subteno por tiuj, kiuj uzas kaj funkciigas matrix-appservice-irc",
"Building services on Matrix": "Konstruante servojn per Matrix",
"Support for those using the Matrix spec": "Subteno por tiuj, kiuj uzas la specifon Matrix",
"Design and implementation of E2E in Matrix": "Dizajno kaj realigo de E2E en Matrix",
"Implementing VR services with Matrix": "Realigi VR-servojn per Matrix",
"Implementing VoIP services with Matrix": "Realigi VoIP-servojn per Matrix",
"Discussion of the Identity Service API": "Diskutado pri la API de Identiga Servo",
"Support for those using, running and writing other bridges": "Subteno por tiuj, kiuj uzas, funkciigas kaj skribas aliajn pontojn",
"Contributing code to Matrix and Riot": "Kontribui kodon al Matrix kaj Riot",
"Dev chat for the Riot/Web dev team": "Programista babilado por la programteamo de Riot/Web",
"Dev chat for the Dendrite dev team": "Programista babilado por la programteamo de Dendrite",
"Co-ordination for Riot/Web translators": "Kunordigado por tradukistoj de Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ejoj jam ekzistas en Matrix, ligitaj al ekzistantaj retoj (Slock, IRC, Gitter, ktp) aŭ sendependaj. Kontrolu la dosierujon!",
"Failed to change password. Is your password correct?": "Malsukcesis ŝanĝi la pasvorton. Ĉu via pasvorto pravas?",
"Building services on Matrix": "Konstruado de servoj sur Matrix",
"Support for those using the Matrix spec": "Subteno por tiuj, kiuj uzas la specifon de Matrix",
"Design and implementation of E2E in Matrix": "Fasonado kaj realigado de ĝiscela ĉifrado en Matrix",
"Implementing VR services with Matrix": "Realigado de VR-servoj en Matrix",
"Implementing VoIP services with Matrix": "Realigado de VoIP-servoj en Matrix",
"Discussion of the Identity Service API": "Diskutado pri API de la identiga servo",
"Support for those using, running and writing other bridges": "Subteno por tiuj, kiuj uzas, funkciigas, aŭ evoluigas aliajn pontojn",
"Contributing code to Matrix and Riot": "Kontribuado de kodo al Matrix kaj Riot",
"Dev chat for the Riot/Web dev team": "Babilado por la programista skipo de Riot ĉe reto",
"Dev chat for the Dendrite dev team": "Babilado por la programista skipo de Dendrite",
"Co-ordination for Riot/Web translators": "Kunordigado por tradukistoj de Riot ĉe reto",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ĉambroj jam ekzistas en Matrix; kaj sendependaj, kaj ligitaj kun jamaj retoj (Slock, IRC, Gitter, ktp.). Rigardu la ĉambrujon!",
"Failed to change password. Is your password correct?": "Malsukcesis ŝanĝi la pasvorton. Ĉu via pasvorto estas ĝusta?",
"You have successfully set a password!": "Vi sukcese agordis pasvorton!",
"You can now return to your account after signing out, and sign in on other devices.": "Vi nun rajtas reiri al via konto post elsaluto, kaj ensaluti per aliaj aparatoj.",
"You can now return to your account after signing out, and sign in on other devices.": "Vi nun rajtas reveni al via konto post adiaŭo, kaj saluti per ĝi kun aliaj aparatoj.",
"Continue": "Daŭrigi",
"Please set a password!": "Bonvolu agordi pasvorton!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Tio ĉi permesos vin reiri al via konto post elsaluto, kaj ensaluti per alia aparato.",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Tio ĉi permesos al vi reveni al via konto post adiaŭo, kaj saluti kun alia aparato.",
"You have successfully set a password and an email address!": "Vi sukcese agordis pasvorton kaj retpoŝtadreson!",
"Remember, you can always set an email address in user settings if you change your mind.": "Memoru, vi ĉiam povas agordi retpoŝtadreson en via uzanta agordo se vi decidas ŝanĝi ĝin poste.",
"Remember, you can always set an email address in user settings if you change your mind.": "Memoru: vi ĉiam povas agordi retpoŝtadreson en viaj agordoj por uzantoj.",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s je %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> kaj <a href=\"http://opera.com\">Opera</a> ankaŭ funkcias.",
"Favourite": "Plej ŝatata",
"Fetching third party location failed": "Venigado de ekstere liverita loko malsukcesis",
"Filter room names": "Filtri nomojn de ejoj",
"Favourite": "Ŝatata",
"Fetching third party location failed": "Malsukcesis trovi lokon de ekstera liveranto",
"Filter room names": "Filtri nomojn de ĉambroj",
"Warning": "Averto",
"Checking for an update...": "Kontrolanta por ĝisdatigo...",
"No update available.": "Ĝisdatigo ne estas disponata."
"Checking for an update...": "Serĉanta ĝisdatigojn…",
"No update available.": "Neniuj ĝisdatigoj haveblas.",
"Unpin Message": "Malfiksi mesaĝon",
"Rooms": "Ĉambroj",
"Show message in desktop notification": "Montradi mesaĝojn en labortablaj sciigoj",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas uzi proprajn servilajn elektojn por saluti aliajn servilojn de Matrix, per specifo de alia hejmservila URL.<br/>Tio permesas al vi uzi klienton Riot kun jama konto de Matrix en alia hejmservilo.<br/><br/>Vi ankaŭ povas agordi propran identigan servilon, sed vi ne povos inviti uzantojn per retpoŝtadreso, aŭ esti invitata per retpoŝtadreso mem.",
"Appear Offline": "Montriĝi kiel eksterreta",
"Away": "Foresta",
"To return to your account in future you need to <u>set a password</u>": "Por reveni al via konto estonte, vi devas <u>agordi pasvorton</u>",
"Set Password": "Agordi pasvorton",
"Error encountered (%(errorDetail)s).": "Eraro okazis (%(errorDetail)s).",
"Downloading update...": "Elŝutanta ĝisdatigon…",
"Bug report sent": "Cimraporto sendiĝis",
"Thank you!": "Dankon!",
"Back": "Reen",
"Send Custom Event": "Sendi propran okazon",
"You must specify an event type!": "Vi devas specifi tipon de okazo!",
"Event sent!": "Okazo sendiĝis!",
"Failed to send custom event.": "Malsukcesis sendi propran okazon.",
"Event Type": "Tipo de okazo",
"State Key": "Stata ŝlosilo",
"Event Content": "Enhavo de okazo",
"Send Account Data": "Sendi kontajn informojn",
"Filter results": "Filtri rezultojn",
"Explore Room State": "Esplori staton de ĉambro",
"Edit": "Redakti",
"Explore Account Data": "Esplori kontajn datumojn",
"Toolbox": "Ilaro",
"Developer Tools": "Evoluigiloj",
"Pin Message": "Fiksi mesaĝon",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Bonvolu instali <chromeLink>Ĥromon</chromeLink> aŭ <firefoxLink>Fajrovulpon</firefoxLink> por plej bona sperto.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Ankaŭ <safariLink>Safario</safariLink> kaj <operaLink>Opero</operaLink> funkcias.",
"Couldn't load home page": "Malsukcesis enlegi hejmpaĝon",
"Register": "Registriĝi",
"Invite to this community": "Inviti al tiu ĉi komunumo",
"Add rooms to this community": "Aldoni ĉambrojn al ĉi tiu komunumo",
"Online": "Enreta",
"Reply": "Respondi",
"%(count)s Members|other": "%(count)s Membroj",
"%(count)s Members|one": "%(count)s Membro",
"View Community": "Vidi Komunumon"
}

View File

@ -7,7 +7,7 @@
"Cancel Sending": "Cancelar envío",
"Can't update user notification settings": "No se puede actualizar la configuración de notificaciones del usuario",
"Close": "Cerrar",
"Couldn't find a matching Matrix room": "No se encontró una sala Matrix que coincidiera",
"Couldn't find a matching Matrix room": "No se encontró una sala Matrix que coincida",
"Custom Server Options": "Opciones de Servidor Personalizado",
"customServer_text": "Puedes utilizar las opciones de servidor personalizadas para iniciar sesión en otros servidores Matrix especificando una URL de Home server distinta.<br/>Esto te permite usar Riot con una cuenta Matrix existente en un Home server distinto.<br/><br/>También puedes configurar un servidor de identidad personalizado, pero no podrás ni invitar usuarios ni ser invitado a través de tu dirección de correo electrónico.",
"delete the alias.": "borrar el alias.",
@ -72,7 +72,7 @@
"Riot does not know how to join a room on this network": "Riot no sabe cómo unirse a una sala en esta red",
"Room not found": "Sala no encontrada",
"Search for a room": "Buscar sala",
"Source URL": "URL de origen",
"Source URL": "URL de Origen",
"The Home Server may be too old to support third party networks": "El Home Server puede ser demasiado antiguo para soportar redes de terceros",
"There are advanced notifications which are not shown here": "Hay notificaciones avanzadas que no se muestran aquí",
"The server may be unavailable or overloaded": "El servidor puede estar no disponible o sobrecargado",
@ -107,19 +107,19 @@
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> y <a href=\"http://opera.com\">Opera</a> también funcionan.",
"A new version of Riot is available.": "Una nueva versión de Riot está disponible.",
"Cancel": "Cancelar",
"Describe your problem here.": "Describa su problema aquí.",
"Describe your problem here.": "Describe el problema aquí.",
"Forward Message": "Reenviar mensaje",
"Hide panel": "Ocultar panel",
"(HTTP status %(httpStatus)s)": "(estado HTTP %(httpStatus)s)",
"I understand the risks and wish to continue": "Entiendo los riesgos y deseo continuar",
"Changelog": "Registro de cambios",
"Collapse panel": "Colapsar panel",
"Remember, you can always set an email address in user settings if you change your mind.": "Recuerde que, si es necesario, puede establecer una dirección de email en las preferencias de usuario.",
"Remember, you can always set an email address in user settings if you change your mind.": "Recuerda que si es necesario puedes establecer una dirección de email en las preferencias de usuario.",
"All Rooms": "Todas las salas",
"Expand panel": "Expandir panel",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar los problemas, los registros de este cliente serán enviados adjuntos a este informe de fallo. Si quisiera enviar el texto anterior solamente, entonces desmarque:",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Para diagnosticar los problemas, los registros de este cliente serán enviados adjuntos a este informe de fallo. Si quisieras enviar el texto anterior solamente, entonces desmarca:",
"Login": "Iniciar sesión",
"Report a bug": "Informe de un fallo",
"Report a bug": "Informar de un fallo",
"Search…": "Buscar…",
"Send": "Enviar",
"Send logs": "Enviar registros",
@ -132,10 +132,10 @@
"What's New": "Novedades",
"What's new?": "¿Qué hay de nuevo?",
"Waiting for response from server": "Esperando una respuesta del servidor",
"You have successfully set a password and an email address!": "¡Ha establecido exitosamente la contraseña y la dirección de email!",
"You have successfully set a password!": "¡Ha establecido exitosamente una contraseña!",
"You have successfully set a password and an email address!": "¡Has establecido una nueva contraseña y dirección de correo electrónico!",
"You have successfully set a password!": "¡Has establecido una nueva contraseña!",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s en %(osName)s",
"All messages (loud)": "Todos los mensajes (ruidoso)",
"All messages (noisy)": "Todos los mensajes (ruidoso)",
"All notifications are currently disabled for all targets.": "Las notificaciones estan desactivadas para todos los objetivos.",
"Collecting app version information": "Recolectando información de la versión de la aplicación",
"Collecting logs": "Recolectando registros",
@ -145,7 +145,7 @@
"Messages containing <span>keywords</span>": "Mensajes que contienen <span>palabras clave</span>",
"Notify for all other messages/rooms": "Notificar para todos los demás mensajes/salas",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor describa el error. ¿Qué acción ejecutó? ¿Cuál era el resultado que esperaba? ¿Que pasó realmente?",
"Please describe the bug and/or send logs.": "Por favor describa el error y/o envíe los registros.",
"Please describe the bug and/or send logs.": "Por favor describe el error y/o envía los registros.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Por favor instale <a href=\"https://www.google.com/chrome\">Google Chrome</a> o <a href=\"https://getfirefox.com\">Mozilla Firefox</a> para una mejor experiencia.",
"powered by Matrix": "con el poder de Matrix",
"Riot Desktop on %(platformName)s": "Riot Desktop en %(platformName)s",
@ -154,7 +154,7 @@
"You need to be using HTTPS to place a screen-sharing call.": "Debes usar HTTPS para hacer una llamada con pantalla compartida.",
"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!": "En su navegador actual, la apariencia y comportamiento de la aplicación puede ser completamente incorrecta, y algunas de las características podrían no funcionar. Si aún desea probarlo puede continuar, pero ¡no podremos ofrecer soporte por cualquier problema que pudiese tener!",
"Welcome to Riot.im": "Bienvenido a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones &amp; colaboración cifradas y descentralizadas con el poder de [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas &amp; colaboración con el poder de [matrix]",
"Search the room directory": "Buscar en el directorio de salas",
"Chat with Riot Bot": "Conversar con el Bot de Riot",
"Get started with some tips from Riot Bot!": "¡Comenzar con algunos consejos de Riot Bot!",
@ -183,15 +183,55 @@
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Muchas salas ya están disponibles en Matrix, enlazadas a redes existentes (Slack, IRC, Gitter, etc) o independientes. ¡Revisa el directorio!",
"You can now return to your account after signing out, and sign in on other devices.": "Ahora puedes regresar a tu cuenta después de cerrar tu sesión, e iniciar sesión en otros dispositivos.",
"Please set a password!": "¡Por favor establece una contraseña!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Esto le permitirá regresar a su cuenta después de cerrar sesión, así como iniciar sesión en otros dispositivos.",
"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.",
"Warning": "Advertencia",
"Checking for an update...": "Comprobando actualizaciones...",
"No update available.": "No hay actualizaciones disponibles.",
"Downloading update...": "Descargando actualizaciones...",
"To return to your account in future you need to <u>set a password</u>": "Para regresar a su cuenta en el futuro Ud. debe <u>establecer una contraseña</u>",
"Set Password": "Establezca la contraseña",
"To return to your account in future you need to <u>set a password</u>": "Para regresar a tu cuenta en el futuro debes <u>establecer una contraseña</u>",
"Set Password": "Establecer contraseña",
"Error encountered (%(errorDetail)s).": "Error encontrado (%(errorDetail)s).",
"Couldn't load home page": "No se puede cargar la página principal",
"Bug report sent": "Informe de fallo enviado",
"Thank you!": "¡Gracias!"
"Thank you!": "¡Gracias!",
"Show message in desktop notification": "Mostrar mensaje en la notificación del escritorio",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puedes usar las opciones del servidor personalizado para acceder a otros servidores Matrix especificando su URL. <br/> Esto te permite usar Riot con una cuenta Matrix existente en un servidor doméstico distinto. <br/><br/>También puedes establecer un servidor de identidad personalizado pero no podrás invitar a otros usuarios usando su dirección de correo electrónico, y tampoco ser invitado por el tuyo.",
"Appear Offline": "Mostrarse Desconectado",
"Away": "Ausente",
"Back": "Atrás",
"Send Custom Event": "Enviar Evento Personalizado",
"You must specify an event type!": "Debes especificar un tipo de evento!",
"Event sent!": "Evento enviado!",
"Failed to send custom event.": "Ha fallado el envio del evento personalizado.",
"Event Type": "Tipo de Evento",
"State Key": "Clave de estado",
"Event Content": "Contenido del Evento",
"Send Account Data": "Enviar Datos de la Cuenta",
"Filter results": "Filtrar resultados",
"Explore Room State": "Explorar Estado de la Sala",
"Edit": "Editar",
"Explore Account Data": "Explorar Datos de la Cuenta",
"Toolbox": "Caja de Herramientas",
"Developer Tools": "Herramientas de Desarrollo",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Por favor instala <chromeLink>Chrome</chromeLink> o <firefoxLink>Firefox</firefoxLink> para una experiencia óptima.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> y <operaLink>Opera</operaLink> también funcionan.",
"Register": "Registro",
"Rooms": "Salas",
"Invite to this community": "Invitar a esta comunidad",
"Add rooms to this community": "Agregar salas a esta comunidad",
"Unpin Message": "Desmarcar Mensaje",
"Pin Message": "Marcar Mensaje",
"Reply": "Responder",
"%(count)s Members|other": "%(count)s miembros",
"%(count)s Members|one": "%(count)s miembro",
"Online": "Conectado",
"View Community": "Ver la comunidad",
"Preparing to send logs": "Preparando para enviar registros",
"Logs sent": "Registros enviados",
"Failed to send logs: ": "Error al enviar registros: ",
"Submit debug logs": "Enviar registros de depuración",
"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.": "Los registros de depuración contienen datos de uso de la aplicación como nombre de usuario, ID o alias de las salas o grupos que hayas visitado (y nombres de usuario de otros usuarios). No contienen mensajes.",
"<a>Click here</a> to create a GitHub issue.": "<a>Haz click aquí</a> para crear una incidencia en Github.",
"GitHub issue link:": "Enlace de incidencia en GitHub:",
"Notes:": "Notas:"
}

View File

@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Gehitu e-mail helbide bat goian e-mail bidezko jakinarazpenak konfiguratzeko",
"Advanced notification settings": "Jakinarazpen aurreratuen ezarpenak",
"All messages": "Mezu guztiak",
"All messages (loud)": "Mezu guztiak (ozen)",
"All messages (noisy)": "Mezu guztiak (ozen)",
"All Rooms": "Gela guztiak",
"All notifications are currently disabled for all targets.": "Une honetan jakinarazpen guztiak helburu guztietarako desgaituta daude.",
"An error occurred whilst saving your email notification preferences.": "Errore bat gertatu da zure e-mail bidezko jakinarazpenen hobespenak gordetzean.",
@ -46,7 +46,7 @@
"Failed to get public room list": "Huts egin du gela publikoen zerrenda jasotzean",
"Failed to remove tag %(tagName)s from room": "Huts egin du %(tagName)s etiketa gelatik kentzean",
"Failed to send report: ": "Huts egin du txostena bidaltzean: ",
"Failed to set direct chat tag": "Huts egin du txat zuzeneko etiketa jartzean",
"Failed to set direct chat tag": "Huts egin du txat zuzenarenaren etiketa jartzean",
"Failed to set Direct Message status of room": "Huts egin du Mezu Zuzena egoera gelan ezartzean",
"Favourite": "Gogokoa",
"Fetching third party location failed": "Huts egin du hirugarrengoen kokalekua eskuratzean",
@ -66,12 +66,12 @@
"Low Priority": "Lehentasun baxua",
"Members": "Kideak",
"Mentions only": "Aipamenak besterik ez",
"Messages containing my display name": "Nire pantaila izena duten mezuak",
"Messages containing my display name": "Nire pantaila-izena duten mezuak",
"Messages containing <span>keywords</span>": "<span>Hitz gakoak</span> dituzten mezuak",
"Messages containing my user name": "Nire erabiltzaile-izena duten mezuak",
"Messages in group chats": "Talde txatetako mezuak",
"Messages in one-to-one chats": "Biren arteko txatetako mezuak",
"Messages sent by bot": "botak bidalitako mezuak",
"Messages sent by bot": "Botak bidalitako mezuak",
"more": "gehiago",
"Mute": "Mututu",
"No rooms to show": "Ez dago gelarik erakusteko",
@ -120,7 +120,7 @@
"Unhide Preview": "Ez ezkutatu aurrebista",
"Unknown device": "Gailu ezezaguna",
"unknown error code": "errore kode ezezaguna",
"Unnamed room": "Izenik gabeko gela",
"Unnamed room": "Izen gabeko gela",
"Update": "Eguneratu",
"Uploaded on %(date)s by %(user)s": "%(user)s erabiltzaileak %(date)s (e)an igota",
"Uploading report": "Igoera txostena",
@ -130,7 +130,7 @@
"What's new?": "Zer dago berri?",
"Waiting for response from server": "Zerbitzariaren erantzunaren zain",
"When I'm invited to a room": "Gela batetara gonbidatzen nautenean",
"World readable": "Denek irakurtzeko moduan",
"World readable": "Munduak irakurgarria",
"You cannot delete this image. (%(code)s)": "Ezin duzu irudi hau ezabatu. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Ezin duzu mezu hau ezabatu. (%(code)s)",
"You are not receiving desktop notifications": "Ez dituzu mahaigaineko jakinarazpenak jasotzen",
@ -193,5 +193,45 @@
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Arazoak diagnostikatzeko, bezero honen egunkariak bidaliko dira arazte-txosten honekin. Testua besterik ez baduzu bidali nahi, desmarkatu:",
"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!",
"Bug report sent": "Arazte-txostena bidali da",
"Thank you!": "Eskerrik asko!"
"Thank you!": "Eskerrik asko!",
"Show message in desktop notification": "Erakutsi mezua mahaigaineko jakinarazpenean",
"Appear Offline": "Agertu deskonektatuta",
"Away": "Teklatutik at",
"Back": "Atzera",
"Send Custom Event": "Bidali gertaera pertsonalizatua",
"You must specify an event type!": "Gertaera mota bat zehaztu behar duzu!",
"Event sent!": "Gertaera bidalita!",
"Failed to send custom event.": "Huts egin du gertaera pertsonalizatua bidaltzean.",
"Event Type": "Gertaera mota",
"State Key": "Egoera gakoa",
"Event Content": "Gertaeraren edukia",
"Send Account Data": "Bidali kontuaren datuak",
"Filter results": "Iragazi emaitzak",
"Explore Room State": "Miatu gelaren egoera",
"Edit": "Editatu",
"Explore Account Data": "Miatu kantuaren datuak",
"Toolbox": "Tresna-kutxa",
"Developer Tools": "Garatzaile-tresnak",
"Unpin Message": "Desfinkatu mezua",
"Pin Message": "Finkatu mezua",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Instalatu <chromeLink>Chrome</chromeLink> edo <firefoxLink>Firefox</firefoxLink> esperientzia onena izateko.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> eta <operaLink>Opera</operaLink> badabiltza ere.",
"Register": "Eman izena",
"Rooms": "Gelak",
"Invite to this community": "Gonbidatu komunitate honetara",
"Add rooms to this community": "Gehitu gelak komunitate honetara",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Zerbitzari pertsonalizatuaren aukerak erabili ditzakezu beste Matrix zerbitzarietan saioa hasteko, han beste hasiera-zerbitzari baten URLa sartuz.<br/>Horrela Riot aurretik duzun kontu batekin erabili dezakezu beste hasiera-zerbitzari batean.<br/><br/>Identitate-zerbitzari pertsonalizatu bat ezarri dezakezu ere, baina orduan ezin izango dituzu erabiltzaileak e-mail helbidea erabiliz gonbidatu, edo ezin izan izango zaituzte zu e-mail helbidea erabiliz gonbidatu.",
"Reply": "Erantzun",
"%(count)s Members|other": "%(count)s kide",
"%(count)s Members|one": "Kide %(count)s",
"Online": "Konektatuta",
"View Community": "Ikusi komunitatea",
"Submit debug logs": "Bidali arazte-txostenak",
"Preparing to send logs": "Egunkariak bidaltzeko prestatzen",
"Logs sent": "Egunkariak bidalita",
"Failed to send logs: ": "Huts egin du egunkariak bidaltzean: ",
"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.": "Arazte-egunkariek aplikazioak darabilen datuak dauzkate, zure erabiltzaile izena barne, bisitatu dituzun gelen ID-ak edo ezizenak eta beste erabiltzaileen izenak. Ez dute mezurik.",
"<a>Click here</a> to create a GitHub issue.": "<a>Egin klik hemen</a> GitHub-en arazoaren berri emateko.",
"GitHub issue link:": "Arazoaren esteka GitHuben:",
"Notes:": "Oharrak:"
}

View File

@ -1,7 +1,7 @@
{
"A new version of Riot is available.": "نسخه‌ی جدید از رایوت موجود است.",
"All messages": "همه‌ی پیام‌ها",
"All messages (loud)": "همه‌ی پیام‌ها(بلند)",
"All messages (noisy)": "همه‌ی پیام‌ها(بلند)",
"All Rooms": "همه‌ی گپ‌ها",
"Cancel Sending": "فرستادن را لغو کن",
"Changelog": "تغییراتِ به‌وجودآمده",

View File

@ -4,7 +4,7 @@
"Add an email address above to configure email notifications": "Lisää sähköpostiosoite yllä saadaksesi ilmoituksia sähköpostiisi",
"Advanced notification settings": "Lisäasetukset ilmoituksille",
"All messages": "Kaikki viestit",
"All messages (loud)": "Kaikki viestit (äänekkäästi)",
"All messages (noisy)": "Kaikki viestit (äänekkäästi)",
"All Rooms": "Kaikki huoneet",
"All notifications are currently disabled for all targets.": "Kaikki ilmoitukset on kytketty pois kaikilta kohteilta.",
"An error occurred whilst saving your email notification preferences.": "Sähköposti-ilmoitusasetuksia tallettaessa tapahtui virhe.",
@ -27,7 +27,7 @@
"Files": "Tiedostot",
"Forget": "Unohda",
"I understand the risks and wish to continue": "Ymmärrän riskit ja haluan jatkaa",
"Invite to this room": "Kutsu tähän huoneeseen",
"Invite to this room": "Kutsu käyttäjiä",
"Keywords": "Avainsanat",
"Leave": "Poistu",
"Login": "Kirjaudu sisään",
@ -63,7 +63,7 @@
"Unnamed room": "Nimeämätön huone",
"Update": "Päivitä",
"View Source": "Näytä lähde",
"Waiting for response from server": "Odotetaan palvelimen vastausta",
"Waiting for response from server": "Odotetaan vastausta palvelimelta",
"Monday": "Maanantai",
"Tuesday": "Tiistai",
"Wednesday": "Keskiviikko",
@ -72,20 +72,20 @@
"Saturday": "Lauantai",
"Today": "Tänään",
"Yesterday": "Eilen",
"OK": "Selvä",
"OK": "OK",
"Warning": "Varoitus",
"Checking for an update...": "Tarkistetaan päivityksen saatavuutta...",
"No update available.": "Ei päivityksiä saatavilla.",
"Downloading update...": "Ladataan päivitystä...",
"Welcome to Riot.im": "Tervetuloa Riot.im:ään",
"Search the room directory": "Hae huonehakemistosta",
"Welcome to Riot.im": "Tervetuloa Riot.im -palveluun",
"Search the room directory": "Hae hakemistosta",
"Continue": "Jatka",
"Set Password": "Aseta salasana",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> ja <a href=\"http://opera.com\">Opera</a> toimivat myös.",
"Collapse panel": "Piilota paneeli",
"Collecting app version information": "Kerätään sovelluksen versiotietoja",
"Collecting logs": "Kerätään lokitietoja",
"Custom Server Options": "Omat palvelinasetukset",
"Collecting app version information": "Haetaan versiotietoja",
"Collecting logs": "Haetaan lokitietoja",
"Custom Server Options": "Palvelinasetukset",
"customServer_text": "Voit käyttää palvelinasetuksia muille Matrix-palvelimille kirjautumiseen asettamalla oman kotipalvelinosoitteen.<br/>Näin voit käyttää Riotia toisella kotipalvelimella sijaitsevan Matrix-käyttäjän kanssa. <br/><br/>Voit myös asettaa oman tunnistautumispalvelimen, mutta sinua ei voi kutsua etkä voi kutsua muita sähköpostiosoitteella.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Poista huonetunnus %(alias)s ja poista %(name)s hakemistosta?",
"Enable them now": "Ota käyttöön nyt",
@ -95,7 +95,7 @@
"Failed to change settings": "Asetusten muuttaminen epäonnistui",
"Failed to forget room %(errCode)s": "Huoneen unohtaminen epäonnistui %(errCode)s",
"Failed to update keywords": "Avainsanojen päivittäminen epäonnistui",
"Enable audible notifications in web client": "Ota käyttöön äänelliset ilmoitukset webasiakasohjelmassa",
"Enable audible notifications in web client": "Ota käyttöön äänelliset ilmoitukset",
"Enable desktop notifications": "Ota käyttöön työpöytäilmoitukset",
"Enable email notifications": "Ota käyttöön sähköposti-ilmoitukset",
"Enable notifications for this account": "Ota käyttöön ilmoitukset tälle tilille",
@ -106,15 +106,15 @@
"Failed to send report: ": "Raportin lähettäminen epäonnistui: ",
"Failed to set direct chat tag": "Suoran viestittelyn tagin asettaminen epäonnistui",
"Fetching third party location failed": "Kolmannen osapuolen paikan haku epäonnistui",
"Filter room names": "Suodata huoneiden nimet",
"Filter room names": "Suodata",
"Forward Message": "Edelleenlähetä viesti",
"Guests can join": "Vieraat voivat liittyä",
"Hide panel": "Piilota paneeli",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Diagnoosin helpottamiseksi lokitietoja tältä laitteelta lähetetään tämän bugiraportin mukana. Poista ruksi jos haluat lätettää vain ylläolevan tekstin:",
"Loading bug report module": "Ladataan bugiraportointimoduuli",
"Messages containing my display name": "Näyttönimeni sisältävät viestit",
"Messages containing my display name": "Viestit joissa mainitaan nimimerkkini",
"Messages containing <span>keywords</span>": "<span>Avainsanoja</span> sisältävät viestit",
"Messages containing my user name": "Käyttäjänimeni sisältävät viestit",
"Messages containing my user name": "Viestit joissa mainitaan käyttäjänimeni",
"Messages in group chats": "Viestit ryhmäkeskusteluissa",
"Messages in one-to-one chats": "Viestit henkilökohtaisissa keskusteluissa",
"Messages sent by bot": "Bottien lähettämät viestit",
@ -127,7 +127,7 @@
"Remove %(name)s from the directory?": "Poista %(name)s hakemistosta?",
"remove %(name)s from the directory.": "poista %(name)s hakemistosta.",
"Remove from Directory": "Poista hakemistosta",
"Riot Desktop on %(platformName)s": "Riot Desktop järjestelmällä %(platformName)s",
"Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s",
"Riot does not know how to join a room on this network": "Riot ei tiedä miten liittya huoneeseen tässä verkossa",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot käyttää monia selainominaisuuksia, joista osa selaimesi ei tue tai ne ovat kokeellisia.",
"Sorry, your browser is <b>not</b> able to run Riot.": "Valitettavasti Riot <b>ei</b> toimi selaimessasi.",
@ -137,7 +137,7 @@
"Unable to look up room ID from server": "Huone-ID:n haku palvelimelta epäonnistui",
"Unhide Preview": "Näytä ennakkokatselu",
"Uploaded on %(date)s by %(user)s": "Ladattu %(date)s käyttäjän %(user)s toimesta",
"Uploading report": "Ladataan raportti",
"Uploading report": "Ladataan raporttia",
"View Decrypted Source": "Näytä purettu lähdekoodi",
"What's New": "Mikä on uutta",
"What's new?": "Mikä on uutta?",
@ -147,23 +147,23 @@
"You cannot delete this message. (%(code)s)": "Et voi poistaa tätä viestiä. (%(code)s)",
"You are not receiving desktop notifications": "Et vastaanota työpöytäilmoituksia",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Olet saattanut muuttaa niitä toisessa asiakasohjelmassa kuin Riot. Et voi muuttaa niitä Riotissa mutta ne pätevät kuitenkin",
"You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS:ää voidaaksesi soittaa ruudunjakopuhelun.",
"You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS -yhteyttä, jotta voit jakaa ruudun.",
"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!": "Nykyisellä selaimellasi ohjelman ulkonäkö voi olla aivan virheellinen, ja jotkut ominaisuudet eivät saata toimia. Voit jatkaa jos haluat kokeilla mutta et voi odottaa saavasi apua mahdollisesti ilmeneviin ongelmiin!",
"Chat with Riot Bot": "Keskustele Riot-botin kanssa",
"Get started with some tips from Riot Bot!": "Pääse käyntiin Riot-botin vinkkien avulla!",
"General discussion about Matrix and Riot": "Yleistä Matrix- ja Riot-keskustelua",
"Chat with Riot Bot": "Keskustele Riot Botin kanssa",
"Get started with some tips from Riot Bot!": "Aloita Riot Botin vinkkien avulla!",
"General discussion about Matrix and Riot": "Matrix- ja Riot keskustelut",
"Discussion of all things Matrix!": "Keskustelu kaikesta Matrixiin liittyvästä!",
"Riot/Web &amp; Desktop chat": "Riot/Web & Työpöytä-keskustelu",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk -keskustelu",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk -keskustelu",
"Matrix technical discussions": "Matrix tekniset keskustelut",
"Matrix technical discussions": "Tekniset keskustelut",
"Running Matrix services": "Matrix-palvelujen ylläpito",
"Community-run support for Synapse": "Yhteisön tarjoama Synapse-tuki",
"Admin support for Dendrite": "Dendrite ylläpitotuki",
"Announcements about Synapse releases": "Ilmoitukset uusista Synapse-julkaisuista",
"Error encountered (%(errorDetail)s).": "Virhe: %(errorDetail)s.",
"Support for those using and running matrix-appservice-irc": "Tuki niille jotka käyttävät ja ajavat matrix-appservice-irc",
"Building services on Matrix": "Palvelujen rakentaminen Matrixin avulla",
"Building services on Matrix": "Palveluiden rakentaminen Matrixin avulla",
"Support for those using the Matrix spec": "Tuki Matrix-spesifikaation käyttäjille",
"Implementing VR services with Matrix": "VR-palvelujen implementointi Matrixin avulla",
"Implementing VoIP services with Matrix": "VoIP-palvelujen implementointi Matrixin avulla",
@ -172,7 +172,7 @@
"Dev chat for the Riot/Web dev team": "Kehittäjäkeskustelu Riot/Web kehitystiimille",
"Dev chat for the Dendrite dev team": "Kehittäjäkeskustelu Dendrite kehitystiimille",
"Co-ordination for Riot/Web translators": "Riot/Web kääntäjien koordinointi",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on jo olemassa monia huoneita jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter, jne) tai itsenäisiin. Tutustu hakemistoon!",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrixissa on olemassa monia huoneita, jotka on linkitetty olemassa oleviin verkkoihin (Slack, IRC, Gitter yms.). Tutustu hakemistoon!",
"Failed to change password. Is your password correct?": "Salasanan muuttaminen epäonnistui. Onko salasanasi oikein?",
"You have successfully set a password!": "Olet onnistuneesti asettanut salasanan!",
"You can now return to your account after signing out, and sign in on other devices.": "Voit nyt palata tilillesi kirjauduttua ulos, sekä kirjautua muilla laitteilla.",
@ -186,24 +186,44 @@
"Failed to set Direct Message status of room": "Huoneen suoran viestittelyn tilan asettaminen epäonnistui",
"(HTTP status %(httpStatus)s)": "(HTTP tila %(httpStatus)s)",
"Notify for all other messages/rooms": "Ilmoita kaikista muista viesteistä/huoneista",
"powered by Matrix": "Matrix-pohjainen",
"Riot is not supported on mobile web. Install the app?": "Riot ei tue mobiiliselaimia. Asenna sovellus?",
"powered by Matrix": "Matrix",
"Riot is not supported on mobile web. Install the app?": "Riot ei tue laitettasi. Asenna mobiilisovellus?",
"Thank you!": "Kiitos!",
"Design and implementation of E2E in Matrix": "Matrix päästä-päähän salauksen suunnittelu ja implementointi",
"Contributing code to Matrix and Riot": "Osallistu Matrix ja Riot kehitykseen",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s selaimella %(browserName)s käyttöjärjestelmällä %(osName)s",
"Contributing code to Matrix and Riot": "Osallistu kehitystyöhön",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s %(osName)s",
"There are advanced notifications which are not shown here": "On kehittyneitä ilmoituksia joita ei näytetä tässä",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Matrix-pohjainen hajautettu, salattu viestittely ja yhteistyö",
"Back": "Palaa",
"Developer Tools": "Kehitystyökalut",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Salattua ja vikasietoista viestintää Matrix -teknologialla",
"Back": "Takaisin",
"Developer Tools": "Kehitystila",
"Failed to send custom event.": "Kustomoidun tapahtuman lähettäminen epäonnistui.",
"Filter results": "Suodata tuloksia",
"Filter results": "Suodata",
"Send Custom Event": "Lähetä kustomoitu tapahtuma",
"Send Custom State Event": "Lähetä kustomoitu tilatapahtuma",
"Explore Room State": "Tutki huoneen tilaa",
"Explore Room State": "Huoneen tila",
"You must specify an event type!": "Sinun on määritettävä tapahtuman tyyppi!",
"Event sent!": "Tapahtuma lähetetty!",
"Event Type": "Tapahtuman tyyppi",
"Event Content": "Tapahtuman sisältö",
"State Key": "Tila-avain"
"State Key": "Tila-avain",
"Show message in desktop notification": "Näytä viestit ilmoituskeskuksessa",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Voit käyttää edistyksellisiä asetuksia kirjautuaksesi muille Matrix palvelimille, määrittelemällä kotipalvelimen URL-osoitteen.<br/>Tämän avulla voit käyttää Riot:ia olemassa olevalla toisen Matrix palvelimen käyttäjätilillä.<br/><br/>Voit myös asettaa valinnaisen identiteettipalvelimen, mutta et voi kutsua käyttäjiä sähköpostiosoitteella tai tulla kutsutuksi.",
"Appear Offline": "Offline-tila",
"Away": "Poissa",
"Send Account Data": "Lähetä tilin tiedot",
"Edit": "Muokkaa",
"Explore Account Data": "Tilitiedot",
"Toolbox": "Työkalut",
"Unpin Message": "Poista viestin kiinnitys",
"Pin Message": "Kiinnitä viesti",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Asenna <chromeLink>Chrome</chromeLink> tai <firefoxLink>Firefox</firefoxLink> parhaan käyttökokemuksen saavuttamiseksi.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> ja <operaLink>Opera</operaLink> ovat myös tuettuja.",
"Register": "Rekisteröidy",
"Rooms": "Huoneet",
"Invite to this community": "Kutsu käyttäjiä",
"Add rooms to this community": "Lisää huoneita yhteisöön",
"Reply": "Vastaa",
"View Community": "Näytä yhteisö",
"%(count)s Members|other": "%(count)s jäsentä",
"%(count)s Members|one": "%(count)s jäsen"
}

View File

@ -1,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Ajouter une adresse e-mail pour la configuration des notifications par e-mail",
"All messages": "Tous les messages",
"All messages (loud)": "Tous les messages (fort)",
"All messages (noisy)": "Tous les messages (fort)",
"All notifications are currently disabled for all targets.": "Toutes les notifications sont désactivées pour tous les appareils.",
"An error occurred whilst saving your email notification preferences.": "Une erreur est survenue lors de la sauvegarde de vos préférences de notification par e-mail.",
"Cancel Sending": "Annuler l'envoi",
@ -24,14 +24,14 @@
"Error": "Erreur",
"Error saving email notification preferences": "Erreur lors de la sauvegarde des préférences de notification par e-mail",
"#example": "#exemple",
"Failed to add tag %(tagName)s to room": "Échec lors de l'ajout de létiquette %(tagName)s au salon",
"Failed to add tag %(tagName)s to room": "Échec de l'ajout de l'étiquette %(tagName)s au salon",
"Failed to change settings": "Échec de la mise à jour des paramètres",
"Failed to forget room %(errCode)s": "Échec lors de l'oubli du salon %(errCode)s",
"Failed to update keywords": "Échec dans la mise à jour des mots-clés",
"Failed to get protocol list from Home Server": "Échec lors de la récupération de la liste sur le serveur",
"Failed to get public room list": "Échec lors de la récupération de la liste des salons publics",
"Failed to remove tag %(tagName)s from room": "Échec dans la suppression de létiquette %(tagName)s du salon",
"Failed to set direct chat tag": "Échec dans l'attribution d'une étiquette dans la discussion directe",
"Failed to remove tag %(tagName)s from room": "Échec de la suppression de l'étiquette %(tagName)s du salon",
"Failed to set direct chat tag": "Échec de l'ajout de l'étiquette discussion directe",
"Favourite": "Favoris",
"Operation failed": "L'opération a échoué",
"powered by Matrix": "propulsé par Matrix",
@ -217,5 +217,15 @@
"Invite to this community": "Inviter à cette communauté",
"Toolbox": "Boîte à outils",
"Send Account Data": "Envoyer les données du compte",
"Explore Account Data": "Explorer les données du compte"
"Explore Account Data": "Explorer les données du compte",
"Appear Offline": "Apparaître Hors ligne",
"Away": "Absent",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Veuillez installer <chromeLink>Chrome</chromeLink> ou <firefoxLink>Firefox</firefoxLink> pour une expérience optimale.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> et <operaLink>Opera</operaLink> fonctionnent également.",
"Reply": "Répondre",
"%(count)s Members|other": "%(count)s membres",
"%(count)s Members|one": "%(count)s membre",
"Online": "En ligne",
"View Community": "Voir la communauté",
"Submit debug logs": "Envoyer les journaux de débogage"
}

View File

@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Engada un enderezo de correo electrónico para configurar as notificacións",
"Advanced notification settings": "Axustes avanzados de notificación",
"All messages": "Todas as mensaxes",
"All messages (loud)": "Todas as mensaxes (alto)",
"All messages (noisy)": "Todas as mensaxes (alto)",
"All Rooms": "Todas as Salas",
"All notifications are currently disabled for all targets.": "Todas as notificacións están deshabilitadas para todos os destinos.",
"An error occurred whilst saving your email notification preferences.": "Algo fallou mentras se gardaban as súas preferencias de notificaicón.",
@ -21,7 +21,7 @@
"Collecting app version information": "Obtendo información sobre a versión da app",
"Collecting logs": "Obtendo rexistros",
"Couldn't find a matching Matrix room": "Non coincide con ningunha sala de Matrix",
"Custom Server Options": "Axustes do servidor personalizado",
"Custom Server Options": "Opcións personalizadas do servidor",
"customServer_text": "Pode utilizar os axustes do servidor personalizado para conectarse a outros servidores Matrix indicando un URL de Inicio do servidor.<br/>Esto permítelle utilizar Riot con unha conta existente de Matrix nun servidor diferente.<br/><br/>Tamén pode establecer un servidor personalizado de identidade mais non poderá invitar a usuarias a través de enderezos de correo ou ser vostede invitada do mesmo xeito.",
"delete the alias.": "borrar alcume.",
"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?",
@ -29,7 +29,7 @@
"Developer Tools": "Ferramentas para desenvolver",
"Direct Chat": "Chat directo",
"Directory": "Directorio",
"Dismiss": "Desbotar",
"Dismiss": "Rexeitar",
"Download this file": "Descargue este ficheiro",
"Enable audible notifications in web client": "Habilitar notificacións audibles no cliente web",
"Enable desktop notifications": "Habilitar notificacións de escritorio",
@ -41,25 +41,25 @@
"Error saving email notification preferences": "Fallo ao cargar os axustes de notificacións",
"#example": "#exemplo",
"Expand panel": "Expandir panel",
"Failed to add tag %(tagName)s to room": "Fallou ao engadir a etiqueta %(tagName)s a sala",
"Failed to add tag %(tagName)s to room": "Fallo ao engadir a etiqueta %(tagName)s a sala",
"Failed to change settings": "Fallo ao cambiar os axustes",
"Failed to forget room %(errCode)s": "Fallou ao esquecer a sala %(errCode)s",
"Failed to forget room %(errCode)s": "Fallo ao esquecer sala %(errCode)s",
"Failed to update keywords": "Fallo ao actualizar as palabras chave",
"Failed to get protocol list from Home Server": "Fallo ao obter a lista de protocolo desde o servidor",
"Failed to get public room list": "Fallo ao obter a lista de salas públicas",
"Failed to remove tag %(tagName)s from room": "Fallo ao eliminar etiqueta %(tagName)s da sala",
"Failed to remove tag %(tagName)s from room": "Fallo ao eliminar a etiqueta %(tagName)s da sala",
"Failed to send custom event.": "Fallo ao enviar evento personalizado.",
"Failed to send report: ": "Fallo no envío do informe: ",
"Failed to set direct chat tag": "Fallo ao establecer etiqueta do chat directo",
"Failed to set Direct Message status of room": "Fallo ao establecer o estado Mensaxe Directa da sala",
"Favourite": "Favorito",
"Favourite": "Favorita",
"Fetching third party location failed": "Fallo ao obter a localización de terceiros",
"Files": "Ficheiros",
"Filter results": "Filtrar resultados",
"Filter room names": "Filtrar nomes de sala",
"Forget": "Esquecer",
"Forward Message": "Reenviar mensaxe",
"Guests can join": "Convidadas pódense unir",
"Guests can join": "Convidados pódense unir",
"Hide panel": "Agochar panel",
"(HTTP status %(httpStatus)s)": "(Estado HTTP %(httpStatus)s)",
"I understand the risks and wish to continue": "Entendos os riscos e desexo continuar",
@ -79,8 +79,8 @@
"Messages in one-to-one chats": "Mensaxes en chats un-a-un",
"Messages sent by bot": "Mensaxes enviadas por bot",
"more": "máis",
"Mute": "Calar",
"No rooms to show": "Non hai salas que mostrar",
"Mute": "Acalar",
"No rooms to show": "Sen salas que mostrar",
"Noisy": "Ruidoso",
"Notification targets": "Obxetivos das notificacións",
"Notifications": "Notificacións",
@ -94,7 +94,7 @@
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Por favor describa a incidencia. Que estaba a facer? Que tiña que pasar? Que aconteceu en realidade?",
"Please describe the bug and/or send logs.": "Por favor describa a incidencia e/ou envíe o informe.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Por favor instale <a href=\"https://www.google.com/chrome\">Chrome</a> ou <a href=\"https://getfirefox.com\">Firefox</a> para ter a mellor experiencia de uso.",
"powered by Matrix": "funcionando grazas a Matrix",
"powered by Matrix": "funciona grazas a Matrix",
"Quote": "Cita",
"Reject": "Rexeitar",
"Remove %(name)s from the directory?": "Eliminar %(name)s do directorio?",
@ -108,7 +108,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot no se pode executar na web móbil. Instalar a app?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot utiliza características avanzadas do navegador, algunhas das cales non están dispoñibles ou son experimentales no seu navegador actual.",
"Room not found": "Non se atopou a sala",
"Search": "Buscar",
"Search": "Busca",
"Search…": "Buscar…",
"Search for a room": "Buscar unha sala",
"Send": "Enviar",
@ -128,7 +128,7 @@
"Unavailable": "Non dispoñible",
"Unhide Preview": "Desagochar a vista previsa",
"Unknown device": "Dispositivo descoñecido",
"unknown error code": "código de erro descoñecido",
"unknown error code": "código de fallo descoñecido",
"Unnamed room": "Sala sen nome",
"Update": "Actualizar",
"Uploaded on %(date)s by %(user)s": "Subido a %(date)s por %(user)s",
@ -139,7 +139,7 @@
"What's new?": "Qué hai de novo?",
"Waiting for response from server": "Agardando pola resposta do servidor",
"When I'm invited to a room": "Cando son convidado a unha sala",
"World readable": "Visible por todo o mundo",
"World readable": "Visible por todos",
"You cannot delete this image. (%(code)s)": "Non pode eliminar esta imaxe. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Non pode eliminar esta mensaxe. (%(code)s)",
"You are not receiving desktop notifications": "Non está a recibir notificacións de escritorio",
@ -193,7 +193,7 @@
"Dev chat for the Dendrite dev team": "Chat para o equipo de desenvolvemento de Dendrite",
"Co-ordination for Riot/Web translators": "Coordinación para tradutores de Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Xa existen multitude de salas en Matrix, ligadas a redes existentes (Slack, IRC, Gitter etc) ou independentes. Busque no directorio!",
"Failed to change password. Is your password correct?": "Non se mudou o contrasinal. É correcto o contrasinal introducido?",
"Failed to change password. Is your password correct?": "Fallo ao cambiar o contrasinal. É correcto o contrasinal?",
"You have successfully set a password!": "Mudou con éxito o seu contrasinal!",
"You can now return to your account after signing out, and sign in on other devices.": "Pode voltar a súa contra tras desconectarse, e conectarse en outros dispositivos.",
"Continue": "Continuar",
@ -212,10 +212,27 @@
"Edit": "Editar",
"Send Account Data": "Enviar datos da conta",
"Explore Account Data": "Explorar datos da conta",
"Unpin Message": "Non fixar mensaxe",
"Unpin Message": "Desfixar mensaxe",
"Pin Message": "Fixar mensaxe",
"Register": "Rexistrar",
"Register": "Rexistar",
"Rooms": "Salas",
"Invite to this community": "Convidar a esta comunidade",
"Add rooms to this community": "Engadir salas a esta comunidade"
"Add rooms to this community": "Engadir salas a esta comunidade",
"Appear Offline": "Aparecer fora de liña",
"Away": "Fóra",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Por favor instale <chromeLink>Chrome</chromeLink> ou <firefoxLink>Firefox</firefoxLink> para a mellor experiencia de usuaria.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> e <operaLink>Opera</operaLink> tamén funcionan.",
"Reply": "Resposta",
"Online": "En liña",
"View Community": "Ver Comunidade",
"%(count)s Members|other": "%(count)s Membros",
"%(count)s Members|one": "%(count)s Membro",
"Submit debug logs": "Enviar informes de depuración",
"Preparing to send logs": "Preparándose para enviar informe",
"Logs sent": "Informes enviados",
"Failed to send logs: ": "Fallo ao enviar os informes: ",
"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.": "Os informes de depuración conteñen datos de utilización do aplicativo como o seu nome de usuaria, os IDs ou alcumes de salas e grupos que vostede visitou e os nomes de usuaria de outras usuarias. Non conteñen mensaxes.",
"<a>Click here</a> to create a GitHub issue.": "<a>Pulse aquí</a> para crear un reporte en GitHub.",
"GitHub issue link:": "Ligazón ao reporte en GitHub:",
"Notes:": "Notas:"
}

View File

@ -3,7 +3,7 @@
"Add an email address above to configure email notifications": "הוסף כתובת דואר אלקטורני למעלה בכדי להגדיר התראות",
"Advanced notification settings": "הגדרות מתקדמות להתראות",
"All messages": "כל ההודעות",
"All messages (loud)": "כל ההודעות (צעקה)",
"All messages (noisy)": "כל ההודעות (רועש)",
"All Rooms": "כל החדרים",
"All notifications are currently disabled for all targets.": "התראות מנוטרלות לכלל המערכת.",
"An error occurred whilst saving your email notification preferences.": "קרתה שגיאה בזמן שמירת הגדרות התראה באמצעות הדואר האלקטרוני.",
@ -13,10 +13,10 @@
"Can't update user notification settings": "לא ניתן לעדכן הגדרות התראה למשתמש",
"Changelog": "דו\"ח שינויים",
"Close": "סגור",
"Collapse panel": "סגור פאנל",
"Collecting app version information": "אוסף מידע על גרסת האפליקציה",
"Collecting logs": "אוסף לוגים",
"Couldn't find a matching Matrix room": "לא נמצא חדר כזה ב Matrix",
"Collapse panel": "סגור מסגרת",
"Collecting app version information": "אוסף מידע על גרסת היישום",
"Collecting logs": "אוסף יומנים לנפוי שגיאה (דבאג)",
"Couldn't find a matching Matrix room": "לא נמצא חדר כזה ב מטריקס",
"Custom Server Options": "הגדרות שרת מותאמות אישית",
"customServer_text": "אפשר להשתמש בהגדרות שרת מותאמות אישית בכדי להתחבר לשרתים אחרים באמצעות בחירת כתובת שרת בית שונה.<br/>זה יאפשר לך להשתמש ב Riot עם חשבון קיים ב Matrix אבל אל מול שרת בית שונה. <br/><br/>כמו כן אפשר להגדיר זהות מותאמת אישית אבל אז לא תהיה אפשרות להזמין משתמשים באמצעות כתובת אימייל, או להזמין את עצמך באמצעות כתובת האימייל.",
"delete the alias.": "מחיקת כינוי.",
@ -35,7 +35,7 @@
"Error": "שגיאה",
"Error saving email notification preferences": "שגיאה בעת שמירת הגדרות התראה באמצעות הדואר האלקטרוני",
"#example": "#דוגמא",
"Expand panel": "הרחב פנאל",
"Expand panel": "הרחב מסגרת",
"Failed to add tag %(tagName)s to room": "נכשל בעת הוספת תג %(tagName)s לחדר",
"Failed to change settings": "נכשל בעת שינוי הגדרות",
"Failed to forget room %(errCode)s": "נכשל בעת בקשה לשכוח חדר %(errCode)s",
@ -45,15 +45,15 @@
"Failed to remove tag %(tagName)s from room": "נכשל בעת נסיון הסרת תג %(tagName)s מהחדר",
"Failed to send report: ": "נכשל בעת שליחת דו\"ח: ",
"Failed to set direct chat tag": "נכשל בעת סימון תג לשיחה ישירה",
"Failed to set Direct Message status of room": "נכשל בעת סימון סטטוס הודעה ישירה של החדר",
"Failed to set Direct Message status of room": "נכשל בעת סימון מצב הודעה ישירה של החדר",
"Favourite": "מועדף",
"Fetching third party location failed": "נסיון להביא מיקום צד שלישי נכשל",
"Files": "קבצים",
"Filter room names": "מיין לפי שמות חדרים",
"Filter room names": "סנן שמות חדרים",
"Forget": "שכח",
"Forward Message": "העבר הודעה",
"Guests can join": "אורחים יכולים להצטרף",
"Hide panel": "הסתר פנאל",
"Hide panel": "הסתר מסגרת",
"I understand the risks and wish to continue": "אני מבין את הסיכונים אבל מבקש להמשיך",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "בכדי לנתח את הבעיות, ישלח דוח עם פרטי הבעיה. אם ברצונך רק לשלוח את שנאמר למעלה, נא הסר את הסימון:",
"Invite to this room": "הזמן לחדר זה",
@ -63,7 +63,7 @@
"Loading bug report module": "טוען רכיב דיווח דו\"ח שגיאה",
"Low Priority": "עדיפות נמוכה",
"Members": "חברים",
"Mentions only": "הערות בלבד",
"Mentions only": "מאזכר בלבד",
"Messages containing my display name": "הודעות המכילות את שם התצוגה שלי",
"Messages containing <span>keywords</span>": "הודעות המכילות <span> מילות מפתח </span>",
"Messages containing my user name": "הודעות המכילות את שם המשתמש שלי",
@ -94,17 +94,17 @@
"Remove from Directory": "הסר מהרשימה",
"Report a bug": "דווח על שגיאה",
"Resend": "שלח מחדש",
"Riot Desktop on %(platformName)s": "Riot לשולחן העבודה על גבי %(platformName)s",
"Riot Desktop on %(platformName)s": "רייוט לשולחן העבודה על גבי %(platformName)s",
"Riot does not know how to join a room on this network": "Riot אינו יודע כיצד להצטרף לחדר ברשת זו",
"Riot is not supported on mobile web. Install the app?": "Riot לא נתמך באמצעות דפדפן במכשיר הסלולארי. האם ברצונך להתקין את האפליקציה?",
"Riot is not supported on mobile web. Install the app?": "Riot לא נתמך באמצעות דפדפן במכשיר הסלולארי. האם להתקין את היישום?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot משתמש במספר רב של אפשרויות מתקדמות בדפדפן, חלק מהן לא זמינות או בשלבי נסיון בדפדפן שבשימושך כרגע.",
"Room not found": "חדר לא נמצא",
"Search": "חפש",
"Search…": "חפש…",
"Search for a room": "חפש חדר",
"Send": "שלח",
"Send logs": "שלח לוגים",
"Source URL": "כתובת אתר המקור",
"Send logs": "שלח יומנים",
"Source URL": "כתובת URL אתר המקור",
"Sorry, your browser is <b>not</b> able to run Riot.": "מצטערים, הדפדפן שלך הוא <b> אינו</b> יכול להריץ את Riot.",
"The Home Server may be too old to support third party networks": "שרת הבית ישן ואינו יכול לתמוך ברשתות צד שלישי",
"There are advanced notifications which are not shown here": "ישנן התראות מתקדמות אשר אינן מוצגות כאן",
@ -121,7 +121,7 @@
"Update": "עדכון",
"Uploaded on %(date)s by %(user)s": "עודכן ב %(date)s ע\"י %(user)s",
"Uploading report": "מעדכן דוח",
"View Decrypted Source": "הצג מקור מוצפן",
"View Decrypted Source": "הצג מקור מפוענח",
"View Source": "הצג מקור",
"What's New": "מה חדש",
"What's new?": "מה חדש?",
@ -131,7 +131,7 @@
"You cannot delete this image. (%(code)s)": "אי אפשר למחוק את התמונה. (%(code)s)",
"You cannot delete this message. (%(code)s)": "לא ניתן למחוק הודעה זו. (%(code)s)",
"You are not receiving desktop notifications": "אתה לא מקבל התראות משולחן העבודה",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "יתכן כי בצעת את ההגדרות בצד לקוח ולא ב Riot. לא תוכל לווסת אותם ב Riot אבל הם עדיין תקפים",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "יתכן כי בצעת את ההגדרות בצד לקוח ולא ב Riot. לא תוכל לעדכן אותם ב Riot אבל הם עדיין תקפים",
"Sunday": "ראשון",
"Monday": "שני",
"Tuesday": "שלישי",
@ -142,9 +142,9 @@
"Today": "היום",
"Yesterday": "אתמול",
"OK": "בסדר",
"You need to be using HTTPS to place a screen-sharing call.": "עליך להשתמש ב HTTPS בכדי לבצע שיחה משותפת.",
"You need to be using HTTPS to place a screen-sharing call.": "עליך להשתמש ב HTTPS בכדי לבצע שיחת ווידאו משותפת.",
"Welcome to Riot.im": "ברוכים הבאים ל Riot.im",
"Search the room directory": "חפש ברשימת החדרים",
"Search the room directory": "חפש בספריית החדרים",
"Chat with Riot Bot": "שיחה עם Riot בוט",
"Get started with some tips from Riot Bot!": "התחל באמצעות מספר טיפים מהבוט של Riot!",
"General discussion about Matrix and Riot": "דיון כללי על Matrix ו Riot",
@ -153,32 +153,84 @@
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; שיחה עם matrix-ios-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; צ'ט matrix-android-sdk",
"Matrix technical discussions": "פורום טכני של Matrix",
"Running Matrix services": "הרץ את שירותי ה Matrix",
"Community-run support for Synapse": "תמיכה בקהילה של Synapse",
"Running Matrix services": "שירותי ה Matrix שרצים",
"Community-run support for Synapse": "תמיכת הקהילה עבור Synapse",
"Admin support for Dendrite": "תמיכת מנהל מערכת עבור Dendrite",
"Announcements about Synapse releases": "הודעות לגבי גרסאות Synapse",
"Support for those using and running matrix-appservice-irc": "תמיכה באלו המשתמשים ב matrix-appservice-irc",
"Support for those using and running matrix-appservice-irc": "תמיכה למשתמשים ב matrix-appservice-irc",
"Building services on Matrix": "בניית שירותים על גבי ה Matrix",
"Support for those using the Matrix spec": "תמיכה באלו המשתמשים בהגדרות ה Matrix",
"Support for those using the Matrix spec": "תמיכה למשתמשים במאפייני ה Matrix",
"Design and implementation of E2E in Matrix": "תכנון וביצוע קצה לקצה ב Matrix",
"Implementing VR services with Matrix": "מימוש שירותי VR ב Matrix",
"Implementing VoIP services with Matrix": "מימוש Voip ב Matrix",
"Discussion of the Identity Service API": "דיון על שירות זהויות",
"Support for those using, running and writing other bridges": "שירות לכל אותם אלו המשתמשים, מריצים וכותבים חיבורים נוספים",
"Discussion of the Identity Service API": "דיון על API לשירות זהויות",
"Support for those using, running and writing other bridges": "שירות למשתמשים, שמריצים וכותבים חיבורים נוספים",
"Contributing code to Matrix and Riot": "תרומת קוד ל Matrix ו Riot",
"Dev chat for the Riot/Web dev team": "שיחה עם המפתחים עבור ה קבוצת הפיתוח של Riot/Web",
"Dev chat for the Dendrite dev team": "שיחת מפתחים עבור Dendrite",
"Co-ordination for Riot/Web translators": "תאום למתרגמי ה Riot/Web",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "הרבה חדרים כבר קיימים ב Matrix ומקושרים לרשתות קיימות (Slack, IRC, Gitter וכו') או עצמאיים. בדוק את הספרייה!",
"Failed to change password. Is your password correct?": "נכשל בעת שינוי סיסמא, האם הסיסמא אינה שגויה?",
"Failed to change password. Is your password correct?": "נכשל בשינוי סיסמא, האם הסיסמא נכונה?",
"You have successfully set a password!": "שינוי סיסמא בוצע בהצלחה!",
"You can now return to your account after signing out, and sign in on other devices.": "תוכל עתה לחזור לחשבון שלך רק אחרי התנתקות וחיבור מחדש לחשבון.",
"You can now return to your account after signing out, and sign in on other devices.": "תוכל עתה לחזור לחשבון שלך רק אחרי התנתקות וחיבור מחדש לחשבון ממכשיר אחר.",
"Continue": "המשך",
"Please set a password!": "נא להגדיר סיסמא!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "זה יאפשר לך לחזור לחשבונך אחרי התנתקות ולהתחבר באמצעות התקנים אחרים.",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s באמצעות הדפדפן %(browserName)s על גבי %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\"> ספארי</a> ו <a href=\"http://opera.com\"> אופרה</a> עובדים גם כן.",
"Notifications on the following keywords follow rules which cant be displayed here:": "התראה על מילות המפתח הבאות עוקבת אחר החוקים שאינם יכולים להיות מוצגים כאן:",
"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!": "באמצעות הדפדפן הנוכחי שלך המראה של האפליקציה יכול להיות שגוי לחלוטין וחלק מהאפשרויות לא תתפקדנה. אם תרצה לנסות בכל זאת תוכל אבל אז הסיכון חל עליך!",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "צ'ט מוצפן &amp; ושת\"פ נעשה ע\"י ה [matrix]"
"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!": "באמצעות הדפדפן הנוכחי שלך המראה של היישום יכול להיות שגוי לחלוטין וחלק מהאפשרויות לא תתפקדנה. אם תרצה לנסות בכל זאת תוכל אבל אז כל האחריות עליך!",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "צ'ט מוצפן &amp; ושת\"פ נעשה ע\"י ה [matrix]",
"Show message in desktop notification": "הצג הודעה בהתראות שולחן עבודה",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "בכדי להיכנס לשרתים אחרים של מטריקס, אפשר להגדיר כתובת מוצא ראשית אחרת ל- URL שרתי מטריקס, בהגדרות: 'התאמה אישית לאפשרויות שרת'.<br/>ואז מתאפשר למשתמש ריוט לנצל חשבון משתמש מטריקס קיים, בשרתי מטריקס שונים.<br/><br/>אפשר גם להגדיר בהתאמה אישית שרת הזדהות. אך אז לא ניתן להזמין משתמשים באימייל, ואי אפשר להזמינך באמצעות אימייל.",
"To return to your account in future you need to <u>set a password</u>": "להשתמש בחשבונך בעתיד, עליך <u>להגדיר סיסמא</u>",
"Set Password": "הגדר סיסמא",
"Error encountered (%(errorDetail)s).": "ארעה שגיעה %(errorDetail)s .",
"Checking for an update...": "בודק עדכונים...",
"No update available.": "אין עדכון זמין.",
"Downloading update...": "מוריד עדכון...",
"Warning": "התראה",
"Preparing to send logs": "מתכונן לשלוח יומנים",
"Logs sent": "יומנים נשלחו",
"Thank you!": "רב תודות!",
"Failed to send logs: ": "כשל במשלוח יומנים: ",
"Submit debug logs": "הזן יומני ניפוי שגיאה (דבאג)",
"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.": "יומני ניפוי שגיאה (דבאג) מכילים מידע על שימוש ביישום, כולל שם משתמש, מזהים או כינויים שהתמשת בהם. בחדרי שיחוח, או קבוצות בהם השתתפת. וגם שמות משתמשים אחרים. אך אינם כוללים הודעות.",
"<a>Click here</a> to create a GitHub issue.": "<a>הקלק כאן <a/>ליצירת דווח תקלה ‫ב: GitHub .",
"GitHub issue link:": "קישור לדווח תקלה בGitHub:",
"Notes:": "הערות:",
"Back": "אחורה",
"Send Custom Event": "שלח אירוע מותאם אישית",
"You must specify an event type!": "חובה להגדיר סוג ארוע!",
"Event sent!": "ארוע נשלח!",
"Failed to send custom event.": "כשל במשלוח ארוע מותאם אישית.",
"Event Type": "סוג ארוע",
"State Key": "מקש מצב",
"Event Content": "תוכן הארוע",
"Send Account Data": "שלח נתוני משתמש",
"Filter results": "סנן התוצאות",
"Explore Room State": "גלה מצב החדר",
"Edit": "ערוך",
"Explore Account Data": "גלה פרטי משתמש",
"Toolbox": "תיבת כלים",
"Developer Tools": "כלי מפתחים",
"You have successfully set a password and an email address!": "הצלחת להגדיר סיסמא וכתובת אימייל!",
"Remember, you can always set an email address in user settings if you change your mind.": "להזכירך: תמיד ניתן לשנות כתובת אימייל בהגדרות משתש. למקרה שתתחרט/י.",
"(HTTP status %(httpStatus)s)": "(מצב HTTP %(httpStatus)s )",
"Reply": "תשובה",
"Unpin Message": "שחרר צימוד הודעה",
"Pin Message": "הצמד הודעה",
"Online": "מקוון",
"Away": "מרוחק",
"Appear Offline": "מופיע מקוון",
"View Community": "הצג קהילה",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "אנא התקן <firefoxLink>Firefox</firefoxLink> או <chromeLink>Chrome</chromeLink> לחוויה מיטבית.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> וגם <operaLink>Opera</operaLink> עובדים.",
"Couldn't load home page": "כשל בטעינת דף הבית",
"Register": "רשום",
"%(count)s Members|other": " םישמתשמ %(count)s",
"%(count)s Members|one": " םישמתשמ %(count)s",
"Rooms": "חדרי שיחוח",
"Invite to this community": "הזמן לקהילה זו",
"Add rooms to this community": "הוסף חדר שיחוח לקהילה זו"
}

View File

@ -1,108 +1,108 @@
{
"Add an email address above to configure email notifications": "E-mail értesítés beállításához írd be az e-mail címed",
"Add an email address above to configure email notifications": "E-mail értesítések beállításához adj meg egy e-mail címet",
"Advanced notification settings": "Haladó értesítési beállítások",
"All messages": "Minden üzenet",
"All messages (loud)": "Minden üzenet (hangos)",
"All messages (noisy)": "Minden üzenet (hangos)",
"All notifications are currently disabled for all targets.": "Minden céleszközön minden értesítés tiltva van.",
"An error occurred whilst saving your email notification preferences.": "Hiba történt az e-mail értesítés beállításánál.",
"An error occurred whilst saving your email notification preferences.": "Hiba történt az e-mail értesítési beállításaid mentése közben.",
"Call invitation": "Hívás meghívó",
"Cancel Sending": "Küldés megszakítása",
"Can't update user notification settings": "Nem sikerül frissíteni az értesítési beállításokat",
"Close": "Bezár",
"Can't update user notification settings": "Nem lehet frissíteni az értesítési beállításokat",
"Close": "Bezárás",
"Couldn't find a matching Matrix room": "Nem található a keresett Matrix szoba",
"Custom Server Options": "Egyedi szerver beállítások",
"Custom Server Options": "Egyedi szerverbeállítások",
"delete the alias.": "becenév törlése.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Törlöd a(z) %(alias)s szobát és kiveszed a könyvtárból ezt: %(name)s?",
"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?",
"Direct Chat": "Közvetlen csevegés",
"Directory": "Könyvtár",
"Dismiss": "Eltűntet",
"Dismiss": "Eltüntet",
"Download this file": "Fájl letöltése",
"Enable audible notifications in web client": "Hallható értesítések engedélyezése a webes kliensben",
"Enable audible notifications in web client": "Hangértesítések engedélyezése a webkliensben",
"Enable desktop notifications": "Asztali értesítések engedélyezése",
"Enable email notifications": "E-mail értesítések engedélyezése",
"Enable notifications for this account": "Értesítések engedélyezése a fiókhoz",
"Enable notifications for this account": "Értesítések engedélyezése ehhez a fiókhoz",
"Enable them now": "Engedélyezés most",
"Enter keywords separated by a comma:": "Kulcsszavak vesszővel elválasztva:",
"Error": "Hiba",
"Error saving email notification preferences": "Hiba e-mail értesítés beállításának mentésénél",
"Error saving email notification preferences": "Hiba az e-mail értesítési beállítások mentésekor",
"#example": "#példa",
"Failed to add tag %(tagName)s to room": "Nem lehet a címkét hozzáadni a szobához: %(tagName)s",
"Failed to change settings": "Nem lehet a beállítást megváltoztatni",
"Failed to forget room %(errCode)s": "Nem lehet eltávolítani a szobát: %(errCode)s",
"Failed to update keywords": "Nem lehet a kulcsszavakat frissíteni",
"Failed to get protocol list from Home Server": "Nem lehet a protokoll listát lekérni a Saját szerverről",
"Failed to get public room list": "Nem lehet lekérdezni a nyílt szobák listáját",
"Failed to remove tag %(tagName)s from room": "Nem lehet törölni a(z) %(tagName)s címkét a szobáról",
"Failed to set direct chat tag": "Nem lehet a címkét beállítani a közvetlen beszélgetéshez",
"Failed to set Direct Message status of room": "Nem lehet beállítani a Közvetlen beszélgetés státuszt a szobához",
"Failed to add tag %(tagName)s to room": "Nem sikerült hozzáadni a szobához ezt: %(tagName)s",
"Failed to change settings": "A beállítások megváltoztatása nem sikerült",
"Failed to forget room %(errCode)s": "Nem sikerült elfelejteni a szobát: %(errCode)s",
"Failed to update keywords": "Nem lehet frissíteni a kulcsszavakat",
"Failed to get protocol list from Home Server": "Nem sikerült a protokoll listát lekérni a saját szerverről",
"Failed to get public room list": "Nem sikerült lekérdezni a nyilvános szobák listáját",
"Failed to remove tag %(tagName)s from room": "Nem sikerült a szobáról eltávolítani ezt: %(tagName)s",
"Failed to set direct chat tag": "Nem sikerült a közvetlen beszélgetés jelzést beállítani",
"Failed to set Direct Message status of room": "Nem lehet beállítani a szoba közvetlen beszélgetés státuszát",
"Favourite": "Kedvenc",
"Fetching third party location failed": "Nem sikerült lekérdezni a harmadik felet",
"Fetching third party location failed": "Nem sikerült lekérdezni a harmadik fél helyét",
"Files": "Fájlok",
"Filter room names": "Szoba nevek szűrése",
"Filter room names": "Szobanevek szűrése",
"Forget": "Elfelejt",
"Guests can join": "Vendégek is csatlakozhatnak",
"Invite to this room": "Meghívás a szobába",
"Keywords": "Kulcsszavak",
"Leave": "Elhagy",
"Low Priority": "Alacsony priorítás",
"Low Priority": "Alacsony prioritás",
"Members": "Résztvevők",
"Mentions only": "Csak ha megemlítenek",
"Messages containing my display name": "Az üzenet tartalmazza a nevem",
"Messages containing my user name": "Az üzenet tartalmazza a felhasználói nevem",
"Messages in group chats": "Üzenetek a csoportszobában",
"Messages in one-to-one chats": "Üzenetek közvetlen beszélgetésekben",
"Messages sent by bot": "Botok által küldött üzenetek",
"more": "további",
"Messages containing my display name": "A profilnevemet tartalmazó üzenetek",
"Messages containing my user name": "A felhasználónevemet tartalmazó üzenetek",
"Messages in group chats": "Csoportszobák üzenetei",
"Messages in one-to-one chats": "Személyes beszélgetések üzenetei",
"Messages sent by bot": "Botok üzenetei",
"more": "tovább",
"Mute": "Elnémít",
"No rooms to show": "Nincsenek megjelenítendő szobák",
"No rooms to show": "Nincsenek megjeleníthető szobák",
"Noisy": "Hangos",
"Notification targets": "Értesítések célpontja",
"Notifications": "Értesítések",
"Notify for all other messages/rooms": "Értesítés minden más üzenethez/szobához",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a>val és <a href=\"http://opera.com\">Opera</a>val is működik.",
"Collapse panel": "Panel bezárása",
"Collapse panel": "Panel becsukása",
"customServer_text": "Egyedi Matrix szervert használhatsz a Saját szerver URL beállításával.<br/> Ezzel meglévő Matrix fiókot használhatsz Riot klienssel és egyedi szerverrel.<br/><br/>Beállíthatsz egyedi \"identity\" szervert de akkor nem tudsz e-maillel meghívni felhasználót és téged sem tudnak meghívni e-maillel.",
"Expand panel": "Panel kinyitása",
"I understand the risks and wish to continue": "Megértettem a kockázatot és folytatom",
"Notifications on the following keywords follow rules which cant be displayed here:": "A kulcsszavakhoz tartozó értesítések olyan szabályokat követnek amiket nem lehet itt megjeleníteni:",
"Notifications on the following keywords follow rules which cant be displayed here:": "Az alábbi kulcsszavakról jövő értesítések szabályait nem lehet itt megjeleníteni:",
"Notify me for anything else": "Értesíts minden egyéb esetben",
"Off": "Ki",
"On": "Be",
"Operation failed": "Művelet sikertelen",
"Operation failed": "Sikertelen művelet",
"Permalink": "Állandó hivatkozás",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "A legjobb élmény érdekében telepíts <a href=\"https://www.google.com/chrome\">Chrome</a>ot vagy <a href=\"https://getfirefox.com\">Firefox</a>ot.",
"powered by Matrix": "Matrixon alapul",
"Quote": "Idézet",
"powered by Matrix": "A Matrix hajtja",
"Quote": "Idéz",
"Reject": "Elutasít",
"Remove %(name)s from the directory?": "Törlöd a %(name)s szobát a listából?",
"Remove": "Törlés",
"Remove %(name)s from the directory?": "Törlöd ezt a szobát a listából: %(name)s?",
"Remove": "Eltávolítás",
"remove %(name)s from the directory.": "%(name)s szoba törlése a listából.",
"Remove from Directory": "Törlés a szobák listájából",
"Resend": "Újraküld",
"Riot does not know how to join a room on this network": "Riot nem tudja, hogy csatlakozzon ehhez a szobához ezen a hálózaton",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot sok haladó képességét használja a böngészőnek amik közül lehet, hogy nem mind érhető el a most használt böngészőben vagy még csak kísérleti jellegű.",
"Remove from Directory": "Törlés a listából",
"Resend": "Küldés újra",
"Riot does not know how to join a room on this network": "A Riot nem tud csatlakozni szobához ezen a hálózaton",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "A Riot sok fejlett böngészőfunkciót használ, amelyeknek egy része egyáltalán nem, vagy csak kísérleti jelleggel érhető el a jelenlegi böngésződben.",
"Room not found": "A szoba nem található",
"Search for a room": "Szoba keresése",
"Source URL": "Forrás URL",
"Sorry, your browser is <b>not</b> able to run Riot.": "Elnézést, a böngésződ <b>nem</b> képes futtatni a Riotot.",
"The Home Server may be too old to support third party networks": "A Saját szerver lehet, hogy túl régi ahhoz, hogy más hálózatokhoz tudjon kapcsolódni",
"There are advanced notifications which are not shown here": "Vannak haladó értesítések amik itt nincsenek megjelenítve",
"The server may be unavailable or overloaded": "A szerver nem érhető el vagy túl van terhelve",
"Sorry, your browser is <b>not</b> able to run Riot.": "Elnézést, a böngésződben <b>nem</b> fut a Riot.",
"The Home Server may be too old to support third party networks": "Lehet, hogy a saját szerver túl régi és nem támogatja a csatlakozást más hálózatokhoz",
"There are advanced notifications which are not shown here": "Vannak itt nem látható, haladó értesítések",
"The server may be unavailable or overloaded": "A szerver nem elérhető vagy túlterhelt",
"Unable to fetch notification target list": "Nem sikerült letölteni az értesítési célok listáját",
"Unable to join network": "Nem sikerült kapcsolódni a hálózathoz",
"Unable to look up room ID from server": "Nem lehet lekérdezni a szoba ID-ját a szervertől",
"Unhide Preview": "Előkép felfedése",
"unknown error code": "ismeretlen hiba kód",
"Unable to look up room ID from server": "Nem lehet a szoba azonosítóját megkeresni a szerveren",
"Unhide Preview": "Előnézet mutatása",
"unknown error code": "ismeretlen hibakód",
"Unnamed room": "Névtelen szoba",
"Uploaded on %(date)s by %(user)s": "Feltöltés: %(date)s, %(user)s",
"Uploaded on %(date)s by %(user)s": "Feltöltötte %(user)s ekkor: %(date)s",
"View Decrypted Source": "Visszafejtett forrás megjelenítése",
"View Source": "Forrás megjelenítése",
"When I'm invited to a room": "Amikor meghívtak a szobába",
"When I'm invited to a room": "Amikor meghívnak egy szobába",
"World readable": "Nyilvános",
"You cannot delete this image. (%(code)s)": "Nem törölheted ezt a képet. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Nem törölheted ezt az üzenetet. (%(code)s)",
"You are not receiving desktop notifications": "Nem fogadsz asztali értesítéseket",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Valószínűleg Riottól eltérő klienssel állítottad be. Riotból nem állítható de érvényben van",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Egy másik, nem Riot-klienssel állítothattad be. A Riotban módosítani nem tudod ezeket, de érvényben vannak",
"Sunday": "Vasárnap",
"Monday": "Hétfő",
"Tuesday": "Kedd",
@ -112,8 +112,8 @@
"Saturday": "Szombat",
"Today": "Ma",
"Yesterday": "Tegnap",
"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!": "A jelenlegi bőngésződdel teljesen hibás lehet az alkalmazás kinézete és bizonyos funkciók, ha nem az összes, nem fog működni. Ha mindenképpen ki akarod próbálni, folytathatod de egyedül vagy minden felbukkanó problémával!",
"Messages containing <span>keywords</span>": "Az üzenet <span>kulcsszavakat</span> tartalmaz",
"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!": "Ebben a böngészőben az alkalmazás felülete tele lehet hibával, és az is lehet, hogy egyáltalán nem működik. Ha így is ki szeretnéd próbálni, megteheted, de ha valami gondod van, nem tudunk segíteni!",
"Messages containing <span>keywords</span>": "<span>Kulcsszavakat</span> tartalmazó üzenetek",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s alkalmazás %(browserName)s böngészőn %(osName)s rendszeren",
"A new version of Riot is available.": "Elérhető egy új Riot verzió.",
"All Rooms": "Minden szobában",
@ -121,101 +121,118 @@
"Changelog": "Változások",
"Collecting app version information": "Alkalmazás verzió információk összegyűjtése",
"Collecting logs": "Naplók összegyűjtése",
"Describe your problem here.": "Írd le a problémád itt.",
"Failed to send report: ": "A jelentést nem lehetett elküldeni: ",
"Forward Message": "Üzenet továbbküldése",
"Describe your problem here.": "Írd le ide a problémádat.",
"Failed to send report: ": "A jelentést nem sikerült elküldeni: ",
"Forward Message": "Üzenet továbbítása",
"Hide panel": "Panel elrejtése",
"Loading bug report module": "Hibabejelentő modul betöltése",
"Please describe the bug and/or send logs.": "Írd le a hibát és/vagy küld el a naplókat.",
"Please describe the bug and/or send logs.": "Kérünk, írd le a hibát és/vagy küldd el a naplófájlokat.",
"Report a bug": "Hiba bejelentése",
"Riot Desktop on %(platformName)s": "Riot Desktop ezen: %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "Riot nem támogatott mobil webböngészőn. Telepíted az alkalmazást?",
"Riot Desktop on %(platformName)s": "Riot Desktop itt: %(platformName)s",
"Riot is not supported on mobile web. Install the app?": "A mobilböngésző nem támogatja a Riotot. Telepíted inkább az alkalmazást?",
"Search": "Keresés",
"Search…": "Keresés…",
"Send": "Küld",
"Send logs": "Naplók elküldése",
"Send": "Elküld",
"Send logs": "Naplófájlok elküldése",
"This Room": "Ebben a szobában",
"Unavailable": "Elérhetetlen",
"Unknown device": "Ismeretlen eszköz",
"Unknown device": "Ismeretlen készülék",
"Update": "Frissítés",
"Uploading report": "Jelentés feltöltése",
"What's New": "Mik az újdonságok",
"What's New": "Újdonságok",
"What's new?": "Mik az újdonságok?",
"Waiting for response from server": "Válasz várása a szervertől",
"Waiting for response from server": "Várakozás a szerver válaszára",
"OK": "Rendben",
"You need to be using HTTPS to place a screen-sharing call.": "HTTPS-t kell használnod hogy képernyőmegosztásos hívást kezdeményezz.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "A problémák diagnosztizálása érdekében erről a kliensről a hibajelentésben naplók lesznek elküldve. Ha csak az alábbi szöveget szeretnéd elküldeni akkor ezt ne jelöld meg:",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Írd le a hibát. Mit csináltál? Mi az amit szerettél volna ha történik? Ezzel szemben mi az ami történt?",
"You need to be using HTTPS to place a screen-sharing call.": "Képernyőmegosztás indításához HTTPS-t kell használnod.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "A hibajelentésben naplófájlokat küldünk erről a kliensről, hogy feltárjuk a hibákat. Ha inkább csak a fenti szöveget szeretnéd elküldeni, töröld a pipát:",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Kérünk, írd le a hibát. Mit csináltál? Minek kellett volna történnie? Mi történt végül?",
"Login": "Bejelentkezés",
"Welcome to Riot.im": "Üdvözlünk a Riot.im-en",
"Welcome to Riot.im": "Üdvözöl a Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizált, titkosított csevegés és kollaboráció [matrix] alapokon",
"Search the room directory": "Keresés a szobák jegyzékében",
"Search the room directory": "Keresés a szobajegyzékben",
"Chat with Riot Bot": "Csevegés a Riot Robottal",
"Get started with some tips from Riot Bot!": "Kezdd el a Riot használatát a Riot Robot tippjei segítségével!",
"Get started with some tips from Riot Bot!": "Kezdj a Riot Robot néhány tippjével!",
"General discussion about Matrix and Riot": "Általános beszélgetések a Matrixról és a Riotról",
"Discussion of all things Matrix!": "Beszélgetések mindenről, ami a Matrixhoz kapcsolódik!",
"Riot/Web &amp; Desktop chat": "Riot/Web és asztali csevegés",
"Discussion of all things Matrix!": "Beszélgetés mindenről, ami Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web és Desktop csevegés",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS és matrix-ios-sdk csevegés",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android és matrix-android-sdk csevegés",
"Matrix technical discussions": "Technikai jellegű beszélgetések a Matrixról",
"Community-run support for Synapse": "Közösségi támogatás a Synapse-hez",
"Admin support for Dendrite": "Adminisztrációs támogatás a Dendrite-hoz",
"Announcements about Synapse releases": "Bejelentések a Synapse kiadásairól",
"Running Matrix services": "Matrixszolgáltatások működtetése",
"Support for those using and running matrix-appservice-irc": "Támogatás a matrix-appservice-irc használatáról és működtetéséről",
"Building services on Matrix": "Szolgáltatások fejlesztése a Matrixra",
"Support for those using the Matrix spec": "Támogatás a Matrix specifikáció használatáról",
"Admin support for Dendrite": "Admin támogatás a Dendrite-hoz",
"Announcements about Synapse releases": "Hírek a Synapse kiadásairól",
"Running Matrix services": "Matrix szolgáltatások működtetése",
"Support for those using and running matrix-appservice-irc": "Támogatás a matrix-appservice-irc használóinak és működtetőinek",
"Building services on Matrix": "Szolgáltatások fejlesztése Matrixra",
"Support for those using the Matrix spec": "Támogatás a Matrix specifikáció használóinak",
"Design and implementation of E2E in Matrix": "A végponttól végpontig történő titkosítás (E2E) tervezése és implementációja a Matrixban",
"Implementing VR services with Matrix": "A Matrixszal együttműködő virtuális valóság (VR) szolgáltatások implementációja",
"Implementing VoIP services with Matrix": "A Matrixszal együttműködő VoIP szolgáltatások implementációja",
"Discussion of the Identity Service API": "Beszélgetések az Identity Service API-ról",
"Support for those using, running and writing other bridges": "Támogatás egyéb hídak használáról, működtetéséről és fejlesztéséről",
"Implementing VR services with Matrix": "VR szolgáltatások implementációja Matrixba",
"Implementing VoIP services with Matrix": "VoIP szolgáltatások implementációja Matrixba",
"Discussion of the Identity Service API": "Beszélgetés az Identity Service API-ról",
"Support for those using, running and writing other bridges": "Támogatás azoknak, akik egyéb hidakat használnak, működtetnek vagy készítenek",
"Contributing code to Matrix and Riot": "Hozzájárulás a Matrix és Riot programkódjának fejlesztéséhez",
"Dev chat for the Riot/Web dev team": "Csevegés a Riot/Web fejlesztői csapatával fejlesztőknek",
"Dev chat for the Dendrite dev team": "Csevegés a Dendrite fejlesztői csapatával fejlesztőknek",
"Co-ordination for Riot/Web translators": "Egyeztetés a Riot/Web fordítóival",
"Failed to change password. Is your password correct?": "Nem sikerült megváltoztatni a jelszót. Helyesen írtad be a jelszavadat?",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Már sok létező szoba van a Matrixon, melyek más hálózatokkal vannak összekapcsolva (Slack, IRC, Gitter stb.) vagy függetlenek. Látogasd meg a szobajegyzéket!",
"You have successfully set a password!": "Sikeresen állítottál be jelszót!",
"You can now return to your account after signing out, and sign in on other devices.": "Most már visszatérhetsz a fiókodhoz kijelentkezés után, és más eszközökkel is be tudsz jelentkezni.",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Már sok szoba van a Matrixon: más hálózatokkal (Slack, IRC, Gitter stb.) összekapcsolt és függetlenek szobák is. Nézd meg a szobajegyzéket!",
"You have successfully set a password!": "Sikerült beállítani a jelszót!",
"You can now return to your account after signing out, and sign in on other devices.": "Most már kijelentkezés után is vissza tudsz lépni a fiókodba, és más készülékekről is be tudsz lépni.",
"Continue": "Folytatás",
"Please set a password!": "Kérlek, állíts be egy jelszót!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Ezzel visszatérhetsz kijelentkezés után a fiókodhoz és más eszközökkel is be tudsz jelentkezni.",
"(HTTP status %(httpStatus)s)": "(HTTP állapot %(httpStatus)s)",
"You have successfully set a password and an email address!": "Sikeresen beállítottad a jelszavad és e-mail címed!",
"Please set a password!": "Állíts be egy jelszót!",
"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.",
"(HTTP status %(httpStatus)s)": "(HTTP állapot: %(httpStatus)s)",
"You have successfully set a password and an email address!": "Sikerült beállítani a jelszavad és e-mail címed!",
"Remember, you can always set an email address in user settings if you change your mind.": "Ha meggondolod magad, bármikor beállíthatod az e-mail címed a felhasználói beállításoknál.",
"To return to your account in future you need to <u>set a password</u>": "A fiókba való visszalépéshez <u>jelszót</u> kell beállítanod",
"To return to your account in future you need to <u>set a password</u>": "Hogy később visszaléphess a fiókodba, be kell állítanod egy <u>jelszót</u>",
"Set Password": "Jelszó beállítása",
"Warning": "Figyelmeztetés",
"Checking for an update...": "Frissítés keresése...",
"Error encountered (%(errorDetail)s).": "Hiba történt (%(errorDetail)s).",
"No update available.": "Frissítés nem érthető el.",
"No update available.": "Nincs elérhető frissítés.",
"Downloading update...": "Frissítés letöltése...",
"Couldn't load home page": "Kezdőképernyő betöltése sikertelen",
"Couldn't load home page": "Nem sikerült betölteni a kezdőlapot",
"Bug report sent": "Hibajelentés elküldve",
"Thank you!": "Köszönjük!",
"Back": "Vissza",
"Developer Tools": "Fejlesztői eszközök",
"Failed to send custom event.": "Egyéni esemény elküldése nem sikerült.",
"Failed to send custom event.": "Nem sikerült elküldeni az egyéni eseményt.",
"Send Custom Event": "Egyéni esemény elküldése",
"Send Custom State Event": "Egyéni állapot esemény küldése",
"Explore Room State": "Szoba állapot felfedezése",
"Event sent!": "Esemény elküldve!",
"Explore Room State": "Szoba állapot felderítése",
"Event sent!": "Az esemény elküldve!",
"Event Type": "Esemény típusa",
"Event Content": "Esemény tartalma",
"State Key": "Állapot kulcs",
"State Key": "Állapotkulcs",
"Filter results": "Találatok szűrése",
"You must specify an event type!": "Meg kell határoznod az esemény típusát!",
"Show message in desktop notification": "Üzenetek megmutatása az asztali értesítésekben",
"Pin Message": "Üzenet kitűzése",
"You must specify an event type!": "Meg kell jelölnöd az eseménytípust!",
"Show message in desktop notification": "Üzenetek megjelenítése az asztali értesítéseknél",
"Pin Message": "Üzenet rögzítése",
"Unpin Message": "Üzenet levétele",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Bejelentkezhetsz más Matrix szerverbe ha használhatod a saját szerver opciót és megadod egy másik szerver URL-jét.<br/>Ezzel egy másik szerveren egy már meglévő fiókot tudsz használni.<br/><br/>Beállíthatsz egyedi azonosító szervert de akkor nem tudsz másokat e-mail cím alapján meghívni és téged sem tudnak.",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Az egyedi szerverbeállításoknál megadhatod egy másik szerver URL-jét, így be tudsz jelentkezni más Matrix szerverre is.<br/>Így a Riotot tudod használni egy már máshol meglévő Matrix fiókkal is.<br/><br/>Beállíthatsz egyéni identitásszervert is, de akkor nem tudsz más felhasználókat e-mail címmel meghívni, illetve ők sem tudnak téged.",
"Edit": "Szerkeszt",
"Register": "Regisztrál",
"Register": "Regisztráció",
"Rooms": "Szobák",
"Invite to this community": "Meghívás ebbe a közösségbe",
"Add rooms to this community": "Szobák hozzáadása ehhez a közösséghez",
"Toolbox": "Szerszámok",
"Send Account Data": "Fiók adatok küldése",
"Explore Account Data": "Fiók adatok böngészése"
"Toolbox": "Eszköztár",
"Send Account Data": "Fiókadatok küldése",
"Explore Account Data": "Fiókadatok felderítése",
"Appear Offline": "Offline látszik",
"Away": "Távol",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "A legjobb élmény érdekében telepíts <chromeLink>Chrome</chromeLink> vagy <firefoxLink>Firefox</firefoxLink> böngészőt.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safarival</safariLink> és <operaLink>Operával</operaLink> is működik.",
"Reply": "Válasz",
"%(count)s Members|other": "%(count)s tag",
"%(count)s Members|one": "%(count)s tag",
"Online": "Online",
"View Community": "Közösség megtekintése",
"Submit debug logs": "Hibakeresési napló küldése",
"Preparing to send logs": "Előkészülés napló küldéshez",
"Logs sent": "Napló elküldve",
"Failed to send logs: ": "Hiba a napló küldésénél: ",
"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.": "A hibakereső napló alkalmazás használati adatokat tartalmaz beleértve a felhasználói nevedet, az általad meglátogatott szobák és csoportok azonosítóit alternatív neveit és más felhasználói neveket. Csevegés üzenetek szövegét nem tartalmazza.",
"<a>Click here</a> to create a GitHub issue.": "<a>Kattints ide</a> GitHub hibajegy nyitásához .",
"GitHub issue link:": "GitHub hibajegy hivatkozás:",
"Notes:": "Jegyzetek:"
}

View File

@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Tambahkan alamat email di atas untuk konfigurasi notifikasi email",
"Advanced notification settings": "Pengaturan notifikasi lanjutan",
"All messages": "Semua pesan",
"All messages (loud)": "Semua pesan (keras)",
"All messages (noisy)": "Semua pesan (keras)",
"All Rooms": "Semua Ruang",
"All notifications are currently disabled for all targets.": "Semua notifikasi saat ini dinonaktifkan untuk semua target.",
"An error occurred whilst saving your email notification preferences.": "Terjadi kesalahan saat menyimpan preferensi notifikasi email Anda.",
@ -191,5 +191,10 @@
"Remember, you can always set an email address in user settings if you change your mind.": "Ingat, Anda selalu dapat mengubah alamat email di pengaturan pengguna jika anda berubah pikiran.",
"To return to your account in future you need to <u>set a password</u>": "Untuk kembali ke akun di lain waktu, Anda perlu <u>mengisi password</u>",
"Set Password": "Ubah Password",
"Couldn't load home page": "Tidak dapat memuat halaman utama"
"Couldn't load home page": "Tidak dapat memuat halaman utama",
"Show message in desktop notification": "Tampilkan pesan pada desktop",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Anda dapat menggunakan opsi lain untuk mendaftar pada server Matrix yang berbeda dengan memasukkan URL server yang sesuai. <br/>Hal ini memungkinkan anda untuk menggunakan Riot dengan akun matrix yang telah tersedia pada Home server yang berbeda.<br/><br/>Anda juga dapat melakukan pengubahan identitas server akan tetapi akan berakibat tidak dapat mengundang pengguna melalui email, atau diundang melalui email.",
"Bug report sent": "Laporan bug terkirim",
"Thank you!": "Terima kasih!",
"Back": "Kembali"
}

View File

@ -4,7 +4,7 @@
"Add an email address above to configure email notifications": "Aggiungi un indirizzo email sopra per configurare le notifiche via email",
"Advanced notification settings": "Impostazioni di notifica avanzate",
"All messages": "Tutti i messaggi",
"All messages (loud)": "Tutti i messaggi (rumoroso)",
"All messages (noisy)": "Tutti i messaggi (rumoroso)",
"All Rooms": "Tutte le stanze",
"An error occurred whilst saving your email notification preferences.": "Si è verificato un errore durante il salvataggio delle tue preferenze sulle notifiche email.",
"Call invitation": "Invito ad una chiamata",
@ -50,12 +50,12 @@
"Filter room names": "Filtra i nomi delle stanze",
"Forget": "Dimentica",
"Forward Message": "Inoltra messaggio",
"Guests can join": "Gli ospiti sono ammessi",
"Guests can join": "Gli ospiti possono entrare",
"Hide panel": "Nascondi pannello",
"I understand the risks and wish to continue": "Sono consapevole dei rischi e vorrei continuare",
"Invite to this room": "Invita in questa stanza",
"Keywords": "Parole chiave",
"Leave": "Abbandona",
"Leave": "Esci",
"Login": "Entra",
"All notifications are currently disabled for all targets.": "Tutte le notifiche sono disabilitate per tutti gli obbiettivi.",
"Failed to forget room %(errCode)s": "Impossibile dimenticare la stanza %(errCode)s",
@ -187,7 +187,7 @@
"Set Password": "Imposta Password",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s su %(osName)s",
"Unable to fetch notification target list": "Impossibile ottenere la lista di obiettivi notifiche",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat &amp; collaborazione decentralizzata e criptata offerta da [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat criptate e collaborazioni decentralizzate offerte da [matrix]",
"Discussion of all things Matrix!": "Discussione su tutto quanto riguardi Matrix!",
"Dev chat for the Riot/Web dev team": "Chat per gli sviluppatori di Riot/Web",
"Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite",
@ -207,5 +207,32 @@
"Event Content": "Contenuto dell'Evento",
"State Key": "Chiave dello Stato",
"Show message in desktop notification": "Mostra i messaggi nelle notifiche desktop",
"Edit": "Modifica"
"Edit": "Modifica",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo dell'home server.<br/> Questo permette di usare Matrix con un account esistente su un home server diverso.<br/><br/>È anche possibile impostare un diverso identity server, ma in quel caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.",
"Appear Offline": "Appari offline",
"Away": "Assente",
"Explore Account Data": "Esplora dati account",
"Toolbox": "Strumenti",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Installa <chromeLink>Chrome</chromeLink> o <firefoxLink>Firefox</firefoxLink> per la migliore esperienza d'uso.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Anche <safariLink>Safari</safariLink> e <operaLink>Opera</operaLink> vanno bene.",
"Register": "Registrati",
"Rooms": "Stanze",
"Send Account Data": "Invia dati account",
"Unpin Message": "Sblocca messaggio",
"Pin Message": "Blocca messaggio",
"Add rooms to this community": "Aggiungi stanze a questa community",
"Reply": "Rispondi",
"Invite to this community": "Invita a questa comunità",
"Online": "Online",
"View Community": "Vedi la comunità",
"%(count)s Members|other": "%(count)s membri",
"%(count)s Members|one": "%(count)s membro",
"Submit debug logs": "Invia log di debug",
"Preparing to send logs": "Preparazione invio dei log",
"Logs sent": "Log inviati",
"Failed to send logs: ": "Invio dei log fallito: ",
"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.": "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.",
"<a>Click here</a> to create a GitHub issue.": "<a>Clicca qui</a> per creare una segnalazione su GitHub.",
"GitHub issue link:": "Link segnalazione su GitHub:",
"Notes:": "Note:"
}

View File

@ -1,6 +1,6 @@
{
"All messages": "全ての発言",
"All messages (loud)": "全ての発言(通知音あり)",
"All messages (noisy)": "全ての発言(通知音あり)",
"Cancel": "取消",
"Close": "閉じる",
"Direct Chat": "対話",
@ -52,5 +52,26 @@
"Filter room names": "部屋名検索",
"Forget": "忘れる",
"Leave": "退室",
"Files": "添付ファイル"
"Files": "添付ファイル",
"Unknown device": "不明な端末",
"Collecting app version information": "アプリのバージョン情報を収集",
"Collecting logs": "ログの収集",
"Uploading report": "レポートのアップロード",
"Messages containing my display name": "自身の表示名を含むメッセージ",
"Messages containing my user name": "自身のユーザー名を含むメッセージ",
"Messages in one-to-one chats": "一対一のチャットでのメッセージ",
"Messages in group chats": "グループチャットのメッセージ",
"When I'm invited to a room": "部屋に招待された時",
"Messages sent by bot": "ボットから送信されたメッセージ",
"Error saving email notification preferences": "電子メール通知設定の保存エラー",
"An error occurred whilst saving your email notification preferences.": "電子メール通知設定を保存中にエラーが発生しました。",
"Keywords": "キーワード",
"Enter keywords separated by a comma:": "キーワードをコンマで区切って入力:",
"OK": "OK",
"Operation failed": "操作に失敗しました",
"Can't update user notification settings": "ユーザー通知の設定を更新できません",
"Failed to update keywords": "キーワードの更新に失敗しました",
"Messages containing <span>keywords</span>": "<span>keywords</span>を含むメッセージ",
"Add an email address above to configure email notifications": "メール通知を設定するためには、メールアドレスを追加してください",
"Call invitation": "通話への招待"
}

View File

@ -3,7 +3,7 @@
"Add an email address above to configure email notifications": "이메일 알림을 설정하기 위해 이메일 주소를 추가해주세요",
"Advanced notification settings": "고급 알림 설정",
"All messages": "모든 메시지",
"All messages (loud)": "모든 메시지 (크게)",
"All messages (noisy)": "모든 메시지 (크게)",
"All Rooms": "모든 방",
"All notifications are currently disabled for all targets.": "현재 모든 알림이 모든 상대에게서 꺼졌어요.",
"An error occurred whilst saving your email notification preferences.": "이메일 알림을 설정하다가 오류가 일어났어요.",
@ -191,5 +191,14 @@
"Error encountered (%(errorDetail)s).": "오류가 일어났어요 (%(errorDetail)s).",
"No update available.": "업데이트가 없어요.",
"Downloading update...": "업데이트를 받는 중...",
"Couldn't load home page": "중심 화면을 불러올 수 없어요"
"Couldn't load home page": "중심 화면을 불러올 수 없어요",
"Show message in desktop notification": "컴퓨터 알림에서 내용 보이기",
"Appear Offline": "미접속으로 표시하기",
"Bug report sent": "오류 보고서를 보냈어요",
"Thank you!": "감사합니다!",
"Back": "돌아가기",
"Edit": "수정하기",
"Toolbox": "도구상자",
"Developer Tools": "개발자 도구",
"Register": "등록"
}

223
src/i18n/strings/lt.json Normal file
View File

@ -0,0 +1,223 @@
{
"Waiting for response from server": "Laukiama atsakymo iš serverio",
"Unknown device": "Nežinomas įrenginys",
"Collecting app version information": "Renkama programėlės versijos informacija",
"Collecting logs": "Renkami žurnalai",
"Uploading report": "Išsiunčiama ataskaita",
"Keywords": "Raktažodžiai",
"Enter keywords separated by a comma:": "Įveskite kableliais atskirtus raktažodžius:",
"OK": "Gerai",
"Failed to change settings": "Nepavyko pakeisti nustatymų",
"Operation failed": "Operacija nepavyko",
"Failed to update keywords": "Nepavyko atnaujinti raktažodžių",
"Enable email notifications": "Įjungti pranešimus el. paštu",
"Advanced notification settings": "Išplėstiniai pranešimų nustatymai",
"Enable desktop notifications": "Įjungti darbalaukio pranešimus",
"Sunday": "Sekmadienis",
"Monday": "Pirmadienis",
"Tuesday": "Antradienis",
"Wednesday": "Trečiadienis",
"Thursday": "Ketvirtadienis",
"Friday": "Penktadienis",
"Saturday": "Šeštadienis",
"Today": "Šiandien",
"Yesterday": "Vakar",
"powered by Matrix": "palaikomas Matrix",
"What's New": "Kas naujo",
"What's new?": "Kas naujo?",
"A new version of Riot is available.": "Yra nauja Riot versija.",
"To return to your account in future you need to <u>set a password</u>": "Ateityje norėdami prisijungti prie savo paskyros turite <u>susigalvoti slaptažodį</u>",
"Set Password": "Nustatyti slaptažodį",
"Checking for an update...": "Tikrinama ar yra atnaujinimų...",
"No update available.": "Nėra prieinamų atnaujinimų.",
"Downloading update...": "Atsiunčiamas atnaujinimas...",
"Warning": "Įspėjimas",
"Error": "Klaida",
"You cannot delete this image. (%(code)s)": "Jūs negalite ištrinti šio paveikslėlio. (%(code)s)",
"Remove": "Šalinti",
"Close": "Užverti",
"Download this file": "Atsisiųsti šį failą",
"Thank you!": "Ačiū!",
"Cancel": "Atšaukti",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Aprašykite klaidą. Ką darėte? Ko tikėjotės, kad įvyks? Kas iš tikrųjų įvyko?",
"Describe your problem here.": "Čia aprašykite savo problemą.",
"Changelog": "Keitinių žurnalas",
"Back": "Atgal",
"You must specify an event type!": "Privalote nurodyti įvykio tipą!",
"Event sent!": "Įvykis išsiųstas!",
"Event Type": "Įvykio tipas",
"Toolbox": "Įrankinė",
"You have successfully set a password!": "Jūs sėkmingai įrašėte slaptažodį!",
"You have successfully set a password and an email address!": "Jūs sėkmingai įrašėte slaptažodį ir el. pašto adresą!",
"Continue": "Tęsti",
"(HTTP status %(httpStatus)s)": "(HTTP būsena %(httpStatus)s)",
"Please set a password!": "Prašau įrašykite slaptažodį!",
"You cannot delete this message. (%(code)s)": "Jūs negalite trinti šios žinutės. (%(code)s)",
"Cancel Sending": "Atšaukti siuntimą",
"Forward Message": "Persiųsti žinutę",
"Unpin Message": "Atsegti žinutę",
"Pin Message": "Prisegti žinutę",
"Permalink": "Pastovioji nuoroda",
"unknown error code": "nežinomas klaidos kodas",
"Reject": "Atmesti",
"Sorry, your browser is <b>not</b> able to run Riot.": "Atleiskite, jūsų naršyklė <b>negali</b> paleisti Riot.",
"I understand the risks and wish to continue": "Aš suprantu riziką ir noriu tęsti",
"Login": "Prisijungti",
"Register": "Registruotis",
"Files": "Failai",
"Notifications": "Pranešimai",
"Rooms": "Kambariai",
"Hide panel": "Slėpti skydelį",
"Invite to this community": "Pakviesti į šią bendruomenę",
"The server may be unavailable or overloaded": "Gali būti, kad serveris yra neprieinamas arba perkrautas",
"Unnamed room": "Kambarys be pavadinimo",
"Remove from Directory": "Šalinti iš katalogo",
"remove %(name)s from the directory.": "šalinti %(name)s iš katalogo.",
"Unable to join network": "Nepavyko prisijungti prie tinklo",
"Riot does not know how to join a room on this network": "Riot nežino kaip prisijungti prie kambario šiame tinkle",
"Room not found": "Kambarys nerastas",
"Couldn't find a matching Matrix room": "Nepavyko rasti atitinkamo Matrix kambario",
"Directory": "Katalogas",
"#example": "#pavyzdys",
"more": "daugiau",
"Expand panel": "Išskleisti skydelį",
"Collapse panel": "Suskleisti skydelį",
"Welcome to Riot.im": "Sveiki atvykę į Riot.im",
"Chat with Riot Bot": "Kalbėtis su Riot robotu",
"General discussion about Matrix and Riot": "Bendros diskusijos apie Matrix ir Riot",
"Matrix technical discussions": "Matrix techninės diskusijos",
"Riot is not supported on mobile web. Install the app?": "Riot nėra palaikoma naršant svetainėje mobiliaisiais įrenginiais. Įdiegti programėlę?",
"Riot Desktop on %(platformName)s": "Riot Desktop, %(platformName)s",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s, naudojant %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Norint skambinti su ekrano bendrinimo funkcija būtina naudoti HTTPS.",
"Messages containing my display name": "Žinutės, kuriose paminėtas mano vardas",
"Messages containing my user name": "Žinutės, kuriose paminėtas mano naudotojo vardas",
"Messages in one-to-one chats": "Žinutės asmeniniuose pokalbiuose",
"Messages in group chats": "Žinutės grupės pokalbiuose",
"When I'm invited to a room": "Kai aš esu pakviestas į pokalbių kambarį",
"Call invitation": "Pakvietimas skambinant",
"Messages sent by bot": "Roboto siunčiamos žinutės",
"Error saving email notification preferences": "Klaida, įrašant pranešimų el. paštu nuostatas",
"An error occurred whilst saving your email notification preferences.": "Įrašant pranešimų el. paštu nuostatas, įvyko klaida.",
"Can't update user notification settings": "Nepavyksta atnaujinti naudotojo pranešimų nustatymų",
"Messages containing <span>keywords</span>": "Žinutės, kuriose yra <span>raktažodžiai</span>",
"Notify for all other messages/rooms": "Pranešti apie visas kitas žinutes/pokalbių kambarius",
"Notify me for anything else": "Pranešti man apie visa kita",
"Enable notifications for this account": "Įjungti pranešimus šiai paskyrai",
"All notifications are currently disabled for all targets.": "Šiuo metu visi pranešimai visiems objektams yra išjungti.",
"Add an email address above to configure email notifications": "Norėdami gauti pranešimus el. paštu įveskite į aukščiau esantį laukelį el. pašto adresą",
"Notifications on the following keywords follow rules which cant be displayed here:": "Pranešimai šiems raktažodžiams yra uždrausti taisyklėmis:",
"Unable to fetch notification target list": "Nėra galimybės rasti pranešimo objektų sąrašui",
"Notification targets": "Pranešimo objektai",
"There are advanced notifications which are not shown here": "Yra išplėstinių pranešimų, kurie nėra čia rodomi",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Jūs turbūt juos sukonfigūravote kitoje programėlėje nei Riot. Negalite jų koreguoti Riot programėlėje, bet jie vistiek yra taikomi",
"Show message in desktop notification": "Rodyti žinutes darbalaukio pranešimuose",
"Enable audible notifications in web client": "Įgalinti garsinius pranešimus internetinėje aplinkoje",
"Off": "Išjungta",
"On": "Įjungta",
"Noisy": "Triukšmingas",
"Search…": "Paieška…",
"Search": "Ieškoti",
"This Room": "Šis pokalbių kambarys",
"All Rooms": "Visi pokalbių kambariai",
"Custom Server Options": "Pasirinktiniai serverio nustatymai",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Norėdami jungtis prie kito nei Matrix serverio galite pasirinktinio serverio nustatymuose nurodyti kito serverio URL adresą.<br/>Ši funkcija leis naudoti Riot su esama Matrix serverio paskyrą kituose serveriuose.<br/><br/>Taip pat galite nurodyti pasirinktinį identifikavimo serverį, bet tuomet negalėsite kviesti kitų vartotojų el. paštu ar jie jūsų.",
"Dismiss": "Nutraukti",
"You are not receiving desktop notifications": "Jūs negaunate darbalaukio pranešimų",
"Enable them now": "Įgalinti juos dabar",
"Update": "Atnaujinti",
"Error encountered (%(errorDetail)s).": "Gauta klaida (%(errorDetail)s).",
"Uploaded on %(date)s by %(user)s": "Atnaujinta %(date)s vartotojo %(user)s",
"Please describe the bug and/or send logs.": "Prašau apibūdinkite programos klaidą ir/arba išsiųskite žurnalo įrašus.",
"Loading bug report module": "Įkraunamas klaidų ataskaitų modulis",
"Bug report sent": "Klaidos ataskaita išsiųsta",
"Failed to send report: ": "Nepavyko išsiųsti ataskaitos: ",
"Report a bug": "Siųsti klaidos ataskaitą",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Tam, kad nustatytume problemas, iš šio kliento bus išsiųsti žurnalai kartu su klaidos ataskaita. Jeigu norite siųsti tik žemiau esantį tekstą nuimkite šia varnelę:",
"Send logs": "Siųsti žurnalus",
"Send": "Siųsti",
"Unavailable": "Neprieinamas",
"Send Custom Event": "Siųsti pasirinktinį įvykį",
"Failed to send custom event.": "Nepavyko išsiųsti pasirinktinio įvykio.",
"State Key": "Būklės raktas",
"Event Content": "Įvykio turinys",
"Send Account Data": "Siųsti paskyros duomenis",
"Filter results": "Išfiltruoti rezultatus",
"Explore Room State": "Peržiūrėti pokalbių kambario būseną",
"Edit": "Koreguoti",
"Explore Account Data": "Peržiūrėti paskyros duomenis",
"Developer Tools": "Programuotojo įrankiai",
"You can now return to your account after signing out, and sign in on other devices.": "Po atsijungimo galite grįžti prie savo paskyros ir prisijungti kituose įrenginiuose.",
"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.",
"Failed to change password. Is your password correct?": "Nepavyko pakeisti slaptažodžio. Ar Jūsų slaptažodis teisingas?",
"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.",
"Resend": "Siųsti iš naujo",
"Reply": "Atsakyti",
"View Source": "Peržiūrėti šaltinį",
"View Decrypted Source": "Peržiūrėti iššifruotą šaltinį",
"Unhide Preview": "Rodyti paržiūrą",
"Quote": "Citata",
"Source URL": "Šaltinio URL adresas",
"Online": "Prisijungęs",
"Away": "Neaktyvus",
"Appear Offline": "Neprisijungęs",
"Failed to set Direct Message status of room": "Nepavyko nustatyti tiesioginio pranešimo kambario būklės",
"Failed to forget room %(errCode)s": "Nepavyko pašalinti pokalbių kambario %(errCode)s",
"All messages (noisy)": "Visos žinutės (triukšmingas)",
"All messages": "Visos žinutės",
"Mentions only": "Tik paminėjimai",
"Mute": "Užtildyti",
"Leave": "Atsijungti",
"Forget": "Pamiršti",
"Favourite": "Svarbūs",
"Low Priority": "Nesvarbūs",
"Direct Chat": "Tiesioginis pokalbis",
"View Community": "Peržiūrėti bendruomenes",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot naudoja daug išplėstinių naršyklės funkcionalumų, kai kurie iš jų yra neprieinami ar eksperimentinei Jūsų naršyklėje.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Prašau įdiekite <chromeLink>Chrome</chromeLink> arba <firefoxLink>Firefox</firefoxLink> geriausiam rezultatui gauti.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Naudojant <safariLink>Safari</safariLink> ir <operaLink>Opera</operaLink> taip pat gerai veikia.",
"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!": "Naudojant šią naršyklę aplikacija gali atrodyti ir reaguoti neteisingai. Kai kurios arba visos funkcijos gali neveikti. Jei vis tiek norite pabandyti gali tęsti, tačiau iškilusios problemos yra jūsų pačių reikalas!",
"Couldn't load home page": "Nepavyksta užkrauti namų puslapio",
"Members": "Nariai",
"%(count)s Members|other": "%(count)s nariai",
"%(count)s Members|one": "%(count)s narys",
"Invite to this room": "Pakviesti į šį kambarį",
"Add rooms to this community": "Įtraukti kambarius į šią bendruomenę",
"Failed to get protocol list from Home Server": "Nepavyko gauti protokolų sąrašo iš serverio",
"The Home Server may be too old to support third party networks": "Serveris gali būti per senas ir negali palaikyti trečių šalių tinklų",
"Failed to get public room list": "Nepavyko gauti viešų pokalbių kambarių sąrašo",
"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?",
"Remove %(name)s from the directory?": "Ar ištrinti %(name)s iš katalogo?",
"delete the alias.": "ištrinti slapyvardį.",
"Fetching third party location failed": "Nepavyko gauti trečios šalies vietos",
"Unable to look up room ID from server": "Nepavyko gauti kambario ID iš serverio",
"World readable": "Visiems skaitomas",
"Guests can join": "Svečiai gali prisijungti",
"No rooms to show": "Nėra kambarių rodymui",
"Search for a room": "Ieškoti kambario",
"Filter room names": "Filtruoti kambarių pavadinimus",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizuotas, šifruotas čatas; bendradarbiavimas palaikomas [matrix]",
"Search the room directory": "Ieškoti kambarių kataloge",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Daugybė kambarių yra prisijungę prie Matrix, kurie yra susieti su egzistuojančiais tinklais (Slack, IRC, Gitter etc) arba nepriklausomi. Patikrinkite kambarių katalogą!",
"Get started with some tips from Riot Bot!": "Pradėkite su patarimais nuo Riot roboto!",
"Discussion of all things Matrix!": "Diskusijos apie viską Matrix!",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Darbalaukio čatas",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"Running Matrix services": "Vykdant Matrix servisus",
"Community-run support for Synapse": "Bendruomenės Synapse palaikymas",
"Admin support for Dendrite": "Administratoriaus Dendrite palaikymas",
"Announcements about Synapse releases": "Pranešimai apie Synapse naujinimus",
"Support for those using and running matrix-appservice-irc": "Palaikymas skirtas matrix-appservice-irc naudotojams",
"Building services on Matrix": "Servisų kūrimas ant Matrix",
"Support for those using the Matrix spec": "Palaikymas skirtas Matrix spec",
"Design and implementation of E2E in Matrix": "E2E dizainas ir įgyvendinimas Matrix'e",
"Implementing VR services with Matrix": "VR serviso įgyvendinimas su Matrix",
"Implementing VoIP services with Matrix": "VoIP serviso įgyvendinimas su Matrix",
"Discussion of the Identity Service API": "Diskusijos apie identifikavimo serviso API",
"Support for those using, running and writing other bridges": "Palaikymas skirtas tiems kas naudoja kitus tiltus",
"Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot",
"Dev chat for the Riot/Web dev team": "Kūrėjų čatas Riot/Web dev team",
"Dev chat for the Dendrite dev team": "Kūrėjų čatas Dendrite dev team",
"Co-ordination for Riot/Web translators": "Riot/Web vertėjų koordinacija"
}

View File

@ -1,107 +1,107 @@
{
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s caur %(browserName)s un %(osName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "darbojas arī <a href=\"http://apple.com/safari\">Safari</a> un <a href=\"http://opera.com\">Opera</a>.",
"A new version of Riot is available.": "Ir pieejama jauna Riot versija.",
"Add an email address above to configure email notifications": "Pievieno augšā epasta adresi, lai konfigurētu epasta notifikāciju paziņojumus",
"Advanced notification settings": "Īpašie notifikāciju uzstādījumi",
"A new version of Riot is available.": "Pieejama jauna Riot versija.",
"Add an email address above to configure email notifications": "Lai konfigurētu epasta paziņojumus, pievieno epasta adresi",
"Advanced notification settings": "Paziņojumu papildus iestatījumi",
"All messages": "Visas ziņas",
"All messages (loud)": "Visas ziņas (skaļi)",
"All Rooms": "Visas istabas",
"All notifications are currently disabled for all targets.": "Visi notifikāciju paziņojumi ir atspējoti visiem saņēmējiem.",
"An error occurred whilst saving your email notification preferences.": "Radās kļūda saglabājot tavus epasta notifikāciju ziņu uzstādījumus.",
"Call invitation": "Ielūguma zvans",
"All messages (noisy)": "Visas ziņas (ar skaņu)",
"All Rooms": "visās istabās",
"All notifications are currently disabled for all targets.": "Visiem saņēmējiem visi paziņojumi ir atspējoti.",
"An error occurred whilst saving your email notification preferences.": "Saglabājot Tavus epasta paziņojumu uzstādījumus, radās kļūda.",
"Call invitation": "Uzaicinājuma zvans",
"Cancel": "Atcelt",
"Cancel Sending": "Atcelt sūtīšanu",
"Can't update user notification settings": "Nav iespējams atjaunot lietotāja notifikāciju ziņu uzstādījumus",
"Changelog": "Izmaiņu saraksts",
"Can't update user notification settings": "Neizdodas atjaunot lietotāja paziņojumu iestatījumus",
"Changelog": "Izmaiņu saraksts (vēsture)",
"Close": "Aizvērt",
"Collapse panel": "Aizvērt apgabalu",
"Collecting app version information": "Tiek apkopota programmas versijas informācija",
"Collecting logs": "Tiek apkopoti logfaili",
"Couldn't find a matching Matrix room": "Nav iespējams noteikt atbilstošo Matrix istabu",
"Custom Server Options": "Īpaši servera uzstādījumi",
"Collapse panel": "Sakļaut (saritināt) paneli",
"Collecting app version information": "Tiek iegūta programmas versijas informācija",
"Collecting logs": "Tiek iegūti logfaili",
"Couldn't find a matching Matrix room": "Atbilstoša Matrix istaba netika atrasta",
"Custom Server Options": "Iestatāmās servera opcijas",
"customServer_text": "Tu vari izmantot īpašus servera uzstādījumus, lai pierakstītos citos Matrix serveros, norādot atšķirīgu servera URL adresi.<br/>Tas atļaus Tev izmantot Riot ar jau eksistējošu Matrix kontu citā serverī.<br/><br/>Tu vari norādīt arī īpašu identitātes serveri, bet tad nevarēsi uzaicināt lietotājus pēc epasta adreses,kā arī pēc tās tikt uzaicināts/a.",
"Discussion of the Identity Service API": "Diskusija par identitātes servisa API",
"delete the alias.": "dzēst aizstājējvārdu.",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Dzēst istabas aizstājējvārdu %(alias)s un dzēst %(name)s no kataloga?",
"Describe your problem here.": "Apraksti savu problēmu šeit.",
"Discussion of the Identity Service API": "Diskusija par Identitātes servisa API",
"delete the alias.": "dzēst aliasi/aizstājējvārdu.",
"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?",
"Describe your problem here.": "Apraksti šeit savu problēmu.",
"Direct Chat": "Tiešais čats",
"Directory": "Katalogs",
"Dismiss": "Noņemt",
"Dismiss": "Atteikt",
"Download this file": "Lejupielādēt šo failu",
"Enable audible notifications in web client": "Iespējot skaņas paziņojumus web klienta programmā",
"Enable desktop notifications": "Iespējot darbvirsmas notifikāciju paziņojumus",
"Enable email notifications": "Iespējot epasta notifikāciju paziņojumus",
"Enable notifications for this account": "Iespējot notifikāciju paziņojumus šim kontam",
"Enable audible notifications in web client": "Iespējot skaņus paziņojumus web klientā",
"Enable desktop notifications": "Iespējot darbvirsmas paziņojumus",
"Enable email notifications": "Iespējot paziņojumus pa epastu",
"Enable notifications for this account": "Iespējot paziņojumus šim kontam",
"Enable them now": "Iespējot tos tagad",
"Enter keywords separated by a comma:": "Ievadi atslēgvārdus, atdalītus ar komatu:",
"Error": "Kļūda",
"Error saving email notification preferences": "Kļūda saglabājot epasta notifikāciju paziņojumu uzstādījumus",
"#example": "#piemērs",
"Expand panel": "Izvērst apgabalu",
"Failed to add tag %(tagName)s to room": "Neizdevās pievienot birku %(tagName)s istabai",
"Failed to change settings": "Neizdevās mainīt uzstādījumus",
"Expand panel": "Izvērst paneli",
"Failed to add tag %(tagName)s to room": "Neizdevās istabai pievienot birku %(tagName)s",
"Failed to change settings": "Neizdevās nomainīt iestatījumus",
"Failed to forget room %(errCode)s": "Neizdevās \"aizmirst\" istabu %(errCode)s",
"Failed to update keywords": "Neizdevās atjaunot atslēgvārdus",
"Failed to get protocol list from Home Server": "Neizdevās iegūt protokolu sarakstu no mājas servera",
"Failed to update keywords": "Neizdevās aktualizēt atslēgvārdus",
"Failed to get protocol list from Home Server": "Neizdevās iegūt protokolu sarakstu no Bāzes servera",
"Failed to get public room list": "Neizdevās iegūt publisko istabu sarakstu",
"Failed to remove tag %(tagName)s from room": "Neizdevās dzēst istabas birku %(tagName)s",
"Failed to remove tag %(tagName)s from room": "Neizdevās istabai noņemt birku %(tagName)s",
"Failed to send report: ": "Neizdevās nosūtīt atskaiti: ",
"Failed to set direct chat tag": "Neizdevās uzstādīt birku tiešajam čatam",
"Failed to set direct chat tag": "Neizdevās tiešajam čatam uzstādīt birku",
"Continue": "Turpināt",
"Failed to change password. Is your password correct?": "Neizdevās mainīt paroli. Vai tava parole ir pareiza?",
"Favourite": "Favorīts",
"Mute": "Apklusināt",
"Failed to change password. Is your password correct?": "Neizdevās nomainīt paroli. Vai tā ir pareiza?",
"Favourite": "Favorīti (izlase)",
"Mute": "Noklusināt (izslēgt skaņu)",
"Notifications": "Paziņojumi",
"OK": "LABI",
"OK": "Lai notiek",
"Operation failed": "Darbība neizdevās",
"Remove": "Dzēst",
"Search": "Meklēt",
"unknown error code": "nezināms kļūdas kods",
"Monday": "Pirmdiena",
"Tuesday": "Otrdiena",
"Wednesday": "Trešdiena",
"Thursday": "Ceturtdiena",
"Friday": "Piektdiena",
"Saturday": "Sestdiena",
"Sunday": "Svētdiena",
"powered by Matrix": "spēcināts ar Matrix",
"Failed to set Direct Message status of room": "Neizdevās iestatīt istabas tiešo ziņu statusu",
"Monday": "pirmdiena",
"Tuesday": "otrdiena",
"Wednesday": "trešdiena",
"Thursday": "ceturtdiena",
"Friday": "piektdiena",
"Saturday": "sestdiena",
"Sunday": "svētdiena",
"powered by Matrix": "Tiek darbināta ar Matrix",
"Failed to set Direct Message status of room": "Neizdevās iestatīt istabas tiešās ziņas statusu",
"Fetching third party location failed": "Neizdevās iegūt trešās puses atrašanās vietu",
"Files": "Faili",
"Filter room names": "Filtrēt pēc istabu nosaukuma",
"Forget": "\"Aizmirst\"",
"Forget": "Aizmirst",
"Forward Message": "Pārsūtīt ziņu",
"Guests can join": "Viesi var pievienoties",
"Hide panel": "Slēpt apgabalu",
"Guests can join": "Var pievienoties viesi",
"Hide panel": "Slēpt paneli",
"(HTTP status %(httpStatus)s)": "(HTTP statuss %(httpStatus)s)",
"I understand the risks and wish to continue": "Es saprotu riskus un vēlos turpināt",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Problēmu diagnosticēšanas ietvaros, šī klienta logfaili tiks nosūtīti kopā ar šo kļūdas paziņojumu. Ja vēlies nosūtīt vienīgi zemākesošo tekstu, lūdzu atķeksē:",
"I understand the risks and wish to continue": "Apzinos riskus un vēlos turpināt",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Problēmu diagnosticēšanas mērķim šī klienta logfaili tiks nosūtīti kopā ar šo kļūdas atskaiti. Ja vēlies nosūtīt vienīgi zemāk redzamo tekstu, lūdzu noņem ķeksi:",
"Invite to this room": "Uzaicināt uz šo istabu",
"Keywords": "Atslēgvārdi",
"Leave": "Atstāt",
"Login": "Pierakstīties",
"Loading bug report module": "Ielādējas kļūdas ziņojumu modulis",
"Low Priority": "Zema prioritāte",
"Leave": "Doties prom (atstāt)",
"Login": "Ierakstīties",
"Loading bug report module": "Ielādējas kļūdu atskaišu modulis",
"Low Priority": "Zemas prioritātes",
"Members": "Biedri",
"Mentions only": "Vienīgi atsauces",
"Messages containing my display name": "Ziņas, kuras satur manu redzamo vārdu",
"Messages containing <span>keywords</span>": "Ziņas,kuras satur <span>atslēgvārdus</span>",
"Messages containing <span>keywords</span>": "Ziņas, kuras satur <span>atslēgvārdus</span>",
"Messages containing my user name": "Ziņas, kuras satur manu lietotājvārdu",
"Messages in group chats": "Ziņas grupas čatos",
"Messages in one-to-one chats": "Ziņas viens-pret-vienu čatos",
"Messages sent by bot": "Botu nosūtītās ziņas",
"more": "vairāk",
"No rooms to show": "Nav istabu, ko parādīt",
"Noisy": "Trokšņains",
"Notification targets": "Notifikācijas paziņojuma mērķi",
"No rooms to show": "Nav istabu, kuras parādīt",
"Noisy": "ar skaņu",
"Notification targets": "Paziņojuma mērķi",
"Notifications on the following keywords follow rules which cant be displayed here:": "Paziņojumi par šādiem atslēgvārdiem atbilst noteikumiem, kurus šeit nevar parādīt:",
"Notify for all other messages/rooms": "Paziņot par visām citām ziņām/istabām",
"Notify me for anything else": "Paziņot man par jebko citu",
"Off": "Izslēgts",
"On": "Ieslēgts",
"Off": "izslēgts",
"On": "ieslēgts",
"Permalink": "Pastāvīgā saite",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Lūdzu, apraksti kļūdu. Ko Tu darīji? Kas tika gaidīts, lai notiktu? Kas rezultātā notika?",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Lūdzu, apraksti kļūdu. Kas tika darīts? Kādas bija gaidas (kāds rezultāts tika sagaidīts)? Kas realitātē notika?",
"Please describe the bug and/or send logs.": "Lūdzu apraksti kļūdu un/vai nosūti logfailus.",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Lūdzu instalē <a href=\"https://www.google.com/chrome\">Chrome</a> vai <a href=\"https://getfirefox.com\">Firefox</a> pārlūku labākai pārlūkošanas pieredzei.",
"Quote": "Citāts",
@ -109,56 +109,56 @@
"Remove %(name)s from the directory?": "Dzēst %(name)s no kataloga?",
"remove %(name)s from the directory.": "dzēst %(name)s no kataloga.",
"Remove from Directory": "Dzēst no kataloga",
"Report a bug": "Paziņot par kļūdu",
"Report a bug": "Informēt par kļūdu",
"Resend": "Nosūtīt atkārtoti",
"Riot Desktop on %(platformName)s": "Riot darbvirsma %(platformName)s",
"Riot does not know how to join a room on this network": "Riot neatpazina iespēju pievienoties istabai šajā tīklā",
"Riot does not know how to join a room on this network": "Riot nezin kā pievienoties šajā tīklā esošajai istabai",
"Riot is not supported on mobile web. Install the app?": "Riot netiek atbalstīts mobilajā versijā. Instalēt aplikāciju?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot izmanto daudzas īpašās pārlūka iespējas, no kurām dažas var nebūt pieejamas vai ir eksperimentālas tavā pašreizējā pārlūkā.",
"Room not found": "Istaba nav atrasta",
"Search…": "Meklēt…",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot izmanto daudzas advancētas tīmekļa pārlūka iespējas, no kurām dažas var nebūt pieejamas vai ir eksperimentālas Tavā pašreizējajā pārlūkā.",
"Room not found": "Istaba netika atrasta",
"Search…": "Meklēju…",
"Search for a room": "Meklēt istabu",
"Send": "Nosūtīt",
"Send": "Sūtīt",
"Send logs": "Nosūtīt logfailus",
"Source URL": "Avota URL adrese",
"Sorry, your browser is <b>not</b> able to run Riot.": "Atvaino, diemžēl tavs pārlūks <b>nespēj</b> darboties ar Riot.",
"The Home Server may be too old to support third party networks": "Mājas serveris var būt pārāk novecojis, lai atbalstītu trešo pušu tīmekļa resurursus",
"There are advanced notifications which are not shown here": "Ir īpašie notifikāciju paziņojumi, kuri šeit nav redzami",
"The server may be unavailable or overloaded": "Serveris var nebūt pieejams vai ir pārslogots",
"This Room": "Šī istaba",
"Unable to fetch notification target list": "Nav iespējams iegūt notifikāciju paziņojumu mērķu sarakstu",
"Unable to join network": "Nav iespējams pievienoties tīmeklim",
"Unable to look up room ID from server": "Nav iespējams iegūt istabas ID no servera",
"Unavailable": "Nav pieejams",
"Unhide Preview": "Nerādīt priekšskatījumu",
"Sorry, your browser is <b>not</b> able to run Riot.": "Atvaino, diemžēl tavs tīmekļa pārlūks <b>nespēj</b> darbināt Riot.",
"The Home Server may be too old to support third party networks": "Bāzes serveris var būt pārāk novecojis, lai ļautu izmantot trešo pušu tīmekļa resursus",
"There are advanced notifications which are not shown here": "Pastāv papildus paziņojumi, kuri šeit netiek rādīti",
"The server may be unavailable or overloaded": "Serveris nav pieejams vai ir pārslogots",
"This Room": "šajā istabā",
"Unable to fetch notification target list": "Neizdevās iegūt paziņojumu mērķu sarakstu",
"Unable to join network": "Nav iespējams pievienoties tīklam",
"Unable to look up room ID from server": "Nav iespējams no servera iegūt istabas Id",
"Unavailable": "Nesasniedzams",
"Unhide Preview": "Rādīt priekšskatījumu",
"Unknown device": "Nezināma ierīce",
"Unnamed room": "Nezināma istaba",
"Update": "Atjaunot",
"Uploaded on %(date)s by %(user)s": "Augšuplādēts %(date)s no %(user)s",
"Unnamed room": "Nenosaukta istaba",
"Update": "Aktualizēt",
"Uploaded on %(date)s by %(user)s": "Augšuplādēja %(user)s %(date)s",
"Uploading report": "Augšuplādē atskaiti",
"View Decrypted Source": "Skatīt atšifrētu avotu",
"View Source": "Skatīt avotu",
"What's New": "Kas jauns",
"What's new?": "Kas jauns?",
"Waiting for response from server": "Gaida atbildi no servera",
"Waiting for response from server": "Gaidām atbildi no servera",
"When I'm invited to a room": "Kad esmu uzaicināts/a istabā",
"World readable": "Lasāms pasaulei",
"You cannot delete this image. (%(code)s)": "Tu nevari dzēst šo attēlu. (%(code)s)",
"World readable": "Pieejama ikvienam un no visurienes",
"You cannot delete this image. (%(code)s)": "Šo attēlu nevar izdzēst (%(code)s)",
"You cannot delete this message. (%(code)s)": "Tu nevari dzēst šo ziņu. (%(code)s)",
"You are not receiving desktop notifications": "Tu nesaņem darbvirsmas notifikāciju paziņojumus",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Tu, iespējams, konfigurēji tās kādā citā klientā, nevis Riot. Tu nevari pielāgot tos Riot, bet tie joprojām ir spēkā",
"Today": "Šodien",
"Yesterday": "Vakar",
"You are not receiving desktop notifications": "Darbvirsmas paziņojumi netiek saņemti",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Droši vien Tu konfigurēji tās kādā citā Matrix klientā, nevis Riot. Nav iespējams tos pārkonfigurēt ar Riot, bet tie joprojām tiek izmantoti",
"Today": "šodien",
"Yesterday": "vakar",
"Warning": "Brīdinājums",
"Checking for an update...": "Lūkojamies pēc atjauninājuma...",
"Error encountered (%(errorDetail)s).": "Notika kļūda (%(errorDetail)s).",
"No update available.": "Atjauninājumi nav pieejami.",
"Downloading update...": "Lejupielādējam atjauninājumus...",
"You need to be using HTTPS to place a screen-sharing call.": "Tev ir nepieciešams izmantot HTTPS savienojumu, lai izmantotu ekrāna kopīgošanas zvanu.",
"Checking for an update...": "Lūkojos pēc aktualizācijas...",
"Error encountered (%(errorDetail)s).": "Gadījās kļūda (%(errorDetail)s).",
"No update available.": "Nav pieejamu aktualizāciju.",
"Downloading update...": "Lejupielādēju aktualizāciju...",
"You need to be using HTTPS to place a screen-sharing call.": "Lai izmantotu ekrāna kopīgošanas zvanu, nepieciešams izmantot HTTPS savienojumu.",
"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!": "Tavā pašreizējā pārlūkā aplikācijas izskats un uzvedība var būt pilnīgi neatbilstoša, kā arī dažas no visām funkcijām var nedarboties. Ja vēlies turpināt izmantot šo pārlūku, Tu vari arī turpināt, apzinoties, ka šajā gadījumā esi viens/a ar iespējamo problēmu!",
"Welcome to Riot.im": "Laipni lūdzam Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizēta, šifrēta čata &amp; sistēma, spēcināta ar [matrix]",
"Search the room directory": "Meklēt istabu katalogu",
"Welcome to Riot.im": "Esiet gaidīti Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizēta, šifrēta čata &amp; kopdarbošanās sistēma uz [matrix] bāzes",
"Search the room directory": "Meklēt istabu katalogā",
"Chat with Riot Bot": "Pačatot ar Riot botu",
"Get started with some tips from Riot Bot!": "Iepazīsties ar dažiem knifiem no Riot bota!",
"General discussion about Matrix and Riot": "Galvenā diskusija par Matrix un Riot",
@ -167,29 +167,71 @@
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk čats",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk čats",
"Matrix technical discussions": "Matrix tehniskās diskusijas",
"Running Matrix services": "Izmantot Matrix pakalpojumus",
"Community-run support for Synapse": "Komūnas atbalsts Synapse",
"Admin support for Dendrite": "Administrācijas atbalsts Dendrite",
"Announcements about Synapse releases": "Paziņojumi par Synapse izlaidumiem",
"Running Matrix services": "Matrix pakalpojumu izmantošana",
"Community-run support for Synapse": "\"Synapse\" komūnas nodrošināts atbalsts",
"Admin support for Dendrite": "Administrotora atbalsts \"Dendrite\"",
"Announcements about Synapse releases": "Paziņojumi par \"Synapse\" izlaidumiem",
"Support for those using and running matrix-appservice-irc": "Atbalsts tiem, kuri izmanto matrix-appservice-irc",
"Building services on Matrix": "Pakalpojumu būvēšana uz Matrix",
"Building services on Matrix": "Uz Matrix bāzētu pakalpojumu izveide",
"Support for those using the Matrix spec": "Atbalsts tiem, kuri izmanto Matrix specifikācijas",
"Design and implementation of E2E in Matrix": "Dizains un E2E implementācija Matrix",
"Implementing VR services with Matrix": "VR servisu implementācija Matrix",
"Implementing VoIP services with Matrix": "VoIP pakalpojumu implementācija Matrix",
"Support for those using, running and writing other bridges": "Atbalsts tiem, kuri izmanto un raksta citus \"tilta\" risinājumus",
"Contributing code to Matrix and Riot": "Dot ieguldījumu Matrix and Riot kodā",
"Design and implementation of E2E in Matrix": "E2E arhitektūra un iedzīvināšana Matrix",
"Implementing VR services with Matrix": "VR pakalpojumu iedzīvināšana Matrix",
"Implementing VoIP services with Matrix": "VoIP pakalpojumu iedzīvināšana Matrix",
"Support for those using, running and writing other bridges": "Atbalsts tiem, kuri izmanto un rada citus \"tiltu\" risinājumus",
"Contributing code to Matrix and Riot": "Dot ieguldījumu Matrix and Riot kodā un tulkojumā",
"Dev chat for the Riot/Web dev team": "Riot/Web izstrādātāju komandas čats",
"Dev chat for the Dendrite dev team": "Dendrite izstrādatāju komandas čats",
"Co-ordination for Riot/Web translators": "Riot/Web tulkotāju koordinācija",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix sistēmā pastāv neskaitāmas neatkarīgas vai eksistējošiem tīmekļa resursiem (Slack, IRC, Gitter utml.) piesaistītas istabas. Ar tām vari iepazīties katalogā!",
"You have successfully set a password!": "Tu veiksmīgi nomainīji paroli!",
"You can now return to your account after signing out, and sign in on other devices.": "Tu vari tagad atgriezties savā kontā pēc izrakstīšanās, un pierakstīties no citām ierīcēm.",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix-ā pastāv daudzas neatkarīgas un/vai eksistējošiem tīmekļa resursiem (Slack, IRC, Gitter u.tml.) piesaistītas istabas. Ieskaties katalogā!",
"You have successfully set a password!": "Esi veiksmīgi iestatījis(usi) paroli!",
"You can now return to your account after signing out, and sign in on other devices.": "Tagad vari atgriezties savā kontā arī pēc izrakstīšanās, un pierakstīties no citām ierīcēm.",
"Please set a password!": "Lūdzu iestati paroli!",
"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.",
"You have successfully set a password and an email address!": "Tu veiksmīgi iestatīji paroli un epasta adresi!",
"Remember, you can always set an email address in user settings if you change your mind.": "Atceries, ka Tu vienmēr vari iestatīt epasta adresi lietotāja uzstādījumos, ja mainīsi domas.",
"To return to your account in future you need to <u>set a password</u>": "Lai nākotnē atgrieztos savā kontā, tev būs nepieciešams <u>iestatīt paroli</u>",
"You have successfully set a password and an email address!": "Esi veiksmīgi iestatījis(usi) paroli un epasta adresi!",
"Remember, you can always set an email address in user settings if you change your mind.": "Atceries, ka vienmēr vari iestatīt epasta adresi lietotāja uzstādījumos, ja pārdomā.",
"To return to your account in future you need to <u>set a password</u>": "Lai nākotnē atgrieztos savā kontā, nepieciešams <u>iestatīt paroli</u>",
"Set Password": "Iestatīt paroli",
"Couldn't load home page": "Neizdevās ielādēt sākumlapu"
"Couldn't load home page": "Neizdevās ielādēt sākumlapu",
"Show message in desktop notification": "Parādīt ziņu darbvirsmas paziņojumos",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Tu vari lietot \"custom\" servera opcijas, lai ielogotos citos Matrix serveros, norādot citu Bāzes servera URL.<br> Tas atļaus tev lietot Riot ar esošo Matrix kontu uz cita Bāzes servera.<br/><br/>Tu arī vari uzstādīt atsevišķu Identitāšu serveri, taču tad Tev nebūs iespēju uzaicināt lietotājus, izmantojot epasta adresi, vai pašam tikt uzaicinātam, izmantojot epasta adresi.",
"Appear Offline": "Šķiet nesaistē (oflainā)",
"Away": "Prom (nav uz vietas)",
"Bug report sent": "Kļūdas atskaite nosūtīta",
"Thank you!": "Tencinam!",
"Back": "Atpakaļ",
"Send Custom Event": "Sūtīt individuālu notikumu",
"You must specify an event type!": "Jānorāda notikuma tips!",
"Event sent!": "Notikums nosūtīts!",
"Failed to send custom event.": "Individuālo notikumu nosūtīt neizdevās.",
"Event Type": "Notikuma tips",
"State Key": "Stāvokļa atslēga",
"Event Content": "Notikuma saturs",
"Send Account Data": "Sūtīt konta datus",
"Filter results": "Filtrēt rezultātus",
"Explore Room State": "Noskaidrot istabas statusu",
"Edit": "Rediģēt",
"Explore Account Data": "Aplūkot konta datus",
"Toolbox": "Instrumentārijs",
"Developer Tools": "Attīstītāja instrumenti",
"Unpin Message": "Atkabināt ziņu",
"Pin Message": "Piekabināt ziņu",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Labāko lietošanas pieredzi gūsi uzstādot pārlūkprogrammu <chromeLink>Chromium</chromeLink> vai <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> un <operaLink>Opera</operaLink> arī nav skādējami.",
"Register": "Reģistrēties",
"%(count)s Members|other": "%(count)s biedru",
"%(count)s Members|one": "%(count)s biedru",
"Rooms": "Istabas",
"Invite to this community": "Uzaicināt šajā kopienā",
"Add rooms to this community": "Pievienot istabas šai kopienai",
"Reply": "Atbildēt",
"Submit debug logs": "Iesniegt atutošanas logfailus",
"Preparing to send logs": "Gatavojos nosūtīt atutošanas logfailus",
"Logs sent": "Logfaili nosūtīti",
"Failed to send logs: ": "Neizdevās nosūtīt logfailus: ",
"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.": "Atutošanas logfaili satur programmas datus, ieskaitot Tavu lietotājvārdu, istabu/grupu ID vai aliases, kuras esi apmeklējis un citu lietotāju lietotājvārdus. Tie nesatur pašas ziņas.",
"<a>Click here</a> to create a GitHub issue.": "<a>Nospied šeit</a> lai izveidotu GitHub problēmpaziņojumu.",
"GitHub issue link:": "GitHub problēmpaziņojuma saite:",
"Notes:": "Piezīmes:",
"Online": "Onlainā",
"View Community": "Skatīt kopienu"
}

View File

@ -1,7 +1,7 @@
{
"Add an email address above to configure email notifications": "ഇ മെയില്‍ അറിയിപ്പുകൾ ലഭിക്കാന്‍ മുകളില്‍ ഇ-മെയില്‍ വിലാസം നല്‍കൂ",
"All messages": "എല്ലാ സന്ദേശങ്ങളും",
"All messages (loud)": "എല്ലാ സന്ദേശങ്ങളും (ഉച്ചത്തിൽ)",
"All messages (noisy)": "എല്ലാ സന്ദേശങ്ങളും (ഉച്ചത്തിൽ)",
"%(appName)s via %(browserName)s on %(osName)s": "%(osName)sല് %(browserName)s വഴി %(appName)s",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">സഫാരിയിലും</a>പിന്നെ <a href=\"http://opera.com\">ഓപ്പേറയിലും</a>പ്രവര്‍ത്തിക്കുന്നു.",
"A new version of Riot is available.": "റയട്ടിന്റെ ഒരു പുതിയ പതിപ്പ് ലഭ്യമാണ്.",

View File

@ -2,7 +2,7 @@
"Add an email address above to configure email notifications": "Legg til en epost adresse for å sette opp epost varsling",
"Advanced notification settings": "Avanserte varslingsinnstillinger",
"All messages": "Alle meldinger",
"All messages (loud)": "Alle meldinger (høy)",
"All messages (noisy)": "Alle meldinger (høy)",
"All notifications are currently disabled for all targets.": "Alle varsler er deaktivert for alle mottakere.",
"An error occurred whilst saving your email notification preferences.": "En feil oppsto i forbindelse med lagring av epost varsel innstillinger.",
"Cancel Sending": "Avbryt sending",

View File

@ -2,7 +2,7 @@
"Add an email address above to configure email notifications": "Voeg een e-mailadres toe om e-mailmeldingen te ontvangen",
"Advanced notification settings": "Geavanceerde meldingsinstellingen",
"All messages": "Alle berichten",
"All messages (loud)": "Alle berichten (luid)",
"All messages (noisy)": "Alle berichten (luid)",
"All notifications are currently disabled for all targets.": "Alle meldingen zijn momenteel uitgeschakeld voor alle doelen.",
"An error occurred whilst saving your email notification preferences.": "Er is een fout opgetreden tijdens het opslaan van uw e-mailmeldingsvoorkeuren.",
"Call invitation": "Oproep-uitnodiging",
@ -40,7 +40,7 @@
"Files": "Bestanden",
"Filter room names": "Filter kamernamen",
"Forget": "Vergeten",
"Guests can join": "Gasten kunnen deelnemen",
"Guests can join": "Gasten kunnen toetreden",
"Invite to this room": "Uitnodigen voor deze kamer",
"Keywords": "Trefwoorden",
"Leave": "Verlaten",
@ -54,10 +54,10 @@
"Messages sent by bot": "Berichten verzonden door een bot",
"more": "meer",
"Mute": "Dempen",
"No rooms to show": "Geen kamers om te laten zien",
"No rooms to show": "Geen ruimtes om weer te geven",
"Noisy": "Luidruchtig",
"Notification targets": "Meldingsdoelen",
"Notifications": "Meldingen",
"Notifications": "Notificaties",
"Notifications on the following keywords follow rules which cant be displayed here:": "Meldingen op de volgende trefwoorden volgen regels die hier niet kunnen worden getoond:",
"Notify for all other messages/rooms": "Stuur een melding voor alle andere berichten/kamers",
"Notify me for anything else": "Stuur een melding voor al het andere",
@ -66,7 +66,7 @@
"Operation failed": "Actie mislukt",
"Permalink": "Permanente link",
"powered by Matrix": "mogelijk gemaakt door Matrix",
"Quote": "Citeer",
"Quote": "Citeren",
"Reject": "Afwijzen",
"Remove %(name)s from the directory?": "%(name)s uit de kamerlijst verwijderen?",
"Remove": "Verwijderen",
@ -85,12 +85,12 @@
"Unable to look up room ID from server": "Het is mislukt om de kamer-ID op te halen van de server",
"Unhide Preview": "Zichtbaar maken preview",
"unknown error code": "onbekende foutcode",
"Unnamed room": "Kamer zonder naam",
"Unnamed room": "Ruimte zonder naam",
"Uploaded on %(date)s by %(user)s": "Geüpload op %(date)s door %(user)s",
"View Decrypted Source": "Bekijk ontsleutelde bron",
"View Source": "Bekijk bron",
"When I'm invited to a room": "Wanneer ik uitgenodigd word voor een kamer",
"World readable": "Door iedereen leesbaar",
"World readable": "Leesbaar voor iedereen",
"You cannot delete this image. (%(code)s)": "Je kunt deze afbeelding niet verwijderen. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Je kunt dit bericht niet verwijderen. (%(code)s)",
"You are not receiving desktop notifications": "Je ontvangt momenteel geen desktopmeldingen",
@ -129,7 +129,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot wordt niet ondersteund op het mobiele web. Wil je de app installeren?",
"Search": "Zoeken",
"Search…": "Zoeken…",
"Send": "Versturen",
"Send": "Verstuur",
"Send logs": "Logboeken versturen",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, uw browser werkt <b>niet</b> met Riot.",
"This Room": "Deze kamer",
@ -205,5 +205,26 @@
"Event sent!": "Event verstuurd!",
"Event Type": "Event-type",
"Event Content": "Event-inhoud",
"State Key": "Toestandssleutel"
"State Key": "Toestandssleutel",
"Show message in desktop notification": "Toon boodschap in bureaublad popup",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Je kan de custom server opties gebruiken om op andere Matrix server in te loggen door een andere Home server URL op te geven.<br/> Dit laat je toe om Riot te gebruiken met een bestaande Matrix account op een andere home server.<br/><br/>Je kan ook een custom identiteits-server opzetten maar dan kan je geen gebruikers uitnodigen via hun email adres, of zelf uitgenodigd worden via je email adres.",
"Appear Offline": "Lijk offline",
"Away": "Afwezig",
"Send Account Data": "Stuur account informatie",
"Edit": "Aanpassen",
"Explore Account Data": "Bekijk account informatie",
"Unpin Message": "Maak pin los",
"Pin Message": "Bericht vastpinnen",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Installeer alstublieft <chromeLink>Chrome</chromeLink> of <firefoxLink>Firefox</firefoxLink> voor de beste gebruikerservaring.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> en <operaLink>Opera</operaLink> werken ook.",
"Register": "Registreer",
"Rooms": "Kamers",
"Invite to this community": "Nodig uit in deze community",
"Add rooms to this community": "Voeg kamers toe aan deze community",
"Toolbox": "Eigenschappen",
"%(count)s Members|other": "%(count)s Deelnemers",
"%(count)s Members|one": "%(count)s Deelnemer",
"Reply": "Beantwoord",
"Online": "Online",
"View Community": "Gemeenschap Weergeven"
}

View File

@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "Dodaj adres e-mail powyżej, aby skonfigurować powiadomienia e-mailowe",
"Advanced notification settings": "Zaawansowane ustawienia powiadomień",
"All messages": "Wszystkie wiadomości",
"All messages (loud)": "Wszystkie wiadomości (głośno)",
"All messages (noisy)": "Wszystkie wiadomości (głośno)",
"All Rooms": "Wszystkie pokoje",
"All notifications are currently disabled for all targets.": "Wszystkie powiadomienia są obecnie wyłączone dla wszystkich celów.",
"An error occurred whilst saving your email notification preferences.": "Podczas zapisywania ustawień powiadomień e-mail wystąpił błąd.",
@ -56,7 +56,7 @@
"Forward Message": "Przekaż wiadomość",
"Guests can join": "Goście mogą dołączyć",
"Hide panel": "Ukryj panel",
"I understand the risks and wish to continue": "Rozumiem ryzyko i chęć kontynuować",
"I understand the risks and wish to continue": "Rozumiem ryzyko i chcę kontynuować",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "W celu zdiagnozowania problemów logi z tego klienta zostaną wysłane wraz z tym raportem o błędzie. Jeśli wolisz wysłać tylko tekst powyżej, proszę odznacz:",
"Invite to this room": "Zaproś do tego pokoju",
"Keywords": "Słowa kluczowe",
@ -171,7 +171,7 @@
"Implementing VoIP services with Matrix": "Implementowanie usług telefonii internetowej VoIP w oparciu o Matrix",
"Discussion of the Identity Service API": "Dyskusja na temat API Identity Service",
"Support for those using, running and writing other bridges": "Wsparcie dla używających, zapewniających i piszących inne mosty",
"Contributing code to Matrix and Riot": "Dokładanie kodu do Matrix lub Riot",
"Contributing code to Matrix and Riot": "Wspieranie rozwoju Matrix i Riot",
"Dev chat for the Riot/Web dev team": "Czat deweloperów zespołu Riot/Web",
"Dev chat for the Dendrite dev team": "Czat deweloperów zespołu Dendrite",
"Co-ordination for Riot/Web translators": "Koordynacja tłumaczy Riot/Web",
@ -214,5 +214,25 @@
"Register": "Rejestracja",
"Rooms": "Pokoje",
"Invite to this community": "Zaproś do tej społeczności",
"Add rooms to this community": "Dodaj pokoje do tej społeczności"
"Add rooms to this community": "Dodaj pokoje do tej społeczności",
"Send Account Data": "Wyślij dane konta",
"Explore Account Data": "Odkryj dane konta",
"Reply": "Odpowiedz",
"View Community": "Pokaż społeczność",
"%(count)s Members|other": "%(count)s Członków",
"%(count)s Members|one": "%(count)s Członek",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Możesz skorzystać z opcji dedykowanego serwera, aby zalogować się na inne serwery Matrix, podając inny adres URL serwera Domowego.<br/>Pozwala to na używanie Riot z istniejącym kontem Matrix na innym serwerze domowym.<br/><br/>Możesz również ustawić dedykowany serwer tożsamości, ale nie będziesz w stanie zapraszać użytkowników przez adres email, lub otrzymywać zaproszeń na adres email.",
"Preparing to send logs": "Przygotowywanie do wysłania zapisu rozmów",
"Logs sent": "Zapis rozmów wysłany",
"Failed to send logs: ": "Niepowodzenie wysyłki zapisu rozmów ",
"Submit debug logs": "Wyślij dzienniki błędów",
"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.": "Dziennik błędów zawiera dane użytkowania aplikacji, w tym: twoją nazwę użytkownika, numery ID, aliasy pokojów i grup które odwiedzałeś i loginy innych użytkowników. Nie zawiera wiadomości.",
"<a>Click here</a> to create a GitHub issue.": "<a>Kliknij tutaj</a> aby założyć wątek na GitHubie dot. problemu.",
"GitHub issue link:": "Link do wątku na GitHubie:",
"Notes:": "Notatki:",
"Online": "Dostępny",
"Away": "Niedostępny",
"Appear Offline": "Ustaw status niedostępny",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Zainstaluj <chromeLink>Chrome</chromeLink> lub <firefoxLink>Firefox</firefoxLink> dla najlepszego doświadczenia.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> i <operaLink>Opera</operaLink> również się sprawdzą."
}

View File

@ -1,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar as notificações por email",
"All messages": "Todas as mensagens",
"All messages (loud)": "Todas as mensagens (alto)",
"All messages (noisy)": "Todas as mensagens (alto)",
"An error occurred whilst saving your email notification preferences.": "Ocorreu um erro ao guardar as suas preferências de notificação por email.",
"Call invitation": "Convite para chamada",
"Cancel Sending": "Cancelar o envio",

View File

@ -1,7 +1,7 @@
{
"Add an email address above to configure email notifications": "Insira um endereço de email no campo acima para configurar suas notificações por email",
"All messages": "Todas as mensagens",
"All messages (loud)": "Todas as mensagens (alto)",
"All messages (noisy)": "Todas as mensagens (alto)",
"An error occurred whilst saving your email notification preferences.": "Um erro ocorreu enquanto o sistema estava salvando suas preferências de notificação por email.",
"Call invitation": "Convite para chamada",
"Cancel Sending": "Cancelar o envio",
@ -23,7 +23,7 @@
"Enter keywords separated by a comma:": "Coloque cada palavras-chave separada por vírgula:",
"Error": "Erro",
"Error saving email notification preferences": "Erro ao salvar as preferências de notificação por email",
"Failed to add tag %(tagName)s to room": "Falha ao adicionar %(tagName)s à sala",
"Failed to add tag %(tagName)s to room": "Falha ao adicionar a tag %(tagName)s para a sala",
"Failed to change settings": "Falhou ao mudar as preferências",
"Failed to forget room %(errCode)s": "Falhou ao esquecer a sala %(errCode)s",
"Failed to update keywords": "Falha ao alterar as palavras-chave",
@ -37,7 +37,7 @@
"Filter room names": "Filtrar salas por título",
"Forget": "Esquecer",
"Forward Message": "Encaminhar",
"Guests can join": "Convidados podem entrar",
"Guests can join": "Convidadas/os podem entrar",
"Invite to this room": "Convidar para esta sala",
"Keywords": "Palavras-chave",
"Leave": "Sair",
@ -51,7 +51,7 @@
"Messages sent by bot": "Mensagens enviadas por bots",
"more": "ver mais",
"Mute": "Mudo",
"No rooms to show": "Não existem salas a serem exibidas",
"No rooms to show": "Nenhuma sala para mostrar",
"Noisy": "Barulhento",
"Notification targets": "Alvos de notificação",
"Notifications": "Notificações",
@ -87,7 +87,7 @@
"View Decrypted Source": "Ver a fonte descriptografada",
"View Source": "Ver a fonte",
"When I'm invited to a room": "Quando sou convidada(o) a uma sala",
"World readable": "Público",
"World readable": "Aberto publicamente à leitura",
"You cannot delete this image. (%(code)s)": "Você não pode apagar esta imagem. (%(code)s)",
"You cannot delete this message. (%(code)s)": "Você não pode apagar esta mensagem. (%(code)s)",
"You are not receiving desktop notifications": "Você não está recebendo notificações desktop",
@ -102,7 +102,7 @@
"Today": "Hoje",
"Yesterday": "Ontem",
"#example": "#exemplo",
"Failed to remove tag %(tagName)s from room": "Não foi possível remover a marcação %(tagName)s desta sala",
"Failed to remove tag %(tagName)s from room": "Falha ao remover a tag %(tagName)s da sala",
"Advanced notification settings": "Configurações avançadas de notificação",
"customServer_text": "Você pode usar as opções de servidor personalizado para entrar em outros servidores Matrix, especificando uma URL de outro Servidor de Base.<br/> Isso permite que você use Riot com uma conta Matrix que exista em outro Servidor de Base.<br/> <br/> Você também pode configurar um servidor de Identidade personalizado, mas neste caso não poderá convidar usuárias(os) pelo endereço de e-mail, ou ser convidado(a) pelo seu endereço de e-mail.",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> e <a href=\"http://opera.com\">Opera</a> funcionam também.",
@ -205,5 +205,26 @@
"Event sent!": "Evento enviado!",
"Event Type": "Tipo do Evento",
"Event Content": "Conteúdo do Evento",
"State Key": "Chave do Estado"
"State Key": "Chave do Estado",
"Show message in desktop notification": "Mostrar mensagens na notificação",
"Appear Offline": "Aparecer Desconectado",
"Away": "Ausente",
"Send Account Data": "Enviar Dados da Conta",
"Edit": "Editar",
"Explore Account Data": "Explorar Dados da Conta",
"Toolbox": "Ferramentas",
"Unpin Message": "Desafixar Mensagem",
"Pin Message": "Fixar Mensagem",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Por favor Instale <chromeLink>Chrome</chromeLink> Ou <firefoxLink>Firefox</firefoxLink> para uma melhor Experiencia.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> e <operaLink>Opera</operaLink> Funciona bem.",
"Register": "Registre-se",
"%(count)s Members|other": "%(count)s Membros",
"Rooms": "Salas",
"Invite to this community": "Convidar para essa comunidade",
"Add rooms to this community": "Adicionar salas na comunidade",
"Reply": "Responder",
"%(count)s Members|one": "%(count)s Membros",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Você pode usar as opções customizadas de servidor para conectar-se a outros servidores Matrix ao especificar uma outra URL de Servidor de Base (homeserver).<br/> Isso permite que você use o Riot com uma conta Matrix existente em outro servidor de base.<br/><br/>Você também pode definir um servidor de identidade customizado, mas neste caso você não poderá convidar outras pesoas por endereço de email, ou ser convidada/o pelo seu endereço de email.",
"Online": "Conectada/o",
"View Community": "Ver a comunidade"
}

View File

@ -63,7 +63,7 @@
"You are not receiving desktop notifications": "Вы не получаете уведомления на рабочем столе",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Возможно вы настроили их не в Riot, а в другом Matrix-клиенте. Настроить их в Riot не удастся, но они будут в нем применяться",
"All messages": "Все сообщения",
"All messages (loud)": "Все сообщения (со звуком)",
"All messages (noisy)": "Все сообщения (со звуком)",
"Cancel Sending": "Отменить отправку",
"Close": "Закрыть",
"Download this file": "Скачать этот файл",
@ -132,7 +132,7 @@
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot использует многие передовые возможности браузера, некоторые из которых недоступны или являются экспериментальным в вашем текущем браузере.",
"Search": "Поиск",
"Search…": "Поиск.…",
"Send": "Отослать",
"Send": "Отправить",
"Send logs": "Отправка журналов",
"Sorry, your browser is <b>not</b> able to run Riot.": "К сожалению, ваш браузер <b>не способен</b> запустить Riot.",
"This Room": "Эта комната",
@ -217,5 +217,22 @@
"Add rooms to this community": "Добавить комнаты в это сообщество",
"Toolbox": "Панель инструментов",
"Send Account Data": "Отправить данные аккаунта",
"Explore Account Data": "Просмотр данных аккаунта"
"Explore Account Data": "Просмотр данных аккаунта",
"Away": "Нет на месте",
"Appear Offline": "Отображать как не в сети",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Лучший опыт вы получите, установив <chromeLink>Chrome</chromeLink> или <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> и <operaLink>Opera</operaLink> работают тоже.",
"Reply": "Ответить",
"%(count)s Members|other": "%(count)s членов",
"%(count)s Members|one": "%(count)s член",
"Online": "Онлайн",
"View Community": "Просмотр сообщества",
"Submit debug logs": "Отправка журналов отладки",
"Preparing to send logs": "Подготовка к отправке журналов",
"Logs sent": "Журналы отправлены",
"Failed to send logs: ": "Не удалось отправить журналы: ",
"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.": "Журналы отладки содержат данные об использовании приложения, включая ваше имя пользователя, идентификаторы или псевдонимы комнат или групп, которые вы посетили, а также имена других пользователей. Они не содержат сообщений.",
"<a>Click here</a> to create a GitHub issue.": "<a>Нажмите здесь</a> для создания запроса о проблеме на GitHub.",
"GitHub issue link:": "Ссылка на проблему в GitHub:",
"Notes:": "Заметки:"
}

View File

@ -44,8 +44,8 @@
"On": "Povolené",
"Noisy": "Hlučné",
"Failed to set direct chat tag": "Nepodarilo sa nastaviť značku priama konverzácia",
"Failed to remove tag %(tagName)s from room": "Nepodarilo sa odstrániť značku %(tagName)s pre túto miestnosť",
"Failed to add tag %(tagName)s to room": "Nepodarilo sa pridať značku %(tagName)s pre túto miestnosť",
"Failed to remove tag %(tagName)s from room": "Z miestnosti sa nepodarilo odstrániť značku %(tagName)s",
"Failed to add tag %(tagName)s to room": "Miestnosti sa nepodarilo pridať značku %(tagName)s",
"Search…": "Hľadať…",
"Search": "Vyhľadávanie",
"This Room": "V tejto miestnosti",
@ -94,7 +94,7 @@
"Describe your problem here.": "Tu popíšte váš problém.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "S cieľom lepšej diagnostiky problému sa spolu s vašim hlásením odošlú záznami o činnosti programu Riot. Ak si želáte odoslať len text hlásenia, odškrtnite nasledujúce pole:",
"Send logs": "Zahrnúť záznamy",
"Send": "Poslať",
"Send": "Odoslať",
"Unavailable": "Nedostupné",
"Changelog": "Zoznam zmien",
"Back": "Naspäť",
@ -130,12 +130,12 @@
"View Decrypted Source": "Zobraziť dešifrovaný zdroj",
"Unhide Preview": "Zobraziť náhľad",
"Permalink": "Trvalý odkaz",
"Quote": "Citovať",
"Quote": "Citácia",
"Source URL": "Pôvodná URL",
"Failed to set Direct Message status of room": "Nepodarilo sa nastaviť stav miestnosti priama konverzácia",
"unknown error code": "neznámy kód chyby",
"Failed to forget room %(errCode)s": "Nepodarilo sa zabudnuť miestnosť %(errCode)s",
"All messages (loud)": "Všetky správy (hlučné)",
"All messages (noisy)": "Všetky správy (hlučné)",
"All messages": "Všetky správy",
"Mentions only": "Len zmienky",
"Mute": "Umlčať",
@ -178,7 +178,7 @@
"Couldn't find a matching Matrix room": "Nie je možné nájsť zodpovedajúcu Matrix miestnosť",
"Fetching third party location failed": "Nepodarilo sa získať umiestnenie tretej strany",
"Unable to look up room ID from server": "Nie je možné vyhľadať ID miestnosti na servery",
"World readable": "Viditeľná pre všetkých",
"World readable": "Viditeľné pre každého",
"Guests can join": "Pripojiť sa môžu aj hostia",
"Directory": "Adresár",
"No rooms to show": "Žiadne miestnosti na zobrazenie",
@ -215,5 +215,22 @@
"Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot",
"Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web",
"Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite",
"Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web"
"Co-ordination for Riot/Web translators": "Koordinácia prekladov Riot/Web",
"Appear Offline": "Zdá sa byť nedostupný",
"Away": "Preč",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Aby ste s používania mali čo možno najlepší dojem, nainštalujte si <chromeLink>Chrome</chromeLink> alebo <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "Správne fungujú aj <safariLink>Safari</safariLink> a <operaLink>Opera</operaLink>.",
"Reply": "Odpovedať",
"%(count)s Members|other": "%(count)s Členov",
"%(count)s Members|one": "%(count)s Člen",
"Submit debug logs": "Odoslať ladiace záznamy",
"Preparing to send logs": "príprava odoslania záznamov",
"Logs sent": "Záznamy boli odoslané",
"Failed to send logs: ": "Nepodarilo sa odoslať 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.": "Ladiace záznamy obsahujú údaje o používaní aplikácii, vrátane vašeho používateľského mena, názvy a aliasy miestností a komunít, ku ktorým ste sa pripojili a mená ostatných používateľov. Tieto záznamy neobsahujú samotný obsah vašich správ.",
"<a>Click here</a> to create a GitHub issue.": "<a>Kliknutím sem</a> nám pošlete hlásenie o chybe cez Github.",
"GitHub issue link:": "Odkaz hlásenia na Github:",
"Notes:": "Poznámky:",
"Online": "Pripojený",
"View Community": "Zobraziť komunitu"
}

223
src/i18n/strings/sq.json Normal file
View File

@ -0,0 +1,223 @@
{
"Riot is not supported on mobile web. Install the app?": "Riot-i nuk mbulohet nën web për celularët. Të instalohet aplikacioni?",
"Collecting app version information": "Po grumbullohen të dhëna versioni aplikacioni",
"Collecting logs": "Po grumbullohen regjistra",
"Uploading report": "Po ngarkohet raporti",
"Waiting for response from server": "Po pritet për përgjigje shërbyesi",
"Riot Desktop on %(platformName)s": "Riot Desktop në %(platformName)s",
"Unknown device": "Pajisje e panjohur",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s përmes %(browserName)s nën %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Që të bëni një thirrje me ndarje ekrani, duhet të jeni duke përdorur HTTPS-në.",
"Messages containing my display name": "Mesazhe që përmbajnë emrin tim të ekranit",
"Messages containing my user name": "Mesazhe që përmbajnë emrin tim",
"Messages in one-to-one chats": "Mesazhe në fjalosje tek për tek",
"Messages in group chats": "Mesazhe në fjalosje në grup",
"When I'm invited to a room": "Kur ftohem në një dhomë",
"Call invitation": "Ftesë për thirrje",
"Messages sent by bot": "Mesazhe të dërguar nga bot",
"Error saving email notification preferences": "Gabim në ruajtje parapëlqimesh për njoftime me email",
"An error occurred whilst saving your email notification preferences.": "Ndodhi një gabim teksa ruheshin parapëlqimet tuaja për njoftime me email.",
"Keywords": "Fjalëkyçe",
"Enter keywords separated by a comma:": "Jepni fjalëkyçe ndarë me presje:",
"OK": "OK",
"Failed to change settings": "Su arrit të ndryshoheshin rregullimet",
"Operation failed": "Veprimi dështoi",
"Can't update user notification settings": "Spërditësohen dot rregullime njoftimi të përdoruesit",
"Failed to update keywords": "Su arrit të përditësohen fjalëkyçe",
"Messages containing <span>keywords</span>": "Mesazhe që përmbajnë <span>fjalëkyçe</span>",
"Notify for all other messages/rooms": "Njoftim për krejt mesazhet/dhomat e tjera",
"Notify me for anything else": "Njoftomë për gjithçka tjetër",
"Enable notifications for this account": "Aktivizo njoftime për këtë llogari",
"All notifications are currently disabled for all targets.": "Krejt njoftimet hëpërhë janë çaktivizuar për krejt objektivat.",
"Add an email address above to configure email notifications": "Shtoni më sipër një adresë email që të formësoni njoftime me email",
"Enable email notifications": "Aktivizo njoftime me email",
"Notifications on the following keywords follow rules which cant be displayed here:": "Njoftimet e shkaktuara nga fjalëkyçet vijuese ndjekin rregulla që smund të shfaqen këtu:",
"Unable to fetch notification target list": "Sarrihet të sillet listë objektivash njoftimi",
"Notification targets": "Objektiva njoftimesh",
"Advanced notification settings": "Rregullime të mëtejshme për njoftimet",
"There are advanced notifications which are not shown here": "Ka njoftime të thelluara që nuk shfaqen këtu",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "Mund ti keni formësuar në një tjetër klient nga Riot-i. Smund ti sintonizoni në Riot, por ata janë ende të vlefshëm",
"Enable desktop notifications": "Aktivizo njoftime në desktop",
"Show message in desktop notification": "Shfaq mesazh në njoftim për desktop",
"Enable audible notifications in web client": "Aktivizoni njoftime audio te klienti web",
"Off": "Off",
"On": "On",
"Noisy": "I zhurmshëm",
"Search…": "Kërkoni…",
"Search": "Kërkim",
"This Room": "Këtë Dhomë",
"All Rooms": "Krejt Dhomat",
"Sunday": "E diel",
"Monday": "E hënë",
"Tuesday": "E martë",
"Wednesday": "E mërkurë",
"Thursday": "E enjte",
"Friday": "E premte",
"Saturday": "E shtunë",
"Today": "Sot",
"Yesterday": "Dje",
"Custom Server Options": "Mundësi Vetjake Shërbyesi",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Mund ti përdorni mundësitë e shërbyesit vetjak për të hyrë në shërbyes të tjerë Matrix, duke dhënë URL-në e një tjetër shërbyesi Home.<br/>Kjo ju lejon ta përdorni Riot-in me një llogari Matrix ekzistuese në një tjetër shërbyes vatër.<br/><br/>Mundeni edhe të caktoni një shërbyes vetjak identitetesh, por sdo të jeni në gjendje të ftoni përdorues përmes adresash email, ose të ftoheni ju vetëm përmes adrese email.",
"Dismiss": "Mos e merr parasysh",
"powered by Matrix": "bazuar në Matrix",
"You are not receiving desktop notifications": "Nuk po merrni njoftime për desktop",
"Enable them now": "Aktivizoji tani",
"What's New": ka të Re",
"Update": "Përditësoje",
"What's new?": ka të re?",
"A new version of Riot is available.": "Ka gati një version të ri Riot-it.",
"To return to your account in future you need to <u>set a password</u>": "Që të riktheheni te llogaria juaj në të ardhmen, lypset të <u>caktoni një fjalëkalim</u>",
"Set Password": "Caktoni Fjalëkalim",
"Error encountered (%(errorDetail)s).": "U has gabim (%(errorDetail)s).",
"Checking for an update...": "Po kontrollohet për një përditësim…",
"No update available.": "Ska përditësim gati.",
"Downloading update...": "Po shkarkohet përditësim…",
"Warning": "Sinjalizim",
"Error": "Gabim",
"You cannot delete this image. (%(code)s)": "Smund ta fshini këtë figurë. (%(code)s)",
"Uploaded on %(date)s by %(user)s": "Ngarkuar më %(date)s nga %(user)s",
"Remove": "Hiqe",
"Close": "Mbylle",
"Download this file": "Shkarkoje këtë kartelë",
"Preparing to send logs": "Po përgatitet për dërgim regjistrash",
"Logs sent": "Regjistrat u dërguan",
"Thank you!": "Faleminderit!",
"Failed to send logs: ": "Su arrit të dërgohen regjistra: ",
"Cancel": "Anuloje",
"Submit debug logs": "Parashtro regjistra diagnostikimi",
"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.": "Regjistrat e diagnostikimeve përmbajnë të dhëna përdorimi të aplikacioneve, përfshi emrin tuaj të përdoruesit, ID ose aliase të dhomave apo grupeve që keni vizituar dhe emrat e përdoruesve të përdoruesve të tjerë. Nuk përmbajnë mesazhe.",
"<a>Click here</a> to create a GitHub issue.": "<a>Klikoni këtu</a> që të hapni një çështje në GitHub.",
"GitHub issue link:": "Lidhje çështjeje GitHub:",
"Notes:": "Shënime:",
"Send logs": "Dërgo regjistra",
"Unavailable": "Skapet",
"Changelog": "Regjistër ndryshimesh",
"Back": "Mbrapsht",
"Send": "Dërgoje",
"Send Custom Event": "Dërgoni Akt Vetjak",
"You must specify an event type!": "Duhet të përcaktoni një lloj akti!",
"Event sent!": "Akti u dërgua!",
"Failed to send custom event.": "Su arrit të dërgohet akt vetjak.",
"Event Type": "Lloj Akti",
"Event Content": "Lëndë Akti",
"Send Account Data": "Dërgo të Dhëna Llogarie",
"Filter results": "Filtroni përfundimet",
"Explore Room State": "Eksploroni Gjendje Dhome",
"Edit": "Përpunoni",
"Explore Account Data": "Eksploroni të Dhëna Llogarie",
"Toolbox": "Grup mjetesh",
"Developer Tools": "Mjete Zhvilluesi",
"You have successfully set a password!": "Caktuat me sukses një fjalëkalim!",
"You have successfully set a password and an email address!": "Keni caktuar me sukses një fjalëkalim dhe një adresë email!",
"You can now return to your account after signing out, and sign in on other devices.": "Mund të ktheheni te llogaria juaj, pasi të keni bërë daljen, dhe të bëni hyrjen nga pajisje të tjera.",
"Remember, you can always set an email address in user settings if you change your mind.": "Mos harroni, mundeni përherë të caktoni një adresë email te rregullimet e përdoruesit, nëse ndërroni mendje.",
"Continue": "Vazhdo",
"Failed to change password. Is your password correct?": "Su arrit të ndryshohet fjalëkalimi. A është i saktë fjalëkalimi juaj?",
"(HTTP status %(httpStatus)s)": "(Gjendje HTTP %(httpStatus)s)",
"Please set a password!": "Ju lutemi, caktoni një fjalëkalim!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Kjo do tju lejojë të riktheheni te llogaria juaj pasi të keni bërë daljen, dhe të hyni që nga pajisje të tjera.",
"You cannot delete this message. (%(code)s)": "Smund ta fshini këtë mesazh. (%(code)s)",
"Resend": "Ridërgoje",
"Cancel Sending": "Anuloje Dërgimin",
"Forward Message": "Përcille Mesazhin",
"Reply": "Përgjigjuni",
"Unpin Message": "Shfiksojeni Mesazhin",
"Pin Message": "Fiksojeni Mesazhin",
"View Source": "Shihini Burimin",
"View Decrypted Source": "Shihni Burim të Shfshehtëzuar",
"Unhide Preview": "Shfshihe Paraparjen",
"Permalink": "Permalidhje",
"Quote": "Citim",
"Source URL": "URL-ja e Burimit",
"Online": "Në linjë",
"Away": "Larguar",
"Appear Offline": "Shfaqju Si Jo Në Linjë",
"Failed to set Direct Message status of room": "Su arrit të caktohej gjendje Mesazhesh të Drejtpërdrejtë në dhomë",
"unknown error code": "kod gabimi të panjohur",
"Failed to forget room %(errCode)s": "Su arrit të harrohej dhoma %(errCode)s",
"All messages (noisy)": "Tërë Mesazhet (e zhurmshme)",
"All messages": "Krejt mesazhet",
"Mentions only": "Vetëm @përmendje",
"Mute": "Pa Zë",
"Leave": "Dilni",
"Forget": "Harroje",
"Reject": "Hidheni tej",
"Favourite": "E parapëlqyer",
"Low Priority": "Përparësi e Ulët",
"Direct Chat": "Fjalosje e Drejtpërdrejtë",
"View Community": "Shihni Bashkësinë",
"Sorry, your browser is <b>not</b> able to run Riot.": "Na ndjeni, shfletuesi juaj <b>nuk</b> është në gjendje të xhirojë Riot-in.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot-i përdor mjaft veçori të përparuara të shfletuesve, disa prej të cilave sjanë gati ose janë eksperimentale në shfletuesin tuaj të tanishëm.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Ju lutemi, për funksionimin më të mirë, instaloni <chromeLink>Chrome</chromeLink> ose <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> dhe <operaLink>Opera</operaLink> bëjnë, po ashtu.",
"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!": "Me shfletuesin tuaj të tanishëm, pamja dhe ndjesitë nga aplikacioni mund të jenë plotësisht të pasakta, dhe disa nga ose krejt veçoritë të mos funksionojnë. Nëse doni ta provoni sido qoftë, mund të vazhdoni, por mos u ankoni për çfarëdo problemesh që mund të hasni!",
"I understand the risks and wish to continue": "I kuptoj rreziqet dhe dua të vazhdoj",
"Couldn't load home page": "Su ngarkua dot faqja hyrëse",
"Login": "Hyrje",
"Register": "Regjistrohuni",
"Members": "Anëtarë",
"%(count)s Members|other": "%(count)s Anëtarë",
"%(count)s Members|one": "%(count)s Anëtar",
"Invite to this room": "Ftoje te kjo dhomë",
"Files": "Kartela",
"Notifications": "Njoftime",
"Rooms": "Dhoma",
"Hide panel": "Fshihe panelin",
"Invite to this community": "Ftojeni te kjo bashkësi",
"Add rooms to this community": "Shtoni dhoma te kjo bashkësi",
"Failed to get protocol list from Home Server": "Su arrit të merrej listë protokollesh nga Shërbyesi Home",
"The Home Server may be too old to support third party networks": "Shërbyesi Home mund të jetë shumë i vjetër për të mbuluar rrjete nga palë të treta",
"Failed to get public room list": "Su të merrej listë dhomash publike",
"The server may be unavailable or overloaded": "Shërbyesi mund të jetë i pakapshëm ose i mbingarkuar",
"Unnamed room": "Dhomë e paemërtuar",
"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?",
"Remove %(name)s from the directory?": "Të hiqet %(name)s prej drejtorisë?",
"Remove from Directory": "Hiqe prej Drejtorie",
"remove %(name)s from the directory.": "hiqe %(name)s prej drejtorie.",
"delete the alias.": "fshije aliasin.",
"Unable to join network": "Sarrihet të hyhet në rrjet",
"Riot does not know how to join a room on this network": "Riot-i nuk di si të hyjë në një dhomë në këtë rrjet",
"Room not found": "Dhoma su gjet",
"Couldn't find a matching Matrix room": "Su gjet dot një dhomë Matrix me përputhje",
"Fetching third party location failed": "Dështoi prurja e vendndodhjes së palës së tretë",
"Unable to look up room ID from server": "Sarrihet të kërkohet ID dhome nga shërbyesi",
"World readable": "E lexueshme nga bota",
"Guests can join": "Vizitorët mund të marrin pjesë",
"Directory": "Drejtori",
"No rooms to show": "Ska dhoma për shfaqje",
"Search for a room": "Kërkoni për një dhomë",
"#example": "#shembull",
"more": "më tepër",
"Expand panel": "Zgjerojeni panelin",
"Collapse panel": "Tkurre panelin",
"Filter room names": "Filtroni emra dhomash",
"Welcome to Riot.im": "Mirë se vini te Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]",
"Search the room directory": "Kërkoni te drejtoria e dhomave",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Ka tashmë plot dhoma në Matrix, të lidhura me rrjete ekzistues (Slack, IRC, Gitter, etj) ose të pavarur. Hidhini një sy listës!",
"Chat with Riot Bot": "Fjalosuni me Robotin Riot",
"Get started with some tips from Riot Bot!": "Fillojani me disa ndihmëza nga Roboti Riot!",
"General discussion about Matrix and Riot": "Diskutime të përgjithshme mbi Matrix-in dhe Riot-in",
"Discussion of all things Matrix!": "Diskutime mbi gjithçka të lidhur me Matrix-in!",
"Riot/Web &amp; Desktop chat": "Fjalosje mbi Riot/Web &amp; Desktop",
"Riot/iOS &amp; matrix-ios-sdk chat": "Fjalosje mbi Riot/iOS &amp; matrix-android-sdk",
"Riot/Android &amp; matrix-android-sdk chat": "Fjalosje mbi Riot/Android &amp; matrix-android-sdk",
"Matrix technical discussions": "Diskutime teknike rreth Matrix-it",
"Running Matrix services": "Xhirim shërbimesh Matrix",
"Community-run support for Synapse": "Asistencë për Synapse-in nga bashkësia",
"Admin support for Dendrite": "Asistencë përgjegjësi për Dendrite-in",
"Announcements about Synapse releases": "Njoftime rreth hedhjesh në qarkullim të Synapse-it",
"Support for those using and running matrix-appservice-irc": "Asistencë për ata që përdorin dhe xhirojnë matrix-appservice-irc",
"Building services on Matrix": "Ndërtim shërbimesh mbi Matrix",
"Support for those using the Matrix spec": "Asistencë për ata që përdorin specifikimet Matrix",
"Design and implementation of E2E in Matrix": "Konceptimi dhe sendërtimi i E2E në Matrix",
"Implementing VR services with Matrix": "Sendërtim shërbimesh VR me Matrix-in",
"Implementing VoIP services with Matrix": "Sendërtim shërbimesh VoIP me Matrix-in",
"Discussion of the Identity Service API": "Diskutime mbi Identity Service API",
"Support for those using, running and writing other bridges": "Asistencë për ata që përdorin, xhirojnë ose programojnë ura të tjera",
"Contributing code to Matrix and Riot": "Kontribut me kod te Matrix dhe te Riot",
"Dev chat for the Riot/Web dev team": "Fjalosje mbi zhvillimin, për ekipin e zhvilluesve të Riot/Web-i",
"Dev chat for the Dendrite dev team": "Fjalosje zhvillimi, për ekipin e zhvilluesve të Dendrite-it",
"Co-ordination for Riot/Web translators": "Bashkërendim për përkthyesit e Riot/Web-it",
"State Key": "Kyç Gjendjeje"
}

227
src/i18n/strings/sr.json Normal file
View File

@ -0,0 +1,227 @@
{
"Riot is not supported on mobile web. Install the app?": "RIot не ради на мобилном вебу. Инсталирати апликацију?",
"Collecting app version information": "Прикупљам податке о издању апликације",
"Collecting logs": "Прикупљам записнике",
"Uploading report": "Отпремам извештај",
"Waiting for response from server": "Чекам на одговор са сервера",
"Riot Desktop on %(platformName)s": "Riot стони програм за %(platformName)s",
"Unknown device": "Непознати уређај",
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s преко прегледача %(browserName)s на систему %(osName)s",
"You need to be using HTTPS to place a screen-sharing call.": "Морате користити HTTPS да бисте започели позив са дељењем екрана.",
"Messages containing my display name": "Поруке које садрже моје приказно име",
"Messages containing my user name": "Поруке које садрже моје корисничко име",
"Messages in one-to-one chats": "Поруке у један-на-један ћаскањима",
"Messages in group chats": "Поруке у групним ћаскањима",
"When I'm invited to a room": "Када сам позван у собу",
"Call invitation": "Позивница за позив",
"Messages sent by bot": "Поруке послате од бота",
"Error saving email notification preferences": "Грешка при чувању поставки мејл обавештења",
"An error occurred whilst saving your email notification preferences.": "Догодила се грешка при чувању ваших поставки мејл обавештења.",
"Keywords": "Кључне речи",
"Enter keywords separated by a comma:": "Унесите кључне речи одвојене зарезима:",
"OK": "У реду",
"Failed to change settings": "Нисам успео да променим подешавања",
"Operation failed": "Радња није успела",
"Can't update user notification settings": "Не могу да ажурирам корисничка подешавања обавештења",
"Failed to update keywords": "Нисам успео да ажурирам кључне речи",
"Messages containing <span>keywords</span>": "Поруке које садрже <span>кључне речи</span>",
"Notify for all other messages/rooms": "Обавести за све друге поруке и собе",
"Notify me for anything else": "Обавести ме за било шта друго",
"Enable notifications for this account": "Омогући обавештења за овај налог",
"All notifications are currently disabled for all targets.": "Сва обавештења су тренутно онемогућена за све циљеве.",
"Add an email address above to configure email notifications": "Додајте мејл адресу изнад да бисте подесили мејл обавештења",
"Enable email notifications": "Омогући мејл обавештења",
"Notifications on the following keywords follow rules which cant be displayed here:": "Обавештења за следеће кључне речи прате правила која не могу бити приказана овде:",
"Unable to fetch notification target list": "Не могу да досегнем списак циљева за обавештења",
"Notification targets": "Циљеви обавештења",
"Advanced notification settings": "Напредна подешавања обавештења",
"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": "Можда сте их подесили у неком другом клијенту а не Riot-у. Не можете их преправљати у Riot-у али се и даље примењују",
"Enable desktop notifications": "Омогући стона обавештења",
"Show message in desktop notification": "Прикажи поруку у стоном обавештењу",
"Enable audible notifications in web client": "Омогући звучна обавештења у веб клијенту",
"Off": "Искључено",
"On": "Укључено",
"Noisy": "Бучно",
"Failed to set direct chat tag": "Нисам успео да поставим ознаку директног ћаскања",
"Failed to remove tag %(tagName)s from room": "Нисам успео да скинем ознаку %(tagName)s са собе",
"Failed to add tag %(tagName)s to room": "Нисам успео да додам ознаку %(tagName)s на собу",
"Search…": "Претрага…",
"Search": "Претрага",
"This Room": "Ова соба",
"All Rooms": "Све собе",
"Sunday": "Недеља",
"Monday": "Понедељак",
"Tuesday": "Уторак",
"Wednesday": "Среда",
"Thursday": "Четвртак",
"Friday": "Петак",
"Saturday": "Субота",
"Today": "Данас",
"Yesterday": "Јуче",
"Custom Server Options": "Прилагођене опције сервера",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Можете користити опције прилагођеног сервера за пријаву у друге Матрикс сервере навођењем другачије адресе кућног сервера.<br/>Ово вам омогућава да користите Riot са постојећим Матрикс налогомна другом кућном серверу.<br/><br/>Такође, можете поставити прилагођени идентитески сервер али нећете моћи да позивате кориснике по мејл адреси а ни други вас.",
"Dismiss": "Одбаци",
"powered by Matrix": "покреће Матрикс",
"You are not receiving desktop notifications": "Не примате стона обавештења",
"Enable them now": "Омогућите их сада",
"What's New": "Шта је ново",
"Update": "Ажурирај",
"What's new?": "Шта је ново?",
"Appear Offline": "Прикажи себе као ван мреже",
"Away": "Одустан",
"A new version of Riot is available.": "Ново издање RIot-а је доступно.",
"To return to your account in future you need to <u>set a password</u>": "Да бисте се вратили на ваш налог у будућности, морате <u>поставити лозинку</u>",
"Set Password": "Постави лозинку",
"Error encountered (%(errorDetail)s).": "Догодила се грешка (%(errorDetail)s).",
"Checking for an update...": "Проверавам ажурирања...",
"No update available.": "Нема нових ажурирања.",
"Downloading update...": "Преузимам ажурирање...",
"Warning": "Упозорење",
"Error": "Грешка",
"You cannot delete this image. (%(code)s)": "Не можете обрисати ову слику. (%(code)s)",
"Uploaded on %(date)s by %(user)s": "Отпремљено датума %(date)s од корисника %(user)s",
"Remove": "Уклони",
"Close": "Затвори",
"Download this file": "Преузми ову датотеку",
"Please describe the bug and/or send logs.": "Опишите грешку и/или пошаљите записнике.",
"Loading bug report module": "Учитавам модул за извештавање о грешкама",
"Bug report sent": "Извештај о грешци послат",
"Thank you!": "Хвала вам!",
"Failed to send report: ": "Нисам успео да пошаљем извештај: ",
"Cancel": "Откажи",
"Report a bug": "Пријави грешку",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Опишите грешку. Шта сте урадили? Шта сте очекивали да се догоди? Шта се заправо догодило?",
"Describe your problem here.": "Опишите ваш проблем овде.",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "Да бисмо проучили проблеме, послаћемо записнике са овог клијента уз овај извештај о грешци. Уколико само желите да пошаљете текст изнад, дештиклирајте:",
"Send logs": "Пошаљи записнике",
"Send": "Пошаљи",
"Unavailable": "Недоступан",
"Changelog": "Записник о изменама",
"Back": "Назад",
"Send Custom Event": "Пошаљи прилагођени догађај",
"You must specify an event type!": "Морате навести врсту догађаја!",
"Event sent!": "Догађај је послат!",
"Failed to send custom event.": "Нисам успео да пошаљем прилагођени догађај.",
"Event Type": "Врста догађаја",
"State Key": "Кључ стања",
"Event Content": "Садржај догађаја",
"Send Account Data": "Пошаљи податке налога",
"Filter results": "Филтрирај резултате",
"Explore Room State": "Истражи стање собе",
"Edit": "Уреди",
"Explore Account Data": "Истражи податке налога",
"Toolbox": "Алатница",
"Developer Tools": "Програмерске алатке",
"You have successfully set a password!": "Успешно сте поставили лозинку!",
"You have successfully set a password and an email address!": "Успешно сте поставили лозинку и мејл адресу!",
"You can now return to your account after signing out, and sign in on other devices.": "Можете се вратити у ваш налог након што се одјавите и пријавите поново, на другим уређајима.",
"Remember, you can always set an email address in user settings if you change your mind.": "Запамтите, увек можете поставити мејл адресу у корисничким подешавањима, уколико се предомислите.",
"Continue": "Настави",
"Failed to change password. Is your password correct?": "Нисам успео да променим лозинку. Да ли је ваша лозинка тачна?",
"(HTTP status %(httpStatus)s)": "(HTTP стање %(httpStatus)s)",
"Please set a password!": "Поставите лозинку!",
"This will allow you to return to your account after signing out, and sign in on other devices.": "Ово ће вам омогућити да се вратите у ваш налог након што се одјавите и пријавите, на другим уређајима.",
"You cannot delete this message. (%(code)s)": "Не можете обрисати ову поруку. (%(code)s)",
"Resend": "Поново пошаљи",
"Cancel Sending": "Откажи слање",
"Forward Message": "Проследи поруку",
"Unpin Message": "Откачи поруку",
"Pin Message": "Закачи поруку",
"View Source": "Погледај извор",
"View Decrypted Source": "Погледај дешифровани извор",
"Unhide Preview": "Откриј преглед",
"Permalink": "Трајна веза",
"Quote": "Цитат",
"Source URL": "Адреса извора",
"Failed to set Direct Message status of room": "Нисам успео да подесим стање директне поруке собе",
"unknown error code": "непознати код грешке",
"Failed to forget room %(errCode)s": "Нисам успео да заборавим собу %(errCode)s",
"All messages (loud)": "Све поруке (гласно)",
"All messages": "Све поруке",
"Mentions only": "Само спомињања",
"Mute": "Утишај",
"Leave": "Напусти",
"Forget": "Заборави",
"Reject": "Одбаци",
"Favourite": "Омиљено",
"Low Priority": "Најмања важност",
"Direct Chat": "Директно ћаскање",
"Sorry, your browser is <b>not</b> able to run Riot.": "Нажалост, ваш прегледач <b>не може</b> да покреће Riot.",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot користи напредне могућности прегледача од којих неке нису доступне или су у пробној фази, у вашем прегледачу.",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Инсталирајте <chromeLink>Хром (Chrome)</chromeLink> или <firefoxLink>Фајерфокс (Firefox)</firefoxLink> за најбољи угођај.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Сафари</safariLink> и <operaLink>Опера</operaLink> такође раде.",
"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!": "Са вашим тренутним прегледачем изглед и угођај ове апликације може бити скроз неправилан и неке могућности можда неће радити. Уколико желите да ипак пробате, можете наставити али ћете бити без подршке за било које проблеме на које налетите!",
"I understand the risks and wish to continue": "Разумем опасност и желим да наставим",
"Couldn't load home page": "Нисам могао да учитам почетну страну",
"Login": "Пријава",
"Register": "Регистровање",
"Invite to this room": "Позови у ову собу",
"Members": "Чланови",
"Files": "Датотеке",
"Notifications": "Обавештења",
"Rooms": "Собе",
"Hide panel": "Сакриј површ",
"Invite to this community": "Позови у ову заједницу",
"Add rooms to this community": "Додај собе у ову заједницу",
"Failed to get protocol list from Home Server": "Нисам успео да добијем списак протокола од кућног сервера",
"The Home Server may be too old to support third party networks": "Кућни сервер је можда сувише застарео да би подржао мреже трећих страна",
"Failed to get public room list": "Нисам успео да добавим списак јавних соба",
"The server may be unavailable or overloaded": "Сервер је можда недоступан или преоптерећен",
"Unnamed room": "Неименована соба",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Обрисати алијас собе %(alias)s и уклонити %(name)s из фасцикле?",
"Remove %(name)s from the directory?": "Уклонити %(name)s из фасцикле?",
"Remove from Directory": "Уклони из фасцикле",
"remove %(name)s from the directory.": "уклони %(name)s из фасцикле.",
"delete the alias.": "обриши алијас.",
"Unable to join network": "Не могу да приступим мрежи",
"Riot does not know how to join a room on this network": "Riot не зна како да приступи соби на овој мрежи",
"Room not found": "Соба није пронађена",
"Couldn't find a matching Matrix room": "Не могу да нађем одговарајућу Матрикс собу",
"Fetching third party location failed": "Добављање локације треће стране није успело",
"Unable to look up room ID from server": "Не могу да погледам ИБ собе на серверу",
"World readable": "Читљиво за све",
"Guests can join": "Гости могу приступити",
"Directory": "Фасцикла",
"No rooms to show": "Нема соба за приказ",
"Search for a room": "Потражи собу",
"#example": "#пример",
"more": "више",
"Expand panel": "Прошири површ",
"Collapse panel": "Скупи површ",
"Filter room names": "Филтрирај називе соба",
"Welcome to Riot.im": "Добродошли у Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Децентрализовано, шифровано ћаскање и сарадња коју покреће [matrix]",
"Search the room directory": "Претражи фасциклу са собама",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Много соба већ постоји у Матриксу, неке су повезане на постојеће мреже (Slack, IRC, Gitter итд.) а неке независне. Погледајте фасциклу!",
"Chat with Riot Bot": "Ћаскајте са Riot ботом",
"Get started with some tips from Riot Bot!": "Крените уз пар савета од Riot бота!",
"General discussion about Matrix and Riot": "Општи разговори о Матриксу и Riot-у",
"Discussion of all things Matrix!": "Разговори о свим Матрикс стварима!",
"Riot/Web &amp; Desktop chat": "Riot/веб и стоно ћаскање",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS и matrix-ios-sdk ћаскање",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Андроид и matrix-android-sdk ћаскање",
"Matrix technical discussions": "Технички разговори о Матриксу",
"Running Matrix services": "Покренуте Матрикс услуге",
"Community-run support for Synapse": "Подршка од стране заједнице за Synapse",
"Admin support for Dendrite": "Администраторска подршка за Dendrite",
"Announcements about Synapse releases": "Објаве поводом нових Synapse издања",
"Support for those using and running matrix-appservice-irc": "Подршка за оне који користе и одржавају matrix-appservice-irc",
"Building services on Matrix": "Стварање услуга уз помоћ Матрикса",
"Support for those using the Matrix spec": "Подршка за оне који користе Матрикс спецификацију",
"Design and implementation of E2E in Matrix": "Дизајн и имплементација E2E у Матриксу",
"Implementing VR services with Matrix": "Израда услуга за ВР уз Матрикс",
"Implementing VoIP services with Matrix": "Израда VoIP услуга уз Матрикс",
"Discussion of the Identity Service API": "Разговори о API-ју идентитетског сервиса",
"Support for those using, running and writing other bridges": "Подршка за оне који користе, одржавају и пишу друге мостове",
"Contributing code to Matrix and Riot": "Додавање кода у Матрикс и Riot",
"Dev chat for the Riot/Web dev team": "Програмерско ћаскање за Riot/веб програмерски тим",
"Dev chat for the Dendrite dev team": "Програмерско ћаскање за Dendrite програмерски тим",
"Co-ordination for Riot/Web translators": "Координација за Riot/веб преводиоце",
"Reply": "Одговори",
"All messages (noisy)": "Све поруке (гласно)",
"%(count)s Members|other": "%(count)s чланова",
"%(count)s Members|one": "%(count)s члан",
"Online": "На мрежи",
"View Community": "Погледај заједницу"
}

View File

@ -2,7 +2,7 @@
"Add an email address above to configure email notifications": "Lägg till en epostadress här för att konfigurera epostaviseringar",
"Advanced notification settings": "Avancerade aviseringsinställingar",
"All messages": "Alla meddelanden",
"All messages (loud)": "Alla meddelanden (högljudd)",
"All messages (noisy)": "Alla meddelanden (högljudd)",
"All notifications are currently disabled for all targets.": "Alla aviseringar är för tillfället avstängda för alla mål.",
"An error occurred whilst saving your email notification preferences.": "Ett fel uppstod då epostaviseringsinställningarna sparades.",
"Call invitation": "Inbjudan till samtal",
@ -196,5 +196,16 @@
"Thank you!": "Tack!",
"Back": "Tillbaka",
"Filter results": "Filtrera resultaten",
"Explore Room State": "Utforska rumläget"
"Explore Room State": "Utforska rumläget",
"Show message in desktop notification": "Visa meddelande i skrivbordsavisering",
"Edit": "Editera",
"Reply": "Svara",
"Online": "Aktiv",
"Away": "Borta",
"Appear Offline": "Visa som utloggad",
"Register": "Registrera",
"%(count)s Members|other": "%(count)s 1 Medlemmar",
"%(count)s Members|one": "%(count)s 1 Medlem",
"Rooms": "Rum",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Du kan använda anpassade serverinställningar för att logga in på andra Matrix-servrar genom att ange en annan hemserver-URL.<BR/>Du kan då använda Riot med ett befintligt Matrix-konto på en annan hemserver.<br/><br/>Du kan också ange en anpassad identitetsserver men kommer då inte kunna bjuda in användare med epostadress, eller själv bli inbjuden med epostadress."
}

View File

@ -4,7 +4,7 @@
"Add an email address above to configure email notifications": "மின்னஞ்சல் மூலம் அறிவிப்புகளை பெற உங்கள் மின்னஞ்சல் முகவரியை மேலே இணைக்கவும்",
"Advanced notification settings": "மேம்பட்ட அறிவிப்பிற்கான அமைப்புகள்",
"All messages": "அனைத்து செய்திகள்",
"All messages (loud)": "அனைத்து செய்திகள் (உரக்க)",
"All messages (noisy)": "அனைத்து செய்திகள் (உரக்க)",
"All Rooms": "அனைத்து அறைகள்",
"All notifications are currently disabled for all targets.": "அனைத்து இலக்குகளுக்கான அனைத்து அறிவுப்புகளும் தற்போது முடக்கி வைக்கப்பட்டுள்ளது.",
"An error occurred whilst saving your email notification preferences.": "உங்கள் மின்னஞ்சல் அறிவிப்பு விருப்பங்களை சேமிப்பதில் ஏதோ பிழை ஏற்பட்டுள்ளது.",

View File

@ -16,7 +16,7 @@
"Add an email address above to configure email notifications": "ఇమెయిల్ ప్రకటనలను రూపశిల్పం చేయడానికి ఎగువ ఇమెయిల్ చిరునామాను జోడించండి",
"Advanced notification settings": "ఆధునిక తాఖీదు అమరిక",
"All messages": "అన్ని సందేశాలు",
"All messages (loud)": "అన్ని సందేశాలు (గట్టిగ)",
"All messages (noisy)": "అన్ని సందేశాలు (గట్టిగ)",
"All Rooms": "అన్ని గదులు",
"Call invitation": "మాట్లాడడానికి ఆహ్వానం",
"Cancel Sending": "పంపడాన్ని ఆపేయండి",

View File

@ -81,7 +81,7 @@
"Riot is not supported on mobile web. Install the app?": "Riot ไม่รองรับเว็บบนอุปกรณ์พกพา ติดตั้งแอป?",
"Riot does not know how to join a room on this network": "Riot ไม่รู้วิธีเข้าร่วมห้องในเครือข่ายนี้",
"Direct Chat": "แชทโดยตรง",
"All messages (loud)": "ทุกข้อความ (เสียงดัง)",
"All messages (noisy)": "ทุกข้อความ (เสียงดัง)",
"Custom Server Options": "กำหนดเซิร์ฟเวอร์เอง",
"Directory": "ไดเรกทอรี",
"Enable audible notifications in web client": "เปิดใช้งานเสียงแจ้งเตือนบนเว็บไคลเอนต์",

View File

@ -5,7 +5,7 @@
"Add an email address above to configure email notifications": "E-posta bildirimlerini yapılandırmak için yukarıya bir e-posta adresi ekleyin",
"Advanced notification settings": "Gelişmiş bildirim ayarları",
"All messages": "Tüm mesajlar",
"All messages (loud)": "Tüm mesajlar (uzun)",
"All messages (noisy)": "Tüm mesajlar (uzun)",
"All Rooms": "Tüm Odalar",
"All notifications are currently disabled for all targets.": "Tüm bildirimler şu anda tüm hedefler için devre dışı bırakılmıştır.",
"An error occurred whilst saving your email notification preferences.": "E-posta bildirim tercihlerinizi kaydetme işlemi sırasında bir hata oluştu.",

View File

@ -1,7 +1,7 @@
{
"A new version of Riot is available.": "Доступне оновлення для Riot.",
"All messages": "Усі повідомлення",
"All messages (loud)": "Усі повідомлення (гучно)",
"All messages (noisy)": "Усі повідомлення (гучно)",
"All Rooms": "Усі кімнати",
"All notifications are currently disabled for all targets.": "Сповіщення для усіх цілей на даний момент вимкнені.",
"An error occurred whilst saving your email notification preferences.": "Під час збереження налаштувань сповіщень е-поштою трапилася помилка.",
@ -216,5 +216,15 @@
"Add rooms to this community": "Добавити кімнати в це суспільство",
"Toolbox": "Панель інструментів",
"Send Account Data": "Відправити данні аккаунта",
"Explore Account Data": "Продивитись данні аккаунта"
"Explore Account Data": "Продивитись данні аккаунта",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Ви можете використовувати параметри користувача сервера для входа на другі сервера Matrix, вказав другий URL-адресу домашнього сервера. <br/>Це дозволяє використовувати Riot з обліковим записом Matrix який існує на другому домашньому сервері.<br/><br/>Окрім цього, можливо встановити ідентифікаційний сервер користувача, але ви не зможете запросити других користувачів та бути запрошенному використовуючи адресу електронної пошти.",
"Appear Offline": "Відображати як не в мережі",
"Away": "Нема на місці",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "Краще встановіть <chromeLink>Chrome</chromeLink> або <firefoxLink>Firefox</firefoxLink>.",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> та <operaLink>Opera</operaLink> працюють теж.",
"Reply": "Відповісти",
"Preparing to send logs": "Підготовка до відправки журланлу",
"Logs sent": "Журнали відправленні",
"Failed to send logs: ": "Не вдалося відправити журнали: ",
"<a>Click here</a> to create a GitHub issue.": "<a>Нажміть тут</a> для створення запитання по проблемі на GitHub."
}

View File

@ -10,7 +10,7 @@
"Add an email address above to configure email notifications": "请在上方输入电子邮件地址以接收邮件通知",
"Advanced notification settings": "通知高级设置",
"All messages": "全部消息",
"All messages (loud)": "全部消息(高亮)",
"All messages (noisy)": "全部消息(高亮)",
"All Rooms": "全部聊天室",
"All notifications are currently disabled for all targets.": "当前所有目标的通知均已禁用。",
"An error occurred whilst saving your email notification preferences.": "保存邮件通知首选项设定时出现错误。",
@ -63,7 +63,7 @@
"(HTTP status %(httpStatus)s)": "(HTTP 状态 %(httpStatus)s)",
"I understand the risks and wish to continue": "我了解这些风险并愿意继续",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "为了诊断问题,来自客户端的活动记录会随着这个程序 bug 报告一并发出。如果你只想送出以上文字,请取消勾选:",
"Invite to this room": "邀请加入此聊天室",
"Invite to this room": "邀请别人加入此聊天室",
"Keywords": "关键字",
"Leave": "离开",
"Login": "登录",
@ -130,7 +130,7 @@
"View Source": "查看源码",
"What's New": "新鲜事",
"What's new?": "有什么新闻?",
"Waiting for response from server": "正在等待来自服务器的回应",
"Waiting for response from server": "正在等待服务器响应",
"When I'm invited to a room": "当我被邀请进入聊天室",
"World readable": "公开可读",
"You cannot delete this image. (%(code)s)": "您不能删除这个图片。(%(code)s)",
@ -203,5 +203,36 @@
"Event sent!": "事件已发出!",
"Event Type": "事件类型",
"Event Content": "事件内容",
"State Key": "状态密钥"
"State Key": "状态密钥",
"Show message in desktop notification": "在桌面通知中显示信息",
"You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "您可以使用自订的服务器选项,并指定不同的主服务器 URL 来登录其他的 Matrix 服务器。<br/>这让您可以在不同的服务器上以既有的 Matrix 帐号使用 Riot。<br/><br/>您也可以设置一个自订的身份服务器,但您可能无法透过电子邮件地址来邀请用户,或是让别人透过电子邮件邀请您。",
"Toolbox": "工具箱",
"Back": "返回",
"Edit": "编辑",
"Send Account Data": "发送账户数据",
"Explore Account Data": "探索账户数据",
"Explore Room State": "探索聊天室状态",
"Unpin Message": "取消置顶消息",
"Pin Message": "置顶消息",
"Register": "注册",
"Rooms": "聊天室",
"Invite to this community": "邀请加入此社区",
"Add rooms to this community": "添加聊天室到此社区",
"Appear Offline": "似乎离线了",
"Away": "离开",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "请安装 <chromeLink>Chrome</chromeLink> 或 <firefoxLink>Firefox</firefoxLink> 以获得最佳体验。",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> 和 <operaLink>Opera</operaLink> 也能工作。",
"Reply": "回复",
"Online": "在线",
"View Community": "查看社区",
"%(count)s Members|other": "%(count)s 位成员",
"%(count)s Members|one": "%(count)s 位成员",
"Preparing to send logs": "准备发送日志",
"Logs sent": "记录已发送",
"Failed to send logs: ": "无法发送日志: ",
"Submit debug logs": "提交调试日志",
"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.": "调试日志包含使用数据(包括您的用户名,您访问过的聊天室 / 小组的 ID 或别名以及其他用户的用户名)。它们不包含聊天信息。",
"<a>Click here</a> to create a GitHub issue.": "<a>点击这里</a> 创建一个 GitHub issue.",
"GitHub issue link:": "Github issue 链接:",
"Notes:": "记录:"
}

View File

@ -8,7 +8,7 @@
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> 與 <a href=\"http://opera.com\">Opera</a> 也能使用。",
"Advanced notification settings": "進階通知設定",
"All messages": "所有訊息",
"All messages (loud)": "所有訊息(吵鬧)",
"All messages (noisy)": "所有訊息(吵鬧)",
"All Rooms": "所有的聊天室",
"Call invitation": "通話邀請",
"Cancel": "取消",
@ -28,7 +28,7 @@
"Enable desktop notifications": "啟用桌面通知",
"Enable email notifications": "啟用電子郵件通知",
"Enable notifications for this account": "本帳號啟用通知",
"Enable them now": "現在啟用它們",
"Enable them now": "現在啟用",
"#example": "#範例",
"Expand panel": "展開面板",
"Failed to change settings": "變更設定失敗",
@ -43,14 +43,14 @@
"Messages sent by bot": "由機器人送出的訊息",
"more": "更多",
"Mute": "靜音",
"No rooms to show": "無聊天室可顯示",
"No rooms to show": "未顯示聊天室",
"Noisy": "吵鬧",
"Notifications": "通知",
"Off": "關閉",
"On": "開啟",
"Operation failed": "操作失敗",
"powered by Matrix": "由 Matrix 架設",
"Quote": "引",
"Quote": "引",
"Remove": "移除",
"Resend": "重新傳送",
"Room not found": "找不到聊天室",
@ -66,7 +66,7 @@
"Unhide Preview": "取消隱藏預覽",
"Unknown device": "未知裝置",
"unknown error code": "未知的錯誤代碼",
"Unnamed room": "命名的聊天室",
"Unnamed room": "命名的聊天室",
"Update": "更新",
"Uploaded on %(date)s by %(user)s": "由 %(user)s 在 %(date)s 上傳",
"Uploading report": "上傳報告",
@ -97,19 +97,19 @@
"Enable audible notifications in web client": "在網頁客戶端啟用音訊通知",
"Enter keywords separated by a comma:": "輸入以逗號隔開的關鍵字:",
"Error saving email notification preferences": "儲存電子郵件通知偏好設定時出錯",
"Failed to add tag %(tagName)s to room": "無法為聊天室新增標籤 %(tagName)s",
"Failed to add tag %(tagName)s to room": "新增標籤 %(tagName)s 到聊天室失敗",
"Failed to get protocol list from Home Server": "無法從主機伺服器取得協定清單",
"Failed to get public room list": "無法取得公開的聊天室清單",
"Failed to remove tag %(tagName)s from room": "移除聊天室的標籤 %(tagName)s 失敗",
"Failed to remove tag %(tagName)s from room": "從聊天室移除標籤 %(tagName)s 失敗",
"Failed to send report: ": "無法傳送報告: ",
"Failed to set direct chat tag": "無法設定私人聊天標籤",
"Failed to set direct chat tag": "設定直接聊天標籤失敗",
"Failed to set Direct Message status of room": "無法設定聊天室的私人訊息狀態",
"Fetching third party location failed": "抓取第三方位置失敗",
"Files": "檔案",
"Filter room names": "過濾聊天室名稱",
"Forget": "忘記",
"Forward Message": "轉寄訊息",
"Guests can join": "訪客可加入",
"Guests can join": "訪客可加入",
"Hide panel": "隱藏面板",
"I understand the risks and wish to continue": "我了解這些風險並願意繼續",
"Invite to this room": "邀請加入這個聊天室",
@ -139,9 +139,9 @@
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "請描述這個程式臭蟲,您做了什麼動作?您預期會發生什麼狀況?以及實際發生的狀況為何?",
"Please describe the bug and/or send logs.": "請描述這個程式臭蟲以及/或送出活動記錄。",
"Riot is not supported on mobile web. Install the app?": "Riot 不支援行動版網頁,要安裝應用程式嗎?",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Roit 使用了許多先進的瀏覽器功能,有些在你目前所用的瀏覽器上無法使用或僅為實驗中的功能。",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot 使用了許多先進的瀏覽器功能,有些在你目前所用的瀏覽器上無法使用或僅為實驗中的功能。",
"There are advanced notifications which are not shown here": "有些進階的通知並未在此顯示",
"World readable": "公開可讀",
"World readable": "所有人可讀",
"You cannot delete this image. (%(code)s)": "你不能刪除這個圖片。(%(code)s)",
"You are not receiving desktop notifications": "你將不會收到桌面通知",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "你也許不曾在其它 Riot 之外的客戶端設定它們。在 Riot 底下你無法調整它們但其仍然可用",
@ -154,33 +154,33 @@
"No update available.": "沒有可用的更新。",
"Downloading update...": "正在下䵧更新...",
"Welcome to Riot.im": "歡迎來到 Riot.im",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、加密聊天 &amp; 由 [matrix] 提供協作",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、保密的聊天與協作,由 [matrix] 出品",
"Search the room directory": "搜尋聊天室目錄",
"Chat with Riot Bot": "與 Riot 機器人聊天",
"Get started with some tips from Riot Bot!": "使用從 Riot 機器人來的一些訣竅開始",
"General discussion about Matrix and Riot": "關於 Matrix 與 Riot 的一般討論",
"Discussion of all things Matrix!": "討論所有關於 Matrix 的事情!",
"Riot/Web &amp; Desktop chat": "Riot/網路 &amp; 桌面聊天",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk 聊天",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk 聊天",
"Get started with some tips from Riot Bot!": "從 Riot 機器人了解使用 Riot 的訣竅吧",
"General discussion about Matrix and Riot": "Matrix 與 Riot 的一般討論",
"Discussion of all things Matrix!": "所有 Matrix 相關的一般討論",
"Riot/Web &amp; Desktop chat": "Riot/Web 與桌面版的討論",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS 與 matrix-ios-sdk 的討論",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android 與 matrix-android-sdk 的討論",
"Matrix technical discussions": "Matrix 技術討論",
"Running Matrix services": "正在執行 Matrix 服務",
"Community-run support for Synapse": "Synapse 社群支援",
"Admin support for Dendrite": "Dendrite 管理員支援",
"Announcements about Synapse releases": "關於 Synapse 釋出的公告",
"Support for those using and running matrix-appservice-irc": "使用與執行 matrix-appservice-irc 的支援",
"Building services on Matrix": "正在 Matrix 上建立服務",
"Support for those using the Matrix spec": "那些使用 Matrix 規範的支援",
"Design and implementation of E2E in Matrix": "在 Matrix 中 E2E 的設計與實作",
"Implementing VR services with Matrix": "使用 Matrix 實作虛擬實境服務",
"Implementing VoIP services with Matrix": "使用 Matrix 實作 VoIP 服務",
"Running Matrix services": "關於 Matrix 服務營運",
"Community-run support for Synapse": "Synapse 社群支援聊天室",
"Admin support for Dendrite": "Dendrite 管理員支援聊天室",
"Announcements about Synapse releases": "Synapse 發行公告",
"Support for those using and running matrix-appservice-irc": "matrix-appservice-irc 使用者與營運的支援",
"Building services on Matrix": "關於在 Matrix 上開發服務",
"Support for those using the Matrix spec": "Matrix 規格使用者支援聊天室",
"Design and implementation of E2E in Matrix": "Matrix 中點對點加密的設計與實作討論",
"Implementing VR services with Matrix": "使用 Matrix 實作虛擬實境服務的討論",
"Implementing VoIP services with Matrix": "使用 Matrix 實作 VoIP 服務的討論",
"Discussion of the Identity Service API": "識別服務 API 的討論",
"Support for those using, running and writing other bridges": "那些使用、執行與撰寫其他橋接的支援",
"Contributing code to Matrix and Riot": "貢獻程式碼給 Matrix 與 Riot",
"Dev chat for the Riot/Web dev team": "Riot/Web 開發團隊的開發聊天",
"Dev chat for the Dendrite dev team": "Dendrite 開發團隊的開發聊天",
"Co-ordination for Riot/Web translators": "Riot/Web 翻譯者的協調",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix 中已有許多聊天室連結到已有的網路Slack、IRC 與 Gitter 等等)或是獨立的網路。看看目錄!",
"Support for those using, running and writing other bridges": "使用、執行與撰寫其他橋接服務的支援聊天室",
"Contributing code to Matrix and Riot": "關於貢獻 Matrix 和 Riot",
"Dev chat for the Riot/Web dev team": "Riot/Web 開發團隊的開發聊天",
"Dev chat for the Dendrite dev team": "Dendrite 開發團隊的開發聊天",
"Co-ordination for Riot/Web translators": "Riot/Web 翻譯者的協調聊天室",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Matrix 中已有許多聊天室連結到已有的網路Slack、IRC 與 Gitter 等等)或是獨立的網路。看看聊天室目錄",
"Failed to change password. Is your password correct?": "變更密碼失敗。您的密碼正確嗎?",
"You have successfully set a password!": "您已經成功設定密碼!",
"You can now return to your account after signing out, and sign in on other devices.": "您可以在登出後回到您的帳號,並在其他裝置上登入。",
@ -189,7 +189,7 @@
"This will allow you to return to your account after signing out, and sign in on other devices.": "這讓您可以在登入後回到您帳號,並在其他裝置上登入。",
"You have successfully set a password and an email address!": "您已經成功設定密碼與電子郵件地址!",
"Remember, you can always set an email address in user settings if you change your mind.": "記住,如果您改變心意了,您永遠可以在使用者設定中設定電子郵件地址。",
"To return to your account in future you need to <u>set a password</u>": "要在未來回到您的帳號,您需要 <u>設定密碼</u>",
"To return to your account in future you need to <u>set a password</u>": "未來若需回來使用您的帳號,您需要 <u>設定密碼</u>",
"Set Password": "設定密碼",
"Couldn't load home page": "無法載入首頁",
"Bug report sent": "已傳送臭蟲回報",
@ -217,5 +217,22 @@
"Add rooms to this community": "新增聊天室到此社群",
"Toolbox": "工具箱",
"Send Account Data": "傳送帳號資料",
"Explore Account Data": "探索帳號資料"
"Explore Account Data": "探索帳號資料",
"Appear Offline": "顯示為離線",
"Away": "離開",
"Please install <chromeLink>Chrome</chromeLink> or <firefoxLink>Firefox</firefoxLink> for the best experience.": "請安裝 <chromeLink>Chrome</chromeLink> 或 <firefoxLink>Firefox</firefoxLink> 以取得最佳體驗。",
"<safariLink>Safari</safariLink> and <operaLink>Opera</operaLink> work too.": "<safariLink>Safari</safariLink> 與 <operaLink>Opera</operaLink> 也可以運作。",
"Reply": "回覆",
"%(count)s Members|other": "%(count)s 個成員",
"%(count)s Members|one": "%(count)s 個成員",
"Online": "線上",
"View Community": "檢視社群",
"Submit debug logs": "傳送除錯訊息",
"Preparing to send logs": "準備傳送除錯訊息",
"Logs sent": "除錯訊息已經傳送",
"Failed to send logs: ": "無法傳送除錯訊息: ",
"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.": "除錯訊息包含應用程式的使用資料,包括您的使用者名稱、您所造訪的房間/群組的 ID 或別名、其他使用者的使用者名稱等,其中不包含訊息本身。",
"<a>Click here</a> to create a GitHub issue.": "<a>點選這裡</a>來建立 GitHub 問題回報。",
"GitHub issue link:": "GitHub 問題回報連結:",
"Notes:": "備註:"
}

View File

@ -35,6 +35,7 @@
@import "./matrix-react-sdk/views/elements/_EditableItemList.scss";
@import "./matrix-react-sdk/views/elements/_MemberEventListSummary.scss";
@import "./matrix-react-sdk/views/elements/_ProgressBar.scss";
@import "./matrix-react-sdk/views/elements/_Quote.scss";
@import "./matrix-react-sdk/views/elements/_RichText.scss";
@import "./matrix-react-sdk/views/elements/_RoleButton.scss";
@import "./matrix-react-sdk/views/elements/_ToolTipButton.scss";
@ -44,7 +45,9 @@
@import "./matrix-react-sdk/views/login/_InteractiveAuthEntryComponents.scss";
@import "./matrix-react-sdk/views/login/_ServerConfig.scss";
@import "./matrix-react-sdk/views/messages/_MEmoteBody.scss";
@import "./matrix-react-sdk/views/messages/_MFileBody.scss";
@import "./matrix-react-sdk/views/messages/_MImageBody.scss";
@import "./matrix-react-sdk/views/messages/_MStickerBody.scss";
@import "./matrix-react-sdk/views/messages/_MNoticeBody.scss";
@import "./matrix-react-sdk/views/messages/_MTextBody.scss";
@import "./matrix-react-sdk/views/messages/_RoomAvatarEvent.scss";
@ -59,9 +62,11 @@
@import "./matrix-react-sdk/views/rooms/_MemberInfo.scss";
@import "./matrix-react-sdk/views/rooms/_MemberList.scss";
@import "./matrix-react-sdk/views/rooms/_MessageComposer.scss";
@import "./matrix-react-sdk/views/rooms/_Stickers.scss";
@import "./matrix-react-sdk/views/rooms/_PinnedEventTile.scss";
@import "./matrix-react-sdk/views/rooms/_PinnedEventsPanel.scss";
@import "./matrix-react-sdk/views/rooms/_PresenceLabel.scss";
@import "./matrix-react-sdk/views/rooms/_QuotePreview.scss";
@import "./matrix-react-sdk/views/rooms/_RoomHeader.scss";
@import "./matrix-react-sdk/views/rooms/_RoomList.scss";
@import "./matrix-react-sdk/views/rooms/_RoomPreviewBar.scss";
@ -84,6 +89,7 @@
@import "./vector-web/structures/_ViewSource.scss";
@import "./vector-web/views/context_menus/_MessageContextMenu.scss";
@import "./vector-web/views/context_menus/_RoomTileContextMenu.scss";
@import "./vector-web/views/context_menus/_TagTileContextMenu.scss";
@import "./vector-web/views/dialogs/_ChangelogDialog.scss";
@import "./vector-web/views/dialogs/_DevtoolsDialog.scss";
@import "./vector-web/views/dialogs/_SetEmailDialog.scss";
@ -92,6 +98,7 @@
@import "./vector-web/views/elements/_ImageView.scss";
@import "./vector-web/views/elements/_InlineSpinner.scss";
@import "./vector-web/views/elements/_Spinner.scss";
@import "./vector-web/views/elements/_SyntaxHighlight.scss";
@import "./vector-web/views/globals/_MatrixToolbar.scss";
@import "./vector-web/views/messages/_DateSeparator.scss";
@import "./vector-web/views/messages/_MessageTimestamp.scss";

View File

@ -90,6 +90,8 @@ limitations under the License.
.mx_GroupView_header_leftCol {
flex: 1;
overflow: hidden;
}
.mx_GroupView_header_rightCol {
@ -149,6 +151,17 @@ limitations under the License.
top: 5px;
}
.mx_GroupView input[type='radio'] {
margin: 10px 10px 0px 10px;
}
.mx_GroupView_label_text {
display: inline-block;
max-width: 80%;
vertical-align: 0.1em;
line-height: 2em;
}
.mx_GroupView_body {
flex-grow: 1;
}
@ -221,6 +234,10 @@ limitations under the License.
display: flex;
}
.mx_GroupView_membershipSubSection .mx_Spinner {
justify-content: flex-end;
}
.mx_GroupView_membershipSection_description {
/* To match textButton */
line-height: 34px;
@ -312,13 +329,21 @@ limitations under the License.
height: 150px;
}
.mx_GroupView_groupDesc_placeholder {
.mx_GroupView_groupDesc_placeholder,
.mx_GroupView_changeDelayWarning {
background-color: $info-plinth-bg-color;
color: $info-plinth-fg-color;
border-radius: 10px;
text-align: center;
cursor: pointer;
padding: 100px 20px;
margin: 20px 0px;
}
.mx_GroupView_groupDesc_placeholder {
padding: 100px 20px;
cursor: pointer;
}
.mx_GroupView_changeDelayWarning {
padding: 40px 20px;
}

View File

@ -82,10 +82,6 @@ limitations under the License.
flex-direction: column;
}
.mx_MyGroups_content h3 {
margin-bottom: 10px;
}
.mx_MyGroups_placeholder {
background-color: $info-plinth-bg-color;
color: $info-plinth-fg-color;
@ -94,7 +90,7 @@ limitations under the License.
text-align: center;
}
.mx_MyGroups_joinedGroups .gm-scroll-view {
.mx_MyGroups_joinedGroups {
border-top: 1px solid $primary-hairline-color;
overflow-x: hidden;
@ -104,7 +100,7 @@ limitations under the License.
align-content: flex-start;
}
.mx_MyGroups_joinedGroups .gm-scroll-view .mx_GroupTile {
.mx_MyGroups_joinedGroups .mx_GroupTile {
min-width: 300px;
max-width: 33%;
flex: 1 0 300px;
@ -115,6 +111,10 @@ limitations under the License.
cursor: pointer;
}
.mx_GroupTile_avatar {
cursor: grab, -webkit-grab;
}
.mx_GroupTile_profile {
margin-left: 10px;
display: flex;

View File

@ -54,7 +54,7 @@ limitations under the License.
left: 0px;
}
.mx_NotificationPanel .mx_EventTile .mx_SenderProfile,
.mx_NotificationPanel .mx_EventTile .mx_SenderProfile,
.mx_NotificationPanel .mx_EventTile .mx_MessageTimestamp {
color: $primary-fg-color;
font-size: 12px;

View File

@ -96,6 +96,11 @@ limitations under the License.
order: 2;
}
.mx_RoomView_body .mx_RoomView_messagePanelSpinner {
order: 2;
margin: auto;
}
.mx_RoomView_body .mx_RoomView_statusArea {
order: 3;
}

View File

@ -15,7 +15,7 @@ limitations under the License.
*/
.mx_TagPanel {
width: 60px;
flex: 0 0 60px;
background-color: $tertiary-accent-color;
cursor: pointer;
@ -25,16 +25,46 @@ limitations under the License.
justify-content: space-between;
}
.mx_TagPanel .mx_TagPanel_clearButton {
/* Constant height within flex mx_TagPanel */
height: 70px;
width: 60px;
flex: none;
display: flex;
justify-content: center;
align-items: flex-start;
}
.mx_TagPanel .mx_TagPanel_clearButton object {
/* Same as .mx_SearchBox padding-top */
margin-top: 24px;
pointer-events: none;
}
.mx_TagPanel .mx_TagPanel_divider {
height: 0px;
width: 42px;
border-bottom: 1px solid $panel-divider-color;
}
.mx_TagPanel .mx_TagPanel_scroller {
flex-grow: 1;
}
.mx_TagPanel .mx_TagPanel_tagTileContainer {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 65px;
height: 100%;
}
.mx_TagPanel .mx_TagTile {
margin: 6px 0px;
padding: 6px 3px;
opacity: 0.5;
position: relative;
}
.mx_TagPanel .mx_TagTile:focus,
.mx_TagPanel .mx_TagTile:hover,
@ -44,12 +74,18 @@ limitations under the License.
.mx_TagPanel .mx_TagTile.mx_TagTile_selected {
/* To offset border of mx_TagTile_avatar */
margin: 3px 0px;
padding: 3px 0px;
}
.mx_TagPanel .mx_TagTile.mx_TagTile_selected .mx_TagTile_avatar {
.mx_TagPanel .mx_TagTile.mx_TagTile_selected .mx_TagTile_avatar .mx_BaseAvatar {
border: 3px solid $accent-color;
background-color: $accent-color;
border-radius: 60px;
/* In case this is a "initial" avatar */
display: block;
height: 35px;
width: 35px;
}
.mx_TagPanel .mx_TagTile.mx_AccessibleButton:focus {
@ -62,16 +98,29 @@ limitations under the License.
left: 5px;
}
.mx_TagPanel_createGroupButton {
opacity: 0.5;
.mx_TagTile_context_button {
min-width: 15px;
height: 15px;
position: absolute;
right: -5px;
top: 1px;
border-radius: 8px;
background-color: $neutral-badge-color;
color: #ffffff;
font-weight: 600;
font-size: 10px;
text-align: center;
padding-top: 1px;
padding-left: 4px;
padding-right: 4px;
}
.mx_TagPanel_groupsButton {
margin-bottom: 17px;
margin-top: 18px;
height: 25px;
}
.mx_TagPanel_createGroupButton:hover {
opacity: 1;
}
.mx_TagPanel_createGroupButton object {
.mx_TagPanel_groupsButton object {
pointer-events: none;
}

View File

@ -135,8 +135,8 @@ limitations under the License.
width: 200px;
}
.mx_UserSettings_webRtcDevices_dropdown{
width: 200px;
.mx_UserSettings_webRtcDevices_dropdown {
width: 50%;
}
.mx_UserSettings_profileTable

View File

@ -14,7 +14,39 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_BugReportDialog_input {
width: 100%;
box-sizing: border-box;
.mx_BugReportDialog_field_container {
display: flex;
}
.mx_BugReportDialog_field_label {
flex-basis: 150px;
text-align: right;
padding-top: 9px;
padding-right: 4px;
line-height: 18px;
}
.mx_BugReportDialog_field_input {
flex-grow: 1;
/* taken from mx_ChatInviteDialog_inputContainer */
border-radius: 3px;
border: solid 1px $input-border-color;
font-size: 14px;
padding-left: 4px;
padding-right: 4px;
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 4px;
}
.mx_BugReportDialog_field_input[type="text" i] {
padding-top: 9px;
padding-bottom: 9px;
}

View File

@ -56,6 +56,12 @@ limitations under the License.
left: 10px;
}
.mx_Dropdown_input > .mx_Dropdown_option {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.mx_Dropdown.left_aligned .mx_Dropdown_input > .mx_Dropdown_option {
padding-left: 25px;
}
@ -104,6 +110,11 @@ input.mx_Dropdown_option, input.mx_Dropdown_option:focus {
overflow-y: auto;
}
.mx_Dropdown_menu .mx_Dropdown_option {
height: auto;
min-height: 35px;
}
.mx_Dropdown_menu .mx_Dropdown_option_highlight {
background-color: $focus-bg-color;
}

View File

@ -0,0 +1,26 @@
/*
Copyright 2017 Vector Creations 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_Quote .mx_DateSeparator {
font-size: 1em !important;
margin-bottom: 0;
padding-bottom: 1px;
bottom: -5px;
}
.mx_Quote_show {
cursor: pointer;
}

View File

@ -44,8 +44,8 @@ limitations under the License.
}
.mx_ToolTipButton_helpText {
width: 200px;
text-align: center;
width: 400px;
text-align: start;
line-height: 17px !important;
}

View File

@ -0,0 +1,47 @@
/*
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.
*/
.mx_MFileBody_download {
color: $accent-color;
}
.mx_MFileBody_download a {
color: $accent-color;
text-decoration: none;
cursor: pointer;
}
.mx_MFileBody_download object {
margin-left: -16px;
padding-right: 4px;
margin-top: -4px;
vertical-align: middle;
pointer-events: none;
}
/* Remove the border and padding for iframes for download links. */
.mx_MFileBody_download iframe {
margin: 0px;
padding: 0px;
border: none;
width: 100%;
/* Set the height of the iframe to be 1 line of text.
* Iframes don't automatically size themselves to fit their content.
* So either we have to fix the height of the iframe using CSS or
* use javascript's cross-origin postMessage API to communicate how
* big the content of the iframe is. */
height: 1.5em;
}

View File

@ -15,46 +15,6 @@ limitations under the License.
*/
.mx_MImageBody {
display: block;
margin-right: 34px;
}
.mx_MImageBody_thumbnail {
max-width: 100%;
/*
background-color: $primary-bg-color;
border: 2px solid $primary-bg-color;
border-radius: 1px;
*/
}
.mx_MImageBody_download {
color: $accent-color;
}
.mx_MImageBody_download a {
color: $accent-color;
text-decoration: none;
}
.mx_MImageBody_download object {
margin-left: -16px;
padding-right: 4px;
margin-top: -4px;
vertical-align: middle;
pointer-events: none;
}
/* Remove the border and padding for iframes for download links. */
.mx_MImageBody_download iframe {
margin: 0px;
padding: 0px;
border: none;
width: 100%;
/* Set the height of the iframe to be 1 line of text.
* Iframes don't automatically size themselves to fit their content.
* So either we have to fix the height of the iframe using CSS or
* use javascript's cross-origin postMessage API to communicate how
* big the content of the iframe is. */
height: 1.5em;
display: block;
margin-right: 34px;
}

View File

@ -0,0 +1,46 @@
/*
Copyright 2018 New Vector 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_MStickerBody {
display: block;
margin-right: 34px;
min-height: 110px;
padding: 20px 0;
}
.mx_MStickerBody_image_container {
display: inline-block;
position: relative;
}
.mx_MStickerBody_image {
max-width: 100%;
opacity: 0;
}
.mx_MStickerBody_image_visible {
opacity: 1;
}
.mx_MStickerBody_placeholder {
position: absolute;
opacity: 1;
}
.mx_MStickerBody_placeholder_invisible {
transition: 500ms;
opacity: 0;
}

View File

@ -18,6 +18,10 @@ limitations under the License.
margin: 5px;
}
.mx_AppsDrawer_hidden {
display: none;
}
.mx_AppsContainer {
display: flex;
flex-direction: row;
@ -54,6 +58,7 @@ limitations under the License.
margin-right: 5px;
border: 1px solid $primary-hairline-color;
border-radius: 2px;
background-color: $dialog-background-bg-color;
}
.mx_AppTile:last-child {
@ -63,16 +68,11 @@ limitations under the License.
.mx_AppTileFullWidth {
max-width: 960px;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
border: 1px solid $primary-hairline-color;
border-radius: 2px;
// height: 350px;
// display: inline-block;
}
.mx_AppTile, .mx_AppTileFullWidth {
margin-top: 3px;
}
.mx_AppTileMenuBar {
@ -103,7 +103,6 @@ limitations under the License.
}
.mx_AppTileMenuBarWidget {
// pointer-events: none;
cursor: pointer;
width: 10px;
height: 10px;
@ -122,14 +121,14 @@ limitations under the License.
}
.mx_AppTileBody{
height: 350px;
height: 280px;
width: 100%;
overflow: hidden;
}
.mx_AppTileBody iframe {
width: 100%;
height: 350px;
height: 280px;
overflow: hidden;
border: none;
padding: 0;
@ -137,9 +136,6 @@ limitations under the License.
display: block;
}
// .mx_CloseAppWidget {
// }
.mx_AppTileMenuBarWidgetPadding {
margin-right: 5px;
}
@ -253,12 +249,21 @@ form.mx_Custom_Widget_Form div {
}
.mx_AppLoading {
min-height: 305px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-weight: bold;
position: relative;
height: 280px;
}
.mx_AppLoading .mx_Spinner {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.mx_AppLoading iframe {

View File

@ -1,7 +1,7 @@
.mx_Autocomplete {
position: absolute;
bottom: 0;
z-index: 1000;
z-index: 1001;
width: 100%;
border: 1px solid $primary-hairline-color;
background: $primary-bg-color;
@ -90,3 +90,4 @@
.mx_Autocomplete_Completion_description {
color: gray;
}

View File

@ -96,6 +96,10 @@ limitations under the License.
line-height: 22px;
}
.mx_EventTile_quote {
margin-right: 10px;
}
.mx_EventTile_info .mx_EventTile_line {
padding-left: 83px;
}
@ -109,13 +113,13 @@ limitations under the License.
/* this is used for the tile for the event which is selected via the URL.
* TODO: ultimately we probably want some transition on here.
*/
.mx_EventTile_selected .mx_EventTile_line {
.mx_EventTile_selected > .mx_EventTile_line {
border-left: $accent-color 5px solid;
padding-left: 60px;
background-color: $event-selected-color;
}
.mx_EventTile:hover .mx_EventTile_line,
.mx_EventTile:hover .mx_EventTile_line:not(.mx_EventTile_quote),
.mx_EventTile.menu .mx_EventTile_line
{
background-color: $event-selected-color;
@ -209,7 +213,7 @@ limitations under the License.
visibility: visible;
}
.mx_EventTile_selected .mx_MessageTimestamp {
.mx_EventTile_selected > div > a > .mx_MessageTimestamp {
left: 3px;
width: auto;
}
@ -224,6 +228,10 @@ limitations under the License.
width: 19px;
height: 19px;
background-image: url($edit-button-url);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.mx_EventTile:hover .mx_EventTile_editButton,
@ -290,6 +298,34 @@ limitations under the License.
cursor: pointer;
}
.mx_EventTile_keyRequestInfo {
font-size: 12px;
}
.mx_EventTile_keyRequestInfo_text {
opacity: 0.5;
}
.mx_EventTile_keyRequestInfo_text a {
color: $primary-fg-color;
text-decoration: underline;
cursor: pointer;
}
.mx_EventTile_keyRequestInfo_tooltip_contents p {
text-align: auto;
margin-left: 3px;
margin-right: 3px;
}
.mx_EventTile_keyRequestInfo_tooltip_contents p:first-child {
margin-top: 0px;
}
.mx_EventTile_keyRequestInfo_tooltip_contents p:last-child {
margin-bottom: 0px;
}
.mx_EventTile_12hr .mx_EventTile_e2eIcon {
padding-left: 5px;
}

View File

@ -34,6 +34,10 @@ limitations under the License.
width: 100%;
}
.mx_MessageComposer_row div:last-child{
padding-right: 0;
}
.mx_MessageComposer .mx_MessageComposer_avatar {
padding-left: 10px;
padding-right: 28px;
@ -98,6 +102,9 @@ limitations under the License.
width: 100%;
flex: 1;
word-break: break-word;
max-height: 120px;
min-height: 21px;
overflow: auto;
}
.mx_MessageComposer_input .DraftEditor-root .DraftEditor-editorContainer {
@ -105,10 +112,8 @@ limitations under the License.
padding-top: 2px;
}
.mx_MessageComposer_input .public-DraftEditor-content {
max-height: 120px;
min-height: 21px;
overflow: auto;
.mx_MessageComposer .public-DraftStyleDefault-block {
overflow-x: hidden;
}
.mx_MessageComposer_input blockquote {
@ -157,7 +162,8 @@ limitations under the License.
.mx_MessageComposer_hangup,
.mx_MessageComposer_voicecall,
.mx_MessageComposer_videocall,
.mx_MessageComposer_apps {
.mx_MessageComposer_apps,
.mx_MessageComposer_stickers {
/*display: table-cell;*/
/*vertical-align: middle;*/
/*padding-left: 10px;*/
@ -170,7 +176,8 @@ limitations under the License.
.mx_MessageComposer_hangup object,
.mx_MessageComposer_voicecall object,
.mx_MessageComposer_videocall object,
.mx_MessageComposer_apps object {
.mx_MessageComposer_apps object,
.mx_MessageComposer_stickers object {
pointer-events: none;
}

View File

@ -0,0 +1,36 @@
.mx_QuotePreview {
position: absolute;
bottom: 0;
z-index: 1000;
width: 100%;
border: 1px solid $primary-hairline-color;
background: $primary-bg-color;
border-bottom: none;
border-radius: 4px 4px 0 0;
max-height: 50vh;
overflow: auto
}
.mx_QuotePreview_section {
border-bottom: 1px solid $primary-hairline-color;
}
.mx_QuotePreview_header {
margin: 12px;
color: $primary-fg-color;
font-weight: 400;
opacity: 0.4;
}
.mx_QuotePreview_title {
float: left;
}
.mx_QuotePreview_cancel {
float: right;
cursor: pointer;
}
.mx_QuotePreview_clear {
clear: both;
}

View File

@ -39,12 +39,16 @@ limitations under the License.
z-index: 6;
}
.mx_RoomList_emptySubListTip_container {
background-color: $secondary-accent-color;
padding-left: 18px;
padding-right: 18px;
padding-top: 8px;
padding-bottom: 7px;
}
.mx_RoomList_emptySubListTip {
font-size: 13px;
margin-left: 18px;
margin-right: 18px;
margin-top: 8px;
margin-bottom: 7px;
padding: 5px;
border: 1px dashed $accent-color;
color: $primary-fg-color;

View File

@ -20,6 +20,8 @@ limitations under the License.
font-size: 13px;
display: block;
height: 34px;
background-color: $secondary-accent-color;
}
.mx_RoomTile_tooltip {
@ -155,6 +157,15 @@ limitations under the License.
background-color: $roomtile-selected-bg-color;
}
.mx_DNDRoomTile {
transform: none;
transition: transform 0.2s;
}
.mx_DNDRoomTile_dragging {
transform: scale(1.05, 1.05);
}
.mx_RoomTile:focus {
filter: none ! important;
background-color: $roomtile-focused-bg-color;
@ -169,3 +180,11 @@ limitations under the License.
right: 0px;
}
.mx_RoomTile.mx_RoomTile_transparent {
background-color: transparent;
}
.mx_RoomTile.mx_RoomTile_transparent:focus {
background-color: $roomtile-transparent-focused-color;
}

View File

@ -0,0 +1,35 @@
.mx_Stickers_content {
overflow: hidden;
}
.mx_Stickers_content_container {
overflow: hidden;
height: 300px;
}
.mx_Stickers_content .mx_AppTileFullWidth {
border: none;
}
.mx_Stickers_contentPlaceholder {
display: flex;
flex-grow: 1;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
}
.mx_Stickers_contentPlaceholder p {
max-width: 200px;
}
.mx_Stickers_addLink {
display: inline;
cursor: pointer;
text-decoration: underline;
}
.mx_Stickers_hideStickers {
z-index: 2001;
}

View File

@ -104,6 +104,9 @@ $roomtile-name-color: rgba(69, 69, 69, 0.8);
$roomtile-selected-bg-color: rgba(255, 255, 255, 0.8);
$roomtile-focused-bg-color: rgba(255, 255, 255, 0.9);
$roomtile-transparent-focused-color: rgba(0, 0, 0, 0.1);
$roomsublist-background: rgba(0, 0, 0, 0.05);
$roomsublist-label-fg-color: $h3-color;
$roomsublist-label-bg-color: $tertiary-accent-color;
$roomsublist-chevron-color: $accent-color;

View File

@ -100,9 +100,10 @@ $rte-code-bg-color: #000;
// ********************
$roomtile-name-color: rgba(186, 186, 186, 0.8);
$roomtile-selected-bg-color: rgba(255, 255, 255, 0.05);
$roomtile-selected-bg-color: #333;
$roomtile-focused-bg-color: rgba(255, 255, 255, 0.2);
$roomsublist-background: rgba(0, 0, 0, 0.2);
$roomsublist-label-fg-color: $h3-color;
$roomsublist-label-bg-color: $tertiary-accent-color;
$roomsublist-chevron-color: $accent-color;
@ -196,3 +197,8 @@ $progressbar-color: #000;
}
}
}
// Add a line to the right side of the left panel to distinguish it from the middle panel
.mx_LeftPanel {
border-right: 1px solid $tertiary-accent-color;
}

View File

@ -21,6 +21,27 @@ limitations under the License.
flex-direction: column;
}
.mx_LeftPanel_container {
display: flex;
/* LeftPanel 235px */
flex: 0 0 235px;
}
.mx_LeftPanel_container.mx_LeftPanel_container_hasTagPanel {
/* TagPanel 60px + LeftPanel 235px */
flex: 0 0 295px;
}
.mx_LeftPanel_container_collapsed {
/* Collapsed LeftPanel 60px */
flex: 0 0 60px;
}
.mx_LeftPanel_container_collapsed.mx_LeftPanel_container_hasTagPanel {
/* TagPanel 60px + Collapsed LeftPanel 60px */
flex: 0 0 120px;
}
.mx_LeftPanel_hideButton {
position: absolute;
top: 10px;

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