From 5cd4d82477575435e176868e88cb6fc5af31f72d Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Thu, 28 Oct 2021 14:48:53 -0300 Subject: [PATCH] Merge 4.21.0 into master (#3467) --- .prettierignore | 1 + .../__snapshots__/Storyshots.test.js.snap | 12912 +++++++++++----- android/app/build.gradle | 5 +- android/app/src/main/AndroidManifest.xml | 1 - .../rocket/reactnative/MainApplication.java | 9 +- .../generated/BasePackageList.java | 1 - android/build.gradle | 8 +- android/settings.gradle | 2 - app/actions/actionsTypes.js | 2 - app/actions/rooms.js | 12 - app/constants/constantDisplayMode.js | 2 + app/containers/ActionSheet/ActionSheet.tsx | 7 +- app/containers/Avatar/Avatar.tsx | 2 +- app/containers/FormContainer.tsx | 10 +- app/containers/TextInput.tsx | 52 +- app/containers/markdown/AtMention.tsx | 15 +- app/containers/markdown/Hashtag.tsx | 17 +- app/containers/markdown/index.tsx | 64 +- app/containers/markdown/new/BigEmoji.tsx | 25 + app/containers/markdown/new/Bold.tsx | 40 + app/containers/markdown/new/Code.tsx | 39 + app/containers/markdown/new/CodeLine.tsx | 17 + app/containers/markdown/new/Emoji.tsx | 29 + app/containers/markdown/new/Heading.tsx | 32 + app/containers/markdown/new/Image.tsx | 41 + app/containers/markdown/new/Inline.tsx | 64 + app/containers/markdown/new/InlineCode.tsx | 38 + app/containers/markdown/new/Italic.tsx | 39 + app/containers/markdown/new/Link.tsx | 60 + .../markdown/new/MarkdownContext.ts | 29 + app/containers/markdown/new/OrderedList.tsx | 28 + app/containers/markdown/new/Paragraph.tsx | 23 + app/containers/markdown/new/Plain.tsx | 22 + app/containers/markdown/new/Quote.tsx | 28 + app/containers/markdown/new/Strike.tsx | 39 + app/containers/markdown/new/TaskList.tsx | 28 + app/containers/markdown/new/UnorderedList.tsx | 28 + app/containers/markdown/new/index.tsx | 77 + app/containers/markdown/styles.ts | 13 +- app/containers/message/Content.tsx | 5 + app/containers/message/index.tsx | 4 +- app/containers/message/interfaces.ts | 13 +- app/containers/message/styles.ts | 1 - app/ee/omnichannel/views/QueueListView.js | 14 +- app/i18n/locales/af.json | 1 + app/i18n/locales/ar.json | 1315 +- app/i18n/locales/az.json | 1 + app/i18n/locales/bas-CM.json | 1 + app/i18n/locales/be-BY.json | 1 + app/i18n/locales/bg.json | 1 + app/i18n/locales/bn-BD.json | 1 + app/i18n/locales/bn-IN.json | 1 + app/i18n/locales/bs.json | 1 + app/i18n/locales/ca.json | 1 + app/i18n/locales/cs.json | 1 + app/i18n/locales/cy.json | 1 + app/i18n/locales/da.json | 1 + app/i18n/locales/de-AT.json | 1 + app/i18n/locales/de.json | 1541 +- app/i18n/locales/el.json | 1 + app/i18n/locales/en.json | 1569 +- app/i18n/locales/eo.json | 1 + app/i18n/locales/es-ES.json | 897 +- app/i18n/locales/et.json | 1 + app/i18n/locales/eu.json | 1 + app/i18n/locales/fa.json | 1 + app/i18n/locales/fi.json | 1 + app/i18n/locales/fr.json | 1560 +- app/i18n/locales/gl.json | 1 + app/i18n/locales/he.json | 1 + app/i18n/locales/hi-IN.json | 1 + app/i18n/locales/hr.json | 1 + app/i18n/locales/hu.json | 1 + app/i18n/locales/id.json | 1 + app/i18n/locales/it.json | 1393 +- app/i18n/locales/ja.json | 973 +- app/i18n/locales/ka-GE.json | 1 + app/i18n/locales/kg.json | 1 + app/i18n/locales/km.json | 1 + app/i18n/locales/ko.json | 1 + app/i18n/locales/ku.json | 1 + app/i18n/locales/ln.json | 1 + app/i18n/locales/lo.json | 1 + app/i18n/locales/lt.json | 1 + app/i18n/locales/lv.json | 1 + app/i18n/locales/mn.json | 1 + app/i18n/locales/ms-MY.json | 1 + app/i18n/locales/nl.json | 1560 +- app/i18n/locales/no.json | 1 + app/i18n/locales/pl.json | 1 + app/i18n/locales/pt-BR.json | 1419 +- app/i18n/locales/pt-PT.json | 1032 +- app/i18n/locales/ro.json | 1 + app/i18n/locales/ru.json | 1560 +- app/i18n/locales/si.json | 1 + app/i18n/locales/sk-SK.json | 1 + app/i18n/locales/sl-SI.json | 1 + app/i18n/locales/sq.json | 1 + app/i18n/locales/sr.json | 1 + app/i18n/locales/sv.json | 1 + app/i18n/locales/ta-IN.json | 1 + app/i18n/locales/th-TH.json | 1 + app/i18n/locales/tr.json | 1393 +- app/i18n/locales/ug.json | 1 + app/i18n/locales/uk.json | 1 + app/i18n/locales/vi-VN.json | 1 + app/i18n/locales/zh-CN.json | 1351 +- app/i18n/locales/zh-HK.json | 1 + app/i18n/locales/zh-TW.json | 1357 +- app/lib/database/index.js | 9 +- app/lib/database/model/Message.js | 2 + app/lib/database/model/migrations.js | 9 + app/lib/database/model/servers/User.js | 2 + app/lib/database/model/servers/migrations.js | 9 + app/lib/database/schema/app.js | 5 +- app/lib/database/schema/servers.js | 5 +- app/lib/methods/getPermissions.js | 4 + app/lib/rocketchat.js | 42 +- .../ImageViewer/ImageViewer.android.tsx | 8 +- app/presentation/RoomItem/Actions.tsx | 153 +- app/presentation/RoomItem/IconOrAvatar.js | 63 + app/presentation/RoomItem/LastMessage.tsx | 1 + app/presentation/RoomItem/RoomItem.tsx | 61 +- app/presentation/RoomItem/Touchable.tsx | 5 +- app/presentation/RoomItem/TypeIcon.tsx | 13 +- app/presentation/RoomItem/Wrapper.tsx | 23 +- app/presentation/RoomItem/index.tsx | 26 +- app/presentation/RoomItem/styles.ts | 25 +- app/presentation/TextInput.tsx | 4 +- app/reducers/rooms.js | 11 - app/reducers/sortPreferences.js | 5 +- app/sagas/createChannel.js | 2 +- app/sagas/deepLinking.js | 15 +- app/sagas/login.js | 3 - app/stacks/InsideStack.js | 16 + app/stacks/MasterDetailStack/index.js | 2 + app/stacks/OutsideStack.js | 6 + app/theme.tsx | 6 +- app/utils/log/events.js | 20 +- app/utils/scaling.js | 11 - app/utils/scaling.ts | 16 + ...AuthLoadingView.js => AuthLoadingView.tsx} | 19 +- ...onWebView.js => AuthenticationWebView.tsx} | 66 +- app/views/CreateChannelView.js | 56 +- app/views/DisplayPrefsView.js | 192 + .../InviteUsersView/{index.js => index.tsx} | 45 +- .../InviteUsersView/{styles.js => styles.ts} | 0 app/views/{LegalView.js => LegalView.tsx} | 22 +- app/views/{LoginView.js => LoginView.tsx} | 75 +- app/views/NewMessageView.js | 102 +- .../ServerInput/{Item.js => Item.tsx} | 20 +- .../ServerInput/{index.js => index.tsx} | 33 +- .../NewServerView/{index.js => index.tsx} | 128 +- app/views/ReadReceiptView/index.js | 56 +- app/views/ReadReceiptView/styles.js | 13 + .../{RegisterView.js => RegisterView.tsx} | 84 +- app/views/RoomMembersView/index.js | 3 +- app/views/RoomView/List/index.js | 15 +- app/views/RoomView/RightButtons.js | 12 +- app/views/RoomView/index.js | 22 +- app/views/RoomsListView/Header/index.js | 18 +- app/views/RoomsListView/ListHeader/index.js | 14 +- app/views/RoomsListView/SortDropdown/index.js | 207 - app/views/RoomsListView/index.js | 188 +- app/views/SearchMessagesView/index.js | 52 +- app/views/SendEmailConfirmationView.tsx | 94 + .../SettingsView/{index.js => index.tsx} | 56 +- app/views/SidebarView/index.js | 7 + app/views/TeamChannelsView.js | 12 +- app/views/UserPreferencesView/index.js | 91 +- .../{ServerAvatar.js => ServerAvatar.tsx} | 26 +- .../WorkspaceView/{index.js => index.tsx} | 40 +- .../WorkspaceView/{styles.js => styles.ts} | 0 babel.config.js | 2 +- e2e/data.js | 3 + e2e/data/data.docker.js | 3 + e2e/helpers/data_setup.js | 5 +- e2e/tests/assorted/11-deeplinking.spec.js | 20 +- e2e/tests/assorted/13-display-pref.spec.js | 96 + .../NotificationService-Bridging-Header.h | 7 + ios/Podfile | 2 + ios/Podfile.lock | 190 +- ios/RocketChatRN.xcodeproj/project.pbxproj | 548 +- ios/RocketChatRN/Info.plist | 2 +- ios/ShareRocketChatRN/Info.plist | 2 +- package.json | 27 +- ...patch => @nozbe+watermelondb+0.23.0.patch} | 64 +- ...xpo-av+8.2.1.patch => expo-av+9.2.3.patch} | 0 ...eact-native-image-crop-picker+0.31.1.patch | 12 - patches/react-native-reanimated+2.2.2.patch | 3385 ++++ react-native.config.js | 6 - storybook/stories/Markdown.js | 18 + storybook/stories/NewMarkdown.js | 693 + storybook/stories/RoomItem.js | 57 + storybook/stories/index.js | 1 + yarn.lock | 1136 +- 196 files changed, 26479 insertions(+), 15019 deletions(-) create mode 100644 app/constants/constantDisplayMode.js create mode 100644 app/containers/markdown/new/BigEmoji.tsx create mode 100644 app/containers/markdown/new/Bold.tsx create mode 100644 app/containers/markdown/new/Code.tsx create mode 100644 app/containers/markdown/new/CodeLine.tsx create mode 100644 app/containers/markdown/new/Emoji.tsx create mode 100644 app/containers/markdown/new/Heading.tsx create mode 100644 app/containers/markdown/new/Image.tsx create mode 100644 app/containers/markdown/new/Inline.tsx create mode 100644 app/containers/markdown/new/InlineCode.tsx create mode 100644 app/containers/markdown/new/Italic.tsx create mode 100644 app/containers/markdown/new/Link.tsx create mode 100644 app/containers/markdown/new/MarkdownContext.ts create mode 100644 app/containers/markdown/new/OrderedList.tsx create mode 100644 app/containers/markdown/new/Paragraph.tsx create mode 100644 app/containers/markdown/new/Plain.tsx create mode 100644 app/containers/markdown/new/Quote.tsx create mode 100644 app/containers/markdown/new/Strike.tsx create mode 100644 app/containers/markdown/new/TaskList.tsx create mode 100644 app/containers/markdown/new/UnorderedList.tsx create mode 100644 app/containers/markdown/new/index.tsx create mode 100644 app/i18n/locales/af.json create mode 100644 app/i18n/locales/az.json create mode 100644 app/i18n/locales/bas-CM.json create mode 100644 app/i18n/locales/be-BY.json create mode 100644 app/i18n/locales/bg.json create mode 100644 app/i18n/locales/bn-BD.json create mode 100644 app/i18n/locales/bn-IN.json create mode 100644 app/i18n/locales/bs.json create mode 100644 app/i18n/locales/ca.json create mode 100644 app/i18n/locales/cs.json create mode 100644 app/i18n/locales/cy.json create mode 100644 app/i18n/locales/da.json create mode 100644 app/i18n/locales/de-AT.json create mode 100644 app/i18n/locales/el.json create mode 100644 app/i18n/locales/eo.json create mode 100644 app/i18n/locales/et.json create mode 100644 app/i18n/locales/eu.json create mode 100644 app/i18n/locales/fa.json create mode 100644 app/i18n/locales/fi.json create mode 100644 app/i18n/locales/gl.json create mode 100644 app/i18n/locales/he.json create mode 100644 app/i18n/locales/hi-IN.json create mode 100644 app/i18n/locales/hr.json create mode 100644 app/i18n/locales/hu.json create mode 100644 app/i18n/locales/id.json create mode 100644 app/i18n/locales/ka-GE.json create mode 100644 app/i18n/locales/kg.json create mode 100644 app/i18n/locales/km.json create mode 100644 app/i18n/locales/ko.json create mode 100644 app/i18n/locales/ku.json create mode 100644 app/i18n/locales/ln.json create mode 100644 app/i18n/locales/lo.json create mode 100644 app/i18n/locales/lt.json create mode 100644 app/i18n/locales/lv.json create mode 100644 app/i18n/locales/mn.json create mode 100644 app/i18n/locales/ms-MY.json create mode 100644 app/i18n/locales/no.json create mode 100644 app/i18n/locales/pl.json create mode 100644 app/i18n/locales/ro.json create mode 100644 app/i18n/locales/si.json create mode 100644 app/i18n/locales/sk-SK.json create mode 100644 app/i18n/locales/sl-SI.json create mode 100644 app/i18n/locales/sq.json create mode 100644 app/i18n/locales/sr.json create mode 100644 app/i18n/locales/sv.json create mode 100644 app/i18n/locales/ta-IN.json create mode 100644 app/i18n/locales/th-TH.json create mode 100644 app/i18n/locales/ug.json create mode 100644 app/i18n/locales/uk.json create mode 100644 app/i18n/locales/vi-VN.json create mode 100644 app/i18n/locales/zh-HK.json create mode 100644 app/presentation/RoomItem/IconOrAvatar.js delete mode 100644 app/utils/scaling.js create mode 100644 app/utils/scaling.ts rename app/views/{AuthLoadingView.js => AuthLoadingView.tsx} (81%) rename app/views/{AuthenticationWebView.js => AuthenticationWebView.tsx} (79%) create mode 100644 app/views/DisplayPrefsView.js rename app/views/InviteUsersView/{index.js => index.tsx} (80%) rename app/views/InviteUsersView/{styles.js => styles.ts} (100%) rename app/views/{LegalView.js => LegalView.tsx} (77%) rename app/views/{LoginView.js => LoginView.tsx} (79%) rename app/views/NewServerView/ServerInput/{Item.js => Item.tsx} (79%) rename app/views/NewServerView/ServerInput/{index.js => index.tsx} (78%) rename app/views/NewServerView/{index.js => index.tsx} (74%) rename app/views/{RegisterView.js => RegisterView.tsx} (82%) delete mode 100644 app/views/RoomsListView/SortDropdown/index.js create mode 100644 app/views/SendEmailConfirmationView.tsx rename app/views/SettingsView/{index.js => index.tsx} (88%) rename app/views/WorkspaceView/{ServerAvatar.js => ServerAvatar.tsx} (80%) rename app/views/WorkspaceView/{index.js => index.tsx} (81%) rename app/views/WorkspaceView/{styles.js => styles.ts} (100%) create mode 100644 e2e/tests/assorted/13-display-pref.spec.js rename patches/{@nozbe+watermelondb+0.19.0.patch => @nozbe+watermelondb+0.23.0.patch} (61%) rename patches/{expo-av+8.2.1.patch => expo-av+9.2.3.patch} (100%) delete mode 100644 patches/react-native-image-crop-picker+0.31.1.patch create mode 100644 patches/react-native-reanimated+2.2.2.patch create mode 100644 storybook/stories/NewMarkdown.js diff --git a/.prettierignore b/.prettierignore index 16e40ac82..ceb321b67 100644 --- a/.prettierignore +++ b/.prettierignore @@ -23,3 +23,4 @@ SECURITY.md npm-debug.log yarn-error.log +app/i18n/locales/ diff --git a/__tests__/__snapshots__/Storyshots.test.js.snap b/__tests__/__snapshots__/Storyshots.test.js.snap index 0ad82c0d0..62fa05a82 100644 --- a/__tests__/__snapshots__/Storyshots.test.js.snap +++ b/__tests__/__snapshots__/Storyshots.test.js.snap @@ -12,6 +12,7 @@ exports[`Storyshots Avatar Avatar by path 1`] = ` undefined, ] } + testID="avatar" > Testing: 😃 👍 :marioparty: + + Fallback from new md to old + `; @@ -19071,6 +19131,7 @@ exports[`Storyshots Message Archived 1`] = ` }, ] } + testID="avatar" > `; +exports[`Storyshots NewMarkdown Block quote 1`] = ` + + + + + + + + Rocket.Chat to the moon + + + + + + + + + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + + + +`; + +exports[`Storyshots NewMarkdown Code 1`] = ` + + + + + + inline code + + + + + + + Multi +Line +Code + + + +`; + +exports[`Storyshots NewMarkdown Emoji 1`] = ` + + + + 💚 + + + 😂 + + + 😁 + + + + + + 🚀 + + + 🤦 + + + + + + + + + + +`; + +exports[`Storyshots NewMarkdown Hashtag 1`] = ` + + + + + #text_channel + + + and + + + #not_a_channel + + + + +`; + +exports[`Storyshots NewMarkdown Headers 1`] = ` + + + # Header 1 + + + ## Header 2 + + + ### Header 3 + + + #### Header 4 + + + ##### Header 5 + + + ###### Header 6 + + +`; + +exports[`Storyshots NewMarkdown Links 1`] = ` + + + + + https://rocket.chat + + + + + + + Markdown link + + + + +`; + +exports[`Storyshots NewMarkdown Lists 1`] = ` + + + + + - + + + + Plain text + + + 💡 + + + + italic + + + + + bold + + + + + strike + + + + #general + + + link + + + rocket.cat + + + + inline code + + + + + + + - + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + + + + + 1 + . + + + + Plain text + + + 💡 + + + + italic + + + + + bold + + + + + strike + + + + #general + + + link + + + rocket.cat + + + + inline code + + + + + + + 2 + . + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + + + + + - [x] + + + + Plain text + + + 💡 + + + + italic + + + + + bold + + + + + strike + + + + #general + + + link + + + rocket.cat + + + + inline code + + + + + + + - [ ] + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + + +`; + +exports[`Storyshots NewMarkdown Mentions 1`] = ` + + + + + rocket.cat + + + + + + + name + + + + + + rocket.cat + + + + + + here + + + + + + all + + + + +`; + +exports[`Storyshots NewMarkdown Text 1`] = ` + + + + + This is Rocket.Chat + + + + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + + + + a + + + b + + + c + + + + + + d + + + + + + + + + e + + + + + + + a b c + + + + + + + This is Rocket.Chat + + + + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + +`; + exports[`Storyshots Room Item Alerts 1`] = ` - - Read -  - - Favorite -  - - Hide - @@ -50501,13 +52803,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -50517,7 +52819,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -50563,421 +52867,15 @@ exports[`Storyshots Room Item Alerts 1`] = ` > rocket.cat - - - - - - - - - - - - -  - - - Read - - - - - - - -  - - - Favorite - - - - -  - - - Hide - - - - - - - - - - - - - -  - - - unread - - 1 + 10:00 @@ -51044,13 +52953,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -51330,13 +53190,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -51346,7 +53206,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -51394,25 +53256,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - +999 + 10:00 + + + 1 + + @@ -51479,13 +53381,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -51765,13 +53618,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -51781,7 +53634,437 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, + ], + Object { + "color": "#cbced1", + }, + ], + ], + Object { + "fontFamily": "custom", + "fontStyle": "normal", + "fontWeight": "normal", + }, + Object {}, + ] + } + > +  + + + unread + + + + 10:00 + + + + +999 + + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + + + + + + - 1 + 10:00 + + + 1 + + @@ -51914,13 +54237,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -52200,13 +54474,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -52216,7 +54490,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -52264,25 +54540,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -52349,13 +54665,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -52635,13 +54902,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -52651,7 +54918,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -52699,25 +54968,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -52784,13 +55093,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -53070,13 +55330,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -53086,7 +55346,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -53134,25 +55396,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -53219,13 +55521,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -53505,13 +55758,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -53521,7 +55774,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -53569,25 +55824,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -53654,13 +55949,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -53940,13 +56186,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -53956,7 +56202,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -54004,25 +56252,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -54089,13 +56377,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -54375,13 +56614,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -54391,7 +56630,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -54439,25 +56680,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -54524,13 +56805,16 @@ exports[`Storyshots Room Item Alerts 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -54810,13 +57042,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -54826,7 +57058,9 @@ exports[`Storyshots Room Item Alerts 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -54874,25 +57108,13 @@ exports[`Storyshots Room Item Alerts 1`] = ` - 1 + 10:00 + + + 1 + + @@ -54972,13 +57246,16 @@ exports[`Storyshots Room Item Basic 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -55258,13 +57483,13 @@ exports[`Storyshots Room Item Basic 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -55274,7 +57499,9 @@ exports[`Storyshots Room Item Basic 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -55315,6 +57542,3631 @@ exports[`Storyshots Room Item Basic 1`] = ` > rocket.cat + + + 10:00 + + + + + + + + + + +`; + +exports[`Storyshots Room Item Condensed Room Item 1`] = ` + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + + + + + + +  + + + rocket.cat + + + + 10:00 + + + + 1 + + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + + + + + + +  + + + unread + + + + 10:00 + + + + +999 + + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + + + + + + +  + + + rocket.cat + + + + Auto-join + + + + + 10:00 + + + + + + + + + + +`; + +exports[`Storyshots Room Item Condensed Room Item without Avatar 1`] = ` + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + +  + + + rocket.cat + + + + 10:00 + + + + 1 + + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + +  + + + rocket.cat + + + + 10:00 + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + + +  + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + Auto-join + + + + + 10:00 + + + + + + + + + + +`; + +exports[`Storyshots Room Item Expanded Room Item without Avatar 1`] = ` + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + +  + + + + + + rocket.cat + + + 10:00 + + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + 1 + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + +  + + + + + + rocket.cat + + + 10:00 + + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + + 1 + + + + + + + + + + + + + + +  + + + + + + + +  + + + + +  + + + + + + + +  + + + + + + rocket.cat + + + 10:00 + + + + + Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + @@ -55374,13 +61226,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -55773,6 +61576,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > No Message @@ -55822,13 +61626,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -56221,6 +61976,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > 2 @@ -56270,13 +62026,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -56669,6 +62376,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > You: 1 @@ -56718,13 +62426,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -57117,6 +62776,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries @@ -57166,13 +62826,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -57580,6 +63191,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries @@ -57670,13 +63282,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -58084,6 +63647,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries @@ -58174,13 +63738,16 @@ exports[`Storyshots Room Item Last Message 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -58588,6 +64103,7 @@ exports[`Storyshots Room Item Last Message 1`] = ` }, ] } + testID="room-item-last-message" > Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries @@ -58691,13 +64207,16 @@ exports[`Storyshots Room Item Tag 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -58977,13 +64444,13 @@ exports[`Storyshots Room Item Tag 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -58993,7 +64460,9 @@ exports[`Storyshots Room Item Tag 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -59070,6 +64539,36 @@ exports[`Storyshots Room Item Tag 1`] = ` Auto-join + + + 10:00 + + @@ -59116,13 +64615,16 @@ exports[`Storyshots Room Item Tag 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -59552,6 +65002,7 @@ exports[`Storyshots Room Item Tag 1`] = ` }, ] } + testID="room-item-last-message" > No Message @@ -59601,13 +65052,16 @@ exports[`Storyshots Room Item Tag 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -59887,13 +65289,13 @@ exports[`Storyshots Room Item Tag 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -59903,7 +65305,9 @@ exports[`Storyshots Room Item Tag 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -59980,6 +65384,36 @@ exports[`Storyshots Room Item Tag 1`] = ` Auto-join + + + 10:00 + + @@ -60026,13 +65460,16 @@ exports[`Storyshots Room Item Tag 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -60462,6 +65847,7 @@ exports[`Storyshots Room Item Tag 1`] = ` }, ] } + testID="room-item-last-message" > No Message @@ -60524,13 +65910,16 @@ exports[`Storyshots Room Item Touch 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -60810,13 +66147,13 @@ exports[`Storyshots Room Item Touch 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -60826,7 +66163,9 @@ exports[`Storyshots Room Item Touch 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -60867,6 +66206,36 @@ exports[`Storyshots Room Item Touch 1`] = ` > rocket.cat + + + 10:00 + + @@ -60926,13 +66295,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -61212,13 +66532,13 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -61228,7 +66548,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -61269,6 +66591,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -61315,13 +66667,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -61601,7 +66904,7 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": undefined, - "fontSize": 16, + "fontSize": 22, }, Array [ Object { @@ -61610,7 +66913,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "fontFamily": "custom", @@ -61646,6 +66951,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -61692,13 +67027,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -61978,7 +67264,7 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": undefined, - "fontSize": 16, + "fontSize": 22, }, Array [ Object { @@ -61987,7 +67273,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "fontFamily": "custom", @@ -62023,6 +67311,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -62069,13 +67387,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -62355,7 +67624,7 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": undefined, - "fontSize": 16, + "fontSize": 22, }, Array [ Object { @@ -62364,7 +67633,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "fontFamily": "custom", @@ -62400,6 +67671,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -62446,13 +67747,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -62732,7 +67984,7 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": undefined, - "fontSize": 16, + "fontSize": 22, }, Array [ Object { @@ -62741,7 +67993,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "fontFamily": "custom", @@ -62777,6 +68031,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -62823,13 +68107,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -63109,7 +68344,7 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": undefined, - "fontSize": 16, + "fontSize": 22, }, Array [ Object { @@ -63118,7 +68353,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "fontFamily": "custom", @@ -63154,6 +68391,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -63200,13 +68467,16 @@ exports[`Storyshots Room Item Type 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -63486,7 +68704,7 @@ exports[`Storyshots Room Item Type 1`] = ` Array [ Object { "color": undefined, - "fontSize": 16, + "fontSize": 22, }, Array [ Object { @@ -63495,7 +68713,9 @@ exports[`Storyshots Room Item Type 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "fontFamily": "custom", @@ -63531,6 +68751,36 @@ exports[`Storyshots Room Item Type 1`] = ` > rocket.cat + + + 10:00 + + @@ -63590,13 +68840,16 @@ exports[`Storyshots Room Item User 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -63876,13 +69077,13 @@ exports[`Storyshots Room Item User 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -63892,7 +69093,9 @@ exports[`Storyshots Room Item User 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -63933,6 +69136,36 @@ exports[`Storyshots Room Item User 1`] = ` > diego.mello + + + 10:00 + + @@ -63979,13 +69212,16 @@ exports[`Storyshots Room Item User 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -64265,13 +69449,13 @@ exports[`Storyshots Room Item User 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -64281,7 +69465,9 @@ exports[`Storyshots Room Item User 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -64322,6 +69508,36 @@ exports[`Storyshots Room Item User 1`] = ` > Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries + + + 10:00 + + @@ -64381,13 +69597,16 @@ exports[`Storyshots Room Item User status 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -64667,13 +69834,13 @@ exports[`Storyshots Room Item User status 1`] = ` Array [ Object { "color": "#2de0a5", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -64683,7 +69850,9 @@ exports[`Storyshots Room Item User status 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#2de0a5", @@ -64724,6 +69893,36 @@ exports[`Storyshots Room Item User status 1`] = ` > rocket.cat + + + 10:00 + + @@ -64770,13 +69969,16 @@ exports[`Storyshots Room Item User status 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -65056,13 +70206,13 @@ exports[`Storyshots Room Item User status 1`] = ` Array [ Object { "color": "#ffd21f", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -65072,7 +70222,9 @@ exports[`Storyshots Room Item User status 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#ffd21f", @@ -65113,6 +70265,36 @@ exports[`Storyshots Room Item User status 1`] = ` > rocket.cat + + + 10:00 + + @@ -65159,13 +70341,16 @@ exports[`Storyshots Room Item User status 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -65445,13 +70578,13 @@ exports[`Storyshots Room Item User status 1`] = ` Array [ Object { "color": "#f5455c", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -65461,7 +70594,9 @@ exports[`Storyshots Room Item User status 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#f5455c", @@ -65502,6 +70637,36 @@ exports[`Storyshots Room Item User status 1`] = ` > rocket.cat + + + 10:00 + + @@ -65548,13 +70713,16 @@ exports[`Storyshots Room Item User status 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -65834,13 +70950,13 @@ exports[`Storyshots Room Item User status 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -65850,7 +70966,9 @@ exports[`Storyshots Room Item User status 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -65891,6 +71009,36 @@ exports[`Storyshots Room Item User status 1`] = ` > rocket.cat + + + 10:00 + + @@ -65937,13 +71085,16 @@ exports[`Storyshots Room Item User status 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -66223,13 +71322,13 @@ exports[`Storyshots Room Item User status 1`] = ` Array [ Object { "color": "#9ea2a8", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -66239,7 +71338,9 @@ exports[`Storyshots Room Item User status 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#9ea2a8", @@ -66280,6 +71381,36 @@ exports[`Storyshots Room Item User status 1`] = ` > rocket.cat + + + 10:00 + + @@ -66326,13 +71457,16 @@ exports[`Storyshots Room Item User status 1`] = ` > - - Read -  - - Favorite -  - - Hide - @@ -66612,13 +71694,13 @@ exports[`Storyshots Room Item User status 1`] = ` Array [ Object { "color": "#cbced1", - "fontSize": 16, + "fontSize": 22, }, Array [ Object { - "height": 16, + "height": 22, "textAlignVertical": "center", - "width": 16, + "width": 22, }, Array [ Array [ @@ -66628,7 +71710,9 @@ exports[`Storyshots Room Item User status 1`] = ` Object { "color": "#0d0e12", }, - undefined, + Object { + "marginRight": 8, + }, ], Object { "color": "#cbced1", @@ -66669,6 +71753,36 @@ exports[`Storyshots Room Item User status 1`] = ` > rocket.cat + + + 10:00 + + @@ -72024,8 +77138,6 @@ exports[`Storyshots Text Input Short and Long Text 1`] = ` } > - getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List packages = new PackageList(this).getPackages(); - packages.add(new WatermelonDBPackage()); packages.add(new RNCViewPagerPackage()); packages.add(new SSLPinningPackage()); List unimodules = Arrays.asList( @@ -52,6 +52,11 @@ public class MainApplication extends Application implements ReactApplication { return "index"; } + @Override + protected JSIModulePackage getJSIModulePackage() { + return new ReanimatedJSIModulePackage(); // <- add + } + @Override protected @Nullable String getBundleAssetName() { return "app.bundle"; diff --git a/android/app/src/main/java/chat/rocket/reactnative/generated/BasePackageList.java b/android/app/src/main/java/chat/rocket/reactnative/generated/BasePackageList.java index 724f732ae..8143f5969 100644 --- a/android/app/src/main/java/chat/rocket/reactnative/generated/BasePackageList.java +++ b/android/app/src/main/java/chat/rocket/reactnative/generated/BasePackageList.java @@ -14,7 +14,6 @@ public class BasePackageList { new expo.modules.imageloader.ImageLoaderPackage(), new expo.modules.keepawake.KeepAwakePackage(), new expo.modules.localauthentication.LocalAuthenticationPackage(), - new expo.modules.permissions.PermissionsPackage(), new expo.modules.videothumbnails.VideoThumbnailsPackage(), new expo.modules.webbrowser.WebBrowserPackage() ); diff --git a/android/build.gradle b/android/build.gradle index 8c987ef86..31650a07c 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -10,8 +10,8 @@ buildscript { ext { buildToolsVersion = "29.0.3" minSdkVersion = 23 - compileSdkVersion = 29 - targetSdkVersion = 29 + compileSdkVersion = 30 + targetSdkVersion = 30 ndkVersion = "20.1.5948944" glideVersion = "4.11.0" kotlin_version = "1.3.50" @@ -68,10 +68,10 @@ subprojects { subproject -> afterEvaluate { if ((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { android { - compileSdkVersion 29 + compileSdkVersion 30 buildToolsVersion "29.0.3" defaultConfig { - targetSdkVersion 29 + targetSdkVersion 30 } variantFilter { variant -> def names = variant.flavors*.name diff --git a/android/settings.gradle b/android/settings.gradle index d50ac2137..98573a99f 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -2,8 +2,6 @@ apply from: '../node_modules/react-native-unimodules/gradle.groovy' includeUnimodulesProjects() rootProject.name = 'RocketChatRN' -include ':watermelondb' -project(':watermelondb').projectDir = new File(rootProject.projectDir, '../node_modules/@nozbe/watermelondb/native/android') include ':reactnativenotifications' project(':reactnativenotifications').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-notifications/android/app') include ':@react-native-community_viewpager' diff --git a/app/actions/actionsTypes.js b/app/actions/actionsTypes.js index fcf881fd3..852ce83ea 100644 --- a/app/actions/actionsTypes.js +++ b/app/actions/actionsTypes.js @@ -18,8 +18,6 @@ export const ROOMS = createRequestTypes('ROOMS', [ 'SET_SEARCH', 'CLOSE_SERVER_DROPDOWN', 'TOGGLE_SERVER_DROPDOWN', - 'CLOSE_SORT_DROPDOWN', - 'TOGGLE_SORT_DROPDOWN', 'OPEN_SEARCH_HEADER', 'CLOSE_SEARCH_HEADER' ]); diff --git a/app/actions/rooms.js b/app/actions/rooms.js index 63e095cea..0f708f8cf 100644 --- a/app/actions/rooms.js +++ b/app/actions/rooms.js @@ -45,18 +45,6 @@ export function toggleServerDropdown() { }; } -export function closeSortDropdown() { - return { - type: types.ROOMS.CLOSE_SORT_DROPDOWN - }; -} - -export function toggleSortDropdown() { - return { - type: types.ROOMS.TOGGLE_SORT_DROPDOWN - }; -} - export function openSearchHeader() { return { type: types.ROOMS.OPEN_SEARCH_HEADER diff --git a/app/constants/constantDisplayMode.js b/app/constants/constantDisplayMode.js new file mode 100644 index 000000000..d7d7e1d53 --- /dev/null +++ b/app/constants/constantDisplayMode.js @@ -0,0 +1,2 @@ +export const DISPLAY_MODE_CONDENSED = 'condensed'; +export const DISPLAY_MODE_EXPANDED = 'expanded'; diff --git a/app/containers/ActionSheet/ActionSheet.tsx b/app/containers/ActionSheet/ActionSheet.tsx index f926f01e7..35e69c700 100644 --- a/app/containers/ActionSheet/ActionSheet.tsx +++ b/app/containers/ActionSheet/ActionSheet.tsx @@ -3,7 +3,7 @@ import { Keyboard, Text } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { State, TapGestureHandler } from 'react-native-gesture-handler'; import ScrollBottomSheet from 'react-native-scroll-bottom-sheet'; -import Animated, { Easing, Extrapolate, Value, interpolate } from 'react-native-reanimated'; +import Animated, { Easing, Extrapolate, Value, interpolateNode } from 'react-native-reanimated'; import * as Haptics from 'expo-haptics'; import { useBackHandler } from '@react-native-community/hooks'; @@ -132,11 +132,12 @@ const ActionSheet = React.memo( const renderItem = ({ item }: any) => ; const animatedPosition = React.useRef(new Value(0)); - const opacity = interpolate(animatedPosition.current, { + // TODO: Similar to https://github.com/wcandillon/react-native-redash/issues/307#issuecomment-827442320 + const opacity = interpolateNode(animatedPosition.current, { inputRange: [0, 1], outputRange: [0, themes[theme].backdropOpacity], extrapolate: Extrapolate.CLAMP - }); + }) as any; return ( <> diff --git a/app/containers/Avatar/Avatar.tsx b/app/containers/Avatar/Avatar.tsx index e35f0f589..286bcc060 100644 --- a/app/containers/Avatar/Avatar.tsx +++ b/app/containers/Avatar/Avatar.tsx @@ -85,7 +85,7 @@ const Avatar = React.memo( } return ( - + {image} {children} diff --git a/app/containers/FormContainer.tsx b/app/containers/FormContainer.tsx index 522bf489e..3a784b38c 100644 --- a/app/containers/FormContainer.tsx +++ b/app/containers/FormContainer.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { ScrollView, StyleSheet, View } from 'react-native'; +import { ScrollView, ScrollViewProps, StyleSheet, View } from 'react-native'; import { themes } from '../constants/colors'; import sharedStyles from '../views/Styles'; @@ -10,10 +10,10 @@ import AppVersion from './AppVersion'; import { isTablet } from '../utils/deviceInfo'; import SafeAreaView from './SafeAreaView'; -interface IFormContainer { +interface IFormContainer extends ScrollViewProps { theme: string; testID: string; - children: JSX.Element; + children: React.ReactNode; } const styles = StyleSheet.create({ @@ -22,11 +22,11 @@ const styles = StyleSheet.create({ } }); -export const FormContainerInner = ({ children }: { children: JSX.Element }) => ( +export const FormContainerInner = ({ children }: { children: React.ReactNode }): JSX.Element => ( {children} ); -const FormContainer = ({ children, theme, testID, ...props }: IFormContainer) => ( +const FormContainer = ({ children, theme, testID, ...props }: IFormContainer): JSX.Element => ( // @ts-ignore ; + inputStyle?: TextStyle; + inputRef?: React.Ref; + testID?: string; + iconLeft?: string; + iconRight?: string; + left?: JSX.Element; + onIconRightPress?(): void; theme: string; } @@ -95,9 +93,9 @@ export default class RCTextInput extends React.PureComponent + - + ); } @@ -105,14 +103,14 @@ export default class RCTextInput extends React.PureComponent + - + ); } @@ -148,17 +146,10 @@ export default class RCTextInput extends React.PureComponent {label ? ( - - {label} - + {label} ) : null} diff --git a/app/containers/markdown/AtMention.tsx b/app/containers/markdown/AtMention.tsx index ab6354994..689313257 100644 --- a/app/containers/markdown/AtMention.tsx +++ b/app/containers/markdown/AtMention.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { Text } from 'react-native'; +import { useTheme } from '../../theme'; import { themes } from '../../constants/colors'; import styles from './styles'; import { events, logEvent } from '../../utils/log'; @@ -9,20 +10,20 @@ interface IAtMention { mention: string; username: string; navToRoomInfo: Function; - style: any; + style?: any; useRealName: boolean; - theme: string; mentions: any; } -const AtMention = React.memo(({ mention, mentions, username, navToRoomInfo, style = [], useRealName, theme }: IAtMention) => { +const AtMention = React.memo(({ mention, mentions, username, navToRoomInfo, style = [], useRealName }: IAtMention) => { + const { theme } = useTheme(); if (mention === 'all' || mention === 'here') { return ( @@ -34,11 +35,11 @@ const AtMention = React.memo(({ mention, mentions, username, navToRoomInfo, styl let mentionStyle = {}; if (mention === username) { mentionStyle = { - color: themes[theme].mentionMeColor + color: themes[theme!].mentionMeColor }; } else { mentionStyle = { - color: themes[theme].mentionOtherColor + color: themes[theme!].mentionOtherColor }; } @@ -61,7 +62,7 @@ const AtMention = React.memo(({ mention, mentions, username, navToRoomInfo, styl ); } - return {`@${mention}`}; + return {`@${mention}`}; }); export default AtMention; diff --git a/app/containers/markdown/Hashtag.tsx b/app/containers/markdown/Hashtag.tsx index 872b8782a..b20794de5 100644 --- a/app/containers/markdown/Hashtag.tsx +++ b/app/containers/markdown/Hashtag.tsx @@ -1,23 +1,26 @@ import React from 'react'; -import { Text } from 'react-native'; +import { Text, TextStyle } from 'react-native'; import { themes } from '../../constants/colors'; +import { useTheme } from '../../theme'; import styles from './styles'; interface IHashtag { hashtag: string; navToRoomInfo: Function; - style: []; - theme: string; + style?: TextStyle[]; channels: { + [index: number]: string | number; name: string; _id: number; }[]; } -const Hashtag = React.memo(({ hashtag, channels, navToRoomInfo, style = [], theme }: IHashtag) => { +const Hashtag = React.memo(({ hashtag, channels, navToRoomInfo, style = [] }: IHashtag) => { + const { theme } = useTheme(); + const handlePress = () => { - const index = channels.findIndex(channel => channel.name === hashtag); + const index = channels?.findIndex(channel => channel.name === hashtag); const navParam = { t: 'c', rid: channels[index]._id @@ -31,7 +34,7 @@ const Hashtag = React.memo(({ hashtag, channels, navToRoomInfo, style = [], them style={[ styles.mention, { - color: themes[theme].mentionOtherColor + color: themes[theme!].mentionOtherColor }, ...style ]} @@ -40,7 +43,7 @@ const Hashtag = React.memo(({ hashtag, channels, navToRoomInfo, style = [], them ); } - return {`#${hashtag}`}; + return {`#${hashtag}`}; }); export default Hashtag; diff --git a/app/containers/markdown/index.tsx b/app/containers/markdown/index.tsx index d3ce8453e..f4800579b 100644 --- a/app/containers/markdown/index.tsx +++ b/app/containers/markdown/index.tsx @@ -3,6 +3,7 @@ import { Image, Text } from 'react-native'; import { Node, Parser } from 'commonmark'; import Renderer from 'commonmark-react-renderer'; import removeMarkdown from 'remove-markdown'; +import { MarkdownAST } from '@rocket.chat/message-parser'; import shortnameToUnicode from '../../utils/shortnameToUnicode'; import I18n from '../../i18n'; @@ -20,9 +21,20 @@ import MarkdownTableCell from './TableCell'; import mergeTextNodes from './mergeTextNodes'; import styles from './styles'; import { isValidURL } from '../../utils/url'; +import NewMarkdown from './new'; + +interface IUser { + _id: string; + username: string; + name: string; +} + +type UserMention = Pick; interface IMarkdownProps { msg: string; + md: MarkdownAST; + mentions: UserMention[]; getCustomEmoji: Function; baseUrl: string; username: string; @@ -35,7 +47,7 @@ interface IMarkdownProps { name: string; _id: number; }[]; - mentions: object[]; + enableMessageParser: boolean; navToRoomInfo: Function; preview: boolean; theme: string; @@ -97,7 +109,9 @@ class Markdown extends PureComponent { constructor(props: IMarkdownProps) { super(props); - this.renderer = this.createRenderer(); + if (!this.isNewMarkdown) { + this.renderer = this.createRenderer(); + } } createRenderer = () => @@ -139,6 +153,11 @@ class Markdown extends PureComponent { renderParagraphsInLists: true }); + get isNewMarkdown(): boolean { + const { md, enableMessageParser } = this.props; + return enableMessageParser && !!md; + } + editedMessage = (ast: any) => { const { isEdited } = this.props; if (isEdited) { @@ -227,12 +246,12 @@ class Markdown extends PureComponent { }; renderHashtag = ({ hashtag }: { hashtag: string }) => { - const { channels, navToRoomInfo, style, theme } = this.props; - return ; + const { channels, navToRoomInfo, style } = this.props; + return ; }; renderAtMention = ({ mentionName }: { mentionName: string }) => { - const { username, mentions, navToRoomInfo, useRealName, style, theme } = this.props; + const { username, mentions, navToRoomInfo, useRealName, style } = this.props; return ( { useRealName={useRealName} username={username} navToRoomInfo={navToRoomInfo} - theme={theme} style={style} /> ); @@ -329,12 +347,44 @@ class Markdown extends PureComponent { }; render() { - const { msg, numberOfLines, preview = false, theme, style = [], testID } = this.props; + const { + msg, + md, + numberOfLines, + preview = false, + theme, + style = [], + testID, + mentions, + channels, + navToRoomInfo, + useRealName, + username, + getCustomEmoji, + baseUrl, + onLinkPress + } = this.props; if (!msg) { return null; } + if (this.isNewMarkdown && !preview) { + return ( + + ); + } + let m = formatText(msg); // Ex: '[ ](https://open.rocket.chat/group/test?msg=abcdef) Test' diff --git a/app/containers/markdown/new/BigEmoji.tsx b/app/containers/markdown/new/BigEmoji.tsx new file mode 100644 index 000000000..c8f6a3beb --- /dev/null +++ b/app/containers/markdown/new/BigEmoji.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; +import { BigEmoji as BigEmojiProps } from '@rocket.chat/message-parser'; + +import Emoji from './Emoji'; + +interface IBigEmojiProps { + value: BigEmojiProps['value']; +} + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row' + } +}); + +const BigEmoji = ({ value }: IBigEmojiProps): JSX.Element => ( + + {value.map(block => ( + + ))} + +); + +export default BigEmoji; diff --git a/app/containers/markdown/new/Bold.tsx b/app/containers/markdown/new/Bold.tsx new file mode 100644 index 000000000..9cb1f4fdb --- /dev/null +++ b/app/containers/markdown/new/Bold.tsx @@ -0,0 +1,40 @@ +import React from 'react'; +import { StyleSheet, Text } from 'react-native'; +import { Bold as BoldProps } from '@rocket.chat/message-parser'; + +import sharedStyles from '../../../views/Styles'; +import Strike from './Strike'; +import Italic from './Italic'; +import Plain from './Plain'; +import Link from './Link'; + +interface IBoldProps { + value: BoldProps['value']; +} + +const styles = StyleSheet.create({ + text: { + ...sharedStyles.textBold + } +}); + +const Bold = ({ value }: IBoldProps): JSX.Element => ( + + {value.map(block => { + switch (block.type) { + case 'LINK': + return ; + case 'PLAIN_TEXT': + return ; + case 'STRIKE': + return ; + case 'ITALIC': + return ; + default: + return null; + } + })} + +); + +export default Bold; diff --git a/app/containers/markdown/new/Code.tsx b/app/containers/markdown/new/Code.tsx new file mode 100644 index 000000000..d2a164367 --- /dev/null +++ b/app/containers/markdown/new/Code.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { Text } from 'react-native'; +import { Code as CodeProps } from '@rocket.chat/message-parser'; + +import styles from '../styles'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; +import CodeLine from './CodeLine'; + +interface ICodeProps { + value: CodeProps['value']; +} + +const Code = ({ value }: ICodeProps): JSX.Element => { + const { theme } = useTheme(); + + return ( + + {value.map(block => { + switch (block.type) { + case 'CODE_LINE': + return ; + default: + return null; + } + })} + + ); +}; + +export default Code; diff --git a/app/containers/markdown/new/CodeLine.tsx b/app/containers/markdown/new/CodeLine.tsx new file mode 100644 index 000000000..c05066f9c --- /dev/null +++ b/app/containers/markdown/new/CodeLine.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { Text } from 'react-native'; +import { CodeLine as CodeLineProps } from '@rocket.chat/message-parser'; + +interface ICodeLineProps { + value: CodeLineProps['value']; +} + +const CodeLine = ({ value }: ICodeLineProps): JSX.Element | null => { + if (value.type !== 'PLAIN_TEXT') { + return null; + } + + return {value.value}; +}; + +export default CodeLine; diff --git a/app/containers/markdown/new/Emoji.tsx b/app/containers/markdown/new/Emoji.tsx new file mode 100644 index 000000000..0800b8874 --- /dev/null +++ b/app/containers/markdown/new/Emoji.tsx @@ -0,0 +1,29 @@ +import React, { useContext } from 'react'; +import { Text } from 'react-native'; +import { Emoji as EmojiProps } from '@rocket.chat/message-parser'; + +import shortnameToUnicode from '../../../utils/shortnameToUnicode'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; +import styles from '../styles'; +import CustomEmoji from '../../EmojiPicker/CustomEmoji'; +import MarkdownContext from './MarkdownContext'; + +interface IEmojiProps { + value: EmojiProps['value']; + isBigEmoji?: boolean; +} + +const Emoji = ({ value, isBigEmoji }: IEmojiProps): JSX.Element => { + const { theme } = useTheme(); + const { baseUrl, getCustomEmoji } = useContext(MarkdownContext); + const emojiUnicode = shortnameToUnicode(`:${value.value}:`); + const emoji = getCustomEmoji?.(value.value); + + if (emoji) { + return ; + } + return {emojiUnicode}; +}; + +export default Emoji; diff --git a/app/containers/markdown/new/Heading.tsx b/app/containers/markdown/new/Heading.tsx new file mode 100644 index 000000000..2e810d376 --- /dev/null +++ b/app/containers/markdown/new/Heading.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import { Text } from 'react-native'; +import { Heading as HeadingProps } from '@rocket.chat/message-parser'; + +import { themes } from '../../../constants/colors'; +import styles from '../styles'; +import { useTheme } from '../../../theme'; + +interface IHeadingProps { + value: HeadingProps['value']; + level: HeadingProps['level']; +} + +const Heading = ({ value, level }: IHeadingProps): JSX.Element => { + const { theme } = useTheme(); + const textStyle = styles[`heading${level}`]; + + return ( + + {value.map(block => { + switch (block.type) { + case 'PLAIN_TEXT': + return block.value; + default: + return null; + } + })} + + ); +}; + +export default Heading; diff --git a/app/containers/markdown/new/Image.tsx b/app/containers/markdown/new/Image.tsx new file mode 100644 index 000000000..fb9f95d28 --- /dev/null +++ b/app/containers/markdown/new/Image.tsx @@ -0,0 +1,41 @@ +import React from 'react'; +import { Image as ImageProps } from '@rocket.chat/message-parser'; +import { createImageProgress } from 'react-native-image-progress'; +import * as Progress from 'react-native-progress'; +import FastImage from '@rocket.chat/react-native-fast-image'; + +import { useTheme } from '../../../theme'; +import { themes } from '../../../constants/colors'; +import styles from '../../message/styles'; + +interface IImageProps { + value: ImageProps['value']; +} + +type TMessageImage = { + img: string; + theme: string; +}; + +const ImageProgress = createImageProgress(FastImage); + +const MessageImage = ({ img, theme }: TMessageImage) => ( + +); + +const Image = ({ value }: IImageProps): JSX.Element => { + const { theme } = useTheme(); + const { src } = value; + + return ; +}; + +export default Image; diff --git a/app/containers/markdown/new/Inline.tsx b/app/containers/markdown/new/Inline.tsx new file mode 100644 index 000000000..364e380d7 --- /dev/null +++ b/app/containers/markdown/new/Inline.tsx @@ -0,0 +1,64 @@ +import React, { useContext } from 'react'; +import { Text } from 'react-native'; +import { Paragraph as ParagraphProps } from '@rocket.chat/message-parser'; + +import Hashtag from '../Hashtag'; +import AtMention from '../AtMention'; +import styles from '../styles'; +import Link from './Link'; +import Plain from './Plain'; +import Bold from './Bold'; +import Strike from './Strike'; +import Italic from './Italic'; +import Emoji from './Emoji'; +import InlineCode from './InlineCode'; +import Image from './Image'; +import MarkdownContext from './MarkdownContext'; + +interface IParagraphProps { + value: ParagraphProps['value']; +} + +const Inline = ({ value }: IParagraphProps): JSX.Element => { + const { useRealName, username, navToRoomInfo, mentions, channels } = useContext(MarkdownContext); + return ( + + {value.map(block => { + switch (block.type) { + case 'IMAGE': + return ; + case 'PLAIN_TEXT': + return ; + case 'BOLD': + return ; + case 'STRIKE': + return ; + case 'ITALIC': + return ; + case 'LINK': + return ; + case 'MENTION_USER': + return ( + + ); + case 'EMOJI': + return ; + case 'MENTION_CHANNEL': + return ; + case 'INLINE_CODE': + return ; + default: + return null; + } + })} + + ); +}; + +export default Inline; diff --git a/app/containers/markdown/new/InlineCode.tsx b/app/containers/markdown/new/InlineCode.tsx new file mode 100644 index 000000000..cf90f2cb3 --- /dev/null +++ b/app/containers/markdown/new/InlineCode.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import { Text } from 'react-native'; +import { InlineCode as InlineCodeProps } from '@rocket.chat/message-parser'; + +import styles from '../styles'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; + +interface IInlineCodeProps { + value: InlineCodeProps['value']; +} + +const InlineCode = ({ value }: IInlineCodeProps): JSX.Element => { + const { theme } = useTheme(); + + return ( + + {(block => { + switch (block.type) { + case 'PLAIN_TEXT': + return {block.value}; + default: + return null; + } + })(value)} + + ); +}; + +export default InlineCode; diff --git a/app/containers/markdown/new/Italic.tsx b/app/containers/markdown/new/Italic.tsx new file mode 100644 index 000000000..fc1432e5a --- /dev/null +++ b/app/containers/markdown/new/Italic.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { StyleSheet, Text } from 'react-native'; +import { Italic as ItalicProps } from '@rocket.chat/message-parser'; + +import Strike from './Strike'; +import Bold from './Bold'; +import Plain from './Plain'; +import Link from './Link'; + +interface IItalicProps { + value: ItalicProps['value']; +} + +const styles = StyleSheet.create({ + text: { + fontStyle: 'italic' + } +}); + +const Italic = ({ value }: IItalicProps): JSX.Element => ( + + {value.map(block => { + switch (block.type) { + case 'LINK': + return ; + case 'PLAIN_TEXT': + return ; + case 'STRIKE': + return ; + case 'BOLD': + return ; + default: + return null; + } + })} + +); + +export default Italic; diff --git a/app/containers/markdown/new/Link.tsx b/app/containers/markdown/new/Link.tsx new file mode 100644 index 000000000..e29c4f2c0 --- /dev/null +++ b/app/containers/markdown/new/Link.tsx @@ -0,0 +1,60 @@ +import React, { useContext } from 'react'; +import { Text, Clipboard } from 'react-native'; +import { Link as LinkProps } from '@rocket.chat/message-parser'; + +import styles from '../styles'; +import I18n from '../../../i18n'; +import { LISTENER } from '../../Toast'; +import { useTheme } from '../../../theme'; +import openLink from '../../../utils/openLink'; +import EventEmitter from '../../../utils/events'; +import { themes } from '../../../constants/colors'; +import Strike from './Strike'; +import Italic from './Italic'; +import Bold from './Bold'; +import MarkdownContext from './MarkdownContext'; + +interface ILinkProps { + value: LinkProps['value']; +} + +const Link = ({ value }: ILinkProps): JSX.Element => { + const { theme } = useTheme(); + const { onLinkPress } = useContext(MarkdownContext); + const { src, label } = value; + const handlePress = () => { + if (!src.value) { + return; + } + if (onLinkPress) { + return onLinkPress(src.value); + } + openLink(src.value, theme); + }; + + const onLongPress = () => { + Clipboard.setString(src.value); + EventEmitter.emit(LISTENER, { message: I18n.t('Copied_to_clipboard') }); + }; + + return ( + + {(block => { + switch (block.type) { + case 'PLAIN_TEXT': + return block.value; + case 'STRIKE': + return ; + case 'ITALIC': + return ; + case 'BOLD': + return ; + default: + return null; + } + })(label)} + + ); +}; + +export default Link; diff --git a/app/containers/markdown/new/MarkdownContext.ts b/app/containers/markdown/new/MarkdownContext.ts new file mode 100644 index 000000000..b22f15614 --- /dev/null +++ b/app/containers/markdown/new/MarkdownContext.ts @@ -0,0 +1,29 @@ +import React from 'react'; + +import { UserMention } from '../../message/interfaces'; + +interface IMarkdownContext { + mentions: UserMention[]; + channels: { + name: string; + _id: number; + }[]; + useRealName: boolean; + username: string; + baseUrl: string; + navToRoomInfo: Function; + getCustomEmoji?: Function; + onLinkPress?: Function; +} + +const defaultState = { + mentions: [], + channels: [], + useRealName: false, + username: '', + baseUrl: '', + navToRoomInfo: () => {} +}; + +const MarkdownContext = React.createContext(defaultState); +export default MarkdownContext; diff --git a/app/containers/markdown/new/OrderedList.tsx b/app/containers/markdown/new/OrderedList.tsx new file mode 100644 index 000000000..c5ae25125 --- /dev/null +++ b/app/containers/markdown/new/OrderedList.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { View, Text } from 'react-native'; +import { OrderedList as OrderedListProps } from '@rocket.chat/message-parser'; + +import Inline from './Inline'; +import styles from '../styles'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; + +interface IOrderedListProps { + value: OrderedListProps['value']; +} + +const OrderedList = ({ value }: IOrderedListProps): JSX.Element => { + const { theme } = useTheme(); + return ( + + {value.map((item, index) => ( + + {index + 1}. + + + ))} + + ); +}; + +export default OrderedList; diff --git a/app/containers/markdown/new/Paragraph.tsx b/app/containers/markdown/new/Paragraph.tsx new file mode 100644 index 000000000..2f7649bb9 --- /dev/null +++ b/app/containers/markdown/new/Paragraph.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { Text } from 'react-native'; +import { Paragraph as ParagraphProps } from '@rocket.chat/message-parser'; + +import Inline from './Inline'; +import styles from '../styles'; +import { useTheme } from '../../../theme'; +import { themes } from '../../../constants/colors'; + +interface IParagraphProps { + value: ParagraphProps['value']; +} + +const Paragraph = ({ value }: IParagraphProps): JSX.Element => { + const { theme } = useTheme(); + return ( + + + + ); +}; + +export default Paragraph; diff --git a/app/containers/markdown/new/Plain.tsx b/app/containers/markdown/new/Plain.tsx new file mode 100644 index 000000000..9eca2e0c7 --- /dev/null +++ b/app/containers/markdown/new/Plain.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +import { Text } from 'react-native'; +import { Plain as PlainProps } from '@rocket.chat/message-parser'; + +import styles from '../styles'; +import { useTheme } from '../../../theme'; +import { themes } from '../../../constants/colors'; + +interface IPlainProps { + value: PlainProps['value']; +} + +const Plain = ({ value }: IPlainProps): JSX.Element => { + const { theme } = useTheme(); + return ( + + {value} + + ); +}; + +export default Plain; diff --git a/app/containers/markdown/new/Quote.tsx b/app/containers/markdown/new/Quote.tsx new file mode 100644 index 000000000..27d6a01d1 --- /dev/null +++ b/app/containers/markdown/new/Quote.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { View } from 'react-native'; +import { Quote as QuoteProps } from '@rocket.chat/message-parser'; + +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; +import styles from '../styles'; +import Paragraph from './Paragraph'; + +interface IQuoteProps { + value: QuoteProps['value']; +} + +const Quote = ({ value }: IQuoteProps): JSX.Element => { + const { theme } = useTheme(); + return ( + + + + {value.map(item => ( + + ))} + + + ); +}; + +export default Quote; diff --git a/app/containers/markdown/new/Strike.tsx b/app/containers/markdown/new/Strike.tsx new file mode 100644 index 000000000..4d1cf5ea8 --- /dev/null +++ b/app/containers/markdown/new/Strike.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { StyleSheet, Text } from 'react-native'; +import { Strike as StrikeProps } from '@rocket.chat/message-parser'; + +import Bold from './Bold'; +import Italic from './Italic'; +import Plain from './Plain'; +import Link from './Link'; + +interface IStrikeProps { + value: StrikeProps['value']; +} + +const styles = StyleSheet.create({ + text: { + textDecorationLine: 'line-through' + } +}); + +const Strike = ({ value }: IStrikeProps): JSX.Element => ( + + {value.map(block => { + switch (block.type) { + case 'LINK': + return ; + case 'PLAIN_TEXT': + return ; + case 'BOLD': + return ; + case 'ITALIC': + return ; + default: + return null; + } + })} + +); + +export default Strike; diff --git a/app/containers/markdown/new/TaskList.tsx b/app/containers/markdown/new/TaskList.tsx new file mode 100644 index 000000000..8f46af965 --- /dev/null +++ b/app/containers/markdown/new/TaskList.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { Text, View } from 'react-native'; +import { Tasks as TasksProps } from '@rocket.chat/message-parser'; + +import Inline from './Inline'; +import styles from '../styles'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; + +interface ITasksProps { + value: TasksProps['value']; +} + +const TaskList = ({ value = [] }: ITasksProps): JSX.Element => { + const { theme } = useTheme(); + return ( + + {value.map(item => ( + + {item.status ? '- [x] ' : '- [ ] '} + + + ))} + + ); +}; + +export default TaskList; diff --git a/app/containers/markdown/new/UnorderedList.tsx b/app/containers/markdown/new/UnorderedList.tsx new file mode 100644 index 000000000..51c9b2188 --- /dev/null +++ b/app/containers/markdown/new/UnorderedList.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { UnorderedList as UnorderedListProps } from '@rocket.chat/message-parser'; +import { View, Text } from 'react-native'; + +import Inline from './Inline'; +import styles from '../styles'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; + +interface IUnorderedListProps { + value: UnorderedListProps['value']; +} + +const UnorderedList = ({ value }: IUnorderedListProps): JSX.Element => { + const { theme } = useTheme(); + return ( + + {value.map(item => ( + + - + + + ))} + + ); +}; + +export default UnorderedList; diff --git a/app/containers/markdown/new/index.tsx b/app/containers/markdown/new/index.tsx new file mode 100644 index 000000000..a56b66f54 --- /dev/null +++ b/app/containers/markdown/new/index.tsx @@ -0,0 +1,77 @@ +import React from 'react'; +import { MarkdownAST } from '@rocket.chat/message-parser'; + +import Quote from './Quote'; +import Paragraph from './Paragraph'; +import Heading from './Heading'; +import Code from './Code'; +import BigEmoji from './BigEmoji'; +import OrderedList from './OrderedList'; +import UnorderedList from './UnorderedList'; +import { UserMention } from '../../message/interfaces'; +import TaskList from './TaskList'; +import MarkdownContext from './MarkdownContext'; + +interface IBodyProps { + tokens: MarkdownAST; + mentions: UserMention[]; + channels: { + name: string; + _id: number; + }[]; + getCustomEmoji?: Function; + onLinkPress?: Function; + navToRoomInfo: Function; + useRealName: boolean; + username: string; + baseUrl: string; +} + +const Body = ({ + tokens, + mentions, + channels, + useRealName, + username, + navToRoomInfo, + getCustomEmoji, + baseUrl, + onLinkPress +}: IBodyProps): JSX.Element => ( + + {tokens.map(block => { + switch (block.type) { + case 'BIG_EMOJI': + return ; + case 'UNORDERED_LIST': + return ; + case 'ORDERED_LIST': + return ; + case 'TASKS': + return ; + case 'QUOTE': + return ; + case 'PARAGRAPH': + return ; + case 'CODE': + return ; + case 'HEADING': + return ; + default: + return null; + } + })} + +); + +export default Body; diff --git a/app/containers/markdown/styles.ts b/app/containers/markdown/styles.ts index d7eef0502..0e594d3a4 100644 --- a/app/containers/markdown/styles.ts +++ b/app/containers/markdown/styles.ts @@ -30,6 +30,10 @@ export default StyleSheet.create({ del: { textDecorationLine: 'line-through' }, + plainText: { + fontSize: 16, + flexShrink: 1 + }, text: { fontSize: 16, ...sharedStyles.textRegular @@ -70,12 +74,16 @@ export default StyleSheet.create({ resizeMode: 'contain' }, codeInline: { + fontSize: 16, ...sharedStyles.textRegular, ...codeFontFamily, borderWidth: 1, - borderRadius: 4 + borderRadius: 4, + paddingLeft: 2, + paddingTop: 2 }, codeBlock: { + fontSize: 16, ...sharedStyles.textRegular, ...codeFontFamily, borderWidth: 1, @@ -153,5 +161,8 @@ export default StyleSheet.create({ }, alignRight: { textAlign: 'right' + }, + inline: { + flexShrink: 1 } }); diff --git a/app/containers/message/Content.tsx b/app/containers/message/Content.tsx index ee3b8c931..b9aaf9620 100644 --- a/app/containers/message/Content.tsx +++ b/app/containers/message/Content.tsx @@ -51,8 +51,10 @@ const Content = React.memo( // @ts-ignore { unread, blocks, autoTranslate: autoTranslateMessage, - replies + replies, + md } = item; let message = msg; @@ -391,6 +392,7 @@ class MessageContainer extends React.Component { ; + export interface IMessageContent { isTemp: boolean; isInfo: boolean; tmid: string; isThreadRoom: boolean; msg: string; + md: MarkdownAST; theme: string; isEdited: boolean; isEncrypted: boolean; @@ -62,7 +73,7 @@ export interface IMessageContent { name: string; _id: number; }[]; - mentions: object[]; + mentions: UserMention[]; navToRoomInfo: Function; useRealName: boolean; isIgnored: boolean; diff --git a/app/containers/message/styles.ts b/app/containers/message/styles.ts index 3d4334f7c..49aa273eb 100644 --- a/app/containers/message/styles.ts +++ b/app/containers/message/styles.ts @@ -106,7 +106,6 @@ export default StyleSheet.create({ }, image: { width: '100%', - // maxWidth: 400, minHeight: isTablet ? 300 : 200, borderRadius: 4, borderWidth: 1, diff --git a/app/ee/omnichannel/views/QueueListView.js b/app/ee/omnichannel/views/QueueListView.js index d22613445..defe9233f 100644 --- a/app/ee/omnichannel/views/QueueListView.js +++ b/app/ee/omnichannel/views/QueueListView.js @@ -51,7 +51,9 @@ class QueueListView extends React.Component { server: PropTypes.string, useRealName: PropTypes.bool, navigation: PropTypes.object, - theme: PropTypes.string + theme: PropTypes.string, + showAvatar: PropTypes.bool, + displayMode: PropTypes.string }; shouldComponentUpdate(nextProps) { @@ -95,7 +97,9 @@ class QueueListView extends React.Component { useRealName, theme, isMasterDetail, - width + width, + showAvatar, + displayMode } = this.props; const id = this.getUidDirectMessage(item); @@ -117,6 +121,8 @@ class QueueListView extends React.Component { getRoomAvatar={this.getRoomAvatar} visitor={item.v} swipeEnabled={false} + showAvatar={showAvatar} + displayMode={displayMode} /> ); }; @@ -151,6 +157,8 @@ const mapStateToProps = state => ({ isMasterDetail: state.app.isMasterDetail, server: state.server.server, useRealName: state.settings.UI_Use_Real_Name, - queued: getInquiryQueueSelector(state) + queued: getInquiryQueueSelector(state), + showAvatar: state.sortPreferences.showAvatar, + displayMode: state.sortPreferences.displayMode }); export default connect(mapStateToProps)(withDimensions(withTheme(QueueListView))); diff --git a/app/i18n/locales/af.json b/app/i18n/locales/af.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/af.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ar.json b/app/i18n/locales/ar.json index d48c9ccb1..896d4d0d1 100644 --- a/app/i18n/locales/ar.json +++ b/app/i18n/locales/ar.json @@ -1,656 +1,661 @@ { - "1_person_reacted": "تفاعل شخص 1", - "1_user": "مستخدم 1", - "error-action-not-allowed": "{{action}} غير مسموح", - "error-application-not-found": "لم يتم العثور على البرنامج", - "error-archived-duplicate-name": "هناك قناة مؤرشفة باسم {{room_name}}", - "error-avatar-invalid-url": "عنوان الصورة الرمزية غير صحيح: {{url}}", - "error-avatar-url-handling": "خطأ في معالجة الصورة الرمزية ({{url}}) للمستخدم {{username}}", - "error-cant-invite-for-direct-room": "لا يمكن دعوة المستخدم في الغرفة المباشرة", - "error-could-not-change-email": "تعذر تغيير البريد الإلكتروني", - "error-could-not-change-name": "تعذر تغيير الاسم", - "error-could-not-change-username": "تعذر تغيير اسم المستخدم", - "error-could-not-change-status": "تعذر تغيير الحالة", - "error-delete-protected-role": "لا يمكن حذف دور محمي", - "error-department-not-found": "القسم غير موجود", - "error-direct-message-file-upload-not-allowed": "مشاركة الملفات غير مسموح في الرسالة المباشرة", - "error-duplicate-channel-name": "القناة {{channel_name}} موجودة مسبقاً", - "error-email-domain-blacklisted": "عنوان اﻹيميل محظور", - "error-email-send-failed": "خطأ في إرسال البريد اﻹلكتروني: {{message}}", - "error-save-image": "خطأ عند حفظ الصورة", - "error-save-video": "خطأ عند حفظ الفيديو", - "error-field-unavailable": "{{field}} مستخدم بالفعل :(", - "error-file-too-large": "حجم الملف كبير جداً", - "error-importer-not-defined": "المستورِد معرف بطريقة غير صحيحة، يجب تحديد نوع الإستيراد", - "error-input-is-not-a-valid-field": "{{input}} غير صالح {{field}}", - "error-invalid-actionlink": "رابط الإجراء غير صالح", - "error-invalid-arguments": "وسائط غير صحيحة", - "error-invalid-asset": "ممتلكات غير صحيحة", - "error-invalid-channel": "قناة غير صحيحة", - "error-invalid-channel-start-with-chars": "قناة غير صحيحة. تبدأ القناة بحرف @ أو #", - "error-invalid-custom-field": "حقل مخصص غير صالح", - "error-invalid-custom-field-name": "اسم الحقل المخصص غير صالح. استخدم الحروف والأرقام والواصلات والشرطات السفلية فقط", - "error-invalid-date": "التاريخ غير صالح", - "error-invalid-description": "الوصف غير صالح", - "error-invalid-domain": "عنوان الموقع غير صالح", - "error-invalid-email": "عنوان البريد اﻹلكتروني غير صالح {{email}}", - "error-invalid-email-address": "عنوان البريد اﻹلكتروني غير صالح", - "error-invalid-file-height": "ارتفاع الملف غير صالح", - "error-invalid-file-type": "نوع الملف غير صالح", - "error-invalid-file-width": "عرض الملف غير صالح", - "error-invalid-from-address": "عنوان غير صالح في خانة (من)", - "error-invalid-integration": "تكامل غير صالح", - "error-invalid-message": "رسالة غير صالحة", - "error-invalid-method": "طريقة غير صالحة", - "error-invalid-name": "اسم غير صالح", - "error-invalid-password": "كلمة مرور خاطئة", - "error-invalid-redirectUri": "رابط إعادة توجيه غير صحيح", - "error-invalid-role": "دور غير صالح", - "error-invalid-room": "غرفة غير صالحة", - "error-invalid-room-name": "{{room_name}} اسم الغرفة غير صالح", - "error-invalid-room-type": "{{type}} نوع الغرفة غير صالح", - "error-invalid-settings": "الإعدادات المعطاة غير صالحة", - "error-invalid-subscription": "اشتراك غير صالح", - "error-invalid-token": "الرمز غير صالح", - "error-invalid-triggerWords": "كلمات محفزة غير صالحة", - "error-invalid-urls": "عناوين غير صالحة", - "error-invalid-user": "مستخدم غير صالح", - "error-invalid-username": "اسم المستخدم غير صالح", - "error-invalid-webhook-response": "الرد التلقائي من العنوان استجاب برمز مغاير عن 200", - "error-message-deleting-blocked": "حذف الرسالة محظور", - "error-message-editing-blocked": "تعديل الرسالة محظور", - "error-message-size-exceeded": "حجم الرسالة تجاوز الحد المسموح به (Message_MaxAllowedSize)", - "error-missing-unsubscribe-link": "يجب عليك تقديم رابط [unsubscribe]", - "error-no-tokens-for-this-user": "لا توجد رموز لهذا المستخدم", - "error-not-allowed": "غير مسموح", - "error-not-authorized": "غير مصرح", - "error-push-disabled": "إرسال الإشعارات معطل", - "error-remove-last-owner": "هذا هو المالك الأخير. يرجى تعيين مالك جديد قبل إزالة هذا المالك", - "error-role-in-use": "لا يمكن حذف الدور لأنه قيد الاستخدام", - "error-role-name-required": "اسم الدور مطلوب", - "error-the-field-is-required": "هذا الحقل {{field}} مطلوب", - "error-too-many-requests": "خطأ، تلقينا الكثير من الطلبات. من فضلك خفف السرعة، يجب الانتظار لمدة {{seconds}} ثانية قبل المحاولة مرة أخرى", - "error-user-is-not-activated": "المستخدم غير منشط", - "error-user-has-no-roles": "ليس للمستخدم أدوار", - "error-user-limit-exceeded": "يتجاوز عدد المستخدمين الذين تحاول دعوتهم إلى #channel_name الحد الذي حدده المشرف", - "error-user-not-in-room": "المستخدم ليس في هذه الغرفة", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "التسجيل معطل", - "error-user-registration-secret": "التسجيل مسموح به عبر عنوان الويب السري فقط", - "error-you-are-last-owner": "أنت المالك الأخير. يرجى تعيين مالك جديد قبل مغادرة الغرفة", - "Actions": "الإجراءات", - "activity": "نشاط", - "Activity": "النشاط", - "Add_Reaction": "إضافة تفاعل", - "Add_Server": "إضافة خادم", - "Add_users": "إضافة مستخدمين", - "Admin_Panel": "لوحة الإدارة", - "Agent": "المندوب", - "Alert": "إنذار", - "alert": "إنذار", - "alerts": "الإنذارات", - "All_users_in_the_channel_can_write_new_messages": "يمكن لجميع المستخدمين في القناة كتابة رسائل جديدة", - "A_meaningful_name_for_the_discussion_room": "اسم معبر لغرفة النقاش", - "All": "الكل", - "All_Messages": "كل الرسائل", - "Allow_Reactions": "السماح للتفاعلات", - "Alphabetical": "أبجدي", - "and_more": "وأكثر", - "and": "و", - "announcement": "إعلان", - "Announcement": "إعلان", - "Apply_Your_Certificate": "طبق شهادتك", - "ARCHIVE": "أرشفة", - "archive": "أرشفة", - "are_typing": "يكتب", - "Are_you_sure_question_mark": "هل أنت متأكد؟", - "Are_you_sure_you_want_to_leave_the_room": "متأكد من مغادرة الغرفة {{room}}؟", - "Audio": "صوت", - "Authenticating": "تتم المصادقة", - "Automatic": "تلقائي", - "Auto_Translate": "ترجمة تلقائية", - "Avatar_changed_successfully": "تم تغيير الصورة الرمزية بنجاح!", - "Avatar_Url": "عنوان ويب الصورة الرمزية", - "Away": "غير متواجد", - "Back": "عودة", - "Black": "أسود", - "Block_user": "حظر المستخدم", - "Browser": "المتصفح", - "Broadcast_channel_Description": "يمكن فقط للمستخدمين المصرح لهم كتابة رسائل جديدة، ولكن سيتمكن المستخدمون الآخرون من الرد", - "Broadcast_Channel": "قناة البث", - "Busy": "مشغول", - "By_proceeding_you_are_agreeing": "من خلال المتابعة، أنت توافق على", - "Cancel_editing": "إلغاء التعديل", - "Cancel_recording": "إلغاء التسجيل الصوتي", - "Cancel": "إلغاء", - "changing_avatar": "تغيير الصورة الرمزية", - "creating_channel": "إنشاء قناة", - "creating_invite": "إنشاء دعوة", - "Channel_Name": "اسم القناة", - "Channels": "قنوات", - "Chats": "الرسائل", - "Call_already_ended": "تم انهاء المكالمة بالفعل !", - "Clear_cookies_alert": "هل تريد حذف جميع ملفات تعريف الإرتباط؟", - "Clear_cookies_desc": "هذا الإجراء سيحذف ملفات تعريف الإرتباط الخاصة بتسجيل الدخول مما يسمح بتسجيل الدخول لحسابات أخرى", - "Clear_cookies_yes": "نعم، مسح ملفات الإرتباط", - "Clear_cookies_no": "لا، احتفظ بملفات تعريف الإرتباط", - "Click_to_join": "انقر للانضمام!", - "Close": "إغلاق", - "Close_emoji_selector": "إغلاق محدد الرموز التعبيرية", - "Closing_chat": "إغلاق المحادثة", - "Change_language_loading": "تغيير اللغة", - "Chat_closed_by_agent": "المندوب أغلق المحادثة", - "Choose": "اختر", - "Choose_from_library": "اختر من المكتبة", - "Choose_file": "اختر ملف", - "Choose_where_you_want_links_be_opened": "اختر المكان الذي تريد فتح الروابط فيه", - "Code": "الرمز", - "Code_or_password_invalid": "الرمز أو كلمة المرور خاطئة", - "Collaborative": "تعاونية", - "Confirm": "تأكيد", - "Connect": "اتصال", - "Connected": "متصل", - "connecting_server": "يتم الاتصال بالخادم", - "Connecting": "جار الاتصال...", - "Contact_us": "تواصل معنا", - "Contact_your_server_admin": "اتصل بمسؤول الخادم", - "Continue_with": "متابعة بـ", - "Copied_to_clipboard": "تم النسخ للحافظة!", - "Copy": "نسخ", - "Conversation": "محادثة", - "Permalink": "رابط ثابت", - "Certificate_password": "الرقم السري للشهادة", - "Clear_cache": "امسح ذاكرة التخزين المؤقتة للخادم", - "Clear_cache_loading": "يتم مسح ذاكرة التخزين", - "Whats_the_password_for_your_certificate": "ماهي كلمة المرور للشهادة؟", - "Create_account": "إنشاء حساب", - "Create_Channel": "إنشاء قناة", - "Create_Direct_Messages": "إنشاء رسالة مباشرة", - "Create_Discussion": "إنشاء نقاش", - "Created_snippet": "إنشاء مقتطف", - "Create_a_new_workspace": "إنشاء مساحة عمل جديدة", - "Create": "إنشاء", - "Custom_Status": "حالة مخصصة", - "Dark": "داكن", - "Dark_level": "مستوى السمة الداكنة", - "Default": "افتراضي", - "Default_browser": "المتصفح الأساسي", - "Delete_Room_Warning": "سيؤدي حذف الغرفة إلى حذف جميع الرسائل المنشورة. لا يمكن التراجع بعد الحذف", - "Department": "القسم", - "delete": "حذف", - "Delete": "حذف", - "DELETE": "حذف", - "deleting_room": "حذف الغرفة", - "description": "وصف", - "Description": "وصف", - "Desktop_Alert_info": "هذه الإشعارات ترسل لسطح المكتب", - "Directory": "مجلد", - "Direct_Messages": "رسالة مباشرة", - "Disable_notifications": "أوقف الإشعارات", - "Discussions": "مناقشات", - "Discussion_Desc": "ساهم بإعطاء نظرة عامة لما يجري. عند إنشاء مناقشة يتم إنشاء قناة فرعية وربطها بالقناة المحددة", - "Discussion_name": "اسم النقاش", - "Done": "تم", - "Dont_Have_An_Account": "ليس لديك حساب؟", - "Do_you_have_an_account": "هل لديك حساب؟", - "Do_you_have_a_certificate": "هل لديك شهادة؟", - "Do_you_really_want_to_key_this_room_question_mark": "هل تريد حقاً {{key}} هذه الغرفة؟", - "E2E_How_It_Works_info1": "يمكنك الآن إنشاء مجموعات خاصة ورسائل مباشرة مشفرة. بإمكانك أيضاً تشفير المجموعات الخاصة والرسائل المباشرة الموجودة مسبقاً", - "E2E_How_It_Works_info2": "التشفير يتم بين الطرفيات بمعنى أن المفتاح سيستخدم لتشفير وفك تشفير رسائلك ولن يتم حفظه في الخادم. لذلك يترتب عليك حفظ كلمة المرور هذه في مكان آمن", - "E2E_How_It_Works_info3": "حين الاستمرار سيتم إنشاء كلمة المرور بين الطرفيات", - "E2E_How_It_Works_info4": "بإمكانك أيضاً إنشاء كلمة مرور جديدة لمفتاح التشفير في أي وقت عند دخولك بكلمة المرور الحالية لمفتاح التشفير", - "edit": "تعديل", - "edited": "معدل", - "Edit": "تعديل", - "Edit_Status": "تعديل الحالة", - "Edit_Invite": "تعديل الدعوة", - "End_to_end_encrypted_room": "غرفة مشفرة بين الطرفيات", - "end_to_end_encryption": "تشفير بين الطرفيات", - "Email_Notification_Mode_All": "لكل إشارة أو رسالة مباشرة", - "Email_Notification_Mode_Disabled": "معطل", - "Email_or_password_field_is_empty": "حقل البريد الإلكتروني أو كلمة المرور فارغ", - "Email": "البريد الإلكتروني", - "email": "البريد الإلكتروني", - "Empty_title": "عنوان فارغ", - "Enable_Auto_Translate": "تمكين الترجمة التلقائية", - "Enable_notifications": "تفعيل الإشعارات", - "Encrypted": "مشفر", - "Encrypted_message": "رسالة مشفرة", - "Enter_Your_E2E_Password": "أدخل كلمة المرور بين الطرفيات", - "Enter_Your_Encryption_Password_desc1": "سيمكنك هذا من الوصول لرسائلك المباشرة والمجموعات الخاصة", - "Enter_Your_Encryption_Password_desc2": "يجب إدخال كلمة المرور لتشفير وفك تشفير الرسائل المرسلة", - "Encryption_error_title": "كلمة المرور المشفرة خاطئة", - "Encryption_error_desc": "تعذر قراءة مفتاح التشفير أثناء الاستيراد", - "Everyone_can_access_this_channel": "يمكن للجميع الوصول إلى هذه القناة", - "Error_uploading": "خطأ في الرفع", - "Expiration_Days": "انتهاء (أيام)", - "Favorite": "مفضل", - "Favorites": "مفضلات", - "Files": "ملفات", - "File_description": "وصف الملف", - "File_name": "اسم الملف", - "Finish_recording": "إنهاء التسجيل", - "Following_thread": "متابعة الموضوع", - "For_your_security_you_must_enter_your_current_password_to_continue": "من أجل حمايتك، يجب عليك إدخال كلمة المرور الحالية للمتابعة", - "Forgot_password_If_this_email_is_registered": "إن كان البريد الإلكتروني مسجلاً، فسنرسل تعليمات إعادة تعيين كلمة المرور الخاصة بك. إذا لم تتلق بريداً إلكترونياً قريباً، فيرجى العودة والمحاولة مرة أخرى", - "Forgot_password": "هل نسيت كلمة المرور؟", - "Forgot_Password": "نسيت كلمة المرور", - "Forward": "إعادة توجيه", - "Forward_Chat": "إعادة توجيه المحادثة", - "Forward_to_department": "إعادة توجيه للقسم", - "Forward_to_user": "إعادة توجيه لمستخدم", - "Full_table": "انقر لرؤية الجدول كاملاً", - "Generate_New_Link": "إنشاء رابط جديد", - "Group_by_favorites": "جمع حسب المفضلة", - "Group_by_type": "جمع حسب النوع", - "Hide": "إخفاء", - "Has_joined_the_channel": "انضم إلى القناة", - "Has_joined_the_conversation": "انضم إلى المحادثة", - "Has_left_the_channel": "غادر القناة", - "Hide_System_Messages": "إخفاء رسائل النظام", - "Hide_type_messages": "إخفاء رسائل \"{{type}}\"", - "How_It_Works": "طريقة العمل", - "Message_HideType_uj": "مستخدم انضم", - "Message_HideType_ul": "مستخدم غادر", - "Message_HideType_ru": "مستخدم حُذف", - "Message_HideType_au": "مستخدم أضيف", - "Message_HideType_mute_unmute": "صوت المستخدم كتم / فتح", - "Message_HideType_r": "اسم الغرفة تغير", - "Message_HideType_ut": "مستخدم انضم للمحادثة", - "Message_HideType_wm": "ترحيب", - "Message_HideType_rm": "رسالة حُذفت", - "Message_HideType_subscription_role_added": "تعيين دور جديد", - "Message_HideType_subscription_role_removed": "دور أصبح غير معرف", - "Message_HideType_room_archived": "غرفة أرشفت", - "Message_HideType_room_unarchived": "غرفة ألغيت أرشفتها", - "I_Saved_My_E2E_Password": "قمت بحفظ كلمة المرور الطرفية", - "IP": " عنوان بروتوكول الإنترنت (الآيبي)", - "In_app": "في التطبيق", - "In_App_and_Desktop_Alert_info": "يعرض شعاراً أعلى الشاشة عندما يكون التطبيق مفتوحًا، ويعرض إشعاراً على سطح المكتب", - "Invisible": "غير مرئي", - "Invite": "دعوة", - "is_a_valid_RocketChat_instance": "خادم Rocket.Chat صالح", - "is_not_a_valid_RocketChat_instance": "خادم Rocket.Chat غير صالح", - "is_typing": "يكتب", - "Invalid_or_expired_invite_token": "رمز الدعوة غير صالح أو منتهي الصلاحية", - "Invalid_server_version": "الخادم الذي تحاول الاتصال به يستخدم إصدارا لم يعد مدعوماً: {{currentVersion}}.\n\n النسخ المدعومة تبدأ من {{minVersion}}", - "Invite_Link": "رابط الدعوة", - "Invite_users": "دعوة المستخدمين", - "Join": "انضم", - "Join_our_open_workspace": "انضم لمساحة عملنا المفتوحة", - "Join_your_workspace": "انضم لمساحة عملك", - "Just_invited_people_can_access_this_channel": "يمكن للأشخاص المدعوين فقط الوصول إلى هذه القناة", - "Language": "اللغة", - "last_message": "الرسالة الأخيرة", - "Leave_channel": "مغادرة القناة", - "leaving_room": "مغادرة الغرفة", - "Leave": "مغادرة الغرفة", - "leave": "مغادرة", - "Legal": "قانوني", - "Light": "ساطع", - "License": "رخصة", - "Livechat": "محادثة مباشرة", - "Livechat_edit": "تعديل المحادثة المباشرة", - "Login": "تسجيل الدخول", - "Login_error": "تم رفض تسجيل الدخول الرجاء المحاولة مرة أخرى", - "Login_with": "تسجيل الدخول بـ", - "Logging_out": "تسجيل الخروج", - "Logout": "تسجيل الخروج", - "Max_number_of_uses": "أقصى عدد للاستخدام", - "Max_number_of_users_allowed_is_number": "أقصى عدد للمستخدمين {{maxUsers}}", - "members": "أفراد", - "Members": "أفراد", - "Mentioned_Messages": "الرسائل المذكورة", - "mentioned": "مشار", - "Mentions": "الإشارات", - "Message_accessibility": "الرسالة من {{user}} في {{time}}: {{message}}", - "Message_actions": "إجراءات الرسالة", - "Message_pinned": "الرسالة مثبتة", - "Message_removed": "الرسالة حذفت", - "Message_starred": "الرسالة مميزة", - "Message_unstarred": "الرسالة غير مميزة", - "message": "رسالة", - "messages": "رسائل", - "Message": "الرسالة", - "Messages": "الرسائل", - "Message_Reported": "تم التبليغ على الرسالة", - "Microphone_Permission_Message": "يحتاج Rocket.Chat للوصول إلى الميكروفون الخاص بك حتى تتمكن من إرسال رسالة صوتية", - "Microphone_Permission": "إذن الميكروفون", - "Mute": "كتم", - "muted": "مكتوم", - "My_servers": "الخوادم", - "N_people_reacted": "{{n}} تفاعل الناس", - "N_users": "{{n}} مستخدمين", - "name": "اسم", - "Name": "اسم", - "Navigation_history": "تاريخ التصفح", - "Never": "أبداً", - "New_Message": "رسالة جديدة", - "New_Password": "كلمة مرور جديدة", - "New_Server": "خادم جديد", - "Next": "التالي", - "No_files": "لا ملفات", - "No_limit": "لا حدود", - "No_mentioned_messages": "لا رسائل مشارة", - "No_pinned_messages": "لا رسائل مثبتة", - "No_results_found": "لا نتائج", - "No_starred_messages": "لا رسائل مميزة", - "No_thread_messages": "لا رسائل للموضوع", - "No_label_provided": "لا {{label}} معطى", - "No_Message": "لا رسائل", - "No_messages_yet": "لا رسائل حتى اﻵن", - "No_Reactions": "لا تفاعل", - "No_Read_Receipts": "لا إيصالات قراءة", - "Not_logged": "غير مسجل الدخول", - "Not_RC_Server": "هذا ليس بخادم Rocket.Chat.\n{{contact}}", - "Nothing": "لا شيء", - "Nothing_to_save": "لا شيء للحفظ!", - "Notify_active_in_this_room": "أبلغ المستخدمين النشطين في هذه الغرفة", - "Notify_all_in_this_room": "أبلغ الجميع في الغرفة", - "Notifications": "الإشعارات", - "Notification_Duration": "زمن الإشعار", - "Notification_Preferences": "تفضيلات الإشعار", - "No_available_agents_to_transfer": "المندوبين غير متوفرين حالياً", - "Offline": "غير متصل", - "Oops": "عفوًا!", - "Omnichannel": "القنوات الموحدة", - "Open_Livechats": "محادثات مباشرة جارية", - "Omnichannel_enable_alert": "أنت غير متاح ", - "Onboarding_description": "مساحة عمل هي مساحة لفريقك ومنظمتك للتعاون. اطلب من المشرف العنوان للانضمام أو أنشئ لفريقك", - "Onboarding_join_workspace": "انضم لمساحة عمل", - "Onboarding_subtitle": "ما بعد بيئة فريق تعاونية", - "Onboarding_title": "مرحبا بك في Rocket.Chat", - "Onboarding_join_open_description": "انضم لمساحة عملنا للتواصل مع فريق Rocket.Chat ومع المجتمع", - "Onboarding_agree_terms": "بالمواصلة أنت توافق على Rocket.Chat", - "Onboarding_less_options": "خيارات أقل", - "Onboarding_more_options": "خيارات أكثر", - "Online": "متصل", - "Only_authorized_users_can_write_new_messages": "يمكن للمستخدمين المصرح لهم فقط كتابة رسائل جديدة", - "Open_emoji_selector": "افتح محدد الرموز التعبيرية", - "Open_Source_Communication": "تواصل مفتوح المصدر", - "Open_your_authentication_app_and_enter_the_code": "افتح تطبيق المصادقة الخاص بك وأدخل الرمز", - "OR": "أو", - "OS": "نظام التشغيل", - "Overwrites_the_server_configuration_and_use_room_config": "يمكن للمستخدمين المصرح لهم فقط كتابة رسائل جديدة", - "Password": "كلمة المرور", - "Parent_channel_or_group": "القناة أو المجموعة الأب", - "Permalink_copied_to_clipboard": "تم نسخ الرابط الثابت إلى الحافظة!", - "Phone": "الهاتف", - "Pin": "ثبت", - "Pinned_Messages": "رسائل مثبتة", - "pinned": "مثبت", - "Pinned": "مثبت", - "Please_add_a_comment": "الرجاء إضافة تعليق", - "Please_enter_your_password": "الرجاء إدخال كلمة المرور", - "Please_wait": "الرجاء الإنتظار", - "Preferences": "التفضيلات", - "Preferences_saved": "تم حفظ التفضيلات", - "Privacy_Policy": "سياسة الخصوصية", - "Private_Channel": "قناة خاصة", - "Private": "خاص", - "Processing": "جار معالجة...", - "Profile_saved_successfully": "تم حفظ الملف الشخصي بنجاح!", - "Profile": "الملف الشخصي", - "Public_Channel": "قناة عامة", - "Public": "عام", - "Push_Notifications_Alert_Info": "يتم إرسال هذه الإشعارات إليك عندما لا يكون التطبيق مفتوحاً", - "Quote": "اقتباس", - "Reactions_are_disabled": "التفاعل معطل", - "Reactions_are_enabled": "التفاعل مفعل", - "Reactions": "التفاعلات", - "Read": "قراءة", - "Read_External_Permission_Message": "يحتاج Rocket.chat للوصول إلى الصور والملفات الموجودة على الجهاز", - "Read_External_Permission": "صلاحية قراءة الوسائط", - "Read_Only_Channel": "قناة للقراءة فقط", - "Read_Only": "قراءة فقط", - "Read_Receipt": "قراءة المستلم", - "Receive_Group_Mentions": "تلقي إشارات المجموعة", - "Receive_Group_Mentions_Info": "تلقي @all و @here للإشعارات", - "Register": "تسجيل", - "Repeat_Password": "أعد كلمة المرور", - "Replied_on": "تم الرد على:", - "replies": "ردود", - "reply": "رد", - "Reply": "رد", - "Report": "بلاغ", - "Receive_Notification": "استلام الإشعار", - "Receive_notifications_from": "استلام الإشعارات من {{name}}", - "Resend": "أعد الإرسال", - "Reset_password": "إعادة تعيين كلمة المرور", - "resetting_password": "إعادة تعيين كلمة المرور", - "RESET": "إعادة", - "Return": "العودة", - "Review_app_title": "هل أنت مستمتع بهذا التطبيق؟", - "Review_app_desc": "قم بإعطائنا 5 نجوم {{store}}", - "Review_app_yes": "أكيد!", - "Review_app_no": "لا", - "Review_app_later": "ربما لاحقاً", - "Review_app_unable_store": "لم يتمكن من فتح {{store}}", - "Review_this_app": "تقييم هذا التطبيق", - "Remove": "حذف", - "Roles": "أدوار", - "Room_actions": "إجراءات الغرفة", - "Room_changed_announcement": "تم تغيير إعلان الغرفة إلى: {{announcement}} من قبل {{userBy}}", - "Room_changed_description": "تم تغيير وصف الغرفة إلى: {{description}} من قبل {{userBy}}", - "Room_changed_privacy": "تم تغيير نوع الغرفة إلى: {{type}} من قبل {{userBy}}", - "Room_changed_topic": "تم تغيير موضوع الغرفة إلى: {{topic}} من قبل {{userBy}}", - "Room_Files": "ملفات الغرفة", - "Room_Info_Edit": "تعديل معلومات الغرفة", - "Room_Info": "معلومات الغرفة", - "Room_Members": "أعضاء الغرفة", - "Room_name_changed": "تم تغيير اسم الغرفة إلى: {{name}} من قبل {{userBy}}", - "SAVE": "حفظ", - "Save_Changes": "حفظ التغيرات", - "Save": "حفظ", - "Saved": "تم الحفظ", - "saving_preferences": "حفظ التفضيلات", - "saving_profile": "حفظ الملف الشخصي", - "saving_settings": "حفظ الإعدادات", - "saved_to_gallery": "تم الحفظ في المعرض", - "Save_Your_E2E_Password": "حفظ كلمة المرور بين الطرفين", - "Save_Your_Encryption_Password": "حفظ كلمة المرور المشفرة", - "Save_Your_Encryption_Password_warning": "لا نقوم بتخزين كلمة المرور، الرجاء حفظها لديك في مكان آخر", - "Save_Your_Encryption_Password_info": "لا يمكن إستعادة كلمة المرور في حال فقدانها ولن تستطيع الوصول لرسائلك", - "Search_Messages": "بحث الرسائل", - "Search": "بحث", - "Search_by": "بحث حسب", - "Search_global_users": "بحث عام عن المستخدمين", - "Search_global_users_description": "إذا قمت بالتفعيل، فسيمكنك البحث عن أي مستخدم في شركات أو خوادم أخرى", - "Seconds": "{{second}} ثواني", - "Select_Avatar": "حدد الصورة الرمزية", - "Select_Server": "حدد خادم", - "Select_Users": "حدد مستخدمين", - "Select_a_Channel": "حدد قناة", - "Select_a_Department": "حدد قسم", - "Select_an_option": "حدد خيار", - "Select_a_User": "حدد مستخدم", - "Send": "إرسال", - "Send_audio_message": "إرسال رسالة صوتية", - "Send_crash_report": "إرسال تقرير الأعطال", - "Send_message": "إرسال الرسالة", - "Send_me_the_code_again": "أرسل الرمز مرة أخرى", - "Send_to": "إرسال إلى...", - "Sending_to": "يتم الإرسال إلى", - "Sent_an_attachment": "تم إرسال المرفق", - "Server": "سرفر", - "Servers": "سرفرات", - "Server_version": "نسخة الخادم: {{version}}", - "Set_username_subtitle": "يتم استخدام اسم المستخدم للسماح للآخرين بذكرك في الرسائل", - "Set_custom_status": "حدد حالة خاصة", - "Set_status": "حدد حالة", - "Status_saved_successfully": "تم حفظ الحالة بنجاح!", - "Settings": "الإعدادات", - "Settings_succesfully_changed": "تم تعديل الإعدادات بنجاح!", - "Share": "مشاركة", - "Share_Link": "مشاركة رابط", - "Share_this_app": "مشاركة هذا البرنامج", - "Show_more": "إظهار أكثر..", - "Show_Unread_Counter": "عرض عدد الرسائل غير المقروءة", - "Show_Unread_Counter_Info": "يتم عرض العدد غير المقروء كشارة على يمين القناة في القائمة", - "Sign_in_your_server": "تسجيل الدخول إلى الخادم الخاص بك", - "Sign_Up": "تسجيل جديد", - "Some_field_is_invalid_or_empty": "بعض الحقول غير صالحة أو فارغة", - "Sorting_by": "فرز حسب {{key}}", - "Sound": "الصوت", - "Star_room": "تمييز الغرفة", - "Star": "تمييز", - "Starred_Messages": "رسائل مميزة", - "starred": "مميزة", - "Starred": "مميزة", - "Start_of_conversation": "بداية المحادثة", - "Start_a_Discussion": "ابدأ نقاش", - "Started_discussion": "بدأ النقاش", - "Started_call": "أجرى الاتصال {{userBy}}", - "Submit": "إرسال", - "Table": "جدول", - "Tags": "العلامات", - "Take_a_photo": "التقاط صورة", - "Take_a_video": "التقاط فيديو", - "Take_it": "التقط!", - "tap_to_change_status": "انقر لتغيير الحالة", - "Tap_to_view_servers_list": "انقر لعرض قائمة الخوادم", - "Terms_of_Service": " شروط الخدمة ", - "Theme": "سمة", - "The_user_wont_be_able_to_type_in_roomName": "المستخدم لن يتمكن من الكتابة في {{roomName}}", - "The_user_will_be_able_to_type_in_roomName": "المستخدم سيتمكن من الكتابة في {{roomName}}", - "There_was_an_error_while_action": "حدث خطأ أثناء {{action}}!", - "This_room_is_blocked": "هذه الغرفة محظورة", - "This_room_is_read_only": "هذه الغرفة للقراءة فقط", - "Thread": "موضوع", - "Threads": "مواضيع", - "Timezone": "المنطقة الزمنية", - "To": "إلى", - "topic": "عنوان", - "Topic": "عنوان", - "Translate": "ترجمة", - "Try_again": "حاول مجدداً", - "Two_Factor_Authentication": "المصادقة الثنائية", - "Type_the_channel_name_here": "اكتب اسم القناة هنا", - "unarchive": "إلغاء الأرشفة", - "UNARCHIVE": "إلغاء الأرشفة", - "Unblock_user": "إلغاء حظر عن مستخدم", - "Unfavorite": "إزالة من المفضلة", - "Unfollowed_thread": "موضوع غير متابع", - "Unmute": "إلغاء كتم", - "unmuted": "إلغاء كتم", - "Unpin": "إلغاء التثبيت", - "unread_messages": "رسائل غير مقروءة", - "Unread": "غير مقروء", - "Unread_on_top": "غير مقروء في الأعلى", - "Unstar": "إلغاء التمييز", - "Updating": "جار التحديث...", - "Uploading": "جار الرفع", - "Upload_file_question_mark": "رفع الملف؟", - "User": "مستخدم", - "Users": "مستخدمين", - "User_added_by": "مستخدم {{userAdded}} أضيف من قبل {{userBy}}", - "User_Info": "معلومات المستخدم", - "User_has_been_key": "تمت {{key}} المستخدم!", - "User_is_no_longer_role_by_": "تم إزالة الدور {{role}} عن المستخدم {{user}} من قبل {{userBy}}", - "User_muted_by": "المستخدم {{userMuted}} كتم من قبل {{userBy}}", - "User_removed_by": "المستخدم {{userRemoved}} حذف من قبل {{userBy}}", - "User_sent_an_attachment": "{{user}} أرسل مرفقًا", - "User_unmuted_by": "ألغى {{userBy}} الكتم عن {{userUnmuted}}", - "User_was_set_role_by_": "أضيف دور {{role}} للمستخدم {{user}} من قبل {{userBy}}", - "Username_is_empty": "اسم المستخدم فارغ", - "Username": "اسم المستخدم", - "Username_or_email": "اسم المستخدم أو البريد الالكتروني", - "Uses_server_configuration": "يستخدم إعداد الخادم", - "Validating": "يتم التحقق", - "Registration_Succeeded": "تم التسجيل بنجاح", - "Verify": "تحقق", - "Verify_email_title": "تم التسجيل!", - "Verify_email_desc": "لقد أرسلنا إليك بريداً إلكترونياً لتأكيد تسجيلك. إذا لم تتلق البريد الإلكتروني قريباً، فيرجى العودة والمحاولة مرة أخرى", - "Verify_your_email_for_the_code_we_sent": "يرجى تأكيد البريد الإلكتروني عبر الرمز المرسل", - "Video_call": "مكالمة فيديو", - "View_Original": "عرض المحتوى الأصلي", - "Voice_call": "مكالمة صوتية", - "Waiting_for_network": "بانتظار توفر شبكة...", - "Websocket_disabled": "تم تعطيل Websocket لهذا الخادم.\n{{contact}}", - "Welcome": "مرحبا", - "What_are_you_doing_right_now": "ما الذي تفعله حالياً؟", - "Whats_your_2fa": "ما هو رمز التحقق الثنائي؟", - "Without_Servers": "بدون خوادم", - "Workspaces": "مساحات العمل", - "Would_you_like_to_return_the_inquiry": "هل ترغب بالرد على السؤال؟", - "Write_External_Permission_Message": "يحتاج Rocket.Chat للوصول إلى معرض الصور الخاص بك حتى تتمكن من حفظ الصور", - "Write_External_Permission": "إذن معرض", - "Yes": "نعم", - "Yes_action_it": "نعم، {{action}}!", - "Yesterday": "أمس", - "You_are_in_preview_mode": "أنت في وضع المعاينة", - "You_are_offline": "أنت غير متصل", - "You_can_search_using_RegExp_eg": "يمكنك استخدام RegExp. مثال: `/^text$/i`", - "You_colon": "أنت: ", - "you_were_mentioned": "تمت الإشارة إليك", - "You_were_removed_from_channel": "تمت إزالتك من {{channel}}", - "you": "أنت", - "You": "أنت", - "Logged_out_by_server": "لقد تم تسجيل خروجك من قبل الخادم. الرجاد الدخول من جديد", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "تحتاج إلى الوصول إلى خادم Rocket.Chat واحد على الأقل لمشاركة شيء ما", - "You_need_to_verifiy_your_email_address_to_get_notications": "يجب تأكيد البريد الإلكتروني حتى تصلك الإشعارات", - "Your_certificate": "شهادتك", - "Your_invite_link_will_expire_after__usesLeft__uses": "سوف تنتهي صلاحية رابط الدعوة الخاص بك بعد {{usesLeft}} استخدامات", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "ستنتهي صلاحية رابط الدعوة الخاص بك في {{date}} أو بعد {{usesLeft}} استخدامات", - "Your_invite_link_will_expire_on__date__": "ستنتهي صلاحية رابط الدعوة الخاص بك في {{date}}", - "Your_invite_link_will_never_expire": "لن تنتهي صلاحية رابط الدعوة الخاص بك", - "Your_workspace": "مساحة عملك", - "Your_password_is": "كلمة المرور الخاصة بك هي", - "Version_no": "النسخة: {{version}}", - "You_will_not_be_able_to_recover_this_message": "لن تتمكن من استعادة هذه الرسالة!", - "You_will_unset_a_certificate_for_this_server": "ستلغي شهادة هذا الخادم", - "Change_Language": "تغيير اللغة", - "Crash_report_disclaimer": "نحن لا نتتبع محتوى محادثاتك أبداً. يحتوي تقرير الأعطال فقط على المعلومات ذات الصلة لنا من أجل تحديد المشاكل وإصلاحها", - "Type_message": "اكتب رسالة", - "Room_search": "البحث عن الغرف", - "Room_selection": "اختيار الغرفة 1...9", - "Next_room": "الغرفة المجاورة", - "Previous_room": "الغرفة السابقة", - "New_room": "غرفة جديدة", - "Upload_room": "تحميل إلى الغرفة", - "Search_messages": "رسائل البحث", - "Scroll_messages": "تمرير الرسائل", - "Reply_latest": "الرد على الأحدث", - "Reply_in_Thread": "الرد في موضوع", - "Server_selection": "اختيار الخادم", - "Server_selection_numbers": "اختيار الخادم 1...9", - "Add_server": "إضافة خادم", - "New_line": "سطر جديد", - "You_will_be_logged_out_of_this_application": "سيتم تسجيل خروجك من هذا التطبيق.", - "Clear": "مسح", - "This_will_clear_all_your_offline_data": "سيؤدي هذا إلى محو جميع بياناتك في وضع عدم الاتصال.", - "This_will_remove_all_data_from_this_server": "هذا الإجراء يحذف جميع البيانات من هذا السيرفر", - "Mark_unread": "علامة غير مقروء", - "Wait_activation_warning": "يحب تفعيل حسابك من المشرف قبل تسجيل الدخول", - "Screen_lock": "قفل الشاشة", - "Local_authentication_biometry_title": "صادق", - "Local_authentication_biometry_fallback": "استخدم كلمة المرور", - "Local_authentication_unlock_option": "افتح القفل بكلمة المرور", - "Local_authentication_change_passcode": "تغيير كلمة المرور", - "Local_authentication_info": "تنويه: يجب حذف التطبيق عند نسيان كلمة المرور", - "Local_authentication_facial_recognition": "التعرف على الوجه", - "Local_authentication_fingerprint": "البصمة", - "Local_authentication_unlock_with_label": "فتح القفل بـ {{label}}", - "Local_authentication_auto_lock_60": "بعد دقيقة", - "Local_authentication_auto_lock_300": "بعد 5 دقائق", - "Local_authentication_auto_lock_900": "بعد 15 دقيقة", - "Local_authentication_auto_lock_1800": "بعد 30 دقيقة", - "Local_authentication_auto_lock_3600": "بعد ساعة", - "Passcode_enter_title": "أدخل كلمة المرور", - "Passcode_choose_title": "اختر كلمة المرور الجديدة", - "Passcode_choose_confirm_title": "تأكيد كلمة المرور الجديدة", - "Passcode_choose_error": "كلمة المرور غير متطابقة. حاول مجدداً", - "Passcode_choose_force_set": "كلمة المرور مطلوبة من المشرف", - "Passcode_app_locked_title": "التطبيق مقفل", - "Passcode_app_locked_subtitle": "حاول مجدداً بعد {{timeLeft}} ثوان", - "After_seconds_set_by_admin": "بعد {{seconds}} ثوان (حددها المدير)", - "Dont_activate": "لا تقم بالتفعيل الآن", - "Queued_chats": "محادثات في قائمى الانتظار", - "Queue_is_empty": "قائمة الانتظار فارغة", - "Logout_from_other_logged_in_locations": "تسجيل الخروج من الأماكن الأخرى", - "You_will_be_logged_out_from_other_locations": "سيتم تسجيل خروج من الأماكن الأخرى", - "Logged_out_of_other_clients_successfully": "تم تسجيل الخروج من الأماكن الأخرى بنجاح", - "Logout_failed": "فشل تسجيل الخروج!", - "Log_analytics_events": "تحليلات سجل الأحداث", - "invalid-room": "غرفة غير صالحة" -} + "1_person_reacted": "تفاعل شخص 1", + "1_user": "مستخدم 1", + "error-action-not-allowed": "{{action}} غير مسموح", + "error-application-not-found": "لم يتم العثور على البرنامج", + "error-archived-duplicate-name": "هناك قناة مؤرشفة باسم {{room_name}}", + "error-avatar-invalid-url": "عنوان الصورة الرمزية غير صحيح: {{url}}", + "error-avatar-url-handling": "خطأ في معالجة الصورة الرمزية ({{url}}) للمستخدم {{username}}", + "error-cant-invite-for-direct-room": "لا يمكن دعوة المستخدم في الغرفة المباشرة", + "error-could-not-change-email": "تعذر تغيير البريد الإلكتروني", + "error-could-not-change-name": "تعذر تغيير الاسم", + "error-could-not-change-username": "تعذر تغيير اسم المستخدم", + "error-could-not-change-status": "تعذر تغيير الحالة", + "error-delete-protected-role": "لا يمكن حذف دور محمي", + "error-department-not-found": "القسم غير موجود", + "error-direct-message-file-upload-not-allowed": "مشاركة الملفات غير مسموح في الرسالة المباشرة", + "error-duplicate-channel-name": "القناة {{room_name}} موجودة مسبقاً", + "error-email-domain-blacklisted": "عنوان اﻹيميل محظور", + "error-email-send-failed": "خطأ في إرسال البريد اﻹلكتروني: {{message}}", + "error-save-image": "خطأ عند حفظ الصورة", + "error-save-video": "خطأ عند حفظ الفيديو", + "error-field-unavailable": "{{field}} مستخدم بالفعل :(", + "error-file-too-large": "حجم الملف كبير جداً", + "error-importer-not-defined": "المستورِد معرف بطريقة غير صحيحة، يجب تحديد نوع الإستيراد", + "error-input-is-not-a-valid-field": "{{input}} غير صالح {{field}}", + "error-invalid-actionlink": "رابط الإجراء غير صالح", + "error-invalid-arguments": "وسائط غير صحيحة", + "error-invalid-asset": "ممتلكات غير صحيحة", + "error-invalid-channel": "قناة غير صحيحة", + "error-invalid-channel-start-with-chars": "قناة غير صحيحة. تبدأ القناة بحرف @ أو #", + "error-invalid-custom-field": "حقل مخصص غير صالح", + "error-invalid-custom-field-name": "اسم الحقل المخصص غير صالح. استخدم الحروف والأرقام والواصلات والشرطات السفلية فقط", + "error-invalid-date": "التاريخ غير صالح", + "error-invalid-description": "الوصف غير صالح", + "error-invalid-domain": "عنوان الموقع غير صالح", + "error-invalid-email": "عنوان البريد اﻹلكتروني غير صالح {{email}}", + "error-invalid-email-address": "عنوان البريد اﻹلكتروني غير صالح", + "error-invalid-file-height": "ارتفاع الملف غير صالح", + "error-invalid-file-type": "نوع الملف غير صالح", + "error-invalid-file-width": "عرض الملف غير صالح", + "error-invalid-from-address": "عنوان غير صالح في خانة (من)", + "error-invalid-integration": "تكامل غير صالح", + "error-invalid-message": "رسالة غير صالحة", + "error-invalid-method": "طريقة غير صالحة", + "error-invalid-name": "اسم غير صالح", + "error-invalid-password": "كلمة مرور خاطئة", + "error-invalid-redirectUri": "رابط إعادة توجيه غير صحيح", + "error-invalid-role": "دور غير صالح", + "error-invalid-room": "غرفة غير صالحة", + "error-invalid-room-name": "{{room_name}} اسم الغرفة غير صالح", + "error-invalid-room-type": "{{type}} نوع الغرفة غير صالح", + "error-invalid-settings": "الإعدادات المعطاة غير صالحة", + "error-invalid-subscription": "اشتراك غير صالح", + "error-invalid-token": "الرمز غير صالح", + "error-invalid-triggerWords": "كلمات محفزة غير صالحة", + "error-invalid-urls": "عناوين غير صالحة", + "error-invalid-user": "مستخدم غير صالح", + "error-invalid-username": "اسم المستخدم غير صالح", + "error-invalid-webhook-response": "الرد التلقائي من العنوان استجاب برمز مغاير عن 200", + "error-message-deleting-blocked": "حذف الرسالة محظور", + "error-message-editing-blocked": "تعديل الرسالة محظور", + "error-message-size-exceeded": "حجم الرسالة تجاوز الحد المسموح به (Message_MaxAllowedSize)", + "error-missing-unsubscribe-link": "يجب عليك تقديم رابط [unsubscribe]", + "error-no-tokens-for-this-user": "لا توجد رموز لهذا المستخدم", + "error-not-allowed": "غير مسموح", + "error-not-authorized": "غير مصرح", + "error-push-disabled": "إرسال الإشعارات معطل", + "error-remove-last-owner": "هذا هو المالك الأخير. يرجى تعيين مالك جديد قبل إزالة هذا المالك", + "error-role-in-use": "لا يمكن حذف الدور لأنه قيد الاستخدام", + "error-role-name-required": "اسم الدور مطلوب", + "error-the-field-is-required": "هذا الحقل {{field}} مطلوب", + "error-too-many-requests": "خطأ، تلقينا الكثير من الطلبات. من فضلك خفف السرعة، يجب الانتظار لمدة {{seconds}} ثانية قبل المحاولة مرة أخرى", + "error-user-is-not-activated": "المستخدم غير منشط", + "error-user-has-no-roles": "ليس للمستخدم أدوار", + "error-user-limit-exceeded": "يتجاوز عدد المستخدمين الذين تحاول دعوتهم إلى #channel_name الحد الذي حدده المشرف", + "error-user-not-in-room": "المستخدم ليس في هذه الغرفة", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "التسجيل معطل", + "error-user-registration-secret": "التسجيل مسموح به عبر عنوان الويب السري فقط", + "error-you-are-last-owner": "أنت المالك الأخير. يرجى تعيين مالك جديد قبل مغادرة الغرفة", + "error-status-not-allowed": "تم تعطيل الحلة غير المرئية", + "Actions": "الإجراءات", + "Activity": "النشاط", + "Add_Reaction": "إضافة تفاعل", + "Add_Server": "إضافة خادم", + "Add_users": "إضافة مستخدمين", + "Admin_Panel": "لوحة الإدارة", + "Agent": "المندوب", + "Alert": "إنذار", + "alert": "إنذار", + "alerts": "الإنذارات", + "All_users_in_the_channel_can_write_new_messages": "يمكن لجميع المستخدمين في القناة كتابة رسائل جديدة", + "All_users_in_the_team_can_write_new_messages": "يمكن لجميع المستخدمين في الفريق كتابة رسائل جديدة", + "A_meaningful_name_for_the_discussion_room": "اسم معبر لغرفة النقاش", + "All": "الكل", + "All_Messages": "كل الرسائل", + "Allow_Reactions": "السماح للتفاعلات", + "Alphabetical": "أبجدي", + "and_more": "وأكثر", + "and": "و", + "announcement": "إعلان", + "Announcement": "إعلان", + "Apply_Your_Certificate": "طبق شهادتك", + "ARCHIVE": "أرشفة", + "archive": "أرشفة", + "are_typing": "يكتب", + "Are_you_sure_question_mark": "هل أنت متأكد؟", + "Are_you_sure_you_want_to_leave_the_room": "متأكد من مغادرة الغرفة {{room}}؟", + "Audio": "صوت", + "Authenticating": "تتم المصادقة", + "Automatic": "تلقائي", + "Auto_Translate": "ترجمة تلقائية", + "Avatar_changed_successfully": "تم تغيير الصورة الرمزية بنجاح!", + "Avatar_Url": "عنوان ويب الصورة الرمزية", + "Away": "غير متواجد", + "Back": "عودة", + "Black": "أسود", + "Block_user": "حظر المستخدم", + "Browser": "المتصفح", + "Broadcast_channel_Description": "يمكن فقط للمستخدمين المصرح لهم كتابة رسائل جديدة، ولكن سيتمكن المستخدمون الآخرون من الرد", + "Broadcast_Channel": "قناة البث", + "Busy": "مشغول", + "By_proceeding_you_are_agreeing": "من خلال المتابعة، أنت توافق على", + "Cancel_editing": "إلغاء التعديل", + "Cancel_recording": "إلغاء التسجيل الصوتي", + "Cancel": "إلغاء", + "changing_avatar": "تغيير الصورة الرمزية", + "creating_channel": "إنشاء قناة", + "creating_invite": "إنشاء دعوة", + "Channel_Name": "اسم القناة", + "Channels": "قنوات", + "Chats": "الرسائل", + "Call_already_ended": "تم انهاء المكالمة بالفعل !", + "Clear_cookies_alert": "هل تريد حذف جميع ملفات تعريف الإرتباط؟", + "Clear_cookies_desc": "هذا الإجراء سيحذف ملفات تعريف الإرتباط الخاصة بتسجيل الدخول مما يسمح بتسجيل الدخول لحسابات أخرى", + "Clear_cookies_yes": "نعم، مسح ملفات الإرتباط", + "Clear_cookies_no": "لا، احتفظ بملفات تعريف الإرتباط", + "Click_to_join": "انقر للانضمام!", + "Close": "إغلاق", + "Close_emoji_selector": "إغلاق محدد الرموز التعبيرية", + "Closing_chat": "إغلاق المحادثة", + "Change_language_loading": "تغيير اللغة", + "Chat_closed_by_agent": "المندوب أغلق المحادثة", + "Choose": "اختر", + "Choose_from_library": "اختر من المكتبة", + "Choose_file": "اختر ملف", + "Choose_where_you_want_links_be_opened": "اختر المكان الذي تريد فتح الروابط فيه", + "Code": "الرمز", + "Code_or_password_invalid": "الرمز أو كلمة المرور خاطئة", + "Collaborative": "تعاونية", + "Confirm": "تأكيد", + "Connect": "اتصال", + "Connected": "متصل", + "connecting_server": "يتم الاتصال بالخادم", + "Connecting": "جار الاتصال...", + "Contact_us": "تواصل معنا", + "Contact_your_server_admin": "اتصل بمسؤول الخادم", + "Continue_with": "متابعة بـ", + "Copied_to_clipboard": "تم النسخ للحافظة!", + "Copy": "نسخ", + "Conversation": "محادثة", + "Permalink": "رابط ثابت", + "Certificate_password": "الرقم السري للشهادة", + "Clear_cache": "امسح ذاكرة التخزين المؤقتة للخادم", + "Clear_cache_loading": "يتم مسح ذاكرة التخزين", + "Whats_the_password_for_your_certificate": "ماهي كلمة المرور للشهادة؟", + "Create_account": "إنشاء حساب", + "Create_Channel": "إنشاء قناة", + "Create_Direct_Messages": "إنشاء رسالة مباشرة", + "Create_Discussion": "إنشاء نقاش", + "Created_snippet": "إنشاء مقتطف", + "Create_a_new_workspace": "إنشاء مساحة عمل جديدة", + "Create": "إنشاء", + "Custom_Status": "حالة مخصصة", + "Dark": "داكن", + "Dark_level": "مستوى السمة الداكنة", + "Default": "افتراضي", + "Default_browser": "المتصفح الأساسي", + "Delete_Room_Warning": "سيؤدي حذف الغرفة إلى حذف جميع الرسائل المنشورة. لا يمكن التراجع بعد الحذف", + "Department": "القسم", + "delete": "حذف", + "Delete": "حذف", + "DELETE": "حذف", + "move": "حرك", + "deleting_room": "حذف الغرفة", + "description": "وصف", + "Description": "وصف", + "Desktop_Options": "خيارات سطح المكتب", + "Desktop_Notifications": "إخطارات سطح المكتب", + "Desktop_Alert_info": "هذه الإشعارات ترسل لسطح المكتب", + "Directory": "مجلد", + "Direct_Messages": "رسالة مباشرة", + "Disable_notifications": "أوقف الإشعارات", + "Discussions": "مناقشات", + "Discussion_Desc": "ساهم بإعطاء نظرة عامة لما يجري. عند إنشاء مناقشة يتم إنشاء قناة فرعية وربطها بالقناة المحددة", + "Discussion_name": "اسم النقاش", + "Done": "تم", + "Dont_Have_An_Account": "ليس لديك حساب؟", + "Do_you_have_an_account": "هل لديك حساب؟", + "Do_you_have_a_certificate": "هل لديك شهادة؟", + "Do_you_really_want_to_key_this_room_question_mark": "هل تريد حقاً {{key}} هذه الغرفة؟", + "E2E_How_It_Works_info1": "يمكنك الآن إنشاء مجموعات خاصة ورسائل مباشرة مشفرة. بإمكانك أيضاً تشفير المجموعات الخاصة والرسائل المباشرة الموجودة مسبقاً", + "E2E_How_It_Works_info2": "التشفير يتم بين الطرفيات بمعنى أن المفتاح سيستخدم لتشفير وفك تشفير رسائلك ولن يتم حفظه في الخادم. لذلك يترتب عليك حفظ كلمة المرور هذه في مكان آمن", + "E2E_How_It_Works_info3": "حين الاستمرار سيتم إنشاء كلمة المرور بين الطرفيات", + "E2E_How_It_Works_info4": "بإمكانك أيضاً إنشاء كلمة مرور جديدة لمفتاح التشفير في أي وقت عند دخولك بكلمة المرور الحالية لمفتاح التشفير", + "edit": "تعديل", + "edited": "معدل", + "Edit": "تعديل", + "Edit_Status": "تعديل الحالة", + "Edit_Invite": "تعديل الدعوة", + "End_to_end_encrypted_room": "غرفة مشفرة بين الطرفيات", + "end_to_end_encryption": "تشفير بين الطرفيات", + "Email_Notification_Mode_All": "لكل إشارة أو رسالة مباشرة", + "Email_Notification_Mode_Disabled": "معطل", + "Email_or_password_field_is_empty": "حقل البريد الإلكتروني أو كلمة المرور فارغ", + "Email": "البريد الإلكتروني", + "email": "البريد الإلكتروني", + "Empty_title": "عنوان فارغ", + "Enable_Auto_Translate": "تمكين الترجمة التلقائية", + "Enable_notifications": "تفعيل الإشعارات", + "Encrypted": "مشفر", + "Encrypted_message": "رسالة مشفرة", + "Enter_Your_E2E_Password": "أدخل كلمة المرور بين الطرفيات", + "Enter_Your_Encryption_Password_desc1": "سيمكنك هذا من الوصول لرسائلك المباشرة والمجموعات الخاصة", + "Enter_Your_Encryption_Password_desc2": "يجب إدخال كلمة المرور لتشفير وفك تشفير الرسائل المرسلة", + "Encryption_error_title": "كلمة المرور المشفرة خاطئة", + "Encryption_error_desc": "تعذر قراءة مفتاح التشفير أثناء الاستيراد", + "Everyone_can_access_this_channel": "يمكن للجميع الوصول إلى هذه القناة", + "Everyone_can_access_this_team": "يمكن للجميع الوصول إلى هذا الفريق", + "Error_uploading": "خطأ في الرفع", + "Expiration_Days": "انتهاء (أيام)", + "Favorites": "مفضلات", + "Files": "ملفات", + "File_description": "وصف الملف", + "File_name": "اسم الملف", + "Finish_recording": "إنهاء التسجيل", + "Following_thread": "متابعة الموضوع", + "For_your_security_you_must_enter_your_current_password_to_continue": "من أجل حمايتك، يجب عليك إدخال كلمة المرور الحالية للمتابعة", + "Forgot_password_If_this_email_is_registered": "إن كان البريد الإلكتروني مسجلاً، فسنرسل تعليمات إعادة تعيين كلمة المرور الخاصة بك. إذا لم تتلق بريداً إلكترونياً قريباً، فيرجى العودة والمحاولة مرة أخرى", + "Forgot_password": "هل نسيت كلمة المرور؟", + "Forgot_Password": "نسيت كلمة المرور", + "Forward": "إعادة توجيه", + "Forward_Chat": "إعادة توجيه المحادثة", + "Forward_to_department": "إعادة توجيه للقسم", + "Forward_to_user": "إعادة توجيه لمستخدم", + "Full_table": "انقر لرؤية الجدول كاملاً", + "Generate_New_Link": "إنشاء رابط جديد", + "Has_joined_the_channel": "انضم إلى القناة", + "Has_joined_the_conversation": "انضم إلى المحادثة", + "Has_left_the_channel": "غادر القناة", + "Hide_System_Messages": "إخفاء رسائل النظام", + "Hide_type_messages": "إخفاء رسائل \"{{type}}\"", + "How_It_Works": "طريقة العمل", + "Message_HideType_uj": "مستخدم انضم", + "Message_HideType_ul": "مستخدم غادر", + "Message_HideType_ru": "مستخدم حُذف", + "Message_HideType_au": "مستخدم أضيف", + "Message_HideType_mute_unmute": "صوت المستخدم كتم / فتح", + "Message_HideType_r": "اسم الغرفة تغير", + "Message_HideType_ut": "مستخدم انضم للمحادثة", + "Message_HideType_wm": "ترحيب", + "Message_HideType_rm": "رسالة حُذفت", + "Message_HideType_subscription_role_added": "تعيين دور جديد", + "Message_HideType_subscription_role_removed": "دور أصبح غير معرف", + "Message_HideType_room_archived": "غرفة أرشفت", + "Message_HideType_room_unarchived": "غرفة ألغيت أرشفتها", + "I_Saved_My_E2E_Password": "قمت بحفظ كلمة المرور الطرفية", + "IP": " عنوان بروتوكول الإنترنت (الآيبي)", + "In_app": "في التطبيق", + "In_App_And_Desktop": "تطبيق داخلي وسطح المكتب", + "In_App_and_Desktop_Alert_info": "يعرض شعاراً أعلى الشاشة عندما يكون التطبيق مفتوحًا، ويعرض إشعاراً على سطح المكتب", + "Invisible": "غير مرئي", + "Invite": "دعوة", + "is_a_valid_RocketChat_instance": "خادم Rocket.Chat صالح", + "is_not_a_valid_RocketChat_instance": "خادم Rocket.Chat غير صالح", + "is_typing": "يكتب", + "Invalid_or_expired_invite_token": "رمز الدعوة غير صالح أو منتهي الصلاحية", + "Invalid_server_version": "الخادم الذي تحاول الاتصال به يستخدم إصدارا لم يعد مدعوماً: {{currentVersion}}.\n\n النسخ المدعومة تبدأ من {{minVersion}}", + "Invite_Link": "رابط الدعوة", + "Invite_users": "دعوة المستخدمين", + "Join": "انضم", + "Join_Code": "رمز الانضمام", + "Insert_Join_Code": "ضع رمز الانضمام", + "Join_our_open_workspace": "انضم لمساحة عملنا المفتوحة", + "Join_your_workspace": "انضم لمساحة عملك", + "Just_invited_people_can_access_this_channel": "يمكن للأشخاص المدعوين فقط الوصول إلى هذه القناة", + "Just_invited_people_can_access_this_team": "فقط الأشخاص المدعوين يمكنهم الوصول إلى هذا الفريق", + "Language": "اللغة", + "last_message": "الرسالة الأخيرة", + "Leave_channel": "مغادرة القناة", + "leaving_room": "مغادرة الغرفة", + "Leave": "مغادرة الغرفة", + "leave": "مغادرة", + "Legal": "قانوني", + "Light": "ساطع", + "License": "رخصة", + "Livechat": "محادثة مباشرة", + "Livechat_edit": "تعديل المحادثة المباشرة", + "Login": "تسجيل الدخول", + "Login_error": "تم رفض تسجيل الدخول الرجاء المحاولة مرة أخرى", + "Login_with": "تسجيل الدخول بـ", + "Logging_out": "تسجيل الخروج", + "Logout": "تسجيل الخروج", + "Max_number_of_uses": "أقصى عدد للاستخدام", + "Max_number_of_users_allowed_is_number": "أقصى عدد للمستخدمين {{maxUsers}}", + "members": "أفراد", + "Members": "أفراد", + "Mentioned_Messages": "الرسائل المذكورة", + "mentioned": "مشار", + "Mentions": "الإشارات", + "Message_accessibility": "الرسالة من {{user}} في {{time}}: {{message}}", + "Message_actions": "إجراءات الرسالة", + "Message_pinned": "الرسالة مثبتة", + "Message_removed": "الرسالة حذفت", + "Message_starred": "الرسالة مميزة", + "Message_unstarred": "الرسالة غير مميزة", + "message": "رسالة", + "messages": "رسائل", + "Message": "الرسالة", + "Messages": "الرسائل", + "Message_Reported": "تم التبليغ على الرسالة", + "Microphone_Permission_Message": "يحتاج Rocket.Chat للوصول إلى الميكروفون الخاص بك حتى تتمكن من إرسال رسالة صوتية", + "Microphone_Permission": "إذن الميكروفون", + "Mute": "كتم", + "muted": "مكتوم", + "My_servers": "الخوادم", + "N_people_reacted": "{{n}} تفاعل الناس", + "N_users": "{{n}} مستخدمين", + "N_channels": "{{n}} القنوات", + "Name": "اسم", + "Navigation_history": "تاريخ التصفح", + "Never": "أبداً", + "New_Message": "رسالة جديدة", + "New_Password": "كلمة مرور جديدة", + "New_Server": "خادم جديد", + "Next": "التالي", + "No_files": "لا ملفات", + "No_limit": "لا حدود", + "No_mentioned_messages": "لا رسائل مشارة", + "No_pinned_messages": "لا رسائل مثبتة", + "No_results_found": "لا نتائج", + "No_starred_messages": "لا رسائل مميزة", + "No_thread_messages": "لا رسائل للموضوع", + "No_label_provided": "لا {{label}} معطى", + "No_Message": "لا رسائل", + "No_messages_yet": "لا رسائل حتى اﻵن", + "No_Reactions": "لا تفاعل", + "No_Read_Receipts": "لا إيصالات قراءة", + "Not_logged": "غير مسجل الدخول", + "Not_RC_Server": "هذا ليس بخادم Rocket.Chat.\n{{contact}}", + "Nothing": "لا شيء", + "Nothing_to_save": "لا شيء للحفظ!", + "Notify_active_in_this_room": "أبلغ المستخدمين النشطين في هذه الغرفة", + "Notify_all_in_this_room": "أبلغ الجميع في الغرفة", + "Notifications": "الإشعارات", + "Notification_Duration": "زمن الإشعار", + "Notification_Preferences": "تفضيلات الإشعار", + "No_available_agents_to_transfer": "المندوبين غير متوفرين حالياً", + "Offline": "غير متصل", + "Oops": "عفوًا!", + "Omnichannel": "القنوات الموحدة", + "Open_Livechats": "محادثات مباشرة جارية", + "Omnichannel_enable_alert": "أنت غير متاح ", + "Onboarding_description": "مساحة عمل هي مساحة لفريقك ومنظمتك للتعاون. اطلب من المشرف العنوان للانضمام أو أنشئ لفريقك", + "Onboarding_join_workspace": "انضم لمساحة عمل", + "Onboarding_subtitle": "ما بعد بيئة فريق تعاونية", + "Onboarding_title": "مرحبا بك في Rocket.Chat", + "Onboarding_join_open_description": "انضم لمساحة عملنا للتواصل مع فريق Rocket.Chat ومع المجتمع", + "Onboarding_agree_terms": "بالمواصلة أنت توافق على Rocket.Chat", + "Onboarding_less_options": "خيارات أقل", + "Onboarding_more_options": "خيارات أكثر", + "Online": "متصل", + "Only_authorized_users_can_write_new_messages": "يمكن للمستخدمين المصرح لهم فقط كتابة رسائل جديدة", + "Open_emoji_selector": "افتح محدد الرموز التعبيرية", + "Open_Source_Communication": "تواصل مفتوح المصدر", + "Open_your_authentication_app_and_enter_the_code": "افتح تطبيق المصادقة الخاص بك وأدخل الرمز", + "OR": "أو", + "OS": "نظام التشغيل", + "Overwrites_the_server_configuration_and_use_room_config": "يمكن للمستخدمين المصرح لهم فقط كتابة رسائل جديدة", + "Password": "كلمة المرور", + "Parent_channel_or_group": "القناة أو المجموعة الأب", + "Permalink_copied_to_clipboard": "تم نسخ الرابط الثابت إلى الحافظة!", + "Phone": "الهاتف", + "Pin": "ثبت", + "Pinned_Messages": "رسائل مثبتة", + "pinned": "مثبت", + "Pinned": "مثبت", + "Please_add_a_comment": "الرجاء إضافة تعليق", + "Please_enter_your_password": "الرجاء إدخال كلمة المرور", + "Please_wait": "الرجاء الإنتظار", + "Preferences": "التفضيلات", + "Preferences_saved": "تم حفظ التفضيلات", + "Privacy_Policy": "سياسة الخصوصية", + "Private_Channel": "قناة خاصة", + "Private": "خاص", + "Processing": "جار معالجة...", + "Profile_saved_successfully": "تم حفظ الملف الشخصي بنجاح!", + "Profile": "الملف الشخصي", + "Public_Channel": "قناة عامة", + "Public": "عام", + "Push_Notifications_Alert_Info": "يتم إرسال هذه الإشعارات إليك عندما لا يكون التطبيق مفتوحاً", + "Quote": "اقتباس", + "Reactions_are_disabled": "التفاعل معطل", + "Reactions_are_enabled": "التفاعل مفعل", + "Reactions": "التفاعلات", + "Read_External_Permission_Message": "يحتاج Rocket.chat للوصول إلى الصور والملفات الموجودة على الجهاز", + "Read_External_Permission": "صلاحية قراءة الوسائط", + "Read_Only_Channel": "قناة للقراءة فقط", + "Read_Only": "قراءة فقط", + "Read_Receipt": "قراءة المستلم", + "Receive_Group_Mentions": "تلقي إشارات المجموعة", + "Receive_Group_Mentions_Info": "تلقي @all و @here للإشعارات", + "Register": "تسجيل", + "Repeat_Password": "أعد كلمة المرور", + "Replied_on": "تم الرد على:", + "replies": "ردود", + "reply": "رد", + "Reply": "رد", + "Report": "بلاغ", + "Receive_Notification": "استلام الإشعار", + "Receive_notifications_from": "استلام الإشعارات من {{name}}", + "Resend": "أعد الإرسال", + "Reset_password": "إعادة تعيين كلمة المرور", + "resetting_password": "إعادة تعيين كلمة المرور", + "RESET": "إعادة", + "Return": "العودة", + "Review_app_title": "هل أنت مستمتع بهذا التطبيق؟", + "Review_app_desc": "قم بإعطائنا 5 نجوم {{store}}", + "Review_app_yes": "أكيد!", + "Review_app_no": "لا", + "Review_app_later": "ربما لاحقاً", + "Review_app_unable_store": "لم يتمكن من فتح {{store}}", + "Review_this_app": "تقييم هذا التطبيق", + "Remove": "حذف", + "remove": "حذف", + "Roles": "أدوار", + "Room_actions": "إجراءات الغرفة", + "Room_changed_announcement": "تم تغيير إعلان الغرفة إلى: {{announcement}} من قبل {{userBy}}", + "Room_changed_avatar": " {{userBy}}تم تغيير الصورة الرمزية للغرفة", + "Room_changed_description": "تم تغيير وصف الغرفة إلى: {{description}} من قبل {{userBy}}", + "Room_changed_privacy": "تم تغيير نوع الغرفة إلى: {{type}} من قبل {{userBy}}", + "Room_changed_topic": "تم تغيير موضوع الغرفة إلى: {{topic}} من قبل {{userBy}}", + "Room_Files": "ملفات الغرفة", + "Room_Info_Edit": "تعديل معلومات الغرفة", + "Room_Info": "معلومات الغرفة", + "Room_Members": "أعضاء الغرفة", + "Room_name_changed": "تم تغيير اسم الغرفة إلى: {{name}} من قبل {{userBy}}", + "SAVE": "حفظ", + "Save_Changes": "حفظ التغيرات", + "Save": "حفظ", + "Saved": "تم الحفظ", + "saving_preferences": "حفظ التفضيلات", + "saving_profile": "حفظ الملف الشخصي", + "saving_settings": "حفظ الإعدادات", + "saved_to_gallery": "تم الحفظ في المعرض", + "Save_Your_E2E_Password": "حفظ كلمة المرور بين الطرفين", + "Save_Your_Encryption_Password": "حفظ كلمة المرور المشفرة", + "Save_Your_Encryption_Password_warning": "لا نقوم بتخزين كلمة المرور، الرجاء حفظها لديك في مكان آخر", + "Save_Your_Encryption_Password_info": "لا يمكن إستعادة كلمة المرور في حال فقدانها ولن تستطيع الوصول لرسائلك", + "Search_Messages": "بحث الرسائل", + "Search": "بحث", + "Search_by": "بحث حسب", + "Search_global_users": "بحث عام عن المستخدمين", + "Search_global_users_description": "إذا قمت بالتفعيل، فسيمكنك البحث عن أي مستخدم في شركات أو خوادم أخرى", + "Seconds": "{{second}} ثواني", + "Security_and_privacy": "الأمن والخصوصية", + "Select_Avatar": "حدد الصورة الرمزية", + "Select_Server": "حدد خادم", + "Select_Users": "حدد مستخدمين", + "Select_a_Channel": "حدد قناة", + "Select_a_Department": "حدد قسم", + "Select_an_option": "حدد خيار", + "Select_a_User": "حدد مستخدم", + "Send": "إرسال", + "Send_audio_message": "إرسال رسالة صوتية", + "Send_crash_report": "إرسال تقرير الأعطال", + "Send_message": "إرسال الرسالة", + "Send_me_the_code_again": "أرسل الرمز مرة أخرى", + "Send_to": "إرسال إلى...", + "Sending_to": "يتم الإرسال إلى", + "Sent_an_attachment": "تم إرسال المرفق", + "Server": "سرفر", + "Servers": "سرفرات", + "Server_version": "نسخة الخادم: {{version}}", + "Set_username_subtitle": "يتم استخدام اسم المستخدم للسماح للآخرين بذكرك في الرسائل", + "Set_custom_status": "حدد حالة خاصة", + "Set_status": "حدد حالة", + "Status_saved_successfully": "تم حفظ الحالة بنجاح!", + "Settings": "الإعدادات", + "Settings_succesfully_changed": "تم تعديل الإعدادات بنجاح!", + "Share": "مشاركة", + "Share_Link": "مشاركة رابط", + "Share_this_app": "مشاركة هذا البرنامج", + "Show_more": "إظهار أكثر..", + "Show_Unread_Counter": "عرض عدد الرسائل غير المقروءة", + "Show_Unread_Counter_Info": "يتم عرض العدد غير المقروء كشارة على يمين القناة في القائمة", + "Sign_in_your_server": "تسجيل الدخول إلى الخادم الخاص بك", + "Sign_Up": "تسجيل جديد", + "Some_field_is_invalid_or_empty": "بعض الحقول غير صالحة أو فارغة", + "Sound": "الصوت", + "Star_room": "تمييز الغرفة", + "Star": "تمييز", + "Starred_Messages": "رسائل مميزة", + "starred": "مميزة", + "Starred": "مميزة", + "Start_of_conversation": "بداية المحادثة", + "Start_a_Discussion": "ابدأ نقاش", + "Started_discussion": "بدأ النقاش", + "Started_call": "أجرى الاتصال {{userBy}}", + "Submit": "إرسال", + "Table": "جدول", + "Tags": "العلامات", + "Take_a_photo": "التقاط صورة", + "Take_a_video": "التقاط فيديو", + "Take_it": "التقط!", + "tap_to_change_status": "انقر لتغيير الحالة", + "Tap_to_view_servers_list": "انقر لعرض قائمة الخوادم", + "Terms_of_Service": " شروط الخدمة ", + "Theme": "سمة", + "The_user_wont_be_able_to_type_in_roomName": "المستخدم لن يتمكن من الكتابة في {{roomName}}", + "The_user_will_be_able_to_type_in_roomName": "المستخدم سيتمكن من الكتابة في {{roomName}}", + "There_was_an_error_while_action": "حدث خطأ أثناء {{action}}!", + "This_room_is_blocked": "هذه الغرفة محظورة", + "This_room_is_read_only": "هذه الغرفة للقراءة فقط", + "Thread": "موضوع", + "Threads": "مواضيع", + "Timezone": "المنطقة الزمنية", + "To": "إلى", + "topic": "عنوان", + "Topic": "عنوان", + "Translate": "ترجمة", + "Try_again": "حاول مجدداً", + "Two_Factor_Authentication": "المصادقة الثنائية", + "Type_the_channel_name_here": "اكتب اسم القناة هنا", + "unarchive": "إلغاء الأرشفة", + "UNARCHIVE": "إلغاء الأرشفة", + "Unblock_user": "إلغاء حظر عن مستخدم", + "Unfollowed_thread": "موضوع غير متابع", + "Unmute": "إلغاء كتم", + "unmuted": "إلغاء كتم", + "Unpin": "إلغاء التثبيت", + "unread_messages": "رسائل غير مقروءة", + "Unread": "غير مقروء", + "Unread_on_top": "غير مقروء في الأعلى", + "Unstar": "إلغاء التمييز", + "Updating": "جار التحديث...", + "Uploading": "جار الرفع", + "Upload_file_question_mark": "رفع الملف؟", + "User": "مستخدم", + "Users": "مستخدمين", + "User_added_by": "مستخدم {{userAdded}} أضيف من قبل {{userBy}}", + "User_Info": "معلومات المستخدم", + "User_has_been_key": "تمت {{key}} المستخدم!", + "User_is_no_longer_role_by_": "تم إزالة الدور {{role}} عن المستخدم {{user}} من قبل {{userBy}}", + "User_muted_by": "المستخدم {{userMuted}} كتم من قبل {{userBy}}", + "User_removed_by": "المستخدم {{userRemoved}} حذف من قبل {{userBy}}", + "User_sent_an_attachment": "{{user}} أرسل مرفقًا", + "User_unmuted_by": "ألغى {{userBy}} الكتم عن {{userUnmuted}}", + "User_was_set_role_by_": "أضيف دور {{role}} للمستخدم {{user}} من قبل {{userBy}}", + "Username_is_empty": "اسم المستخدم فارغ", + "Username": "اسم المستخدم", + "Username_or_email": "اسم المستخدم أو البريد الالكتروني", + "Uses_server_configuration": "يستخدم إعداد الخادم", + "Validating": "يتم التحقق", + "Registration_Succeeded": "تم التسجيل بنجاح", + "Verify": "تحقق", + "Verify_email_title": "تم التسجيل!", + "Verify_email_desc": "لقد أرسلنا إليك بريداً إلكترونياً لتأكيد تسجيلك. إذا لم تتلق البريد الإلكتروني قريباً، فيرجى العودة والمحاولة مرة أخرى", + "Verify_your_email_for_the_code_we_sent": "يرجى تأكيد البريد الإلكتروني عبر الرمز المرسل", + "Video_call": "مكالمة فيديو", + "View_Original": "عرض المحتوى الأصلي", + "Voice_call": "مكالمة صوتية", + "Waiting_for_network": "بانتظار توفر شبكة...", + "Websocket_disabled": "تم تعطيل Websocket لهذا الخادم.\n{{contact}}", + "Welcome": "مرحبا", + "What_are_you_doing_right_now": "ما الذي تفعله حالياً؟", + "Whats_your_2fa": "ما هو رمز التحقق الثنائي؟", + "Without_Servers": "بدون خوادم", + "Workspaces": "مساحات العمل", + "Would_you_like_to_return_the_inquiry": "هل ترغب بالرد على السؤال؟", + "Write_External_Permission_Message": "يحتاج Rocket.Chat للوصول إلى معرض الصور الخاص بك حتى تتمكن من حفظ الصور", + "Write_External_Permission": "إذن معرض", + "Yes": "نعم", + "Yes_action_it": "نعم، {{action}}!", + "Yesterday": "أمس", + "You_are_in_preview_mode": "أنت في وضع المعاينة", + "You_are_offline": "أنت غير متصل", + "You_can_search_using_RegExp_eg": "يمكنك استخدام RegExp. مثال: `/^text$/i`", + "You_colon": "أنت: ", + "you_were_mentioned": "تمت الإشارة إليك", + "You_were_removed_from_channel": "تمت إزالتك من {{channel}}", + "you": "أنت", + "You": "أنت", + "Logged_out_by_server": "لقد تم تسجيل خروجك من قبل الخادم. الرجاد الدخول من جديد", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "تحتاج إلى الوصول إلى خادم Rocket.Chat واحد على الأقل لمشاركة شيء ما", + "You_need_to_verifiy_your_email_address_to_get_notications": "يجب تأكيد البريد الإلكتروني حتى تصلك الإشعارات", + "Your_certificate": "شهادتك", + "Your_invite_link_will_expire_after__usesLeft__uses": "سوف تنتهي صلاحية رابط الدعوة الخاص بك بعد {{usesLeft}} استخدامات", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "ستنتهي صلاحية رابط الدعوة الخاص بك في {{date}} أو بعد {{usesLeft}} استخدامات", + "Your_invite_link_will_expire_on__date__": "ستنتهي صلاحية رابط الدعوة الخاص بك في {{date}}", + "Your_invite_link_will_never_expire": "لن تنتهي صلاحية رابط الدعوة الخاص بك", + "Your_workspace": "مساحة عملك", + "Your_password_is": "كلمة المرور الخاصة بك هي", + "Version_no": "النسخة: {{version}}", + "You_will_not_be_able_to_recover_this_message": "لن تتمكن من استعادة هذه الرسالة!", + "You_will_unset_a_certificate_for_this_server": "ستلغي شهادة هذا الخادم", + "Change_Language": "تغيير اللغة", + "Crash_report_disclaimer": "نحن لا نتتبع محتوى محادثاتك أبداً. يحتوي تقرير الأعطال فقط على المعلومات ذات الصلة لنا من أجل تحديد المشاكل وإصلاحها", + "Type_message": "اكتب رسالة", + "Room_search": "البحث عن الغرف", + "Room_selection": "اختيار الغرفة 1...9", + "Next_room": "الغرفة المجاورة", + "Previous_room": "الغرفة السابقة", + "New_room": "غرفة جديدة", + "Upload_room": "تحميل إلى الغرفة", + "Search_messages": "رسائل البحث", + "Scroll_messages": "تمرير الرسائل", + "Reply_latest": "الرد على الأحدث", + "Reply_in_Thread": "الرد في موضوع", + "Server_selection": "اختيار الخادم", + "Server_selection_numbers": "اختيار الخادم 1...9", + "Add_server": "إضافة خادم", + "New_line": "سطر جديد", + "You_will_be_logged_out_of_this_application": "سيتم تسجيل خروجك من هذا التطبيق.", + "Clear": "مسح", + "This_will_clear_all_your_offline_data": "سيؤدي هذا إلى محو جميع بياناتك في وضع عدم الاتصال.", + "This_will_remove_all_data_from_this_server": "هذا الإجراء يحذف جميع البيانات من هذا السيرفر", + "Mark_unread": "علامة غير مقروء", + "Wait_activation_warning": "يحب تفعيل حسابك من المشرف قبل تسجيل الدخول", + "Screen_lock": "قفل الشاشة", + "Local_authentication_biometry_title": "صادق", + "Local_authentication_biometry_fallback": "استخدم كلمة المرور", + "Local_authentication_unlock_option": "افتح القفل بكلمة المرور", + "Local_authentication_change_passcode": "تغيير كلمة المرور", + "Local_authentication_info": "تنويه: يجب حذف التطبيق عند نسيان كلمة المرور", + "Local_authentication_facial_recognition": "التعرف على الوجه", + "Local_authentication_fingerprint": "البصمة", + "Local_authentication_unlock_with_label": "فتح القفل بـ {{label}}", + "Local_authentication_auto_lock_60": "بعد دقيقة", + "Local_authentication_auto_lock_300": "بعد 5 دقائق", + "Local_authentication_auto_lock_900": "بعد 15 دقيقة", + "Local_authentication_auto_lock_1800": "بعد 30 دقيقة", + "Local_authentication_auto_lock_3600": "بعد ساعة", + "Passcode_enter_title": "أدخل كلمة المرور", + "Passcode_choose_title": "اختر كلمة المرور الجديدة", + "Passcode_choose_confirm_title": "تأكيد كلمة المرور الجديدة", + "Passcode_choose_error": "كلمة المرور غير متطابقة. حاول مجدداً", + "Passcode_choose_force_set": "كلمة المرور مطلوبة من المشرف", + "Passcode_app_locked_title": "التطبيق مقفل", + "Passcode_app_locked_subtitle": "حاول مجدداً بعد {{timeLeft}} ثوان", + "After_seconds_set_by_admin": "بعد {{seconds}} ثوان (حددها المدير)", + "Dont_activate": "لا تقم بالتفعيل الآن", + "Queued_chats": "محادثات في قائمى الانتظار", + "Queue_is_empty": "قائمة الانتظار فارغة", + "Logout_from_other_logged_in_locations": "تسجيل الخروج من الأماكن الأخرى", + "You_will_be_logged_out_from_other_locations": "سيتم تسجيل خروج من الأماكن الأخرى", + "Logged_out_of_other_clients_successfully": "تم تسجيل الخروج من الأماكن الأخرى بنجاح", + "Logout_failed": "فشل تسجيل الخروج!", + "Log_analytics_events": "تحليلات سجل الأحداث", + "invalid-room": "غرفة غير صالحة" +} \ No newline at end of file diff --git a/app/i18n/locales/az.json b/app/i18n/locales/az.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/az.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/bas-CM.json b/app/i18n/locales/bas-CM.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/bas-CM.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/be-BY.json b/app/i18n/locales/be-BY.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/be-BY.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/bg.json b/app/i18n/locales/bg.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/bg.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/bn-BD.json b/app/i18n/locales/bn-BD.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/bn-BD.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/bn-IN.json b/app/i18n/locales/bn-IN.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/bn-IN.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/bs.json b/app/i18n/locales/bs.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/bs.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ca.json b/app/i18n/locales/ca.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ca.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/cs.json b/app/i18n/locales/cs.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/cs.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/cy.json b/app/i18n/locales/cy.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/cy.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/da.json b/app/i18n/locales/da.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/da.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/de-AT.json b/app/i18n/locales/de-AT.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/de-AT.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/de.json b/app/i18n/locales/de.json index 55b32c1fe..5a6fe2bda 100644 --- a/app/i18n/locales/de.json +++ b/app/i18n/locales/de.json @@ -1,776 +1,767 @@ { - "1_person_reacted": "1 Person hat reagiert", - "1_user": "1 Benutzer", - "error-action-not-allowed": "{{action}} ist nicht erlaubt", - "error-application-not-found": "Anwendung nicht gefunden", - "error-archived-duplicate-name": "Es gibt bereits einen archivierten Kanal mit dem Namen {{room_name}}", - "error-avatar-invalid-url": "Ungültige Avatar-URL: {{url}}", - "error-avatar-url-handling": "Fehler beim Umgang mit der Avatar-Einstellung von einer URL ({{url}}) für {{username}}", - "error-cant-invite-for-direct-room": "Benutzer können nicht zu Räumen eingeladen werden", - "error-could-not-change-email": "E-Mail konnte nicht geändert werden", - "error-could-not-change-name": "Name konnte nicht geändert werden", - "error-could-not-change-username": "Benutzername konnte nicht geändert werden", - "error-could-not-change-status": "Status konnte nicht geändert werden", - "error-delete-protected-role": "Eine geschützte Rolle kann nicht gelöscht werden", - "error-department-not-found": "Abteilung nicht gefunden", - "error-direct-message-file-upload-not-allowed": "Dateifreigabe in direkten Nachrichten nicht zulässig", - "error-duplicate-channel-name": "Ein Kanal mit dem Namen {{room_name}} ist bereits vorhanden", - "error-email-domain-blacklisted": "Die E-Mail-Domain wird auf die schwarze Liste gesetzt", - "error-email-send-failed": "Fehler beim Versuch, eine E-Mail zu senden: {{message}}", - "error-save-image": "Fehler beim Speichern des Bildes", - "error-save-video": "Fehler beim Speichern des Videos", - "error-field-unavailable": "{{field}} wird bereits verwendet :(", - "error-file-too-large": "Datei ist zu groß", - "error-importer-not-defined": "Der Import wurde nicht korrekt definiert, es fehlt die Importklasse.", - "error-input-is-not-a-valid-field": "{{input}} ist kein gültiges {{field}}", - "error-invalid-actionlink": "Ungültiger Aktionslink", - "error-invalid-arguments": "Ungültige Argumente", - "error-invalid-asset": "Ungültiges Asset", - "error-invalid-channel": "Ungültiger Kanal", - "error-invalid-channel-start-with-chars": "Ungültiger Kanal. Beginne mit @ oder #", - "error-invalid-custom-field": "Ungültiges benutzerdefiniertes Feld", - "error-invalid-custom-field-name": "Ungültiger benutzerdefinierter Feldname. Verwende nur Buchstaben, Zahlen, Bindestriche und Unterstriche.", - "error-invalid-date": "Ungültiges Datum angegeben", - "error-invalid-description": "Ungültige Beschreibung", - "error-invalid-domain": "Ungültige Domain", - "error-invalid-email": "Ungültige E-Mail {{email}}", - "error-invalid-email-address": "Ungültige E-Mail-Adresse", - "error-invalid-file-height": "Ungültige Dateihöhe", - "error-invalid-file-type": "Ungültiger Dateityp", - "error-invalid-file-width": "Ungültige Dateibreite", - "error-invalid-from-address": "Du hast eine ungültige FROM-Adresse mitgeteilt.", - "error-invalid-integration": "Ungültige Integration", - "error-invalid-message": "Ungültige Nachricht", - "error-invalid-method": "Ungültige Methode", - "error-invalid-name": "Ungültiger Name", - "error-invalid-password": "Ungültiges Passwort", - "error-invalid-redirectUri": "Ungültige Weiterleitung", - "error-invalid-role": "Ungültige Rolle", - "error-invalid-room": "Ungültiger Raum", - "error-invalid-room-name": "{{room_name}} ist kein gültiger Raumname", - "error-invalid-room-type": "{{type}} ist kein gültiger Raumtyp.", - "error-invalid-settings": "Ungültige Einstellungen angegeben", - "error-invalid-subscription": "Ungültiges Abonnement", - "error-invalid-token": "Ungültiges Token", - "error-invalid-triggerWords": "Ungültige TriggerWords", - "error-invalid-urls": "Ungültige URLs", - "error-invalid-user": "Ungültiger Benutzer", - "error-invalid-username": "Ungültiger Benutzername", - "error-invalid-webhook-response": "Die Webhook-URL antwortete mit einem anderen Status als 200", - "error-message-deleting-blocked": "Das Löschen von Nachrichten ist gesperrt", - "error-message-editing-blocked": "Die Bearbeitung von Nachrichten ist gesperrt", - "error-message-size-exceeded": "Die Nachrichtengröße überschreitet Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Du musst den Link [abbestellen] angeben.", - "error-no-owner-channel": "Dieser Raum gehört dir nicht", - "error-no-tokens-for-this-user": "Für diesen Benutzer gibt es keine Token", - "error-not-allowed": "Nicht erlaubt", - "error-not-authorized": "Nicht berechtigt", - "error-push-disabled": "Push ist deaktiviert", - "error-remove-last-owner": "Dies ist der letzte Besitzer. Bitte lege einen neuen Besitzer fest, bevor du diesen entfernst.", - "error-role-in-use": "Rolle kann nicht gelöscht werden, da sie gerade verwendet wird", - "error-role-name-required": "Der Rollenname ist erforderlich", - "error-the-field-is-required": "Das Feld {{field}} ist erforderlich.", - "error-too-many-requests": "Fehler, zu viele Anfragen. Du musst {{seconds}} Sekunden warten, bevor du es erneut versuchst.", - "error-user-is-not-activated": "Benutzer ist nicht aktiviert", - "error-user-has-no-roles": "Benutzer hat keine Rollen", - "error-user-limit-exceeded": "Die Anzahl der Benutzer, die du zu #channel_name einladen möchtest, überschreitet die vom Administrator festgelegte Grenze", - "error-user-not-in-room": "Benutzer ist nicht in diesem Raum", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "Die Benutzerregistrierung ist deaktiviert", - "error-user-registration-secret": "Die Benutzerregistrierung ist nur über eine geheime URL möglich", - "error-you-are-last-owner": "Du bist der letzte Besitzer. Bitte setze einen neuen Besitzer, bevor du den Raum verlässt.", - "error-status-not-allowed": "Unsichtbar-Status ist deaktiviert", - "Actions": "Aktionen", - "activity": "Aktivität", - "Activity": "Aktivität", - "Add_Reaction": "Reaktion hinzufügen", - "Add_Server": "Server hinzufügen", - "Add_users": "Benutzer hinzufügen", - "Admin_Panel": "Admin-Panel", - "Agent": "Agent", - "Alert": "Benachrichtigung", - "alert": "Benachrichtigung", - "alerts": "Benachrichtigungen", - "All_users_in_the_channel_can_write_new_messages": "Alle Benutzer im Kanal können neue Nachrichten schreiben", - "All_users_in_the_team_can_write_new_messages": "Alle Mitglieder eines Teams können neue Nachrichten schreiben", - "A_meaningful_name_for_the_discussion_room": "Ein aussagekräftiger Name für den Diskussionsraum", - "All": "alle", - "All_Messages": "Alle Nachrichten", - "Allow_Reactions": "Reaktionen zulassen", - "Alphabetical": "Alphabetisch", - "and_more": "und mehr", - "and": "und", - "announcement": "Ankündigung", - "Announcement": "Ankündigung", - "Apply_Your_Certificate": "Wende dein Zertifikat an", - "ARCHIVE": "ARCHIV", - "archive": "Archiv", - "are_typing": "tippen", - "Are_you_sure_question_mark": "Bist du sicher?", - "Are_you_sure_you_want_to_leave_the_room": "Möchtest du den Raum wirklich verlassen {{room}}?", - "Audio": "Audio", - "Authenticating": "Authentifizierung", - "Automatic": "Automatisch", - "Auto_Translate": "Automatische Übersetzung", - "Avatar_changed_successfully": "Avatar erfolgreich geändert!", - "Avatar_Url": "Avatar-URL", - "Away": "Abwesend", - "Back": "Zurück", - "Black": "Schwarz", - "Block_user": "Benutzer blockieren", - "Browser": "Browser", - "Broadcast_channel_Description": "Nur autorisierte Benutzer können neue Nachrichten schreiben, die anderen Benutzer können jedoch antworten", - "Broadcast_Channel": "Broadcast-Kanal", - "Busy": "Beschäftigt", - "By_proceeding_you_are_agreeing": "Indem du fortfährst, stimmst du zu unserem", - "Cancel_editing": "Bearbeitung abbrechen", - "Cancel_recording": "Aufnahme abbrechen", - "Cancel": "Abbrechen", - "changing_avatar": "Avatar wechseln", - "creating_channel": "Kanal erstellen", - "creating_invite": "Einladung erstellen", - "Channel_Name": "Kanal Name", - "Channels": "Kanäle", - "Chats": "Chats", - "Call_already_ended": "Anruf bereits beendet!", - "Clear_cookies_alert": "Möchtest du alle Cookies löschen?", - "Clear_cookies_desc": "Diese Aktion wird alle Login-Cookies löschen und erlaubt es dir, dich mit einem anderen Konto anzumelden.", - "Clear_cookies_yes": "Ja, Cookies löschen", - "Clear_cookies_no": "Nein, Cookies behalten", - "Click_to_join": "Klicken um beizutreten!", - "Close": "Schließen", - "Close_emoji_selector": "Schließe die Emoji-Auswahl", - "Closing_chat": "Chat schließen", - "Change_language_loading": "Ändere Sprache.", - "Chat_closed_by_agent": "Chat durch den Agenten geschlossen", - "Choose": "Wählen", - "Choose_from_library": "Aus der Bibliothek auswählen", - "Choose_file": "Datei auswählen", - "Choose_where_you_want_links_be_opened": "Entscheide, wie Links geöffnet werden sollen", - "Code": "Code", - "Code_or_password_invalid": "Code oder Passwort sind falsch", - "Collaborative": "Kollaborativ", - "Confirm": "Bestätigen", - "Connect": "Verbinden", - "Connected": "Verbunden", - "connecting_server": "verbinde zum Server", - "Connecting": "Verbinden ...", - "Contact_us": "Kontaktiere uns", - "Contact_your_server_admin": "Kontaktiere deinen Server-Administrator.", - "Continue_with": "Weitermachen mit", - "Copied_to_clipboard": "In die Zwischenablage kopiert!", - "Copy": "Kopieren", - "Conversation": "Konversationen", - "Permalink": "Permalink", - "Certificate_password": "Zertifikats-Passwort", - "Clear_cache": "Lokalen Server-Cache leeren", - "Clear_cache_loading": "Leere Cache.", - "Whats_the_password_for_your_certificate": "Wie lautet das Passwort für dein Zertifikat?", - "Create_account": "Ein Konto erstellen", - "Create_Channel": "Kanal erstellen", - "Create_Direct_Messages": "Direkt-Nachricht erstellen", - "Create_Discussion": "Diskussion erstellen", - "Created_snippet": "ein Snippet erstellt", - "Create_a_new_workspace": "Erstelle einen neuen Arbeitsbereich", - "Create": "Erstellen", - "Custom_Status": "Eigener Status", - "Dark": "Dunkel", - "Dark_level": "Dunkelstufe", - "Default": "Standard", - "Default_browser": "Standard-Browser", - "Delete_Room_Warning": "Durch das Löschen eines Raums werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.", - "Department": "Abteilung", - "delete": "löschen", - "Delete": "Löschen", - "DELETE": "LÖSCHEN", - "move": "verschieben", - "deleting_room": "lösche Raum", - "description": "Beschreibung", - "Description": "Beschreibung", - "Desktop_Options": "Desktop-Einstellungen", - "Desktop_Notifications": "Desktop-Benachrichtigungen", - "Desktop_Alert_info": "Diese Benachrichtigungen werden auf dem Desktop angezeigt", - "Directory": "Verzeichnis", - "Direct_Messages": "Direktnachrichten", - "Disable_notifications": "Benachrichtigungen deaktiveren", - "Discussions": "Diskussionen", - "Discussion_Desc": "Hilft dir die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Kanal im ausgewählten Raum erzeugt und beide verknüpft.", - "Discussion_name": "Diskussions-Name", - "Done": "Erledigt", - "Dont_Have_An_Account": "Du hast noch kein Konto?", - "Do_you_have_an_account": "Du hast schon ein Konto?", - "Do_you_have_a_certificate": "Hast du ein Zertifikat?", - "Do_you_really_want_to_key_this_room_question_mark": "Möchtest du diesen Raum wirklich {{key}}?", - "E2E_Encryption": "E2E-Verschlüsselung", - "E2E_How_It_Works_info1": "Du kannst nun verschlüsselte private Gruppen und Direktnachrichten versenden. Du kannst außerdem deine bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen.", - "E2E_How_It_Works_info2": "Dies ist *Ende-zu-Ende-Verschlüsselung*, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund musst du dieses Passwort an einem sicheren Ort speichern, so dass du später bei Bedarf darauf zugreifen kannst.", - "E2E_How_It_Works_info3": "Wenn du fortfährst, wird automatisch ein ein E2E-Passwort erzeugt.", - "E2E_How_It_Works_info4": "Du kannst außerdem jederzeit, in jedem Browser, in dem du das bestehende Passwort eingegeben hast, ein neues Passwort setzen.", - "edit": "bearbeiten", - "edited": "bearbeitet", - "Edit": "Bearbeiten", - "Edit_Status": "Status ändern", - "Edit_Invite": "Einladung bearbeiten", - "End_to_end_encrypted_room": "Ende-zu-Ende-verschlüsselter Raum", - "end_to_end_encryption": "Nicht mehr Ende-zu-Ende verschlüsseln", - "Email_Notification_Mode_All": "Jede Erwähnung/Direktnachricht", - "Email_Notification_Mode_Disabled": "Deaktiviert", - "Email_or_password_field_is_empty": "Das E-Mail- oder Passwortfeld ist leer", - "Email": "E-mail", - "email": "E-mail", - "Empty_title": "leerer Titel", - "Enable_Auto_Translate": "Automatische Übersetzung aktivieren", - "Enable_notifications": "Benachrichtigungen aktivieren", - "Encrypted": "Verschlüsselt", - "Encrypted_message": "Verschlüsselte Nachricht", - "Enter_Your_E2E_Password": "Gib dein Ende-zu-Ende-Passwort ein", - "Enter_Your_Encryption_Password_desc1": "Das erlaubt dir auf deine verschlüsselten privaten Gruppen und Direktnachrichten zuzugreifen.", - "Enter_Your_Encryption_Password_desc2": "Du musst das Passwort zur Ver-/Entschlüsselung an jeder Stelle eingeben, an dem du diesen Chat verwendest.", - "Encryption_error_title": "Dein Verschlüsselungs-Passwort scheint falsch zu sein", - "Encryption_error_desc": "Es war nicht möglich deinen Verschlüsselungs-Key zu importieren.", - "Everyone_can_access_this_channel": "Jeder kann auf diesen Kanal zugreifen", - "Everyone_can_access_this_team": "Jeder kann auf dieses Team zugreifen", - "Error_uploading": "Fehler beim Hochladen", - "Expiration_Days": "läuft ab (Tage)", - "Favorite": "Favorisieren", - "Favorites": "Favoriten", - "Files": "Dateien", - "File_description": "Dateibeschreibung", - "File_name": "Dateiname", - "Finish_recording": "Beende die Aufnahme", - "Following_thread": "Thread folgen", - "For_your_security_you_must_enter_your_current_password_to_continue": "Zu deiner Sicherheit musst du dein aktuelles Passwort eingeben, um fortzufahren", - "Forgot_password_If_this_email_is_registered": "Wenn diese E-Mail registriert ist, senden wir Anweisungen zum Zurücksetzen deines Passworts. Wenn du nicht in Kürze keine E-Mail erhältst, versuche es bitte erneut.", - "Forgot_password": "Passwort vergessen", - "Forgot_Password": "Passwort vergessen", - "Forward": "Weiterleiten", - "Forward_Chat": "Chat weiterleiten", - "Forward_to_department": "Weiterleiten an Abteilung", - "Forward_to_user": "Weiterleiten an Benutzer", - "Full_table": "Klicken um die ganze Tabelle anzuzeigen", - "Generate_New_Link": "Neuen Link erstellen", - "Group_by_favorites": "Nach Favoriten gruppieren", - "Group_by_type": "Gruppieren nach Typ", - "Hide": "Ausblenden", - "Has_joined_the_channel": "Ist dem Kanal beigetreten", - "Has_joined_the_conversation": "Hat sich dem Gespräch angeschlossen", - "Has_left_the_channel": "Hat den Kanal verlassen", - "Hide_System_Messages": "Systemnachrichten verstecken", - "Hide_type_messages": "Verstecke \"{{type}}\"-Nachrichten", - "How_It_Works": "Wie es funktioniert", - "Message_HideType_uj": "Benutzer beigetreten", - "Message_HideType_ul": "Benutzer verlassen", - "Message_HideType_ru": "Benutzer entfernt", - "Message_HideType_au": "Benutzer hinzugefügt", - "Message_HideType_mute_unmute": "Benutzer stummgeschaltet / freigegeben", - "Message_HideType_r": "Raumname geändert", - "Message_HideType_ut": "Benutzer ist der Unterhaltung beigetreten", - "Message_HideType_wm": "Willkommen", - "Message_HideType_rm": "Nachricht entfernt", - "Message_HideType_subscription_role_added": "Rolle wurde gesetzt", - "Message_HideType_subscription_role_removed": "Rolle nicht länger definiert", - "Message_HideType_room_archived": "Raum archiviert", - "Message_HideType_room_unarchived": "Raum nicht mehr archiviert", - "I_Saved_My_E2E_Password": "Ich habe mein Ende-zu-Ende-Passwort gesichert", - "IP": "IP", - "In_app": "In-App-Browser", - "In_App_And_Desktop": "In-App und Desktop", - "In_App_and_Desktop_Alert_info": "Zeigt ein Banner oben am Bildschirm, wenn die App geöffnet ist und eine Benachrichtigung auf dem Desktop.", - "Invisible": "Unsichtbar", - "Invite": "Einladen", - "is_a_valid_RocketChat_instance": "ist eine gültige Rocket.Chat-Instanz", - "is_not_a_valid_RocketChat_instance": "ist keine gültige Rocket.Chat-Instanz", - "is_typing": "schreibt", - "Invalid_or_expired_invite_token": "Ungültiger oder abgelaufener Einladungscode", - "Invalid_server_version": "Der Server, zu dem du dich verbinden möchtest, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{minVersion}}.", - "Invite_Link": "Einladungs-Link", - "Invite_users": "Benutzer einladen", - "Join": "Beitreten", - "Join_Code": "Beitrittscode", - "Insert_Join_Code": "Beitrittscode eingeben", - "Join_our_open_workspace": "Tritt unserem offenen Arbeitsbereich bei", - "Join_your_workspace": "Tritt deinem Arbeitsbereich bei", - "Just_invited_people_can_access_this_channel": "Nur eingeladene Personen können auf diesen Kanal zugreifen", - "Just_invited_people_can_access_this_team": "Nur eingeladene Personen können auf das Team zugreifen", - "Language": "Sprache", - "last_message": "letzte Nachricht", - "Leave_channel": "Kanal verlassen", - "leaving_room": "Raum verlassen", - "Leave": "Raum verlassen", - "leave": "verlassen", - "Legal": "Rechtliches", - "Light": "Hell", - "License": "Lizenz", - "Livechat": "Live-Chat", - "Livechat_edit": "Live-Chat bearbeiten", - "Login": "Anmeldung", - "Login_error": "Deine Zugangsdaten wurden abgelehnt! Bitte versuche es erneut.", - "Login_with": "Einloggen mit", - "Logging_out": "Abmelden.", - "Logout": "Abmelden", - "Max_number_of_uses": "Maximale Anzahl der Benutzungen", - "Max_number_of_users_allowed_is_number": "Maximale Anzahl von erlaubten Benutzern ist {{maxUsers}}", - "members": "Mitglieder", - "Members": "Mitglieder", - "Mentioned_Messages": "Erwähnte Nachrichten", - "mentioned": "erwähnt", - "Mentions": "Erwähnungen", - "Message_accessibility": "Nachricht von {{user}} um {{time}}: {{message}}", - "Message_actions": "Nachrichtenaktionen", - "Message_pinned": "Eine Nachricht wurde angeheftet", - "Message_removed": "Nachricht entfernt", - "Message_starred": "Nachricht favorisiert", - "Message_unstarred": "Nachricht nicht mehr favorisiert", - "message": "Nachricht", - "messages": "Nachrichten", - "Message": "Nachricht", - "Messages": "Mitteilungen", - "Message_Reported": "Nachricht gemeldet", - "Microphone_Permission_Message": "Rocket.Chat benötigt Zugriff auf das Mikrofon, damit du eine Audionachricht senden kannst.", - "Microphone_Permission": "Mikrofonberechtigung", - "Mute": "Diesem Benutzer das Chatten verbieten", - "muted": "stummgeschaltet", - "My_servers": "Meine Server", - "N_people_reacted": "{{n}} Leute haben reagiert", - "N_users": "{{n}} Benutzer", - "N_channels": "{{n}} Kanäle", - "name": "Name", - "Name": "Name", - "Navigation_history": "Navigations-Verlauf", - "Never": "Niemals", - "New_Message": "Neue Nachricht", - "New_Password": "Neues Kennwort", - "New_Server": "Neuer Server", - "Next": "Nächster", - "No_files": "Keine Dateien", - "No_limit": "Kein Limit", - "No_mentioned_messages": "Keine Nachrichten mit Erwähnungen", - "No_pinned_messages": "Keine angehefteten Nachrichten", - "No_results_found": "Keine Ergebnisse gefunden", - "No_starred_messages": "Keine markierten Nachrichten", - "No_thread_messages": "Keine Threadnachrichten", - "No_label_provided": "Kein(e) {{label}} gesetzt.", - "No_Message": "Keine Nachricht", - "No_messages_yet": "Noch keine Nachrichten", - "No_Reactions": "Keine Reaktionen", - "No_Read_Receipts": "Keine Lesebestätigungen", - "Not_logged": "Nicht protokolliert", - "Not_RC_Server": "Dies ist kein Rocket.Chat-Server.\n{{contact}}", - "Nothing": "Nichts", - "Nothing_to_save": "Nichts zu speichern!", - "Notify_active_in_this_room": "Aktive Benutzer in diesem Raum benachrichtigen", - "Notify_all_in_this_room": "Benachrichtige alle in diesem Raum", - "Notifications": "Benachrichtigungen", - "Notification_Duration": "Benachrichtigungsdauer", - "Notification_Preferences": "Benachrichtigungseinstellungen", - "No_available_agents_to_transfer": "Keine Agenten für den Transfer verfügbar", - "Offline": "Offline", - "Oops": "Hoppla!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Offene Chats", - "Omnichannel_enable_alert": "Du bist in Omnichannel nicht verfügbar. Möchtest du erreichbar sein?", - "Onboarding_description": "Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitte den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstelle einen Arbeitsbereich für dein Team.", - "Onboarding_join_workspace": "Tritt einem Arbeitsbereich bei", - "Onboarding_subtitle": "Mehr als Team-Zusammenarbeit", - "Onboarding_title": "Willkommen bei Rocket.Chat", - "Onboarding_join_open_description": "Tritt unserem Arbeitsbereich bei um mit dem Rocket.Chat-Team oder der Gemeinschaft zu chatten.", - "Onboarding_agree_terms": "Durch fortfahren stimmst du Rocket.Chats Bedingungen zu", - "Onboarding_less_options": "Weniger Optionen", - "Onboarding_more_options": "Mehr Optionen", - "Online": "Online", - "Only_authorized_users_can_write_new_messages": "Nur autorisierte Benutzer können neue Nachrichten schreiben", - "Open_emoji_selector": "Öffne die Emoji-Auswahl", - "Open_Source_Communication": "Open-Source-Kommunikation", - "Open_your_authentication_app_and_enter_the_code": "Öffne deine Authentifizierungsanwendung und gib den Code ein.", - "OR": "ODER", - "OS": "OS", - "Overwrites_the_server_configuration_and_use_room_config": "Übergeht die Servereinstellungen und nutzt Einstellung für den Raum", - "Password": "Passwort", - "Parent_channel_or_group": "Übergeordneter Kanal oder Gruppe", - "Permalink_copied_to_clipboard": "Permalink in die Zwischenablage kopiert!", - "Phone": "Telefon", - "Pin": "Anheften", - "Pinned_Messages": "Angeheftete Nachrichten", - "pinned": "angeheftet", - "Pinned": "Angeheftet", - "Please_add_a_comment": "Bitte Kommentar hinzufügen", - "Please_enter_your_password": "Gib bitte dein Passwort ein", - "Please_wait": "Bitte warten.", - "Preferences": "Einstellungen", - "Preferences_saved": "Einstellungen gespeichert!", - "Privacy_Policy": " Datenschutzbestimmungen", - "Private_Channel": "Privater Kanal", - "Private": "Privat", - "Processing": "Bearbeite …", - "Profile_saved_successfully": "Profil erfolgreich gespeichert!", - "Profile": "Profil", - "Public_Channel": "Öffentlicher Kanal", - "Public": "Öffentlich", - "Push_Notifications": "Push-Benachrichtigungen", - "Push_Notifications_Alert_Info": "Diese Benachrichtigungen werden dir zugestellt, wenn die App nicht geöffnet ist.", - "Quote": "Zitat", - "Reactions_are_disabled": "Reaktionen sind deaktiviert", - "Reactions_are_enabled": "Reaktionen sind aktiviert", - "Reactions": "Reaktionen", - "Read": "Gelesen", - "Read_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf deine Fotos, Medien und Dateien auf deinem Gerät", - "Read_External_Permission": "Lese-Zugriff auf Medien", - "Read_Only_Channel": "Nur-Lese-Kanal", - "Read_Only": "Schreibgeschützt", - "Read_Receipt": "Lesebestätigung", - "Receive_Group_Mentions": "Erhalte Gruppen-Benachrichtigungen", - "Receive_Group_Mentions_Info": "Empfange @all und @here Erwähnungen", - "Register": "Registrieren", - "Repeat_Password": "Wiederhole das Passwort", - "Replied_on": "Antwortete am:", - "replies": "Antworten", - "reply": "Antworten", - "Reply": "Antworten", - "Report": "Melden", - "Receive_Notification": "Erhalte Benachrichtigungen", - "Receive_notifications_from": "Erhalte Benachrichtigungen von {{name}}", - "Resend": "Erneut senden", - "Reset_password": "Passwort zurücksetzen", - "resetting_password": "Passwort zurücksetzen", - "RESET": "ZURÜCKSETZEN", - "Return": "Zurück", - "Review_app_title": "Gefällt dir diese App?", - "Review_app_desc": "Gib uns 5 Sterne im {{store}}", - "Review_app_yes": "Sicher!", - "Review_app_no": "Nein", - "Review_app_later": "Vielleicht später", - "Review_app_unable_store": "Kann {{store}} nicht öffnen", - "Review_this_app": "App bewerten", - "Remove": "Entfernen", - "remove": "entfernen", - "Roles": "Rollen", - "Room_actions": "Raumaktionen", - "Room_changed_announcement": "Raumansage geändert in: {{announcement}} von {{userBy}}", - "Room_changed_avatar": "Raum-Avatar durch Nutzer {{userBy}} gändert", - "Room_changed_description": "Raumbeschreibung geändert in: {{description}} von {{userBy}}", - "Room_changed_privacy": "Raumtyp geändert in: {{type}} von {{userBy}}", - "Room_changed_topic": "Raumthema geändert in: {{topic}} von {{userBy}}", - "Room_Files": "Raumdateien", - "Room_Info_Edit": "Rauminfo bearbeiten", - "Room_Info": "Rauminfo", - "Room_Members": "Raum-Mitglieder", - "Room_name_changed": "Raumname geändert in {{name}} von {{userBy}}", - "SAVE": "SPEICHERN", - "Save_Changes": "Änderungen speichern", - "Save": "speichern", - "Saved": "gespeichert", - "saving_preferences": "Präferenzen speichern", - "saving_profile": "Profil speichern", - "saving_settings": "Einstellungen speichern", - "saved_to_gallery": "Gespeichert in der Galerie", - "Save_Your_E2E_Password": "Speichere dein Ende-zu-Ende-Passwort", - "Save_Your_Encryption_Password": "Speichere dein Verschlüsselungs-Passwort", - "Save_Your_Encryption_Password_warning": "Dieses Passwort wird nirgends gespeichert, stelle daher sicher, dass du es an einem sicheren Ort aufbewahrst.", - "Save_Your_Encryption_Password_info": "Hinweis: Wenn du dieses Passwort verlierst, gibt es keine Möglichkeit es wieder herzustellen und du wirst nicht mehr auf deine Nachrichten zugreifen können.", - "Search_Messages": "Nachrichten suchen", - "Search": "Suche", - "Search_by": "Suche nach", - "Search_global_users": "Suche nach globalen Benutzern", - "Search_global_users_description": "Wenn aktiviert, kannst du nach Benutzern von anderen Unternehmen oder Servern suchen.", - "Seconds": "{{second}} Sekunden", - "Security_and_privacy": "Sicherheit und Datenschutz", - "Select_Avatar": "Wähle einen Avatar aus", - "Select_Server": "Server auswählen", - "Select_Users": "Benutzer auswählen", - "Select_a_Channel": "Kanal auswählen", - "Select_a_Department": "Abteilung auswählen", - "Select_an_option": "Option auswählen", - "Select_a_User": "Benutzer auswählen", - "Send": "Senden", - "Send_audio_message": "Audio-Nachricht senden", - "Send_crash_report": "Absturzbericht senden", - "Send_message": "Nachricht senden", - "Send_me_the_code_again": "Den Code neu versenden", - "Send_to": "Senden an …", - "Sending_to": "Sende an", - "Sent_an_attachment": "Sende einen Anhang", - "Server": "Server", - "Servers": "Server", - "Server_version": "Server version: {{version}}", - "Set_username_subtitle": "Der Benutzername wird verwendet, damit andere Personen dich in Nachrichten erwähnen können", - "Set_custom_status": "Individuellen Status setzen", - "Set_status": "Status setzen", - "Status_saved_successfully": "Status erfolgreich gesetzt!", - "Settings": "Einstellungen", - "Settings_succesfully_changed": "Einstellungen erfolgreich geändert!", - "Share": "Teilen", - "Share_Link": "Link teilen", - "Share_this_app": "App teilen", - "Show_more": "Mehr anzeigen …", - "Show_Unread_Counter": "Zähler anzeigen", - "Show_Unread_Counter_Info": "Anzahl der ungelesenen Nachrichten anzeigen", - "Sign_in_your_server": "Melde dich bei deinem Server an", - "Sign_Up": "Anmelden", - "Some_field_is_invalid_or_empty": "Ein Feld ist ungültig oder leer", - "Sorting_by": "Sortierung nach {{key}}", - "Sound": "Ton", - "Star_room": "Favorisierter Raum", - "Star": "Favoriten", - "Starred_Messages": "Favorisierte Nachrichten", - "starred": "favorisiert", - "Starred": "Favorisiert", - "Start_of_conversation": "Beginn des Gesprächs", - "Start_a_Discussion": "Beginne eine Diskussion", - "Started_discussion": "Hat eine Diskussion gestartet:", - "Started_call": "Anruf gestartet von {{userBy}}", - "Submit": "einreichen", - "Table": "Tabelle", - "Tags": "Tags", - "Take_a_photo": "Foto aufnehmen", - "Take_a_video": "Video aufnehmen", - "Take_it": "Annehmen!", - "tap_to_change_status": "Tippen um den Status zu ändern", - "Tap_to_view_servers_list": "Tippen, um die Serverliste anzuzeigen", - "Terms_of_Service": " Nutzungsbedingungen", - "Theme": "Erscheinungsbild", - "The_user_wont_be_able_to_type_in_roomName": "Dem Nutzer wird es nicht möglich sein in {{roomName}} zu schreiben", - "The_user_will_be_able_to_type_in_roomName": "Der Nutzer wird in {{roomName}} schreiben können", - "There_was_an_error_while_action": "Während {{action}} ist ein Fehler aufgetreten!", - "This_room_is_blocked": "Dieser Raum ist gesperrt", - "This_room_is_read_only": "Dieser Raum kann nur gelesen werden", - "Thread": "Thread", - "Threads": "Threads", - "Timezone": "Zeitzone", - "To": "An", - "topic": "Thema", - "Topic": "Thema", - "Translate": "Übersetzen", - "Try_again": "Versuche es nochmal", - "Two_Factor_Authentication": "Zwei-Faktor-Authentifizierung", - "Type_the_channel_name_here": "Gib hier den Kanalnamen ein", - "unarchive": "wiederherstellen", - "UNARCHIVE": "WIEDERHERSTELLEN", - "Unblock_user": "Benutzer entsperren", - "Unfavorite": "Nicht mehr favorisieren", - "Unfollowed_thread": "Thread nicht mehr folgen", - "Unmute": "Stummschaltung aufheben", - "unmuted": "Stummschaltung aufgehoben", - "Unpin": "Nachricht nicht mehr anheften", - "unread_messages": "ungelesene", - "Unread": "ungelesene", - "Unread_on_top": "Ungelesene oben", - "Unstar": "von Favoriten entfernen", - "Updating": "Aktualisierung …", - "Uploading": "Hochladen", - "Upload_file_question_mark": "Datei hochladen?", - "User": "Benutzer", - "Users": "Benutzer", - "User_added_by": "Benutzer {{userAdded}} hinzugefügt von {{userBy}}", - "User_Info": "Benutzerinfo", - "User_has_been_key": "Benutzer wurde {{key}}", - "User_is_no_longer_role_by_": "{{user}} ist nicht länger {{role}} von {{userBy}}", - "User_muted_by": "Benutzer {{userMuted}} von {{userBy}} stummgeschaltet", - "User_removed_by": "Benutzer {{userRemoved}} wurde von {{userBy}} entfernt", - "User_sent_an_attachment": "{{user}}: eine Datei gesendet", - "User_unmuted_by": "Benutzer {{userUnmuted}} nicht stummgeschaltet von {{userBy}}", - "User_was_set_role_by_": "{{user}} wurde von {{userBy}} {{role}} festgelegt.", - "Username_is_empty": "Der Benutzername ist leer", - "Username": "Benutzername", - "Username_or_email": "Benutzername oder E-Mail-Adresse", - "Uses_server_configuration": "Nutzt Servereinstellungen", - "Validating": "Validierung", - "Registration_Succeeded": "Registrierung erfolgreich!", - "Verify": "Überprüfen", - "Verify_email_title": "Registrierung erfolgreich!", - "Verify_email_desc": "Wir haben dir eine Email geschickt um deine Anmeldung zu bestätigen. Wenn du keine Email erhältst, komme bitte wieder und versuche es noch einmal.", - "Verify_your_email_for_the_code_we_sent": "Prüfe deine Mails für den Code, den wir dir eben geschickt haben.", - "Video_call": "Videoanruf", - "View_Original": "Original anzeigen", - "Voice_call": "Sprachanruf", - "Waiting_for_network": "Warte auf das Netzwerk …", - "Websocket_disabled": "Websockets sind auf diesem Server nicht aktiviert.\n{{contact}}", - "Welcome": "Herzlich willkommen", - "What_are_you_doing_right_now": "Was machst du gerade?", - "Whats_your_2fa": "Wie lautet dein 2FA-Code?", - "Without_Servers": "Ohne Server", - "Workspaces": "Arbeitsbereiche", - "Would_you_like_to_return_the_inquiry": "Willst du zur Anfrage zurück?", - "Write_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf deine Galerie um Bilder speichern zu können.", - "Write_External_Permission": "Galerie-Zugriff", - "Yes": "Ja", - "Yes_action_it": "Ja, {{action}}!", - "Yesterday": "Gestern", - "You_are_in_preview_mode": "Du befindest dich im Vorschaumodus", - "You_are_offline": "Du bist offline", - "You_can_search_using_RegExp_eg": "Du kannst mit RegExp suchen. z.B. `/ ^ text $ / i`", - "You_colon": "Du: ", - "you_were_mentioned": "Du wurdest erwähnt", - "You_were_removed_from_channel": "Du wurdest aus {{channel}} entfernt", - "you": "du", - "You": "Du", - "Logged_out_by_server": "Du bist vom Server abgemeldet worden. Bitte melde dich wieder an.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Du benötigst Zugang zu mindestens einem Rocket.Chat-Server um etwas zu teilen.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Du musst deine Email-Adresse bestätigen um Benachrichtigungen zu erhalten.", - "Your_certificate": "Dein Zertifikat", - "Your_invite_link_will_expire_after__usesLeft__uses": "Dein Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Dein Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.", - "Your_invite_link_will_expire_on__date__": "Dein Einladungs-Link wird am {{date}} ablaufen.", - "Your_invite_link_will_never_expire": "Dein Einladungs-Link wird niemals ablaufen.", - "Your_workspace": "Dein Arbeitsbereich", - "Your_password_is": "Dein Passwort lautet", - "Version_no": "Version: {{version}}", - "You_will_not_be_able_to_recover_this_message": "Du kannst diese Nachricht nicht wiederherstellen!", - "You_will_unset_a_certificate_for_this_server": "Du entfernst ein Zertifikat für diesen Server", - "Change_Language": "Sprache ändern", - "Crash_report_disclaimer": "Wir verfolgen niemals den Inhalt deiner Chats. Der Crash-Report enthält nur für uns relevante Informationen um das Problem zu erkennen und zu beheben.", - "Type_message": "Nachricht schreiben", - "Room_search": "Raum-Suche", - "Room_selection": "Raum-Auswahl 1...9", - "Next_room": "Nächster Raum", - "Previous_room": "Voriger Raum", - "New_room": "Neuer Raum", - "Upload_room": "Zu einem Raum hochladen", - "Search_messages": "Nachrichten durchsuchen", - "Scroll_messages": "Nachrichten durchblättern", - "Reply_latest": "Auf die letzte Nachricht antworten", - "Reply_in_Thread": "Im Thread antworten", - "Server_selection": "Server-Auswahl", - "Server_selection_numbers": "Server-Auswahl 1...9", - "Add_server": "Server hinzufügen", - "New_line": "Zeilenumbruch", - "You_will_be_logged_out_of_this_application": "Du wirst in dieser Anwendung vom Server abgemeldet.", - "Clear": "Löschen", - "This_will_clear_all_your_offline_data": "Dies wird deine Offline-Daten löschen.", - "This_will_remove_all_data_from_this_server": "Dies wird alle Daten von diesem Server löschen.", - "Mark_unread": "Als ungelesen markieren", - "Wait_activation_warning": "Bevor du dich anmelden kannst, muss dein Konto durch einen Administrator freigeschaltet werden.", - "Screen_lock": "Zugriffs-Sperre", - "Local_authentication_biometry_title": "Authentifizieren", - "Local_authentication_biometry_fallback": "Sicherheitscode benutzen", - "Local_authentication_unlock_option": "Entsperren mit Sicherheitscode", - "Local_authentication_change_passcode": "Ändere Sicherheitscode", - "Local_authentication_info": "Anmerkung: Wenn du den Sicherheitscode vergisst, musst du diese App löschen und neu installieren.", - "Local_authentication_facial_recognition": "Gesichtserkennung", - "Local_authentication_fingerprint": "Fingerabdruck", - "Local_authentication_unlock_with_label": "Entsperren mit {{label}}", - "Local_authentication_auto_lock_60": "Nach 1 Minute", - "Local_authentication_auto_lock_300": "Nach 5 Minuten", - "Local_authentication_auto_lock_900": "Nach 15 Minuten", - "Local_authentication_auto_lock_1800": "Nach 30 Minuten", - "Local_authentication_auto_lock_3600": "Nach 1 Stunde", - "Passcode_enter_title": "Gib deinen Sicherheitscode ein", - "Passcode_choose_title": "Setze deinen neuen Sicherheitscode", - "Passcode_choose_confirm_title": "Bestätige deinen neuen Sicherheitscode", - "Passcode_choose_error": "Sicherheitscodes stimmen nicht überein. Probiere es noch einmal.", - "Passcode_choose_force_set": "Sicherheitscode wird vom Admin verlangt", - "Passcode_app_locked_title": "App gesperrt", - "Passcode_app_locked_subtitle": "Versuche es in {{timeLeft}} Sekunden noch einmal.", - "After_seconds_set_by_admin": "Nach {{seconds}} Sekunden (durch den Admin gesetzt)", - "Dont_activate": "Jetzt nicht aktivieren", - "Queued_chats": "Chats in der Warteschlange", - "Queue_is_empty": "Warteschlange leer", - "Logout_from_other_logged_in_locations": "Auf anderen angemeldeten Geräte abmelden", - "You_will_be_logged_out_from_other_locations": "Du wirst auf anderen Geräten abgemeldet.", - "Logged_out_of_other_clients_successfully": "Erfolgreich von anderen Geräten abgemeldet.", - "Logout_failed": "Abmeldung fehlgeschlagen!", - "Log_analytics_events": "Analyse-Ereignisse loggen", - "E2E_encryption_change_password_title": "Verschlüsselungs-Passwort ändern", - "E2E_encryption_change_password_description": "Du kannst nun verschlüsselte private Gruppen und Direktnachrichten versenden. Du kannst außerdem deine bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen. \nDies ist Ende-zu-Ende-Verschlüsselung, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund musst du dieses Passwort an einem sicheren Ort speichern, du wirst es auf anderen Geräten benötigen auf denen du E2E-Verschlüsselung nutzen möchtest.", - "E2E_encryption_change_password_error": "Fehler beim Ändern des E2E-Passworts!", - "E2E_encryption_change_password_success": "E2E-Passwort erfolgreich geändert!", - "E2E_encryption_change_password_message": "Stelle sicher, dass du es noch an einer anderen Stelle gesichert hasst.", - "E2E_encryption_change_password_confirmation": "Ja, ändern", - "E2E_encryption_reset_title": "E2E-Schlüssel zurücksetzen", - "E2E_encryption_reset_description": "Diese Option wird deinen aktuellen E2E-Schlüssel entfernen und dich abmelden. \nWenn du dich wieder anmeldest, wird Rocket.Chat einen neuen Schlüssel erzeugen und deinen Zugang zu allen Kanälen mit einer oder mehreren anwesenden Personen wieder herstellen. \nAufgrund der Funktionsweise von E2E-Verschlüsselung, kann Rocket.Chat nicht deinen Zugang zu Kanälen wieder herstellen, in denen keine andere Person anwesend ist.", - "E2E_encryption_reset_button": "E2E-Schlüssel zurücksetzen", - "E2E_encryption_reset_error": "Fehler beim Zurücksetzen des E2E-Schlüssels!", - "E2E_encryption_reset_message": "Du wirst abgemeldet.", - "E2E_encryption_reset_confirmation": "Ja, zurücksetzen", - "Following": "verfolgte", - "Threads_displaying_all": "zeige alle", - "Threads_displaying_following": "zeige gefolgte", - "Threads_displaying_unread": "Zeige ungelesene", - "No_threads": "Es gibt keine Threads", - "No_threads_following": "Du folgst keinen Threads", - "No_threads_unread": "Es gibt keine ungelesenen Threads", - "Messagebox_Send_to_channel": "an Kanal senden", - "Leader": "Leiter", - "Moderator": "Moderator", - "Owner": "Eigentümer", - "Remove_from_room": "Aus dem Raum entfernen", - "Ignore": "Ignorieren", - "Unignore": "Nicht mehr ignorieren", - "User_has_been_ignored": "Benutzer wurde stumm geschaltet", - "User_has_been_unignored": "Benutzer nicht mehr stumm geschaltet", - "User_has_been_removed_from_s": "Benutzer wurde aus {{s}} entfernt", - "User__username__is_now_a_leader_of__room_name_": "Benutzer {{username}} ist nun Diskussionsleiter von {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "Benutzer {{username}} ist nun Moderator von {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "Benutzer {{username}} ist nun Eigentümer von {{room_name}}", - "User__username__removed_from__room_name__leaders": "Benutzer {{username}} als Diskussionsleiter von {{room_name}} entfernt", - "User__username__removed_from__room_name__moderators": "Benutzer {{username}} als Moderator von {{room_name}} entfernt", - "User__username__removed_from__room_name__owners": "Benutzer {{username}} als Eigentümer von {{room_name}} entfernt", - "The_user_will_be_removed_from_s": "Der Benutzer wird aus {{s}} entfernt", - "Yes_remove_user": "Ja, Benutzer entfernen!", - "Direct_message": "Direktnachricht", - "Message_Ignored": "Nachricht ignoriert. Antippen um sie zu zeigen.", - "Enter_workspace_URL": "Arbeitsbereich-URL", - "Workspace_URL_Example": "z.B. https://rocketchat.deine-firma.de", - "This_room_encryption_has_been_enabled_by__username_": "Die Verschlüsselung dieses Raums wurde von {{username}} aktiviert", - "This_room_encryption_has_been_disabled_by__username_": "Die Verschlüsselung dieses Raums wurde von {{username}} deaktiviert", - "Teams": "Teams", - "No_team_channels_found": "Keine Kanäle gefunden", - "Team_not_found": "Team nicht gefunden", - "Create_Team": "Team erstellen", - "Team_Name": "Team-Name", - "Private_Team": "Privates Team", - "Read_Only_Team": "Nur-Lesen-Team", - "Broadcast_Team": "Broadcast-Team", - "creating_team": "Team erstellen", - "team-name-already-exists": "Ein Team mit diesem Namen existiert bereits", - "Add_Channel_to_Team": "Kanal zum Team hinzufügen", - "Left_The_Team_Successfully": "Das Team erfolgreich verlassen", - "Create_New": "Neu erstellen", - "Add_Existing": "Vorhandenes hinzufügen", - "Add_Existing_Channel": "Vorhandenen Kanal hinzufügen", - "Remove_from_Team": "Aus Team entfernen", - "Auto-join": "Automatischer Beitritt", - "Remove_Team_Room_Warning": "Möchten du diesen Kanal aus dem Team entfernen? Der Kanal wird zurück in den Arbeitsbereich verschoben.", - "Confirmation": "Bestätigung", - "invalid-room": "Ungültiger Raum", - "You_are_leaving_the_team": "Du verlässt das Team '{{team}}'", - "Leave_Team": "Team verlassen", - "Select_Team": "Team auswählen", - "Select_Team_Channels": "Wähle die Kanäle des Teams aus, die du verlassen möchtest.", - "Cannot_leave": "Verlassen nicht möglich", - "Cannot_remove": "Kann nicht entfernt werden", - "Cannot_delete": "Kann nicht gelöscht werden", - "Last_owner_team_room": "Du bist der letzte Eigentümer des Kanals. Wenn du das Team verlässt, bleibt der Kanal innerhalb des Teams aber du verwaltest ihn von außen.", - "last-owner-can-not-be-removed": "Letzter Besitzer kann nicht entfernt werden", - "Remove_User_Teams": "Wähle die Kanäle aus, aus denen der Benutzer entfernt werden soll.", - "Delete_Team": "Team löschen", - "Select_channels_to_delete": "Dies kann nicht rückgängig gemacht werden. Wenn du ein Team löschst, werden alle Chat-Inhalte und und Einstellungen gelöscht.\n\nWähle die Kanäle, die du löschen möchtest. Diejenigen, die du behalten möchtest, werden in deinem Arbeitsbereich verfügbar sein. Beachte, das öffentliche Kanäle öffentlich bleiben und für jeden sichtbar sein werden.", - "You_are_deleting_the_team": "Du löschst dieses Team", - "Removing_user_from_this_team": "Du entfernst {{user}} aus diesem Team", - "Remove_User_Team_Channels": "Wähle die Kanäle aus, aus denen der Benutzer entfernt werden soll.", - "Remove_Member": "Mitglied entfernen", - "leaving_team": "Team verlassen", - "removing_team": "Aus dem Team entfernen", - "moving_channel_to_team": "Kanal zu Team verschieben", - "deleting_team": "Team löschen", - "member-does-not-exist": "Mitglied existiert nicht", - "Convert": "Konvertieren", - "Convert_to_Team": "Zu Team konvertieren", - "Convert_to_Team_Warning": "Dies kann nicht rückgängig gemacht werden. Sobald du einen Kanal in ein Team umgewandelt hast, kannst du ihn nicht mehr zurück in einen Kanal verwandeln.", - "Move_to_Team": "Zu Team hinzufügen", - "Move_Channel_Paragraph": "Das Verschieben eines Kanals innerhalb eines Teams bedeutet, dass dieser Kanal im Kontext des Teams hinzugefügt wird, jedoch haben alle Mitglieder des Kanals, die nicht Mitglied des jeweiligen Teams sind, weiterhin Zugriff auf diesen Kanal, werden aber nicht als Teammitglieder hinzugefügt \n\nDie gesamte Verwaltung des Kanals wird weiterhin von den Eigentümern dieses Kanals vorgenommen.\n\nTeammitglieder und sogar Teameigentümer, die nicht Mitglied dieses Kanals sind, können keinen Zugriff auf den Inhalt des Kanals haben \n\nBitte beachte, dass der Besitzer des Teams in der Lage ist, Mitglieder aus dem Kanal zu entfernen.", - "Move_to_Team_Warning": "Nachdem du die vorherigen Anleitungen zu diesem Verhalten gelesen hast, möchtest du diesen Kanal immer noch in das ausgewählte Team verschieben?", - "Load_More": "Mehr laden", - "Load_Newer": "Neuere laden", - "Load_Older": "Ältere laden", - "room-name-already-exists": "Raum-Name existiert bereits", - "error-team-creation": "Fehler bei der Erstellung des Teams", - "unauthorized": "Nicht erlaubt", - "Left_The_Room_Successfully": "Raum erfolgreich verlassen", - "Deleted_The_Team_Successfully": "Team erfolgreich gelöscht", - "Deleted_The_Room_Successfully": "Raum erfolgreich gelöscht", - "Convert_to_Channel": "In Kanal umwandeln", - "Converting_Team_To_Channel": "Team in Kanal umwandeln", - "Select_Team_Channels_To_Delete": "Wähle die Kanäle des Teams aus, die du löschen möchtest. Die Kanäle, die du nicht auswählst, werden in den Arbeitsbereich verschoben \n\nBeachte, dass öffentliche Kanäle öffentlich und für alle sichtbar sind.", - "You_are_converting_the_team": "Du wandelst dieses Team in einen Raum um", - "creating_discussion": "erzeuge Diskussion" -} + "1_person_reacted": "1 Person hat reagiert", + "1_user": "1 Benutzer", + "error-action-not-allowed": "{{action}} ist nicht erlaubt", + "error-application-not-found": "Anwendung nicht gefunden", + "error-archived-duplicate-name": "Es gibt bereits einen archivierten Kanal mit dem Namen {{room_name}}", + "error-avatar-invalid-url": "Ungültige Avatar-URL: {{url}}", + "error-avatar-url-handling": "Fehler beim Umgang mit der Avatar-Einstellung von einer URL ({{url}}) für {{username}}", + "error-cant-invite-for-direct-room": "Benutzer können nicht zu Räumen eingeladen werden", + "error-could-not-change-email": "E-Mail konnte nicht geändert werden", + "error-could-not-change-name": "Name konnte nicht geändert werden", + "error-could-not-change-username": "Benutzername konnte nicht geändert werden", + "error-could-not-change-status": "Status konnte nicht geändert werden", + "error-delete-protected-role": "Eine geschützte Rolle kann nicht gelöscht werden", + "error-department-not-found": "Abteilung nicht gefunden", + "error-direct-message-file-upload-not-allowed": "Dateifreigabe in direkten Nachrichten nicht zulässig", + "error-duplicate-channel-name": "Ein Kanal mit dem Namen {{room_name}} ist bereits vorhanden", + "error-email-domain-blacklisted": "Die E-Mail-Domain wird auf die schwarze Liste gesetzt", + "error-email-send-failed": "Fehler beim Versuch, eine E-Mail zu senden: {{message}}", + "error-save-image": "Fehler beim Speichern des Bildes", + "error-save-video": "Fehler beim Speichern des Videos", + "error-field-unavailable": "{{field}} wird bereits verwendet :(", + "error-file-too-large": "Datei ist zu groß", + "error-importer-not-defined": "Der Import wurde nicht korrekt definiert, es fehlt die Importklasse.", + "error-input-is-not-a-valid-field": "{{input}} ist kein gültiges {{field}}", + "error-invalid-actionlink": "Ungültiger Aktionslink", + "error-invalid-arguments": "Ungültige Argumente", + "error-invalid-asset": "Ungültiges Asset", + "error-invalid-channel": "Ungültiger Kanal", + "error-invalid-channel-start-with-chars": "Ungültiger Kanal. Beginne mit @ oder #", + "error-invalid-custom-field": "Ungültiges benutzerdefiniertes Feld", + "error-invalid-custom-field-name": "Ungültiger benutzerdefinierter Feldname. Verwende nur Buchstaben, Zahlen, Bindestriche und Unterstriche.", + "error-invalid-date": "Ungültiges Datum angegeben", + "error-invalid-description": "Ungültige Beschreibung", + "error-invalid-domain": "Ungültige Domain", + "error-invalid-email": "Ungültige E-Mail {{email}}", + "error-invalid-email-address": "Ungültige E-Mail-Adresse", + "error-invalid-file-height": "Ungültige Dateihöhe", + "error-invalid-file-type": "Ungültiger Dateityp", + "error-invalid-file-width": "Ungültige Dateibreite", + "error-invalid-from-address": "Du hast eine ungültige FROM-Adresse mitgeteilt.", + "error-invalid-integration": "Ungültige Integration", + "error-invalid-message": "Ungültige Nachricht", + "error-invalid-method": "Ungültige Methode", + "error-invalid-name": "Ungültiger Name", + "error-invalid-password": "Ungültiges Passwort", + "error-invalid-redirectUri": "Ungültige Weiterleitung", + "error-invalid-role": "Ungültige Rolle", + "error-invalid-room": "Ungültiger Raum", + "error-invalid-room-name": "{{room_name}} ist kein gültiger Raumname", + "error-invalid-room-type": "{{type}} ist kein gültiger Raumtyp.", + "error-invalid-settings": "Ungültige Einstellungen angegeben", + "error-invalid-subscription": "Ungültiges Abonnement", + "error-invalid-token": "Ungültiges Token", + "error-invalid-triggerWords": "Ungültige TriggerWords", + "error-invalid-urls": "Ungültige URLs", + "error-invalid-user": "Ungültiger Benutzer", + "error-invalid-username": "Ungültiger Benutzername", + "error-invalid-webhook-response": "Die Webhook-URL antwortete mit einem anderen Status als 200", + "error-message-deleting-blocked": "Das Löschen von Nachrichten ist gesperrt", + "error-message-editing-blocked": "Die Bearbeitung von Nachrichten ist gesperrt", + "error-message-size-exceeded": "Die Nachrichtengröße überschreitet Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "Du musst den Link [abbestellen] angeben.", + "error-no-owner-channel": "Dieser Raum gehört dir nicht", + "error-no-tokens-for-this-user": "Für diesen Benutzer gibt es keine Token", + "error-not-allowed": "Nicht erlaubt", + "error-not-authorized": "Nicht berechtigt", + "error-push-disabled": "Push ist deaktiviert", + "error-remove-last-owner": "Dies ist der letzte Besitzer. Bitte lege einen neuen Besitzer fest, bevor du diesen entfernst.", + "error-role-in-use": "Rolle kann nicht gelöscht werden, da sie gerade verwendet wird", + "error-role-name-required": "Der Rollenname ist erforderlich", + "error-the-field-is-required": "Das Feld {{field}} ist erforderlich.", + "error-too-many-requests": "Fehler, zu viele Anfragen. Du musst {{seconds}} Sekunden warten, bevor du es erneut versuchst.", + "error-user-is-not-activated": "Benutzer ist nicht aktiviert", + "error-user-has-no-roles": "Benutzer hat keine Rollen", + "error-user-limit-exceeded": "Die Anzahl der Benutzer, die du zu #channel_name einladen möchtest, überschreitet die vom Administrator festgelegte Grenze", + "error-user-not-in-room": "Benutzer ist nicht in diesem Raum", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "Die Benutzerregistrierung ist deaktiviert", + "error-user-registration-secret": "Die Benutzerregistrierung ist nur über eine geheime URL möglich", + "error-you-are-last-owner": "Du bist der letzte Besitzer. Bitte setze einen neuen Besitzer, bevor du den Raum verlässt.", + "error-status-not-allowed": "Unsichtbar-Status ist deaktiviert", + "Actions": "Aktionen", + "Activity": "Aktivität", + "Add_Reaction": "Reaktion hinzufügen", + "Add_Server": "Server hinzufügen", + "Add_users": "Benutzer hinzufügen", + "Admin_Panel": "Admin-Panel", + "Agent": "Agent", + "Alert": "Benachrichtigung", + "alert": "Benachrichtigung", + "alerts": "Benachrichtigungen", + "All_users_in_the_channel_can_write_new_messages": "Alle Benutzer im Kanal können neue Nachrichten schreiben", + "All_users_in_the_team_can_write_new_messages": "Alle Mitglieder eines Teams können neue Nachrichten schreiben", + "A_meaningful_name_for_the_discussion_room": "Ein aussagekräftiger Name für den Diskussionsraum", + "All": "alle", + "All_Messages": "Alle Nachrichten", + "Allow_Reactions": "Reaktionen zulassen", + "Alphabetical": "Alphabetisch", + "and_more": "und mehr", + "and": "und", + "announcement": "Ankündigung", + "Announcement": "Ankündigung", + "Apply_Your_Certificate": "Wende dein Zertifikat an", + "ARCHIVE": "ARCHIV", + "archive": "Archiv", + "are_typing": "tippen", + "Are_you_sure_question_mark": "Bist du sicher?", + "Are_you_sure_you_want_to_leave_the_room": "Möchtest du den Raum wirklich verlassen {{room}}?", + "Audio": "Audio", + "Authenticating": "Authentifizierung", + "Automatic": "Automatisch", + "Auto_Translate": "Automatische Übersetzung", + "Avatar_changed_successfully": "Avatar erfolgreich geändert!", + "Avatar_Url": "Avatar-URL", + "Away": "Abwesend", + "Back": "Zurück", + "Black": "Schwarz", + "Block_user": "Benutzer blockieren", + "Browser": "Browser", + "Broadcast_channel_Description": "Nur autorisierte Benutzer können neue Nachrichten schreiben, die anderen Benutzer können jedoch antworten", + "Broadcast_Channel": "Broadcast-Kanal", + "Busy": "Beschäftigt", + "By_proceeding_you_are_agreeing": "Indem du fortfährst, stimmst du zu unserem", + "Cancel_editing": "Bearbeitung abbrechen", + "Cancel_recording": "Aufnahme abbrechen", + "Cancel": "Abbrechen", + "changing_avatar": "Avatar wechseln", + "creating_channel": "Kanal erstellen", + "creating_invite": "Einladung erstellen", + "Channel_Name": "Kanal Name", + "Channels": "Kanäle", + "Chats": "Chats", + "Call_already_ended": "Anruf bereits beendet!", + "Clear_cookies_alert": "Möchtest du alle Cookies löschen?", + "Clear_cookies_desc": "Diese Aktion wird alle Login-Cookies löschen und erlaubt es dir, dich mit einem anderen Konto anzumelden.", + "Clear_cookies_yes": "Ja, Cookies löschen", + "Clear_cookies_no": "Nein, Cookies behalten", + "Click_to_join": "Klicken um beizutreten!", + "Close": "Schließen", + "Close_emoji_selector": "Schließe die Emoji-Auswahl", + "Closing_chat": "Chat schließen", + "Change_language_loading": "Ändere Sprache.", + "Chat_closed_by_agent": "Chat durch den Agenten geschlossen", + "Choose": "Wählen", + "Choose_from_library": "Aus der Bibliothek auswählen", + "Choose_file": "Datei auswählen", + "Choose_where_you_want_links_be_opened": "Entscheide, wie Links geöffnet werden sollen", + "Code": "Code", + "Code_or_password_invalid": "Code oder Passwort sind falsch", + "Collaborative": "Kollaborativ", + "Confirm": "Bestätigen", + "Connect": "Verbinden", + "Connected": "Verbunden", + "connecting_server": "verbinde zum Server", + "Connecting": "Verbinden ...", + "Contact_us": "Kontaktiere uns", + "Contact_your_server_admin": "Kontaktiere deinen Server-Administrator.", + "Continue_with": "Weitermachen mit", + "Copied_to_clipboard": "In die Zwischenablage kopiert!", + "Copy": "Kopieren", + "Conversation": "Konversationen", + "Permalink": "Permalink", + "Certificate_password": "Zertifikats-Passwort", + "Clear_cache": "Lokalen Server-Cache leeren", + "Clear_cache_loading": "Leere Cache.", + "Whats_the_password_for_your_certificate": "Wie lautet das Passwort für dein Zertifikat?", + "Create_account": "Ein Konto erstellen", + "Create_Channel": "Kanal erstellen", + "Create_Direct_Messages": "Direkt-Nachricht erstellen", + "Create_Discussion": "Diskussion erstellen", + "Created_snippet": "ein Snippet erstellt", + "Create_a_new_workspace": "Erstelle einen neuen Arbeitsbereich", + "Create": "Erstellen", + "Custom_Status": "Eigener Status", + "Dark": "Dunkel", + "Dark_level": "Dunkelstufe", + "Default": "Standard", + "Default_browser": "Standard-Browser", + "Delete_Room_Warning": "Durch das Löschen eines Raums werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.", + "Department": "Abteilung", + "delete": "löschen", + "Delete": "Löschen", + "DELETE": "LÖSCHEN", + "move": "verschieben", + "deleting_room": "lösche Raum", + "description": "Beschreibung", + "Description": "Beschreibung", + "Desktop_Options": "Desktop-Einstellungen", + "Desktop_Notifications": "Desktop-Benachrichtigungen", + "Desktop_Alert_info": "Diese Benachrichtigungen werden auf dem Desktop angezeigt", + "Directory": "Verzeichnis", + "Direct_Messages": "Direktnachrichten", + "Disable_notifications": "Benachrichtigungen deaktiveren", + "Discussions": "Diskussionen", + "Discussion_Desc": "Hilft dir die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Kanal im ausgewählten Raum erzeugt und beide verknüpft.", + "Discussion_name": "Diskussions-Name", + "Done": "Erledigt", + "Dont_Have_An_Account": "Du hast noch kein Konto?", + "Do_you_have_an_account": "Du hast schon ein Konto?", + "Do_you_have_a_certificate": "Hast du ein Zertifikat?", + "Do_you_really_want_to_key_this_room_question_mark": "Möchtest du diesen Raum wirklich {{key}}?", + "E2E_Encryption": "E2E-Verschlüsselung", + "E2E_How_It_Works_info1": "Du kannst nun verschlüsselte private Gruppen und Direktnachrichten versenden. Du kannst außerdem deine bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen.", + "E2E_How_It_Works_info2": "Dies ist *Ende-zu-Ende-Verschlüsselung*, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund musst du dieses Passwort an einem sicheren Ort speichern, so dass du später bei Bedarf darauf zugreifen kannst.", + "E2E_How_It_Works_info3": "Wenn du fortfährst, wird automatisch ein ein E2E-Passwort erzeugt.", + "E2E_How_It_Works_info4": "Du kannst außerdem jederzeit, in jedem Browser, in dem du das bestehende Passwort eingegeben hast, ein neues Passwort setzen.", + "edit": "bearbeiten", + "edited": "bearbeitet", + "Edit": "Bearbeiten", + "Edit_Status": "Status ändern", + "Edit_Invite": "Einladung bearbeiten", + "End_to_end_encrypted_room": "Ende-zu-Ende-verschlüsselter Raum", + "end_to_end_encryption": "Nicht mehr Ende-zu-Ende verschlüsseln", + "Email_Notification_Mode_All": "Jede Erwähnung/Direktnachricht", + "Email_Notification_Mode_Disabled": "Deaktiviert", + "Email_or_password_field_is_empty": "Das E-Mail- oder Passwortfeld ist leer", + "Email": "E-mail", + "email": "E-mail", + "Empty_title": "leerer Titel", + "Enable_Auto_Translate": "Automatische Übersetzung aktivieren", + "Enable_notifications": "Benachrichtigungen aktivieren", + "Encrypted": "Verschlüsselt", + "Encrypted_message": "Verschlüsselte Nachricht", + "Enter_Your_E2E_Password": "Gib dein Ende-zu-Ende-Passwort ein", + "Enter_Your_Encryption_Password_desc1": "Das erlaubt dir auf deine verschlüsselten privaten Gruppen und Direktnachrichten zuzugreifen.", + "Enter_Your_Encryption_Password_desc2": "Du musst das Passwort zur Ver-/Entschlüsselung an jeder Stelle eingeben, an dem du diesen Chat verwendest.", + "Encryption_error_title": "Dein Verschlüsselungs-Passwort scheint falsch zu sein", + "Encryption_error_desc": "Es war nicht möglich deinen Verschlüsselungs-Key zu importieren.", + "Everyone_can_access_this_channel": "Jeder kann auf diesen Kanal zugreifen", + "Everyone_can_access_this_team": "Jeder kann auf dieses Team zugreifen", + "Error_uploading": "Fehler beim Hochladen", + "Expiration_Days": "läuft ab (Tage)", + "Favorites": "Favoriten", + "Files": "Dateien", + "File_description": "Dateibeschreibung", + "File_name": "Dateiname", + "Finish_recording": "Beende die Aufnahme", + "Following_thread": "Thread folgen", + "For_your_security_you_must_enter_your_current_password_to_continue": "Zu deiner Sicherheit musst du dein aktuelles Passwort eingeben, um fortzufahren", + "Forgot_password_If_this_email_is_registered": "Wenn diese E-Mail registriert ist, senden wir Anweisungen zum Zurücksetzen deines Passworts. Wenn du nicht in Kürze keine E-Mail erhältst, versuche es bitte erneut.", + "Forgot_password": "Passwort vergessen", + "Forgot_Password": "Passwort vergessen", + "Forward": "Weiterleiten", + "Forward_Chat": "Chat weiterleiten", + "Forward_to_department": "Weiterleiten an Abteilung", + "Forward_to_user": "Weiterleiten an Benutzer", + "Full_table": "Klicken um die ganze Tabelle anzuzeigen", + "Generate_New_Link": "Neuen Link erstellen", + "Has_joined_the_channel": "Ist dem Kanal beigetreten", + "Has_joined_the_conversation": "Hat sich dem Gespräch angeschlossen", + "Has_left_the_channel": "Hat den Kanal verlassen", + "Hide_System_Messages": "Systemnachrichten verstecken", + "Hide_type_messages": "Verstecke \"{{type}}\"-Nachrichten", + "How_It_Works": "Wie es funktioniert", + "Message_HideType_uj": "Benutzer beigetreten", + "Message_HideType_ul": "Benutzer verlassen", + "Message_HideType_ru": "Benutzer entfernt", + "Message_HideType_au": "Benutzer hinzugefügt", + "Message_HideType_mute_unmute": "Benutzer stummgeschaltet / freigegeben", + "Message_HideType_r": "Raumname geändert", + "Message_HideType_ut": "Benutzer ist der Unterhaltung beigetreten", + "Message_HideType_wm": "Willkommen", + "Message_HideType_rm": "Nachricht entfernt", + "Message_HideType_subscription_role_added": "Rolle wurde gesetzt", + "Message_HideType_subscription_role_removed": "Rolle nicht länger definiert", + "Message_HideType_room_archived": "Raum archiviert", + "Message_HideType_room_unarchived": "Raum nicht mehr archiviert", + "I_Saved_My_E2E_Password": "Ich habe mein Ende-zu-Ende-Passwort gesichert", + "IP": "IP", + "In_app": "In-App-Browser", + "In_App_And_Desktop": "In-App und Desktop", + "In_App_and_Desktop_Alert_info": "Zeigt ein Banner oben am Bildschirm, wenn die App geöffnet ist und eine Benachrichtigung auf dem Desktop.", + "Invisible": "Unsichtbar", + "Invite": "Einladen", + "is_a_valid_RocketChat_instance": "ist eine gültige Rocket.Chat-Instanz", + "is_not_a_valid_RocketChat_instance": "ist keine gültige Rocket.Chat-Instanz", + "is_typing": "schreibt", + "Invalid_or_expired_invite_token": "Ungültiger oder abgelaufener Einladungscode", + "Invalid_server_version": "Der Server, zu dem du dich verbinden möchtest, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{minVersion}}.", + "Invite_Link": "Einladungs-Link", + "Invite_users": "Benutzer einladen", + "Join": "Beitreten", + "Join_Code": "Beitrittscode", + "Insert_Join_Code": "Beitrittscode eingeben", + "Join_our_open_workspace": "Tritt unserem offenen Arbeitsbereich bei", + "Join_your_workspace": "Tritt deinem Arbeitsbereich bei", + "Just_invited_people_can_access_this_channel": "Nur eingeladene Personen können auf diesen Kanal zugreifen", + "Just_invited_people_can_access_this_team": "Nur eingeladene Personen können auf das Team zugreifen", + "Language": "Sprache", + "last_message": "letzte Nachricht", + "Leave_channel": "Kanal verlassen", + "leaving_room": "Raum verlassen", + "Leave": "Raum verlassen", + "leave": "verlassen", + "Legal": "Rechtliches", + "Light": "Hell", + "License": "Lizenz", + "Livechat": "Live-Chat", + "Livechat_edit": "Live-Chat bearbeiten", + "Login": "Anmeldung", + "Login_error": "Deine Zugangsdaten wurden abgelehnt! Bitte versuche es erneut.", + "Login_with": "Einloggen mit", + "Logging_out": "Abmelden.", + "Logout": "Abmelden", + "Max_number_of_uses": "Maximale Anzahl der Benutzungen", + "Max_number_of_users_allowed_is_number": "Maximale Anzahl von erlaubten Benutzern ist {{maxUsers}}", + "members": "Mitglieder", + "Members": "Mitglieder", + "Mentioned_Messages": "Erwähnte Nachrichten", + "mentioned": "erwähnt", + "Mentions": "Erwähnungen", + "Message_accessibility": "Nachricht von {{user}} um {{time}}: {{message}}", + "Message_actions": "Nachrichtenaktionen", + "Message_pinned": "Eine Nachricht wurde angeheftet", + "Message_removed": "Nachricht entfernt", + "Message_starred": "Nachricht favorisiert", + "Message_unstarred": "Nachricht nicht mehr favorisiert", + "message": "Nachricht", + "messages": "Nachrichten", + "Message": "Nachricht", + "Messages": "Mitteilungen", + "Message_Reported": "Nachricht gemeldet", + "Microphone_Permission_Message": "Rocket.Chat benötigt Zugriff auf das Mikrofon, damit du eine Audionachricht senden kannst.", + "Microphone_Permission": "Mikrofonberechtigung", + "Mute": "Diesem Benutzer das Chatten verbieten", + "muted": "stummgeschaltet", + "My_servers": "Meine Server", + "N_people_reacted": "{{n}} Leute haben reagiert", + "N_users": "{{n}} Benutzer", + "N_channels": "{{n}} Kanäle", + "Name": "Name", + "Navigation_history": "Navigations-Verlauf", + "Never": "Niemals", + "New_Message": "Neue Nachricht", + "New_Password": "Neues Kennwort", + "New_Server": "Neuer Server", + "Next": "Nächster", + "No_files": "Keine Dateien", + "No_limit": "Kein Limit", + "No_mentioned_messages": "Keine Nachrichten mit Erwähnungen", + "No_pinned_messages": "Keine angehefteten Nachrichten", + "No_results_found": "Keine Ergebnisse gefunden", + "No_starred_messages": "Keine markierten Nachrichten", + "No_thread_messages": "Keine Threadnachrichten", + "No_label_provided": "Kein(e) {{label}} gesetzt.", + "No_Message": "Keine Nachricht", + "No_messages_yet": "Noch keine Nachrichten", + "No_Reactions": "Keine Reaktionen", + "No_Read_Receipts": "Keine Lesebestätigungen", + "Not_logged": "Nicht protokolliert", + "Not_RC_Server": "Dies ist kein Rocket.Chat-Server.\n{{contact}}", + "Nothing": "Nichts", + "Nothing_to_save": "Nichts zu speichern!", + "Notify_active_in_this_room": "Aktive Benutzer in diesem Raum benachrichtigen", + "Notify_all_in_this_room": "Benachrichtige alle in diesem Raum", + "Notifications": "Benachrichtigungen", + "Notification_Duration": "Benachrichtigungsdauer", + "Notification_Preferences": "Benachrichtigungseinstellungen", + "No_available_agents_to_transfer": "Keine Agenten für den Transfer verfügbar", + "Offline": "Offline", + "Oops": "Hoppla!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Offene Chats", + "Omnichannel_enable_alert": "Du bist in Omnichannel nicht verfügbar. Möchtest du erreichbar sein?", + "Onboarding_description": "Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitte den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstelle einen Arbeitsbereich für dein Team.", + "Onboarding_join_workspace": "Tritt einem Arbeitsbereich bei", + "Onboarding_subtitle": "Mehr als Team-Zusammenarbeit", + "Onboarding_title": "Willkommen bei Rocket.Chat", + "Onboarding_join_open_description": "Tritt unserem Arbeitsbereich bei um mit dem Rocket.Chat-Team oder der Gemeinschaft zu chatten.", + "Onboarding_agree_terms": "Durch fortfahren stimmst du Rocket.Chats Bedingungen zu", + "Onboarding_less_options": "Weniger Optionen", + "Onboarding_more_options": "Mehr Optionen", + "Online": "Online", + "Only_authorized_users_can_write_new_messages": "Nur autorisierte Benutzer können neue Nachrichten schreiben", + "Open_emoji_selector": "Öffne die Emoji-Auswahl", + "Open_Source_Communication": "Open-Source-Kommunikation", + "Open_your_authentication_app_and_enter_the_code": "Öffne deine Authentifizierungsanwendung und gib den Code ein.", + "OR": "ODER", + "OS": "OS", + "Overwrites_the_server_configuration_and_use_room_config": "Übergeht die Servereinstellungen und nutzt Einstellung für den Raum", + "Password": "Passwort", + "Parent_channel_or_group": "Übergeordneter Kanal oder Gruppe", + "Permalink_copied_to_clipboard": "Permalink in die Zwischenablage kopiert!", + "Phone": "Telefon", + "Pin": "Anheften", + "Pinned_Messages": "Angeheftete Nachrichten", + "pinned": "angeheftet", + "Pinned": "Angeheftet", + "Please_add_a_comment": "Bitte Kommentar hinzufügen", + "Please_enter_your_password": "Gib bitte dein Passwort ein", + "Please_wait": "Bitte warten.", + "Preferences": "Einstellungen", + "Preferences_saved": "Einstellungen gespeichert!", + "Privacy_Policy": " Datenschutzbestimmungen", + "Private_Channel": "Privater Kanal", + "Private": "Privat", + "Processing": "Bearbeite …", + "Profile_saved_successfully": "Profil erfolgreich gespeichert!", + "Profile": "Profil", + "Public_Channel": "Öffentlicher Kanal", + "Public": "Öffentlich", + "Push_Notifications": "Push-Benachrichtigungen", + "Push_Notifications_Alert_Info": "Diese Benachrichtigungen werden dir zugestellt, wenn die App nicht geöffnet ist.", + "Quote": "Zitat", + "Reactions_are_disabled": "Reaktionen sind deaktiviert", + "Reactions_are_enabled": "Reaktionen sind aktiviert", + "Reactions": "Reaktionen", + "Read_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf deine Fotos, Medien und Dateien auf deinem Gerät", + "Read_External_Permission": "Lese-Zugriff auf Medien", + "Read_Only_Channel": "Nur-Lese-Kanal", + "Read_Only": "Schreibgeschützt", + "Read_Receipt": "Lesebestätigung", + "Receive_Group_Mentions": "Erhalte Gruppen-Benachrichtigungen", + "Receive_Group_Mentions_Info": "Empfange @all und @here Erwähnungen", + "Register": "Registrieren", + "Repeat_Password": "Wiederhole das Passwort", + "Replied_on": "Antwortete am:", + "replies": "Antworten", + "reply": "Antworten", + "Reply": "Antworten", + "Report": "Melden", + "Receive_Notification": "Erhalte Benachrichtigungen", + "Receive_notifications_from": "Erhalte Benachrichtigungen von {{name}}", + "Resend": "Erneut senden", + "Reset_password": "Passwort zurücksetzen", + "resetting_password": "Passwort zurücksetzen", + "RESET": "ZURÜCKSETZEN", + "Return": "Zurück", + "Review_app_title": "Gefällt dir diese App?", + "Review_app_desc": "Gib uns 5 Sterne im {{store}}", + "Review_app_yes": "Sicher!", + "Review_app_no": "Nein", + "Review_app_later": "Vielleicht später", + "Review_app_unable_store": "Kann {{store}} nicht öffnen", + "Review_this_app": "App bewerten", + "Remove": "Entfernen", + "remove": "entfernen", + "Roles": "Rollen", + "Room_actions": "Raumaktionen", + "Room_changed_announcement": "Raumansage geändert in: {{announcement}} von {{userBy}}", + "Room_changed_avatar": "Raum-Avatar durch Nutzer {{userBy}} gändert", + "Room_changed_description": "Raumbeschreibung geändert in: {{description}} von {{userBy}}", + "Room_changed_privacy": "Raumtyp geändert in: {{type}} von {{userBy}}", + "Room_changed_topic": "Raumthema geändert in: {{topic}} von {{userBy}}", + "Room_Files": "Raumdateien", + "Room_Info_Edit": "Rauminfo bearbeiten", + "Room_Info": "Rauminfo", + "Room_Members": "Raum-Mitglieder", + "Room_name_changed": "Raumname geändert in {{name}} von {{userBy}}", + "SAVE": "SPEICHERN", + "Save_Changes": "Änderungen speichern", + "Save": "speichern", + "Saved": "gespeichert", + "saving_preferences": "Präferenzen speichern", + "saving_profile": "Profil speichern", + "saving_settings": "Einstellungen speichern", + "saved_to_gallery": "Gespeichert in der Galerie", + "Save_Your_E2E_Password": "Speichere dein Ende-zu-Ende-Passwort", + "Save_Your_Encryption_Password": "Speichere dein Verschlüsselungs-Passwort", + "Save_Your_Encryption_Password_warning": "Dieses Passwort wird nirgends gespeichert, stelle daher sicher, dass du es an einem sicheren Ort aufbewahrst.", + "Save_Your_Encryption_Password_info": "Hinweis: Wenn du dieses Passwort verlierst, gibt es keine Möglichkeit es wieder herzustellen und du wirst nicht mehr auf deine Nachrichten zugreifen können.", + "Search_Messages": "Nachrichten suchen", + "Search": "Suche", + "Search_by": "Suche nach", + "Search_global_users": "Suche nach globalen Benutzern", + "Search_global_users_description": "Wenn aktiviert, kannst du nach Benutzern von anderen Unternehmen oder Servern suchen.", + "Seconds": "{{second}} Sekunden", + "Security_and_privacy": "Sicherheit und Datenschutz", + "Select_Avatar": "Wähle einen Avatar aus", + "Select_Server": "Server auswählen", + "Select_Users": "Benutzer auswählen", + "Select_a_Channel": "Kanal auswählen", + "Select_a_Department": "Abteilung auswählen", + "Select_an_option": "Option auswählen", + "Select_a_User": "Benutzer auswählen", + "Send": "Senden", + "Send_audio_message": "Audio-Nachricht senden", + "Send_crash_report": "Absturzbericht senden", + "Send_message": "Nachricht senden", + "Send_me_the_code_again": "Den Code neu versenden", + "Send_to": "Senden an …", + "Sending_to": "Sende an", + "Sent_an_attachment": "Sende einen Anhang", + "Server": "Server", + "Servers": "Server", + "Server_version": "Server version: {{version}}", + "Set_username_subtitle": "Der Benutzername wird verwendet, damit andere Personen dich in Nachrichten erwähnen können", + "Set_custom_status": "Individuellen Status setzen", + "Set_status": "Status setzen", + "Status_saved_successfully": "Status erfolgreich gesetzt!", + "Settings": "Einstellungen", + "Settings_succesfully_changed": "Einstellungen erfolgreich geändert!", + "Share": "Teilen", + "Share_Link": "Link teilen", + "Share_this_app": "App teilen", + "Show_more": "Mehr anzeigen …", + "Show_Unread_Counter": "Zähler anzeigen", + "Show_Unread_Counter_Info": "Anzahl der ungelesenen Nachrichten anzeigen", + "Sign_in_your_server": "Melde dich bei deinem Server an", + "Sign_Up": "Anmelden", + "Some_field_is_invalid_or_empty": "Ein Feld ist ungültig oder leer", + "Sound": "Ton", + "Star_room": "Favorisierter Raum", + "Star": "Favoriten", + "Starred_Messages": "Favorisierte Nachrichten", + "starred": "favorisiert", + "Starred": "Favorisiert", + "Start_of_conversation": "Beginn des Gesprächs", + "Start_a_Discussion": "Beginne eine Diskussion", + "Started_discussion": "Hat eine Diskussion gestartet:", + "Started_call": "Anruf gestartet von {{userBy}}", + "Submit": "einreichen", + "Table": "Tabelle", + "Tags": "Tags", + "Take_a_photo": "Foto aufnehmen", + "Take_a_video": "Video aufnehmen", + "Take_it": "Annehmen!", + "tap_to_change_status": "Tippen um den Status zu ändern", + "Tap_to_view_servers_list": "Tippen, um die Serverliste anzuzeigen", + "Terms_of_Service": " Nutzungsbedingungen", + "Theme": "Erscheinungsbild", + "The_user_wont_be_able_to_type_in_roomName": "Dem Nutzer wird es nicht möglich sein in {{roomName}} zu schreiben", + "The_user_will_be_able_to_type_in_roomName": "Der Nutzer wird in {{roomName}} schreiben können", + "There_was_an_error_while_action": "Während {{action}} ist ein Fehler aufgetreten!", + "This_room_is_blocked": "Dieser Raum ist gesperrt", + "This_room_is_read_only": "Dieser Raum kann nur gelesen werden", + "Thread": "Thread", + "Threads": "Threads", + "Timezone": "Zeitzone", + "To": "An", + "topic": "Thema", + "Topic": "Thema", + "Translate": "Übersetzen", + "Try_again": "Versuche es nochmal", + "Two_Factor_Authentication": "Zwei-Faktor-Authentifizierung", + "Type_the_channel_name_here": "Gib hier den Kanalnamen ein", + "unarchive": "wiederherstellen", + "UNARCHIVE": "WIEDERHERSTELLEN", + "Unblock_user": "Benutzer entsperren", + "Unfollowed_thread": "Thread nicht mehr folgen", + "Unmute": "Stummschaltung aufheben", + "unmuted": "Stummschaltung aufgehoben", + "Unpin": "Nachricht nicht mehr anheften", + "unread_messages": "ungelesene", + "Unread": "ungelesene", + "Unread_on_top": "Ungelesene oben", + "Unstar": "von Favoriten entfernen", + "Updating": "Aktualisierung …", + "Uploading": "Hochladen", + "Upload_file_question_mark": "Datei hochladen?", + "User": "Benutzer", + "Users": "Benutzer", + "User_added_by": "Benutzer {{userAdded}} hinzugefügt von {{userBy}}", + "User_Info": "Benutzerinfo", + "User_has_been_key": "Benutzer wurde {{key}}", + "User_is_no_longer_role_by_": "{{user}} ist nicht länger {{role}} von {{userBy}}", + "User_muted_by": "Benutzer {{userMuted}} von {{userBy}} stummgeschaltet", + "User_removed_by": "Benutzer {{userRemoved}} wurde von {{userBy}} entfernt", + "User_sent_an_attachment": "{{user}}: eine Datei gesendet", + "User_unmuted_by": "Benutzer {{userUnmuted}} nicht stummgeschaltet von {{userBy}}", + "User_was_set_role_by_": "{{user}} wurde von {{userBy}} {{role}} festgelegt.", + "Username_is_empty": "Der Benutzername ist leer", + "Username": "Benutzername", + "Username_or_email": "Benutzername oder E-Mail-Adresse", + "Uses_server_configuration": "Nutzt Servereinstellungen", + "Validating": "Validierung", + "Registration_Succeeded": "Registrierung erfolgreich!", + "Verify": "Überprüfen", + "Verify_email_title": "Registrierung erfolgreich!", + "Verify_email_desc": "Wir haben dir eine Email geschickt um deine Anmeldung zu bestätigen. Wenn du keine Email erhältst, komme bitte wieder und versuche es noch einmal.", + "Verify_your_email_for_the_code_we_sent": "Prüfe deine Mails für den Code, den wir dir eben geschickt haben.", + "Video_call": "Videoanruf", + "View_Original": "Original anzeigen", + "Voice_call": "Sprachanruf", + "Waiting_for_network": "Warte auf das Netzwerk …", + "Websocket_disabled": "Websockets sind auf diesem Server nicht aktiviert.\n{{contact}}", + "Welcome": "Herzlich willkommen", + "What_are_you_doing_right_now": "Was machst du gerade?", + "Whats_your_2fa": "Wie lautet dein 2FA-Code?", + "Without_Servers": "Ohne Server", + "Workspaces": "Arbeitsbereiche", + "Would_you_like_to_return_the_inquiry": "Willst du zur Anfrage zurück?", + "Write_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf deine Galerie um Bilder speichern zu können.", + "Write_External_Permission": "Galerie-Zugriff", + "Yes": "Ja", + "Yes_action_it": "Ja, {{action}}!", + "Yesterday": "Gestern", + "You_are_in_preview_mode": "Du befindest dich im Vorschaumodus", + "You_are_offline": "Du bist offline", + "You_can_search_using_RegExp_eg": "Du kannst mit RegExp suchen. z.B. `/ ^ text $ / i`", + "You_colon": "Du: ", + "you_were_mentioned": "Du wurdest erwähnt", + "You_were_removed_from_channel": "Du wurdest aus {{channel}} entfernt", + "you": "du", + "You": "Du", + "Logged_out_by_server": "Du bist vom Server abgemeldet worden. Bitte melde dich wieder an.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Du benötigst Zugang zu mindestens einem Rocket.Chat-Server um etwas zu teilen.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Du musst deine Email-Adresse bestätigen um Benachrichtigungen zu erhalten.", + "Your_certificate": "Dein Zertifikat", + "Your_invite_link_will_expire_after__usesLeft__uses": "Dein Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Dein Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.", + "Your_invite_link_will_expire_on__date__": "Dein Einladungs-Link wird am {{date}} ablaufen.", + "Your_invite_link_will_never_expire": "Dein Einladungs-Link wird niemals ablaufen.", + "Your_workspace": "Dein Arbeitsbereich", + "Your_password_is": "Dein Passwort lautet", + "Version_no": "Version: {{version}}", + "You_will_not_be_able_to_recover_this_message": "Du kannst diese Nachricht nicht wiederherstellen!", + "You_will_unset_a_certificate_for_this_server": "Du entfernst ein Zertifikat für diesen Server", + "Change_Language": "Sprache ändern", + "Crash_report_disclaimer": "Wir verfolgen niemals den Inhalt deiner Chats. Der Crash-Report enthält nur für uns relevante Informationen um das Problem zu erkennen und zu beheben.", + "Type_message": "Nachricht schreiben", + "Room_search": "Raum-Suche", + "Room_selection": "Raum-Auswahl 1...9", + "Next_room": "Nächster Raum", + "Previous_room": "Voriger Raum", + "New_room": "Neuer Raum", + "Upload_room": "Zu einem Raum hochladen", + "Search_messages": "Nachrichten durchsuchen", + "Scroll_messages": "Nachrichten durchblättern", + "Reply_latest": "Auf die letzte Nachricht antworten", + "Reply_in_Thread": "Im Thread antworten", + "Server_selection": "Server-Auswahl", + "Server_selection_numbers": "Server-Auswahl 1...9", + "Add_server": "Server hinzufügen", + "New_line": "Zeilenumbruch", + "You_will_be_logged_out_of_this_application": "Du wirst in dieser Anwendung vom Server abgemeldet.", + "Clear": "Löschen", + "This_will_clear_all_your_offline_data": "Dies wird deine Offline-Daten löschen.", + "This_will_remove_all_data_from_this_server": "Dies wird alle Daten von diesem Server löschen.", + "Mark_unread": "Als ungelesen markieren", + "Wait_activation_warning": "Bevor du dich anmelden kannst, muss dein Konto durch einen Administrator freigeschaltet werden.", + "Screen_lock": "Zugriffs-Sperre", + "Local_authentication_biometry_title": "Authentifizieren", + "Local_authentication_biometry_fallback": "Sicherheitscode benutzen", + "Local_authentication_unlock_option": "Entsperren mit Sicherheitscode", + "Local_authentication_change_passcode": "Ändere Sicherheitscode", + "Local_authentication_info": "Anmerkung: Wenn du den Sicherheitscode vergisst, musst du diese App löschen und neu installieren.", + "Local_authentication_facial_recognition": "Gesichtserkennung", + "Local_authentication_fingerprint": "Fingerabdruck", + "Local_authentication_unlock_with_label": "Entsperren mit {{label}}", + "Local_authentication_auto_lock_60": "Nach 1 Minute", + "Local_authentication_auto_lock_300": "Nach 5 Minuten", + "Local_authentication_auto_lock_900": "Nach 15 Minuten", + "Local_authentication_auto_lock_1800": "Nach 30 Minuten", + "Local_authentication_auto_lock_3600": "Nach 1 Stunde", + "Passcode_enter_title": "Gib deinen Sicherheitscode ein", + "Passcode_choose_title": "Setze deinen neuen Sicherheitscode", + "Passcode_choose_confirm_title": "Bestätige deinen neuen Sicherheitscode", + "Passcode_choose_error": "Sicherheitscodes stimmen nicht überein. Probiere es noch einmal.", + "Passcode_choose_force_set": "Sicherheitscode wird vom Admin verlangt", + "Passcode_app_locked_title": "App gesperrt", + "Passcode_app_locked_subtitle": "Versuche es in {{timeLeft}} Sekunden noch einmal.", + "After_seconds_set_by_admin": "Nach {{seconds}} Sekunden (durch den Admin gesetzt)", + "Dont_activate": "Jetzt nicht aktivieren", + "Queued_chats": "Chats in der Warteschlange", + "Queue_is_empty": "Warteschlange leer", + "Logout_from_other_logged_in_locations": "Auf anderen angemeldeten Geräte abmelden", + "You_will_be_logged_out_from_other_locations": "Du wirst auf anderen Geräten abgemeldet.", + "Logged_out_of_other_clients_successfully": "Erfolgreich von anderen Geräten abgemeldet.", + "Logout_failed": "Abmeldung fehlgeschlagen!", + "Log_analytics_events": "Analyse-Ereignisse loggen", + "E2E_encryption_change_password_title": "Verschlüsselungs-Passwort ändern", + "E2E_encryption_change_password_description": "Du kannst nun verschlüsselte private Gruppen und Direktnachrichten versenden. Du kannst außerdem deine bestehenden privaten Gruppen und Direktnachrichten auf Verschlüsselung umstellen. \nDies ist Ende-zu-Ende-Verschlüsselung, daher wird der Schlüssel um die Nachrichten zu ver-/entschlüsseln nicht auf dem Server gespeichert. Aus diesem Grund musst du dieses Passwort an einem sicheren Ort speichern, du wirst es auf anderen Geräten benötigen auf denen du E2E-Verschlüsselung nutzen möchtest.", + "E2E_encryption_change_password_error": "Fehler beim Ändern des E2E-Passworts!", + "E2E_encryption_change_password_success": "E2E-Passwort erfolgreich geändert!", + "E2E_encryption_change_password_message": "Stelle sicher, dass du es noch an einer anderen Stelle gesichert hasst.", + "E2E_encryption_change_password_confirmation": "Ja, ändern", + "E2E_encryption_reset_title": "E2E-Schlüssel zurücksetzen", + "E2E_encryption_reset_description": "Diese Option wird deinen aktuellen E2E-Schlüssel entfernen und dich abmelden. \nWenn du dich wieder anmeldest, wird Rocket.Chat einen neuen Schlüssel erzeugen und deinen Zugang zu allen Kanälen mit einer oder mehreren anwesenden Personen wieder herstellen. \nAufgrund der Funktionsweise von E2E-Verschlüsselung, kann Rocket.Chat nicht deinen Zugang zu Kanälen wieder herstellen, in denen keine andere Person anwesend ist.", + "E2E_encryption_reset_button": "E2E-Schlüssel zurücksetzen", + "E2E_encryption_reset_error": "Fehler beim Zurücksetzen des E2E-Schlüssels!", + "E2E_encryption_reset_message": "Du wirst abgemeldet.", + "E2E_encryption_reset_confirmation": "Ja, zurücksetzen", + "Following": "verfolgte", + "Threads_displaying_all": "zeige alle", + "Threads_displaying_following": "zeige gefolgte", + "Threads_displaying_unread": "Zeige ungelesene", + "No_threads": "Es gibt keine Threads", + "No_threads_following": "Du folgst keinen Threads", + "No_threads_unread": "Es gibt keine ungelesenen Threads", + "Messagebox_Send_to_channel": "an Kanal senden", + "Leader": "Leiter", + "Moderator": "Moderator", + "Owner": "Eigentümer", + "Remove_from_room": "Aus dem Raum entfernen", + "Ignore": "Ignorieren", + "Unignore": "Nicht mehr ignorieren", + "User_has_been_ignored": "Benutzer wurde stumm geschaltet", + "User_has_been_unignored": "Benutzer nicht mehr stumm geschaltet", + "User_has_been_removed_from_s": "Benutzer wurde aus {{s}} entfernt", + "User__username__is_now_a_leader_of__room_name_": "Benutzer {{username}} ist nun Diskussionsleiter von {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "Benutzer {{username}} ist nun Moderator von {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "Benutzer {{username}} ist nun Eigentümer von {{room_name}}", + "User__username__removed_from__room_name__leaders": "Benutzer {{username}} als Diskussionsleiter von {{room_name}} entfernt", + "User__username__removed_from__room_name__moderators": "Benutzer {{username}} als Moderator von {{room_name}} entfernt", + "User__username__removed_from__room_name__owners": "Benutzer {{username}} als Eigentümer von {{room_name}} entfernt", + "The_user_will_be_removed_from_s": "Der Benutzer wird aus {{s}} entfernt", + "Yes_remove_user": "Ja, Benutzer entfernen!", + "Direct_message": "Direktnachricht", + "Message_Ignored": "Nachricht ignoriert. Antippen um sie zu zeigen.", + "Enter_workspace_URL": "Arbeitsbereich-URL", + "Workspace_URL_Example": "z.B. https://rocketchat.deine-firma.de", + "This_room_encryption_has_been_enabled_by__username_": "Die Verschlüsselung dieses Raums wurde von {{username}} aktiviert", + "This_room_encryption_has_been_disabled_by__username_": "Die Verschlüsselung dieses Raums wurde von {{username}} deaktiviert", + "Teams": "Teams", + "No_team_channels_found": "Keine Kanäle gefunden", + "Team_not_found": "Team nicht gefunden", + "Create_Team": "Team erstellen", + "Team_Name": "Team-Name", + "Private_Team": "Privates Team", + "Read_Only_Team": "Nur-Lesen-Team", + "Broadcast_Team": "Broadcast-Team", + "creating_team": "Team erstellen", + "team-name-already-exists": "Ein Team mit diesem Namen existiert bereits", + "Add_Channel_to_Team": "Kanal zum Team hinzufügen", + "Left_The_Team_Successfully": "Das Team erfolgreich verlassen", + "Create_New": "Neu erstellen", + "Add_Existing": "Vorhandenes hinzufügen", + "Add_Existing_Channel": "Vorhandenen Kanal hinzufügen", + "Remove_from_Team": "Aus Team entfernen", + "Auto-join": "Automatischer Beitritt", + "Remove_Team_Room_Warning": "Möchten du diesen Kanal aus dem Team entfernen? Der Kanal wird zurück in den Arbeitsbereich verschoben.", + "Confirmation": "Bestätigung", + "invalid-room": "Ungültiger Raum", + "You_are_leaving_the_team": "Du verlässt das Team '{{team}}'", + "Leave_Team": "Team verlassen", + "Select_Team": "Team auswählen", + "Select_Team_Channels": "Wähle die Kanäle des Teams aus, die du verlassen möchtest.", + "Cannot_leave": "Verlassen nicht möglich", + "Cannot_remove": "Kann nicht entfernt werden", + "Cannot_delete": "Kann nicht gelöscht werden", + "Last_owner_team_room": "Du bist der letzte Eigentümer des Kanals. Wenn du das Team verlässt, bleibt der Kanal innerhalb des Teams aber du verwaltest ihn von außen.", + "last-owner-can-not-be-removed": "Letzter Besitzer kann nicht entfernt werden", + "Remove_User_Teams": "Wähle die Kanäle aus, aus denen der Benutzer entfernt werden soll.", + "Delete_Team": "Team löschen", + "Select_channels_to_delete": "Dies kann nicht rückgängig gemacht werden. Wenn du ein Team löschst, werden alle Chat-Inhalte und und Einstellungen gelöscht.\n\nWähle die Kanäle, die du löschen möchtest. Diejenigen, die du behalten möchtest, werden in deinem Arbeitsbereich verfügbar sein. Beachte, das öffentliche Kanäle öffentlich bleiben und für jeden sichtbar sein werden.", + "You_are_deleting_the_team": "Du löschst dieses Team", + "Removing_user_from_this_team": "Du entfernst {{user}} aus diesem Team", + "Remove_User_Team_Channels": "Wähle die Kanäle aus, aus denen der Benutzer entfernt werden soll.", + "Remove_Member": "Mitglied entfernen", + "leaving_team": "Team verlassen", + "removing_team": "Aus dem Team entfernen", + "moving_channel_to_team": "Kanal zu Team verschieben", + "deleting_team": "Team löschen", + "member-does-not-exist": "Mitglied existiert nicht", + "Convert": "Konvertieren", + "Convert_to_Team": "Zu Team konvertieren", + "Convert_to_Team_Warning": "Dies kann nicht rückgängig gemacht werden. Sobald du einen Kanal in ein Team umgewandelt hast, kannst du ihn nicht mehr zurück in einen Kanal verwandeln.", + "Move_to_Team": "Zu Team hinzufügen", + "Move_Channel_Paragraph": "Das Verschieben eines Kanals innerhalb eines Teams bedeutet, dass dieser Kanal im Kontext des Teams hinzugefügt wird, jedoch haben alle Mitglieder des Kanals, die nicht Mitglied des jeweiligen Teams sind, weiterhin Zugriff auf diesen Kanal, werden aber nicht als Teammitglieder hinzugefügt \n\nDie gesamte Verwaltung des Kanals wird weiterhin von den Eigentümern dieses Kanals vorgenommen.\n\nTeammitglieder und sogar Teameigentümer, die nicht Mitglied dieses Kanals sind, können keinen Zugriff auf den Inhalt des Kanals haben \n\nBitte beachte, dass der Besitzer des Teams in der Lage ist, Mitglieder aus dem Kanal zu entfernen.", + "Move_to_Team_Warning": "Nachdem du die vorherigen Anleitungen zu diesem Verhalten gelesen hast, möchtest du diesen Kanal immer noch in das ausgewählte Team verschieben?", + "Load_More": "Mehr laden", + "Load_Newer": "Neuere laden", + "Load_Older": "Ältere laden", + "room-name-already-exists": "Raum-Name existiert bereits", + "error-team-creation": "Fehler bei der Erstellung des Teams", + "unauthorized": "Nicht erlaubt", + "Left_The_Room_Successfully": "Raum erfolgreich verlassen", + "Deleted_The_Team_Successfully": "Team erfolgreich gelöscht", + "Deleted_The_Room_Successfully": "Raum erfolgreich gelöscht", + "Convert_to_Channel": "In Kanal umwandeln", + "Converting_Team_To_Channel": "Team in Kanal umwandeln", + "Select_Team_Channels_To_Delete": "Wähle die Kanäle des Teams aus, die du löschen möchtest. Die Kanäle, die du nicht auswählst, werden in den Arbeitsbereich verschoben \n\nBeachte, dass öffentliche Kanäle öffentlich und für alle sichtbar sind.", + "You_are_converting_the_team": "Du wandelst dieses Team in einen Raum um", + "creating_discussion": "erzeuge Diskussion" +} \ No newline at end of file diff --git a/app/i18n/locales/el.json b/app/i18n/locales/el.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/el.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/en.json b/app/i18n/locales/en.json index 8d409c1cc..eede558f9 100644 --- a/app/i18n/locales/en.json +++ b/app/i18n/locales/en.json @@ -1,785 +1,786 @@ { - "1_person_reacted": "1 person reacted", - "1_user": "1 user", - "error-action-not-allowed": "{{action}} is not allowed", - "error-application-not-found": "Application not found", - "error-archived-duplicate-name": "There's an archived channel with name {{room_name}}", - "error-avatar-invalid-url": "Invalid avatar URL: {{url}}", - "error-avatar-url-handling": "Error while handling avatar setting from a URL ({{url}}) for {{username}}", - "error-cant-invite-for-direct-room": "Can't invite user to direct rooms", - "error-could-not-change-email": "Could not change email", - "error-could-not-change-name": "Could not change name", - "error-could-not-change-username": "Could not change username", - "error-could-not-change-status": "Could not change status", - "error-delete-protected-role": "Cannot delete a protected role", - "error-department-not-found": "Department not found", - "error-direct-message-file-upload-not-allowed": "File sharing not allowed in direct messages", - "error-duplicate-channel-name": "A channel with name {{room_name}} exists", - "error-email-domain-blacklisted": "The email domain is blacklisted", - "error-email-send-failed": "Error trying to send email: {{message}}", - "error-save-image": "Error while saving image", - "error-save-video": "Error while saving video", - "error-field-unavailable": "{{field}} is already in use :(", - "error-file-too-large": "File is too large", - "error-importer-not-defined": "The importer was not defined correctly, it is missing the Import class.", - "error-input-is-not-a-valid-field": "{{input}} is not a valid {{field}}", - "error-invalid-actionlink": "Invalid action link", - "error-invalid-arguments": "Invalid arguments", - "error-invalid-asset": "Invalid asset", - "error-invalid-channel": "Invalid channel.", - "error-invalid-channel-start-with-chars": "Invalid channel. Start with @ or #", - "error-invalid-custom-field": "Invalid custom field", - "error-invalid-custom-field-name": "Invalid custom field name. Use only letters, numbers, hyphens and underscores.", - "error-invalid-date": "Invalid date provided.", - "error-invalid-description": "Invalid description", - "error-invalid-domain": "Invalid domain", - "error-invalid-email": "Invalid email {{email}}", - "error-invalid-email-address": "Invalid email address", - "error-invalid-file-height": "Invalid file height", - "error-invalid-file-type": "Invalid file type", - "error-invalid-file-width": "Invalid file width", - "error-invalid-from-address": "You informed an invalid FROM address.", - "error-invalid-integration": "Invalid integration", - "error-invalid-message": "Invalid message", - "error-invalid-method": "Invalid method", - "error-invalid-name": "Invalid name", - "error-invalid-password": "Invalid password", - "error-invalid-redirectUri": "Invalid redirectUri", - "error-invalid-role": "Invalid role", - "error-invalid-room": "Invalid room", - "error-invalid-room-name": "{{room_name}} is not a valid room name", - "error-invalid-room-type": "{{type}} is not a valid room type.", - "error-invalid-settings": "Invalid settings provided", - "error-invalid-subscription": "Invalid subscription", - "error-invalid-token": "Invalid token", - "error-invalid-triggerWords": "Invalid triggerWords", - "error-invalid-urls": "Invalid URLs", - "error-invalid-user": "Invalid user", - "error-invalid-username": "Invalid username", - "error-invalid-webhook-response": "The webhook URL responded with a status other than 200", - "error-message-deleting-blocked": "Message deleting is blocked", - "error-message-editing-blocked": "Message editing is blocked", - "error-message-size-exceeded": "Message size exceeds Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "You must provide the [unsubscribe] link.", - "error-no-owner-channel": "You don't own the channel", - "error-no-tokens-for-this-user": "There are no tokens for this user", - "error-not-allowed": "Not allowed", - "error-not-authorized": "Not authorized", - "error-push-disabled": "Push is disabled", - "error-remove-last-owner": "This is the last owner. Please set a new owner before removing this one.", - "error-role-in-use": "Cannot delete role because it's in use", - "error-role-name-required": "Role name is required", - "error-the-field-is-required": "The field {{field}} is required.", - "error-too-many-requests": "Error, too many requests. Please slow down. You must wait {{seconds}} seconds before trying again.", - "error-user-is-not-activated": "User is not activated", - "error-user-has-no-roles": "User has no roles", - "error-user-limit-exceeded": "The number of users you are trying to invite to #channel_name exceeds the limit set by the administrator", - "error-user-not-in-room": "User is not in this room", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "User registration is disabled", - "error-user-registration-secret": "User registration is only allowed via Secret URL", - "error-you-are-last-owner": "You are the last owner. Please set new owner before leaving the room.", - "error-status-not-allowed": "Invisible status is disabled", - "Actions": "Actions", - "activity": "activity", - "Activity": "Activity", - "Add_Reaction": "Add Reaction", - "Add_Server": "Add Server", - "Add_users": "Add users", - "Admin_Panel": "Admin Panel", - "Agent": "Agent", - "Alert": "Alert", - "alert": "alert", - "alerts": "alerts", - "All_users_in_the_channel_can_write_new_messages": "All users in the channel can write new messages", - "All_users_in_the_team_can_write_new_messages": "All users in the team can write new messages", - "A_meaningful_name_for_the_discussion_room": "A meaningful name for the discussion room", - "All": "All", - "All_Messages": "All Messages", - "Allow_Reactions": "Allow Reactions", - "Alphabetical": "Alphabetical", - "and_more": "and more", - "and": "and", - "announcement": "announcement", - "Announcement": "Announcement", - "Apply_Your_Certificate": "Apply Your Certificate", - "ARCHIVE": "ARCHIVE", - "archive": "archive", - "are_typing": "are typing", - "Are_you_sure_question_mark": "Are you sure?", - "Are_you_sure_you_want_to_leave_the_room": "Are you sure you want to leave the room {{room}}?", - "Audio": "Audio", - "Authenticating": "Authenticating", - "Automatic": "Automatic", - "Auto_Translate": "Auto-Translate", - "Avatar_changed_successfully": "Avatar changed successfully!", - "Avatar_Url": "Avatar URL", - "Away": "Away", - "Back": "Back", - "Black": "Black", - "Block_user": "Block user", - "Browser": "Browser", - "Broadcast_channel_Description": "Only authorized users can write new messages, but the other users will be able to reply", - "Broadcast_Channel": "Broadcast Channel", - "Busy": "Busy", - "By_proceeding_you_are_agreeing": "By proceeding you are agreeing to our", - "Cancel_editing": "Cancel editing", - "Cancel_recording": "Cancel recording", - "Cancel": "Cancel", - "changing_avatar": "changing avatar", - "creating_channel": "creating channel", - "creating_invite": "creating invite", - "Channel_Name": "Channel Name", - "Channels": "Channels", - "Chats": "Chats", - "Call_already_ended": "Call already ended!", - "Clear_cookies_alert": "Do you want to clear all cookies?", - "Clear_cookies_desc": "This action will clear all login cookies, allowing you to login into other accounts.", - "Clear_cookies_yes": "Yes, clear cookies", - "Clear_cookies_no": "No, keep cookies", - "Click_to_join": "Click to Join!", - "Close": "Close", - "Close_emoji_selector": "Close emoji selector", - "Closing_chat": "Closing chat", - "Change_language_loading": "Changing language.", - "Chat_closed_by_agent": "Chat closed by agent", - "Choose": "Choose", - "Choose_from_library": "Choose from library", - "Choose_file": "Choose file", - "Choose_where_you_want_links_be_opened": "Choose where you want links be opened", - "Code": "Code", - "Code_or_password_invalid": "Code or password invalid", - "Collaborative": "Collaborative", - "Confirm": "Confirm", - "Connect": "Connect", - "Connected": "Connected", - "connecting_server": "connecting to server", - "Connecting": "Connecting...", - "Contact_us": "Contact us", - "Contact_your_server_admin": "Contact your server admin.", - "Continue_with": "Continue with", - "Copied_to_clipboard": "Copied to clipboard!", - "Copy": "Copy", - "Conversation": "Conversation", - "Permalink": "Permalink", - "Certificate_password": "Certificate Password", - "Clear_cache": "Clear local server cache", - "Clear_cache_loading": "Clearing cache.", - "Whats_the_password_for_your_certificate": "What's the password for your certificate?", - "Create_account": "Create an account", - "Create_Channel": "Create Channel", - "Create_Direct_Messages": "Create Direct Messages", - "Create_Discussion": "Create Discussion", - "Created_snippet": "created a snippet", - "Create_a_new_workspace": "Create a new workspace", - "Create": "Create", - "Custom_Status": "Custom Status", - "Dark": "Dark", - "Dark_level": "Dark Level", - "Default": "Default", - "Default_browser": "Default browser", - "Delete_Room_Warning": "Deleting a room will delete all messages posted within the room. This cannot be undone.", - "Department": "Department", - "delete": "delete", - "Delete": "Delete", - "DELETE": "DELETE", - "move": "move", - "deleting_room": "deleting room", - "description": "description", - "Description": "Description", - "Desktop_Options": "Desktop Options", - "Desktop_Notifications": "Desktop Notifications", - "Desktop_Alert_info": "These notifications are delivered in desktop", - "Directory": "Directory", - "Direct_Messages": "Direct Messages", - "Disable_notifications": "Disable notifications", - "Discussions": "Discussions", - "Discussion_Desc": "Help keeping an overview about what's going on! By creating a discussion, a sub-channel of the one you selected is created and both are linked.", - "Discussion_name": "Discussion name", - "Done": "Done", - "Dont_Have_An_Account": "Don't you have an account?", - "Do_you_have_an_account": "Do you have an account?", - "Do_you_have_a_certificate": "Do you have a certificate?", - "Do_you_really_want_to_key_this_room_question_mark": "Do you really want to {{key}} this room?", - "E2E_Encryption": "E2E Encryption", - "E2E_How_It_Works_info1": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted.", - "E2E_How_It_Works_info2": "This is *end to end encryption* so the key to encode/decode your messages and they will not be saved on the server. For that reason *you need to store this password somewhere safe* which you can access later if you may need.", - "E2E_How_It_Works_info3": "If you proceed, it will be auto generated an E2E password.", - "E2E_How_It_Works_info4": "You can also setup a new password for your encryption key any time from any browser you have entered the existing E2E password.", - "edit": "edit", - "edited": "edited", - "Edit": "Edit", - "Edit_Status": "Edit Status", - "Edit_Invite": "Edit Invite", - "End_to_end_encrypted_room": "End to end encrypted room", - "end_to_end_encryption": "end to end encryption", - "Email_Notification_Mode_All": "Every Mention/DM", - "Email_Notification_Mode_Disabled": "Disabled", - "Email_or_password_field_is_empty": "Email or password field is empty", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Empty title", - "Enable_Auto_Translate": "Enable Auto-Translate", - "Enable_notifications": "Enable notifications", - "Encrypted": "Encrypted", - "Encrypted_message": "Encrypted message", - "Enter_Your_E2E_Password": "Enter Your E2E Password", - "Enter_Your_Encryption_Password_desc1": "This will allow you to access your encrypted private groups and direct messages.", - "Enter_Your_Encryption_Password_desc2": "You need to enter the password to encode/decode messages every place you use the chat.", - "Encryption_error_title": "Your encryption password seems wrong", - "Encryption_error_desc": "It wasn't possible to decode your encryption key to be imported.", - "Everyone_can_access_this_channel": "Everyone can access this channel", - "Everyone_can_access_this_team": "Everyone can access this team", - "Error_uploading": "Error uploading", - "Expiration_Days": "Expiration (Days)", - "Favorite": "Favorite", - "Favorites": "Favorites", - "Files": "Files", - "File_description": "File description", - "File_name": "File name", - "Finish_recording": "Finish recording", - "Following_thread": "Following thread", - "For_your_security_you_must_enter_your_current_password_to_continue": "For your security, you must enter your current password to continue", - "Forgot_password_If_this_email_is_registered": "If this email is registered, we'll send instructions on how to reset your password. If you do not receive an email shortly, please come back and try again.", - "Forgot_password": "Forgot your password?", - "Forgot_Password": "Forgot Password", - "Forward": "Forward", - "Forward_Chat": "Forward Chat", - "Forward_to_department": "Forward to department", - "Forward_to_user": "Forward to user", - "Full_table": "Click to see full table", - "Generate_New_Link": "Generate New Link", - "Group_by_favorites": "Group favorites", - "Group_by_type": "Group by type", - "Hide": "Hide", - "Has_joined_the_channel": "has joined the channel", - "Has_joined_the_conversation": "has joined the conversation", - "Has_left_the_channel": "has left the channel", - "Hide_System_Messages": "Hide System Messages", - "Hide_type_messages": "Hide \"{{type}}\" messages", - "How_It_Works": "How It Works", - "Message_HideType_uj": "User Join", - "Message_HideType_ul": "User Leave", - "Message_HideType_ru": "User Removed", - "Message_HideType_au": "User Added", - "Message_HideType_mute_unmute": "User Muted / Unmuted", - "Message_HideType_r": "Room Name Changed", - "Message_HideType_ut": "User Joined Conversation", - "Message_HideType_wm": "Welcome", - "Message_HideType_rm": "Message Removed", - "Message_HideType_subscription_role_added": "Was Set Role", - "Message_HideType_subscription_role_removed": "Role No Longer Defined", - "Message_HideType_room_archived": "Room Archived", - "Message_HideType_room_unarchived": "Room Unarchived", - "I_Saved_My_E2E_Password": "I Saved My E2E Password", - "IP": "IP", - "In_app": "In-app", - "In_App_And_Desktop": "In-app and Desktop", - "In_App_and_Desktop_Alert_info": "Displays a banner at the top of the screen when app is open, and displays a notification on desktop", - "Invisible": "Invisible", - "Invite": "Invite", - "is_a_valid_RocketChat_instance": "is a valid Rocket.Chat instance", - "is_not_a_valid_RocketChat_instance": "is not a valid Rocket.Chat instance", - "is_typing": "is typing", - "Invalid_or_expired_invite_token": "Invalid or expired invite token", - "Invalid_server_version": "The server you're trying to connect is using a version that's not supported by the app anymore: {{currentVersion}}.\n\nWe require version {{minVersion}}", - "Invite_Link": "Invite Link", - "Invite_users": "Invite users", - "Join": "Join", - "Join_Code": "Join Code", - "Insert_Join_Code": "Insert Join Code", - "Join_our_open_workspace": "Join our open workspace", - "Join_your_workspace": "Join your workspace", - "Just_invited_people_can_access_this_channel": "Just invited people can access this channel", - "Just_invited_people_can_access_this_team": "Just invited people can access this team", - "Language": "Language", - "last_message": "last message", - "Leave_channel": "Leave channel", - "leaving_room": "leaving room", - "Leave": "Leave", - "leave": "leave", - "Legal": "Legal", - "Light": "Light", - "License": "License", - "Livechat": "Livechat", - "Livechat_edit": "Livechat edit", - "Login": "Login", - "Login_error": "Your credentials were rejected! Please try again.", - "Login_with": "Login with", - "Logging_out": "Logging out.", - "Logout": "Logout", - "Max_number_of_uses": "Max number of uses", - "Max_number_of_users_allowed_is_number": "Max number of users allowed is {{maxUsers}}", - "members": "members", - "Members": "Members", - "Mentioned_Messages": "Mentioned Messages", - "mentioned": "mentioned", - "Mentions": "Mentions", - "Message_accessibility": "Message from {{user}} at {{time}}: {{message}}", - "Message_actions": "Message actions", - "Message_pinned": "Message pinned", - "Message_removed": "Message removed", - "Message_starred": "Message starred", - "Message_unstarred": "Message unstarred", - "message": "message", - "messages": "messages", - "Message": "Message", - "Messages": "Messages", - "Message_Reported": "Message reported", - "Microphone_Permission_Message": "Rocket.Chat needs access to your microphone so you can send audio message.", - "Microphone_Permission": "Microphone Permission", - "Mute": "Mute", - "muted": "muted", - "My_servers": "My servers", - "N_people_reacted": "{{n}} people reacted", - "N_users": "{{n}} users", - "N_channels": "{{n}} channels", - "name": "name", - "Name": "Name", - "Navigation_history": "Navigation history", - "Never": "Never", - "New_Message": "New Message", - "New_Password": "New Password", - "New_Server": "New Server", - "Next": "Next", - "No_files": "No files", - "No_limit": "No limit", - "No_mentioned_messages": "No mentioned messages", - "No_pinned_messages": "No pinned messages", - "No_results_found": "No results found", - "No_starred_messages": "No starred messages", - "No_thread_messages": "No thread messages", - "No_label_provided": "No {{label}} provided.", - "No_Message": "No Message", - "No_messages_yet": "No messages yet", - "No_Reactions": "No Reactions", - "No_Read_Receipts": "No Read Receipts", - "Not_logged": "Not logged", - "Not_RC_Server": "This is not a Rocket.Chat server.\n{{contact}}", - "Nothing": "Nothing", - "Nothing_to_save": "Nothing to save!", - "Notify_active_in_this_room": "Notify active users in this room", - "Notify_all_in_this_room": "Notify all in this room", - "Notifications": "Notifications", - "Notification_Duration": "Notification Duration", - "Notification_Preferences": "Notification Preferences", - "No_available_agents_to_transfer": "No available agents to transfer", - "Offline": "Offline", - "Oops": "Oops!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Chats in Progress", - "Omnichannel_enable_alert": "You're not available on Omnichannel. Would you like to be available?", - "Onboarding_description": "A workspace is your team or organization’s space to collaborate. Ask the workspace admin for address to join or create one for your team.", - "Onboarding_join_workspace": "Join a workspace", - "Onboarding_subtitle": "Beyond Team Collaboration", - "Onboarding_title": "Welcome to Rocket.Chat", - "Onboarding_join_open_description": "Join our open workspace to chat with the Rocket.Chat team and community.", - "Onboarding_agree_terms": "By continuing, you agree to Rocket.Chat", - "Onboarding_less_options": "Less options", - "Onboarding_more_options": "More options", - "Online": "Online", - "Only_authorized_users_can_write_new_messages": "Only authorized users can write new messages", - "Open_emoji_selector": "Open emoji selector", - "Open_Source_Communication": "Open Source Communication", - "Open_your_authentication_app_and_enter_the_code": "Open your authentication app and enter the code.", - "OR": "OR", - "OS": "OS", - "Overwrites_the_server_configuration_and_use_room_config": "Overwrites the server configuration and use room config", - "Password": "Password", - "Parent_channel_or_group": "Parent channel or group", - "Permalink_copied_to_clipboard": "Permalink copied to clipboard!", - "Phone": "Phone", - "Pin": "Pin", - "Pinned_Messages": "Pinned Messages", - "pinned": "pinned", - "Pinned": "Pinned", - "Please_add_a_comment": "Please add a comment", - "Please_enter_your_password": "Please enter your password", - "Please_wait": "Please wait.", - "Preferences": "Preferences", - "Preferences_saved": "Preferences saved!", - "Privacy_Policy": " Privacy Policy", - "Private_Channel": "Private Channel", - "Private": "Private", - "Processing": "Processing...", - "Profile_saved_successfully": "Profile saved successfully!", - "Profile": "Profile", - "Public_Channel": "Public Channel", - "Public": "Public", - "Push_Notifications": "Push Notifications", - "Push_Notifications_Alert_Info": "These notifications are delivered to you when the app is not open", - "Quote": "Quote", - "Reactions_are_disabled": "Reactions are disabled", - "Reactions_are_enabled": "Reactions are enabled", - "Reactions": "Reactions", - "Read": "Read", - "Read_External_Permission_Message": "Rocket.Chat needs to access photos, media, and files on your device", - "Read_External_Permission": "Read Media Permission", - "Read_Only_Channel": "Read Only Channel", - "Read_Only": "Read Only", - "Read_Receipt": "Read Receipt", - "Receive_Group_Mentions": "Receive Group Mentions", - "Receive_Group_Mentions_Info": "Receive @all and @here mentions", - "Register": "Register", - "Repeat_Password": "Repeat Password", - "Replied_on": "Replied on:", - "replies": "replies", - "reply": "reply", - "Reply": "Reply", - "Report": "Report", - "Receive_Notification": "Receive Notification", - "Receive_notifications_from": "Receive notifications from {{name}}", - "Resend": "Resend", - "Reset_password": "Reset password", - "resetting_password": "resetting password", - "RESET": "RESET", - "Return": "Return", - "Review_app_title": "Are you enjoying this app?", - "Review_app_desc": "Give us 5 stars on {{store}}", - "Review_app_yes": "Sure!", - "Review_app_no": "No", - "Review_app_later": "Maybe later", - "Review_app_unable_store": "Unable to open {{store}}", - "Review_this_app": "Review this app", - "Remove": "Remove", - "remove": "remove", - "Roles": "Roles", - "Room_actions": "Room actions", - "Room_changed_announcement": "Room announcement changed to: {{announcement}} by {{userBy}}", - "Room_changed_avatar": "Room avatar changed by {{userBy}}", - "Room_changed_description": "Room description changed to: {{description}} by {{userBy}}", - "Room_changed_privacy": "Room type changed to: {{type}} by {{userBy}}", - "Room_changed_topic": "Room topic changed to: {{topic}} by {{userBy}}", - "Room_Files": "Room Files", - "Room_Info_Edit": "Room Info Edit", - "Room_Info": "Room Info", - "Room_Members": "Room Members", - "Room_name_changed": "Room name changed to: {{name}} by {{userBy}}", - "SAVE": "SAVE", - "Save_Changes": "Save Changes", - "Save": "Save", - "Saved": "Saved", - "saving_preferences": "saving preferences", - "saving_profile": "saving profile", - "saving_settings": "saving settings", - "saved_to_gallery": "Saved to gallery", - "Save_Your_E2E_Password": "Save Your E2E Password", - "Save_Your_Encryption_Password": "Save Your Encryption Password", - "Save_Your_Encryption_Password_warning": "This password is not stored anywhere so save it carefully somewhere else.", - "Save_Your_Encryption_Password_info": "Notice that you lose your password, there is no way to recover it and you will lose access to your messages.", - "Search_Messages": "Search Messages", - "Search": "Search", - "Search_by": "Search by", - "Search_global_users": "Search for global users", - "Search_global_users_description": "If you turn-on, you can search for any user from others companies or servers.", - "Seconds": "{{second}} seconds", - "Security_and_privacy": "Security and privacy", - "Select_Avatar": "Select Avatar", - "Select_Server": "Select Server", - "Select_Users": "Select Users", - "Select_a_Channel": "Select a Channel", - "Select_a_Department": "Select a Department", - "Select_an_option": "Select an option", - "Select_a_User": "Select a User", - "Send": "Send", - "Send_audio_message": "Send audio message", - "Send_crash_report": "Send crash report", - "Send_message": "Send message", - "Send_me_the_code_again": "Send me the code again", - "Send_to": "Send to...", - "Sending_to": "Sending to", - "Sent_an_attachment": "Sent an attachment", - "Server": "Server", - "Servers": "Servers", - "Server_version": "Server version: {{version}}", - "Set_username_subtitle": "The username is used to allow others to mention you in messages", - "Set_custom_status": "Set custom status", - "Set_status": "Set status", - "Status_saved_successfully": "Status saved successfully!", - "Settings": "Settings", - "Settings_succesfully_changed": "Settings succesfully changed!", - "Share": "Share", - "Share_Link": "Share Link", - "Share_this_app": "Share this app", - "Show_more": "Show more..", - "Show_Unread_Counter": "Show Unread Counter", - "Show_Unread_Counter_Info": "Unread counter is displayed as a badge on the right of the channel, in the list", - "Sign_in_your_server": "Sign in your server", - "Sign_Up": "Sign Up", - "Some_field_is_invalid_or_empty": "Some field is invalid or empty", - "Sorting_by": "Sorting by {{key}}", - "Sound": "Sound", - "Star_room": "Star room", - "Star": "Star", - "Starred_Messages": "Starred Messages", - "starred": "starred", - "Starred": "Starred", - "Start_of_conversation": "Start of conversation", - "Start_a_Discussion": "Start a Discussion", - "Started_discussion": "Started a discussion:", - "Started_call": "Call started by {{userBy}}", - "Submit": "Submit", - "Table": "Table", - "Tags": "Tags", - "Take_a_photo": "Take a photo", - "Take_a_video": "Take a video", - "Take_it": "Take it!", - "tap_to_change_status": "tap to change status", - "Tap_to_view_servers_list": "Tap to view servers list", - "Terms_of_Service": " Terms of Service ", - "Theme": "Theme", - "The_user_wont_be_able_to_type_in_roomName": "The user won't be able to type in {{roomName}}", - "The_user_will_be_able_to_type_in_roomName": "The user will be able to type in {{roomName}}", - "There_was_an_error_while_action": "There was an error while {{action}}!", - "This_room_is_blocked": "This room is blocked", - "This_room_is_read_only": "This room is read only", - "Thread": "Thread", - "Threads": "Threads", - "Timezone": "Timezone", - "To": "To", - "topic": "topic", - "Topic": "Topic", - "Translate": "Translate", - "Try_again": "Try again", - "Two_Factor_Authentication": "Two-factor Authentication", - "Type_the_channel_name_here": "Type the channel name here", - "unarchive": "unarchive", - "UNARCHIVE": "UNARCHIVE", - "Unblock_user": "Unblock user", - "Unfavorite": "Unfavorite", - "Unfollowed_thread": "Unfollowed thread", - "Unmute": "Unmute", - "unmuted": "unmuted", - "Unpin": "Unpin", - "unread_messages": "unread", - "Unread": "Unread", - "Unread_on_top": "Unread on top", - "Unstar": "Unstar", - "Updating": "Updating...", - "Uploading": "Uploading", - "Upload_file_question_mark": "Upload file?", - "User": "User", - "Users": "Users", - "User_added_by": "User {{userAdded}} added by {{userBy}}", - "User_Info": "User Info", - "User_has_been_key": "User has been {{key}}", - "User_is_no_longer_role_by_": "{{user}} is no longer {{role}} by {{userBy}}", - "User_muted_by": "User {{userMuted}} muted by {{userBy}}", - "User_removed_by": "User {{userRemoved}} removed by {{userBy}}", - "User_sent_an_attachment": "{{user}} sent an attachment", - "User_unmuted_by": "User {{userUnmuted}} unmuted by {{userBy}}", - "User_was_set_role_by_": "{{user}} was set {{role}} by {{userBy}}", - "Username_is_empty": "Username is empty", - "Username": "Username", - "Username_or_email": "Username or email", - "Uses_server_configuration": "Uses server configuration", - "Validating": "Validating", - "Registration_Succeeded": "Registration Succeeded!", - "Verify": "Verify", - "Verify_email_title": "Registration Succeeded!", - "Verify_email_desc": "We have sent you an email to confirm your registration. If you do not receive an email shortly, please come back and try again.", - "Verify_your_email_for_the_code_we_sent": "Verify your email for the code we sent", - "Video_call": "Video call", - "View_Original": "View Original", - "Voice_call": "Voice call", - "Waiting_for_network": "Waiting for network...", - "Websocket_disabled": "Websocket is disabled for this server.\n{{contact}}", - "Welcome": "Welcome", - "What_are_you_doing_right_now": "What are you doing right now?", - "Whats_your_2fa": "What's your 2FA code?", - "Without_Servers": "Without Servers", - "Workspaces": "Workspaces", - "Would_you_like_to_return_the_inquiry": "Would you like to return the inquiry?", - "Write_External_Permission_Message": "Rocket.Chat needs access to your gallery so you can save images.", - "Write_External_Permission": "Gallery Permission", - "Yes": "Yes", - "Yes_action_it": "Yes, {{action}} it!", - "Yesterday": "Yesterday", - "You_are_in_preview_mode": "You are in preview mode", - "You_are_offline": "You are offline", - "You_can_search_using_RegExp_eg": "You can use RegExp. e.g. `/^text$/i`", - "You_colon": "You: ", - "you_were_mentioned": "you were mentioned", - "You_were_removed_from_channel": "You were removed from {{channel}}", - "you": "you", - "You": "You", - "Logged_out_by_server": "You've been logged out by the server. Please log in again.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "You need to access at least one Rocket.Chat server to share something.", - "You_need_to_verifiy_your_email_address_to_get_notications": "You need to verify your email address to get notifications", - "Your_certificate": "Your Certificate", - "Your_invite_link_will_expire_after__usesLeft__uses": "Your invite link will expire after {{usesLeft}} uses.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Your invite link will expire on {{date}} or after {{usesLeft}} uses.", - "Your_invite_link_will_expire_on__date__": "Your invite link will expire on {{date}}.", - "Your_invite_link_will_never_expire": "Your invite link will never expire.", - "Your_workspace": "Your workspace", - "Your_password_is": "Your password is", - "Version_no": "Version: {{version}}", - "You_will_not_be_able_to_recover_this_message": "You will not be able to recover this message!", - "You_will_unset_a_certificate_for_this_server": "You will unset a certificate for this server", - "Change_Language": "Change Language", - "Crash_report_disclaimer": "We never track the content of your chats. The crash report and analytics events only contains relevant information for us in order to identify and fix issues.", - "Type_message": "Type message", - "Room_search": "Rooms search", - "Room_selection": "Room selection 1...9", - "Next_room": "Next room", - "Previous_room": "Previous room", - "New_room": "New room", - "Upload_room": "Upload to room", - "Search_messages": "Search messages", - "Scroll_messages": "Scroll messages", - "Reply_latest": "Reply to latest", - "Reply_in_Thread": "Reply in Thread", - "Server_selection": "Server selection", - "Server_selection_numbers": "Server selection 1...9", - "Add_server": "Add server", - "New_line": "New line", - "You_will_be_logged_out_of_this_application": "You will be logged out of this application.", - "Clear": "Clear", - "This_will_clear_all_your_offline_data": "This will clear all your offline data.", - "This_will_remove_all_data_from_this_server": "This will remove all data from this server.", - "Mark_unread": "Mark Unread", - "Wait_activation_warning": "Before you can login, your account must be manually activated by an administrator.", - "Screen_lock": "Screen lock", - "Local_authentication_biometry_title": "Authenticate", - "Local_authentication_biometry_fallback": "Use passcode", - "Local_authentication_unlock_option": "Unlock with Passcode", - "Local_authentication_change_passcode": "Change Passcode", - "Local_authentication_info": "Note: if you forget the Passcode, you'll need to delete and reinstall the app.", - "Local_authentication_facial_recognition": "facial recognition", - "Local_authentication_fingerprint": "fingerprint", - "Local_authentication_unlock_with_label": "Unlock with {{label}}", - "Local_authentication_auto_lock_60": "After 1 minute", - "Local_authentication_auto_lock_300": "After 5 minutes", - "Local_authentication_auto_lock_900": "After 15 minutes", - "Local_authentication_auto_lock_1800": "After 30 minutes", - "Local_authentication_auto_lock_3600": "After 1 hour", - "Passcode_enter_title": "Enter your passcode", - "Passcode_choose_title": "Choose your new passcode", - "Passcode_choose_confirm_title": "Confirm your new passcode", - "Passcode_choose_error": "Passcodes don't match. Try again.", - "Passcode_choose_force_set": "Passcode required by admin", - "Passcode_app_locked_title": "App locked", - "Passcode_app_locked_subtitle": "Try again in {{timeLeft}} seconds", - "After_seconds_set_by_admin": "After {{seconds}} seconds (set by admin)", - "Dont_activate": "Don't activate now", - "Queued_chats": "Queued chats", - "Queue_is_empty": "Queue is empty", - "Logout_from_other_logged_in_locations": "Logout from other logged in locations", - "You_will_be_logged_out_from_other_locations": "You'll be logged out from other locations.", - "Logged_out_of_other_clients_successfully": "Logged out of other clients successfully", - "Logout_failed": "Logout failed!", - "Log_analytics_events": "Log analytics events", - "E2E_encryption_change_password_title": "Change Encryption Password", - "E2E_encryption_change_password_description": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted. \nThis is end to end encryption so the key to encode/decode your messages will not be saved on the server. For that reason you need to store your password somewhere safe. You will be required to enter it on other devices you wish to use e2e encryption on.", - "E2E_encryption_change_password_error": "Error while changing E2E key password!", - "E2E_encryption_change_password_success": "E2E key password changed successfully!", - "E2E_encryption_change_password_message": "Make sure you've saved it carefully somewhere else.", - "E2E_encryption_change_password_confirmation": "Yes, change it", - "E2E_encryption_reset_title": "Reset E2E Key", - "E2E_encryption_reset_description": "This option will remove your current E2E key and log you out. \nWhen you login again, Rocket.Chat will generate you a new key and restore your access to any encrypted room that has one or more members online. \nDue to the nature of the E2E encryption, Rocket.Chat will not be able to restore access to any encrypted room that has no member online.", - "E2E_encryption_reset_button": "Reset E2E Key", - "E2E_encryption_reset_error": "Error while resetting E2E key!", - "E2E_encryption_reset_message": "You're going to be logged out.", - "E2E_encryption_reset_confirmation": "Yes, reset it", - "Following": "Following", - "Threads_displaying_all": "Displaying All", - "Threads_displaying_following": "Displaying Following", - "Threads_displaying_unread": "Displaying Unread", - "No_threads": "There are no threads", - "No_threads_following": "You are not following any threads", - "No_threads_unread": "There are no unread threads", - "Messagebox_Send_to_channel": "Send to channel", - "Leader": "Leader", - "Moderator": "Moderator", - "Owner": "Owner", - "Remove_from_room": "Remove from room", - "Ignore": "Ignore", - "Unignore": "Unignore", - "User_has_been_ignored": "User has been ignored", - "User_has_been_unignored": "User is no longer ignored", - "User_has_been_removed_from_s": "User has been removed from {{s}}", - "User__username__is_now_a_leader_of__room_name_": "User {{username}} is now a leader of {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "User {{username}} is now a moderator of {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "User {{username}} is now a owner of {{room_name}}", - "User__username__removed_from__room_name__leaders": "User {{username}} removed from {{room_name}} leaders", - "User__username__removed_from__room_name__moderators": "User {{username}} removed from {{room_name}} moderators", - "User__username__removed_from__room_name__owners": "User {{username}} removed from {{room_name}} owners", - "The_user_will_be_removed_from_s": "The user will be removed from {{s}}", - "Yes_remove_user": "Yes, remove user!", - "Direct_message": "Direct message", - "Message_Ignored": "Message ignored. Tap to display it.", - "Enter_workspace_URL": "Enter workspace URL", - "Workspace_URL_Example": "Ex. your-company.rocket.chat", - "This_room_encryption_has_been_enabled_by__username_": "This room's encryption has been enabled by {{username}}", - "This_room_encryption_has_been_disabled_by__username_": "This room's encryption has been disabled by {{username}}", - "Teams": "Teams", - "No_team_channels_found": "No channels found", - "Team_not_found": "Team not found", - "Create_Team": "Create Team", - "Team_Name": "Team Name", - "Private_Team": "Private Team", - "Read_Only_Team": "Read Only Team", - "Broadcast_Team": "Broadcast Team", - "creating_team": "creating team", - "team-name-already-exists": "A team with that name already exists", - "Add_Channel_to_Team": "Add Channel to Team", - "Left_The_Team_Successfully": "Left the team successfully", - "Create_New": "Create New", - "Add_Existing": "Add Existing", - "Add_Existing_Channel": "Add Existing Channel", - "Remove_from_Team": "Remove from Team", - "Auto-join": "Auto-join", - "Remove_Team_Room_Warning": "Woud you like to remove this channel from the team? The channel will be moved back to the workspace", - "Confirmation": "Confirmation", - "invalid-room": "Invalid room", - "You_are_leaving_the_team": "You are leaving the team '{{team}}'", - "Leave_Team": "Leave Team", - "Select_Team": "Select Team", - "Select_Team_Channels": "Select the Team's channels you would like to leave.", - "Cannot_leave": "Cannot leave", - "Cannot_remove": "Cannot remove", - "Cannot_delete": "Cannot delete", - "Last_owner_team_room": "You are the last owner of this channel. Once you leave the team, the channel will be kept inside the team but you will be managing it from outside.", - "last-owner-can-not-be-removed": "Last owner cannot be removed", - "Remove_User_Teams": "Select channels you want the user to be removed from.", - "Delete_Team": "Delete Team", - "Select_channels_to_delete": "This can't be undone. Once you delete a team, all chat content and configuration will be deleted. \n\nSelect the channels you would like to delete. The ones you decide to keep will be available on your workspace. Notice that public channels will still be public and visible to everyone.", - "You_are_deleting_the_team": "You are deleting this team.", - "Removing_user_from_this_team": "You are removing {{user}} from this team", - "Remove_User_Team_Channels": "Select the channels you want the user to be removed from.", - "Remove_Member": "Remove Member", - "leaving_team": "leaving team", - "removing_team": "removing from team", - "moving_channel_to_team": "moving channel to team", - "deleting_team": "deleting team", - "member-does-not-exist": "Member does not exist", - "Convert": "Convert", - "Convert_to_Team": "Convert to Team", - "Convert_to_Team_Warning": "You are converting this Channel to a Team. All Members will be kept.", - "Move_to_Team": "Move to Team", - "Move_Channel_Paragraph": "Moving a channel inside a team means that this channel will be added in the team’s context, however, all channel’s members, which are not members of the respective team, will still have access to this channel, but will not be added as team’s members. \n\nAll channel’s management will still be made by the owners of this channel.\n\nTeam’s members and even team’s owners, if not a member of this channel, can not have access to the channel’s content. \n\nPlease notice that the Team’s owner will be able remove members from the Channel.", - "Move_to_Team_Warning": "After reading the previous intructions about this behavior, do you still want to move this channel to the selected team?", - "Load_More": "Load More", - "Load_Newer": "Load Newer", - "Load_Older": "Load Older", - "room-name-already-exists": "Room name already exists", - "error-team-creation": "Error team creation", - "unauthorized": "Unauthorized", - "Left_The_Room_Successfully": "Left the room successfully", - "Deleted_The_Team_Successfully": "Team deleted successfully", - "Deleted_The_Room_Successfully": "Room deleted successfully", - "Convert_to_Channel": "Convert to Channel", - "Converting_Team_To_Channel": "Converting Team to Channel", - "Select_Team_Channels_To_Delete": "Select the Team’s Channels you would like to delete, the ones you do not select will be moved to the Workspace. \n\nNotice that public Channels will be public and visible to everyone.", - "You_are_converting_the_team": "You are converting this Team to a Channel", - "creating_discussion": "creating discussion", - "Canned_Responses": "Canned Responses", - "No_match_found": "No match found.", - "Check_canned_responses": "Check on canned responses.", - "Searching": "Searching", - "Use": "Use", - "Shortcut": "Shortcut", - "Content": "Content", - "Sharing": "Sharing", - "No_canned_responses": "No canned responses" -} + "1_person_reacted": "1 person reacted", + "1_user": "1 user", + "error-action-not-allowed": "{{action}} is not allowed", + "error-application-not-found": "Application not found", + "error-archived-duplicate-name": "There's an archived channel with name {{room_name}}", + "error-avatar-invalid-url": "Invalid avatar URL: {{url}}", + "error-avatar-url-handling": "Error while handling avatar setting from a URL ({{url}}) for {{username}}", + "error-cant-invite-for-direct-room": "Can't invite user to direct rooms", + "error-could-not-change-email": "Could not change email", + "error-could-not-change-name": "Could not change name", + "error-could-not-change-username": "Could not change username", + "error-could-not-change-status": "Could not change status", + "error-delete-protected-role": "Cannot delete a protected role", + "error-department-not-found": "Department not found", + "error-direct-message-file-upload-not-allowed": "File sharing not allowed in direct messages", + "error-duplicate-channel-name": "A channel with name {{room_name}} exists", + "error-email-domain-blacklisted": "The email domain is blacklisted", + "error-email-send-failed": "Error trying to send email: {{message}}", + "error-save-image": "Error while saving image", + "error-save-video": "Error while saving video", + "error-field-unavailable": "{{field}} is already in use :(", + "error-file-too-large": "File is too large", + "error-importer-not-defined": "The importer was not defined correctly, it is missing the Import class.", + "error-input-is-not-a-valid-field": "{{input}} is not a valid {{field}}", + "error-invalid-actionlink": "Invalid action link", + "error-invalid-arguments": "Invalid arguments", + "error-invalid-asset": "Invalid asset", + "error-invalid-channel": "Invalid channel.", + "error-invalid-channel-start-with-chars": "Invalid channel. Start with @ or #", + "error-invalid-custom-field": "Invalid custom field", + "error-invalid-custom-field-name": "Invalid custom field name. Use only letters, numbers, hyphens and underscores.", + "error-invalid-date": "Invalid date provided.", + "error-invalid-description": "Invalid description", + "error-invalid-domain": "Invalid domain", + "error-invalid-email": "Invalid email {{email}}", + "error-invalid-email-address": "Invalid email address", + "error-invalid-file-height": "Invalid file height", + "error-invalid-file-type": "Invalid file type", + "error-invalid-file-width": "Invalid file width", + "error-invalid-from-address": "You informed an invalid FROM address.", + "error-invalid-integration": "Invalid integration", + "error-invalid-message": "Invalid message", + "error-invalid-method": "Invalid method", + "error-invalid-name": "Invalid name", + "error-invalid-password": "Invalid password", + "error-invalid-redirectUri": "Invalid redirectUri", + "error-invalid-role": "Invalid role", + "error-invalid-room": "Invalid room", + "error-invalid-room-name": "{{room_name}} is not a valid room name", + "error-invalid-room-type": "{{type}} is not a valid room type.", + "error-invalid-settings": "Invalid settings provided", + "error-invalid-subscription": "Invalid subscription", + "error-invalid-token": "Invalid token", + "error-invalid-triggerWords": "Invalid triggerWords", + "error-invalid-urls": "Invalid URLs", + "error-invalid-user": "Invalid user", + "error-invalid-username": "Invalid username", + "error-invalid-webhook-response": "The webhook URL responded with a status other than 200", + "error-message-deleting-blocked": "Message deleting is blocked", + "error-message-editing-blocked": "Message editing is blocked", + "error-message-size-exceeded": "Message size exceeds Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "You must provide the [unsubscribe] link.", + "error-no-owner-channel": "You don't own the channel", + "error-no-tokens-for-this-user": "There are no tokens for this user", + "error-not-allowed": "Not allowed", + "error-not-authorized": "Not authorized", + "error-push-disabled": "Push is disabled", + "error-remove-last-owner": "This is the last owner. Please set a new owner before removing this one.", + "error-role-in-use": "Cannot delete role because it's in use", + "error-role-name-required": "Role name is required", + "error-the-field-is-required": "The field {{field}} is required.", + "error-too-many-requests": "Error, too many requests. Please slow down. You must wait {{seconds}} seconds before trying again.", + "error-user-is-not-activated": "User is not activated", + "error-user-has-no-roles": "User has no roles", + "error-user-limit-exceeded": "The number of users you are trying to invite to #channel_name exceeds the limit set by the administrator", + "error-user-not-in-room": "User is not in this room", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "User registration is disabled", + "error-user-registration-secret": "User registration is only allowed via Secret URL", + "error-you-are-last-owner": "You are the last owner. Please set new owner before leaving the room.", + "error-status-not-allowed": "Invisible status is disabled", + "Actions": "Actions", + "Activity": "Activity", + "Add_Reaction": "Add Reaction", + "Add_Server": "Add Server", + "Add_users": "Add users", + "Admin_Panel": "Admin Panel", + "Agent": "Agent", + "Alert": "Alert", + "alert": "alert", + "alerts": "alerts", + "All_users_in_the_channel_can_write_new_messages": "All users in the channel can write new messages", + "All_users_in_the_team_can_write_new_messages": "All users in the team can write new messages", + "A_meaningful_name_for_the_discussion_room": "A meaningful name for the discussion room", + "All": "All", + "All_Messages": "All Messages", + "Allow_Reactions": "Allow Reactions", + "Alphabetical": "Alphabetical", + "and_more": "and more", + "and": "and", + "announcement": "announcement", + "Announcement": "Announcement", + "Apply_Your_Certificate": "Apply Your Certificate", + "ARCHIVE": "ARCHIVE", + "archive": "archive", + "are_typing": "are typing", + "Are_you_sure_question_mark": "Are you sure?", + "Are_you_sure_you_want_to_leave_the_room": "Are you sure you want to leave the room {{room}}?", + "Audio": "Audio", + "Authenticating": "Authenticating", + "Automatic": "Automatic", + "Auto_Translate": "Auto-Translate", + "Avatar_changed_successfully": "Avatar changed successfully!", + "Avatar_Url": "Avatar URL", + "Away": "Away", + "Back": "Back", + "Black": "Black", + "Block_user": "Block user", + "Browser": "Browser", + "Broadcast_channel_Description": "Only authorized users can write new messages, but the other users will be able to reply", + "Broadcast_Channel": "Broadcast Channel", + "Busy": "Busy", + "By_proceeding_you_are_agreeing": "By proceeding you are agreeing to our", + "Cancel_editing": "Cancel editing", + "Cancel_recording": "Cancel recording", + "Cancel": "Cancel", + "changing_avatar": "changing avatar", + "creating_channel": "creating channel", + "creating_invite": "creating invite", + "Channel_Name": "Channel Name", + "Channels": "Channels", + "Chats": "Chats", + "Call_already_ended": "Call already ended!", + "Clear_cookies_alert": "Do you want to clear all cookies?", + "Clear_cookies_desc": "This action will clear all login cookies, allowing you to login into other accounts.", + "Clear_cookies_yes": "Yes, clear cookies", + "Clear_cookies_no": "No, keep cookies", + "Click_to_join": "Click to Join!", + "Close": "Close", + "Close_emoji_selector": "Close emoji selector", + "Closing_chat": "Closing chat", + "Change_language_loading": "Changing language.", + "Chat_closed_by_agent": "Chat closed by agent", + "Choose": "Choose", + "Choose_from_library": "Choose from library", + "Choose_file": "Choose file", + "Choose_where_you_want_links_be_opened": "Choose where you want links be opened", + "Code": "Code", + "Code_or_password_invalid": "Code or password invalid", + "Collaborative": "Collaborative", + "Confirm": "Confirm", + "Connect": "Connect", + "Connected": "Connected", + "connecting_server": "connecting to server", + "Connecting": "Connecting...", + "Contact_us": "Contact us", + "Contact_your_server_admin": "Contact your server admin.", + "Continue_with": "Continue with", + "Copied_to_clipboard": "Copied to clipboard!", + "Copy": "Copy", + "Conversation": "Conversation", + "Permalink": "Permalink", + "Certificate_password": "Certificate Password", + "Clear_cache": "Clear local server cache", + "Clear_cache_loading": "Clearing cache.", + "Whats_the_password_for_your_certificate": "What's the password for your certificate?", + "Create_account": "Create an account", + "Create_Channel": "Create Channel", + "Create_Direct_Messages": "Create Direct Messages", + "Create_Discussion": "Create Discussion", + "Created_snippet": "created a snippet", + "Create_a_new_workspace": "Create a new workspace", + "Create": "Create", + "Custom_Status": "Custom Status", + "Dark": "Dark", + "Dark_level": "Dark Level", + "Default": "Default", + "Default_browser": "Default browser", + "Delete_Room_Warning": "Deleting a room will delete all messages posted within the room. This cannot be undone.", + "Department": "Department", + "delete": "delete", + "Delete": "Delete", + "DELETE": "DELETE", + "move": "move", + "deleting_room": "deleting room", + "description": "description", + "Description": "Description", + "Desktop_Options": "Desktop Options", + "Desktop_Notifications": "Desktop Notifications", + "Desktop_Alert_info": "These notifications are delivered in desktop", + "Directory": "Directory", + "Direct_Messages": "Direct Messages", + "Disable_notifications": "Disable notifications", + "Discussions": "Discussions", + "Discussion_Desc": "Help keeping an overview about what's going on! By creating a discussion, a sub-channel of the one you selected is created and both are linked.", + "Discussion_name": "Discussion name", + "Done": "Done", + "Dont_Have_An_Account": "Don't you have an account?", + "Do_you_have_an_account": "Do you have an account?", + "Do_you_have_a_certificate": "Do you have a certificate?", + "Do_you_really_want_to_key_this_room_question_mark": "Do you really want to {{key}} this room?", + "E2E_Encryption": "E2E Encryption", + "E2E_How_It_Works_info1": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted.", + "E2E_How_It_Works_info2": "This is *end to end encryption* so the key to encode/decode your messages and they will not be saved on the server. For that reason *you need to store this password somewhere safe* which you can access later if you may need.", + "E2E_How_It_Works_info3": "If you proceed, it will be auto generated an E2E password.", + "E2E_How_It_Works_info4": "You can also setup a new password for your encryption key any time from any browser you have entered the existing E2E password.", + "edit": "edit", + "edited": "edited", + "Edit": "Edit", + "Edit_Status": "Edit Status", + "Edit_Invite": "Edit Invite", + "End_to_end_encrypted_room": "End to end encrypted room", + "end_to_end_encryption": "end to end encryption", + "Email_Notification_Mode_All": "Every Mention/DM", + "Email_Notification_Mode_Disabled": "Disabled", + "Email_or_password_field_is_empty": "Email or password field is empty", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Empty title", + "Enable_Auto_Translate": "Enable Auto-Translate", + "Enable_notifications": "Enable notifications", + "Encrypted": "Encrypted", + "Encrypted_message": "Encrypted message", + "Enter_Your_E2E_Password": "Enter Your E2E Password", + "Enter_Your_Encryption_Password_desc1": "This will allow you to access your encrypted private groups and direct messages.", + "Enter_Your_Encryption_Password_desc2": "You need to enter the password to encode/decode messages every place you use the chat.", + "Encryption_error_title": "Your encryption password seems wrong", + "Encryption_error_desc": "It wasn't possible to decode your encryption key to be imported.", + "Everyone_can_access_this_channel": "Everyone can access this channel", + "Everyone_can_access_this_team": "Everyone can access this team", + "Error_uploading": "Error uploading", + "Expiration_Days": "Expiration (Days)", + "Favorites": "Favorites", + "Files": "Files", + "File_description": "File description", + "File_name": "File name", + "Finish_recording": "Finish recording", + "Following_thread": "Following thread", + "For_your_security_you_must_enter_your_current_password_to_continue": "For your security, you must enter your current password to continue", + "Forgot_password_If_this_email_is_registered": "If this email is registered, we'll send instructions on how to reset your password. If you do not receive an email shortly, please come back and try again.", + "Forgot_password": "Forgot your password?", + "Forgot_Password": "Forgot Password", + "Forward": "Forward", + "Forward_Chat": "Forward Chat", + "Forward_to_department": "Forward to department", + "Forward_to_user": "Forward to user", + "Full_table": "Click to see full table", + "Generate_New_Link": "Generate New Link", + "Has_joined_the_channel": "has joined the channel", + "Has_joined_the_conversation": "has joined the conversation", + "Has_left_the_channel": "has left the channel", + "Hide_System_Messages": "Hide System Messages", + "Hide_type_messages": "Hide \"{{type}}\" messages", + "How_It_Works": "How It Works", + "Message_HideType_uj": "User Join", + "Message_HideType_ul": "User Leave", + "Message_HideType_ru": "User Removed", + "Message_HideType_au": "User Added", + "Message_HideType_mute_unmute": "User Muted / Unmuted", + "Message_HideType_r": "Room Name Changed", + "Message_HideType_ut": "User Joined Conversation", + "Message_HideType_wm": "Welcome", + "Message_HideType_rm": "Message Removed", + "Message_HideType_subscription_role_added": "Was Set Role", + "Message_HideType_subscription_role_removed": "Role No Longer Defined", + "Message_HideType_room_archived": "Room Archived", + "Message_HideType_room_unarchived": "Room Unarchived", + "I_Saved_My_E2E_Password": "I Saved My E2E Password", + "IP": "IP", + "In_app": "In-app", + "In_App_And_Desktop": "In-app and Desktop", + "In_App_and_Desktop_Alert_info": "Displays a banner at the top of the screen when app is open, and displays a notification on desktop", + "Invisible": "Invisible", + "Invite": "Invite", + "is_a_valid_RocketChat_instance": "is a valid Rocket.Chat instance", + "is_not_a_valid_RocketChat_instance": "is not a valid Rocket.Chat instance", + "is_typing": "is typing", + "Invalid_or_expired_invite_token": "Invalid or expired invite token", + "Invalid_server_version": "The server you're trying to connect is using a version that's not supported by the app anymore: {{currentVersion}}.\n\nWe require version {{minVersion}}", + "Invite_Link": "Invite Link", + "Invite_users": "Invite users", + "Join": "Join", + "Join_Code": "Join Code", + "Insert_Join_Code": "Insert Join Code", + "Join_our_open_workspace": "Join our open workspace", + "Join_your_workspace": "Join your workspace", + "Just_invited_people_can_access_this_channel": "Just invited people can access this channel", + "Just_invited_people_can_access_this_team": "Just invited people can access this team", + "Language": "Language", + "last_message": "last message", + "Leave_channel": "Leave channel", + "leaving_room": "leaving room", + "Leave": "Leave", + "leave": "leave", + "Legal": "Legal", + "Light": "Light", + "License": "License", + "Livechat": "Livechat", + "Livechat_edit": "Livechat edit", + "Login": "Login", + "Login_error": "Your credentials were rejected! Please try again.", + "Login_with": "Login with", + "Logging_out": "Logging out.", + "Logout": "Logout", + "Max_number_of_uses": "Max number of uses", + "Max_number_of_users_allowed_is_number": "Max number of users allowed is {{maxUsers}}", + "members": "members", + "Members": "Members", + "Mentioned_Messages": "Mentioned Messages", + "mentioned": "mentioned", + "Mentions": "Mentions", + "Message_accessibility": "Message from {{user}} at {{time}}: {{message}}", + "Message_actions": "Message actions", + "Message_pinned": "Message pinned", + "Message_removed": "Message removed", + "Message_starred": "Message starred", + "Message_unstarred": "Message unstarred", + "message": "message", + "messages": "messages", + "Message": "Message", + "Messages": "Messages", + "Message_Reported": "Message reported", + "Microphone_Permission_Message": "Rocket.Chat needs access to your microphone so you can send audio message.", + "Microphone_Permission": "Microphone Permission", + "Mute": "Mute", + "muted": "muted", + "My_servers": "My servers", + "N_people_reacted": "{{n}} people reacted", + "N_users": "{{n}} users", + "N_channels": "{{n}} channels", + "Name": "Name", + "Navigation_history": "Navigation history", + "Never": "Never", + "New_Message": "New Message", + "New_Password": "New Password", + "New_Server": "New Server", + "Next": "Next", + "No_files": "No files", + "No_limit": "No limit", + "No_mentioned_messages": "No mentioned messages", + "No_pinned_messages": "No pinned messages", + "No_results_found": "No results found", + "No_starred_messages": "No starred messages", + "No_thread_messages": "No thread messages", + "No_label_provided": "No {{label}} provided.", + "No_Message": "No Message", + "No_messages_yet": "No messages yet", + "No_Reactions": "No Reactions", + "No_Read_Receipts": "No Read Receipts", + "Not_logged": "Not logged", + "Not_RC_Server": "This is not a Rocket.Chat server.\n{{contact}}", + "Nothing": "Nothing", + "Nothing_to_save": "Nothing to save!", + "Notify_active_in_this_room": "Notify active users in this room", + "Notify_all_in_this_room": "Notify all in this room", + "Notifications": "Notifications", + "Notification_Duration": "Notification Duration", + "Notification_Preferences": "Notification Preferences", + "No_available_agents_to_transfer": "No available agents to transfer", + "Offline": "Offline", + "Oops": "Oops!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Chats in Progress", + "Omnichannel_enable_alert": "You're not available on Omnichannel. Would you like to be available?", + "Onboarding_description": "A workspace is your team or organization’s space to collaborate. Ask the workspace admin for address to join or create one for your team.", + "Onboarding_join_workspace": "Join a workspace", + "Onboarding_subtitle": "Beyond Team Collaboration", + "Onboarding_title": "Welcome to Rocket.Chat", + "Onboarding_join_open_description": "Join our open workspace to chat with the Rocket.Chat team and community.", + "Onboarding_agree_terms": "By continuing, you agree to Rocket.Chat", + "Onboarding_less_options": "Less options", + "Onboarding_more_options": "More options", + "Online": "Online", + "Only_authorized_users_can_write_new_messages": "Only authorized users can write new messages", + "Open_emoji_selector": "Open emoji selector", + "Open_Source_Communication": "Open Source Communication", + "Open_your_authentication_app_and_enter_the_code": "Open your authentication app and enter the code.", + "OR": "OR", + "OS": "OS", + "Overwrites_the_server_configuration_and_use_room_config": "Overwrites the server configuration and use room config", + "Password": "Password", + "Parent_channel_or_group": "Parent channel or group", + "Permalink_copied_to_clipboard": "Permalink copied to clipboard!", + "Phone": "Phone", + "Pin": "Pin", + "Pinned_Messages": "Pinned Messages", + "pinned": "pinned", + "Pinned": "Pinned", + "Please_add_a_comment": "Please add a comment", + "Please_enter_your_password": "Please enter your password", + "Please_wait": "Please wait.", + "Preferences": "Preferences", + "Preferences_saved": "Preferences saved!", + "Privacy_Policy": " Privacy Policy", + "Private_Channel": "Private Channel", + "Private": "Private", + "Processing": "Processing...", + "Profile_saved_successfully": "Profile saved successfully!", + "Profile": "Profile", + "Public_Channel": "Public Channel", + "Public": "Public", + "Push_Notifications": "Push Notifications", + "Push_Notifications_Alert_Info": "These notifications are delivered to you when the app is not open", + "Quote": "Quote", + "Reactions_are_disabled": "Reactions are disabled", + "Reactions_are_enabled": "Reactions are enabled", + "Reactions": "Reactions", + "Read_External_Permission_Message": "Rocket.Chat needs to access photos, media, and files on your device", + "Read_External_Permission": "Read Media Permission", + "Read_Only_Channel": "Read Only Channel", + "Read_Only": "Read Only", + "Read_Receipt": "Read Receipt", + "Receive_Group_Mentions": "Receive Group Mentions", + "Receive_Group_Mentions_Info": "Receive @all and @here mentions", + "Register": "Register", + "Repeat_Password": "Repeat Password", + "Replied_on": "Replied on:", + "replies": "replies", + "reply": "reply", + "Reply": "Reply", + "Report": "Report", + "Receive_Notification": "Receive Notification", + "Receive_notifications_from": "Receive notifications from {{name}}", + "Resend": "Resend", + "Reset_password": "Reset password", + "resetting_password": "resetting password", + "RESET": "RESET", + "Return": "Return", + "Review_app_title": "Are you enjoying this app?", + "Review_app_desc": "Give us 5 stars on {{store}}", + "Review_app_yes": "Sure!", + "Review_app_no": "No", + "Review_app_later": "Maybe later", + "Review_app_unable_store": "Unable to open {{store}}", + "Review_this_app": "Review this app", + "Remove": "Remove", + "remove": "remove", + "Roles": "Roles", + "Room_actions": "Room actions", + "Room_changed_announcement": "Room announcement changed to: {{announcement}} by {{userBy}}", + "Room_changed_avatar": "Room avatar changed by {{userBy}}", + "Room_changed_description": "Room description changed to: {{description}} by {{userBy}}", + "Room_changed_privacy": "Room type changed to: {{type}} by {{userBy}}", + "Room_changed_topic": "Room topic changed to: {{topic}} by {{userBy}}", + "Room_Files": "Room Files", + "Room_Info_Edit": "Room Info Edit", + "Room_Info": "Room Info", + "Room_Members": "Room Members", + "Room_name_changed": "Room name changed to: {{name}} by {{userBy}}", + "SAVE": "SAVE", + "Save_Changes": "Save Changes", + "Save": "Save", + "Saved": "Saved", + "saving_preferences": "saving preferences", + "saving_profile": "saving profile", + "saving_settings": "saving settings", + "saved_to_gallery": "Saved to gallery", + "Save_Your_E2E_Password": "Save Your E2E Password", + "Save_Your_Encryption_Password": "Save Your Encryption Password", + "Save_Your_Encryption_Password_warning": "This password is not stored anywhere so save it carefully somewhere else.", + "Save_Your_Encryption_Password_info": "Notice that you lose your password, there is no way to recover it and you will lose access to your messages.", + "Search_Messages": "Search Messages", + "Search": "Search", + "Search_by": "Search by", + "Search_global_users": "Search for global users", + "Search_global_users_description": "If you turn-on, you can search for any user from others companies or servers.", + "Seconds": "{{second}} seconds", + "Security_and_privacy": "Security and privacy", + "Select_Avatar": "Select Avatar", + "Select_Server": "Select Server", + "Select_Users": "Select Users", + "Select_a_Channel": "Select a Channel", + "Select_a_Department": "Select a Department", + "Select_an_option": "Select an option", + "Select_a_User": "Select a User", + "Send": "Send", + "Send_audio_message": "Send audio message", + "Send_crash_report": "Send crash report", + "Send_message": "Send message", + "Send_me_the_code_again": "Send me the code again", + "Send_to": "Send to...", + "Sending_to": "Sending to", + "Sent_an_attachment": "Sent an attachment", + "Server": "Server", + "Servers": "Servers", + "Server_version": "Server version: {{version}}", + "Set_username_subtitle": "The username is used to allow others to mention you in messages", + "Set_custom_status": "Set custom status", + "Set_status": "Set status", + "Status_saved_successfully": "Status saved successfully!", + "Settings": "Settings", + "Settings_succesfully_changed": "Settings succesfully changed!", + "Share": "Share", + "Share_Link": "Share Link", + "Share_this_app": "Share this app", + "Show_more": "Show more..", + "Show_Unread_Counter": "Show Unread Counter", + "Show_Unread_Counter_Info": "Unread counter is displayed as a badge on the right of the channel, in the list", + "Sign_in_your_server": "Sign in your server", + "Sign_Up": "Sign Up", + "Some_field_is_invalid_or_empty": "Some field is invalid or empty", + "Sound": "Sound", + "Star_room": "Star room", + "Star": "Star", + "Starred_Messages": "Starred Messages", + "starred": "starred", + "Starred": "Starred", + "Start_of_conversation": "Start of conversation", + "Start_a_Discussion": "Start a Discussion", + "Started_discussion": "Started a discussion:", + "Started_call": "Call started by {{userBy}}", + "Submit": "Submit", + "Table": "Table", + "Tags": "Tags", + "Take_a_photo": "Take a photo", + "Take_a_video": "Take a video", + "Take_it": "Take it!", + "tap_to_change_status": "tap to change status", + "Tap_to_view_servers_list": "Tap to view servers list", + "Terms_of_Service": " Terms of Service ", + "Theme": "Theme", + "The_user_wont_be_able_to_type_in_roomName": "The user won't be able to type in {{roomName}}", + "The_user_will_be_able_to_type_in_roomName": "The user will be able to type in {{roomName}}", + "There_was_an_error_while_action": "There was an error while {{action}}!", + "This_room_is_blocked": "This room is blocked", + "This_room_is_read_only": "This room is read only", + "Thread": "Thread", + "Threads": "Threads", + "Timezone": "Timezone", + "To": "To", + "topic": "topic", + "Topic": "Topic", + "Translate": "Translate", + "Try_again": "Try again", + "Two_Factor_Authentication": "Two-factor Authentication", + "Type_the_channel_name_here": "Type the channel name here", + "unarchive": "unarchive", + "UNARCHIVE": "UNARCHIVE", + "Unblock_user": "Unblock user", + "Unfollowed_thread": "Unfollowed thread", + "Unmute": "Unmute", + "unmuted": "unmuted", + "Unpin": "Unpin", + "unread_messages": "unread", + "Unread": "Unread", + "Unread_on_top": "Unread on top", + "Unstar": "Unstar", + "Updating": "Updating...", + "Uploading": "Uploading", + "Upload_file_question_mark": "Upload file?", + "User": "User", + "Users": "Users", + "User_added_by": "User {{userAdded}} added by {{userBy}}", + "User_Info": "User Info", + "User_has_been_key": "User has been {{key}}", + "User_is_no_longer_role_by_": "{{user}} is no longer {{role}} by {{userBy}}", + "User_muted_by": "User {{userMuted}} muted by {{userBy}}", + "User_removed_by": "User {{userRemoved}} removed by {{userBy}}", + "User_sent_an_attachment": "{{user}} sent an attachment", + "User_unmuted_by": "User {{userUnmuted}} unmuted by {{userBy}}", + "User_was_set_role_by_": "{{user}} was set {{role}} by {{userBy}}", + "Username_is_empty": "Username is empty", + "Username": "Username", + "Username_or_email": "Username or email", + "Uses_server_configuration": "Uses server configuration", + "Validating": "Validating", + "Registration_Succeeded": "Registration Succeeded!", + "Verify": "Verify", + "Verify_email_title": "Registration Succeeded!", + "Verify_email_desc": "We have sent you an email to confirm your registration. If you do not receive an email shortly, please come back and try again.", + "Verify_your_email_for_the_code_we_sent": "Verify your email for the code we sent", + "Video_call": "Video call", + "View_Original": "View Original", + "Voice_call": "Voice call", + "Waiting_for_network": "Waiting for network...", + "Websocket_disabled": "Websocket is disabled for this server.\n{{contact}}", + "Welcome": "Welcome", + "What_are_you_doing_right_now": "What are you doing right now?", + "Whats_your_2fa": "What's your 2FA code?", + "Without_Servers": "Without Servers", + "Workspaces": "Workspaces", + "Would_you_like_to_return_the_inquiry": "Would you like to return the inquiry?", + "Write_External_Permission_Message": "Rocket.Chat needs access to your gallery so you can save images.", + "Write_External_Permission": "Gallery Permission", + "Yes": "Yes", + "Yes_action_it": "Yes, {{action}} it!", + "Yesterday": "Yesterday", + "You_are_in_preview_mode": "You are in preview mode", + "You_are_offline": "You are offline", + "You_can_search_using_RegExp_eg": "You can use RegExp. e.g. `/^text$/i`", + "You_colon": "You: ", + "you_were_mentioned": "you were mentioned", + "You_were_removed_from_channel": "You were removed from {{channel}}", + "you": "you", + "You": "You", + "Logged_out_by_server": "You've been logged out by the server. Please log in again.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "You need to access at least one Rocket.Chat server to share something.", + "You_need_to_verifiy_your_email_address_to_get_notications": "You need to verify your email address to get notifications", + "Your_certificate": "Your Certificate", + "Your_invite_link_will_expire_after__usesLeft__uses": "Your invite link will expire after {{usesLeft}} uses.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Your invite link will expire on {{date}} or after {{usesLeft}} uses.", + "Your_invite_link_will_expire_on__date__": "Your invite link will expire on {{date}}.", + "Your_invite_link_will_never_expire": "Your invite link will never expire.", + "Your_workspace": "Your workspace", + "Your_password_is": "Your password is", + "Version_no": "Version: {{version}}", + "You_will_not_be_able_to_recover_this_message": "You will not be able to recover this message!", + "You_will_unset_a_certificate_for_this_server": "You will unset a certificate for this server", + "Change_Language": "Change Language", + "Crash_report_disclaimer": "We never track the content of your chats. The crash report and analytics events only contains relevant information for us in order to identify and fix issues.", + "Type_message": "Type message", + "Room_search": "Rooms search", + "Room_selection": "Room selection 1...9", + "Next_room": "Next room", + "Previous_room": "Previous room", + "New_room": "New room", + "Upload_room": "Upload to room", + "Search_messages": "Search messages", + "Scroll_messages": "Scroll messages", + "Reply_latest": "Reply to latest", + "Reply_in_Thread": "Reply in Thread", + "Server_selection": "Server selection", + "Server_selection_numbers": "Server selection 1...9", + "Add_server": "Add server", + "New_line": "New line", + "You_will_be_logged_out_of_this_application": "You will be logged out of this application.", + "Clear": "Clear", + "This_will_clear_all_your_offline_data": "This will clear all your offline data.", + "This_will_remove_all_data_from_this_server": "This will remove all data from this server.", + "Mark_unread": "Mark Unread", + "Wait_activation_warning": "Before you can login, your account must be manually activated by an administrator.", + "Screen_lock": "Screen lock", + "Local_authentication_biometry_title": "Authenticate", + "Local_authentication_biometry_fallback": "Use passcode", + "Local_authentication_unlock_option": "Unlock with Passcode", + "Local_authentication_change_passcode": "Change Passcode", + "Local_authentication_info": "Note: if you forget the Passcode, you'll need to delete and reinstall the app.", + "Local_authentication_facial_recognition": "facial recognition", + "Local_authentication_fingerprint": "fingerprint", + "Local_authentication_unlock_with_label": "Unlock with {{label}}", + "Local_authentication_auto_lock_60": "After 1 minute", + "Local_authentication_auto_lock_300": "After 5 minutes", + "Local_authentication_auto_lock_900": "After 15 minutes", + "Local_authentication_auto_lock_1800": "After 30 minutes", + "Local_authentication_auto_lock_3600": "After 1 hour", + "Passcode_enter_title": "Enter your passcode", + "Passcode_choose_title": "Choose your new passcode", + "Passcode_choose_confirm_title": "Confirm your new passcode", + "Passcode_choose_error": "Passcodes don't match. Try again.", + "Passcode_choose_force_set": "Passcode required by admin", + "Passcode_app_locked_title": "App locked", + "Passcode_app_locked_subtitle": "Try again in {{timeLeft}} seconds", + "After_seconds_set_by_admin": "After {{seconds}} seconds (set by admin)", + "Dont_activate": "Don't activate now", + "Queued_chats": "Queued chats", + "Queue_is_empty": "Queue is empty", + "Logout_from_other_logged_in_locations": "Logout from other logged in locations", + "You_will_be_logged_out_from_other_locations": "You'll be logged out from other locations.", + "Logged_out_of_other_clients_successfully": "Logged out of other clients successfully", + "Logout_failed": "Logout failed!", + "Log_analytics_events": "Log analytics events", + "E2E_encryption_change_password_title": "Change Encryption Password", + "E2E_encryption_change_password_description": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted. \nThis is end to end encryption so the key to encode/decode your messages will not be saved on the server. For that reason you need to store your password somewhere safe. You will be required to enter it on other devices you wish to use e2e encryption on.", + "E2E_encryption_change_password_error": "Error while changing E2E key password!", + "E2E_encryption_change_password_success": "E2E key password changed successfully!", + "E2E_encryption_change_password_message": "Make sure you've saved it carefully somewhere else.", + "E2E_encryption_change_password_confirmation": "Yes, change it", + "E2E_encryption_reset_title": "Reset E2E Key", + "E2E_encryption_reset_description": "This option will remove your current E2E key and log you out. \nWhen you login again, Rocket.Chat will generate you a new key and restore your access to any encrypted room that has one or more members online. \nDue to the nature of the E2E encryption, Rocket.Chat will not be able to restore access to any encrypted room that has no member online.", + "E2E_encryption_reset_button": "Reset E2E Key", + "E2E_encryption_reset_error": "Error while resetting E2E key!", + "E2E_encryption_reset_message": "You're going to be logged out.", + "E2E_encryption_reset_confirmation": "Yes, reset it", + "Following": "Following", + "Threads_displaying_all": "Displaying All", + "Threads_displaying_following": "Displaying Following", + "Threads_displaying_unread": "Displaying Unread", + "No_threads": "There are no threads", + "No_threads_following": "You are not following any threads", + "No_threads_unread": "There are no unread threads", + "Messagebox_Send_to_channel": "Send to channel", + "Leader": "Leader", + "Moderator": "Moderator", + "Owner": "Owner", + "Remove_from_room": "Remove from room", + "Ignore": "Ignore", + "Unignore": "Unignore", + "User_has_been_ignored": "User has been ignored", + "User_has_been_unignored": "User is no longer ignored", + "User_has_been_removed_from_s": "User has been removed from {{s}}", + "User__username__is_now_a_leader_of__room_name_": "User {{username}} is now a leader of {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "User {{username}} is now a moderator of {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "User {{username}} is now a owner of {{room_name}}", + "User__username__removed_from__room_name__leaders": "User {{username}} removed from {{room_name}} leaders", + "User__username__removed_from__room_name__moderators": "User {{username}} removed from {{room_name}} moderators", + "User__username__removed_from__room_name__owners": "User {{username}} removed from {{room_name}} owners", + "The_user_will_be_removed_from_s": "The user will be removed from {{s}}", + "Yes_remove_user": "Yes, remove user!", + "Direct_message": "Direct message", + "Message_Ignored": "Message ignored. Tap to display it.", + "Enter_workspace_URL": "Enter workspace URL", + "Workspace_URL_Example": "Ex. your-company.rocket.chat", + "This_room_encryption_has_been_enabled_by__username_": "This room's encryption has been enabled by {{username}}", + "This_room_encryption_has_been_disabled_by__username_": "This room's encryption has been disabled by {{username}}", + "Teams": "Teams", + "No_team_channels_found": "No channels found", + "Team_not_found": "Team not found", + "Create_Team": "Create Team", + "Team_Name": "Team Name", + "Private_Team": "Private Team", + "Read_Only_Team": "Read Only Team", + "Broadcast_Team": "Broadcast Team", + "creating_team": "creating team", + "team-name-already-exists": "A team with that name already exists", + "Add_Channel_to_Team": "Add Channel to Team", + "Left_The_Team_Successfully": "Left the team successfully", + "Create_New": "Create New", + "Add_Existing": "Add Existing", + "Add_Existing_Channel": "Add Existing Channel", + "Remove_from_Team": "Remove from Team", + "Auto-join": "Auto-join", + "Remove_Team_Room_Warning": "Woud you like to remove this channel from the team? The channel will be moved back to the workspace", + "Confirmation": "Confirmation", + "invalid-room": "Invalid room", + "You_are_leaving_the_team": "You are leaving the team '{{team}}'", + "Leave_Team": "Leave Team", + "Select_Team": "Select Team", + "Select_Team_Channels": "Select the Team's channels you would like to leave.", + "Cannot_leave": "Cannot leave", + "Cannot_remove": "Cannot remove", + "Cannot_delete": "Cannot delete", + "Last_owner_team_room": "You are the last owner of this channel. Once you leave the team, the channel will be kept inside the team but you will be managing it from outside.", + "last-owner-can-not-be-removed": "Last owner cannot be removed", + "Remove_User_Teams": "Select channels you want the user to be removed from.", + "Delete_Team": "Delete Team", + "Select_channels_to_delete": "This can't be undone. Once you delete a team, all chat content and configuration will be deleted. \n\nSelect the channels you would like to delete. The ones you decide to keep will be available on your workspace. Notice that public channels will still be public and visible to everyone.", + "You_are_deleting_the_team": "You are deleting this team.", + "Removing_user_from_this_team": "You are removing {{user}} from this team", + "Remove_User_Team_Channels": "Select the channels you want the user to be removed from.", + "Remove_Member": "Remove Member", + "leaving_team": "leaving team", + "removing_team": "removing from team", + "moving_channel_to_team": "moving channel to team", + "deleting_team": "deleting team", + "member-does-not-exist": "Member does not exist", + "Convert": "Convert", + "Convert_to_Team": "Convert to Team", + "Convert_to_Team_Warning": "You are converting this Channel to a Team. All Members will be kept.", + "Move_to_Team": "Move to Team", + "Move_Channel_Paragraph": "Moving a channel inside a team means that this channel will be added in the team’s context, however, all channel’s members, which are not members of the respective team, will still have access to this channel, but will not be added as team’s members. \n\nAll channel’s management will still be made by the owners of this channel.\n\nTeam’s members and even team’s owners, if not a member of this channel, can not have access to the channel’s content. \n\nPlease notice that the Team’s owner will be able remove members from the Channel.", + "Move_to_Team_Warning": "After reading the previous intructions about this behavior, do you still want to move this channel to the selected team?", + "Load_More": "Load More", + "Load_Newer": "Load Newer", + "Load_Older": "Load Older", + "room-name-already-exists": "Room name already exists", + "error-team-creation": "Error team creation", + "unauthorized": "Unauthorized", + "Left_The_Room_Successfully": "Left the room successfully", + "Deleted_The_Team_Successfully": "Team deleted successfully", + "Deleted_The_Room_Successfully": "Room deleted successfully", + "Convert_to_Channel": "Convert to Channel", + "Converting_Team_To_Channel": "Converting Team to Channel", + "Select_Team_Channels_To_Delete": "Select the Team’s Channels you would like to delete, the ones you do not select will be moved to the Workspace. \n\nNotice that public Channels will be public and visible to everyone.", + "You_are_converting_the_team": "You are converting this Team to a Channel", + "Display": "Display", + "Avatars": "Avatars", + "Sort_by": "Sort by", + "Group_by": "Group by", + "Types": "Types", + "Expanded": "Expanded", + "Condensed": "Condensed", + "creating_discussion": "creating discussion", + "Canned_Responses": "Canned Responses", + "No_match_found": "No match found.", + "Check_canned_responses": "Check on canned responses.", + "Searching": "Searching", + "Use": "Use", + "Shortcut": "Shortcut", + "Content": "Content", + "Sharing": "Sharing", + "No_canned_responses": "No canned responses", + "Send_email_confirmation": "Send email confirmation", + "sending_email_confirmation": "sending email confirmation", + "Enable_Message_Parser": "Enable Message Parser" +} \ No newline at end of file diff --git a/app/i18n/locales/eo.json b/app/i18n/locales/eo.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/eo.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/es-ES.json b/app/i18n/locales/es-ES.json index faf9bca29..f75061579 100644 --- a/app/i18n/locales/es-ES.json +++ b/app/i18n/locales/es-ES.json @@ -1,454 +1,445 @@ { - "1_person_reacted": "1 persona reaccionó", - "1_user": "1 usuario", - "error-action-not-allowed": "{{action}} no permitida", - "error-application-not-found": "Aplicación no encontrada", - "error-archived-duplicate-name": "Hay un canal archivado con nombre {{room_name}}", - "error-avatar-invalid-url": "URL de avatar inválida: {{url}}", - "error-avatar-url-handling": "Error durante el procesamiento de ajuste de imagen de usuario desde una dirección URL ({{url}}) para {{username}}", - "error-cant-invite-for-direct-room": "No se puede invitar a los usuarios a salas de chat directas", - "error-could-not-change-email": "No es posible cambiar la dirección de correo electrónico", - "error-could-not-change-name": "No es posible cambiar el nombre", - "error-could-not-change-username": "No es posible cambiar el nombre de usuario", - "error-delete-protected-role": "No se puede eliminar un rol protegido", - "error-department-not-found": "Departamento no encontrado", - "error-direct-message-file-upload-not-allowed": "No se permite compartir archivos en mensajes directos", - "error-duplicate-channel-name": "Ya existe un canal con nombre {{room_name}}", - "error-email-domain-blacklisted": "El dominio del correo electrónico está en la lista negra", - "error-email-send-failed": "Error al enviar el correo electrónico: {{message}}", - "error-field-unavailable": "{{field}} ya está en uso :(", - "error-file-too-large": "El archivo es demasiado grande", - "error-importer-not-defined": "El importador no se configuró correctamente. Falta la clase de importación", - "error-input-is-not-a-valid-field": "{{input}} no es válido {{field}}", - "error-invalid-actionlink": "Enlace de acción inválido", - "error-invalid-arguments": "Los argumentos no son correctos", - "error-invalid-asset": "El archivo archivo no es correcto", - "error-invalid-channel": "El canal no es correcto.", - "error-invalid-channel-start-with-chars": "Canal incorrecto. Debe comenzar con @ o #", - "error-invalid-custom-field": "Campo personalizado no válido", - "error-invalid-custom-field-name": "Nombre no válido para el campo personalizado. Utilice sólo letras, números, guiones o guión bajo", - "error-invalid-date": "La fecha proporcionada no es correcta.", - "error-invalid-description": "La descripción no es correcta", - "error-invalid-domain": "El dominio no es correcto", - "error-invalid-email": "El email {{email}} no es correcto", - "error-invalid-email-address": "La dirección de correo no es correcta", - "error-invalid-file-height": "La altura de la imagen no es correcta", - "error-invalid-file-type": "El formato del archivo no es correcto", - "error-invalid-file-width": "El ancho de la imagen o es correcto", - "error-invalid-from-address": "La dirección del remitente (FROM) no es correcta.", - "error-invalid-integration": "La integración no es correcta", - "error-invalid-message": "El mensaje no es correcto", - "error-invalid-method": "El método no es correcto", - "error-invalid-name": "El nombre no es correcto", - "error-invalid-password": "La contraseña no es correcta", - "error-invalid-redirectUri": "La URL de redirección no es correcta.", - "error-invalid-role": "El rol no es correcto", - "error-invalid-room": "La sala no es correcta", - "error-invalid-room-name": "No se puede asignar el nombre {{room_name}} a una sala.", - "error-invalid-room-type": "No se puede asignar el tipo {{type}} a una sala.", - "error-invalid-settings": "La configuración proporcionada no es correcta", - "error-invalid-subscription": "La suscripción no es correcta", - "error-invalid-token": "El token no es correcto", - "error-invalid-triggerWords": "El triggerWords no es correcto", - "error-invalid-urls": "Las URLs no son correctas", - "error-invalid-user": "El usuario no es correcto", - "error-invalid-username": "El nombre de usuario no es correcto", - "error-invalid-webhook-response": "El webhook no ha respondido con código de estado HTTP 200.", - "error-message-deleting-blocked": "No está permitido eliminar mensajes", - "error-message-editing-blocked": "No está permitido editar mensajes", - "error-message-size-exceeded": "El mensaje supera el tamaño máximo permitido", - "error-missing-unsubscribe-link": "Debes proporcionar el enlace para cancelar la suscripción [unsubscribe].", - "error-no-tokens-for-this-user": "No hay tokens asignados para el usuario", - "error-not-allowed": "No permitido", - "error-not-authorized": "No autorizado", - "error-push-disabled": "El Push está desactivado", - "error-remove-last-owner": "El usuario es el único propietario existente. Debes establecer un nuevo propietario antes de eliminarlo.", - "error-role-in-use": "No puedes eliminar el rol dado que está en uso", - "error-role-name-required": "Debes indicar el nombre del rol", - "error-the-field-is-required": "El campo {{field}} es obligatorio.", - "error-too-many-requests": "Error, demasiadas peticiones. Debes esperar {{seconds}} segundos antes de continuar. Por favor, sé paciente.", - "error-user-is-not-activated": "El usuario no está activo", - "error-user-has-no-roles": "El usuario no tiene roles", - "error-user-limit-exceeded": "El número de usuarios que quieres invitar al canal #channel_name supera el límite establecido por el administrador.", - "error-user-not-in-room": "El usuario no está en la sala", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "El registro de usuario está deshabilitado", - "error-user-registration-secret": "El registro de usuarios sólo está permitido por URL secretas", - "error-you-are-last-owner": "Eres el único propietario existente. Debes establecer un nuevo propietario antes de abandonar la sala.", - "Actions": "Acciones", - "activity": "actividad", - "Activity": "Actividad", - "Add_Reaction": "Añadir reacción", - "Add_Server": "Añadir servidor", - "Admin_Panel": "Panel de Control", - "Alert": "Alerta", - "alert": "alerta", - "alerts": "alertas", - "All_users_in_the_channel_can_write_new_messages": "Todos los usuarios en el canal pueden escribir mensajes", - "All": "Todos", - "All_Messages": "Todos los mensajes", - "Allow_Reactions": "Permitir reacciones", - "Alphabetical": "Alfabético", - "and_more": "y más", - "and": "y", - "announcement": "anuncio", - "Announcement": "Anuncio", - "Apply_Your_Certificate": "Aplica tu certificado", - "ARCHIVE": "FICHERO", - "archive": "fichero", - "are_typing": "están escribiendo", - "Are_you_sure_question_mark": "¿Estás seguro?", - "Are_you_sure_you_want_to_leave_the_room": "¿Deseas salir de la sala {{room}}?", - "Audio": "Audio", - "Authenticating": "Autenticando", - "Automatic": "Automático", - "Auto_Translate": "Traducción automática", - "Avatar_changed_successfully": "¡Avatar modificado correctamente!", - "Avatar_Url": "URL del Avatar", - "Away": "Ausente", - "Back": "Volver", - "Black": "Negro", - "Block_user": "Bloquear usuario", - "Broadcast_channel_Description": "Sólo los usuarios autorizados pueden escribir nuevos mensajes, el resto podrán responder sobre los mismos.", - "Broadcast_Channel": "Canal de Transmisión", - "Busy": "Ocupado", - "By_proceeding_you_are_agreeing": "Al proceder estarás de acuerdo", - "Cancel_editing": "Cancelar edición", - "Cancel_recording": "Cancelar grabación", - "Cancel": "Cancelar", - "changing_avatar": "cambiando avatar", - "creating_channel": "creando channel", - "Channel_Name": "Nombre sala", - "Channels": "Salas", - "Chats": "Chats", - "Call_already_ended": "¡!La llamada ya ha finalizado!", - "Click_to_join": "¡Unirme!", - "Close": "Cerrar", - "Close_emoji_selector": "Cerrar selector de emojis", - "Choose": "Seleccionar", - "Choose_from_library": "Seleccionar desde galería", - "Choose_file": "Seleccionar archivo", - "Code": "Código", - "Collaborative": "Colaborativo", - "Confirm": "Confirmar", - "Connect": "Conectar", - "Connected": "Conectado", - "connecting_server": "conectando al servidor", - "Connecting": "Conectando...", - "Contact_us": "Contacta con nosotros", - "Contact_your_server_admin": "Contacta con el administrador.", - "Continue_with": "Continuar con", - "Copied_to_clipboard": "¡Copiado al portapapeles!", - "Copy": "Copiar", - "Permalink": "Enlace permanente", - "Certificate_password": "Contraseña del certificado", - "Whats_the_password_for_your_certificate": "¿Cuál es la contraseña de tu certificado?", - "Create_account": "Crear una cuenta", - "Create_Channel": "Crear sala", - "Created_snippet": "crear mensaje en bloque", - "Create_a_new_workspace": "Crear un nuevo espacio de trabajo", - "Create": "Crear", - "Dark": "Oscuro", - "Dark_level": "Nivel de oscuridad", - "Default": "Por defecto", - "Delete_Room_Warning": "Eliminar a un usuario causará la eliminación de todos los mensajes creados por dicho usuario. Esta operación no se puede deshacer.", - "delete": "eliminar", - "Delete": "Eliminar", - "DELETE": "ELIMINAR", - "deleting_room": "eliminando sala", - "description": "descripción", - "Description": "Descripción", - "Desktop_Options": "Opciones de escritorio", - "Directory": "Directorio", - "Direct_Messages": "Mensajes directos", - "Disable_notifications": "Desactivar notificaciones", - "Discussions": "Conversaciones", - "Dont_Have_An_Account": "¿Todavía no tienes una cuenta?", - "Do_you_have_a_certificate": "¿Tienes un certificado?", - "Do_you_really_want_to_key_this_room_question_mark": "¿Deseas {{key}} de esta sala?", - "edit": "editar", - "edited": "editado", - "Edit": "Editar", - "Email_or_password_field_is_empty": "El email o la contraseña están vacíos", - "Email": "E-mail", - "email": "e-mail", - "Enable_Auto_Translate": "Permitir Auto-Translate", - "Enable_notifications": "Permitir notificaciones", - "Everyone_can_access_this_channel": "Todos los usuarios pueden acceder a este canal", - "Error_uploading": "Error en la subida", - "Favorite": "Favorito", - "Favorites": "Favoritos", - "Files": "Archivos", - "File_description": "Descripción del archivo", - "File_name": "Nombre del archivo", - "Finish_recording": "Finalizar grabación", - "Following_thread": "Siguiendo hilo", - "For_your_security_you_must_enter_your_current_password_to_continue": "Por seguridad, debes introducir tu contraseña para continuar", - "Forgot_password_If_this_email_is_registered": "Si este email está registrado, te enviaremos las instrucciones para resetear tu contraseña. Si no recibes un email en breve, vuelve aquí e inténtalo de nuevo.", - "Forgot_password": "¿Ha olvidado su contraseña?", - "Forgot_Password": "Olvidé la contraseña", - "Full_table": "Click para ver la tabla completa", - "Group_by_favorites": "Agrupar por favoritos", - "Group_by_type": "Agrupar por tipo", - "Hide": "Ocultar", - "Has_joined_the_channel": "se ha unido al canal", - "Has_joined_the_conversation": "se ha unido a la conversación", - "Has_left_the_channel": "ha dejado el canal", - "In_App_And_Desktop": "En la aplicación y en el escritorio", - "In_App_and_Desktop_Alert_info": "Muestra un banner en la parte superior de la pantalla cuando la aplicación esté abierta y muestra una notificación en el escritorio", - "Invisible": "Invisible", - "Invite": "Invitar", - "is_a_valid_RocketChat_instance": "es una instancia válida de Rocket.Chat", - "is_not_a_valid_RocketChat_instance": "no es una instancia válida de Rocket.Chat", - "is_typing": "escribiendo", - "Invalid_server_version": "El servidor que intentas conectar está usando una versión que ya no está soportada por la aplicación : {{currentVersion}}. Se requiere una versión {{minVersion}}.", - "Join": "Conectar", - "Just_invited_people_can_access_this_channel": "Sólo gente invitada puede acceder a este canal.", - "Language": "Idioma", - "last_message": "último mensaje", - "Leave_channel": "Abandonar el canal", - "leaving_room": "abandonando sala", - "leave": "abandonar", - "Legal": "Legal", - "Light": "Claro", - "License": "Licencia", - "Livechat": "LiveChat", - "Login": "Inicio de sesión", - "Login_error": "¡Sus credenciales fueron rechazadas! Por favor, inténtelo de nuevo.", - "Login_with": "Iniciar sesión con", - "Logout": "Cerrar sesión", - "members": "miembros", - "Members": "Miembros", - "Mentioned_Messages": "Mensajes mencionados", - "mentioned": "mencionado", - "Mentions": "Menciones", - "Message_accessibility": "Mensaje de {{user}} a las {{time}}: {{message}}", - "Message_actions": "Acciones de mensaje", - "Message_pinned": "Mensaje fijado", - "Message_removed": "Mensaje eliminado", - "message": "mensaje", - "messages": "mensajes", - "Messages": "Mensajes", - "Message_Reported": "Mensaje notificado", - "Microphone_Permission_Message": "Rocket.Chat necesita acceso a su micrófono para que pueda enviar un mensaje de audio.", - "Microphone_Permission": "Permiso de micrófono", - "Mute": "Mutear", - "muted": "muteado", - "My_servers": "Mis servidores", - "N_people_reacted": "Han reaccionado {{n}} personas", - "N_users": "{{n}} usuarios", - "name": "nombre", - "Name": "Nombre", - "New_Message": "Nuevo mensaje", - "New_Password": "Nueva contraseña", - "New_Server": "Nuevo servidor", - "Next": "Siguiente", - "No_files": "No hay archivos", - "No_mentioned_messages": "No hay mensajes mencionados", - "No_pinned_messages": "No hay mensajes fijados", - "No_results_found": "No hay resultados", - "No_starred_messages": "No hay mensajes destacados", - "No_thread_messages": "No hay hilos", - "No_Message": "Sin mensajes", - "No_messages_yet": "No hay mensajes todavía", - "No_Reactions": "No hay reacciones", - "No_Read_Receipts": "No hay confirmaciones de lectura", - "Not_logged": "No ha iniciado sesión", - "Not_RC_Server": "Esto no es un servidor de Rocket.Chat.\n{{contact}}", - "Nothing": "Nada", - "Nothing_to_save": "¡No hay nada por guardar!", - "Notify_active_in_this_room": "Notificar a los usuarios activos en esta sala", - "Notify_all_in_this_room": "Notificar a todos en esta sala", - "Notifications": "Notificaciones", - "Notification_Duration": "Duración de la notificación", - "Notification_Preferences": "Configuración de notificaciones", - "Offline": "Sin conexión", - "Oops": "Oops!", - "Onboarding_title": "Bienvenido a Rocket.Chat", - "Online": "Conectado", - "Only_authorized_users_can_write_new_messages": "Sólo pueden escribir mensajes usuarios autorizados", - "Open_emoji_selector": "Abrir selector de emojis", - "Open_Source_Communication": "Comunicación Open Source", - "Password": "Contraseña", - "Permalink_copied_to_clipboard": "¡Enlace permanente copiado al portapapeles!", - "Pin": "Fijar", - "Pinned_Messages": "Mensajes fijados", - "pinned": "fijado", - "Pinned": "Fijado", - "Please_enter_your_password": "Por favor introduce la contraseña", - "Preferences": "Preferencias", - "Preferences_saved": "¡Preferencias guardadas!", - "Privacy_Policy": "Política de privacidad", - "Private_Channel": "Canal privado", - "Private": "Privado", - "Processing": "Procesando...", - "Profile_saved_successfully": "¡Perfil guardado correctamente!", - "Profile": "Perfil", - "Public_Channel": "Canal público", - "Public": "Público", - "Push_Notifications": "Notificaciones Push", - "Push_Notifications_Alert_Info": "Estas notificaciones se le entregan cuando la aplicación no está abierta", - "Quote": "Citar", - "Reactions_are_disabled": "Las reacciones están desactivadas", - "Reactions_are_enabled": "Las reacciones están activadas", - "Reactions": "Reacciones", - "Read": "Leer", - "Read_Only_Channel": "Canal de sólo lectura", - "Read_Only": "Sólo lectura ", - "Read_Receipt": "Comprobante de lectura", - "Receive_Group_Mentions": "Recibir menciones de grupo", - "Receive_Group_Mentions_Info": "Recibir menciones @all y @here", - "Register": "Registrar", - "Repeat_Password": "Repetir contraseña", - "Replied_on": "Respondido el:", - "replies": "respuestas", - "reply": "respuesta", - "Reply": "Respuesta", - "Report": "Informe", - "Receive_Notification": "Recibir notificación", - "Receive_notifications_from": "Recibir notificación de {{name}}", - "Resend": "Reenviar", - "Reset_password": "Resetear contraseña", - "resetting_password": "reseteando contraseña", - "RESET": "RESET", - "Roles": "Roles", - "Room_actions": "Acciones de sala", - "Room_changed_announcement": "El anuncio de la sala cambió a: {{announcement}} por {{userBy}}", - "Room_changed_description": "La descripción de la sala cambió a: {{description}} por {{userBy}}", - "Room_changed_privacy": "El tipo de la sala cambió a: {{type}} por {{userBy}}", - "Room_changed_topic": "El asunto de la sala cambió a: {{topic}} por {{userBy}}", - "Room_Files": "Archivos", - "Room_Info_Edit": "Editar información de la sala", - "Room_Info": "Información de la sala", - "Room_Members": "Miembros de la sala", - "Room_name_changed": "El nombre de la sala cambió a: {{name}} por {{userBy}}", - "SAVE": "GUARDAR", - "Save_Changes": "Guardar cambios", - "Save": "Guardar", - "saving_preferences": "guardando preferencias", - "saving_profile": "guardando perfil", - "saving_settings": "guardando configuración", - "Search_Messages": "Buscar mensajes", - "Search": "Buscar", - "Search_by": "Buscar por", - "Search_global_users": "Buscar por usuarios globales", - "Search_global_users_description": "Si lo activas, puedes buscar cualquier usuario de otras empresas o servidores.", - "Seconds": "{{second}} segundos", - "Select_Avatar": "Selecciona avatar", - "Select_Server": "Selecciona servidor", - "Select_Users": "Selecciona usuarios", - "Send": "Enviar", - "Send_audio_message": "Enviar nota de audio", - "Send_crash_report": "Enviar informe errores", - "Send_message": "Enviar mensaje", - "Send_to": "Enviar a..", - "Sent_an_attachment": "Enviar un adjunto", - "Server": "Servidor", - "Servers": "Servidores", - "Server_version": "Versión servidor: {{version}}", - "Set_username_subtitle": "El nombre de usuario se utiliza para permitir que otros le mencionen en los mensajes", - "Settings": "Configuración", - "Settings_succesfully_changed": "¡Configuración cambiada correctamente!", - "Share": "Compartir", - "Share_this_app": "Compartir esta aplicación", - "Show_Unread_Counter": "Mostrar contador de no leídos", - "Show_Unread_Counter_Info": "El contador de no leídos se muestra como una insignia a la derecha del canal, en la lista", - "Sign_in_your_server": "Accede a tu servidor", - "Sign_Up": "Registrarse", - "Some_field_is_invalid_or_empty": "Algún campo no es correcto o está vacío", - "Sorting_by": "Ordenado por {{key}}", - "Sound": "Sonido", - "Star_room": "Destacar sala", - "Star": "Destacar", - "Starred_Messages": "Mensajes destacados", - "starred": "destacado", - "Starred": "Destacado", - "Start_of_conversation": "Comienzo de la conversación", - "Started_discussion": "Comenzar una conversación:", - "Started_call": "Llamada iniciada por {{userBy}}", - "Submit": "Enviar", - "Table": "Tabla", - "Take_a_photo": "Enviar una foto", - "Take_a_video": "Enviar un vídeo", - "tap_to_change_status": "pulsa para cambiar el estado", - "Tap_to_view_servers_list": "Pulsa para ver la lista de servidores", - "Terms_of_Service": "Términos de servicio", - "Theme": "Tema", - "There_was_an_error_while_action": "¡Ha habido un error mientras {{action}}!", - "This_room_is_blocked": "La sala está bloqueada", - "This_room_is_read_only": "Esta sala es de sólo lectura", - "Thread": "Hilo", - "Threads": "Hilos", - "Timezone": "Zona horaria", - "To": "Para", - "topic": "asunto", - "Topic": "Asunto", - "Translate": "Traducir", - "Try_again": "Intentar de nuevo", - "Two_Factor_Authentication": "Autenticación de doble factor", - "Type_the_channel_name_here": "Escribe el nombre del canal aquí", - "unarchive": "desarchivar", - "UNARCHIVE": "DESARCHIVAR", - "Unblock_user": "Desbloquear usuario", - "Unfavorite": "Quitar favorito", - "Unfollowed_thread": "Dejar de seguir el hilo", - "Unmute": "Desmutear", - "unmuted": "Desmuteado", - "Unpin": "Quitar estado fijado", - "unread_messages": "marcar como no leído", - "Unread": "Marcar como no leído", - "Unread_on_top": "Mensajes no leídos en la parte superior", - "Unstar": "Quitar destacado", - "Updating": "Actualizando...", - "Uploading": "Subiendo", - "Upload_file_question_mark": "¿Subir fichero?", - "Users": "Usuarios", - "User_added_by": "Usuario {{userAdded}} añadido por {{userBy}}", - "User_has_been_key": "El usuario ha sido {{key}}", - "User_is_no_longer_role_by_": "{{user}} ha dejado de ser {{role}} por {{userBy}}", - "User_muted_by": "Usuario {{userMuted}} muteado por {{userBy}}", - "User_removed_by": "Usuario {{userRemoved}} eliminado por {{userBy}}", - "User_sent_an_attachment": "{{user}} envío un adjunto", - "User_unmuted_by": "Usuario {{userUnmuted}} desmuteado por {{userBy}}", - "User_was_set_role_by_": "{{user}} ha comenzado a ser {{role}} por {{userBy}}", - "Username_is_empty": "Nombre de usuario está vacío", - "Username": "Nombre de usuario", - "Username_or_email": "Nombre de usuario o email", - "Validating": "Validando", - "Video_call": "Vídeo llamada", - "View_Original": "Ver original", - "Voice_call": "Llamada de voz", - "Websocket_disabled": "Websocket está deshabilitado para este servidor.\n{{contact}}", - "Welcome": "Bienvenido", - "Whats_your_2fa": "¿Cuál es tu código 2FA?", - "Without_Servers": "Sin servidores", - "Yes_action_it": "Sí, ¡{{action}}!", - "Yesterday": "Ayer", - "You_are_in_preview_mode": "Estás en modo vista previa", - "You_are_offline": "Estás desconectado", - "You_can_search_using_RegExp_eg": "Puedes usar expresiones regulares. Por ejemplo, `/^text$/i`", - "You_colon": "Tú: ", - "you_were_mentioned": "has sido mencionado", - "you": "tú", - "You": "Tú", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Necesita acceder al menos a un servidor Rocket.Chat para compartir algo.", - "Your_certificate": "Tu certificado", - "Version_no": "Versión: {{version}}", - "You_will_not_be_able_to_recover_this_message": "¡No podrás recuperar este mensaje!", - "Change_Language": "Cambiar idioma", - "Crash_report_disclaimer": "Nunca rastreamos el contenido de sus conversaciones. El informe del error sólo contiene información relevante para nosotros con el fin de identificar los problemas y solucionarlos.", - "Type_message": "Escribir mensaje", - "Room_search": "Búsqueda de salas", - "Room_selection": "Selecciona sala 1...9", - "Next_room": "Siguiente sala", - "Previous_room": "Sala anterior", - "New_room": "Nueva sala", - "Upload_room": "Subir a sala", - "Search_messages": "Buscar mensajes", - "Scroll_messages": "Scroll mensajes", - "Reply_latest": "Responder al último", - "Server_selection": "Seleccionar servidor", - "Server_selection_numbers": "Seleccionar servidor 1...9", - "Add_server": "Añadir servidor", - "New_line": "Nueva línea" -} + "1_person_reacted": "1 persona reaccionó", + "1_user": "1 usuario", + "error-action-not-allowed": "{{action}} no permitida", + "error-application-not-found": "Aplicación no encontrada", + "error-archived-duplicate-name": "Hay un canal archivado con nombre {{room_name}}", + "error-avatar-invalid-url": "URL de avatar inválida: {{url}}", + "error-avatar-url-handling": "Error durante el procesamiento de ajuste de imagen de usuario desde una dirección URL ({{url}}) para {{username}}", + "error-cant-invite-for-direct-room": "No se puede invitar a los usuarios a salas de chat directas", + "error-could-not-change-email": "No es posible cambiar la dirección de correo electrónico", + "error-could-not-change-name": "No es posible cambiar el nombre", + "error-could-not-change-username": "No es posible cambiar el nombre de usuario", + "error-delete-protected-role": "No se puede eliminar un rol protegido", + "error-department-not-found": "Departamento no encontrado", + "error-direct-message-file-upload-not-allowed": "No se permite compartir archivos en mensajes directos", + "error-duplicate-channel-name": "Ya existe un canal con nombre {{room_name}}", + "error-email-domain-blacklisted": "El dominio del correo electrónico está en la lista negra", + "error-email-send-failed": "Error al enviar el correo electrónico: {{message}}", + "error-field-unavailable": "{{field}} ya está en uso :(", + "error-file-too-large": "El archivo es demasiado grande", + "error-importer-not-defined": "El importador no se configuró correctamente. Falta la clase de importación", + "error-input-is-not-a-valid-field": "{{input}} no es válido {{field}}", + "error-invalid-actionlink": "Enlace de acción inválido", + "error-invalid-arguments": "Los argumentos no son correctos", + "error-invalid-asset": "El archivo archivo no es correcto", + "error-invalid-channel": "El canal no es correcto.", + "error-invalid-channel-start-with-chars": "Canal incorrecto. Debe comenzar con @ o #", + "error-invalid-custom-field": "Campo personalizado no válido", + "error-invalid-custom-field-name": "Nombre no válido para el campo personalizado. Utilice sólo letras, números, guiones o guión bajo", + "error-invalid-date": "La fecha proporcionada no es correcta.", + "error-invalid-description": "La descripción no es correcta", + "error-invalid-domain": "El dominio no es correcto", + "error-invalid-email": "El email {{email}} no es correcto", + "error-invalid-email-address": "La dirección de correo no es correcta", + "error-invalid-file-height": "La altura de la imagen no es correcta", + "error-invalid-file-type": "El formato del archivo no es correcto", + "error-invalid-file-width": "El ancho de la imagen o es correcto", + "error-invalid-from-address": "La dirección del remitente (FROM) no es correcta.", + "error-invalid-integration": "La integración no es correcta", + "error-invalid-message": "El mensaje no es correcto", + "error-invalid-method": "El método no es correcto", + "error-invalid-name": "El nombre no es correcto", + "error-invalid-password": "La contraseña no es correcta", + "error-invalid-redirectUri": "La URL de redirección no es correcta.", + "error-invalid-role": "El rol no es correcto", + "error-invalid-room": "La sala no es correcta", + "error-invalid-room-name": "No se puede asignar el nombre {{room_name}} a una sala.", + "error-invalid-room-type": "No se puede asignar el tipo {{type}} a una sala.", + "error-invalid-settings": "La configuración proporcionada no es correcta", + "error-invalid-subscription": "La suscripción no es correcta", + "error-invalid-token": "El token no es correcto", + "error-invalid-triggerWords": "El triggerWords no es correcto", + "error-invalid-urls": "Las URLs no son correctas", + "error-invalid-user": "El usuario no es correcto", + "error-invalid-username": "El nombre de usuario no es correcto", + "error-invalid-webhook-response": "El webhook no ha respondido con código de estado HTTP 200.", + "error-message-deleting-blocked": "No está permitido eliminar mensajes", + "error-message-editing-blocked": "No está permitido editar mensajes", + "error-message-size-exceeded": "El mensaje supera el tamaño máximo permitido", + "error-missing-unsubscribe-link": "Debes proporcionar el enlace para cancelar la suscripción [unsubscribe].", + "error-no-tokens-for-this-user": "No hay tokens asignados para el usuario", + "error-not-allowed": "No permitido", + "error-not-authorized": "No autorizado", + "error-push-disabled": "El Push está desactivado", + "error-remove-last-owner": "El usuario es el único propietario existente. Debes establecer un nuevo propietario antes de eliminarlo.", + "error-role-in-use": "No puedes eliminar el rol dado que está en uso", + "error-role-name-required": "Debes indicar el nombre del rol", + "error-the-field-is-required": "El campo {{field}} es obligatorio.", + "error-too-many-requests": "Error, demasiadas peticiones. Debes esperar {{seconds}} segundos antes de continuar. Por favor, sé paciente.", + "error-user-is-not-activated": "El usuario no está activo", + "error-user-has-no-roles": "El usuario no tiene roles", + "error-user-limit-exceeded": "El número de usuarios que quieres invitar al canal #channel_name supera el límite establecido por el administrador.", + "error-user-not-in-room": "El usuario no está en la sala", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "El registro de usuario está deshabilitado", + "error-user-registration-secret": "El registro de usuarios sólo está permitido por URL secretas", + "error-you-are-last-owner": "Eres el único propietario existente. Debes establecer un nuevo propietario antes de abandonar la sala.", + "Actions": "Acciones", + "Activity": "Actividad", + "Add_Reaction": "Añadir reacción", + "Add_Server": "Añadir servidor", + "Admin_Panel": "Panel de Control", + "Alert": "Alerta", + "alert": "alerta", + "alerts": "alertas", + "All_users_in_the_channel_can_write_new_messages": "Todos los usuarios en el canal pueden escribir mensajes", + "All": "Todos", + "All_Messages": "Todos los mensajes", + "Allow_Reactions": "Permitir reacciones", + "Alphabetical": "Alfabético", + "and_more": "y más", + "and": "y", + "announcement": "anuncio", + "Announcement": "Anuncio", + "Apply_Your_Certificate": "Aplica tu certificado", + "ARCHIVE": "FICHERO", + "archive": "fichero", + "are_typing": "están escribiendo", + "Are_you_sure_question_mark": "¿Estás seguro?", + "Are_you_sure_you_want_to_leave_the_room": "¿Deseas salir de la sala {{room}}?", + "Audio": "Audio", + "Authenticating": "Autenticando", + "Automatic": "Automático", + "Auto_Translate": "Traducción automática", + "Avatar_changed_successfully": "¡Avatar modificado correctamente!", + "Avatar_Url": "URL del Avatar", + "Away": "Ausente", + "Back": "Volver", + "Black": "Negro", + "Block_user": "Bloquear usuario", + "Broadcast_channel_Description": "Sólo los usuarios autorizados pueden escribir nuevos mensajes, el resto podrán responder sobre los mismos.", + "Broadcast_Channel": "Canal de Transmisión", + "Busy": "Ocupado", + "By_proceeding_you_are_agreeing": "Al proceder estarás de acuerdo", + "Cancel_editing": "Cancelar edición", + "Cancel_recording": "Cancelar grabación", + "Cancel": "Cancelar", + "changing_avatar": "cambiando avatar", + "creating_channel": "creando channel", + "Channel_Name": "Nombre sala", + "Channels": "Salas", + "Chats": "Chats", + "Call_already_ended": "¡!La llamada ya ha finalizado!", + "Click_to_join": "¡Unirme!", + "Close": "Cerrar", + "Close_emoji_selector": "Cerrar selector de emojis", + "Choose": "Seleccionar", + "Choose_from_library": "Seleccionar desde galería", + "Choose_file": "Seleccionar archivo", + "Code": "Código", + "Collaborative": "Colaborativo", + "Confirm": "Confirmar", + "Connect": "Conectar", + "Connected": "Conectado", + "connecting_server": "conectando al servidor", + "Connecting": "Conectando...", + "Contact_us": "Contacta con nosotros", + "Contact_your_server_admin": "Contacta con el administrador.", + "Continue_with": "Continuar con", + "Copied_to_clipboard": "¡Copiado al portapapeles!", + "Copy": "Copiar", + "Permalink": "Enlace permanente", + "Certificate_password": "Contraseña del certificado", + "Whats_the_password_for_your_certificate": "¿Cuál es la contraseña de tu certificado?", + "Create_account": "Crear una cuenta", + "Create_Channel": "Crear sala", + "Created_snippet": "crear mensaje en bloque", + "Create_a_new_workspace": "Crear un nuevo espacio de trabajo", + "Create": "Crear", + "Dark": "Oscuro", + "Dark_level": "Nivel de oscuridad", + "Default": "Por defecto", + "Delete_Room_Warning": "Eliminar a un usuario causará la eliminación de todos los mensajes creados por dicho usuario. Esta operación no se puede deshacer.", + "delete": "eliminar", + "Delete": "Eliminar", + "DELETE": "ELIMINAR", + "deleting_room": "eliminando sala", + "description": "descripción", + "Description": "Descripción", + "Desktop_Options": "Opciones de escritorio", + "Directory": "Directorio", + "Direct_Messages": "Mensajes directos", + "Disable_notifications": "Desactivar notificaciones", + "Discussions": "Conversaciones", + "Dont_Have_An_Account": "¿Todavía no tienes una cuenta?", + "Do_you_have_a_certificate": "¿Tienes un certificado?", + "Do_you_really_want_to_key_this_room_question_mark": "¿Deseas {{key}} de esta sala?", + "edit": "editar", + "edited": "editado", + "Edit": "Editar", + "Email_or_password_field_is_empty": "El email o la contraseña están vacíos", + "Email": "E-mail", + "email": "e-mail", + "Enable_Auto_Translate": "Permitir Auto-Translate", + "Enable_notifications": "Permitir notificaciones", + "Everyone_can_access_this_channel": "Todos los usuarios pueden acceder a este canal", + "Error_uploading": "Error en la subida", + "Favorites": "Favoritos", + "Files": "Archivos", + "File_description": "Descripción del archivo", + "File_name": "Nombre del archivo", + "Finish_recording": "Finalizar grabación", + "Following_thread": "Siguiendo hilo", + "For_your_security_you_must_enter_your_current_password_to_continue": "Por seguridad, debes introducir tu contraseña para continuar", + "Forgot_password_If_this_email_is_registered": "Si este email está registrado, te enviaremos las instrucciones para resetear tu contraseña. Si no recibes un email en breve, vuelve aquí e inténtalo de nuevo.", + "Forgot_password": "¿Ha olvidado su contraseña?", + "Forgot_Password": "Olvidé la contraseña", + "Full_table": "Click para ver la tabla completa", + "Has_joined_the_channel": "se ha unido al canal", + "Has_joined_the_conversation": "se ha unido a la conversación", + "Has_left_the_channel": "ha dejado el canal", + "In_App_And_Desktop": "En la aplicación y en el escritorio", + "In_App_and_Desktop_Alert_info": "Muestra un banner en la parte superior de la pantalla cuando la aplicación esté abierta y muestra una notificación en el escritorio", + "Invisible": "Invisible", + "Invite": "Invitar", + "is_a_valid_RocketChat_instance": "es una instancia válida de Rocket.Chat", + "is_not_a_valid_RocketChat_instance": "no es una instancia válida de Rocket.Chat", + "is_typing": "escribiendo", + "Invalid_server_version": "El servidor que intentas conectar está usando una versión que ya no está soportada por la aplicación : {{currentVersion}}. Se requiere una versión {{minVersion}}.", + "Join": "Conectar", + "Just_invited_people_can_access_this_channel": "Sólo gente invitada puede acceder a este canal.", + "Language": "Idioma", + "last_message": "último mensaje", + "Leave_channel": "Abandonar el canal", + "leaving_room": "abandonando sala", + "leave": "abandonar", + "Legal": "Legal", + "Light": "Claro", + "License": "Licencia", + "Livechat": "LiveChat", + "Login": "Inicio de sesión", + "Login_error": "¡Sus credenciales fueron rechazadas! Por favor, inténtelo de nuevo.", + "Login_with": "Iniciar sesión con", + "Logout": "Cerrar sesión", + "members": "miembros", + "Members": "Miembros", + "Mentioned_Messages": "Mensajes mencionados", + "mentioned": "mencionado", + "Mentions": "Menciones", + "Message_accessibility": "Mensaje de {{user}} a las {{time}}: {{message}}", + "Message_actions": "Acciones de mensaje", + "Message_pinned": "Mensaje fijado", + "Message_removed": "Mensaje eliminado", + "message": "mensaje", + "messages": "mensajes", + "Messages": "Mensajes", + "Message_Reported": "Mensaje notificado", + "Microphone_Permission_Message": "Rocket.Chat necesita acceso a su micrófono para que pueda enviar un mensaje de audio.", + "Microphone_Permission": "Permiso de micrófono", + "Mute": "Mutear", + "muted": "muteado", + "My_servers": "Mis servidores", + "N_people_reacted": "Han reaccionado {{n}} personas", + "N_users": "{{n}} usuarios", + "Name": "Nombre", + "New_Message": "Nuevo mensaje", + "New_Password": "Nueva contraseña", + "New_Server": "Nuevo servidor", + "Next": "Siguiente", + "No_files": "No hay archivos", + "No_mentioned_messages": "No hay mensajes mencionados", + "No_pinned_messages": "No hay mensajes fijados", + "No_results_found": "No hay resultados", + "No_starred_messages": "No hay mensajes destacados", + "No_thread_messages": "No hay hilos", + "No_Message": "Sin mensajes", + "No_messages_yet": "No hay mensajes todavía", + "No_Reactions": "No hay reacciones", + "No_Read_Receipts": "No hay confirmaciones de lectura", + "Not_logged": "No ha iniciado sesión", + "Not_RC_Server": "Esto no es un servidor de Rocket.Chat.\n{{contact}}", + "Nothing": "Nada", + "Nothing_to_save": "¡No hay nada por guardar!", + "Notify_active_in_this_room": "Notificar a los usuarios activos en esta sala", + "Notify_all_in_this_room": "Notificar a todos en esta sala", + "Notifications": "Notificaciones", + "Notification_Duration": "Duración de la notificación", + "Notification_Preferences": "Configuración de notificaciones", + "Offline": "Sin conexión", + "Oops": "Oops!", + "Onboarding_title": "Bienvenido a Rocket.Chat", + "Online": "Conectado", + "Only_authorized_users_can_write_new_messages": "Sólo pueden escribir mensajes usuarios autorizados", + "Open_emoji_selector": "Abrir selector de emojis", + "Open_Source_Communication": "Comunicación Open Source", + "Password": "Contraseña", + "Permalink_copied_to_clipboard": "¡Enlace permanente copiado al portapapeles!", + "Pin": "Fijar", + "Pinned_Messages": "Mensajes fijados", + "pinned": "fijado", + "Pinned": "Fijado", + "Please_enter_your_password": "Por favor introduce la contraseña", + "Preferences": "Preferencias", + "Preferences_saved": "¡Preferencias guardadas!", + "Privacy_Policy": "Política de privacidad", + "Private_Channel": "Canal privado", + "Private": "Privado", + "Processing": "Procesando...", + "Profile_saved_successfully": "¡Perfil guardado correctamente!", + "Profile": "Perfil", + "Public_Channel": "Canal público", + "Public": "Público", + "Push_Notifications": "Notificaciones Push", + "Push_Notifications_Alert_Info": "Estas notificaciones se le entregan cuando la aplicación no está abierta", + "Quote": "Citar", + "Reactions_are_disabled": "Las reacciones están desactivadas", + "Reactions_are_enabled": "Las reacciones están activadas", + "Reactions": "Reacciones", + "Read_Only_Channel": "Canal de sólo lectura", + "Read_Only": "Sólo lectura ", + "Read_Receipt": "Comprobante de lectura", + "Receive_Group_Mentions": "Recibir menciones de grupo", + "Receive_Group_Mentions_Info": "Recibir menciones @all y @here", + "Register": "Registrar", + "Repeat_Password": "Repetir contraseña", + "Replied_on": "Respondido el:", + "replies": "respuestas", + "reply": "respuesta", + "Reply": "Respuesta", + "Report": "Informe", + "Receive_Notification": "Recibir notificación", + "Receive_notifications_from": "Recibir notificación de {{name}}", + "Resend": "Reenviar", + "Reset_password": "Resetear contraseña", + "resetting_password": "reseteando contraseña", + "RESET": "RESET", + "Roles": "Roles", + "Room_actions": "Acciones de sala", + "Room_changed_announcement": "El anuncio de la sala cambió a: {{announcement}} por {{userBy}}", + "Room_changed_description": "La descripción de la sala cambió a: {{description}} por {{userBy}}", + "Room_changed_privacy": "El tipo de la sala cambió a: {{type}} por {{userBy}}", + "Room_changed_topic": "El asunto de la sala cambió a: {{topic}} por {{userBy}}", + "Room_Files": "Archivos", + "Room_Info_Edit": "Editar información de la sala", + "Room_Info": "Información de la sala", + "Room_Members": "Miembros de la sala", + "Room_name_changed": "El nombre de la sala cambió a: {{name}} por {{userBy}}", + "SAVE": "GUARDAR", + "Save_Changes": "Guardar cambios", + "Save": "Guardar", + "saving_preferences": "guardando preferencias", + "saving_profile": "guardando perfil", + "saving_settings": "guardando configuración", + "Search_Messages": "Buscar mensajes", + "Search": "Buscar", + "Search_by": "Buscar por", + "Search_global_users": "Buscar por usuarios globales", + "Search_global_users_description": "Si lo activas, puedes buscar cualquier usuario de otras empresas o servidores.", + "Seconds": "{{second}} segundos", + "Select_Avatar": "Selecciona avatar", + "Select_Server": "Selecciona servidor", + "Select_Users": "Selecciona usuarios", + "Send": "Enviar", + "Send_audio_message": "Enviar nota de audio", + "Send_crash_report": "Enviar informe errores", + "Send_message": "Enviar mensaje", + "Send_to": "Enviar a..", + "Sent_an_attachment": "Enviar un adjunto", + "Server": "Servidor", + "Servers": "Servidores", + "Server_version": "Versión servidor: {{version}}", + "Set_username_subtitle": "El nombre de usuario se utiliza para permitir que otros le mencionen en los mensajes", + "Settings": "Configuración", + "Settings_succesfully_changed": "¡Configuración cambiada correctamente!", + "Share": "Compartir", + "Share_this_app": "Compartir esta aplicación", + "Show_Unread_Counter": "Mostrar contador de no leídos", + "Show_Unread_Counter_Info": "El contador de no leídos se muestra como una insignia a la derecha del canal, en la lista", + "Sign_in_your_server": "Accede a tu servidor", + "Sign_Up": "Registrarse", + "Some_field_is_invalid_or_empty": "Algún campo no es correcto o está vacío", + "Sound": "Sonido", + "Star_room": "Destacar sala", + "Star": "Destacar", + "Starred_Messages": "Mensajes destacados", + "starred": "destacado", + "Starred": "Destacado", + "Start_of_conversation": "Comienzo de la conversación", + "Started_discussion": "Comenzar una conversación:", + "Started_call": "Llamada iniciada por {{userBy}}", + "Submit": "Enviar", + "Table": "Tabla", + "Take_a_photo": "Enviar una foto", + "Take_a_video": "Enviar un vídeo", + "tap_to_change_status": "pulsa para cambiar el estado", + "Tap_to_view_servers_list": "Pulsa para ver la lista de servidores", + "Terms_of_Service": "Términos de servicio", + "Theme": "Tema", + "There_was_an_error_while_action": "¡Ha habido un error mientras {{action}}!", + "This_room_is_blocked": "La sala está bloqueada", + "This_room_is_read_only": "Esta sala es de sólo lectura", + "Thread": "Hilo", + "Threads": "Hilos", + "Timezone": "Zona horaria", + "To": "Para", + "topic": "asunto", + "Topic": "Asunto", + "Translate": "Traducir", + "Try_again": "Intentar de nuevo", + "Two_Factor_Authentication": "Autenticación de doble factor", + "Type_the_channel_name_here": "Escribe el nombre del canal aquí", + "unarchive": "desarchivar", + "UNARCHIVE": "DESARCHIVAR", + "Unblock_user": "Desbloquear usuario", + "Unfollowed_thread": "Dejar de seguir el hilo", + "Unmute": "Desmutear", + "unmuted": "Desmuteado", + "Unpin": "Quitar estado fijado", + "unread_messages": "marcar como no leído", + "Unread": "Marcar como no leído", + "Unread_on_top": "Mensajes no leídos en la parte superior", + "Unstar": "Quitar destacado", + "Updating": "Actualizando...", + "Uploading": "Subiendo", + "Upload_file_question_mark": "¿Subir fichero?", + "Users": "Usuarios", + "User_added_by": "Usuario {{userAdded}} añadido por {{userBy}}", + "User_has_been_key": "El usuario ha sido {{key}}", + "User_is_no_longer_role_by_": "{{user}} ha dejado de ser {{role}} por {{userBy}}", + "User_muted_by": "Usuario {{userMuted}} muteado por {{userBy}}", + "User_removed_by": "Usuario {{userRemoved}} eliminado por {{userBy}}", + "User_sent_an_attachment": "{{user}} envío un adjunto", + "User_unmuted_by": "Usuario {{userUnmuted}} desmuteado por {{userBy}}", + "User_was_set_role_by_": "{{user}} ha comenzado a ser {{role}} por {{userBy}}", + "Username_is_empty": "Nombre de usuario está vacío", + "Username": "Nombre de usuario", + "Username_or_email": "Nombre de usuario o email", + "Validating": "Validando", + "Video_call": "Vídeo llamada", + "View_Original": "Ver original", + "Voice_call": "Llamada de voz", + "Websocket_disabled": "Websocket está deshabilitado para este servidor.\n{{contact}}", + "Welcome": "Bienvenido", + "Whats_your_2fa": "¿Cuál es tu código 2FA?", + "Without_Servers": "Sin servidores", + "Yes_action_it": "Sí, ¡{{action}}!", + "Yesterday": "Ayer", + "You_are_in_preview_mode": "Estás en modo vista previa", + "You_are_offline": "Estás desconectado", + "You_can_search_using_RegExp_eg": "Puedes usar expresiones regulares. Por ejemplo, `/^text$/i`", + "You_colon": "Tú: ", + "you_were_mentioned": "has sido mencionado", + "you": "tú", + "You": "Tú", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Necesita acceder al menos a un servidor Rocket.Chat para compartir algo.", + "Your_certificate": "Tu certificado", + "Version_no": "Versión: {{version}}", + "You_will_not_be_able_to_recover_this_message": "¡No podrás recuperar este mensaje!", + "Change_Language": "Cambiar idioma", + "Crash_report_disclaimer": "Nunca rastreamos el contenido de sus conversaciones. El informe del error sólo contiene información relevante para nosotros con el fin de identificar los problemas y solucionarlos.", + "Type_message": "Escribir mensaje", + "Room_search": "Búsqueda de salas", + "Room_selection": "Selecciona sala 1...9", + "Next_room": "Siguiente sala", + "Previous_room": "Sala anterior", + "New_room": "Nueva sala", + "Upload_room": "Subir a sala", + "Search_messages": "Buscar mensajes", + "Scroll_messages": "Scroll mensajes", + "Reply_latest": "Responder al último", + "Server_selection": "Seleccionar servidor", + "Server_selection_numbers": "Seleccionar servidor 1...9", + "Add_server": "Añadir servidor", + "New_line": "Nueva línea" +} \ No newline at end of file diff --git a/app/i18n/locales/et.json b/app/i18n/locales/et.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/et.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/eu.json b/app/i18n/locales/eu.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/eu.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/fa.json b/app/i18n/locales/fa.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/fa.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/fi.json b/app/i18n/locales/fi.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/fi.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/fr.json b/app/i18n/locales/fr.json index 242a3e277..811486b06 100644 --- a/app/i18n/locales/fr.json +++ b/app/i18n/locales/fr.json @@ -1,776 +1,786 @@ { - "1_person_reacted": "1 personne a réagi", - "1_user": "1 utilisateur", - "error-action-not-allowed": "{{action}} n'est pas autorisé", - "error-application-not-found": "Application non trouvée", - "error-archived-duplicate-name": "Il y a un canal archivé avec le nom {{room_name}}", - "error-avatar-invalid-url": "URL d'avatar invalide : {{url}}", - "error-avatar-url-handling": "Erreur lors de la gestion du paramètre d'avatar à partir d'une URL ({{url}}) pour {{username}}", - "error-cant-invite-for-direct-room": "Impossible d'inviter l'utilisateur aux salons directs", - "error-could-not-change-email": "Impossible de changer l'adresse e-mail", - "error-could-not-change-name": "Impossible de changer le nom", - "error-could-not-change-username": "Impossible de changer le nom d'utilisateur", - "error-could-not-change-status": "Impossible de changer le statut", - "error-delete-protected-role": "Impossible de supprimer un rôle protégé", - "error-department-not-found": "Département introuvable", - "error-direct-message-file-upload-not-allowed": "Partage de fichiers non autorisé dans les messages privés", - "error-duplicate-channel-name": "Un canal avec nom {{room_name}} existe", - "error-email-domain-blacklisted": "Le domaine de messagerie est sur liste noire", - "error-email-send-failed": "Erreur lors de la tentative d'envoi de l'e-mail : {{message}}", - "error-save-image": "Erreur lors de l'enregistrement de l'image", - "error-save-video": "Erreur en sauvegardant la vidéo", - "error-field-unavailable": "{{field}} est déjà utilisé: (", - "error-file-too-large": "Le fichier est trop grand", - "error-importer-not-defined": "L'importateur n'a pas été défini correctement, il manque la classe Import.", - "error-input-is-not-a-valid-field": "{{input}} n'est pas un {{field}} valide", - "error-invalid-actionlink": "Lien d'action non valide", - "error-invalid-arguments": "Arguments non valides", - "error-invalid-asset": "Elément non valide", - "error-invalid-channel": "Canal invalide.", - "error-invalid-channel-start-with-chars": "Canal non valide. Commencez par @ ou #", - "error-invalid-custom-field": "Champ personnalisé non valide", - "error-invalid-custom-field-name": "Nom de champ personnalisé non valide. Utilisez uniquement des lettres, des chiffres, des traits d'union et des traits de soulignement.", - "error-invalid-date": "Date fournie non valide.", - "error-invalid-description": "Description invalide", - "error-invalid-domain": "Domaine invalide", - "error-invalid-email": "E-mail {{email}} invalide", - "error-invalid-email-address": "Adresse e-mail invalide", - "error-invalid-file-height": "Hauteur de fichier non valide", - "error-invalid-file-type": "Type de fichier invalide", - "error-invalid-file-width": "Largeur de fichier non valide", - "error-invalid-from-address": "Vous avez renseigné une adresse FROM invalide.", - "error-invalid-integration": "Intégration invalide", - "error-invalid-message": "Message invalide", - "error-invalid-method": "Méthode non valide", - "error-invalid-name": "Nom incorrect", - "error-invalid-password": "Mot de passe incorrect", - "error-invalid-redirectUri": "RedirectUri invalide", - "error-invalid-role": "Rôle invalide", - "error-invalid-room": "Salon invalide", - "error-invalid-room-name": "{{room_name}} n'est pas un nom de salon valide", - "error-invalid-room-type": "{{type}} n'est pas un type de salon valide.", - "error-invalid-settings": "Paramètres fournis non valides", - "error-invalid-subscription": "Abonnement invalide", - "error-invalid-token": "Jeton invalide", - "error-invalid-triggerWords": "Mots déclencheurs invalides", - "error-invalid-urls": "URL non valides", - "error-invalid-user": "Utilisateur invalide", - "error-invalid-username": "Nom d'utilisateur invalide", - "error-invalid-webhook-response": "L'URL du webhook a répondu avec un statut autre que 200", - "error-message-deleting-blocked": "La suppression du message est bloquée", - "error-message-editing-blocked": "La modification du message est bloquée", - "error-message-size-exceeded": "La taille du message dépasse Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Vous devez fournir le lien [unsubscribe].", - "error-no-owner-channel": "Vous n'êtes pas propriétaire du canal", - "error-no-tokens-for-this-user": "Il n'y a pas de jetons pour cet utilisateur", - "error-not-allowed": "Interdit", - "error-not-authorized": "Pas autorisé", - "error-push-disabled": "Push est désactivé", - "error-remove-last-owner": "C'est le dernier propriétaire. Veuillez définir un nouveau propriétaire avant de supprimer celui-ci.", - "error-role-in-use": "Impossible de supprimer le rôle car il est en cours d'utilisation", - "error-role-name-required": "Le nom du rôle est requis", - "error-the-field-is-required": "Le champ {{field}} est requis.", - "error-too-many-requests": "Erreur, trop de demandes. Ralentissez, s'il vous plaît. Vous devez attendre {{seconds}} secondes avant de réessayer.", - "error-user-is-not-activated": "L'utilisateur n'est pas activé", - "error-user-has-no-roles": "L'utilisateur n'a aucun rôle", - "error-user-limit-exceeded": "Le nombre d'utilisateurs que vous essayez d'inviter à #channel_name dépasse la limite définie par l'administrateur", - "error-user-not-in-room": "L'utilisateur n'est pas dans ce salon", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "L'enregistrement de l'utilisateur est désactivé", - "error-user-registration-secret": "L'enregistrement de l'utilisateur n'est autorisé que via l'URL secrète", - "error-you-are-last-owner": "Vous êtes le dernier propriétaire. Veuillez définir un nouveau propriétaire avant de quitter le salon.", - "error-status-not-allowed": "Le statut invisible est désactivé", - "Actions": "Actions", - "activity": "activité", - "Activity": "Activité", - "Add_Reaction": "Ajouter une réaction", - "Add_Server": "Ajouter un serveur", - "Add_users": "Ajouter des utilisateurs", - "Admin_Panel": "Panneau d'administration", - "Agent": "Agent", - "Alert": "Alerte", - "alert": "alerte", - "alerts": "alertes", - "All_users_in_the_channel_can_write_new_messages": "Tous les utilisateurs du canal peuvent écrire de nouveaux messages", - "All_users_in_the_team_can_write_new_messages": "Tous les utilisateurs de l'équipe peuvent écrire de nouveaux messages", - "A_meaningful_name_for_the_discussion_room": "Un nom significatif pour le salon de discussion", - "All": "Tout", - "All_Messages": "Tous les messages", - "Allow_Reactions": "Autoriser les réactions", - "Alphabetical": "Alphabétique", - "and_more": "et plus", - "and": "et", - "announcement": "annonce", - "Announcement": "Annonce", - "Apply_Your_Certificate": "Appliquer votre certificat", - "ARCHIVE": "ARCHIVER", - "archive": "archiver", - "are_typing": "sont en train d'écrire", - "Are_you_sure_question_mark": "Êtes-vous sûr ?", - "Are_you_sure_you_want_to_leave_the_room": "Êtes-vous sûr de vouloir quitter le salon {{room}} ?", - "Audio": "Audio", - "Authenticating": "Authentification", - "Automatic": "Automatique", - "Auto_Translate": "Traduction automatique", - "Avatar_changed_successfully": "Avatar changé avec succès !", - "Avatar_Url": "URL de l'avatar", - "Away": "Absent", - "Back": "Retour", - "Black": "Noir", - "Block_user": "Bloquer l'utilisateur", - "Browser": "Navigateur", - "Broadcast_channel_Description": "Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages, mais les autres utilisateurs pourront répondre.", - "Broadcast_Channel": "Canal de diffusion", - "Busy": "Occupé", - "By_proceeding_you_are_agreeing": "En poursuivant, vous acceptez nos", - "Cancel_editing": "Annuler la modification", - "Cancel_recording": "Annuler l'enregistrement", - "Cancel": "Annuler", - "changing_avatar": "changer d'avatar", - "creating_channel": "création d'un canal", - "creating_invite": "création d'une invitation", - "Channel_Name": "Nom du canal", - "Channels": "Canaux", - "Chats": "Chats", - "Call_already_ended": "Appel déjà terminé !", - "Clear_cookies_alert": "Voulez-vous effacer tous les cookies ?", - "Clear_cookies_desc": "Cette action effacera tous les cookies de connexion ce qui vous permettra de vous connecter à d'autres comptes.", - "Clear_cookies_yes": "Oui, effacez les cookies", - "Clear_cookies_no": "Non, gardez les cookies", - "Click_to_join": "Cliquez pour rejoindre !", - "Close": "Fermer", - "Close_emoji_selector": "Fermer le sélecteur d'émoji", - "Closing_chat": "Fermeture du chat", - "Change_language_loading": "Changement de la langue.", - "Chat_closed_by_agent": "Chat fermé par l'agent", - "Choose": "Choisir", - "Choose_from_library": "Choisissez dans la bibliothèque", - "Choose_file": "Choisir le fichier", - "Choose_where_you_want_links_be_opened": "Choisissez oµ vous souhaitez ouvrir les liens", - "Code": "Code", - "Code_or_password_invalid": "Code ou mot de passe invalide", - "Collaborative": "Collaboratif", - "Confirm": "Confirmer", - "Connect": "Connecter", - "Connected": "Connecté", - "connecting_server": "connexion en cours au serveur", - "Connecting": "Connexion...", - "Contact_us": "Contactez-nous", - "Contact_your_server_admin": "Contactez votre administrateur de serveur.", - "Continue_with": "Continuer avec", - "Copied_to_clipboard": "Copié dans le presse-papier !", - "Copy": "Copier", - "Conversation": "Conversation", - "Permalink": "Lien permanent", - "Certificate_password": "Mot de passe du certificat", - "Clear_cache": "Effacer le cache du serveur local", - "Clear_cache_loading": "Effacement du cache.", - "Whats_the_password_for_your_certificate": "Quel est le mot de passe de votre certificat ?", - "Create_account": "Créer un compte", - "Create_Channel": "Créer un canal", - "Create_Direct_Messages": "Créer des messages directs", - "Create_Discussion": "Créer une discussion", - "Created_snippet": "créé un extrait", - "Create_a_new_workspace": "Créer un nouvel espace de travail", - "Create": "Créer", - "Custom_Status": "Statut personnalisé", - "Dark": "Sombre", - "Dark_level": "Niveau d'obscurité", - "Default": "Défaut", - "Default_browser": "Navigateur par défaut", - "Delete_Room_Warning": "Supprimer une salon supprimera tous les messages publiés dans le salon. Ça ne peut pas être annulé.", - "Department": "Département", - "delete": "supprimer", - "Delete": "Supprimer", - "DELETE": "SUPPRIMER", - "move": "déplacer", - "deleting_room": "suppression du salon", - "description": "la description", - "Description": "La description", - "Desktop_Options": "Options de bureau", - "Desktop_Notifications": "Notifications de bureau", - "Desktop_Alert_info": "Ces notifications sont transmises sur le bureau", - "Directory": "Répertoire", - "Direct_Messages": "Messages directs", - "Disable_notifications": "Désactiver les notifications", - "Discussions": "Discussions", - "Discussion_Desc": "Aide à garder une vue d'ensemble sur ce qui se passe ! En créant une discussion, un sous-canal de celui que vous avez sélectionné est créé et les deux sont liés.", - "Discussion_name": "Nom de la discussion", - "Done": "Fait", - "Dont_Have_An_Account": "Vous n'avez pas de compte ?", - "Do_you_have_an_account": "Avez-vous un compte ?", - "Do_you_have_a_certificate": "Avez-vous un certificat ?", - "Do_you_really_want_to_key_this_room_question_mark": "Voulez-vous vraiment {{key}} ce salon ?", - "E2E_Encryption": "Cryptage E2E", - "E2E_How_It_Works_info1": "Vous pouvez désormais créer des groupes privés et des messages directs chiffrés. Vous pouvez également modifier les groupes privés ou DM existants pour les crypter.", - "E2E_How_It_Works_info2": "Il s'agit du *chiffrement de bout en bout*, la clé permettant de coder/décoder vos messages ne sera pas enregistrée sur le serveur. C'est pourquoi *vous devez stocker ce mot de passe à un endroit sûr* auquel vous pourrez accéder plus tard si vous en avez besoin.", - "E2E_How_It_Works_info3": "Si vous continuez, un mot de passe E2E sera automatiquement généré.", - "E2E_How_It_Works_info4": "Vous pouvez également configurer un nouveau mot de passe pour votre clé de cryptage à tout moment à partir de n'importe quel navigateur dans lequel vous avez entré le mot de passe E2E existant.", - "edit": "modifier", - "edited": "modifié", - "Edit": "Modifier", - "Edit_Status": "Modifier le statut", - "Edit_Invite": "Modifier l'invitation", - "End_to_end_encrypted_room": "Salon crypté de bout en bout", - "end_to_end_encryption": "chiffrement de bout en bout", - "Email_Notification_Mode_All": "Chaque mention/MD", - "Email_Notification_Mode_Disabled": "Désactivé", - "Email_or_password_field_is_empty": "Le champ e-mail ou mot de passe est vide", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Titre vide", - "Enable_Auto_Translate": "Activer la traduction automatique", - "Enable_notifications": "Activer les notifications", - "Encrypted": "Crypté", - "Encrypted_message": "Message crypté", - "Enter_Your_E2E_Password": "Entrez votre mot de passe E2E", - "Enter_Your_Encryption_Password_desc1": "Cela vous permettra d'accéder à vos groupes privés cryptés et à vos messages directs.", - "Enter_Your_Encryption_Password_desc2": "Vous devez entrer le mot de passe pour coder/décoder les messages à chaque endroit où vous utilisez le chat.", - "Encryption_error_title": "Votre mot de passe de cryptage semble erroné", - "Encryption_error_desc": "Il n'a pas été possible de décoder votre clé de cryptage pour être importé.", - "Everyone_can_access_this_channel": "Tout le monde peut accéder à ce canal", - "Everyone_can_access_this_team": "Tout le monde peut accéder à cette équipe", - "Error_uploading": "Erreur lors de l'envoi", - "Expiration_Days": "Expiration (Jours)", - "Favorite": "Favori", - "Favorites": "Favoris", - "Files": "Fichiers", - "File_description": "Description du fichier", - "File_name": "Nom de fichier", - "Finish_recording": "Terminer l'enregistrement", - "Following_thread": "Suivre le fil", - "For_your_security_you_must_enter_your_current_password_to_continue": "Pour votre sécurité, vous devez entrer votre mot de passe actuel pour continuer.", - "Forgot_password_If_this_email_is_registered": "Si cet e-mail est enregistré, nous vous enverrons des instructions pour réinitialiser votre mot de passe. Si vous ne recevez pas d'e-mail sous peu, veuillez revenir et réessayer.", - "Forgot_password": "Mot de passe oublié ?", - "Forgot_Password": "Mot de passe oublié", - "Forward": "Transmettre", - "Forward_Chat": "Transmettre la conversation", - "Forward_to_department": "Transmettre au département", - "Forward_to_user": "Transmettre à l'utilisateur", - "Full_table": "Cliquez pour voir le tableau complet", - "Generate_New_Link": "Générer un nouveau lien", - "Group_by_favorites": "Grouper par favoris", - "Group_by_type": "Grouper par type", - "Hide": "Cacher", - "Has_joined_the_channel": "a rejoint le canal", - "Has_joined_the_conversation": "a rejoint la conversation", - "Has_left_the_channel": "a quitté le canal", - "Hide_System_Messages": "Masquer les messages système", - "Hide_type_messages": "Masquer les messages \"{{type}}\"", - "How_It_Works": "Comment cela fonctionne", - "Message_HideType_uj": "L'utilisateur a rejoint", - "Message_HideType_ul": "L'utilisateur est parti", - "Message_HideType_ru": "Utilisateur supprimé", - "Message_HideType_au": "Utilisateur ajouté", - "Message_HideType_mute_unmute": "Utilisateur rendu muet / a retrouvé la parole", - "Message_HideType_r": "Nom du salon modifié", - "Message_HideType_ut": "L'utilisateur a rejoint la conversation", - "Message_HideType_wm": "Bienvenue", - "Message_HideType_rm": "Message supprimé", - "Message_HideType_subscription_role_added": "Rôle assigné", - "Message_HideType_subscription_role_removed": "Le rôle n'est plus défini", - "Message_HideType_room_archived": "Salon archivé", - "Message_HideType_room_unarchived": "Salon désarchivé", - "I_Saved_My_E2E_Password": "J'ai enregistré mon mot de passe E2E", - "IP": "IP", - "In_app": "Dans l'app", - "In_App_And_Desktop": "Dans l'application et sur le bureau", - "In_App_and_Desktop_Alert_info": "Affiche une bannière en haut de l'écran lorsque l'application est ouverte et affiche une notification sur le bureau", - "Invisible": "Invisible", - "Invite": "Inviter", - "is_a_valid_RocketChat_instance": "est une instance valide de Rocket.Chat", - "is_not_a_valid_RocketChat_instance": "n'est pas une instance valide de Rocket.Chat", - "is_typing": "est en train d'écrire", - "Invalid_or_expired_invite_token": "Jeton d'invitation non valide ou expiré", - "Invalid_server_version": "Le serveur auquel vous essayez de vous connecter utilise une version qui n'est plus prise en charge par l'application : {{currentVersion}}.\n\nNous exigeons la version {{minVersion}}", - "Invite_Link": "Lien d'invitation", - "Invite_users": "Inviter des utilisateurs", - "Join": "Rejoindre", - "Join_Code": "Code d'adhésion", - "Insert_Join_Code": "Insérer le code d'adhésion", - "Join_our_open_workspace": "Rejoignez notre espace de travail ouvert", - "Join_your_workspace": "Rejoignez votre espace de travail", - "Just_invited_people_can_access_this_channel": "Seuls les personnes invitées peuvent accéder à ce canal", - "Just_invited_people_can_access_this_team": "Seules les personnes invitées peuvent accéder à cette équipe", - "Language": "Langue", - "last_message": "dernier message", - "Leave_channel": "Quitter le canal", - "leaving_room": "quittant le salon", - "Leave": "Quitter", - "leave": "quitter", - "Legal": "Légal", - "Light": "Clair", - "License": "Licence", - "Livechat": "Chat en direct", - "Livechat_edit": "Modifier le chat en direct", - "Login": "Connexion", - "Login_error": "Vos identifiants ont été rejetés ! Veuillez réessayer.", - "Login_with": "Se connecter avec", - "Logging_out": "Déconnexion.", - "Logout": "Se déconnecter", - "Max_number_of_uses": "Nombre maximum d'utilisations", - "Max_number_of_users_allowed_is_number": "Le nombre maximum d'utilisateurs autorisés est {{maxUsers}}", - "members": "membres", - "Members": "Membres", - "Mentioned_Messages": "Messages mentionnés", - "mentioned": "mentionné", - "Mentions": "Mentions", - "Message_accessibility": "Message de {{user}} à {{time}} : {{message}}", - "Message_actions": "Actions de message", - "Message_pinned": "Message épinglé", - "Message_removed": "Message supprimé", - "Message_starred": "Message suivi", - "Message_unstarred": "Message non suivi", - "message": "message", - "messages": "messages", - "Message": "Message", - "Messages": "Messages", - "Message_Reported": "Message signalé", - "Microphone_Permission_Message": "Rocket.Chat a besoin d'accéder à votre microphone pour que vous puissiez envoyer un message audio.", - "Microphone_Permission": "Permission de microphone", - "Mute": "Rendre muet", - "muted": "muet", - "My_servers": "Mes serveurs", - "N_people_reacted": "{{n}} personnes ont réagi", - "N_users": "{{n}} utilisateurs", - "N_channels": "{{n}} canaux", - "name": "nom", - "Name": "Nom", - "Navigation_history": "Historique de navigation", - "Never": "Jamais", - "New_Message": "Nouveau message", - "New_Password": "Nouveau mot de passe", - "New_Server": "Nouveau serveur", - "Next": "Suivant", - "No_files": "Aucun fichier", - "No_limit": "Pas de limites", - "No_mentioned_messages": "Aucun message mentionné", - "No_pinned_messages": "Aucun message épinglé", - "No_results_found": "Aucun résultat trouvé", - "No_starred_messages": "Aucun message suivi", - "No_thread_messages": "Aucun message de fil de discussion", - "No_label_provided": "Aucun {{label}} fourni.", - "No_Message": "Aucun message", - "No_messages_yet": "Pas encore de messages", - "No_Reactions": "Aucune réaction", - "No_Read_Receipts": "Aucun accusé de lecture", - "Not_logged": "Non connecté", - "Not_RC_Server": "Ce n'est pas un serveur Rocket.Chat.\n{{contact}}", - "Nothing": "Rien", - "Nothing_to_save": "Rien à enregistrer !", - "Notify_active_in_this_room": "Notifier les utilisateurs actifs dans ce salon", - "Notify_all_in_this_room": "Avertir tout le monde dans ce salon", - "Notifications": "Notifications", - "Notification_Duration": "Durée des notifications", - "Notification_Preferences": "Préférences de notification", - "No_available_agents_to_transfer": "Aucun agent disponible pour le transfert", - "Offline": "Hors ligne", - "Oops": "Oups !", - "Omnichannel": "Omnicanal", - "Open_Livechats": "Discussions en cours", - "Omnichannel_enable_alert": "Vous n'êtes pas disponible sur Omnicanal. Souhaitez-vous être disponible ?", - "Onboarding_description": "Un espace de travail est l'espace de collaboration de votre équipe ou organisation. Demandez à l'administrateur de l'espace de travail l'adresse pour rejoindre ou créez-en une pour votre équipe.", - "Onboarding_join_workspace": "Rejoindre un espace de travail", - "Onboarding_subtitle": "Au-delà de la collaboration d'équipe", - "Onboarding_title": "Bienvenue sur Rocket.Chat", - "Onboarding_join_open_description": "Rejoignez notre espace de travail ouvert pour discuter avec l'équipe et la communauté Rocket.Chat.", - "Onboarding_agree_terms": "En continuant, vous acceptez Rocket.Chat", - "Onboarding_less_options": "Moins d'options", - "Onboarding_more_options": "Plus d'options", - "Online": "En ligne", - "Only_authorized_users_can_write_new_messages": "Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages.", - "Open_emoji_selector": "Ouvrir le sélecteur d'émoji", - "Open_Source_Communication": "Communication Open Source", - "Open_your_authentication_app_and_enter_the_code": "Ouvrez votre application d'authentification et entrez le code.", - "OR": "OU", - "OS": "OS", - "Overwrites_the_server_configuration_and_use_room_config": "Écrase la configuration du serveur et utilise la configuration du salon", - "Password": "Mot de passe", - "Parent_channel_or_group": "Canal ou groupe parent", - "Permalink_copied_to_clipboard": "Lien permanent copié dans le presse-papiers !", - "Phone": "Téléphone", - "Pin": "Épingler", - "Pinned_Messages": "Messages épinglés", - "pinned": "épinglé", - "Pinned": "Épinglé", - "Please_add_a_comment": "Veuillez ajouter un commentaire", - "Please_enter_your_password": "Veuillez entrer votre mot de passe", - "Please_wait": "Veuillez patienter.", - "Preferences": "Préférences", - "Preferences_saved": "Préférences sauvegardées !", - "Privacy_Policy": " Politique de confidentialité", - "Private_Channel": "Canal privé", - "Private": "Privé", - "Processing": "Traitement...", - "Profile_saved_successfully": "Profil enregistré avec succès !", - "Profile": "Profil", - "Public_Channel": "Canal public", - "Public": "Public", - "Push_Notifications": "Notifications Push", - "Push_Notifications_Alert_Info": "Ces notifications vous sont envoyées lorsque l'application n'est pas ouverte", - "Quote": "Citation", - "Reactions_are_disabled": "Les réactions sont désactivées", - "Reactions_are_enabled": "Les réactions sont activées", - "Reactions": "Réactions", - "Read": "Lecture", - "Read_External_Permission_Message": "Rocket.Chat doit accéder aux photos, aux médias et aux fichiers sur votre appareil", - "Read_External_Permission": "Permission de lecture des fichiers", - "Read_Only_Channel": "Canal en lecture seule", - "Read_Only": "Lecture seule", - "Read_Receipt": "Accusé de réception", - "Receive_Group_Mentions": "Recevoir des mentions de groupe", - "Receive_Group_Mentions_Info": "Recevoir des mentions @all et @here", - "Register": "S'inscrire", - "Repeat_Password": "Répéter le mot de passe", - "Replied_on": "A répondu le :", - "replies": "réponses", - "reply": "répondre", - "Reply": "Répondre", - "Report": "Signaler", - "Receive_Notification": "Recevoir une notification", - "Receive_notifications_from": "Recevoir des notifications de {{name}}", - "Resend": "Renvoyer", - "Reset_password": "Réinitialiser le mot de passe", - "resetting_password": "réinitialisation du mot de passe", - "RESET": "RÉINITIALISER", - "Return": "Retour", - "Review_app_title": "Appréciez-vous cette application ?", - "Review_app_desc": "Donnez-nous 5 étoiles sur {{store}}", - "Review_app_yes": "Bien sûr !", - "Review_app_no": "Non", - "Review_app_later": "Peut-être plus tard", - "Review_app_unable_store": "Impossible d'ouvrir {{store}}", - "Review_this_app": "Donnez votre avis sur cette application", - "Remove": "Supprimer", - "remove": "supprimer", - "Roles": "Rôles", - "Room_actions": "Actions du salon", - "Room_changed_announcement": "Annonce du salon changé en : {{announcement}} par {{userBy}}", - "Room_changed_avatar": "Avatar du salon modifié par {{userBy}}", - "Room_changed_description": "Description du salon changé en : {{description}} par {{userBy}}", - "Room_changed_privacy": "Type de salon changé en : {{type}} par {{userBy}}", - "Room_changed_topic": "Le sujet de salon est changé en : {{topic}} par {{userBy}}", - "Room_Files": "Fichiers du salon", - "Room_Info_Edit": "Modifier les informations du salon", - "Room_Info": "Info sur le salon", - "Room_Members": "Membres du salon", - "Room_name_changed": "Nom de salon changé en : {{name}} par {{userBy}}", - "SAVE": "SAUVEGARDER", - "Save_Changes": "Sauvegarder les modifications", - "Save": "Sauvegarder", - "Saved": "Enregistré", - "saving_preferences": "enregistrement des préférences", - "saving_profile": "enregistrement du profil", - "saving_settings": "enregistrement des paramètres", - "saved_to_gallery": "Enregistré dans la galerie", - "Save_Your_E2E_Password": "Enregistrez votre mot de passe E2E", - "Save_Your_Encryption_Password": "Enregistrez votre mot de passe de cryptage", - "Save_Your_Encryption_Password_warning": "Ce mot de passe n'est stocké nulle part, enregistrez-le donc soigneusement ailleurs.", - "Save_Your_Encryption_Password_info": "Si vous perdez le mot de passe, il n'y a aucun moyen de le récupérer et vous perdrez l'accès à vos messages.", - "Search_Messages": "Rechercher des messages", - "Search": "Recherche", - "Search_by": "Rechercher par", - "Search_global_users": "Rechercher des utilisateurs mondiaux", - "Search_global_users_description": "Si vous activez, vous pouvez rechercher n'importe quel utilisateur d'autres sociétés ou serveurs.", - "Seconds": "{{second}} secondes", - "Security_and_privacy": "Sécurité et vie privée", - "Select_Avatar": "Sélectionnez un avatar", - "Select_Server": "Sélectionnez un serveur", - "Select_Users": "Sélectionner les utilisateurs", - "Select_a_Channel": "Sélectionnez un canal", - "Select_a_Department": "Sélectionnez un département", - "Select_an_option": "Sélectionnez une option", - "Select_a_User": "Sélectionnez un utilisateur", - "Send": "Envoyer", - "Send_audio_message": "Envoyer un message audio", - "Send_crash_report": "Envoyer un rapport de plantage", - "Send_message": "Envoyer un message", - "Send_me_the_code_again": "Envoyez-moi à nouveau le code", - "Send_to": "Envoyer à...", - "Sending_to": "Envoi à", - "Sent_an_attachment": "Envoyé une pièce jointe", - "Server": "Serveur", - "Servers": "Serveurs", - "Server_version": "Version du serveur : {{version}}", - "Set_username_subtitle": "Le nom d'utilisateur est utilisé pour permettre aux autres de vous mentionner dans les messages", - "Set_custom_status": "Définir le statut personnalisé", - "Set_status": "Définir le statut", - "Status_saved_successfully": "Statut enregistré avec succès !", - "Settings": "Paramètres", - "Settings_succesfully_changed": "Paramètres modifiés avec succès !", - "Share": "Partager", - "Share_Link": "Partager le lien", - "Share_this_app": "Partager cette application", - "Show_more": "Afficher plus..", - "Show_Unread_Counter": "Afficher le compteur non lu", - "Show_Unread_Counter_Info": "Le compteur non lu est affiché sous forme de badge à droite du canal, dans la liste", - "Sign_in_your_server": "Connectez-vous à votre serveur", - "Sign_Up": "S'inscrire", - "Some_field_is_invalid_or_empty": "Certains champs sont invalides ou vides", - "Sorting_by": "Tri par {{key}}", - "Sound": "Son", - "Star_room": "Canal favoris", - "Star": "Mettre en favoris", - "Starred_Messages": "Les messages favoris", - "starred": "favoris", - "Starred": "Favoris", - "Start_of_conversation": "Début de conversation", - "Start_a_Discussion": "Lancer une discussion", - "Started_discussion": "A commencé une discussion :", - "Started_call": "Appel lancé par {{userBy}}", - "Submit": "Soumettre", - "Table": "Tableau", - "Tags": "Mots clés", - "Take_a_photo": "Prendre une photo", - "Take_a_video": "Prendre une vidéo", - "Take_it": "Prends-le !", - "tap_to_change_status": "appuyez pour changer de statut", - "Tap_to_view_servers_list": "Appuyez pour afficher la liste des serveurs", - "Terms_of_Service": " Conditions d'utilisation ", - "Theme": "Thème", - "The_user_wont_be_able_to_type_in_roomName": "L'utilisateur ne pourra pas écrire dans {{roomName}}", - "The_user_will_be_able_to_type_in_roomName": "L'utilisateur pourra écrire dans {{roomName}}", - "There_was_an_error_while_action": "Une erreur s'est produite lors de {{action}} !", - "This_room_is_blocked": "Ce salon est bloqué", - "This_room_is_read_only": "Ce salon est en lecture seule", - "Thread": "Fil de discussion", - "Threads": "Fils de discussions", - "Timezone": "Fuseau horaire", - "To": "A", - "topic": "sujet", - "Topic": "Sujet", - "Translate": "Traduire", - "Try_again": "Réessayer", - "Two_Factor_Authentication": "Authentification à deux facteurs", - "Type_the_channel_name_here": "Tapez le nom de canal ici", - "unarchive": "désarchiver", - "UNARCHIVE": "DÉSARCHIVER", - "Unblock_user": "Débloquer l'utilisateur", - "Unfavorite": "Supprimer des favoris", - "Unfollowed_thread": "Ne plus suivre ce fil", - "Unmute": "Rendre la parole", - "unmuted": "rendu la parole", - "Unpin": "Détacher", - "unread_messages": "non lu", - "Unread": "Non lu", - "Unread_on_top": "Non lu en haut", - "Unstar": "Enlever des favoris", - "Updating": "Mise à jour...", - "Uploading": "Envoyer", - "Upload_file_question_mark": "Téléverser un fichier ?", - "User": "Utilisateur", - "Users": "Utilisateurs", - "User_added_by": "Utilisateur {{userAdded}} ajouté par {{userBy}}", - "User_Info": "Info d'utilisateur", - "User_has_been_key": "L'utilisateur a été {{key}}", - "User_is_no_longer_role_by_": "{{user}} n'est plus {{role}} par {{userBy}}", - "User_muted_by": "L'utilisateur {{userMuted}} a été rendu muet par {{userBy}}", - "User_removed_by": "Utilisateur {{userRemoved}} supprimé par {{userBy}}", - "User_sent_an_attachment": "{{user}} a envoyé une pièce jointe", - "User_unmuted_by": "L'utilisateur {{userBy}} a rendu la parole à {{userUnmuted}}", - "User_was_set_role_by_": "{{user}} a été défini {{role}} par {{userBy}}", - "Username_is_empty": "Nom d'utilisateur est vide", - "Username": "Nom d'utilisateur", - "Username_or_email": "Nom d'utilisateur ou e-mail", - "Uses_server_configuration": "Utilise la configuration du serveur", - "Validating": "Validation", - "Registration_Succeeded": "Inscription réussie !", - "Verify": "Vérifier", - "Verify_email_title": "Inscription réussie !", - "Verify_email_desc": "Nous vous avons envoyé un e-mail pour confirmer votre inscription. Si vous ne recevez pas d'e-mail sous peu, veuillez revenir et réessayer.", - "Verify_your_email_for_the_code_we_sent": "Vérifiez votre e-mail pour le code que nous avons envoyé", - "Video_call": "Appel vidéo", - "View_Original": "Voir l'original", - "Voice_call": "Appel vocal", - "Waiting_for_network": "En attente du réseau...", - "Websocket_disabled": "Le Websocket est désactivé pour ce serveur.\n{{contact}}", - "Welcome": "Bienvenue", - "What_are_you_doing_right_now": "Que fais-tu en ce moment ?", - "Whats_your_2fa": "Quel est votre code 2FA ?", - "Without_Servers": "Sans serveurs", - "Workspaces": "Espaces de travail", - "Would_you_like_to_return_the_inquiry": "Souhaitez-vous retourner la demande ?", - "Write_External_Permission_Message": "Rocket.Chat a besoin d'accéder à votre galerie pour que vous puissiez enregistrer des images.", - "Write_External_Permission": "Autorisation de la galerie", - "Yes": "Oui", - "Yes_action_it": "Oui, {{action}} le !", - "Yesterday": "Hier", - "You_are_in_preview_mode": "Vous êtes en mode aperçu", - "You_are_offline": "Vous êtes hors ligne", - "You_can_search_using_RegExp_eg": "Vous pouvez utiliser RegExp., par exemple `/^texte$/i`", - "You_colon": "Vous: ", - "you_were_mentioned": "vous avez été mentionné", - "You_were_removed_from_channel": "Vous avez été retiré de {{channel}}", - "you": "vous", - "You": "Vous", - "Logged_out_by_server": "Vous avez été déconnecté du serveur. Veuillez vous reconnecter.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Vous devez accéder à au moins un serveur Rocket.Chat pour partager quelque chose.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Vous devez vérifier votre adresse e-mail pour recevoir des notifications", - "Your_certificate": "Votre certificat", - "Your_invite_link_will_expire_after__usesLeft__uses": "Votre lien d'invitation expirera après {{usesLeft}} utilisations.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Votre lien d'invitation expirera le {{date}} ou après {{usesLeft}} utilisations.", - "Your_invite_link_will_expire_on__date__": "Votre lien d'invitation expirera le {{date}}.", - "Your_invite_link_will_never_expire": "Votre lien d'invitation n'expirera jamais.", - "Your_workspace": "Votre espace de travail", - "Your_password_is": "Votre mot de passe est", - "Version_no": "Version : {{version}}", - "You_will_not_be_able_to_recover_this_message": "Vous ne pourrez pas récupérer ce message !", - "You_will_unset_a_certificate_for_this_server": "Vous allez supprimer un certificat pour ce serveur", - "Change_Language": "Changer la langue", - "Crash_report_disclaimer": "Nous ne suivons jamais le contenu de vos chats. Le rapport d'incident et les évènements d'analyse ne contiennent que des informations pertinentes pour nous afin d'identifier et de résoudre les problèmes.", - "Type_message": "Tapez le message", - "Room_search": "Recherche de salons", - "Room_selection": "Sélection de salon 1...9", - "Next_room": "Salon suivant", - "Previous_room": "Salon précédent", - "New_room": "Nouveau salon", - "Upload_room": "Envoyer dans un salon", - "Search_messages": "Rechercher des messages", - "Scroll_messages": "Faire défiler les messages", - "Reply_latest": "Répondre au dernier", - "Reply_in_Thread": "Répondre dans le fil", - "Server_selection": "Sélection du serveur", - "Server_selection_numbers": "Sélection du serveur 1...9", - "Add_server": "Ajouter un serveur", - "New_line": "Nouvelle ligne", - "You_will_be_logged_out_of_this_application": "Vous serez déconnecté de cette application.", - "Clear": "Effacer", - "This_will_clear_all_your_offline_data": "Cela effacera toutes vos données hors ligne.", - "This_will_remove_all_data_from_this_server": "Cela supprimera toutes les données de ce serveur.", - "Mark_unread": "Marquer comme non lu", - "Wait_activation_warning": "Avant de pouvoir vous connecter, votre compte doit être activé manuellement par un administrateur.", - "Screen_lock": "Verrouillage d'écran", - "Local_authentication_biometry_title": "Authentifier", - "Local_authentication_biometry_fallback": "Utiliser le code d'accès", - "Local_authentication_unlock_option": "Déverrouiller avec le code d'accès", - "Local_authentication_change_passcode": "Changer le code d'accès", - "Local_authentication_info": "Remarque : si vous oubliez le code d'accès, vous devrez supprimer et réinstaller l'application.", - "Local_authentication_facial_recognition": "reconnaissance faciale", - "Local_authentication_fingerprint": "empreinte digitale", - "Local_authentication_unlock_with_label": "Déverrouiller avec {{label}}", - "Local_authentication_auto_lock_60": "Après 1 minute", - "Local_authentication_auto_lock_300": "Après 5 minutes", - "Local_authentication_auto_lock_900": "Après 15 minutes", - "Local_authentication_auto_lock_1800": "Après 30 minutes", - "Local_authentication_auto_lock_3600": "Après 1 heure", - "Passcode_enter_title": "Entrez votre code d'accès", - "Passcode_choose_title": "Choisissez votre nouveau code d'accès", - "Passcode_choose_confirm_title": "Confirmez votre nouveau code d'accès", - "Passcode_choose_error": "Les codes d'accès ne correspondent pas. Réessayer.", - "Passcode_choose_force_set": "Code d'accès requis par l'administrateur", - "Passcode_app_locked_title": "App verrouillée", - "Passcode_app_locked_subtitle": "Réessayez dans {{timeLeft}} secondes", - "After_seconds_set_by_admin": "Après {{seconds}} secondes (défini par l'administrateur)", - "Dont_activate": "Ne pas activer maintenant", - "Queued_chats": "Discussions en file d'attente", - "Queue_is_empty": "La file d'attente est vide", - "Logout_from_other_logged_in_locations": "Déconnexion des autres emplacements connectés", - "You_will_be_logged_out_from_other_locations": "Vous serez déconnecté des autres emplacements.", - "Logged_out_of_other_clients_successfully": "Déconnexion réussie des autres clients", - "Logout_failed": "Echec de la déconnexion !", - "Log_analytics_events": "Journal des événements d'analyse", - "E2E_encryption_change_password_title": "Changer le mot de passe de cryptage", - "E2E_encryption_change_password_description": "Vous pouvez désormais créer des groupes privés et des messages directs chiffrés. Vous pouvez également modifier les groupes privés ou DM existants pour les crypter.\nIl s'agit du chiffrement de bout en bout, la clé permettant de coder/décoder vos messages ne sera pas enregistrée sur le serveur. Pour cette raison, vous devez stocker ce mot de passe à un endroit sûr. Vous devrez le saisir sur les autres appareils sur lesquels vous souhaitez utiliser le cryptage E2E.", - "E2E_encryption_change_password_error": "Erreur lors de la modification du mot de passe de la clé E2E", - "E2E_encryption_change_password_success": "Le mot de passe de la clé E2E a été changé avec succès !", - "E2E_encryption_change_password_message": "Assurez-vous de l'avoir enregistré soigneusement ailleurs.", - "E2E_encryption_change_password_confirmation": "Oui, changez-le", - "E2E_encryption_reset_title": "Réinitialiser la clé E2E", - "E2E_encryption_reset_description": "Cette option supprimera la clé E2E actuelle et vous déconnectera.\nLorsque vous vous reconnecterez, Rocket.Chat générera une nouvelle clé et restaurera votre accès aux salons cryptés qui a un ou plusieurs membres en ligne.\nEn raison de la nature du cryptage E2E, Rocket.Chat ne pourra pas restaurer l'accès à un salon crypté qui n'a aucun membre en ligne.", - "E2E_encryption_reset_button": "Réinitialiser la clé E2E", - "E2E_encryption_reset_error": "Erreur lors de la réinitialisation de la clé E2E !", - "E2E_encryption_reset_message": "Vous allez être déconnecté.", - "E2E_encryption_reset_confirmation": "Oui, réinitialisez-le", - "Following": "Suivant", - "Threads_displaying_all": "Tout afficher", - "Threads_displaying_following": "Affichage suivant", - "Threads_displaying_unread": "Affichage non lu", - "No_threads": "Il n'y a pas de fils", - "No_threads_following": "Vous ne suivez aucun fil de discussion", - "No_threads_unread": "Il n'y a pas de fils non lus", - "Messagebox_Send_to_channel": "Envoyer au canal", - "Leader": "Leader", - "Moderator": "Modérateur", - "Owner": "Propriétaire", - "Remove_from_room": "Retirer du salon", - "Ignore": "Ignorer", - "Unignore": "Ne pas ignorer", - "User_has_been_ignored": "L'utilisateur a été ignoré", - "User_has_been_unignored": "L'utilisateur n'est plus ignoré", - "User_has_been_removed_from_s": "L'utilisateur a été retiré de {{s}}", - "User__username__is_now_a_leader_of__room_name_": "L'utilisateur {{username}} est désormais un leader de {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "L'utilisateur {{username}} est désormais un modérateur de {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "L'utilisateur {{username}} est désormais un propriétaire de {{room_name}}", - "User__username__removed_from__room_name__leaders": "L'utilisateur {{username}} a été supprimé des leaders de {{room_name}}", - "User__username__removed_from__room_name__moderators": "L'utilisateur {{username}} a été supprimé des modérateurs de {{room_name}}", - "User__username__removed_from__room_name__owners": "L'utilisateur {{username}} a été supprimé des propriétaires de {{room_name}}", - "The_user_will_be_removed_from_s": "L'utilisateur sera supprimé de {{s}}", - "Yes_remove_user": "Oui, supprimez l'utilisateur !", - "Direct_message": "Message direct", - "Message_Ignored": "Message ignoré. Touchez pour l'afficher.", - "Enter_workspace_URL": "Entrez l'URL de l'espace de travail", - "Workspace_URL_Example": "Ex. votre-société.rocket.chat", - "This_room_encryption_has_been_enabled_by__username_": "Le cryptage de ce salon a été activé par {{username}}", - "This_room_encryption_has_been_disabled_by__username_": "Le cryptage de ce salon a été désactivé par {{username}}", - "Teams": "Equipes", - "No_team_channels_found": "Aucun canal trouvé", - "Team_not_found": "Equipe non trouvée", - "Create_Team": "Créer une équipe", - "Team_Name": "Nom de l'équipe", - "Private_Team": "Equipe privée", - "Read_Only_Team": "Equipe en lecture seule", - "Broadcast_Team": "Equipe de diffusion", - "creating_team": "création de l'équipe", - "team-name-already-exists": "Une équipe portant ce nom existe déjà", - "Add_Channel_to_Team": "Ajouter un canal à l'équipe", - "Left_The_Team_Successfully": "A quitté l'équipe avec succès", - "Create_New": "Créer un nouveau", - "Add_Existing": "Ajouter existant", - "Add_Existing_Channel": "Ajouter un canal existant", - "Remove_from_Team": "Retirer de l'équipe", - "Auto-join": "Rejoindre automatiquement", - "Remove_Team_Room_Warning": "Souhaitez-vous supprimer ce canal de l'équipe ? Le canal sera déplacé vers l'espace de travail", - "Confirmation": "Confirmation", - "invalid-room": "Salon invalide", - "You_are_leaving_the_team": "Vous quittez l'équipe '{{team}}'", - "Leave_Team": "Quitter l'équipe", - "Select_Team": "Sélectionnez l'équipe", - "Select_Team_Channels": "Sélectionnez les canaux de l'équipe que vous souhaitez quitter.", - "Cannot_leave": "Ne peut pas partir", - "Cannot_remove": "Impossible d'enlever", - "Cannot_delete": "Impossible de supprimer", - "Last_owner_team_room": "Vous êtes le dernier propriétaire de ce canal. Une fois que vous quittez l'équipe, le canal sera conservé au sein de l'équipe mais vous le gérerez de l'extérieur.", - "last-owner-can-not-be-removed": "Le dernier propriétaire ne peut pas être supprimé", - "Remove_User_Teams": "Sélectionnez les canaux dont vous souhaitez supprimer l'utilisateur.", - "Delete_Team": "Supprimer l'équipe", - "Select_channels_to_delete": "Ceci ne peut pas être annulé. Une fois que vous supprimez une équipe, tout le contenu et la configuration du chat seront supprimés.\n\nSélectionnez les canaux que vous souhaitez supprimer. Ceux que vous décidez de conserver seront disponible dans votre espace de travail. Notez que les canaux publics seront toujours publics et visibles par tous.", - "You_are_deleting_the_team": "Vous supprimez cette équipe.", - "Removing_user_from_this_team": "Vous supprimez {{user}} de cette équipe", - "Remove_User_Team_Channels": "Sélectionnez les canaux dont vous souhaitez supprimer l'utilisateur.", - "Remove_Member": "Supprimer un membre", - "leaving_team": "quitter l'équipe", - "removing_team": "retirer de l'équipe", - "moving_channel_to_team": "transfert de canal à l'équipe", - "deleting_team": "suppression de l'équipe", - "member-does-not-exist": "Le membre n'existe pas", - "Convert": "Convertir", - "Convert_to_Team": "Convertir en équipe", - "Convert_to_Team_Warning": "Vous convertissez ce canal en équipe. Tous les membres seront conservés.", - "Move_to_Team": "Déplacer vers l'équipe", - "Move_Channel_Paragraph": "Le déplacement d'un canal dans une équipe signifie que ce canal sera ajouté dans le contexte d'équipe. Cependant, tous les membres du canal, qui ne sont pas membres de l'équipe respective, auront toujours accès à ce canal, mais ne seront pas ajoutés comme membres de l'équipe.\n\nLa gestion de tout le canal sera toujours assurée par les propriétaires de ce canal.\n\nLes membres de l'équipe et même les propriétaires de l'équipe, s'ils ne sont pas membres de ce canal, ne peuvent pas avoir accès au contenu du canal.\n\nVeuillez noter que le propriétaire de l'équipe pourra supprimer des membres du canal.", - "Move_to_Team_Warning": "Après avoir lu les instructions précédentes sur ce comportement, voulez-vous toujours déplacer ce canal vers l'équipe sélectionnée ?", - "Load_More": "Charger plus", - "Load_Newer": "Charger plus récent", - "Load_Older": "Charger plus ancien", - "room-name-already-exists": "Le nom du salon existe déjà", - "error-team-creation": "Erreur de création d'équipe", - "unauthorized": "Non autorisé", - "Left_The_Room_Successfully": "A quitté le salon avec succès", - "Deleted_The_Team_Successfully": "Equipe supprimée avec succès", - "Deleted_The_Room_Successfully": "Salon supprimé avec succès", - "Convert_to_Channel": "Convertir en canal", - "Converting_Team_To_Channel": "Conversion de l’équipe en canal", - "Select_Team_Channels_To_Delete": "Sélectionnez les canaux de l'équipe que vous souhaitez supprimer, ceux que vous ne sélectionnez pas, seront déplacés vers l'espace de travail. \n\n\nNotez que les canaux publics seront publics et visibles par tous.", - "You_are_converting_the_team": "Vous convertissez cette équipe en canal", - "creating_discussion": "créer une discussion" -} + "1_person_reacted": "1 personne a réagi", + "1_user": "1 utilisateur", + "error-action-not-allowed": "{{action}} n'est pas autorisé", + "error-application-not-found": "Application non trouvée", + "error-archived-duplicate-name": "Il y a un canal archivé avec le nom {{room_name}}", + "error-avatar-invalid-url": "URL d'avatar invalide : {{url}}", + "error-avatar-url-handling": "Erreur lors de la gestion du paramètre d'avatar à partir d'une URL ({{url}}) pour {{username}}", + "error-cant-invite-for-direct-room": "Impossible d'inviter l'utilisateur aux salons directs", + "error-could-not-change-email": "Impossible de changer l'adresse e-mail", + "error-could-not-change-name": "Impossible de changer le nom", + "error-could-not-change-username": "Impossible de changer le nom d'utilisateur", + "error-could-not-change-status": "Impossible de changer le statut", + "error-delete-protected-role": "Impossible de supprimer un rôle protégé", + "error-department-not-found": "Département introuvable", + "error-direct-message-file-upload-not-allowed": "Partage de fichiers non autorisé dans les messages privés", + "error-duplicate-channel-name": "Un canal avec nom {{room_name}} existe", + "error-email-domain-blacklisted": "Le domaine de messagerie est sur liste noire", + "error-email-send-failed": "Erreur lors de la tentative d'envoi de l'e-mail : {{message}}", + "error-save-image": "Erreur lors de l'enregistrement de l'image", + "error-save-video": "Erreur en sauvegardant la vidéo", + "error-field-unavailable": "{{field}} est déjà utilisé: (", + "error-file-too-large": "Le fichier est trop grand", + "error-importer-not-defined": "L'importateur n'a pas été défini correctement, il manque la classe Import.", + "error-input-is-not-a-valid-field": "{{input}} n'est pas un {{field}} valide", + "error-invalid-actionlink": "Lien d'action non valide", + "error-invalid-arguments": "Arguments non valides", + "error-invalid-asset": "Elément non valide", + "error-invalid-channel": "Canal invalide.", + "error-invalid-channel-start-with-chars": "Canal non valide. Commencez par @ ou #", + "error-invalid-custom-field": "Champ personnalisé non valide", + "error-invalid-custom-field-name": "Nom de champ personnalisé non valide. Utilisez uniquement des lettres, des chiffres, des traits d'union et des traits de soulignement.", + "error-invalid-date": "Date fournie non valide.", + "error-invalid-description": "Description invalide", + "error-invalid-domain": "Domaine invalide", + "error-invalid-email": "E-mail {{email}} invalide", + "error-invalid-email-address": "Adresse e-mail invalide", + "error-invalid-file-height": "Hauteur de fichier non valide", + "error-invalid-file-type": "Type de fichier invalide", + "error-invalid-file-width": "Largeur de fichier non valide", + "error-invalid-from-address": "Vous avez renseigné une adresse FROM invalide.", + "error-invalid-integration": "Intégration invalide", + "error-invalid-message": "Message invalide", + "error-invalid-method": "Méthode non valide", + "error-invalid-name": "Nom incorrect", + "error-invalid-password": "Mot de passe incorrect", + "error-invalid-redirectUri": "RedirectUri invalide", + "error-invalid-role": "Rôle invalide", + "error-invalid-room": "Salon invalide", + "error-invalid-room-name": "{{room_name}} n'est pas un nom de salon valide", + "error-invalid-room-type": "{{type}} n'est pas un type de salon valide.", + "error-invalid-settings": "Paramètres fournis non valides", + "error-invalid-subscription": "Abonnement invalide", + "error-invalid-token": "Jeton invalide", + "error-invalid-triggerWords": "Mots déclencheurs invalides", + "error-invalid-urls": "URL non valides", + "error-invalid-user": "Utilisateur invalide", + "error-invalid-username": "Nom d'utilisateur invalide", + "error-invalid-webhook-response": "L'URL du webhook a répondu avec un statut autre que 200", + "error-message-deleting-blocked": "La suppression du message est bloquée", + "error-message-editing-blocked": "La modification du message est bloquée", + "error-message-size-exceeded": "La taille du message dépasse Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "Vous devez fournir le lien [unsubscribe].", + "error-no-owner-channel": "Vous n'êtes pas propriétaire du canal", + "error-no-tokens-for-this-user": "Il n'y a pas de jetons pour cet utilisateur", + "error-not-allowed": "Interdit", + "error-not-authorized": "Pas autorisé", + "error-push-disabled": "Push est désactivé", + "error-remove-last-owner": "C'est le dernier propriétaire. Veuillez définir un nouveau propriétaire avant de supprimer celui-ci.", + "error-role-in-use": "Impossible de supprimer le rôle car il est en cours d'utilisation", + "error-role-name-required": "Le nom du rôle est requis", + "error-the-field-is-required": "Le champ {{field}} est requis.", + "error-too-many-requests": "Erreur, trop de demandes. Ralentissez, s'il vous plaît. Vous devez attendre {{seconds}} secondes avant de réessayer.", + "error-user-is-not-activated": "L'utilisateur n'est pas activé", + "error-user-has-no-roles": "L'utilisateur n'a aucun rôle", + "error-user-limit-exceeded": "Le nombre d'utilisateurs que vous essayez d'inviter à #channel_name dépasse la limite définie par l'administrateur", + "error-user-not-in-room": "L'utilisateur n'est pas dans ce salon", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "L'enregistrement de l'utilisateur est désactivé", + "error-user-registration-secret": "L'enregistrement de l'utilisateur n'est autorisé que via l'URL secrète", + "error-you-are-last-owner": "Vous êtes le dernier propriétaire. Veuillez définir un nouveau propriétaire avant de quitter le salon.", + "error-status-not-allowed": "Le statut invisible est désactivé", + "Actions": "Actions", + "Activity": "Activité", + "Add_Reaction": "Ajouter une réaction", + "Add_Server": "Ajouter un serveur", + "Add_users": "Ajouter des utilisateurs", + "Admin_Panel": "Panneau d'administration", + "Agent": "Agent", + "Alert": "Alerte", + "alert": "alerte", + "alerts": "alertes", + "All_users_in_the_channel_can_write_new_messages": "Tous les utilisateurs du canal peuvent écrire de nouveaux messages", + "All_users_in_the_team_can_write_new_messages": "Tous les utilisateurs de l'équipe peuvent écrire de nouveaux messages", + "A_meaningful_name_for_the_discussion_room": "Un nom significatif pour le salon de discussion", + "All": "Tout", + "All_Messages": "Tous les messages", + "Allow_Reactions": "Autoriser les réactions", + "Alphabetical": "Alphabétique", + "and_more": "et plus", + "and": "et", + "announcement": "annonce", + "Announcement": "Annonce", + "Apply_Your_Certificate": "Appliquer votre certificat", + "ARCHIVE": "ARCHIVER", + "archive": "archiver", + "are_typing": "sont en train d'écrire", + "Are_you_sure_question_mark": "Êtes-vous sûr ?", + "Are_you_sure_you_want_to_leave_the_room": "Êtes-vous sûr de vouloir quitter le salon {{room}} ?", + "Audio": "Audio", + "Authenticating": "Authentification", + "Automatic": "Automatique", + "Auto_Translate": "Traduction automatique", + "Avatar_changed_successfully": "Avatar changé avec succès !", + "Avatar_Url": "URL de l'avatar", + "Away": "Absent", + "Back": "Retour", + "Black": "Noir", + "Block_user": "Bloquer l'utilisateur", + "Browser": "Navigateur", + "Broadcast_channel_Description": "Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages, mais les autres utilisateurs pourront répondre.", + "Broadcast_Channel": "Canal de diffusion", + "Busy": "Occupé", + "By_proceeding_you_are_agreeing": "En poursuivant, vous acceptez nos", + "Cancel_editing": "Annuler la modification", + "Cancel_recording": "Annuler l'enregistrement", + "Cancel": "Annuler", + "changing_avatar": "changer d'avatar", + "creating_channel": "création d'un canal", + "creating_invite": "création d'une invitation", + "Channel_Name": "Nom du canal", + "Channels": "Canaux", + "Chats": "Chats", + "Call_already_ended": "Appel déjà terminé !", + "Clear_cookies_alert": "Voulez-vous effacer tous les cookies ?", + "Clear_cookies_desc": "Cette action effacera tous les cookies de connexion ce qui vous permettra de vous connecter à d'autres comptes.", + "Clear_cookies_yes": "Oui, effacez les cookies", + "Clear_cookies_no": "Non, gardez les cookies", + "Click_to_join": "Cliquez pour rejoindre !", + "Close": "Fermer", + "Close_emoji_selector": "Fermer le sélecteur d'émoji", + "Closing_chat": "Fermeture du chat", + "Change_language_loading": "Changement de la langue.", + "Chat_closed_by_agent": "Chat fermé par l'agent", + "Choose": "Choisir", + "Choose_from_library": "Choisissez dans la bibliothèque", + "Choose_file": "Choisir le fichier", + "Choose_where_you_want_links_be_opened": "Choisissez oµ vous souhaitez ouvrir les liens", + "Code": "Code", + "Code_or_password_invalid": "Code ou mot de passe invalide", + "Collaborative": "Collaboratif", + "Confirm": "Confirmer", + "Connect": "Connecter", + "Connected": "Connecté", + "connecting_server": "connexion en cours au serveur", + "Connecting": "Connexion...", + "Contact_us": "Contactez-nous", + "Contact_your_server_admin": "Contactez votre administrateur de serveur.", + "Continue_with": "Continuer avec", + "Copied_to_clipboard": "Copié dans le presse-papier !", + "Copy": "Copier", + "Conversation": "Conversation", + "Permalink": "Lien permanent", + "Certificate_password": "Mot de passe du certificat", + "Clear_cache": "Effacer le cache du serveur local", + "Clear_cache_loading": "Effacement du cache.", + "Whats_the_password_for_your_certificate": "Quel est le mot de passe de votre certificat ?", + "Create_account": "Créer un compte", + "Create_Channel": "Créer un canal", + "Create_Direct_Messages": "Créer des messages directs", + "Create_Discussion": "Créer une discussion", + "Created_snippet": "créé un extrait", + "Create_a_new_workspace": "Créer un nouvel espace de travail", + "Create": "Créer", + "Custom_Status": "Statut personnalisé", + "Dark": "Sombre", + "Dark_level": "Niveau d'obscurité", + "Default": "Défaut", + "Default_browser": "Navigateur par défaut", + "Delete_Room_Warning": "Supprimer une salon supprimera tous les messages publiés dans le salon. Ça ne peut pas être annulé.", + "Department": "Département", + "delete": "supprimer", + "Delete": "Supprimer", + "DELETE": "SUPPRIMER", + "move": "déplacer", + "deleting_room": "suppression du salon", + "description": "la description", + "Description": "La description", + "Desktop_Options": "Options de bureau", + "Desktop_Notifications": "Notifications de bureau", + "Desktop_Alert_info": "Ces notifications sont transmises sur le bureau", + "Directory": "Répertoire", + "Direct_Messages": "Messages directs", + "Disable_notifications": "Désactiver les notifications", + "Discussions": "Discussions", + "Discussion_Desc": "Aide à garder une vue d'ensemble sur ce qui se passe ! En créant une discussion, un sous-canal de celui que vous avez sélectionné est créé et les deux sont liés.", + "Discussion_name": "Nom de la discussion", + "Done": "Fait", + "Dont_Have_An_Account": "Vous n'avez pas de compte ?", + "Do_you_have_an_account": "Avez-vous un compte ?", + "Do_you_have_a_certificate": "Avez-vous un certificat ?", + "Do_you_really_want_to_key_this_room_question_mark": "Voulez-vous vraiment {{key}} ce salon ?", + "E2E_Encryption": "Cryptage E2E", + "E2E_How_It_Works_info1": "Vous pouvez désormais créer des groupes privés et des messages directs chiffrés. Vous pouvez également modifier les groupes privés ou DM existants pour les crypter.", + "E2E_How_It_Works_info2": "Il s'agit du *chiffrement de bout en bout*, la clé permettant de coder/décoder vos messages ne sera pas enregistrée sur le serveur. C'est pourquoi *vous devez stocker ce mot de passe à un endroit sûr* auquel vous pourrez accéder plus tard si vous en avez besoin.", + "E2E_How_It_Works_info3": "Si vous continuez, un mot de passe E2E sera automatiquement généré.", + "E2E_How_It_Works_info4": "Vous pouvez également configurer un nouveau mot de passe pour votre clé de cryptage à tout moment à partir de n'importe quel navigateur dans lequel vous avez entré le mot de passe E2E existant.", + "edit": "modifier", + "edited": "modifié", + "Edit": "Modifier", + "Edit_Status": "Modifier le statut", + "Edit_Invite": "Modifier l'invitation", + "End_to_end_encrypted_room": "Salon crypté de bout en bout", + "end_to_end_encryption": "chiffrement de bout en bout", + "Email_Notification_Mode_All": "Chaque mention/MD", + "Email_Notification_Mode_Disabled": "Désactivé", + "Email_or_password_field_is_empty": "Le champ e-mail ou mot de passe est vide", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Titre vide", + "Enable_Auto_Translate": "Activer la traduction automatique", + "Enable_notifications": "Activer les notifications", + "Encrypted": "Crypté", + "Encrypted_message": "Message crypté", + "Enter_Your_E2E_Password": "Entrez votre mot de passe E2E", + "Enter_Your_Encryption_Password_desc1": "Cela vous permettra d'accéder à vos groupes privés cryptés et à vos messages directs.", + "Enter_Your_Encryption_Password_desc2": "Vous devez entrer le mot de passe pour coder/décoder les messages à chaque endroit où vous utilisez le chat.", + "Encryption_error_title": "Votre mot de passe de cryptage semble erroné", + "Encryption_error_desc": "Il n'a pas été possible de décoder votre clé de cryptage pour être importé.", + "Everyone_can_access_this_channel": "Tout le monde peut accéder à ce canal", + "Everyone_can_access_this_team": "Tout le monde peut accéder à cette équipe", + "Error_uploading": "Erreur lors de l'envoi", + "Expiration_Days": "Expiration (Jours)", + "Favorites": "Favoris", + "Files": "Fichiers", + "File_description": "Description du fichier", + "File_name": "Nom de fichier", + "Finish_recording": "Terminer l'enregistrement", + "Following_thread": "Suivre le fil", + "For_your_security_you_must_enter_your_current_password_to_continue": "Pour votre sécurité, vous devez entrer votre mot de passe actuel pour continuer.", + "Forgot_password_If_this_email_is_registered": "Si cet e-mail est enregistré, nous vous enverrons des instructions pour réinitialiser votre mot de passe. Si vous ne recevez pas d'e-mail sous peu, veuillez revenir et réessayer.", + "Forgot_password": "Mot de passe oublié ?", + "Forgot_Password": "Mot de passe oublié", + "Forward": "Transmettre", + "Forward_Chat": "Transmettre la conversation", + "Forward_to_department": "Transmettre au département", + "Forward_to_user": "Transmettre à l'utilisateur", + "Full_table": "Cliquez pour voir le tableau complet", + "Generate_New_Link": "Générer un nouveau lien", + "Has_joined_the_channel": "a rejoint le canal", + "Has_joined_the_conversation": "a rejoint la conversation", + "Has_left_the_channel": "a quitté le canal", + "Hide_System_Messages": "Masquer les messages système", + "Hide_type_messages": "Masquer les messages \"{{type}}\"", + "How_It_Works": "Comment cela fonctionne", + "Message_HideType_uj": "L'utilisateur a rejoint", + "Message_HideType_ul": "L'utilisateur est parti", + "Message_HideType_ru": "Utilisateur supprimé", + "Message_HideType_au": "Utilisateur ajouté", + "Message_HideType_mute_unmute": "Utilisateur rendu muet / a retrouvé la parole", + "Message_HideType_r": "Nom du salon modifié", + "Message_HideType_ut": "L'utilisateur a rejoint la conversation", + "Message_HideType_wm": "Bienvenue", + "Message_HideType_rm": "Message supprimé", + "Message_HideType_subscription_role_added": "Rôle assigné", + "Message_HideType_subscription_role_removed": "Le rôle n'est plus défini", + "Message_HideType_room_archived": "Salon archivé", + "Message_HideType_room_unarchived": "Salon désarchivé", + "I_Saved_My_E2E_Password": "J'ai enregistré mon mot de passe E2E", + "IP": "IP", + "In_app": "Dans l'app", + "In_App_And_Desktop": "Dans l'application et sur le bureau", + "In_App_and_Desktop_Alert_info": "Affiche une bannière en haut de l'écran lorsque l'application est ouverte et affiche une notification sur le bureau", + "Invisible": "Invisible", + "Invite": "Inviter", + "is_a_valid_RocketChat_instance": "est une instance valide de Rocket.Chat", + "is_not_a_valid_RocketChat_instance": "n'est pas une instance valide de Rocket.Chat", + "is_typing": "est en train d'écrire", + "Invalid_or_expired_invite_token": "Jeton d'invitation non valide ou expiré", + "Invalid_server_version": "Le serveur auquel vous essayez de vous connecter utilise une version qui n'est plus prise en charge par l'application : {{currentVersion}}.\n\nNous exigeons la version {{minVersion}}", + "Invite_Link": "Lien d'invitation", + "Invite_users": "Inviter des utilisateurs", + "Join": "Rejoindre", + "Join_Code": "Code d'adhésion", + "Insert_Join_Code": "Insérer le code d'adhésion", + "Join_our_open_workspace": "Rejoignez notre espace de travail ouvert", + "Join_your_workspace": "Rejoignez votre espace de travail", + "Just_invited_people_can_access_this_channel": "Seuls les personnes invitées peuvent accéder à ce canal", + "Just_invited_people_can_access_this_team": "Seules les personnes invitées peuvent accéder à cette équipe", + "Language": "Langue", + "last_message": "dernier message", + "Leave_channel": "Quitter le canal", + "leaving_room": "quittant le salon", + "Leave": "Quitter", + "leave": "quitter", + "Legal": "Légal", + "Light": "Clair", + "License": "Licence", + "Livechat": "Chat en direct", + "Livechat_edit": "Modifier le chat en direct", + "Login": "Connexion", + "Login_error": "Vos identifiants ont été rejetés ! Veuillez réessayer.", + "Login_with": "Se connecter avec", + "Logging_out": "Déconnexion.", + "Logout": "Se déconnecter", + "Max_number_of_uses": "Nombre maximum d'utilisations", + "Max_number_of_users_allowed_is_number": "Le nombre maximum d'utilisateurs autorisés est {{maxUsers}}", + "members": "membres", + "Members": "Membres", + "Mentioned_Messages": "Messages mentionnés", + "mentioned": "mentionné", + "Mentions": "Mentions", + "Message_accessibility": "Message de {{user}} à {{time}} : {{message}}", + "Message_actions": "Actions de message", + "Message_pinned": "Message épinglé", + "Message_removed": "Message supprimé", + "Message_starred": "Message suivi", + "Message_unstarred": "Message non suivi", + "message": "message", + "messages": "messages", + "Message": "Message", + "Messages": "Messages", + "Message_Reported": "Message signalé", + "Microphone_Permission_Message": "Rocket.Chat a besoin d'accéder à votre microphone pour que vous puissiez envoyer un message audio.", + "Microphone_Permission": "Permission de microphone", + "Mute": "Rendre muet", + "muted": "muet", + "My_servers": "Mes serveurs", + "N_people_reacted": "{{n}} personnes ont réagi", + "N_users": "{{n}} utilisateurs", + "N_channels": "{{n}} canaux", + "Name": "Nom", + "Navigation_history": "Historique de navigation", + "Never": "Jamais", + "New_Message": "Nouveau message", + "New_Password": "Nouveau mot de passe", + "New_Server": "Nouveau serveur", + "Next": "Suivant", + "No_files": "Aucun fichier", + "No_limit": "Pas de limites", + "No_mentioned_messages": "Aucun message mentionné", + "No_pinned_messages": "Aucun message épinglé", + "No_results_found": "Aucun résultat trouvé", + "No_starred_messages": "Aucun message suivi", + "No_thread_messages": "Aucun message de fil de discussion", + "No_label_provided": "Aucun {{label}} fourni.", + "No_Message": "Aucun message", + "No_messages_yet": "Pas encore de messages", + "No_Reactions": "Aucune réaction", + "No_Read_Receipts": "Aucun accusé de lecture", + "Not_logged": "Non connecté", + "Not_RC_Server": "Ce n'est pas un serveur Rocket.Chat.\n{{contact}}", + "Nothing": "Rien", + "Nothing_to_save": "Rien à enregistrer !", + "Notify_active_in_this_room": "Notifier les utilisateurs actifs dans ce salon", + "Notify_all_in_this_room": "Avertir tout le monde dans ce salon", + "Notifications": "Notifications", + "Notification_Duration": "Durée des notifications", + "Notification_Preferences": "Préférences de notification", + "No_available_agents_to_transfer": "Aucun agent disponible pour le transfert", + "Offline": "Hors ligne", + "Oops": "Oups !", + "Omnichannel": "Omnicanal", + "Open_Livechats": "Discussions en cours", + "Omnichannel_enable_alert": "Vous n'êtes pas disponible sur Omnicanal. Souhaitez-vous être disponible ?", + "Onboarding_description": "Un espace de travail est l'espace de collaboration de votre équipe ou organisation. Demandez à l'administrateur de l'espace de travail l'adresse pour rejoindre ou créez-en une pour votre équipe.", + "Onboarding_join_workspace": "Rejoindre un espace de travail", + "Onboarding_subtitle": "Au-delà de la collaboration d'équipe", + "Onboarding_title": "Bienvenue sur Rocket.Chat", + "Onboarding_join_open_description": "Rejoignez notre espace de travail ouvert pour discuter avec l'équipe et la communauté Rocket.Chat.", + "Onboarding_agree_terms": "En continuant, vous acceptez Rocket.Chat", + "Onboarding_less_options": "Moins d'options", + "Onboarding_more_options": "Plus d'options", + "Online": "En ligne", + "Only_authorized_users_can_write_new_messages": "Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages.", + "Open_emoji_selector": "Ouvrir le sélecteur d'émoji", + "Open_Source_Communication": "Communication Open Source", + "Open_your_authentication_app_and_enter_the_code": "Ouvrez votre application d'authentification et entrez le code.", + "OR": "OU", + "OS": "OS", + "Overwrites_the_server_configuration_and_use_room_config": "Écrase la configuration du serveur et utilise la configuration du salon", + "Password": "Mot de passe", + "Parent_channel_or_group": "Canal ou groupe parent", + "Permalink_copied_to_clipboard": "Lien permanent copié dans le presse-papiers !", + "Phone": "Téléphone", + "Pin": "Épingler", + "Pinned_Messages": "Messages épinglés", + "pinned": "épinglé", + "Pinned": "Épinglé", + "Please_add_a_comment": "Veuillez ajouter un commentaire", + "Please_enter_your_password": "Veuillez entrer votre mot de passe", + "Please_wait": "Veuillez patienter.", + "Preferences": "Préférences", + "Preferences_saved": "Préférences sauvegardées !", + "Privacy_Policy": " Politique de confidentialité", + "Private_Channel": "Canal privé", + "Private": "Privé", + "Processing": "Traitement...", + "Profile_saved_successfully": "Profil enregistré avec succès !", + "Profile": "Profil", + "Public_Channel": "Canal public", + "Public": "Public", + "Push_Notifications": "Notifications Push", + "Push_Notifications_Alert_Info": "Ces notifications vous sont envoyées lorsque l'application n'est pas ouverte", + "Quote": "Citation", + "Reactions_are_disabled": "Les réactions sont désactivées", + "Reactions_are_enabled": "Les réactions sont activées", + "Reactions": "Réactions", + "Read_External_Permission_Message": "Rocket.Chat doit accéder aux photos, aux médias et aux fichiers sur votre appareil", + "Read_External_Permission": "Permission de lecture des fichiers", + "Read_Only_Channel": "Canal en lecture seule", + "Read_Only": "Lecture seule", + "Read_Receipt": "Accusé de réception", + "Receive_Group_Mentions": "Recevoir des mentions de groupe", + "Receive_Group_Mentions_Info": "Recevoir des mentions @all et @here", + "Register": "S'inscrire", + "Repeat_Password": "Répéter le mot de passe", + "Replied_on": "A répondu le :", + "replies": "réponses", + "reply": "répondre", + "Reply": "Répondre", + "Report": "Signaler", + "Receive_Notification": "Recevoir une notification", + "Receive_notifications_from": "Recevoir des notifications de {{name}}", + "Resend": "Renvoyer", + "Reset_password": "Réinitialiser le mot de passe", + "resetting_password": "réinitialisation du mot de passe", + "RESET": "RÉINITIALISER", + "Return": "Retour", + "Review_app_title": "Appréciez-vous cette application ?", + "Review_app_desc": "Donnez-nous 5 étoiles sur {{store}}", + "Review_app_yes": "Bien sûr !", + "Review_app_no": "Non", + "Review_app_later": "Peut-être plus tard", + "Review_app_unable_store": "Impossible d'ouvrir {{store}}", + "Review_this_app": "Donnez votre avis sur cette application", + "Remove": "Supprimer", + "remove": "supprimer", + "Roles": "Rôles", + "Room_actions": "Actions du salon", + "Room_changed_announcement": "Annonce du salon changé en : {{announcement}} par {{userBy}}", + "Room_changed_avatar": "Avatar du salon modifié par {{userBy}}", + "Room_changed_description": "Description du salon changé en : {{description}} par {{userBy}}", + "Room_changed_privacy": "Type de salon changé en : {{type}} par {{userBy}}", + "Room_changed_topic": "Le sujet de salon est changé en : {{topic}} par {{userBy}}", + "Room_Files": "Fichiers du salon", + "Room_Info_Edit": "Modifier les informations du salon", + "Room_Info": "Info sur le salon", + "Room_Members": "Membres du salon", + "Room_name_changed": "Nom de salon changé en : {{name}} par {{userBy}}", + "SAVE": "SAUVEGARDER", + "Save_Changes": "Sauvegarder les modifications", + "Save": "Sauvegarder", + "Saved": "Enregistré", + "saving_preferences": "enregistrement des préférences", + "saving_profile": "enregistrement du profil", + "saving_settings": "enregistrement des paramètres", + "saved_to_gallery": "Enregistré dans la galerie", + "Save_Your_E2E_Password": "Enregistrez votre mot de passe E2E", + "Save_Your_Encryption_Password": "Enregistrez votre mot de passe de cryptage", + "Save_Your_Encryption_Password_warning": "Ce mot de passe n'est stocké nulle part, enregistrez-le donc soigneusement ailleurs.", + "Save_Your_Encryption_Password_info": "Si vous perdez le mot de passe, il n'y a aucun moyen de le récupérer et vous perdrez l'accès à vos messages.", + "Search_Messages": "Rechercher des messages", + "Search": "Recherche", + "Search_by": "Rechercher par", + "Search_global_users": "Rechercher des utilisateurs mondiaux", + "Search_global_users_description": "Si vous activez, vous pouvez rechercher n'importe quel utilisateur d'autres sociétés ou serveurs.", + "Seconds": "{{second}} secondes", + "Security_and_privacy": "Sécurité et vie privée", + "Select_Avatar": "Sélectionnez un avatar", + "Select_Server": "Sélectionnez un serveur", + "Select_Users": "Sélectionner les utilisateurs", + "Select_a_Channel": "Sélectionnez un canal", + "Select_a_Department": "Sélectionnez un département", + "Select_an_option": "Sélectionnez une option", + "Select_a_User": "Sélectionnez un utilisateur", + "Send": "Envoyer", + "Send_audio_message": "Envoyer un message audio", + "Send_crash_report": "Envoyer un rapport de plantage", + "Send_message": "Envoyer un message", + "Send_me_the_code_again": "Envoyez-moi à nouveau le code", + "Send_to": "Envoyer à...", + "Sending_to": "Envoi à", + "Sent_an_attachment": "Envoyé une pièce jointe", + "Server": "Serveur", + "Servers": "Serveurs", + "Server_version": "Version du serveur : {{version}}", + "Set_username_subtitle": "Le nom d'utilisateur est utilisé pour permettre aux autres de vous mentionner dans les messages", + "Set_custom_status": "Définir le statut personnalisé", + "Set_status": "Définir le statut", + "Status_saved_successfully": "Statut enregistré avec succès !", + "Settings": "Paramètres", + "Settings_succesfully_changed": "Paramètres modifiés avec succès !", + "Share": "Partager", + "Share_Link": "Partager le lien", + "Share_this_app": "Partager cette application", + "Show_more": "Afficher plus..", + "Show_Unread_Counter": "Afficher le compteur non lu", + "Show_Unread_Counter_Info": "Le compteur non lu est affiché sous forme de badge à droite du canal, dans la liste", + "Sign_in_your_server": "Connectez-vous à votre serveur", + "Sign_Up": "S'inscrire", + "Some_field_is_invalid_or_empty": "Certains champs sont invalides ou vides", + "Sound": "Son", + "Star_room": "Canal favoris", + "Star": "Mettre en favoris", + "Starred_Messages": "Les messages favoris", + "starred": "favoris", + "Starred": "Favoris", + "Start_of_conversation": "Début de conversation", + "Start_a_Discussion": "Lancer une discussion", + "Started_discussion": "A commencé une discussion :", + "Started_call": "Appel lancé par {{userBy}}", + "Submit": "Soumettre", + "Table": "Tableau", + "Tags": "Mots clés", + "Take_a_photo": "Prendre une photo", + "Take_a_video": "Prendre une vidéo", + "Take_it": "Prends-le !", + "tap_to_change_status": "appuyez pour changer de statut", + "Tap_to_view_servers_list": "Appuyez pour afficher la liste des serveurs", + "Terms_of_Service": " Conditions d'utilisation ", + "Theme": "Thème", + "The_user_wont_be_able_to_type_in_roomName": "L'utilisateur ne pourra pas écrire dans {{roomName}}", + "The_user_will_be_able_to_type_in_roomName": "L'utilisateur pourra écrire dans {{roomName}}", + "There_was_an_error_while_action": "Une erreur s'est produite lors de {{action}} !", + "This_room_is_blocked": "Ce salon est bloqué", + "This_room_is_read_only": "Ce salon est en lecture seule", + "Thread": "Fil de discussion", + "Threads": "Fils de discussions", + "Timezone": "Fuseau horaire", + "To": "A", + "topic": "sujet", + "Topic": "Sujet", + "Translate": "Traduire", + "Try_again": "Réessayer", + "Two_Factor_Authentication": "Authentification à deux facteurs", + "Type_the_channel_name_here": "Tapez le nom de canal ici", + "unarchive": "désarchiver", + "UNARCHIVE": "DÉSARCHIVER", + "Unblock_user": "Débloquer l'utilisateur", + "Unfollowed_thread": "Ne plus suivre ce fil", + "Unmute": "Rendre la parole", + "unmuted": "rendu la parole", + "Unpin": "Détacher", + "unread_messages": "non lu", + "Unread": "Non lu", + "Unread_on_top": "Non lu en haut", + "Unstar": "Enlever des favoris", + "Updating": "Mise à jour...", + "Uploading": "Envoyer", + "Upload_file_question_mark": "Téléverser un fichier ?", + "User": "Utilisateur", + "Users": "Utilisateurs", + "User_added_by": "Utilisateur {{userAdded}} ajouté par {{userBy}}", + "User_Info": "Info d'utilisateur", + "User_has_been_key": "L'utilisateur a été {{key}}", + "User_is_no_longer_role_by_": "{{user}} n'est plus {{role}} par {{userBy}}", + "User_muted_by": "L'utilisateur {{userMuted}} a été rendu muet par {{userBy}}", + "User_removed_by": "Utilisateur {{userRemoved}} supprimé par {{userBy}}", + "User_sent_an_attachment": "{{user}} a envoyé une pièce jointe", + "User_unmuted_by": "L'utilisateur {{userBy}} a rendu la parole à {{userUnmuted}}", + "User_was_set_role_by_": "{{user}} a été défini {{role}} par {{userBy}}", + "Username_is_empty": "Nom d'utilisateur est vide", + "Username": "Nom d'utilisateur", + "Username_or_email": "Nom d'utilisateur ou e-mail", + "Uses_server_configuration": "Utilise la configuration du serveur", + "Validating": "Validation", + "Registration_Succeeded": "Inscription réussie !", + "Verify": "Vérifier", + "Verify_email_title": "Inscription réussie !", + "Verify_email_desc": "Nous vous avons envoyé un e-mail pour confirmer votre inscription. Si vous ne recevez pas d'e-mail sous peu, veuillez revenir et réessayer.", + "Verify_your_email_for_the_code_we_sent": "Vérifiez votre e-mail pour le code que nous avons envoyé", + "Video_call": "Appel vidéo", + "View_Original": "Voir l'original", + "Voice_call": "Appel vocal", + "Waiting_for_network": "En attente du réseau...", + "Websocket_disabled": "Le Websocket est désactivé pour ce serveur.\n{{contact}}", + "Welcome": "Bienvenue", + "What_are_you_doing_right_now": "Que fais-tu en ce moment ?", + "Whats_your_2fa": "Quel est votre code 2FA ?", + "Without_Servers": "Sans serveurs", + "Workspaces": "Espaces de travail", + "Would_you_like_to_return_the_inquiry": "Souhaitez-vous retourner la demande ?", + "Write_External_Permission_Message": "Rocket.Chat a besoin d'accéder à votre galerie pour que vous puissiez enregistrer des images.", + "Write_External_Permission": "Autorisation de la galerie", + "Yes": "Oui", + "Yes_action_it": "Oui, {{action}} le !", + "Yesterday": "Hier", + "You_are_in_preview_mode": "Vous êtes en mode aperçu", + "You_are_offline": "Vous êtes hors ligne", + "You_can_search_using_RegExp_eg": "Vous pouvez utiliser RegExp., par exemple `/^texte$/i`", + "You_colon": "Vous: ", + "you_were_mentioned": "vous avez été mentionné", + "You_were_removed_from_channel": "Vous avez été retiré de {{channel}}", + "you": "vous", + "You": "Vous", + "Logged_out_by_server": "Vous avez été déconnecté du serveur. Veuillez vous reconnecter.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Vous devez accéder à au moins un serveur Rocket.Chat pour partager quelque chose.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Vous devez vérifier votre adresse e-mail pour recevoir des notifications", + "Your_certificate": "Votre certificat", + "Your_invite_link_will_expire_after__usesLeft__uses": "Votre lien d'invitation expirera après {{usesLeft}} utilisations.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Votre lien d'invitation expirera le {{date}} ou après {{usesLeft}} utilisations.", + "Your_invite_link_will_expire_on__date__": "Votre lien d'invitation expirera le {{date}}.", + "Your_invite_link_will_never_expire": "Votre lien d'invitation n'expirera jamais.", + "Your_workspace": "Votre espace de travail", + "Your_password_is": "Votre mot de passe est", + "Version_no": "Version : {{version}}", + "You_will_not_be_able_to_recover_this_message": "Vous ne pourrez pas récupérer ce message !", + "You_will_unset_a_certificate_for_this_server": "Vous allez supprimer un certificat pour ce serveur", + "Change_Language": "Changer la langue", + "Crash_report_disclaimer": "Nous ne suivons jamais le contenu de vos chats. Le rapport d'incident et les évènements d'analyse ne contiennent que des informations pertinentes pour nous afin d'identifier et de résoudre les problèmes.", + "Type_message": "Tapez le message", + "Room_search": "Recherche de salons", + "Room_selection": "Sélection de salon 1...9", + "Next_room": "Salon suivant", + "Previous_room": "Salon précédent", + "New_room": "Nouveau salon", + "Upload_room": "Envoyer dans un salon", + "Search_messages": "Rechercher des messages", + "Scroll_messages": "Faire défiler les messages", + "Reply_latest": "Répondre au dernier", + "Reply_in_Thread": "Répondre dans le fil", + "Server_selection": "Sélection du serveur", + "Server_selection_numbers": "Sélection du serveur 1...9", + "Add_server": "Ajouter un serveur", + "New_line": "Nouvelle ligne", + "You_will_be_logged_out_of_this_application": "Vous serez déconnecté de cette application.", + "Clear": "Effacer", + "This_will_clear_all_your_offline_data": "Cela effacera toutes vos données hors ligne.", + "This_will_remove_all_data_from_this_server": "Cela supprimera toutes les données de ce serveur.", + "Mark_unread": "Marquer comme non lu", + "Wait_activation_warning": "Avant de pouvoir vous connecter, votre compte doit être activé manuellement par un administrateur.", + "Screen_lock": "Verrouillage d'écran", + "Local_authentication_biometry_title": "Authentifier", + "Local_authentication_biometry_fallback": "Utiliser le code d'accès", + "Local_authentication_unlock_option": "Déverrouiller avec le code d'accès", + "Local_authentication_change_passcode": "Changer le code d'accès", + "Local_authentication_info": "Remarque : si vous oubliez le code d'accès, vous devrez supprimer et réinstaller l'application.", + "Local_authentication_facial_recognition": "reconnaissance faciale", + "Local_authentication_fingerprint": "empreinte digitale", + "Local_authentication_unlock_with_label": "Déverrouiller avec {{label}}", + "Local_authentication_auto_lock_60": "Après 1 minute", + "Local_authentication_auto_lock_300": "Après 5 minutes", + "Local_authentication_auto_lock_900": "Après 15 minutes", + "Local_authentication_auto_lock_1800": "Après 30 minutes", + "Local_authentication_auto_lock_3600": "Après 1 heure", + "Passcode_enter_title": "Entrez votre code d'accès", + "Passcode_choose_title": "Choisissez votre nouveau code d'accès", + "Passcode_choose_confirm_title": "Confirmez votre nouveau code d'accès", + "Passcode_choose_error": "Les codes d'accès ne correspondent pas. Réessayer.", + "Passcode_choose_force_set": "Code d'accès requis par l'administrateur", + "Passcode_app_locked_title": "App verrouillée", + "Passcode_app_locked_subtitle": "Réessayez dans {{timeLeft}} secondes", + "After_seconds_set_by_admin": "Après {{seconds}} secondes (défini par l'administrateur)", + "Dont_activate": "Ne pas activer maintenant", + "Queued_chats": "Discussions en file d'attente", + "Queue_is_empty": "La file d'attente est vide", + "Logout_from_other_logged_in_locations": "Déconnexion des autres emplacements connectés", + "You_will_be_logged_out_from_other_locations": "Vous serez déconnecté des autres emplacements.", + "Logged_out_of_other_clients_successfully": "Déconnexion réussie des autres clients", + "Logout_failed": "Echec de la déconnexion !", + "Log_analytics_events": "Journal des événements d'analyse", + "E2E_encryption_change_password_title": "Changer le mot de passe de cryptage", + "E2E_encryption_change_password_description": "Vous pouvez désormais créer des groupes privés et des messages directs chiffrés. Vous pouvez également modifier les groupes privés ou DM existants pour les crypter.\nIl s'agit du chiffrement de bout en bout, la clé permettant de coder/décoder vos messages ne sera pas enregistrée sur le serveur. Pour cette raison, vous devez stocker ce mot de passe à un endroit sûr. Vous devrez le saisir sur les autres appareils sur lesquels vous souhaitez utiliser le cryptage E2E.", + "E2E_encryption_change_password_error": "Erreur lors de la modification du mot de passe de la clé E2E", + "E2E_encryption_change_password_success": "Le mot de passe de la clé E2E a été changé avec succès !", + "E2E_encryption_change_password_message": "Assurez-vous de l'avoir enregistré soigneusement ailleurs.", + "E2E_encryption_change_password_confirmation": "Oui, changez-le", + "E2E_encryption_reset_title": "Réinitialiser la clé E2E", + "E2E_encryption_reset_description": "Cette option supprimera la clé E2E actuelle et vous déconnectera.\nLorsque vous vous reconnecterez, Rocket.Chat générera une nouvelle clé et restaurera votre accès aux salons cryptés qui a un ou plusieurs membres en ligne.\nEn raison de la nature du cryptage E2E, Rocket.Chat ne pourra pas restaurer l'accès à un salon crypté qui n'a aucun membre en ligne.", + "E2E_encryption_reset_button": "Réinitialiser la clé E2E", + "E2E_encryption_reset_error": "Erreur lors de la réinitialisation de la clé E2E !", + "E2E_encryption_reset_message": "Vous allez être déconnecté.", + "E2E_encryption_reset_confirmation": "Oui, réinitialisez-le", + "Following": "Suivant", + "Threads_displaying_all": "Tout afficher", + "Threads_displaying_following": "Affichage suivant", + "Threads_displaying_unread": "Affichage non lu", + "No_threads": "Il n'y a pas de fils", + "No_threads_following": "Vous ne suivez aucun fil de discussion", + "No_threads_unread": "Il n'y a pas de fils non lus", + "Messagebox_Send_to_channel": "Envoyer au canal", + "Leader": "Leader", + "Moderator": "Modérateur", + "Owner": "Propriétaire", + "Remove_from_room": "Retirer du salon", + "Ignore": "Ignorer", + "Unignore": "Ne pas ignorer", + "User_has_been_ignored": "L'utilisateur a été ignoré", + "User_has_been_unignored": "L'utilisateur n'est plus ignoré", + "User_has_been_removed_from_s": "L'utilisateur a été retiré de {{s}}", + "User__username__is_now_a_leader_of__room_name_": "L'utilisateur {{username}} est désormais un leader de {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "L'utilisateur {{username}} est désormais un modérateur de {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "L'utilisateur {{username}} est désormais un propriétaire de {{room_name}}", + "User__username__removed_from__room_name__leaders": "L'utilisateur {{username}} a été supprimé des leaders de {{room_name}}", + "User__username__removed_from__room_name__moderators": "L'utilisateur {{username}} a été supprimé des modérateurs de {{room_name}}", + "User__username__removed_from__room_name__owners": "L'utilisateur {{username}} a été supprimé des propriétaires de {{room_name}}", + "The_user_will_be_removed_from_s": "L'utilisateur sera supprimé de {{s}}", + "Yes_remove_user": "Oui, supprimez l'utilisateur !", + "Direct_message": "Message direct", + "Message_Ignored": "Message ignoré. Touchez pour l'afficher.", + "Enter_workspace_URL": "Entrez l'URL de l'espace de travail", + "Workspace_URL_Example": "Ex. votre-société.rocket.chat", + "This_room_encryption_has_been_enabled_by__username_": "Le cryptage de ce salon a été activé par {{username}}", + "This_room_encryption_has_been_disabled_by__username_": "Le cryptage de ce salon a été désactivé par {{username}}", + "Teams": "Equipes", + "No_team_channels_found": "Aucun canal trouvé", + "Team_not_found": "Equipe non trouvée", + "Create_Team": "Créer une équipe", + "Team_Name": "Nom de l'équipe", + "Private_Team": "Equipe privée", + "Read_Only_Team": "Equipe en lecture seule", + "Broadcast_Team": "Equipe de diffusion", + "creating_team": "création de l'équipe", + "team-name-already-exists": "Une équipe portant ce nom existe déjà", + "Add_Channel_to_Team": "Ajouter un canal à l'équipe", + "Left_The_Team_Successfully": "A quitté l'équipe avec succès", + "Create_New": "Créer un nouveau", + "Add_Existing": "Ajouter existant", + "Add_Existing_Channel": "Ajouter un canal existant", + "Remove_from_Team": "Retirer de l'équipe", + "Auto-join": "Rejoindre automatiquement", + "Remove_Team_Room_Warning": "Souhaitez-vous supprimer ce canal de l'équipe ? Le canal sera déplacé vers l'espace de travail", + "Confirmation": "Confirmation", + "invalid-room": "Salon invalide", + "You_are_leaving_the_team": "Vous quittez l'équipe '{{team}}'", + "Leave_Team": "Quitter l'équipe", + "Select_Team": "Sélectionnez l'équipe", + "Select_Team_Channels": "Sélectionnez les canaux de l'équipe que vous souhaitez quitter.", + "Cannot_leave": "Ne peut pas partir", + "Cannot_remove": "Impossible d'enlever", + "Cannot_delete": "Impossible de supprimer", + "Last_owner_team_room": "Vous êtes le dernier propriétaire de ce canal. Une fois que vous quittez l'équipe, le canal sera conservé au sein de l'équipe mais vous le gérerez de l'extérieur.", + "last-owner-can-not-be-removed": "Le dernier propriétaire ne peut pas être supprimé", + "Remove_User_Teams": "Sélectionnez les canaux dont vous souhaitez supprimer l'utilisateur.", + "Delete_Team": "Supprimer l'équipe", + "Select_channels_to_delete": "Ceci ne peut pas être annulé. Une fois que vous supprimez une équipe, tout le contenu et la configuration du chat seront supprimés.\n\nSélectionnez les canaux que vous souhaitez supprimer. Ceux que vous décidez de conserver seront disponible dans votre espace de travail. Notez que les canaux publics seront toujours publics et visibles par tous.", + "You_are_deleting_the_team": "Vous supprimez cette équipe.", + "Removing_user_from_this_team": "Vous supprimez {{user}} de cette équipe", + "Remove_User_Team_Channels": "Sélectionnez les canaux dont vous souhaitez supprimer l'utilisateur.", + "Remove_Member": "Supprimer un membre", + "leaving_team": "quitter l'équipe", + "removing_team": "retirer de l'équipe", + "moving_channel_to_team": "transfert de canal à l'équipe", + "deleting_team": "suppression de l'équipe", + "member-does-not-exist": "Le membre n'existe pas", + "Convert": "Convertir", + "Convert_to_Team": "Convertir en équipe", + "Convert_to_Team_Warning": "Vous convertissez ce canal en équipe. Tous les membres seront conservés.", + "Move_to_Team": "Déplacer vers l'équipe", + "Move_Channel_Paragraph": "Le déplacement d'un canal dans une équipe signifie que ce canal sera ajouté dans le contexte d'équipe. Cependant, tous les membres du canal, qui ne sont pas membres de l'équipe respective, auront toujours accès à ce canal, mais ne seront pas ajoutés comme membres de l'équipe.\n\nLa gestion de tout le canal sera toujours assurée par les propriétaires de ce canal.\n\nLes membres de l'équipe et même les propriétaires de l'équipe, s'ils ne sont pas membres de ce canal, ne peuvent pas avoir accès au contenu du canal.\n\nVeuillez noter que le propriétaire de l'équipe pourra supprimer des membres du canal.", + "Move_to_Team_Warning": "Après avoir lu les instructions précédentes sur ce comportement, voulez-vous toujours déplacer ce canal vers l'équipe sélectionnée ?", + "Load_More": "Charger plus", + "Load_Newer": "Charger plus récent", + "Load_Older": "Charger plus ancien", + "room-name-already-exists": "Le nom du salon existe déjà", + "error-team-creation": "Erreur de création d'équipe", + "unauthorized": "Non autorisé", + "Left_The_Room_Successfully": "A quitté le salon avec succès", + "Deleted_The_Team_Successfully": "Equipe supprimée avec succès", + "Deleted_The_Room_Successfully": "Salon supprimé avec succès", + "Convert_to_Channel": "Convertir en canal", + "Converting_Team_To_Channel": "Conversion de l’équipe en canal", + "Select_Team_Channels_To_Delete": "Sélectionnez les canaux de l'équipe que vous souhaitez supprimer, ceux que vous ne sélectionnez pas, seront déplacés vers l'espace de travail. \n\n\nNotez que les canaux publics seront publics et visibles par tous.", + "You_are_converting_the_team": "Vous convertissez cette équipe en canal", + "Display": "Affichage", + "Avatars": "Avatars", + "Sort_by": "Trier par", + "Group_by": "Grouper par", + "Types": "Types", + "Expanded": "Etendu", + "Condensed": "Condensé", + "creating_discussion": "créer une discussion", + "Canned_Responses": "Modèles de réponse", + "No_match_found": "Pas de résultat trouvé.", + "Check_canned_responses": "Vérifiez les réponses standardisées.", + "Searching": "Recherche", + "Use": "Utiliser", + "Shortcut": "Raccourci", + "Content": "Contenu", + "Sharing": "Partager", + "No_canned_responses": "Pas de réponses standardisées", + "Send_email_confirmation": "Envoyer un e-mail de confirmation", + "sending_email_confirmation": "envoi d'e-mail de confirmation", + "Enable_Message_Parser": "Activer le parseur de messages" +} \ No newline at end of file diff --git a/app/i18n/locales/gl.json b/app/i18n/locales/gl.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/gl.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/he.json b/app/i18n/locales/he.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/he.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/hi-IN.json b/app/i18n/locales/hi-IN.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/hi-IN.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/hr.json b/app/i18n/locales/hr.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/hr.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/hu.json b/app/i18n/locales/hu.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/hu.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/id.json b/app/i18n/locales/id.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/id.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/it.json b/app/i18n/locales/it.json index 87447244c..7b1f1f666 100644 --- a/app/i18n/locales/it.json +++ b/app/i18n/locales/it.json @@ -1,702 +1,693 @@ { - "1_person_reacted": "1 persona ha reagito", - "1_user": "1 utente", - "error-action-not-allowed": "{{action}} non autorizzata", - "error-application-not-found": "Applicazione non trovata", - "error-archived-duplicate-name": "Esiste già un canale archiviato con nome {{room_name}}", - "error-avatar-invalid-url": "URL avatar non valido: {{url}}", - "error-avatar-url-handling": "Errore nella gestione dell'impostazione avatar dall'URL ({{url}}) per {{username}}", - "error-cant-invite-for-direct-room": "Impossibile invitare l'utente alle stanze dirette", - "error-could-not-change-email": "Impossibile cambiare l'indirizzo e-mail", - "error-could-not-change-name": "Impossibile cambiare nome", - "error-could-not-change-username": "Impossibile cambiare username", - "error-could-not-change-status": "Impossibile cambiare lo stato", - "error-delete-protected-role": "Impossibile eliminare un ruolo protetto", - "error-department-not-found": "Reparto non trovato", - "error-direct-message-file-upload-not-allowed": "La condivisione di file non è autorizzata nei messaggi diretti", - "error-duplicate-channel-name": "Esiste già un canale con nome {{channel_name}}", - "error-email-domain-blacklisted": "Il dominio e-mail è nella lista nera", - "error-email-send-failed": "Errore nel tentativo di invio e-mail: {{message}}", - "error-save-image": "Errore nel salvataggio dell'immagine", - "error-save-video": "Errore nel salvataggio del video", - "error-field-unavailable": "{{field}} è già in uso :(", - "error-file-too-large": "File troppo grande", - "error-importer-not-defined": "L'importatore non è stato definito correttamente: classe Import mancante.", - "error-input-is-not-a-valid-field": "{{input}} non è valido come {{field}}", - "error-invalid-actionlink": "Link azione non valido", - "error-invalid-arguments": "Parametri non validi", - "error-invalid-asset": "Risorsa non valida", - "error-invalid-channel": "Canale non valido.", - "error-invalid-channel-start-with-chars": "Canale non valido. Inizia con @ o #", - "error-invalid-custom-field": "Campo personalizzato non valido", - "error-invalid-custom-field-name": "Nome campo personalizzato non valido. Usa solo lettere, numeri, trattini e underscore.", - "error-invalid-date": "Data fornita non valida.", - "error-invalid-description": "Descrizione non valida", - "error-invalid-domain": "Dominio non valido", - "error-invalid-email": "E-mail {{email}} non valida", - "error-invalid-email-address": "Indirizzo e-mail non valido", - "error-invalid-file-height": "Altezza del file non valida", - "error-invalid-file-type": "Tipo di file non valido", - "error-invalid-file-width": "Larghezza del file non valida", - "error-invalid-from-address": "Hai informato un indirizzo FROM non valido.", - "error-invalid-integration": "Integrazione non valida", - "error-invalid-message": "Messaggio non valido", - "error-invalid-method": "Metodo o funzione non valida", - "error-invalid-name": "Nome non corretto", - "error-invalid-password": "Password non corretta", - "error-invalid-redirectUri": "redirectUri non valido", - "error-invalid-role": "Ruolo non valido", - "error-invalid-room": "Stanza non valida", - "error-invalid-room-name": "{{room_name}} non è un nome di stanza valido", - "error-invalid-room-type": "{{type}} non è un tipo di stanza valido", - "error-invalid-settings": "Impostazioni fornite non valide", - "error-invalid-subscription": "Iscrizione non valida", - "error-invalid-token": "Token non valido", - "error-invalid-triggerWords": "triggerWords non valide", - "error-invalid-urls": "URL non validi", - "error-invalid-user": "Utente non valido", - "error-invalid-username": "Nome utente non valido", - "error-invalid-webhook-response": "L'URL del webhook ha risposto con uno stato diverso da 200", - "error-message-deleting-blocked": "Cancellazione di messaggi bloccata", - "error-message-editing-blocked": "Modifica di messaggi bloccata", - "error-message-size-exceeded": "La dimensione del messaggio supera Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Devi fornire il link [unsubscribe].", - "error-no-tokens-for-this-user": "Non ci sono token per questo utente", - "error-not-allowed": "Non permesso", - "error-not-authorized": "Non autorizzato", - "error-push-disabled": "Push è disabilitato", - "error-remove-last-owner": "Questo è l'ultimo proprietario rimasto. Imposta un nuovo proprietario prima di rimuoverlo.", - "error-role-in-use": "Impossibile eliminare il ruolo perchè ancora in uso", - "error-role-name-required": "Il nome del ruolo è obbligatorio", - "error-the-field-is-required": "Il campo {{field}} è obbligatorio.", - "error-too-many-requests": "Errore, troppe richieste effettuate. Rallenta. Devi attendere {{seconds}} secondi prima di riprovare.", - "error-user-is-not-activated": "L'utente non è attivato", - "error-user-has-no-roles": "L'utente non ha ruoli", - "error-user-limit-exceeded": "Il numero di utenti che stai invitando in #channel_name supera il limite imposto dall'amministratore", - "error-user-not-in-room": "L'utente non è in questa stanza", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "Registrazione utente disabilitata", - "error-user-registration-secret": "Registrazione utente permessa solo via URL segreto", - "error-you-are-last-owner": "Sei l'ultimo proprietario rimasto. Imposta un nuovo proprietario prima di lasciare la stanza.", - "Actions": "Azioni", - "activity": "attività", - "Activity": "Attività", - "Add_Reaction": "Aggiungi reazione", - "Add_Server": "Aggiungi server", - "Add_users": "Aggiungi utenti", - "Admin_Panel": "Amministrazione", - "Agent": "Agente", - "Alert": "Avviso", - "alert": "avviso", - "alerts": "avvisi", - "All_users_in_the_channel_can_write_new_messages": "Tutti gli utenti nel canale possono scrivere messaggi", - "A_meaningful_name_for_the_discussion_room": "Un nome significativo per il canale di discussione", - "All": "Tutti", - "All_Messages": "Tutti i messaggi", - "Allow_Reactions": "Permetti reazioni", - "Alphabetical": "Alfabetico", - "and_more": "e altro", - "and": "e", - "announcement": "annuncio", - "Announcement": "Annuncio", - "Apply_Your_Certificate": "Applica il tuo certificato", - "ARCHIVE": "ARCHIVIO", - "archive": "archivio", - "are_typing": "stanno scrivendo", - "Are_you_sure_question_mark": "Sei sicuro?", - "Are_you_sure_you_want_to_leave_the_room": "Sei sicuro di voler lasciare la stanza {{room}}?", - "Audio": "Audio", - "Authenticating": "Autenticazione", - "Automatic": "Automatico", - "Auto_Translate": "Traduzione automatica", - "Avatar_changed_successfully": "Avatar aggiornato correttamente!", - "Avatar_Url": "URL avatar", - "Away": "Assente", - "Back": "Indietro", - "Black": "Nero", - "Block_user": "Blocca utente", - "Browser": "Browser", - "Broadcast_channel_Description": "Solo gli utenti autorizzati possono scrivere messaggi, ma gli altri utenti saranno in grado di rispondere", - "Broadcast_Channel": "Canale broadcast", - "Busy": "Occupato", - "By_proceeding_you_are_agreeing": "Procedendo accetti i nostri", - "Cancel_editing": "Annulla modifica", - "Cancel_recording": "Annulla registrazione", - "Cancel": "Annulla", - "changing_avatar": "cambio avatar", - "creating_channel": "creo canale", - "creating_invite": "creo invito", - "Channel_Name": "Nome canale", - "Channels": "Canali", - "Chats": "Chat", - "Call_already_ended": "Chiamata già terminata!", - "Clear_cookies_alert": "Vuoi cancellare tutti i cookie?", - "Clear_cookies_desc": "Questo cancellerà tutti i coockie di login, permettendoti di accedere con altri account.", - "Clear_cookies_yes": "Si, cancella i cookie", - "Clear_cookies_no": "No, mantieni i cookie", - "Click_to_join": "Clicca per unirti!", - "Close": "Chiudi", - "Close_emoji_selector": "Chiudi selettore emoji", - "Closing_chat": "Chiudendo la chat", - "Change_language_loading": "Cambiando la lingua.", - "Chat_closed_by_agent": "Chat chiusa dall'agente", - "Choose": "Scegli", - "Choose_from_library": "Scegli dalla libreria", - "Choose_file": "Scegli file", - "Choose_where_you_want_links_be_opened": "Scegli dove vuoi che vengano aperti i link", - "Code": "Codice", - "Code_or_password_invalid": "Codice o password non validi", - "Collaborative": "Collaborativo", - "Confirm": "Conferma", - "Connect": "Connetti", - "Connected": "Connesso", - "connecting_server": "connessione al server", - "Connecting": "Connessione...", - "Contact_us": "Contattaci", - "Contact_your_server_admin": "Contatta l'amministratore.", - "Continue_with": "Continua con", - "Copied_to_clipboard": "Copiato negli appunti!", - "Copy": "Copia", - "Conversation": "Conversazione", - "Permalink": "Permalink", - "Certificate_password": "Password certificato", - "Clear_cache": "Cancella la cache locale", - "Clear_cache_loading": "Cancellando la cache.", - "Whats_the_password_for_your_certificate": "Qual'è la password del tuo certificato?", - "Create_account": "Crea un account", - "Create_Channel": "Crea canale", - "Create_Direct_Messages": "Crea Messaggi Privati", - "Create_Discussion": "Crea una Discussione", - "Created_snippet": "Snippet creato", - "Create_a_new_workspace": "Crea un nuovo workspace", - "Create": "Crea", - "Custom_Status": "Stato personalizzato", - "Dark": "Scuro", - "Dark_level": "Contrasto", - "Default": "Predefinito", - "Default_browser": "Browser predefinito", - "Delete_Room_Warning": "Eliminare una stanza cancellerà tutti i messaggi in essa contenuti. Questa azione non può essere annullata.", - "Department": "Dipartimento", - "delete": "elimina", - "Delete": "Elimina", - "DELETE": "ELIMINA", - "deleting_room": "cancellazione stanza", - "description": "descrizione", - "Description": "Descrizione", - "Desktop_Options": "Opzioni Desktop", - "Desktop_Notifications": "Notifiche Desktop", - "Desktop_Alert_info": "Queste notifiche vengono inviate sul client desktop", - "Directory": "Rubrica", - "Direct_Messages": "Messaggi diretti", - "Disable_notifications": "Disabilita notifiche", - "Discussions": "Discussioni", - "Discussion_Desc": "Aiuta a mantenere una panoramica di ciò che sta succedendo! Creando una discussione verrà creato un sotto-canale di quello selezionato ed entrambi saranno collegati", - "Discussion_name": "Nome della discussione", - "Done": "Fatto", - "Dont_Have_An_Account": "Non hai un account?", - "Do_you_have_an_account": "Hai un account?", - "Do_you_have_a_certificate": "Hai un certificato?", - "Do_you_really_want_to_key_this_room_question_mark": "Sei sicuro di voler {{key}} questa stanza?", - "E2E_Encryption": "Crittografia E2E", - "E2E_How_It_Works_info1": "Ora puoi creare gruppi e messaggi privati crittografati. Puoi anche crittografare quelli già esistenti.", - "E2E_How_It_Works_info2": "Questa è *crittografia end-to-end*, quindi la chiave per cifrare/decifrare i messaggi non verrà salvata sul server. Per questo motivo *devi salvare questa password in un luogo sicuro* dove poterla recuperare in seguito qualora necessario.", - "E2E_How_It_Works_info3": "Procedendo verrà generata automaticamente una password E2E.", - "E2E_How_It_Works_info4": "Puoi impostare una nuova password per la chiave di cifratura in qualsiasi momento da uno dei browser dove hai inserito la password E2E esistente.", - "edit": "modifica", - "edited": "modificato", - "Edit": "Modifica", - "Edit_Status": "Modifica Stato", - "Edit_Invite": "Modifica invito", - "End_to_end_encrypted_room": "Stanza crittografata end to end", - "end_to_end_encryption": "Crittografia end to end", - "Email_Notification_Mode_All": "Ogni Menzione/Messaggio Privato", - "Email_Notification_Mode_Disabled": "Disabilitato", - "Email_or_password_field_is_empty": "Il campo e-mail o password sono vuoti", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Titolo vuoto", - "Enable_Auto_Translate": "Abilita traduzione automatica", - "Enable_notifications": "Abilita notifiche", - "Encrypted": "Crittografato", - "Encrypted_message": "Messaggio crittografato", - "Enter_Your_E2E_Password": "Inserisci la tua password E2E", - "Enter_Your_Encryption_Password_desc1": "Potrai così accedere ai tuoi gruppi privati e messaggi privati crittografati.", - "Enter_Your_Encryption_Password_desc2": "Devi inserire la password per cifrare/decifrare i messaggi ovunque usi la chat.", - "Encryption_error_title": "La tua password di cifratura sembra errata", - "Encryption_error_desc": "Non è stato possibile importare la tua chiave di cifratura.", - "Everyone_can_access_this_channel": "Tutti hanno accesso a questo canale", - "Error_uploading": "Errore nel caricamento di", - "Expiration_Days": "Scadenza (giorni)", - "Favorite": "Preferito", - "Favorites": "Preferiti", - "Files": "File", - "File_description": "Descrizione file", - "File_name": "Nome file", - "Finish_recording": "Termina registrazione", - "Following_thread": "Thread seguito", - "For_your_security_you_must_enter_your_current_password_to_continue": "Per garantire la sicurezza del tuo account, inserisci la password per continuare.", - "Forgot_password_If_this_email_is_registered": "Se questa e-mail è registrata, manderemo istruzioni su come resettare la tua password. Se non ricevi nulla, torna qui e riprova di nuovo.", - "Forgot_password": "Password dimenticata", - "Forgot_Password": "Password dimenticata", - "Forward": "Inoltra", - "Forward_Chat": "Inoltra Chat", - "Forward_to_department": "Inoltra a dipartimento", - "Forward_to_user": "Inoltra ad udente", - "Full_table": "Clicca per la tabella completa", - "Generate_New_Link": "Genera nuovo link", - "Group_by_favorites": "Raggruppa per preferiti", - "Group_by_type": "Raggruppa per tipo", - "Hide": "Nascondi", - "Has_joined_the_channel": "si è unito al canale", - "Has_joined_the_conversation": "si è unito alla conversazione", - "Has_left_the_channel": "ha lasciato il canale", - "Hide_System_Messages": "Nascondi messaggi di sistema", - "Hide_type_messages": "Nascondi messaggi di \"{{type}}\"", - "How_It_Works": "Come funziona", - "Message_HideType_uj": "Ingresso Utente", - "Message_HideType_ul": "Uscita Utente", - "Message_HideType_ru": "Rimozione Utente", - "Message_HideType_au": "Aggiunta Utente", - "Message_HideType_mute_unmute": "Microfono Utente attivato / disattivato", - "Message_HideType_r": "Nome Stanza cambiato", - "Message_HideType_ut": "Ingresso Utente in Conversazione", - "Message_HideType_wm": "Benvenuto", - "Message_HideType_rm": "Rimozione Messaggio", - "Message_HideType_subscription_role_added": "Creazione ruolo", - "Message_HideType_subscription_role_removed": "Rimozione ruolo", - "Message_HideType_room_archived": "Stanza archiviata", - "Message_HideType_room_unarchived": "Stanza ripristinata dall'archivio", - "I_Saved_My_E2E_Password": "Ho salvato la mia Password E2E", - "IP": "Indirizzo IP", - "In_app": "In-app", - "In_App_And_Desktop": "In-app e Desktop", - "In_App_and_Desktop_Alert_info": "Mostra una notifica in cima allo schermo quando l'app è aperta, e mostra una notifica sul desktop", - "Invisible": "Invisibile", - "Invite": "Invita", - "is_a_valid_RocketChat_instance": "è un'istanza di Rocket.Chat valida", - "is_not_a_valid_RocketChat_instance": "non è una valida istanza di Rocket.Chat", - "is_typing": "sta scrivendo", - "Invalid_or_expired_invite_token": "Token di invito non valido o scaduto", - "Invalid_server_version": "Il server a cui stai cercando di connetterti sta utilizzando una versione non più supportata dall'app: {{currentVersion}}.\n\nVersione minima richiesta: {{minVersion}}", - "Invite_Link": "Link di invito", - "Invite_users": "Invita utenti", - "Join": "Entra", - "Join_Code": "Codice d'accesso", - "Insert_Join_Code": "Inserisci il codice d'accesso", - "Join_our_open_workspace": "Unisciti al nostro workspace", - "Join_your_workspace": "Unisciti al tuo workspace", - "Just_invited_people_can_access_this_channel": "Solo le persone invitate possono accedere a questo canale", - "Language": "Lingua", - "last_message": "ultimo messaggio", - "Leave_channel": "Abbandona canale", - "leaving_room": "abbandonando stanza", - "Leave": "Lasciare il canale", - "leave": "abbandona", - "Legal": "Informazioni", - "Light": "Chiaro", - "License": "Licenza", - "Livechat_edit": "Modifica Livechat", - "Login": "Accedi", - "Login_error": "Le tue credenziali sono state rifiutate! Prova di nuovo.", - "Login_with": "Accedi con", - "Logging_out": "Disconnettendo.", - "Logout": "Disconnetti", - "Max_number_of_uses": "Max numero di utilizzi", - "Max_number_of_users_allowed_is_number": "Il numero massimo di utenti ammessi è {{maxUsers}}", - "members": "membri", - "Members": "Membri", - "Mentioned_Messages": "Messaggi menzionati", - "mentioned": "menzionato", - "Mentions": "Menzioni", - "Message_accessibility": "Messaggio da {{user}} alle {{time}}: {{message}}", - "Message_actions": "Azioni messaggio", - "Message_pinned": "Messaggio appuntato", - "Message_removed": "Messaggio rimosso", - "Message_starred": "Messaggio importante", - "Message_unstarred": "Messaggio non importante", - "message": "messaggio", - "messages": "messaggi", - "Message": "Messaggio", - "Messages": "Messaggi", - "Message_Reported": "Messaggio segnalato", - "Microphone_Permission_Message": "Rocket.Chat richiede l'accesso al microfono per inviare messaggi audio.", - "Microphone_Permission": "Permesso microfono", - "Mute": "Silenzia", - "muted": "silenziato", - "My_servers": "I miei server", - "N_people_reacted": "{{n}} persone hanno reagito", - "N_users": "{{n}} utenti", - "name": "nome", - "Name": "Nome", - "Navigation_history": "Cronologia di navigazione", - "Never": "Mai", - "New_Message": "Nuovo messaggio", - "New_Password": "Nuova password", - "New_Server": "Nuovo server", - "Next": "Successivo", - "No_files": "Nessun file", - "No_limit": "Nessun limite", - "No_mentioned_messages": "Nessun messaggio menzionato", - "No_pinned_messages": "Nessun messaggio attaccato", - "No_results_found": "Nessun risultato", - "No_starred_messages": "Nessun messaggio preferito", - "No_thread_messages": "Nessun messaggio thread", - "No_label_provided": "Nessun {{label}} fornito.", - "No_Message": "Nessun messaggio", - "No_messages_yet": "Non ci sono ancora messaggi", - "No_Reactions": "Nessuna reazione", - "No_Read_Receipts": "Nessuna conferma di lettura", - "Not_logged": "Non loggato", - "Not_RC_Server": "Questo non è un server di Rocket.Chat.\n{{contact}}", - "Nothing": "Niente", - "Nothing_to_save": "Niente da salvare!", - "Notify_active_in_this_room": "Notifica solo gli utenti attivi in questa stanza", - "Notify_all_in_this_room": "Notifica tutti gli utenti in questa stanza", - "Notifications": "Notifiche", - "Notification_Duration": "Durata notifiche", - "Notification_Preferences": "Impostazioni notifiche", - "No_available_agents_to_transfer": "Nessun agente disponibile a cui trasferire", - "Offline": "Offline", - "Oops": "Oops!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Chat in corso", - "Omnichannel_enable_alert": "Non sei ancora su Onmichannel. Vuoi attivarlo?", - "Onboarding_description": "Un workspace è lo spazio dove il tuo team o la tua organizzazione possono collaborare. Chiedi l'indirizzo all'amministratore del tuo workspace oppure creane uno per il tuo team.", - "Onboarding_join_workspace": "Unisciti", - "Onboarding_subtitle": "Oltre la collaborazione di gruppo", - "Onboarding_title": "Benvenuto in Rocket.Chat", - "Onboarding_join_open_description": "Unisciti al nostro workspace per parlare con il team e la community di Rocket.Chat.", - "Onboarding_agree_terms": "Procedendo, accetti Rocket.Chat", - "Onboarding_less_options": "Meno opzioni", - "Onboarding_more_options": "Più opzioni", - "Online": "Online", - "Only_authorized_users_can_write_new_messages": "Solo gli utenti autorizzati possono scrivere nuovi messaggi", - "Open_emoji_selector": "Apri selettore emoji", - "Open_Source_Communication": "Comunicazione open-source", - "Open_your_authentication_app_and_enter_the_code": "Apri l'app di autenticazione e inserisci il codice.", - "OR": "O", - "OS": "SO", - "Overwrites_the_server_configuration_and_use_room_config": "Sovrascrive la configurazione del server in favore di quella della stanza", - "Password": "Password", - "Parent_channel_or_group": "Gruppo o canale originario", - "Permalink_copied_to_clipboard": "Permalink copiato negli appunti!", - "Phone": "Telefono", - "Pin": "Appunta", - "Pinned_Messages": "Messaggi appuntati", - "pinned": "appuntati", - "Pinned": "Appuntati", - "Please_add_a_comment": "Per favore, aggiungi un commento", - "Please_enter_your_password": "Per favore, inserisci la tua password", - "Please_wait": "Si prega di attendere.", - "Preferences": "Impostazioni", - "Preferences_saved": "Impostazioni salvate!", - "Privacy_Policy": " Privacy Policy", - "Private_Channel": "Canale privato", - "Private": "Privato", - "Processing": "Elaborazione...", - "Profile_saved_successfully": "Profilo salvato correttamente!", - "Profile": "Profilo", - "Public_Channel": "Canale pubblico", - "Public": "Pubblico", - "Push_Notifications": "Notifiche Push", - "Push_Notifications_Alert_Info": "Queste notifiche ti vengono recapitate quando l'app non è aperta", - "Quote": "Cita", - "Reactions_are_disabled": "Le reazioni sono disabilitate", - "Reactions_are_enabled": "Le reazioni sono abilitate", - "Reactions": "Reazioni", - "Read": "Letto", - "Read_External_Permission_Message": "Rocket.Chat deve accedere alle foto, media, e documenti sul tuo dispositivo", - "Read_External_Permission": "Permesso di Lettura della Memoria", - "Read_Only_Channel": "Canale in sola lettura", - "Read_Only": "Sola lettura", - "Read_Receipt": "Conferma di lettura", - "Receive_Group_Mentions": "Ricevi menzioni di gruppo", - "Receive_Group_Mentions_Info": "Ricevi menzioni @all e @here", - "Register": "Registrati", - "Repeat_Password": "Conferma password", - "Replied_on": "Risposto il:", - "replies": "risposte", - "reply": "risposta", - "Reply": "Rispondi", - "Report": "Segnala", - "Receive_Notification": "Ricevi notifiche", - "Receive_notifications_from": "Ricevi notifiche da {{name}}", - "Resend": "Invia di nuovo", - "Reset_password": "Ripristina password", - "resetting_password": "ripristinando password", - "RESET": "RIPRISTINA", - "Return": "Ritorno", - "Review_app_title": "Ti piace questa app?", - "Review_app_desc": "Dacci 5 stesse su {{store}}", - "Review_app_yes": "Certo!", - "Review_app_no": "No", - "Review_app_later": "In seguito", - "Review_app_unable_store": "Impossibile aprire {{store}}", - "Review_this_app": "Recensisci questa app", - "Remove": "Rimuovi", - "Roles": "Ruoli", - "Room_actions": "Azioni stanza", - "Room_changed_announcement": "Annuncio stanza cambiato in: {{announcement}} da {{userBy}}", - "Room_changed_avatar": "Immagine stanza cambiata da {{userBy}}", - "Room_changed_description": "Descrizione stanza cambiata in: {{description}} da {{userBy}}", - "Room_changed_privacy": "Tipo stanza cambiato in: {{type}} da {{userBy}}", - "Room_changed_topic": "Argomento stanza cambiato in: {{topic}} da {{userBy}}", - "Room_Files": "File stanza", - "Room_Info_Edit": "Modifica informazioni stanza", - "Room_Info": "Informazioni stanza", - "Room_Members": "Membri stanza", - "Room_name_changed": "Nome stanza cambiato in: {{name}} da {{userBy}}", - "SAVE": "SALVA", - "Save_Changes": "Salva cambiamenti", - "Save": "Salva", - "Saved": "Salvato", - "saving_preferences": "salvataggio impostazioni", - "saving_profile": "salvataggio profilo", - "saving_settings": "salvataggio impostazioni", - "saved_to_gallery": "Salvato in Galleria", - "Save_Your_E2E_Password": "Salva la tua Password E2E", - "Save_Your_Encryption_Password": "Salva la tua Password di cifratura", - "Save_Your_Encryption_Password_warning": "Questa password non è salvata da nessuna parte, conservala con cura.", - "Save_Your_Encryption_Password_info": "Nota: se dovessi perdere la tua password, non c'è alcun modo per recuperarla e perderesti l'accesso ai tuoi messaggi.", - "Search_Messages": "Cerca messaggi", - "Search": "Cerca", - "Search_by": "Cerca per", - "Search_global_users": "Cerca utenti globali", - "Search_global_users_description": "Se attivi questa opzione, puoi cercare qualsiasi utente da altre aziende o server.", - "Seconds": "{{second}} secondi", - "Security_and_privacy": "Sicurezza e privacy", - "Select_Avatar": "Seleziona avatar", - "Select_Server": "Seleziona server", - "Select_Users": "Seleziona utenti", - "Select_a_Channel": "Seleziona un Canale", - "Select_a_Department": "Seleziona un Dipartimento", - "Select_an_option": "Seleziona un' opzione", - "Select_a_User": "Seleziona un Utente", - "Send": "Invia", - "Send_audio_message": "Invia messaggio audio", - "Send_crash_report": "Invia report sui crash", - "Send_message": "Invia messaggio", - "Send_me_the_code_again": "Inviami nuovamente il codice", - "Send_to": "Invia a...", - "Sending_to": "Invio a", - "Sent_an_attachment": "Inviato un allegato", - "Server": "Server", - "Servers": "Servers", - "Server_version": "Versione server: {{version}}", - "Set_username_subtitle": "Il nome utente viene utilizzato per permettere ad altri di menzionarti nei messaggi", - "Set_custom_status": "Imposta stato personalizzato", - "Set_status": "Imposta stato", - "Status_saved_successfully": "Stato salvato correttamente!", - "Settings": "Impostazioni", - "Settings_succesfully_changed": "Impostazioni modificate correttamente!", - "Share": "Condividi", - "Share_Link": "Condividi link", - "Share_this_app": "Condividi questa app", - "Show_more": "Mostra altri..", - "Show_Unread_Counter": "Mostra contatore messaggi non letti", - "Show_Unread_Counter_Info": "Il contatore viene mostrato come un'etichetta alla destra del canale, nella lista", - "Sign_in_your_server": "Accedi al tuo server", - "Sign_Up": "Registrati", - "Some_field_is_invalid_or_empty": "Un campo non è valido o è vuoto", - "Sorting_by": "Ordina per {{key}}", - "Sound": "Suono", - "Star_room": "Aggiungi stanza ai preferiti", - "Star": "Aggiungi ai preferiti", - "Starred_Messages": "Messaggi preferiti", - "starred": "preferiti", - "Starred": "Preferiti", - "Start_of_conversation": "Inizio della conversazione", - "Start_a_Discussion": "Avvia una Discussione", - "Started_discussion": "Discussione iniziata:", - "Started_call": "Chiamata iniziata da {{userBy}}", - "Submit": "Invia", - "Table": "Tabella", - "Tags": "Tag", - "Take_a_photo": "Scatta una foto", - "Take_a_video": "Registra un video", - "Take_it": "Prendi!", - "tap_to_change_status": "tocca per cambiare stato", - "Tap_to_view_servers_list": "Tocca per vedere la lista server", - "Terms_of_Service": " Termini di servizio ", - "Theme": "Tema", - "The_user_wont_be_able_to_type_in_roomName": "L'utente non potrà scrivere in {{roomName}}", - "The_user_will_be_able_to_type_in_roomName": "L'utente potrà scrivere in {{roomName}}", - "There_was_an_error_while_action": "Si è verificato un errore nel {{action}}!", - "This_room_is_blocked": "Questa stanza è bloccata", - "This_room_is_read_only": "Questa stanza è in sola lettura", - "Thread": "Thread", - "Threads": "Threads", - "Timezone": "Fuso orario", - "To": "A", - "topic": "argomento", - "Topic": "Argomento", - "Translate": "Traduci", - "Try_again": "Riprova", - "Two_Factor_Authentication": "Autenticazione a due fattori", - "Type_the_channel_name_here": "Scrivi il nome del canale qui", - "unarchive": "rimuovi dall'archivio", - "UNARCHIVE": "RIMUOVI DALL'ARCHIVIO", - "Unblock_user": "Sblocca utente", - "Unfavorite": "Rimuovi preferito", - "Unfollowed_thread": "Non segui più il thread", - "Unmute": "Attiva notifiche", - "unmuted": "notifiche attivate", - "Unpin": "Stacca", - "unread_messages": "non letti", - "Unread": "Non letto", - "Unread_on_top": "Non letti sopra", - "Unstar": "Rimuovi dai preferiti", - "Updating": "Aggiornamento...", - "Uploading": "Caricamento", - "Upload_file_question_mark": "Carica file?", - "User": "Utente", - "Users": "Utenti", - "User_added_by": "Utente {{userAdded}} aggiunto da {{userBy}}", - "User_Info": "Informazioni utente", - "User_has_been_key": "Utente {{key}}", - "User_is_no_longer_role_by_": "{{user}} non è più {{role}} da {{userBy}}", - "User_muted_by": "Utente {{userMuted}} silenziato da {{userBy}}", - "User_removed_by": "Utente {{userRemoved}} rimosso da {{userBy}}", - "User_sent_an_attachment": "{{user}} ha inviato un allegato", - "User_unmuted_by": "Utente {{userUnmuted}} de-silenziato da {{userBy}}", - "User_was_set_role_by_": "{{user}} è stato impostato come {{role}} da {{userBy}}", - "Username_is_empty": "Username vuoto", - "Username": "Username", - "Username_or_email": "Username o email", - "Uses_server_configuration": "Usa la configurazione del server", - "Validating": "Validazione", - "Registration_Succeeded": "Registrazione completata!", - "Verify": "Verifica", - "Verify_email_title": "Verifica completata!", - "Verify_email_desc": "Ti abbiamo inviato una e-mail per confermare la tua registrazione. Se non la ricevi, ritorna qui e riprova", - "Verify_your_email_for_the_code_we_sent": "Controlla l'e-mail con il codice che ti abbiamo inviato", - "Video_call": "Videochiamata", - "View_Original": "Mostra originale", - "Voice_call": "Chiamata vocale", - "Waiting_for_network": "In attesa di connessione ...", - "Websocket_disabled": "Websocket disabilitata per questo server.\n{{contact}}", - "Welcome": "Benvenuto", - "What_are_you_doing_right_now": "Cosa stai facendo in questo momento?", - "Whats_your_2fa": "Qual'è il tuo codice 2FA?", - "Without_Servers": "Senza server", - "Workspaces": "Workspace", - "Would_you_like_to_return_the_inquiry": "Vorresti ritirare la tua domanda?", - "Write_External_Permission_Message": "Rocket.Chat ha bisogno dell'accesso alla galleria per salvare le immagini.", - "Write_External_Permission": "Permesso galleria", - "Yes": "Si", - "Yes_action_it": "Sì, {{action}}!", - "Yesterday": "Ieri", - "You_are_in_preview_mode": "Sei in modalità anteprima", - "You_are_offline": "Sei offline", - "You_can_search_using_RegExp_eg": "Puoi usare espressioni regolari. es. `/^testo$/i`", - "You_colon": "Tu: ", - "you_were_mentioned": "sei stato menzionato", - "You_were_removed_from_channel": "Sei stato rimosso da {{channel}}", - "you": "tu", - "You": "Tu", - "Logged_out_by_server": "Sei stato disconnesso dal server. Esegui nuovamente l'accesso.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Devi accedere ad almeno un server Rocket.Chat prima di condividere qualcosa.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Devi verificare il tuo indirizzo e-mail per ricevere le notifiche", - "Your_certificate": "Il tuo certificato", - "Your_invite_link_will_expire_after__usesLeft__uses": "Il tuo link di invito scadrà dopo {{usesLeft}} utilizzi.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Il tuo link di invito scadrà il {{date}} oppure dopo {{usesLeft}} utilizzi.", - "Your_invite_link_will_expire_on__date__": "Il tuo link di invito scadrà il {{date}}.", - "Your_invite_link_will_never_expire": "Il tuo link di invito non scadrà mai.", - "Your_workspace": "Il tuo workspace", - "Your_password_is": "La tua password è", - "Version_no": "Versione: {{version}}", - "You_will_not_be_able_to_recover_this_message": "Non sarai in grado di ripristinare questo messaggio!", - "You_will_unset_a_certificate_for_this_server": "Rimuoverai un certificato per questo server", - "Change_Language": "Cambia lingua", - "Crash_report_disclaimer": "Non registreremo mai il contenuto delle tue chat. Il crash report contiene solo informazioni necessarie per l'identificazione e la risoluzione dei problemi.", - "Type_message": "Scrivi messaggio", - "Room_search": "Ricerca stanze", - "Room_selection": "Selezione stanza 1...9", - "Next_room": "Prossima stanza", - "Previous_room": "Stanza precedente", - "New_room": "Nuova stanza", - "Upload_room": "Carica nella stanza", - "Search_messages": "Cerca messaggi", - "Scroll_messages": "Scorri i messaggi", - "Reply_latest": "Rispondi all'ultimo", - "Reply_in_Thread": "Rispondi nella discussione", - "Server_selection": "Selezione server", - "Server_selection_numbers": "Selezione server 1...9", - "Add_server": "Aggiungi server", - "New_line": "Nuova linea", - "You_will_be_logged_out_of_this_application": "Verrai disconnesso da questa applicazione.", - "Clear": "Cancella", - "This_will_clear_all_your_offline_data": "Questo cancellerà tutti i tuoi dati offline.", - "This_will_remove_all_data_from_this_server": "Questo rimuoverà tutti i dati dal server.", - "Mark_unread": "Segna come non letto", - "Wait_activation_warning": "Prima di poter accedere, il tuo account deve essere attivato manualmente da un amministratore.", - "Screen_lock": "Blocco schermo", - "Local_authentication_biometry_title": "Autenticazione", - "Local_authentication_biometry_fallback": "Usa passcode", - "Local_authentication_unlock_option": "Sblocca con Passcode", - "Local_authentication_change_passcode": "Cambia Passcode", - "Local_authentication_info": "Nota: se dimentichi il Passcode, dovrai cancellare e installare nuovamente l'app.", - "Local_authentication_facial_recognition": "riconoscimento facciale", - "Local_authentication_fingerprint": "impronta digitale", - "Local_authentication_unlock_with_label": "Sblocca con {{label}}", - "Local_authentication_auto_lock_60": "Dopo 1 minuto", - "Local_authentication_auto_lock_300": "Dopo 5 minuti", - "Local_authentication_auto_lock_900": "Dopo 15 minuti", - "Local_authentication_auto_lock_1800": "Dopo 30 minuti", - "Local_authentication_auto_lock_3600": "Dopo 1 ora", - "Passcode_enter_title": "Inserisci il passcode", - "Passcode_choose_title": "Scegli il tuo nuovo passcode", - "Passcode_choose_confirm_title": "Conferma il tuo nuovo passcode", - "Passcode_choose_error": "I passcode non corrispondono. Riprova.", - "Passcode_choose_force_set": "Passcode richiesto dall'admin", - "Passcode_app_locked_title": "App bloccata", - "Passcode_app_locked_subtitle": "Riprova tra {{timeLeft}} secondi", - "After_seconds_set_by_admin": "Dopo {{seconds}} secondi (impostati dall'admin)", - "Dont_activate": "Non attivare ora", - "Queued_chats": "Chat in coda", - "Queue_is_empty": "La coda è vuota", - "Logout_from_other_logged_in_locations": "Disconnetti da altre postazioni", - "You_will_be_logged_out_from_other_locations": "Verrai disconnesso dalle altre postazioni.", - "Logged_out_of_other_clients_successfully": "Disconnesso dalle altre postazioni con successo", - "Logout_failed": "Disconnessione fallita!", - "Log_analytics_events": "Invia statistiche anonime", - "E2E_encryption_change_password_title": "Cambia la password di cifratura", - "E2E_encryption_change_password_description": "Ora puoi creare gruppi e messaggi privati crittografati. Potrai, inoltre, crittografare i tuoi gruppi e messaggi privati esistenti. \nQuesta è crittografia end-to-end, la chiave per codificare/decodificare i tuoi messaggi non verrà salvata sul server. Per questo motivo devi salvarla in un luogo sicuro. Ti verrà richiesto di inserirla sugli altri dispositivi sui quali vuoi usare la crittografia e2e.", - "E2E_encryption_change_password_error": "Si è verificato un errore durante il cambio della password della chiave E2E!", - "E2E_encryption_change_password_success": "La password della chiave E2E è stata cambiata con successo!", - "E2E_encryption_change_password_message": "Assicurati di salvarla in un posto sicuro.", - "E2E_encryption_change_password_confirmation": "Si, cambiala", - "E2E_encryption_reset_title": "Ripristina la Chiave E2E", - "E2E_encryption_reset_description": "Questa opzione rimuoverà la tua chiave E2E corrente e sarai disconnesso. \nAl prossimo login, Rocket.Chat genererà una nuova chiave e ripristinerà l'accesso a tutte le stanze crittografate con uno o più membri online. \nA causa della natura della crittografia E2E, Rocket.Chat non sarà in grado di ripristinare l'accesso alle stanze senza membri online.", - "E2E_encryption_reset_button": "Ripristina", - "E2E_encryption_reset_error": "Si è verificato un errore durante il ripristino della chiave E2E!", - "E2E_encryption_reset_message": "Stai per essere disconnesso.", - "E2E_encryption_reset_confirmation": "Si, resettala", - "Following": "Seguiti", - "Threads_displaying_all": "Visualizza Tutti", - "Threads_displaying_following": "Visualizza Seguiti", - "Threads_displaying_unread": "Visualizza Non letti", - "No_threads": "Non ci sono thread", - "No_threads_following": "Non stai seguendo alcun thread", - "No_threads_unread": "Non ci sono thread non letti", - "Messagebox_Send_to_channel": "Invia sul canale", - "Remove_from_room": "Rimuovi dalla stanza", - "Ignore": "Ignora", - "Unignore": "Non ignorare", - "User_has_been_ignored": "Utente ignorato", - "User_has_been_unignored": "Utente non ignorato", - "User_has_been_removed_from_s": "L'utente è stato rimosso da {{s}}", - "User__username__is_now_a_leader_of__room_name_": "L'utente {{username}} è ora un leader di {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "L'utente {{username}} è ora un moderatore di {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "L'utente {{username}} è ora un proprietario di {{room_name}}", - "User__username__removed_from__room_name__leaders": "L'utente {{username}} non è più un leader di {{room_name}}", - "User__username__removed_from__room_name__moderators": "L'utente {{username}} non è più un moderatore di {{room_name}}", - "User__username__removed_from__room_name__owners": "L'utente {{username}} non è più un proprietario di {{room_name}}", - "The_user_will_be_removed_from_s": "L'utente sarà rimosso da {{s}}", - "Yes_remove_user": "Si, rimuovi utente!", - "Direct_message": "Messaggio diretto", - "Message_Ignored": "Messaggio ignorato. Tocca per visualizzarlo.", - "Enter_workspace_URL": "Inserisci la url del workspace", - "Workspace_URL_Example": "Es. tua-azienda.rocket.chat", - "invalid-room": "Canale non valido" -} + "1_person_reacted": "1 persona ha reagito", + "1_user": "1 utente", + "error-action-not-allowed": "{{action}} non autorizzata", + "error-application-not-found": "Applicazione non trovata", + "error-archived-duplicate-name": "Esiste già un canale archiviato con nome {{room_name}}", + "error-avatar-invalid-url": "URL avatar non valido: {{url}}", + "error-avatar-url-handling": "Errore nella gestione dell'impostazione avatar dall'URL ({{url}}) per {{username}}", + "error-cant-invite-for-direct-room": "Impossibile invitare l'utente alle stanze dirette", + "error-could-not-change-email": "Impossibile cambiare l'indirizzo e-mail", + "error-could-not-change-name": "Impossibile cambiare nome", + "error-could-not-change-username": "Impossibile cambiare username", + "error-could-not-change-status": "Impossibile cambiare lo stato", + "error-delete-protected-role": "Impossibile eliminare un ruolo protetto", + "error-department-not-found": "Reparto non trovato", + "error-direct-message-file-upload-not-allowed": "La condivisione di file non è autorizzata nei messaggi diretti", + "error-duplicate-channel-name": "Esiste già un canale con nome {{room_name}}", + "error-email-domain-blacklisted": "Il dominio e-mail è nella lista nera", + "error-email-send-failed": "Errore nel tentativo di invio e-mail: {{message}}", + "error-save-image": "Errore nel salvataggio dell'immagine", + "error-save-video": "Errore nel salvataggio del video", + "error-field-unavailable": "{{field}} è già in uso :(", + "error-file-too-large": "File troppo grande", + "error-importer-not-defined": "L'importatore non è stato definito correttamente: classe Import mancante.", + "error-input-is-not-a-valid-field": "{{input}} non è valido come {{field}}", + "error-invalid-actionlink": "Link azione non valido", + "error-invalid-arguments": "Parametri non validi", + "error-invalid-asset": "Risorsa non valida", + "error-invalid-channel": "Canale non valido.", + "error-invalid-channel-start-with-chars": "Canale non valido. Inizia con @ o #", + "error-invalid-custom-field": "Campo personalizzato non valido", + "error-invalid-custom-field-name": "Nome campo personalizzato non valido. Usa solo lettere, numeri, trattini e underscore.", + "error-invalid-date": "Data fornita non valida.", + "error-invalid-description": "Descrizione non valida", + "error-invalid-domain": "Dominio non valido", + "error-invalid-email": "E-mail {{email}} non valida", + "error-invalid-email-address": "Indirizzo e-mail non valido", + "error-invalid-file-height": "Altezza del file non valida", + "error-invalid-file-type": "Tipo di file non valido", + "error-invalid-file-width": "Larghezza del file non valida", + "error-invalid-from-address": "Hai informato un indirizzo FROM non valido.", + "error-invalid-integration": "Integrazione non valida", + "error-invalid-message": "Messaggio non valido", + "error-invalid-method": "Metodo o funzione non valida", + "error-invalid-name": "Nome non corretto", + "error-invalid-password": "Password non corretta", + "error-invalid-redirectUri": "redirectUri non valido", + "error-invalid-role": "Ruolo non valido", + "error-invalid-room": "Stanza non valida", + "error-invalid-room-name": "{{room_name}} non è un nome di stanza valido", + "error-invalid-room-type": "{{type}} non è un tipo di stanza valido", + "error-invalid-settings": "Impostazioni fornite non valide", + "error-invalid-subscription": "Iscrizione non valida", + "error-invalid-token": "Token non valido", + "error-invalid-triggerWords": "triggerWords non valide", + "error-invalid-urls": "URL non validi", + "error-invalid-user": "Utente non valido", + "error-invalid-username": "Nome utente non valido", + "error-invalid-webhook-response": "L'URL del webhook ha risposto con uno stato diverso da 200", + "error-message-deleting-blocked": "Cancellazione di messaggi bloccata", + "error-message-editing-blocked": "Modifica di messaggi bloccata", + "error-message-size-exceeded": "La dimensione del messaggio supera Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "Devi fornire il link [unsubscribe].", + "error-no-tokens-for-this-user": "Non ci sono token per questo utente", + "error-not-allowed": "Non permesso", + "error-not-authorized": "Non autorizzato", + "error-push-disabled": "Push è disabilitato", + "error-remove-last-owner": "Questo è l'ultimo proprietario rimasto. Imposta un nuovo proprietario prima di rimuoverlo.", + "error-role-in-use": "Impossibile eliminare il ruolo perchè ancora in uso", + "error-role-name-required": "Il nome del ruolo è obbligatorio", + "error-the-field-is-required": "Il campo {{field}} è obbligatorio.", + "error-too-many-requests": "Errore, troppe richieste effettuate. Rallenta. Devi attendere {{seconds}} secondi prima di riprovare.", + "error-user-is-not-activated": "L'utente non è attivato", + "error-user-has-no-roles": "L'utente non ha ruoli", + "error-user-limit-exceeded": "Il numero di utenti che stai invitando in #channel_name supera il limite imposto dall'amministratore", + "error-user-not-in-room": "L'utente non è in questa stanza", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "Registrazione utente disabilitata", + "error-user-registration-secret": "Registrazione utente permessa solo via URL segreto", + "error-you-are-last-owner": "Sei l'ultimo proprietario rimasto. Imposta un nuovo proprietario prima di lasciare la stanza.", + "Actions": "Azioni", + "Activity": "Attività", + "Add_Reaction": "Aggiungi reazione", + "Add_Server": "Aggiungi server", + "Add_users": "Aggiungi utenti", + "Admin_Panel": "Amministrazione", + "Agent": "Agente", + "Alert": "Avviso", + "alert": "avviso", + "alerts": "avvisi", + "All_users_in_the_channel_can_write_new_messages": "Tutti gli utenti nel canale possono scrivere messaggi", + "A_meaningful_name_for_the_discussion_room": "Un nome significativo per il canale di discussione", + "All": "Tutti", + "All_Messages": "Tutti i messaggi", + "Allow_Reactions": "Permetti reazioni", + "Alphabetical": "Alfabetico", + "and_more": "e altro", + "and": "e", + "announcement": "annuncio", + "Announcement": "Annuncio", + "Apply_Your_Certificate": "Applica il tuo certificato", + "ARCHIVE": "ARCHIVIO", + "archive": "archivio", + "are_typing": "stanno scrivendo", + "Are_you_sure_question_mark": "Sei sicuro?", + "Are_you_sure_you_want_to_leave_the_room": "Sei sicuro di voler lasciare la stanza {{room}}?", + "Audio": "Audio", + "Authenticating": "Autenticazione", + "Automatic": "Automatico", + "Auto_Translate": "Traduzione automatica", + "Avatar_changed_successfully": "Avatar aggiornato correttamente!", + "Avatar_Url": "URL avatar", + "Away": "Assente", + "Back": "Indietro", + "Black": "Nero", + "Block_user": "Blocca utente", + "Browser": "Browser", + "Broadcast_channel_Description": "Solo gli utenti autorizzati possono scrivere messaggi, ma gli altri utenti saranno in grado di rispondere", + "Broadcast_Channel": "Canale broadcast", + "Busy": "Occupato", + "By_proceeding_you_are_agreeing": "Procedendo accetti i nostri", + "Cancel_editing": "Annulla modifica", + "Cancel_recording": "Annulla registrazione", + "Cancel": "Annulla", + "changing_avatar": "cambio avatar", + "creating_channel": "creo canale", + "creating_invite": "creo invito", + "Channel_Name": "Nome canale", + "Channels": "Canali", + "Chats": "Chat", + "Call_already_ended": "Chiamata già terminata!", + "Clear_cookies_alert": "Vuoi cancellare tutti i cookie?", + "Clear_cookies_desc": "Questo cancellerà tutti i coockie di login, permettendoti di accedere con altri account.", + "Clear_cookies_yes": "Si, cancella i cookie", + "Clear_cookies_no": "No, mantieni i cookie", + "Click_to_join": "Clicca per unirti!", + "Close": "Chiudi", + "Close_emoji_selector": "Chiudi selettore emoji", + "Closing_chat": "Chiudendo la chat", + "Change_language_loading": "Cambiando la lingua.", + "Chat_closed_by_agent": "Chat chiusa dall'agente", + "Choose": "Scegli", + "Choose_from_library": "Scegli dalla libreria", + "Choose_file": "Scegli file", + "Choose_where_you_want_links_be_opened": "Scegli dove vuoi che vengano aperti i link", + "Code": "Codice", + "Code_or_password_invalid": "Codice o password non validi", + "Collaborative": "Collaborativo", + "Confirm": "Conferma", + "Connect": "Connetti", + "Connected": "Connesso", + "connecting_server": "connessione al server", + "Connecting": "Connessione...", + "Contact_us": "Contattaci", + "Contact_your_server_admin": "Contatta l'amministratore.", + "Continue_with": "Continua con", + "Copied_to_clipboard": "Copiato negli appunti!", + "Copy": "Copia", + "Conversation": "Conversazione", + "Permalink": "Permalink", + "Certificate_password": "Password certificato", + "Clear_cache": "Cancella la cache locale", + "Clear_cache_loading": "Cancellando la cache.", + "Whats_the_password_for_your_certificate": "Qual'è la password del tuo certificato?", + "Create_account": "Crea un account", + "Create_Channel": "Crea canale", + "Create_Direct_Messages": "Crea Messaggi Privati", + "Create_Discussion": "Crea una Discussione", + "Created_snippet": "Snippet creato", + "Create_a_new_workspace": "Crea un nuovo workspace", + "Create": "Crea", + "Custom_Status": "Stato personalizzato", + "Dark": "Scuro", + "Dark_level": "Contrasto", + "Default": "Predefinito", + "Default_browser": "Browser predefinito", + "Delete_Room_Warning": "Eliminare una stanza cancellerà tutti i messaggi in essa contenuti. Questa azione non può essere annullata.", + "Department": "Dipartimento", + "delete": "elimina", + "Delete": "Elimina", + "DELETE": "ELIMINA", + "deleting_room": "cancellazione stanza", + "description": "descrizione", + "Description": "Descrizione", + "Desktop_Options": "Opzioni Desktop", + "Desktop_Notifications": "Notifiche Desktop", + "Desktop_Alert_info": "Queste notifiche vengono inviate sul client desktop", + "Directory": "Rubrica", + "Direct_Messages": "Messaggi diretti", + "Disable_notifications": "Disabilita notifiche", + "Discussions": "Discussioni", + "Discussion_Desc": "Aiuta a mantenere una panoramica di ciò che sta succedendo! Creando una discussione verrà creato un sotto-canale di quello selezionato ed entrambi saranno collegati", + "Discussion_name": "Nome della discussione", + "Done": "Fatto", + "Dont_Have_An_Account": "Non hai un account?", + "Do_you_have_an_account": "Hai un account?", + "Do_you_have_a_certificate": "Hai un certificato?", + "Do_you_really_want_to_key_this_room_question_mark": "Sei sicuro di voler {{key}} questa stanza?", + "E2E_Encryption": "Crittografia E2E", + "E2E_How_It_Works_info1": "Ora puoi creare gruppi e messaggi privati crittografati. Puoi anche crittografare quelli già esistenti.", + "E2E_How_It_Works_info2": "Questa è *crittografia end-to-end*, quindi la chiave per cifrare/decifrare i messaggi non verrà salvata sul server. Per questo motivo *devi salvare questa password in un luogo sicuro* dove poterla recuperare in seguito qualora necessario.", + "E2E_How_It_Works_info3": "Procedendo verrà generata automaticamente una password E2E.", + "E2E_How_It_Works_info4": "Puoi impostare una nuova password per la chiave di cifratura in qualsiasi momento da uno dei browser dove hai inserito la password E2E esistente.", + "edit": "modifica", + "edited": "modificato", + "Edit": "Modifica", + "Edit_Status": "Modifica Stato", + "Edit_Invite": "Modifica invito", + "End_to_end_encrypted_room": "Stanza crittografata end to end", + "end_to_end_encryption": "Crittografia end to end", + "Email_Notification_Mode_All": "Ogni Menzione/Messaggio Privato", + "Email_Notification_Mode_Disabled": "Disabilitato", + "Email_or_password_field_is_empty": "Il campo e-mail o password sono vuoti", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Titolo vuoto", + "Enable_Auto_Translate": "Abilita traduzione automatica", + "Enable_notifications": "Abilita notifiche", + "Encrypted": "Crittografato", + "Encrypted_message": "Messaggio crittografato", + "Enter_Your_E2E_Password": "Inserisci la tua password E2E", + "Enter_Your_Encryption_Password_desc1": "Potrai così accedere ai tuoi gruppi privati e messaggi privati crittografati.", + "Enter_Your_Encryption_Password_desc2": "Devi inserire la password per cifrare/decifrare i messaggi ovunque usi la chat.", + "Encryption_error_title": "La tua password di cifratura sembra errata", + "Encryption_error_desc": "Non è stato possibile importare la tua chiave di cifratura.", + "Everyone_can_access_this_channel": "Tutti hanno accesso a questo canale", + "Error_uploading": "Errore nel caricamento di", + "Expiration_Days": "Scadenza (giorni)", + "Favorites": "Preferiti", + "Files": "File", + "File_description": "Descrizione file", + "File_name": "Nome file", + "Finish_recording": "Termina registrazione", + "Following_thread": "Thread seguito", + "For_your_security_you_must_enter_your_current_password_to_continue": "Per garantire la sicurezza del tuo account, inserisci la password per continuare.", + "Forgot_password_If_this_email_is_registered": "Se questa e-mail è registrata, manderemo istruzioni su come resettare la tua password. Se non ricevi nulla, torna qui e riprova di nuovo.", + "Forgot_password": "Password dimenticata", + "Forgot_Password": "Password dimenticata", + "Forward": "Inoltra", + "Forward_Chat": "Inoltra Chat", + "Forward_to_department": "Inoltra a dipartimento", + "Forward_to_user": "Inoltra ad udente", + "Full_table": "Clicca per la tabella completa", + "Generate_New_Link": "Genera nuovo link", + "Has_joined_the_channel": "si è unito al canale", + "Has_joined_the_conversation": "si è unito alla conversazione", + "Has_left_the_channel": "ha lasciato il canale", + "Hide_System_Messages": "Nascondi messaggi di sistema", + "Hide_type_messages": "Nascondi messaggi di \"{{type}}\"", + "How_It_Works": "Come funziona", + "Message_HideType_uj": "Ingresso Utente", + "Message_HideType_ul": "Uscita Utente", + "Message_HideType_ru": "Rimozione Utente", + "Message_HideType_au": "Aggiunta Utente", + "Message_HideType_mute_unmute": "Microfono Utente attivato / disattivato", + "Message_HideType_r": "Nome Stanza cambiato", + "Message_HideType_ut": "Ingresso Utente in Conversazione", + "Message_HideType_wm": "Benvenuto", + "Message_HideType_rm": "Rimozione Messaggio", + "Message_HideType_subscription_role_added": "Creazione ruolo", + "Message_HideType_subscription_role_removed": "Rimozione ruolo", + "Message_HideType_room_archived": "Stanza archiviata", + "Message_HideType_room_unarchived": "Stanza ripristinata dall'archivio", + "I_Saved_My_E2E_Password": "Ho salvato la mia Password E2E", + "IP": "Indirizzo IP", + "In_app": "In-app", + "In_App_And_Desktop": "In-app e Desktop", + "In_App_and_Desktop_Alert_info": "Mostra una notifica in cima allo schermo quando l'app è aperta, e mostra una notifica sul desktop", + "Invisible": "Invisibile", + "Invite": "Invita", + "is_a_valid_RocketChat_instance": "è un'istanza di Rocket.Chat valida", + "is_not_a_valid_RocketChat_instance": "non è una valida istanza di Rocket.Chat", + "is_typing": "sta scrivendo", + "Invalid_or_expired_invite_token": "Token di invito non valido o scaduto", + "Invalid_server_version": "Il server a cui stai cercando di connetterti sta utilizzando una versione non più supportata dall'app: {{currentVersion}}.\n\nVersione minima richiesta: {{minVersion}}", + "Invite_Link": "Link di invito", + "Invite_users": "Invita utenti", + "Join": "Entra", + "Join_Code": "Codice d'accesso", + "Insert_Join_Code": "Inserisci il codice d'accesso", + "Join_our_open_workspace": "Unisciti al nostro workspace", + "Join_your_workspace": "Unisciti al tuo workspace", + "Just_invited_people_can_access_this_channel": "Solo le persone invitate possono accedere a questo canale", + "Language": "Lingua", + "last_message": "ultimo messaggio", + "Leave_channel": "Abbandona canale", + "leaving_room": "abbandonando stanza", + "Leave": "Lasciare il canale", + "leave": "abbandona", + "Legal": "Informazioni", + "Light": "Chiaro", + "License": "Licenza", + "Livechat_edit": "Modifica Livechat", + "Login": "Accedi", + "Login_error": "Le tue credenziali sono state rifiutate! Prova di nuovo.", + "Login_with": "Accedi con", + "Logging_out": "Disconnettendo.", + "Logout": "Disconnetti", + "Max_number_of_uses": "Max numero di utilizzi", + "Max_number_of_users_allowed_is_number": "Il numero massimo di utenti ammessi è {{maxUsers}}", + "members": "membri", + "Members": "Membri", + "Mentioned_Messages": "Messaggi menzionati", + "mentioned": "menzionato", + "Mentions": "Menzioni", + "Message_accessibility": "Messaggio da {{user}} alle {{time}}: {{message}}", + "Message_actions": "Azioni messaggio", + "Message_pinned": "Messaggio appuntato", + "Message_removed": "Messaggio rimosso", + "Message_starred": "Messaggio importante", + "Message_unstarred": "Messaggio non importante", + "message": "messaggio", + "messages": "messaggi", + "Message": "Messaggio", + "Messages": "Messaggi", + "Message_Reported": "Messaggio segnalato", + "Microphone_Permission_Message": "Rocket.Chat richiede l'accesso al microfono per inviare messaggi audio.", + "Microphone_Permission": "Permesso microfono", + "Mute": "Silenzia", + "muted": "silenziato", + "My_servers": "I miei server", + "N_people_reacted": "{{n}} persone hanno reagito", + "N_users": "{{n}} utenti", + "Name": "Nome", + "Navigation_history": "Cronologia di navigazione", + "Never": "Mai", + "New_Message": "Nuovo messaggio", + "New_Password": "Nuova password", + "New_Server": "Nuovo server", + "Next": "Successivo", + "No_files": "Nessun file", + "No_limit": "Nessun limite", + "No_mentioned_messages": "Nessun messaggio menzionato", + "No_pinned_messages": "Nessun messaggio attaccato", + "No_results_found": "Nessun risultato", + "No_starred_messages": "Nessun messaggio preferito", + "No_thread_messages": "Nessun messaggio thread", + "No_label_provided": "Nessun {{label}} fornito.", + "No_Message": "Nessun messaggio", + "No_messages_yet": "Non ci sono ancora messaggi", + "No_Reactions": "Nessuna reazione", + "No_Read_Receipts": "Nessuna conferma di lettura", + "Not_logged": "Non loggato", + "Not_RC_Server": "Questo non è un server di Rocket.Chat.\n{{contact}}", + "Nothing": "Niente", + "Nothing_to_save": "Niente da salvare!", + "Notify_active_in_this_room": "Notifica solo gli utenti attivi in questa stanza", + "Notify_all_in_this_room": "Notifica tutti gli utenti in questa stanza", + "Notifications": "Notifiche", + "Notification_Duration": "Durata notifiche", + "Notification_Preferences": "Impostazioni notifiche", + "No_available_agents_to_transfer": "Nessun agente disponibile a cui trasferire", + "Offline": "Offline", + "Oops": "Oops!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Chat in corso", + "Omnichannel_enable_alert": "Non sei ancora su Onmichannel. Vuoi attivarlo?", + "Onboarding_description": "Un workspace è lo spazio dove il tuo team o la tua organizzazione possono collaborare. Chiedi l'indirizzo all'amministratore del tuo workspace oppure creane uno per il tuo team.", + "Onboarding_join_workspace": "Unisciti", + "Onboarding_subtitle": "Oltre la collaborazione di gruppo", + "Onboarding_title": "Benvenuto in Rocket.Chat", + "Onboarding_join_open_description": "Unisciti al nostro workspace per parlare con il team e la community di Rocket.Chat.", + "Onboarding_agree_terms": "Procedendo, accetti Rocket.Chat", + "Onboarding_less_options": "Meno opzioni", + "Onboarding_more_options": "Più opzioni", + "Online": "Online", + "Only_authorized_users_can_write_new_messages": "Solo gli utenti autorizzati possono scrivere nuovi messaggi", + "Open_emoji_selector": "Apri selettore emoji", + "Open_Source_Communication": "Comunicazione open-source", + "Open_your_authentication_app_and_enter_the_code": "Apri l'app di autenticazione e inserisci il codice.", + "OR": "O", + "OS": "SO", + "Overwrites_the_server_configuration_and_use_room_config": "Sovrascrive la configurazione del server in favore di quella della stanza", + "Password": "Password", + "Parent_channel_or_group": "Gruppo o canale originario", + "Permalink_copied_to_clipboard": "Permalink copiato negli appunti!", + "Phone": "Telefono", + "Pin": "Appunta", + "Pinned_Messages": "Messaggi appuntati", + "pinned": "appuntati", + "Pinned": "Appuntati", + "Please_add_a_comment": "Per favore, aggiungi un commento", + "Please_enter_your_password": "Per favore, inserisci la tua password", + "Please_wait": "Si prega di attendere.", + "Preferences": "Impostazioni", + "Preferences_saved": "Impostazioni salvate!", + "Privacy_Policy": " Privacy Policy", + "Private_Channel": "Canale privato", + "Private": "Privato", + "Processing": "Elaborazione...", + "Profile_saved_successfully": "Profilo salvato correttamente!", + "Profile": "Profilo", + "Public_Channel": "Canale pubblico", + "Public": "Pubblico", + "Push_Notifications": "Notifiche Push", + "Push_Notifications_Alert_Info": "Queste notifiche ti vengono recapitate quando l'app non è aperta", + "Quote": "Cita", + "Reactions_are_disabled": "Le reazioni sono disabilitate", + "Reactions_are_enabled": "Le reazioni sono abilitate", + "Reactions": "Reazioni", + "Read_External_Permission_Message": "Rocket.Chat deve accedere alle foto, media, e documenti sul tuo dispositivo", + "Read_External_Permission": "Permesso di Lettura della Memoria", + "Read_Only_Channel": "Canale in sola lettura", + "Read_Only": "Sola lettura", + "Read_Receipt": "Conferma di lettura", + "Receive_Group_Mentions": "Ricevi menzioni di gruppo", + "Receive_Group_Mentions_Info": "Ricevi menzioni @all e @here", + "Register": "Registrati", + "Repeat_Password": "Conferma password", + "Replied_on": "Risposto il:", + "replies": "risposte", + "reply": "risposta", + "Reply": "Rispondi", + "Report": "Segnala", + "Receive_Notification": "Ricevi notifiche", + "Receive_notifications_from": "Ricevi notifiche da {{name}}", + "Resend": "Invia di nuovo", + "Reset_password": "Ripristina password", + "resetting_password": "ripristinando password", + "RESET": "RIPRISTINA", + "Return": "Ritorno", + "Review_app_title": "Ti piace questa app?", + "Review_app_desc": "Dacci 5 stesse su {{store}}", + "Review_app_yes": "Certo!", + "Review_app_no": "No", + "Review_app_later": "In seguito", + "Review_app_unable_store": "Impossibile aprire {{store}}", + "Review_this_app": "Recensisci questa app", + "Remove": "Rimuovi", + "Roles": "Ruoli", + "Room_actions": "Azioni stanza", + "Room_changed_announcement": "Annuncio stanza cambiato in: {{announcement}} da {{userBy}}", + "Room_changed_avatar": "Immagine stanza cambiata da {{userBy}}", + "Room_changed_description": "Descrizione stanza cambiata in: {{description}} da {{userBy}}", + "Room_changed_privacy": "Tipo stanza cambiato in: {{type}} da {{userBy}}", + "Room_changed_topic": "Argomento stanza cambiato in: {{topic}} da {{userBy}}", + "Room_Files": "File stanza", + "Room_Info_Edit": "Modifica informazioni stanza", + "Room_Info": "Informazioni stanza", + "Room_Members": "Membri stanza", + "Room_name_changed": "Nome stanza cambiato in: {{name}} da {{userBy}}", + "SAVE": "SALVA", + "Save_Changes": "Salva cambiamenti", + "Save": "Salva", + "Saved": "Salvato", + "saving_preferences": "salvataggio impostazioni", + "saving_profile": "salvataggio profilo", + "saving_settings": "salvataggio impostazioni", + "saved_to_gallery": "Salvato in Galleria", + "Save_Your_E2E_Password": "Salva la tua Password E2E", + "Save_Your_Encryption_Password": "Salva la tua Password di cifratura", + "Save_Your_Encryption_Password_warning": "Questa password non è salvata da nessuna parte, conservala con cura.", + "Save_Your_Encryption_Password_info": "Nota: se dovessi perdere la tua password, non c'è alcun modo per recuperarla e perderesti l'accesso ai tuoi messaggi.", + "Search_Messages": "Cerca messaggi", + "Search": "Cerca", + "Search_by": "Cerca per", + "Search_global_users": "Cerca utenti globali", + "Search_global_users_description": "Se attivi questa opzione, puoi cercare qualsiasi utente da altre aziende o server.", + "Seconds": "{{second}} secondi", + "Security_and_privacy": "Sicurezza e privacy", + "Select_Avatar": "Seleziona avatar", + "Select_Server": "Seleziona server", + "Select_Users": "Seleziona utenti", + "Select_a_Channel": "Seleziona un Canale", + "Select_a_Department": "Seleziona un Dipartimento", + "Select_an_option": "Seleziona un' opzione", + "Select_a_User": "Seleziona un Utente", + "Send": "Invia", + "Send_audio_message": "Invia messaggio audio", + "Send_crash_report": "Invia report sui crash", + "Send_message": "Invia messaggio", + "Send_me_the_code_again": "Inviami nuovamente il codice", + "Send_to": "Invia a...", + "Sending_to": "Invio a", + "Sent_an_attachment": "Inviato un allegato", + "Server": "Server", + "Servers": "Servers", + "Server_version": "Versione server: {{version}}", + "Set_username_subtitle": "Il nome utente viene utilizzato per permettere ad altri di menzionarti nei messaggi", + "Set_custom_status": "Imposta stato personalizzato", + "Set_status": "Imposta stato", + "Status_saved_successfully": "Stato salvato correttamente!", + "Settings": "Impostazioni", + "Settings_succesfully_changed": "Impostazioni modificate correttamente!", + "Share": "Condividi", + "Share_Link": "Condividi link", + "Share_this_app": "Condividi questa app", + "Show_more": "Mostra altri..", + "Show_Unread_Counter": "Mostra contatore messaggi non letti", + "Show_Unread_Counter_Info": "Il contatore viene mostrato come un'etichetta alla destra del canale, nella lista", + "Sign_in_your_server": "Accedi al tuo server", + "Sign_Up": "Registrati", + "Some_field_is_invalid_or_empty": "Un campo non è valido o è vuoto", + "Sound": "Suono", + "Star_room": "Aggiungi stanza ai preferiti", + "Star": "Aggiungi ai preferiti", + "Starred_Messages": "Messaggi preferiti", + "starred": "preferiti", + "Starred": "Preferiti", + "Start_of_conversation": "Inizio della conversazione", + "Start_a_Discussion": "Avvia una Discussione", + "Started_discussion": "Discussione iniziata:", + "Started_call": "Chiamata iniziata da {{userBy}}", + "Submit": "Invia", + "Table": "Tabella", + "Tags": "Tag", + "Take_a_photo": "Scatta una foto", + "Take_a_video": "Registra un video", + "Take_it": "Prendi!", + "tap_to_change_status": "tocca per cambiare stato", + "Tap_to_view_servers_list": "Tocca per vedere la lista server", + "Terms_of_Service": " Termini di servizio ", + "Theme": "Tema", + "The_user_wont_be_able_to_type_in_roomName": "L'utente non potrà scrivere in {{roomName}}", + "The_user_will_be_able_to_type_in_roomName": "L'utente potrà scrivere in {{roomName}}", + "There_was_an_error_while_action": "Si è verificato un errore nel {{action}}!", + "This_room_is_blocked": "Questa stanza è bloccata", + "This_room_is_read_only": "Questa stanza è in sola lettura", + "Thread": "Thread", + "Threads": "Threads", + "Timezone": "Fuso orario", + "To": "A", + "topic": "argomento", + "Topic": "Argomento", + "Translate": "Traduci", + "Try_again": "Riprova", + "Two_Factor_Authentication": "Autenticazione a due fattori", + "Type_the_channel_name_here": "Scrivi il nome del canale qui", + "unarchive": "rimuovi dall'archivio", + "UNARCHIVE": "RIMUOVI DALL'ARCHIVIO", + "Unblock_user": "Sblocca utente", + "Unfollowed_thread": "Non segui più il thread", + "Unmute": "Attiva notifiche", + "unmuted": "notifiche attivate", + "Unpin": "Stacca", + "unread_messages": "non letti", + "Unread": "Non letto", + "Unread_on_top": "Non letti sopra", + "Unstar": "Rimuovi dai preferiti", + "Updating": "Aggiornamento...", + "Uploading": "Caricamento", + "Upload_file_question_mark": "Carica file?", + "User": "Utente", + "Users": "Utenti", + "User_added_by": "Utente {{userAdded}} aggiunto da {{userBy}}", + "User_Info": "Informazioni utente", + "User_has_been_key": "Utente {{key}}", + "User_is_no_longer_role_by_": "{{user}} non è più {{role}} da {{userBy}}", + "User_muted_by": "Utente {{userMuted}} silenziato da {{userBy}}", + "User_removed_by": "Utente {{userRemoved}} rimosso da {{userBy}}", + "User_sent_an_attachment": "{{user}} ha inviato un allegato", + "User_unmuted_by": "Utente {{userUnmuted}} de-silenziato da {{userBy}}", + "User_was_set_role_by_": "{{user}} è stato impostato come {{role}} da {{userBy}}", + "Username_is_empty": "Username vuoto", + "Username": "Username", + "Username_or_email": "Username o email", + "Uses_server_configuration": "Usa la configurazione del server", + "Validating": "Validazione", + "Registration_Succeeded": "Registrazione completata!", + "Verify": "Verifica", + "Verify_email_title": "Verifica completata!", + "Verify_email_desc": "Ti abbiamo inviato una e-mail per confermare la tua registrazione. Se non la ricevi, ritorna qui e riprova", + "Verify_your_email_for_the_code_we_sent": "Controlla l'e-mail con il codice che ti abbiamo inviato", + "Video_call": "Videochiamata", + "View_Original": "Mostra originale", + "Voice_call": "Chiamata vocale", + "Waiting_for_network": "In attesa di connessione ...", + "Websocket_disabled": "Websocket disabilitata per questo server.\n{{contact}}", + "Welcome": "Benvenuto", + "What_are_you_doing_right_now": "Cosa stai facendo in questo momento?", + "Whats_your_2fa": "Qual'è il tuo codice 2FA?", + "Without_Servers": "Senza server", + "Workspaces": "Workspace", + "Would_you_like_to_return_the_inquiry": "Vorresti ritirare la tua domanda?", + "Write_External_Permission_Message": "Rocket.Chat ha bisogno dell'accesso alla galleria per salvare le immagini.", + "Write_External_Permission": "Permesso galleria", + "Yes": "Si", + "Yes_action_it": "Sì, {{action}}!", + "Yesterday": "Ieri", + "You_are_in_preview_mode": "Sei in modalità anteprima", + "You_are_offline": "Sei offline", + "You_can_search_using_RegExp_eg": "Puoi usare espressioni regolari. es. `/^testo$/i`", + "You_colon": "Tu: ", + "you_were_mentioned": "sei stato menzionato", + "You_were_removed_from_channel": "Sei stato rimosso da {{channel}}", + "you": "tu", + "You": "Tu", + "Logged_out_by_server": "Sei stato disconnesso dal server. Esegui nuovamente l'accesso.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Devi accedere ad almeno un server Rocket.Chat prima di condividere qualcosa.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Devi verificare il tuo indirizzo e-mail per ricevere le notifiche", + "Your_certificate": "Il tuo certificato", + "Your_invite_link_will_expire_after__usesLeft__uses": "Il tuo link di invito scadrà dopo {{usesLeft}} utilizzi.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Il tuo link di invito scadrà il {{date}} oppure dopo {{usesLeft}} utilizzi.", + "Your_invite_link_will_expire_on__date__": "Il tuo link di invito scadrà il {{date}}.", + "Your_invite_link_will_never_expire": "Il tuo link di invito non scadrà mai.", + "Your_workspace": "Il tuo workspace", + "Your_password_is": "La tua password è", + "Version_no": "Versione: {{version}}", + "You_will_not_be_able_to_recover_this_message": "Non sarai in grado di ripristinare questo messaggio!", + "You_will_unset_a_certificate_for_this_server": "Rimuoverai un certificato per questo server", + "Change_Language": "Cambia lingua", + "Crash_report_disclaimer": "Non registreremo mai il contenuto delle tue chat. Il crash report contiene solo informazioni necessarie per l'identificazione e la risoluzione dei problemi.", + "Type_message": "Scrivi messaggio", + "Room_search": "Ricerca stanze", + "Room_selection": "Selezione stanza 1...9", + "Next_room": "Prossima stanza", + "Previous_room": "Stanza precedente", + "New_room": "Nuova stanza", + "Upload_room": "Carica nella stanza", + "Search_messages": "Cerca messaggi", + "Scroll_messages": "Scorri i messaggi", + "Reply_latest": "Rispondi all'ultimo", + "Reply_in_Thread": "Rispondi nella discussione", + "Server_selection": "Selezione server", + "Server_selection_numbers": "Selezione server 1...9", + "Add_server": "Aggiungi server", + "New_line": "Nuova linea", + "You_will_be_logged_out_of_this_application": "Verrai disconnesso da questa applicazione.", + "Clear": "Cancella", + "This_will_clear_all_your_offline_data": "Questo cancellerà tutti i tuoi dati offline.", + "This_will_remove_all_data_from_this_server": "Questo rimuoverà tutti i dati dal server.", + "Mark_unread": "Segna come non letto", + "Wait_activation_warning": "Prima di poter accedere, il tuo account deve essere attivato manualmente da un amministratore.", + "Screen_lock": "Blocco schermo", + "Local_authentication_biometry_title": "Autenticazione", + "Local_authentication_biometry_fallback": "Usa passcode", + "Local_authentication_unlock_option": "Sblocca con Passcode", + "Local_authentication_change_passcode": "Cambia Passcode", + "Local_authentication_info": "Nota: se dimentichi il Passcode, dovrai cancellare e installare nuovamente l'app.", + "Local_authentication_facial_recognition": "riconoscimento facciale", + "Local_authentication_fingerprint": "impronta digitale", + "Local_authentication_unlock_with_label": "Sblocca con {{label}}", + "Local_authentication_auto_lock_60": "Dopo 1 minuto", + "Local_authentication_auto_lock_300": "Dopo 5 minuti", + "Local_authentication_auto_lock_900": "Dopo 15 minuti", + "Local_authentication_auto_lock_1800": "Dopo 30 minuti", + "Local_authentication_auto_lock_3600": "Dopo 1 ora", + "Passcode_enter_title": "Inserisci il passcode", + "Passcode_choose_title": "Scegli il tuo nuovo passcode", + "Passcode_choose_confirm_title": "Conferma il tuo nuovo passcode", + "Passcode_choose_error": "I passcode non corrispondono. Riprova.", + "Passcode_choose_force_set": "Passcode richiesto dall'admin", + "Passcode_app_locked_title": "App bloccata", + "Passcode_app_locked_subtitle": "Riprova tra {{timeLeft}} secondi", + "After_seconds_set_by_admin": "Dopo {{seconds}} secondi (impostati dall'admin)", + "Dont_activate": "Non attivare ora", + "Queued_chats": "Chat in coda", + "Queue_is_empty": "La coda è vuota", + "Logout_from_other_logged_in_locations": "Disconnetti da altre postazioni", + "You_will_be_logged_out_from_other_locations": "Verrai disconnesso dalle altre postazioni.", + "Logged_out_of_other_clients_successfully": "Disconnesso dalle altre postazioni con successo", + "Logout_failed": "Disconnessione fallita!", + "Log_analytics_events": "Invia statistiche anonime", + "E2E_encryption_change_password_title": "Cambia la password di cifratura", + "E2E_encryption_change_password_description": "Ora puoi creare gruppi e messaggi privati crittografati. Potrai, inoltre, crittografare i tuoi gruppi e messaggi privati esistenti. \nQuesta è crittografia end-to-end, la chiave per codificare/decodificare i tuoi messaggi non verrà salvata sul server. Per questo motivo devi salvarla in un luogo sicuro. Ti verrà richiesto di inserirla sugli altri dispositivi sui quali vuoi usare la crittografia e2e.", + "E2E_encryption_change_password_error": "Si è verificato un errore durante il cambio della password della chiave E2E!", + "E2E_encryption_change_password_success": "La password della chiave E2E è stata cambiata con successo!", + "E2E_encryption_change_password_message": "Assicurati di salvarla in un posto sicuro.", + "E2E_encryption_change_password_confirmation": "Si, cambiala", + "E2E_encryption_reset_title": "Ripristina la Chiave E2E", + "E2E_encryption_reset_description": "Questa opzione rimuoverà la tua chiave E2E corrente e sarai disconnesso. \nAl prossimo login, Rocket.Chat genererà una nuova chiave e ripristinerà l'accesso a tutte le stanze crittografate con uno o più membri online. \nA causa della natura della crittografia E2E, Rocket.Chat non sarà in grado di ripristinare l'accesso alle stanze senza membri online.", + "E2E_encryption_reset_button": "Ripristina", + "E2E_encryption_reset_error": "Si è verificato un errore durante il ripristino della chiave E2E!", + "E2E_encryption_reset_message": "Stai per essere disconnesso.", + "E2E_encryption_reset_confirmation": "Si, resettala", + "Following": "Seguiti", + "Threads_displaying_all": "Visualizza Tutti", + "Threads_displaying_following": "Visualizza Seguiti", + "Threads_displaying_unread": "Visualizza Non letti", + "No_threads": "Non ci sono thread", + "No_threads_following": "Non stai seguendo alcun thread", + "No_threads_unread": "Non ci sono thread non letti", + "Messagebox_Send_to_channel": "Invia sul canale", + "Remove_from_room": "Rimuovi dalla stanza", + "Ignore": "Ignora", + "Unignore": "Non ignorare", + "User_has_been_ignored": "Utente ignorato", + "User_has_been_unignored": "Utente non ignorato", + "User_has_been_removed_from_s": "L'utente è stato rimosso da {{s}}", + "User__username__is_now_a_leader_of__room_name_": "L'utente {{username}} è ora un leader di {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "L'utente {{username}} è ora un moderatore di {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "L'utente {{username}} è ora un proprietario di {{room_name}}", + "User__username__removed_from__room_name__leaders": "L'utente {{username}} non è più un leader di {{room_name}}", + "User__username__removed_from__room_name__moderators": "L'utente {{username}} non è più un moderatore di {{room_name}}", + "User__username__removed_from__room_name__owners": "L'utente {{username}} non è più un proprietario di {{room_name}}", + "The_user_will_be_removed_from_s": "L'utente sarà rimosso da {{s}}", + "Yes_remove_user": "Si, rimuovi utente!", + "Direct_message": "Messaggio diretto", + "Message_Ignored": "Messaggio ignorato. Tocca per visualizzarlo.", + "Enter_workspace_URL": "Inserisci la url del workspace", + "Workspace_URL_Example": "Es. tua-azienda.rocket.chat", + "invalid-room": "Canale non valido" +} \ No newline at end of file diff --git a/app/i18n/locales/ja.json b/app/i18n/locales/ja.json index 48d0ef1be..dedba9ffd 100644 --- a/app/i18n/locales/ja.json +++ b/app/i18n/locales/ja.json @@ -1,492 +1,483 @@ { - "1_person_reacted": "1人がリアクション", - "1_user": "1人", - "error-action-not-allowed": "{{action}}の権限がありません。", - "error-application-not-found": "アプリケーションがありません。", - "error-archived-duplicate-name": "アーカイブ名が重複しています: {{room_name}}", - "error-avatar-invalid-url": "画像のURLが正しくありません: {{url}}", - "error-avatar-url-handling": "アバターをURL({{url}})から{{username}}に設定中にエラーが発生しました。", - "error-cant-invite-for-direct-room": "ユーザーを直接ルームに招待することができません。", - "error-could-not-change-email": "メールアドレスを変更できません。", - "error-could-not-change-name": "名前を変更できません。", - "error-could-not-change-username": "ユーザー名を変更できません。", - "error-delete-protected-role": "保護されたロールは削除できません。", - "error-department-not-found": "ロールが存在しません。", - "error-direct-message-file-upload-not-allowed": "ダイレクトメッセージでのファイルのアップロードは許可されていません。", - "error-duplicate-channel-name": "{{channel_name}}と同名のチャンネルが存在します。", - "error-email-domain-blacklisted": "このドメインのメールアドレスはブラックリストに登録されています。", - "error-email-send-failed": "次のメールアドレスの送信に失敗しました: {{message}}", - "error-save-image": "画像の保存に失敗しました。", - "error-field-unavailable": "{{field}}は既に使用されています。", - "error-file-too-large": "ファイルが大きすぎます。", - "error-importer-not-defined": "インポータが正しく定義されていません。Importクラスが見つかりません。", - "error-input-is-not-a-valid-field": "{{input}}は{{field}}の入力として正しくありません。", - "error-invalid-actionlink": "アクションリンクが正しくありません。", - "error-invalid-arguments": "引数が正しくありません。", - "error-invalid-asset": "アセットが不正です。", - "error-invalid-channel": "チャンネル名が不正です。", - "error-invalid-channel-start-with-chars": "不正なチャンネルです。チャンネル名は@か#から開始します。", - "error-invalid-custom-field": "カスタムフィールドが不正です。", - "error-invalid-custom-field-name": "カスタムフィールド名が不正です。半角英数字、ハイフン、アンダースコアのみを使用してください。", - "error-invalid-date": "不正な日時です", - "error-invalid-description": "不正な詳細です", - "error-invalid-domain": "不正なドメインです", - "error-invalid-email": "不正なメールアドレスです。 {{email}}", - "error-invalid-email-address": "不正なメールアドレスです", - "error-invalid-file-height": "ファイルの高さが不正です", - "error-invalid-file-type": "ファイルの種類が不正です", - "error-invalid-file-width": "ファイルの幅が不正です", - "error-invalid-from-address": "不正なアドレスから通知しました", - "error-invalid-integration": "不正なインテグレーションです。", - "error-invalid-message": "不正なメッセージです。", - "error-invalid-method": "不正なメソッドです。", - "error-invalid-name": "不正な名前です", - "error-invalid-password": "不正なパスワードです", - "error-invalid-redirectUri": "不正なリダイレクトURIです", - "error-invalid-role": "不正なロールです", - "error-invalid-room": "不正なルームです", - "error-invalid-room-name": "{{room_name}}は正しいルーム名ではありません。", - "error-invalid-room-type": "{{type}}は正しいルームタイプではありません。", - "error-invalid-settings": "不正な設定が送信されました", - "error-invalid-subscription": "不正な購読です", - "error-invalid-token": "トークンが正しくありません", - "error-invalid-triggerWords": "トリガーワードが正しくありません", - "error-invalid-urls": "URLが正しくありません", - "error-invalid-user": "ユーザーが正しくありません", - "error-invalid-username": "ユーザー名が正しくありません", - "error-invalid-webhook-response": "WebhookのURLが200以外のステータスを返しています", - "error-message-deleting-blocked": "メッセージの削除をブロックされています。", - "error-message-editing-blocked": "メッセージの編集をブロックされています。", - "error-message-size-exceeded": "メッセージの大きさが Message_MaxAllowedSize を超えています。", - "error-missing-unsubscribe-link": "購読停止リンクを入れてください。", - "error-no-tokens-for-this-user": "このユーザーにはトークンがありません。", - "error-not-allowed": "許可されていません。", - "error-not-authorized": "有効化されていません。", - "error-push-disabled": "プッシュは無効化されています。", - "error-remove-last-owner": "ルームの最後のオーナーです。ルームを退出する前に新しいオーナーを設定してください。", - "error-role-in-use": "使用中のロールを削除することはできません。", - "error-role-name-required": "ロール名を入力してください。", - "error-the-field-is-required": "{{field}}の入力欄は必須です。", - "error-too-many-requests": "エラーです。リクエストが多すぎます。リクエストの頻度を落としてください。{{seconds}} 秒以上待ってから再度お試しください。", - "error-user-is-not-activated": "アカウントが有効化されていません。", - "error-user-has-no-roles": "ロールがありません。", - "error-user-limit-exceeded": "#channel_name に招待できるユーザー数の上限を超えています。管理者にお問い合わせください。", - "error-user-not-in-room": "ユーザーがルームにいません。", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "ユーザー登録は無効化されています", - "error-user-registration-secret": "ユーザーの登録は登録用URLからのみ許可されています", - "error-you-are-last-owner": "あなたは最後のオーナーです。ルームを退出する前に別のオーナーを設定してください。", - "Actions": "アクション", - "activity": "アクティビティ", - "Activity": "アクティビティ順", - "Add_Reaction": "リアクションを追加", - "Add_Server": "サーバーを追加", - "Add_users": "ユーザーを追加", - "Admin_Panel": "管理者パネル", - "Alert": "アラート", - "alert": "アラート", - "alerts": "アラート", - "All_users_in_the_channel_can_write_new_messages": "すべてのユーザーが新しいメッセージを書き込みできます", - "All": "すべての", - "All_Messages": "全メッセージ", - "Allow_Reactions": "リアクションを許可", - "Alphabetical": "アルファベット順", - "and_more": "さらに表示", - "and": "と", - "announcement": "アナウンス", - "Announcement": "アナウンス", - "Apply_Your_Certificate": "証明書を適用する", - "ARCHIVE": "アーカイブ", - "archive": "アーカイブ", - "are_typing": "が入力中", - "Are_you_sure_question_mark": "よろしいですか?", - "Are_you_sure_you_want_to_leave_the_room": "{{room}}を退出してもよろしいですか?", - "Audio": "音声", - "Authenticating": "認証", - "Automatic": "自動", - "Auto_Translate": "自動翻訳", - "Avatar_changed_successfully": "アバターを変更しました!", - "Avatar_Url": "アバターURL", - "Away": "退出中", - "Back": "戻る", - "Black": "ブラック", - "Block_user": "ブロックしたユーザー", - "Broadcast_channel_Description": "許可されたユーザーのみが新しいメッセージを書き込めます。他のユーザーは返信することができます", - "Broadcast_Channel": "配信チャンネル", - "Busy": "取り込み中", - "By_proceeding_you_are_agreeing": "続行することにより、私達を承認します", - "Cancel_editing": "編集をキャンセル", - "Cancel_recording": "録音をキャンセル", - "Cancel": "キャンセル", - "changing_avatar": "アバターを変更", - "creating_channel": "チャンネルを作成", - "creating_invite": "招待を作成", - "Channel_Name": "チャンネル名", - "Channels": "チャンネル", - "Chats": "チャット", - "Call_already_ended": "通話は終了しています。", - "Click_to_join": "クリックして参加!", - "Close": "閉じる", - "Close_emoji_selector": "絵文字ピッカーを閉じる", - "Choose": "選択", - "Choose_from_library": "ライブラリから選択", - "Choose_file": "ファイルを選択", - "Code": "コード", - "Collaborative": "コラボ", - "Confirm": "承認", - "Connect": "接続", - "Connected": "接続しました", - "connecting_server": "サーバーに接続中", - "Connecting": "接続中...", - "Contact_us": "お問い合わせ", - "Contact_your_server_admin": "サーバー管理者にお問い合わせください。", - "Continue_with": "次でログイン: ", - "Copied_to_clipboard": "クリップボードにコピー!", - "Copy": "コピー", - "Permalink": "パーマリンク", - "Certificate_password": "パスワード証明書", - "Clear_cache": "ローカルのサーバーキャッシュをクリア", - "Whats_the_password_for_your_certificate": "証明書のパスワードはなんですか?", - "Create_account": "アカウントを作成", - "Create_Channel": "チャンネルを作成", - "Created_snippet": "スニペットを作成", - "Create_a_new_workspace": "新しいワークスペースを作成", - "Create": "作成", - "Dark": "ダーク", - "Dark_level": "ダークレベル", - "Default": "デフォルト", - "Default_browser": "デフォルトのブラウザ", - "Delete_Room_Warning": "ルームを削除すると、ルームに投稿されたすべてのメッセージが削除されます。この操作は取り消せません。", - "delete": "削除", - "Delete": "削除", - "DELETE": "削除", - "deleting_room": "ルームを削除", - "description": "概要", - "Description": "概要", - "Desktop_Options": "デスクトップオプション", - "Directory": "ディレクトリ", - "Direct_Messages": "ダイレクトメッセージ", - "Disable_notifications": "通知を無効化", - "Discussions": "ディスカッション", - "Dont_Have_An_Account": "アカウントがありませんか?", - "Do_you_have_a_certificate": "証明書を持っていますか?", - "Do_you_really_want_to_key_this_room_question_mark": "本当にこのルームを{{key}}しますか?", - "edit": "編集", - "edited": "編集済", - "Edit": "編集", - "Edit_Invite": "編集に招待", - "Email_or_password_field_is_empty": "メールアドレスかパスワードの入力欄が空です", - "Email": "メールアドレス", - "email": "メールアドレス", - "Enable_Auto_Translate": "自動翻訳を有効にする", - "Enable_notifications": "通知を有効にする", - "Everyone_can_access_this_channel": "全員このチャンネルにアクセスできます", - "Error_uploading": "アップロードエラー", - "Expiration_Days": "期限切れ (日)", - "Favorite": "お気に入り", - "Favorites": "お気に入り", - "Files": "ファイル", - "File_description": "ファイルの説明", - "File_name": "ファイル名", - "Finish_recording": "録音停止", - "Following_thread": "スレッド更新時に通知", - "For_your_security_you_must_enter_your_current_password_to_continue": "セキュリティのため、続けるには現在のパスワードを入力してください。", - "Forgot_password_If_this_email_is_registered": "送信したメールアドレスが登録されていれば、パスワードのリセット方法を送信しました。メールアドレスがすぐに来ない場合はやり直してください。", - "Forgot_password": "パスワードを忘れた", - "Forgot_Password": "パスワードを忘れた", - "Full_table": "クリックしてテーブル全体を見る", - "Generate_New_Link": "新しいリンクを生成", - "Group_by_favorites": "お気に入りをグループ化", - "Group_by_type": "タイプ別にグループ化", - "Hide": "隠す", - "Has_joined_the_channel": "はチャンネルに参加しました", - "Has_joined_the_conversation": "は会話に参加しました", - "Has_left_the_channel": "はチャンネルを退出しました", - "In_App_And_Desktop": "アプリ内とデスクトップ", - "In_App_and_Desktop_Alert_info": "アプリを表示中にはバナーを上部に表示し、デスクトップには通知を送ります。", - "Invisible": "状態を隠す", - "Invite": "招待", - "is_a_valid_RocketChat_instance": "は正しいRocket.Chatのインスタンスです", - "is_not_a_valid_RocketChat_instance": "はRocket.Chatのインスタンスではありません", - "is_typing": "が入力中", - "Invalid_or_expired_invite_token": "招待トークンが無効か、期限が切れています", - "Invalid_server_version": "接続しようとしているサーバーのバージョン({{currentVersion}})はサポートされていません。\n\nサポートする最低バージョンは {{minVersion}} です", - "Invite_Link": "招待リンク", - "Invite_users": "ユーザーを招待", - "Join": "参加", - "Just_invited_people_can_access_this_channel": "招待されたユーザーだけがこのチャンネルに参加できます", - "Language": "言語", - "last_message": "最後のメッセージ", - "Leave_channel": "チャンネルを退出", - "leaving_room": "チャンネルを退出", - "Leave": "ルームを退出", - "leave": "退出", - "Legal": "法的項目", - "Light": "ライト", - "License": "ライセンス", - "Livechat": "ライブチャット", - "Login": "ログイン", - "Login_error": "証明書が承認されませんでした。再度お試しください。", - "Login_with": "次でログイン: ", - "Logout": "ログアウト", - "Max_number_of_uses": "最大利用数", - "members": "メンバー", - "Members": "メンバー", - "Mentioned_Messages": "メンションされたメッセージ", - "mentioned": "メンション", - "Mentions": "メンション", - "Message_accessibility": "{{user}} から {{time}} にメッセージ: {{message}}", - "Message_actions": "メッセージアクション", - "Message_pinned": "メッセージをピン留め", - "Message_removed": "メッセージを除く", - "message": "メッセージ", - "messages": "メッセージ", - "Message": "メッセージ", - "Messages": "メッセージ", - "Message_Reported": "メッセージを報告しました", - "Microphone_Permission_Message": "Rocket.Chatは音声メッセージを送信するのにマイクのアクセスの許可が必要です。", - "Microphone_Permission": "マイクの許可", - "Mute": "ミュート", - "muted": "ミュートした", - "My_servers": "自分のサーバー", - "N_people_reacted": "{{n}}人がリアクションしました", - "N_users": "{{n}}人", - "name": "アルファベット", - "Name": "名前", - "Never": "ずっと受け取らない", - "New_Message": "メッセージ", - "New_Password": "新しいパスワード", - "New_Server": "新規サーバー", - "Next": "次へ", - "No_files": "ファイルがありません", - "No_limit": "制限なし", - "No_mentioned_messages": "メンションされたメッセージはありません", - "No_pinned_messages": "ピン留めされたメッセージはありません", - "No_results_found": "結果なし", - "No_starred_messages": "お気に入りされたメッセージはありません", - "No_thread_messages": "スレッドのメッセージはありません", - "No_Message": "メッセージなし", - "No_messages_yet": "まだメッセージはありません", - "No_Reactions": "リアクションなし", - "No_Read_Receipts": "未読通知はありません", - "Not_logged": "ログされていません", - "Not_RC_Server": "Rocket.Chatサーバーではありません。\n{{contact}}", - "Nothing": "何もなし", - "Nothing_to_save": "保存するものはありません!", - "Notify_active_in_this_room": "このルームのアクティブなユーザーに通知する", - "Notify_all_in_this_room": "このルームのユーザー全員に通知する", - "Notifications": "通知", - "Notification_Duration": "通知の期間", - "Notification_Preferences": "通知設定", - "Offline": "オフライン", - "Oops": "おっと!", - "Onboarding_title": "Rocket.Chatへようこそ", - "Online": "オンライン", - "Only_authorized_users_can_write_new_messages": "承認されたユーザーだけが新しいメッセージを書き込めます", - "Open_emoji_selector": "絵文字ピッカーを開く", - "Open_Source_Communication": "オープンソースコミュニケーション", - "Password": "パスワード", - "Permalink_copied_to_clipboard": "リンクをクリップボードにコピーしました!", - "Pin": "ピン留め", - "Pinned_Messages": "ピン留めされたメッセージ", - "pinned": "ピン留めされた", - "Pinned": "ピン留めされました", - "Please_enter_your_password": "パスワードを入力してください", - "Preferences": "設定", - "Preferences_saved": "設定が保存されました。", - "Privacy_Policy": " プライバシーポリシー", - "Private_Channel": "プライベートチャンネル", - "Private": "プライベート", - "Processing": "処理中...", - "Profile_saved_successfully": "プロフィールが保存されました!", - "Profile": "プロフィール", - "Public_Channel": "パブリックチャンネル", - "Public": "パブリック", - "Push_Notifications": "プッシュ通知", - "Push_Notifications_Alert_Info": "通知はアプリを開いていない時に送られます。", - "Quote": "引用", - "Reactions_are_disabled": "リアクションは無効化されています", - "Reactions_are_enabled": "リアクションは有効化されています", - "Reactions": "リアクション", - "Read": "読む", - "Read_Only_Channel": "読み取り専用チャンネル", - "Read_Only": "読み取り専用", - "Read_Receipt": "レシートを見る", - "Receive_Group_Mentions": "グループの通知を受け取る", - "Receive_Group_Mentions_Info": "@all と @here の通知を受け取る", - "Register": "登録", - "Repeat_Password": "パスワードを再入力", - "Replied_on": "返信:", - "replies": "返信", - "reply": "返信", - "Reply": "返信", - "Report": "報告", - "Receive_Notification": "通知を受け取る", - "Receive_notifications_from": "{{name}}からの通知を受け取る", - "Resend": "再送信", - "Reset_password": "パスワードをリセット", - "resetting_password": "パスワードを再設定", - "RESET": "リセット", - "Review_app_title": "アプリにご満足いただけておりますか?", - "Review_app_desc": "{{store}}で5段階で評価をお願いします", - "Review_app_yes": "はい!", - "Review_app_no": "いいえ", - "Review_app_later": "あとで", - "Review_app_unable_store": "{{store}}を開けません。", - "Review_this_app": "アプリをレビューする", - "Roles": "ロール", - "Room_actions": "ルームアクション", - "Room_changed_announcement": "{{userBy}}がアナウンスを変更しました: {{announcement}}", - "Room_changed_description": "{{userBy}}が概要を変更しました: {{description}}", - "Room_changed_privacy": "{{userBy}}がルームタイプを変更しました。: {{type}}", - "Room_changed_topic": "{{userBy}}がトピックを変更しました: {{topic}}", - "Room_Files": "ルームのファイル", - "Room_Info_Edit": "ルーム情報を編集", - "Room_Info": "ルーム情報", - "Room_Members": "ルームのメンバー", - "Room_name_changed": "ルーム名が{{userBy}}により変更されました: {{name}}", - "SAVE": "保存", - "Save_Changes": "変更を保存", - "Save": "保存", - "saving_preferences": "設定を保存中", - "saving_profile": "プロフィールを設定中", - "saving_settings": "サーバー設定を保存中", - "saved_to_gallery": "ギャラリーに保存しました", - "Search_Messages": "メッセージを検索", - "Search": "検索", - "Search_by": "検索種別: ", - "Search_global_users": "グローバルユーザーのための検索", - "Search_global_users_description": "有効にした場合、他の会社やサーバーの誰もがあなたを検索可能になります。", - "Seconds": "{{second}} 秒", - "Select_Avatar": "アバターを選択", - "Select_Server": "サーバーを選択", - "Select_Users": "ユーザーを選択", - "Send": "送信", - "Send_audio_message": "録音メッセージを送信", - "Send_crash_report": "クラッシュレポートを送信", - "Send_message": "メッセージを送信", - "Send_to": "送信先...", - "Sent_an_attachment": "添付ファイルを送信しました", - "Server": "サーバー", - "Servers": "サーバー", - "Server_version": "サーバーバージョン: {{version}}", - "Set_username_subtitle": "ユーザー名はメッセージ中であなたにメンションするのに使われます。", - "Settings": "設定", - "Settings_succesfully_changed": "設定が更新されました!", - "Share": "シェア", - "Share_Link": "リンクをシェアする", - "Share_this_app": "このアプリをシェアする", - "Show_more": "Show more..", - "Show_Unread_Counter": "未読件数を表示する", - "Show_Unread_Counter_Info": "未読件数はリスト上で、チャンネルの右側にバッジで表示されます。", - "Sign_in_your_server": "サーバーに接続", - "Sign_Up": "登録", - "Some_field_is_invalid_or_empty": "不正、または空の入力欄があります。", - "Sorting_by": "{{key}}順", - "Sound": "音", - "Star_room": "お気に入りルーム", - "Star": "お気に入り", - "Starred_Messages": "お気に入りされたメッセージ", - "starred": "お気に入りされています", - "Starred": "お気に入りされています", - "Start_of_conversation": "会話を開始する", - "Started_discussion": "ディスカッションを開始する:", - "Started_call": "{{userBy}}と通話する", - "Submit": "送信", - "Table": "表", - "Take_a_photo": "写真を撮影", - "Take_a_video": "動画を撮影", - "tap_to_change_status": "タップしてステータスを変更", - "Tap_to_view_servers_list": "タップしてサーバーリストを見る", - "Terms_of_Service": " 利用規約 ", - "Theme": "テーマ", - "There_was_an_error_while_action": "{{action}}の最中にエラーが発生しました!", - "This_room_is_blocked": "このルームはブロックされています。", - "This_room_is_read_only": "このルームは読み取り専用です。", - "Thread": "スレッド", - "Threads": "スレッド", - "Timezone": "タイムゾーン", - "To": "To", - "topic": "トピック", - "Topic": "トピック", - "Translate": "翻訳", - "Try_again": "再度お試しください。", - "Two_Factor_Authentication": "2段階認証", - "Type_the_channel_name_here": "ここにチャンネル名を入力", - "unarchive": "アーカイブ解除", - "UNARCHIVE": "アーカイブ解除", - "Unblock_user": "ブロックを解除", - "Unfavorite": "お気に入り解除", - "Unfollowed_thread": "スレッド更新時に通知しない", - "Unmute": "ミュート解除", - "unmuted": "ミュート解除しました", - "Unpin": "ピン留めを解除", - "unread_messages": "未読", - "Unread": "未読", - "Unread_on_top": "未読メッセージを上に表示", - "Unstar": "お気に入り解除", - "Updating": "更新中...", - "Uploading": "アップロード中", - "Upload_file_question_mark": "ファイルをアップロードしますか?", - "Users": "ユーザー", - "User_added_by": "{{userBy}} が {{userAdded}} を追加しました", - "User_Info": "ユーザー情報", - "User_has_been_key": "ユーザーは{{key}}", - "User_is_no_longer_role_by_": "{{userBy}} は {{user}} のロール {{role}} を削除しました。", - "User_muted_by": "{{userBy}} は {{userMuted}} をミュートしました。", - "User_removed_by": "{{userBy}} は {{userRemoved}} を退出させました。", - "User_sent_an_attachment": "{{user}}は添付ファイルを送信しました", - "User_unmuted_by": "{{userUnmuted}} は {{userBy}} にミュート解除されました。", - "User_was_set_role_by_": "{{user}} was set {{role}} by {{userBy}}", - "Username_is_empty": "ユーザー名が空です。", - "Username": "ユーザー名", - "Username_or_email": "ユーザー名かメールアドレス", - "Validating": "検証中", - "Video_call": "ビデオ通話", - "View_Original": "オリジナルを見る", - "Voice_call": "音声通話", - "Websocket_disabled": "Websocketはこのサーバーでは無効化されています。\n{{contact}}", - "Welcome": "ようこそ", - "Whats_your_2fa": "2段階認証のコードを入力してください", - "Without_Servers": "サーバーを除く", - "Write_External_Permission_Message": "Rocket.Chatは画像を保存するためにギャラリーへのアクセスを求めています。", - "Write_External_Permission": "ギャラリーへのアクセス許可", - "Yes_action_it": "はい、{{action}}します!", - "Yesterday": "昨日", - "You_are_in_preview_mode": "プレビューモードです。", - "You_are_offline": "オフラインです。", - "You_can_search_using_RegExp_eg": "正規表現を利用できます。 例: `/^text$/i`", - "You_colon": "あなた: ", - "you_were_mentioned": "あなたがメンションしました", - "you": "あなた", - "You": "あなた", - "Logged_out_by_server": "サーバーからログアウトします。もう一度ログインしてください。", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "シェアするためには1つ以上のサーバーにアクセスする必要があります。", - "Your_certificate": "あなたの認証情報", - "Your_invite_link_will_expire_after__usesLeft__uses": "招待リンクはあと{{usesLeft}}回で使用できなくなります。", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "招待リンクは{{date}}までか、あと{{usesLeft}}回で使用できなくなります。", - "Your_invite_link_will_expire_on__date__": "招待リンクは{{date}}に使用できなくなります。", - "Your_invite_link_will_never_expire": "招待リンクはずっと有効です。", - "Version_no": "バージョン: {{version}}", - "You_will_not_be_able_to_recover_this_message": "このメッセージは復元できません!", - "Change_Language": "言語を変更", - "Crash_report_disclaimer": "クラッシュレポートには問題を特定し、修正するために必要な情報のみが含まれます。チャット内のコンテンツは送信されません。", - "Type_message": "メッセージを入力", - "Room_search": "ルームを検索", - "Room_selection": "ルームを選択 1...9", - "Next_room": "次のルーム", - "Previous_room": "前のルーム", - "New_room": "新しいルーム", - "Upload_room": "ルームにアップロード", - "Search_messages": "メッセージを検索", - "Scroll_messages": "メッセージをスクロール", - "Reply_latest": "最新のメッセージにリプライ", - "Server_selection": "サーバー選択", - "Server_selection_numbers": "サーバー選択 1...9", - "Add_server": "サーバーを追加", - "New_line": "新しい行", - "You_will_be_logged_out_of_this_application": "アプリからログアウトします。", - "Clear": "クリア", - "This_will_clear_all_your_offline_data": "オフラインデータをすべて削除します。", - "invalid-room": "無効なルーム" -} + "1_person_reacted": "1人がリアクション", + "1_user": "1人", + "error-action-not-allowed": "{{action}}の権限がありません。", + "error-application-not-found": "アプリケーションがありません。", + "error-archived-duplicate-name": "アーカイブ名が重複しています: {{room_name}}", + "error-avatar-invalid-url": "画像のURLが正しくありません: {{url}}", + "error-avatar-url-handling": "アバターをURL({{url}})から{{username}}に設定中にエラーが発生しました。", + "error-cant-invite-for-direct-room": "ユーザーを直接ルームに招待することができません。", + "error-could-not-change-email": "メールアドレスを変更できません。", + "error-could-not-change-name": "名前を変更できません。", + "error-could-not-change-username": "ユーザー名を変更できません。", + "error-delete-protected-role": "保護されたロールは削除できません。", + "error-department-not-found": "ロールが存在しません。", + "error-direct-message-file-upload-not-allowed": "ダイレクトメッセージでのファイルのアップロードは許可されていません。", + "error-duplicate-channel-name": "{{room_name}}と同名のチャンネルが存在します。", + "error-email-domain-blacklisted": "このドメインのメールアドレスはブラックリストに登録されています。", + "error-email-send-failed": "次のメールアドレスの送信に失敗しました: {{message}}", + "error-save-image": "画像の保存に失敗しました。", + "error-field-unavailable": "{{field}}は既に使用されています。", + "error-file-too-large": "ファイルが大きすぎます。", + "error-importer-not-defined": "インポータが正しく定義されていません。Importクラスが見つかりません。", + "error-input-is-not-a-valid-field": "{{input}}は{{field}}の入力として正しくありません。", + "error-invalid-actionlink": "アクションリンクが正しくありません。", + "error-invalid-arguments": "引数が正しくありません。", + "error-invalid-asset": "アセットが不正です。", + "error-invalid-channel": "チャンネル名が不正です。", + "error-invalid-channel-start-with-chars": "不正なチャンネルです。チャンネル名は@か#から開始します。", + "error-invalid-custom-field": "カスタムフィールドが不正です。", + "error-invalid-custom-field-name": "カスタムフィールド名が不正です。半角英数字、ハイフン、アンダースコアのみを使用してください。", + "error-invalid-date": "不正な日時です", + "error-invalid-description": "不正な詳細です", + "error-invalid-domain": "不正なドメインです", + "error-invalid-email": "不正なメールアドレスです。 {{email}}", + "error-invalid-email-address": "不正なメールアドレスです", + "error-invalid-file-height": "ファイルの高さが不正です", + "error-invalid-file-type": "ファイルの種類が不正です", + "error-invalid-file-width": "ファイルの幅が不正です", + "error-invalid-from-address": "不正なアドレスから通知しました", + "error-invalid-integration": "不正なインテグレーションです。", + "error-invalid-message": "不正なメッセージです。", + "error-invalid-method": "不正なメソッドです。", + "error-invalid-name": "不正な名前です", + "error-invalid-password": "不正なパスワードです", + "error-invalid-redirectUri": "不正なリダイレクトURIです", + "error-invalid-role": "不正なロールです", + "error-invalid-room": "不正なルームです", + "error-invalid-room-name": "{{room_name}}は正しいルーム名ではありません。", + "error-invalid-room-type": "{{type}}は正しいルームタイプではありません。", + "error-invalid-settings": "不正な設定が送信されました", + "error-invalid-subscription": "不正な購読です", + "error-invalid-token": "トークンが正しくありません", + "error-invalid-triggerWords": "トリガーワードが正しくありません", + "error-invalid-urls": "URLが正しくありません", + "error-invalid-user": "ユーザーが正しくありません", + "error-invalid-username": "ユーザー名が正しくありません", + "error-invalid-webhook-response": "WebhookのURLが200以外のステータスを返しています", + "error-message-deleting-blocked": "メッセージの削除をブロックされています。", + "error-message-editing-blocked": "メッセージの編集をブロックされています。", + "error-message-size-exceeded": "メッセージの大きさが Message_MaxAllowedSize を超えています。", + "error-missing-unsubscribe-link": "購読停止リンクを入れてください。", + "error-no-tokens-for-this-user": "このユーザーにはトークンがありません。", + "error-not-allowed": "許可されていません。", + "error-not-authorized": "有効化されていません。", + "error-push-disabled": "プッシュは無効化されています。", + "error-remove-last-owner": "ルームの最後のオーナーです。ルームを退出する前に新しいオーナーを設定してください。", + "error-role-in-use": "使用中のロールを削除することはできません。", + "error-role-name-required": "ロール名を入力してください。", + "error-the-field-is-required": "{{field}}の入力欄は必須です。", + "error-too-many-requests": "エラーです。リクエストが多すぎます。リクエストの頻度を落としてください。{{seconds}} 秒以上待ってから再度お試しください。", + "error-user-is-not-activated": "アカウントが有効化されていません。", + "error-user-has-no-roles": "ロールがありません。", + "error-user-limit-exceeded": "#channel_name に招待できるユーザー数の上限を超えています。管理者にお問い合わせください。", + "error-user-not-in-room": "ユーザーがルームにいません。", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "ユーザー登録は無効化されています", + "error-user-registration-secret": "ユーザーの登録は登録用URLからのみ許可されています", + "error-you-are-last-owner": "あなたは最後のオーナーです。ルームを退出する前に別のオーナーを設定してください。", + "Actions": "アクション", + "Activity": "アクティビティ順", + "Add_Reaction": "リアクションを追加", + "Add_Server": "サーバーを追加", + "Add_users": "ユーザーを追加", + "Admin_Panel": "管理者パネル", + "Alert": "アラート", + "alert": "アラート", + "alerts": "アラート", + "All_users_in_the_channel_can_write_new_messages": "すべてのユーザーが新しいメッセージを書き込みできます", + "All": "すべての", + "All_Messages": "全メッセージ", + "Allow_Reactions": "リアクションを許可", + "Alphabetical": "アルファベット順", + "and_more": "さらに表示", + "and": "と", + "announcement": "アナウンス", + "Announcement": "アナウンス", + "Apply_Your_Certificate": "証明書を適用する", + "ARCHIVE": "アーカイブ", + "archive": "アーカイブ", + "are_typing": "が入力中", + "Are_you_sure_question_mark": "よろしいですか?", + "Are_you_sure_you_want_to_leave_the_room": "{{room}}を退出してもよろしいですか?", + "Audio": "音声", + "Authenticating": "認証", + "Automatic": "自動", + "Auto_Translate": "自動翻訳", + "Avatar_changed_successfully": "アバターを変更しました!", + "Avatar_Url": "アバターURL", + "Away": "退出中", + "Back": "戻る", + "Black": "ブラック", + "Block_user": "ブロックしたユーザー", + "Broadcast_channel_Description": "許可されたユーザーのみが新しいメッセージを書き込めます。他のユーザーは返信することができます", + "Broadcast_Channel": "配信チャンネル", + "Busy": "取り込み中", + "By_proceeding_you_are_agreeing": "続行することにより、私達を承認します", + "Cancel_editing": "編集をキャンセル", + "Cancel_recording": "録音をキャンセル", + "Cancel": "キャンセル", + "changing_avatar": "アバターを変更", + "creating_channel": "チャンネルを作成", + "creating_invite": "招待を作成", + "Channel_Name": "チャンネル名", + "Channels": "チャンネル", + "Chats": "チャット", + "Call_already_ended": "通話は終了しています。", + "Click_to_join": "クリックして参加!", + "Close": "閉じる", + "Close_emoji_selector": "絵文字ピッカーを閉じる", + "Choose": "選択", + "Choose_from_library": "ライブラリから選択", + "Choose_file": "ファイルを選択", + "Code": "コード", + "Collaborative": "コラボ", + "Confirm": "承認", + "Connect": "接続", + "Connected": "接続しました", + "connecting_server": "サーバーに接続中", + "Connecting": "接続中...", + "Contact_us": "お問い合わせ", + "Contact_your_server_admin": "サーバー管理者にお問い合わせください。", + "Continue_with": "次でログイン: ", + "Copied_to_clipboard": "クリップボードにコピー!", + "Copy": "コピー", + "Permalink": "パーマリンク", + "Certificate_password": "パスワード証明書", + "Clear_cache": "ローカルのサーバーキャッシュをクリア", + "Whats_the_password_for_your_certificate": "証明書のパスワードはなんですか?", + "Create_account": "アカウントを作成", + "Create_Channel": "チャンネルを作成", + "Created_snippet": "スニペットを作成", + "Create_a_new_workspace": "新しいワークスペースを作成", + "Create": "作成", + "Dark": "ダーク", + "Dark_level": "ダークレベル", + "Default": "デフォルト", + "Default_browser": "デフォルトのブラウザ", + "Delete_Room_Warning": "ルームを削除すると、ルームに投稿されたすべてのメッセージが削除されます。この操作は取り消せません。", + "delete": "削除", + "Delete": "削除", + "DELETE": "削除", + "deleting_room": "ルームを削除", + "description": "概要", + "Description": "概要", + "Desktop_Options": "デスクトップオプション", + "Directory": "ディレクトリ", + "Direct_Messages": "ダイレクトメッセージ", + "Disable_notifications": "通知を無効化", + "Discussions": "ディスカッション", + "Dont_Have_An_Account": "アカウントがありませんか?", + "Do_you_have_a_certificate": "証明書を持っていますか?", + "Do_you_really_want_to_key_this_room_question_mark": "本当にこのルームを{{key}}しますか?", + "edit": "編集", + "edited": "編集済", + "Edit": "編集", + "Edit_Invite": "編集に招待", + "Email_or_password_field_is_empty": "メールアドレスかパスワードの入力欄が空です", + "Email": "メールアドレス", + "email": "メールアドレス", + "Enable_Auto_Translate": "自動翻訳を有効にする", + "Enable_notifications": "通知を有効にする", + "Everyone_can_access_this_channel": "全員このチャンネルにアクセスできます", + "Error_uploading": "アップロードエラー", + "Expiration_Days": "期限切れ (日)", + "Favorites": "お気に入り", + "Files": "ファイル", + "File_description": "ファイルの説明", + "File_name": "ファイル名", + "Finish_recording": "録音停止", + "Following_thread": "スレッド更新時に通知", + "For_your_security_you_must_enter_your_current_password_to_continue": "セキュリティのため、続けるには現在のパスワードを入力してください。", + "Forgot_password_If_this_email_is_registered": "送信したメールアドレスが登録されていれば、パスワードのリセット方法を送信しました。メールアドレスがすぐに来ない場合はやり直してください。", + "Forgot_password": "パスワードを忘れた", + "Forgot_Password": "パスワードを忘れた", + "Full_table": "クリックしてテーブル全体を見る", + "Generate_New_Link": "新しいリンクを生成", + "Has_joined_the_channel": "はチャンネルに参加しました", + "Has_joined_the_conversation": "は会話に参加しました", + "Has_left_the_channel": "はチャンネルを退出しました", + "In_App_And_Desktop": "アプリ内とデスクトップ", + "In_App_and_Desktop_Alert_info": "アプリを表示中にはバナーを上部に表示し、デスクトップには通知を送ります。", + "Invisible": "状態を隠す", + "Invite": "招待", + "is_a_valid_RocketChat_instance": "は正しいRocket.Chatのインスタンスです", + "is_not_a_valid_RocketChat_instance": "はRocket.Chatのインスタンスではありません", + "is_typing": "が入力中", + "Invalid_or_expired_invite_token": "招待トークンが無効か、期限が切れています", + "Invalid_server_version": "接続しようとしているサーバーのバージョン({{currentVersion}})はサポートされていません。\n\nサポートする最低バージョンは {{minVersion}} です", + "Invite_Link": "招待リンク", + "Invite_users": "ユーザーを招待", + "Join": "参加", + "Just_invited_people_can_access_this_channel": "招待されたユーザーだけがこのチャンネルに参加できます", + "Language": "言語", + "last_message": "最後のメッセージ", + "Leave_channel": "チャンネルを退出", + "leaving_room": "チャンネルを退出", + "Leave": "ルームを退出", + "leave": "退出", + "Legal": "法的項目", + "Light": "ライト", + "License": "ライセンス", + "Livechat": "ライブチャット", + "Login": "ログイン", + "Login_error": "証明書が承認されませんでした。再度お試しください。", + "Login_with": "次でログイン: ", + "Logout": "ログアウト", + "Max_number_of_uses": "最大利用数", + "members": "メンバー", + "Members": "メンバー", + "Mentioned_Messages": "メンションされたメッセージ", + "mentioned": "メンション", + "Mentions": "メンション", + "Message_accessibility": "{{user}} から {{time}} にメッセージ: {{message}}", + "Message_actions": "メッセージアクション", + "Message_pinned": "メッセージをピン留め", + "Message_removed": "メッセージを除く", + "message": "メッセージ", + "messages": "メッセージ", + "Message": "メッセージ", + "Messages": "メッセージ", + "Message_Reported": "メッセージを報告しました", + "Microphone_Permission_Message": "Rocket.Chatは音声メッセージを送信するのにマイクのアクセスの許可が必要です。", + "Microphone_Permission": "マイクの許可", + "Mute": "ミュート", + "muted": "ミュートした", + "My_servers": "自分のサーバー", + "N_people_reacted": "{{n}}人がリアクションしました", + "N_users": "{{n}}人", + "Name": "名前", + "Never": "ずっと受け取らない", + "New_Message": "メッセージ", + "New_Password": "新しいパスワード", + "New_Server": "新規サーバー", + "Next": "次へ", + "No_files": "ファイルがありません", + "No_limit": "制限なし", + "No_mentioned_messages": "メンションされたメッセージはありません", + "No_pinned_messages": "ピン留めされたメッセージはありません", + "No_results_found": "結果なし", + "No_starred_messages": "お気に入りされたメッセージはありません", + "No_thread_messages": "スレッドのメッセージはありません", + "No_Message": "メッセージなし", + "No_messages_yet": "まだメッセージはありません", + "No_Reactions": "リアクションなし", + "No_Read_Receipts": "未読通知はありません", + "Not_logged": "ログされていません", + "Not_RC_Server": "Rocket.Chatサーバーではありません。\n{{contact}}", + "Nothing": "何もなし", + "Nothing_to_save": "保存するものはありません!", + "Notify_active_in_this_room": "このルームのアクティブなユーザーに通知する", + "Notify_all_in_this_room": "このルームのユーザー全員に通知する", + "Notifications": "通知", + "Notification_Duration": "通知の期間", + "Notification_Preferences": "通知設定", + "Offline": "オフライン", + "Oops": "おっと!", + "Onboarding_title": "Rocket.Chatへようこそ", + "Online": "オンライン", + "Only_authorized_users_can_write_new_messages": "承認されたユーザーだけが新しいメッセージを書き込めます", + "Open_emoji_selector": "絵文字ピッカーを開く", + "Open_Source_Communication": "オープンソースコミュニケーション", + "Password": "パスワード", + "Permalink_copied_to_clipboard": "リンクをクリップボードにコピーしました!", + "Pin": "ピン留め", + "Pinned_Messages": "ピン留めされたメッセージ", + "pinned": "ピン留めされた", + "Pinned": "ピン留めされました", + "Please_enter_your_password": "パスワードを入力してください", + "Preferences": "設定", + "Preferences_saved": "設定が保存されました。", + "Privacy_Policy": " プライバシーポリシー", + "Private_Channel": "プライベートチャンネル", + "Private": "プライベート", + "Processing": "処理中...", + "Profile_saved_successfully": "プロフィールが保存されました!", + "Profile": "プロフィール", + "Public_Channel": "パブリックチャンネル", + "Public": "パブリック", + "Push_Notifications": "プッシュ通知", + "Push_Notifications_Alert_Info": "通知はアプリを開いていない時に送られます。", + "Quote": "引用", + "Reactions_are_disabled": "リアクションは無効化されています", + "Reactions_are_enabled": "リアクションは有効化されています", + "Reactions": "リアクション", + "Read_Only_Channel": "読み取り専用チャンネル", + "Read_Only": "読み取り専用", + "Read_Receipt": "レシートを見る", + "Receive_Group_Mentions": "グループの通知を受け取る", + "Receive_Group_Mentions_Info": "@all と @here の通知を受け取る", + "Register": "登録", + "Repeat_Password": "パスワードを再入力", + "Replied_on": "返信:", + "replies": "返信", + "reply": "返信", + "Reply": "返信", + "Report": "報告", + "Receive_Notification": "通知を受け取る", + "Receive_notifications_from": "{{name}}からの通知を受け取る", + "Resend": "再送信", + "Reset_password": "パスワードをリセット", + "resetting_password": "パスワードを再設定", + "RESET": "リセット", + "Review_app_title": "アプリにご満足いただけておりますか?", + "Review_app_desc": "{{store}}で5段階で評価をお願いします", + "Review_app_yes": "はい!", + "Review_app_no": "いいえ", + "Review_app_later": "あとで", + "Review_app_unable_store": "{{store}}を開けません。", + "Review_this_app": "アプリをレビューする", + "Roles": "ロール", + "Room_actions": "ルームアクション", + "Room_changed_announcement": "{{userBy}}がアナウンスを変更しました: {{announcement}}", + "Room_changed_description": "{{userBy}}が概要を変更しました: {{description}}", + "Room_changed_privacy": "{{userBy}}がルームタイプを変更しました。: {{type}}", + "Room_changed_topic": "{{userBy}}がトピックを変更しました: {{topic}}", + "Room_Files": "ルームのファイル", + "Room_Info_Edit": "ルーム情報を編集", + "Room_Info": "ルーム情報", + "Room_Members": "ルームのメンバー", + "Room_name_changed": "ルーム名が{{userBy}}により変更されました: {{name}}", + "SAVE": "保存", + "Save_Changes": "変更を保存", + "Save": "保存", + "saving_preferences": "設定を保存中", + "saving_profile": "プロフィールを設定中", + "saving_settings": "サーバー設定を保存中", + "saved_to_gallery": "ギャラリーに保存しました", + "Search_Messages": "メッセージを検索", + "Search": "検索", + "Search_by": "検索種別: ", + "Search_global_users": "グローバルユーザーのための検索", + "Search_global_users_description": "有効にした場合、他の会社やサーバーの誰もがあなたを検索可能になります。", + "Seconds": "{{second}} 秒", + "Select_Avatar": "アバターを選択", + "Select_Server": "サーバーを選択", + "Select_Users": "ユーザーを選択", + "Send": "送信", + "Send_audio_message": "録音メッセージを送信", + "Send_crash_report": "クラッシュレポートを送信", + "Send_message": "メッセージを送信", + "Send_to": "送信先...", + "Sent_an_attachment": "添付ファイルを送信しました", + "Server": "サーバー", + "Servers": "サーバー", + "Server_version": "サーバーバージョン: {{version}}", + "Set_username_subtitle": "ユーザー名はメッセージ中であなたにメンションするのに使われます。", + "Settings": "設定", + "Settings_succesfully_changed": "設定が更新されました!", + "Share": "シェア", + "Share_Link": "リンクをシェアする", + "Share_this_app": "このアプリをシェアする", + "Show_more": "Show more..", + "Show_Unread_Counter": "未読件数を表示する", + "Show_Unread_Counter_Info": "未読件数はリスト上で、チャンネルの右側にバッジで表示されます。", + "Sign_in_your_server": "サーバーに接続", + "Sign_Up": "登録", + "Some_field_is_invalid_or_empty": "不正、または空の入力欄があります。", + "Sound": "音", + "Star_room": "お気に入りルーム", + "Star": "お気に入り", + "Starred_Messages": "お気に入りされたメッセージ", + "starred": "お気に入りされています", + "Starred": "お気に入りされています", + "Start_of_conversation": "会話を開始する", + "Started_discussion": "ディスカッションを開始する:", + "Started_call": "{{userBy}}と通話する", + "Submit": "送信", + "Table": "表", + "Take_a_photo": "写真を撮影", + "Take_a_video": "動画を撮影", + "tap_to_change_status": "タップしてステータスを変更", + "Tap_to_view_servers_list": "タップしてサーバーリストを見る", + "Terms_of_Service": " 利用規約 ", + "Theme": "テーマ", + "There_was_an_error_while_action": "{{action}}の最中にエラーが発生しました!", + "This_room_is_blocked": "このルームはブロックされています。", + "This_room_is_read_only": "このルームは読み取り専用です。", + "Thread": "スレッド", + "Threads": "スレッド", + "Timezone": "タイムゾーン", + "To": "To", + "topic": "トピック", + "Topic": "トピック", + "Translate": "翻訳", + "Try_again": "再度お試しください。", + "Two_Factor_Authentication": "2段階認証", + "Type_the_channel_name_here": "ここにチャンネル名を入力", + "unarchive": "アーカイブ解除", + "UNARCHIVE": "アーカイブ解除", + "Unblock_user": "ブロックを解除", + "Unfollowed_thread": "スレッド更新時に通知しない", + "Unmute": "ミュート解除", + "unmuted": "ミュート解除しました", + "Unpin": "ピン留めを解除", + "unread_messages": "未読", + "Unread": "未読", + "Unread_on_top": "未読メッセージを上に表示", + "Unstar": "お気に入り解除", + "Updating": "更新中...", + "Uploading": "アップロード中", + "Upload_file_question_mark": "ファイルをアップロードしますか?", + "Users": "ユーザー", + "User_added_by": "{{userBy}} が {{userAdded}} を追加しました", + "User_Info": "ユーザー情報", + "User_has_been_key": "ユーザーは{{key}}", + "User_is_no_longer_role_by_": "{{userBy}} は {{user}} のロール {{role}} を削除しました。", + "User_muted_by": "{{userBy}} は {{userMuted}} をミュートしました。", + "User_removed_by": "{{userBy}} は {{userRemoved}} を退出させました。", + "User_sent_an_attachment": "{{user}}は添付ファイルを送信しました", + "User_unmuted_by": "{{userUnmuted}} は {{userBy}} にミュート解除されました。", + "User_was_set_role_by_": "{{user}} was set {{role}} by {{userBy}}", + "Username_is_empty": "ユーザー名が空です。", + "Username": "ユーザー名", + "Username_or_email": "ユーザー名かメールアドレス", + "Validating": "検証中", + "Video_call": "ビデオ通話", + "View_Original": "オリジナルを見る", + "Voice_call": "音声通話", + "Websocket_disabled": "Websocketはこのサーバーでは無効化されています。\n{{contact}}", + "Welcome": "ようこそ", + "Whats_your_2fa": "2段階認証のコードを入力してください", + "Without_Servers": "サーバーを除く", + "Write_External_Permission_Message": "Rocket.Chatは画像を保存するためにギャラリーへのアクセスを求めています。", + "Write_External_Permission": "ギャラリーへのアクセス許可", + "Yes_action_it": "はい、{{action}}します!", + "Yesterday": "昨日", + "You_are_in_preview_mode": "プレビューモードです。", + "You_are_offline": "オフラインです。", + "You_can_search_using_RegExp_eg": "正規表現を利用できます。 例: `/^text$/i`", + "You_colon": "あなた: ", + "you_were_mentioned": "あなたがメンションしました", + "you": "あなた", + "You": "あなた", + "Logged_out_by_server": "サーバーからログアウトします。もう一度ログインしてください。", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "シェアするためには1つ以上のサーバーにアクセスする必要があります。", + "Your_certificate": "あなたの認証情報", + "Your_invite_link_will_expire_after__usesLeft__uses": "招待リンクはあと{{usesLeft}}回で使用できなくなります。", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "招待リンクは{{date}}までか、あと{{usesLeft}}回で使用できなくなります。", + "Your_invite_link_will_expire_on__date__": "招待リンクは{{date}}に使用できなくなります。", + "Your_invite_link_will_never_expire": "招待リンクはずっと有効です。", + "Version_no": "バージョン: {{version}}", + "You_will_not_be_able_to_recover_this_message": "このメッセージは復元できません!", + "Change_Language": "言語を変更", + "Crash_report_disclaimer": "クラッシュレポートには問題を特定し、修正するために必要な情報のみが含まれます。チャット内のコンテンツは送信されません。", + "Type_message": "メッセージを入力", + "Room_search": "ルームを検索", + "Room_selection": "ルームを選択 1...9", + "Next_room": "次のルーム", + "Previous_room": "前のルーム", + "New_room": "新しいルーム", + "Upload_room": "ルームにアップロード", + "Search_messages": "メッセージを検索", + "Scroll_messages": "メッセージをスクロール", + "Reply_latest": "最新のメッセージにリプライ", + "Server_selection": "サーバー選択", + "Server_selection_numbers": "サーバー選択 1...9", + "Add_server": "サーバーを追加", + "New_line": "新しい行", + "You_will_be_logged_out_of_this_application": "アプリからログアウトします。", + "Clear": "クリア", + "This_will_clear_all_your_offline_data": "オフラインデータをすべて削除します。", + "invalid-room": "無効なルーム" +} \ No newline at end of file diff --git a/app/i18n/locales/ka-GE.json b/app/i18n/locales/ka-GE.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ka-GE.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/kg.json b/app/i18n/locales/kg.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/kg.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/km.json b/app/i18n/locales/km.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/km.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ko.json b/app/i18n/locales/ko.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ko.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ku.json b/app/i18n/locales/ku.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ku.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ln.json b/app/i18n/locales/ln.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ln.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/lo.json b/app/i18n/locales/lo.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/lo.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/lt.json b/app/i18n/locales/lt.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/lt.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/lv.json b/app/i18n/locales/lv.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/lv.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/mn.json b/app/i18n/locales/mn.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/mn.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ms-MY.json b/app/i18n/locales/ms-MY.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ms-MY.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/nl.json b/app/i18n/locales/nl.json index 33acb243b..df4e3aafd 100644 --- a/app/i18n/locales/nl.json +++ b/app/i18n/locales/nl.json @@ -1,776 +1,786 @@ { - "1_person_reacted": "1 persoon heeft gereageerd", - "1_user": "1 gebruiker", - "error-action-not-allowed": "{{action}} is niet toegestaan", - "error-application-not-found": "Applicatie niet gevonden", - "error-archived-duplicate-name": "Er is een gearchiveerd kanaal met de naam {{room_name}}", - "error-avatar-invalid-url": "Ongeldige avatar-URL: {{url}}", - "error-avatar-url-handling": "Fout bij het verwerken van de avatar-instelling van een URL ({{url}}) voor {{username}}", - "error-cant-invite-for-direct-room": "Kan gebruikers in directe kamers niet uitnodigen", - "error-could-not-change-email": "Kan e-mail niet veranderen", - "error-could-not-change-name": "Kan naam niet veranderen", - "error-could-not-change-username": "Kan gebruikersnaam niet veranderen", - "error-could-not-change-status": "Kan status niet wijzigen", - "error-delete-protected-role": "Kan een beveiligde rol niet verwijderen", - "error-department-not-found": "Afdeling niet gevonden", - "error-direct-message-file-upload-not-allowed": "Delen van bestanden in privéberichten niet toegestaan", - "error-duplicate-channel-name": "Een kanaal met naam {{room_name}} bestaat", - "error-email-domain-blacklisted": "Het e-maildomein staat op de zwarte lijst", - "error-email-send-failed": "Fout bij het verzenden van e-mail: {{message}}", - "error-save-image": "Fout bij het opslaan van afbeelding", - "error-save-video": "Fout bij het opslaan van video", - "error-field-unavailable": "{{field}} is al in gebruik :(", - "error-file-too-large": "Bestand is te groot", - "error-importer-not-defined": "De importeur is niet correct gedefinieerd, de klasse Import ontbreekt.", - "error-input-is-not-a-valid-field": "{{input}} is geen geldig {{field}}", - "error-invalid-actionlink": "Ongeldige actielink", - "error-invalid-arguments": "Ongeldige argumenten", - "error-invalid-asset": "Ongeldig item", - "error-invalid-channel": "Ongeldig kanaal.", - "error-invalid-channel-start-with-chars": "Ongeldig kanaal. Begin met @ of #", - "error-invalid-custom-field": "Ongeldig aangepast veld", - "error-invalid-custom-field-name": "Ongeldige aangepaste veldnaam. Gebruik alleen letters, cijfers, koppeltekens en underscores.", - "error-invalid-date": "Ongeldige datum opgegeven.", - "error-invalid-description": "Ongeldige beschrijving", - "error-invalid-domain": "Ongeldig domein", - "error-invalid-email": "Ongeldig e-mail {{email}}", - "error-invalid-email-address": "Ongeldig e-mailadres", - "error-invalid-file-height": "Ongeldige bestandshoogte", - "error-invalid-file-type": "Ongeldig bestandstype", - "error-invalid-file-width": "Ongeldige bestandsbreedte", - "error-invalid-from-address": "Je hebt een ongeldig FROM adres opgegeven.", - "error-invalid-integration": "Ongeldige integratie", - "error-invalid-message": "Ongeldig bericht", - "error-invalid-method": "Ongeldige methode", - "error-invalid-name": "Ongeldige naam", - "error-invalid-password": "Ongeldig wachtwoord", - "error-invalid-redirectUri": "Ongeldige redirectUri", - "error-invalid-role": "Ongeldige rol", - "error-invalid-room": "Ongeldige kamer", - "error-invalid-room-name": "{{room_name}} is geen geldige kamernaam", - "error-invalid-room-type": "{{type}} is geen geldig kamertype.", - "error-invalid-settings": "Ongeldige instellingen opgegeven", - "error-invalid-subscription": "Ongeldig abonnement", - "error-invalid-token": "Ongeldige token", - "error-invalid-triggerWords": "Ongeldige triggerWoorden", - "error-invalid-urls": "Ongeldige URL's", - "error-invalid-user": "Ongeldige gebruiker", - "error-invalid-username": "Ongeldige gebruikersnaam", - "error-invalid-webhook-response": "De webhook-URL heeft met een andere status dan 200 gereageerd", - "error-message-deleting-blocked": "Het verwijderen van berichten is geblokkeerd", - "error-message-editing-blocked": "Het aanpassen van berichten is geblokkeerd", - "error-message-size-exceeded": "Berichtgrootte is groter dan Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Je moet de link [unsubscribe] opgeven.", - "error-no-owner-channel": "Je bent niet de eigenaar van het kanaal", - "error-no-tokens-for-this-user": "Er zijn geen tokens voor deze gebruiker", - "error-not-allowed": "Niet toegestaan", - "error-not-authorized": "Geen bevoegdheid", - "error-push-disabled": "Push is uitgeschakeld", - "error-remove-last-owner": "Dit is de laatste eigenaar. Stel een nieuwe eigenaar in voordat je deze verwijdert.", - "error-role-in-use": "Kan rol niet verwijderen omdat deze in gebruik is", - "error-role-name-required": "Rolnaam is vereist", - "error-the-field-is-required": "Het veld {{field}} is verplicht.", - "error-too-many-requests": "Fout, te veel verzoeken. Vertraag, alsjeblieft. Je moet {{seconds}} seconden wachten voordat je het opnieuw probeert.", - "error-user-is-not-activated": "Gebruiker is niet geactiveerd", - "error-user-has-no-roles": "Gebruiker heeft geen rollen", - "error-user-limit-exceeded": "Het aantal gebruikers die je probeert uit te nodigen voor #channel_name overschrijdt de limiet ingesteld door de beheerder", - "error-user-not-in-room": "Gebruiker is niet in deze kamer", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "Gebruikersregistratie is uitgeschakeld", - "error-user-registration-secret": "Gebruikersregistratie is alleen via geheime URL toegestaan", - "error-you-are-last-owner": "Je bent de laatste eigenaar. Stel een nieuwe eigenaar in voordat je de kamer verlaat.", - "error-status-not-allowed": "Onzichtbare status is uitgeschakeld", - "Actions": "Acties", - "activity": "activiteit", - "Activity": "Activiteit", - "Add_Reaction": "Reactie toevoegen", - "Add_Server": "Server toevoegen", - "Add_users": "Gebruikers toevoegen", - "Admin_Panel": "Admin Paneel", - "Agent": "Agent", - "Alert": "Waarschuwing", - "alert": "waarschuwing", - "alerts": "waarschuwingen", - "All_users_in_the_channel_can_write_new_messages": "Alle gebruikers in het kanaal kunnen nieuwe berichten schrijven", - "All_users_in_the_team_can_write_new_messages": "Alle gebruikers in het team kunnen nieuwe berichten schrijven", - "A_meaningful_name_for_the_discussion_room": "Een betekenisvolle naam voor de discussieruimte", - "All": "Alle", - "All_Messages": "Alle berichten", - "Allow_Reactions": "Reacties toestaan", - "Alphabetical": "Alfabetisch", - "and_more": "en meer", - "and": "en", - "announcement": "aankondiging", - "Announcement": "Aankondiging", - "Apply_Your_Certificate": "Pas jouw certificaat toe", - "ARCHIVE": "ARCHIVEER", - "archive": "archiveer", - "are_typing": "zijn aan het typen", - "Are_you_sure_question_mark": "Weet je het zeker?", - "Are_you_sure_you_want_to_leave_the_room": "Weet je zeker dat je de kamer {{room}} wilt verlaten?", - "Audio": "Audio", - "Authenticating": "Authenticatie", - "Automatic": "Automatisch", - "Auto_Translate": "Automatisch vertalen", - "Avatar_changed_successfully": "Avatar succesvol gewijzigd!", - "Avatar_Url": "Avatar-URL", - "Away": "Afwezig", - "Back": "Terug", - "Black": "Zwart", - "Block_user": "Blokkeer gebruiker", - "Browser": "Browser", - "Broadcast_channel_Description": "Alleen geautoriseerde gebruikers kunnen nieuwe berichten schrijven, maar de andere gebruikers zullen kunnen antwoorden", - "Broadcast_Channel": "Uitzendkanaal", - "Busy": "Bezig", - "By_proceeding_you_are_agreeing": "Door verder te gaan ga je akkoord met onze", - "Cancel_editing": "Bewerken annuleren", - "Cancel_recording": "Opname annuleren", - "Cancel": "Annuleren", - "changing_avatar": "avatar aan het veranderen", - "creating_channel": "kanaal aan het maken", - "creating_invite": "uitnodiging maken", - "Channel_Name": "Kanaal naam", - "Channels": "Kanalen", - "Chats": "Chats", - "Call_already_ended": "Gesprek al beeïndigd!", - "Clear_cookies_alert": "Wilt u alle cookies wissen?", - "Clear_cookies_desc": "Met deze actie worden alle inlogcookies gewist, zodat u op andere accounts kunt inloggen.", - "Clear_cookies_yes": "Ja, cookies wissen", - "Clear_cookies_no": "Nee, bewaar cookies", - "Click_to_join": "Klik om mee te doen!", - "Close": "Sluiten", - "Close_emoji_selector": "Emoji-kiezer sluiten", - "Closing_chat": "Chat sluiten", - "Change_language_loading": "Taal veranderen", - "Chat_closed_by_agent": "Chat gesloten door agent", - "Choose": "Kies", - "Choose_from_library": "Kies uit bibliotheek", - "Choose_file": "Kies bestand", - "Choose_where_you_want_links_be_opened": "Kies waar je links wilt openen", - "Code": "Code", - "Code_or_password_invalid": "Code of wachtwoord ongeldig", - "Collaborative": "Samenwerkend", - "Confirm": "Bevestig", - "Connect": "Verbinden", - "Connected": "Verbonden", - "connecting_server": "verbonden met de server", - "Connecting": "Aan het verbinden...", - "Contact_us": "Neem contact op", - "Contact_your_server_admin": "Neem contact op met je serverbeheerder.", - "Continue_with": "Ga verder met", - "Copied_to_clipboard": "Gekopieerd naar klembord!", - "Copy": "Kopiëren", - "Conversation": "Conversatie", - "Permalink": "Permalink", - "Certificate_password": "Certificaat wachtwoord", - "Clear_cache": "Lokale server cache wissen", - "Clear_cache_loading": "Cache wissen.", - "Whats_the_password_for_your_certificate": "Wat is het wachtwoord voor jouw certificaat?", - "Create_account": "Account aanmaken", - "Create_Channel": "Kanaal aanmaken", - "Create_Direct_Messages": "Directe berichten aanmaken", - "Create_Discussion": "Discussie aanmaken", - "Created_snippet": "knipsel aangemaakt", - "Create_a_new_workspace": "Een nieuwe werkruimte aanmaken", - "Create": "Aanmaken", - "Custom_Status": "Aangepaste status", - "Dark": "Donker", - "Dark_level": "Donker niveau", - "Default": "Standaard", - "Default_browser": "Standaard browser", - "Delete_Room_Warning": "Als je een kamer verwijdert, worden alle berichten die in de kamer geplaatst zijn, verwijderd. Dit kan niet ongedaan worden gemaakt.", - "Department": "Afdeling", - "delete": "verwijderen", - "Delete": "Verwijderen", - "DELETE": "VERWIJDEREN", - "move": "verplaatsen", - "deleting_room": "kamer verwijderen", - "description": "omschrijving", - "Description": "Omschrijving", - "Desktop_Options": "Bureaubladopties", - "Desktop_Notifications": "Desktopmeldingen", - "Desktop_Alert_info": "Deze meldingen worden op desktop geleverd", - "Directory": "Map", - "Direct_Messages": "Directe berichten", - "Disable_notifications": "Zet notificaties uit", - "Discussions": "Discussies", - "Discussion_Desc": "Help het overzicht te houden over wat er aan de hand is! Door een discussie aan te maken, wordt een subkanaal van het geselecteerde kanaal aangemaakt en worden beide gekoppeld.", - "Discussion_name": "Discussienaam", - "Done": "Gedaan", - "Dont_Have_An_Account": "Heb je geen account?", - "Do_you_have_an_account": "Heb je een account?", - "Do_you_have_a_certificate": "Heb je een certificaat?", - "Do_you_really_want_to_key_this_room_question_mark": "Wil je deze kamer echt {{key}}?", - "E2E_Encryption": "E2E-codering", - "E2E_How_It_Works_info1": "U kunt nu versleutelde privégroepen en directe berichten aanmaken. U kunt ook bestaande privégroepen of DM's wijzigen in versleuteld.", - "E2E_How_It_Works_info2": "Dit is *end-to-end codering*, dus de sleutel om jouw berichten te coderen/decoderen en deze wordt niet op de server opgeslagen. Daarom *moet je dit wachtwoord op een veilige plaats opslaan* waar je later toegang hebt als je dat nodig hebt.", - "E2E_How_It_Works_info3": "Als je doorgaat, wordt er automatisch een E2E-wachtwoord gegenereerd.", - "E2E_How_It_Works_info4": "Je kan ook op elk moment een nieuw wachtwoord voor uw coderingssleutel instellen vanuit elke browser waarin u het bestaande E2E-wachtwoord hebt ingevoerd.", - "edit": "bewerk", - "edited": "bewerkt", - "Edit": "Bewerk", - "Edit_Status": "Status bewerken", - "Edit_Invite": "Bewerk uitnodiging", - "End_to_end_encrypted_room": "End-to-end versleutelde kamer", - "end_to_end_encryption": "end-to-end encryptie", - "Email_Notification_Mode_All": "Elke vermelding/DM", - "Email_Notification_Mode_Disabled": "Uitgeschakeld", - "Email_or_password_field_is_empty": "E-mail of wachtwoordveld is leeg", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Lege titel", - "Enable_Auto_Translate": "Automatisch vertalen inschakelen", - "Enable_notifications": "Notificaties aanzetten", - "Encrypted": "Versleuteld", - "Encrypted_message": "Versleuteld bericht", - "Enter_Your_E2E_Password": "Voer uw E2E-wachtwoord in", - "Enter_Your_Encryption_Password_desc1": "Hiermee krijg je toegang tot uw gecodeerde privégroepen en directe berichten.", - "Enter_Your_Encryption_Password_desc2": "Op elke plaats waar je de chat gebruikt, moet je het wachtwoord invoeren om berichten te coderen/decoderen.", - "Encryption_error_title": "Jouw coderingswachtwoord lijkt verkeerd", - "Encryption_error_desc": "Het was niet mogelijk om uw coderingssleutel te decoderen om te worden geïmporteerd.", - "Everyone_can_access_this_channel": "Iedereen heeft toegang tot dit kanaal", - "Everyone_can_access_this_team": "Iedereen heeft toegang tot dit team", - "Error_uploading": "Fout bij uploaden", - "Expiration_Days": "Vervaldatum (Dagen)", - "Favorite": "Favoriet", - "Favorites": "Favorieten", - "Files": "Bestanden", - "File_description": "Bestandsbeschrijving", - "File_name": "Bestandsnaam", - "Finish_recording": "Opname beëindigen", - "Following_thread": "Volg discussie", - "For_your_security_you_must_enter_your_current_password_to_continue": "Voor je veiligheid moet je je huidige wachtwoord invoeren om door te gaan", - "Forgot_password_If_this_email_is_registered": "Als dit e-mailadres geregistreerd is, sturen we instructies om je wachtwoord opnieuw in te stellen. Als je geen e-mail ontvangt, kom dan terug en probeer het opnieuw.", - "Forgot_password": "Wachtwoord vergeten?", - "Forgot_Password": "Wachtwoord vergeten", - "Forward": "Doorsturen", - "Forward_Chat": "Chat doorsturen", - "Forward_to_department": "Doorsturen naar afdeling", - "Forward_to_user": "Doorsturen naar gebruiker", - "Full_table": "Klik om de volledige tabel te zien", - "Generate_New_Link": "Nieuwe link genereren", - "Group_by_favorites": "Groepeer favorieten", - "Group_by_type": "Groeperen op type", - "Hide": "Verberg", - "Has_joined_the_channel": "is bij het kanaal gekomen", - "Has_joined_the_conversation": "heeft zich bij het gesprek aangesloten", - "Has_left_the_channel": "heeft het kanaal verlaten", - "Hide_System_Messages": "Verberg systeemberichten", - "Hide_type_messages": "Verberg \"{{type}}\" berichten", - "How_It_Works": "Hoe het werkt", - "Message_HideType_uj": "Gebruiker neemt deel", - "Message_HideType_ul": "Gebruiker vertrokken", - "Message_HideType_ru": "Gebruiker verwijderd", - "Message_HideType_au": "Gebruiker toegevoegd", - "Message_HideType_mute_unmute": "Gebruiker gedempt / kan weer praten", - "Message_HideType_r": "Kamernaam gewijzigd", - "Message_HideType_ut": "Gebruiker neemt deel aan gesprek", - "Message_HideType_wm": "Welkom", - "Message_HideType_rm": "Bericht verwijderd", - "Message_HideType_subscription_role_added": "Kreeg rol", - "Message_HideType_subscription_role_removed": "Rol niet langer gedefinieerd", - "Message_HideType_room_archived": "Kamer gearchiveerd", - "Message_HideType_room_unarchived": "Kamer niet gearchiveerd", - "I_Saved_My_E2E_Password": "Ik heb mijn E2E-wachtwoord opgeslagen", - "IP": "IP", - "In_app": "In-app", - "In_App_And_Desktop": "In-app en desktop", - "In_App_and_Desktop_Alert_info": "Geeft een banner boven aan het scherm weer wanneer de app geopend is, en geeft een melding op desktop weer", - "Invisible": "Onzichtbaar", - "Invite": "Nodig uit", - "is_a_valid_RocketChat_instance": "is een geldige Rocket.Chat instantie", - "is_not_a_valid_RocketChat_instance": "is geen geldige Rocket.Chat instantie", - "is_typing": "is aan het typen", - "Invalid_or_expired_invite_token": "Ongeldige of verlopen uitnodigingstoken", - "Invalid_server_version": "De server waarmee je probeert te verbinden, gebruikt een versie die niet meer door de app wordt ondersteund: {{currentVersion}}.\n\nWe hebben versie {{minVersion}} nodig", - "Invite_Link": "Uitnodigingslink", - "Invite_users": "Gebruikers uitnodigen", - "Join": "Doe mee", - "Join_Code": "Deelnamecode", - "Insert_Join_Code": "Deelnamecode invoegen", - "Join_our_open_workspace": "Word lid van onze open werkruimte", - "Join_your_workspace": "Word lid van jouw werkruimte", - "Just_invited_people_can_access_this_channel": "Alleen uitgenodigde mensen hebben toegang tot dit kanaal", - "Just_invited_people_can_access_this_team": "Alleen uitgenodigde mensen hebben toegang tot dit team", - "Language": "Taal", - "last_message": "laatste bericht", - "Leave_channel": "Kanaal verlaten", - "leaving_room": "ruimte verlaten", - "Leave": "Verlaten", - "leave": "verlaten", - "Legal": "Legaal", - "Light": "Licht", - "License": "Licentie", - "Livechat": "Livechat", - "Livechat_edit": "Livechat bewerken", - "Login": "Inloggen", - "Login_error": "Je inloggegevens zijn geweigerd! Probeer het opnieuw.", - "Login_with": "Inloggen met", - "Logging_out": "Uitloggen.", - "Logout": "Uitloggen", - "Max_number_of_uses": "Max aantal toepassingen", - "Max_number_of_users_allowed_is_number": "Max aantal toegestane gebruikers is {{maxUsers}}", - "members": "leden", - "Members": "Leden", - "Mentioned_Messages": "Vermelde berichten", - "mentioned": "vermeld", - "Mentions": "Vermeldingen", - "Message_accessibility": "Bericht van {{user}} om {{time}}: {{message}}", - "Message_actions": "Berichtacties", - "Message_pinned": "Bericht vastgezet", - "Message_removed": "Bericht verwijderd", - "Message_starred": "Bericht met ster", - "Message_unstarred": "Bericht zonder ster", - "message": "bericht", - "messages": "berichten", - "Message": "Bericht", - "Messages": "Berichten", - "Message_Reported": "Bericht gerapporteerd", - "Microphone_Permission_Message": "Rocket.Chat heeft toegang tot je microfoon nodig zodat je een audiobericht kunt verzenden.", - "Microphone_Permission": "Microfoontoestemming", - "Mute": "Dempen", - "muted": "gedempt", - "My_servers": "Mijn servers", - "N_people_reacted": "{{n}} mensen hebben gereageerd", - "N_users": "{{n}} gebruikers", - "N_channels": "{{n}} kanalen", - "name": "naam", - "Name": "Naam", - "Navigation_history": "Navigatie geschiedenis", - "Never": "Nooit", - "New_Message": "Nieuw bericht", - "New_Password": "Nieuw wachtwoord", - "New_Server": "Nieuwe server", - "Next": "Volgende", - "No_files": "Geen bestanden", - "No_limit": "Geen limiet", - "No_mentioned_messages": "Geen vermelde berichten", - "No_pinned_messages": "Geen vastgezette berichten", - "No_results_found": "Geen resultaten gevonden", - "No_starred_messages": "Geen berichten met ster gemarkeerd", - "No_thread_messages": "Geen discussieberichten", - "No_label_provided": "Geen {{label}} opgegeven.", - "No_Message": "Geen bericht", - "No_messages_yet": "Nog geen berichten", - "No_Reactions": "Geen reacties", - "No_Read_Receipts": "Geen leesbevestigingen", - "Not_logged": "Niet ingelogd", - "Not_RC_Server": "Dit is geen Rocket.Chat-server.\n{{contact}}", - "Nothing": "Niets", - "Nothing_to_save": "Niets om op te slaan!", - "Notify_active_in_this_room": "Waarschuw actieve gebruikers in deze kamer", - "Notify_all_in_this_room": "Breng iedereen in deze kamer op de hoogte", - "Notifications": "Notificaties", - "Notification_Duration": "Duur van de notificatie", - "Notification_Preferences": "Notificatievoorkeuren", - "No_available_agents_to_transfer": "Geen beschikbare agenten om door te sturen", - "Offline": "Offline", - "Oops": "Oeps!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Bezig met chatten", - "Omnichannel_enable_alert": "Je bent niet beschikbaar op Omnichannel. Wil je beschikbaar zijn?", - "Onboarding_description": "Een werkruimte is de ruimte van jouw team of organisatie om samen te werken. Vraag aan de beheerder van de werkruimte een adres om lid te worden of maak er een aan voor jouw team.", - "Onboarding_join_workspace": "Word lid van een werkruimte", - "Onboarding_subtitle": "Meer dan teamsamenwerking", - "Onboarding_title": "Welkom bij Rocket.Chat", - "Onboarding_join_open_description": "Word lid van onze open werkruimte om met het Rocket.Chat team en de community te chatten.", - "Onboarding_agree_terms": "Door verder te gaan, ga je akkoord met Rocket.Chat", - "Onboarding_less_options": "Minder opties", - "Onboarding_more_options": "Meer opties", - "Online": "Online", - "Only_authorized_users_can_write_new_messages": "Alleen geautoriseerde gebruikers kunnen nieuwe berichten schrijven", - "Open_emoji_selector": "Emoji-kiezer openen", - "Open_Source_Communication": "Open Source Communicatie", - "Open_your_authentication_app_and_enter_the_code": "Open je authenticatie-app en voer de code in.", - "OR": "OF", - "OS": "OS", - "Overwrites_the_server_configuration_and_use_room_config": "Overschrijft de serverconfiguratie en gebruikt kamer config", - "Password": "Wachtwoord", - "Parent_channel_or_group": "Bovenliggend kanaal of groep", - "Permalink_copied_to_clipboard": "Permalink gekopiëerd naar klembord!", - "Phone": "Telefoon", - "Pin": "Vastzetten", - "Pinned_Messages": "Vastgezette berichten", - "pinned": "vastgezet", - "Pinned": "Vastgezet", - "Please_add_a_comment": "Voeg een reactie toe", - "Please_enter_your_password": "Voer je wachtwoord in", - "Please_wait": "Even geduld.", - "Preferences": "Voorkeuren", - "Preferences_saved": "Voorkeuren opgeslagen!", - "Privacy_Policy": " Privacybeleid", - "Private_Channel": "Privékanaal", - "Private": "Privé", - "Processing": "Verwerking...", - "Profile_saved_successfully": "Profiel succesvol opgeslagen!", - "Profile": "Profiel", - "Public_Channel": "Publiek kanaal", - "Public": "Publiek", - "Push_Notifications": "Pushmeldingen", - "Push_Notifications_Alert_Info": "Deze notificaties worden aan jouw enkel geleverd als de app niet geopend is", - "Quote": "Citaat", - "Reactions_are_disabled": "Reacties zijn uitgeschakeld", - "Reactions_are_enabled": "Reacties zijn ingeschakeld", - "Reactions": "Reacties", - "Read": "Lezen", - "Read_External_Permission_Message": "Rocket.Chat heeft toegang nodig tot foto's, media en bestanden op je apparaat", - "Read_External_Permission": "Lees toestemming voor media", - "Read_Only_Channel": "Alleen-lezen kanaal", - "Read_Only": "Alleen lezen", - "Read_Receipt": "Leesbevestiging", - "Receive_Group_Mentions": "Groepsvermeldingen ontvangen", - "Receive_Group_Mentions_Info": "Ontvang @all en @here vermeldingen", - "Register": "Registreren", - "Repeat_Password": "Herhaal wachtwoord", - "Replied_on": "Beantwoord op:", - "replies": "antwoordt", - "reply": "antwoord", - "Reply": "Antwoord", - "Report": "Rapporteren", - "Receive_Notification": "Notificatie ontvangen", - "Receive_notifications_from": "Ontvang notificaties van {{name}}", - "Resend": "Opnieuw verzenden", - "Reset_password": "Wachtwoord resetten", - "resetting_password": "wachtwoord aan het resetten", - "RESET": "RESET", - "Return": "Terug", - "Review_app_title": "Geniet je van deze app?", - "Review_app_desc": "Geef ons 5 sterren op {{store}}", - "Review_app_yes": "Zeker!", - "Review_app_no": "Nee", - "Review_app_later": "Misschien later", - "Review_app_unable_store": "Kan {{store}} niet openen", - "Review_this_app": "Beoordeel deze app", - "Remove": "Verwijderen", - "remove": "verwijderen", - "Roles": "Rollen", - "Room_actions": "Kameracties", - "Room_changed_announcement": "Kameraankondiging gewijzigd in: {{announcement}} door {{userBy}}", - "Room_changed_avatar": "Kameravatar gewijzigd door {{userBy}}", - "Room_changed_description": "Kamerbeschrijving gewijzigd in: {{description}} door {{userBy}}", - "Room_changed_privacy": "Kamertype gewijzigd in: {{type}} door {{userBy}}", - "Room_changed_topic": "Oonderwerp van kamer gewijzigd in: {{topic}} door {{userBy}}", - "Room_Files": "Kamerbestanden", - "Room_Info_Edit": "Kamer info bewerken", - "Room_Info": "Kamer info", - "Room_Members": "Kamerleden", - "Room_name_changed": "Kamernaam gewijzigd in: {{name}} door {{userBy}}", - "SAVE": "OPSLAAN", - "Save_Changes": "Wijzigingen opslaan", - "Save": "Opslaan", - "Saved": "Opgeslagen", - "saving_preferences": "voorkeuren opslaan", - "saving_profile": "profiel opslaan", - "saving_settings": "instellingen opslaan", - "saved_to_gallery": "Opgeslagen in galerij", - "Save_Your_E2E_Password": "Bewaar jouw E2E-wachtwoord", - "Save_Your_Encryption_Password": "Bewaar jouw versleutelingswachtwoord", - "Save_Your_Encryption_Password_warning": "Dit wachtwoord wordt nergens opgeslagen, bewaar het dus zorgvuldig ergens anders.", - "Save_Your_Encryption_Password_info": "Indien je je wachtwoord verliest, is er geen enkel manier om het te herstellen en verlies je toegang tot je berichten.", - "Search_Messages": "Berichten zoeken", - "Search": "Zoeken", - "Search_by": "Zoeken op", - "Search_global_users": "Zoeken naar wereldwijde gebruikers", - "Search_global_users_description": "Als je dit inschakelt, kan je gebruikers van andere bedrijven en servers opzoeken.", - "Seconds": "{{second}} seconden", - "Security_and_privacy": "Veiligheid en privacy", - "Select_Avatar": "Selecteer avatar", - "Select_Server": "Selecteer server", - "Select_Users": "Selecteer gebruikers", - "Select_a_Channel": "Selecteer een kanaal", - "Select_a_Department": "Selecteer een afdeling", - "Select_an_option": "Selecteer een optie", - "Select_a_User": "Selecteer een gebruiker", - "Send": "Verzenden", - "Send_audio_message": "Audiobericht verzenden", - "Send_crash_report": "Crashrapport verzenden", - "Send_message": "Bericht verzenden", - "Send_me_the_code_again": "Stuur me de code opnieuw", - "Send_to": "Verzenden naar...", - "Sending_to": "Verzenden naar", - "Sent_an_attachment": "Een bijlage verzonden", - "Server": "Server", - "Servers": "Servers", - "Server_version": "Server versie: {{version}}", - "Set_username_subtitle": "De gebruikersnaam wordt gebruikt om anderen toe te staan jou in berichten te vermelden", - "Set_custom_status": "Aangepaste status instellen", - "Set_status": "Status instellen", - "Status_saved_successfully": "Status succesvol opgeslagen!", - "Settings": "Instellingen", - "Settings_succesfully_changed": "Instellingen succesvol gewijzigd!", - "Share": "Delen", - "Share_Link": "Deel link", - "Share_this_app": "Deel deze app", - "Show_more": "Meer tonen..", - "Show_Unread_Counter": "Toon ongelezen teller", - "Show_Unread_Counter_Info": "Ongelezen teller wordt weergegeven als een badge aan de rechterkant van het kanaal, in de lijst", - "Sign_in_your_server": "Log in op je server", - "Sign_Up": "Registreren", - "Some_field_is_invalid_or_empty": "Sommige velden zijn ongeldig of leeg", - "Sorting_by": "Sorteren op {{key}}", - "Sound": "Geluid", - "Star_room": "Favoriete kanalen", - "Star": "Ster", - "Starred_Messages": "Berichten met ster gemarkeerd", - "starred": "met ster gemarkeerd", - "Starred": "Met ster gemarkeerd", - "Start_of_conversation": "Begin van een gesprek", - "Start_a_Discussion": "Start een discussie", - "Started_discussion": "Begin van een discussie:", - "Started_call": "Oproep gestart door {{userBy}}", - "Submit": "Verzenden", - "Table": "Tabel", - "Tags": "Tags", - "Take_a_photo": "Neem een foto", - "Take_a_video": "Maak een video", - "Take_it": "Pak het!", - "tap_to_change_status": "tik om de status te wijzigen", - "Tap_to_view_servers_list": "Tik om de serverlijst te bekijken", - "Terms_of_Service": " Servicevoorwaarden ", - "Theme": "Thema", - "The_user_wont_be_able_to_type_in_roomName": "De gebruiker zal in {{roomName}} niet kunnen typen", - "The_user_will_be_able_to_type_in_roomName": "De gebruiker zal in {{roomName}} kunnen typen", - "There_was_an_error_while_action": "Er is een fout opgetreden tijdens {{action}}!", - "This_room_is_blocked": "Deze kamer is geblokkeerd", - "This_room_is_read_only": "Deze kamer is alleen-lezen", - "Thread": "Draad", - "Threads": "Draden", - "Timezone": "Tijdzone", - "To": "Naar", - "topic": "onderwerp", - "Topic": "Onderwerp", - "Translate": "Vertalen", - "Try_again": "Probeer het opnieuw", - "Two_Factor_Authentication": "Twee-factor authenticatie", - "Type_the_channel_name_here": "Typ hier de kanaalnaam", - "unarchive": "dearchiveren", - "UNARCHIVE": "DEARCHIVEREN", - "Unblock_user": "Deblokkeer gebruiker", - "Unfavorite": "Uit favorieten halen", - "Unfollowed_thread": "Draad ontvolgd", - "Unmute": "Dempen opheffen", - "unmuted": "ongedempt", - "Unpin": "Losmaken", - "unread_messages": "ongelezen", - "Unread": "Ongelezen", - "Unread_on_top": "Ongelezen bovenaan", - "Unstar": "Ster verwijderen", - "Updating": "Updaten...", - "Uploading": "Uploaden", - "Upload_file_question_mark": "Bestand uploaden?", - "User": "Gebruiker", - "Users": "Gebruikers", - "User_added_by": "Gebruiker {{userAdded}} toegevoegd door {{userBy}}", - "User_Info": "Gebruikers info", - "User_has_been_key": "Gebruiker is {{key}}", - "User_is_no_longer_role_by_": "{{user}} is niet langer {{role}} door {{userBy}}", - "User_muted_by": "Gebruiker {{userMuted}} gedempt door {{userBy}}", - "User_removed_by": "Gebruiker {{userRemoved}} verwijderd door {{userBy}}", - "User_sent_an_attachment": "{{user}} stuurde een bijlage", - "User_unmuted_by": "Dempen voor {{userUnmuted}} opgeheven door {{userBy}}", - "User_was_set_role_by_": "{{user}} is als {{role}} ingesteld door {{userBy}}", - "Username_is_empty": "Gebruikersnaam is leeg", - "Username": "Gebruikersnaam", - "Username_or_email": "Gebruikersnaam of e-mail", - "Uses_server_configuration": "Gebruikt serverconfiguratie", - "Validating": "Valideren", - "Registration_Succeeded": "Registratie geslaagd!", - "Verify": "Verifiëren", - "Verify_email_title": "Registratie geslaagd!", - "Verify_email_desc": "We hebben je een e-mail gestuurd om je inschrijving te bevestigen. Als je binnenkort geen e-mail ontvangt, gelieve terug te komen en het opnieuw te proberen.", - "Verify_your_email_for_the_code_we_sent": "Verifieer je e-mail voor de code die we hebben gestuurd", - "Video_call": "Videogesprek", - "View_Original": "Bekijk origineel", - "Voice_call": "Spraakoproep", - "Waiting_for_network": "Wachten op netwerk...", - "Websocket_disabled": "Websocket is uitgeschakeld voor deze server.\n{{contact}}", - "Welcome": "Welkom", - "What_are_you_doing_right_now": "Wat doe je op dit moment?", - "Whats_your_2fa": "Wat is je 2FA code?", - "Without_Servers": "Zonder servers", - "Workspaces": "Werkruimten", - "Would_you_like_to_return_the_inquiry": "Wil je de aanvraag retourneren?", - "Write_External_Permission_Message": "Rocket.Chat heeft toegang nodig tot je galerij zodat je afbeeldingen kunt opslaan.", - "Write_External_Permission": "Galerij toestemming", - "Yes": "Ja", - "Yes_action_it": "Ja, {{action}} het!", - "Yesterday": "Gisteren", - "You_are_in_preview_mode": "Je bent in voorbeeldmodus", - "You_are_offline": "Je bent offline", - "You_can_search_using_RegExp_eg": "Je kan RegExp. gebruiken, bijv. `/^tekst$/i`", - "You_colon": "Jij: ", - "you_were_mentioned": "je bent vermeld", - "You_were_removed_from_channel": "Je bent verwijderd uit {{channel}}", - "you": "jij", - "You": "Jij", - "Logged_out_by_server": "Je bent uitgelogd door de server. Gelieve opnieuw in te loggen.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Je moet minstens toegang hebben tot één Rocket.Chat-server om iets te delen.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Je moet je e-mailadres verifiëren om meldingen te ontvangen", - "Your_certificate": "Jouw certificaat", - "Your_invite_link_will_expire_after__usesLeft__uses": "Je uitnodigingslink verloopt na {{usesLeft}} keer.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Je uitnodigingslink verloopt op {{date}} of na {{usesLeft}} keer.", - "Your_invite_link_will_expire_on__date__": "Je uitnodigingslink verloopt op {{date}}.", - "Your_invite_link_will_never_expire": "Je uitnodigingslink zal nooit verlopen.", - "Your_workspace": "Jouw werkruimte", - "Your_password_is": "Jouw wachtwoord is", - "Version_no": "Versie: {{version}}", - "You_will_not_be_able_to_recover_this_message": "Je zal dit bericht niet meer kunnen herstellen!", - "You_will_unset_a_certificate_for_this_server": "Je zal een certificaat voor deze server uitschakelen", - "Change_Language": "Taal veranderen", - "Crash_report_disclaimer": "We volgen nooit nooit de inhoud van je chats. Het crashrapport en de analytische gebeurtenissen bevatten alleen relevante informatie voor ons om problemen te identificeren en op te lossen.", - "Type_message": "Typ bericht", - "Room_search": "Kamers zoeken", - "Room_selection": "Kamerkeuze 1...9", - "Next_room": "Volgende kamer", - "Previous_room": "Vorige kamer", - "New_room": "Nieuwe kamer", - "Upload_room": "Uploaden naar kamer", - "Search_messages": "Berichten zoeken", - "Scroll_messages": "Berichten scrollen", - "Reply_latest": "Antwoord op laatste", - "Reply_in_Thread": "Reageer in discussie", - "Server_selection": "Server selectie", - "Server_selection_numbers": "Server selectie 1...9", - "Add_server": "Server toevoegen", - "New_line": "Nieuwe lijn", - "You_will_be_logged_out_of_this_application": "Je wordt uitgelogd van deze applicatie.", - "Clear": "Wissen", - "This_will_clear_all_your_offline_data": "Hiermee worden al jouw offline gegevens gewist.", - "This_will_remove_all_data_from_this_server": "Dit zal alle gegevens van deze server verwijderen.", - "Mark_unread": "Markeer als ongelezen", - "Wait_activation_warning": "Voordat u kunt inloggen, moet uw account handmatig worden geactiveerd door een beheerder.", - "Screen_lock": "Schermvergrendeling", - "Local_authentication_biometry_title": "Authenticeren", - "Local_authentication_biometry_fallback": "Gebruik toegangscode", - "Local_authentication_unlock_option": "Ontgrendelen met toegangscode", - "Local_authentication_change_passcode": "Wijzig toegangscode", - "Local_authentication_info": "Opmerking: als je de toegangscode vergeet, moet je de app verwijderen en opnieuw installeren.", - "Local_authentication_facial_recognition": "gezichtsherkenning", - "Local_authentication_fingerprint": "vingerafdruk", - "Local_authentication_unlock_with_label": "Ontgrendel met {{label}}", - "Local_authentication_auto_lock_60": "Na 1 minuut", - "Local_authentication_auto_lock_300": "Na 5 minuten", - "Local_authentication_auto_lock_900": "Na 15 minuten", - "Local_authentication_auto_lock_1800": "Na 30 minuten", - "Local_authentication_auto_lock_3600": "Na 1 uur", - "Passcode_enter_title": "Voer uw toegangscode in", - "Passcode_choose_title": "Kies je nieuwe toegangscode", - "Passcode_choose_confirm_title": "Bevestig je nieuwe toegangscode", - "Passcode_choose_error": "Toegangscodes komen niet overeen. Probeer het opnieuw.", - "Passcode_choose_force_set": "Toegangscode vereist door beheerder", - "Passcode_app_locked_title": "App vergrendeld", - "Passcode_app_locked_subtitle": "Probeer het over {{timeLeft}} seconden opnieuw", - "After_seconds_set_by_admin": "Na {{seconds}} seconden (ingesteld door beheerder)", - "Dont_activate": "Nu niet activeren", - "Queued_chats": "Chats in de wachtrij", - "Queue_is_empty": "Wachtrij is leeg", - "Logout_from_other_logged_in_locations": "Afmelden bij andere ingelogde locaties", - "You_will_be_logged_out_from_other_locations": "Je wordt uitgelogd van andere locaties.", - "Logged_out_of_other_clients_successfully": "Succesvol uitgelogd bij andere klanten", - "Logout_failed": "Uitloggen mislukt!", - "Log_analytics_events": "Analysegebeurtenissen loggen", - "E2E_encryption_change_password_title": "Versleutelingswachtwoord wijzigen", - "E2E_encryption_change_password_description": "Je kan nu versleutelde privégroepen en directe berichten aanmaken. Je kan ook bestaande privégroepen of DM's wijzigen in versleuteld.\nDit is end-to-end codering, dus de sleutel om jouw berichten te coderen/decoderen en deze wordt niet op de server opgeslagen. Daarom moet je dit wachtwoord op een veilige plaats opslaan. Je moet het invoeren op andere apparaten waarop je e2e-codering wilt gebruiken.", - "E2E_encryption_change_password_error": "Fout bij het wijzigen van het E2E-wachtwoord", - "E2E_encryption_change_password_success": "E2E-wachtwoord succesvol gewijzigd!", - "E2E_encryption_change_password_message": "Zorg ervoor dat je het zorgvuldig ergens anders hebt bewaard.", - "E2E_encryption_change_password_confirmation": "Ja, verander het", - "E2E_encryption_reset_title": "E2E-sleutel resetten", - "E2E_encryption_reset_description": "Deze optie zal je huidige E2E-sleutel verwijderen en je wordt uitgelogd.\nWanneer je opniew inlogt, genereert Rocket.Chat je een nieuwe sleutel en herstelt je toegang tot elke versleutelde kamer die een of meer leden heeft.\nDoor de aard van E2E-versleuteling kan Rocket.Chat de toegang tot een versleutelde kamer zonder online lid niet herstellen.", - "E2E_encryption_reset_button": "E2E-sleutel resetten", - "E2E_encryption_reset_error": "Fout bij het resetten van E2E-sleutel!", - "E2E_encryption_reset_message": "Je wordt uitgelogd.", - "E2E_encryption_reset_confirmation": "Ja, reset het", - "Following": "Volgend", - "Threads_displaying_all": "Alles weergeven", - "Threads_displaying_following": "Volgend weergeven", - "Threads_displaying_unread": "Ongelezen weergeven", - "No_threads": "Er zijn geen discussies", - "No_threads_following": "Je volgt geen discussies", - "No_threads_unread": "Er zijn geen ongelezen discussies", - "Messagebox_Send_to_channel": "Stuur naar kanaal", - "Leader": "Leider", - "Moderator": "Moderator", - "Owner": "Eigenaar", - "Remove_from_room": "Verwijderen uit kamer", - "Ignore": "Negeren", - "Unignore": "Niet meer negeren", - "User_has_been_ignored": "Gebruiker is genegeerd", - "User_has_been_unignored": "Gebruiker wordt niet langer genegeerd", - "User_has_been_removed_from_s": "Gebruiker is verwijderd van {{s}}", - "User__username__is_now_a_leader_of__room_name_": "Gebruiker {{username}} is nu een leider van {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "Gebruiker {{username}} is nu een moderator van {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "Gebruiker {{username}} is nu eigenaar van {{room_name}}", - "User__username__removed_from__room_name__leaders": "Gebruiker {{username}} verwijderd uit {{room_name}} leiders", - "User__username__removed_from__room_name__moderators": "Gebruiker {{username}} verwijderd uit {{room_name}} moderators", - "User__username__removed_from__room_name__owners": "Gebruiker {{username}} verwijderd uit {{room_name}} eigenaars", - "The_user_will_be_removed_from_s": "De gebruiker wordt verwijderd uit {{s}}", - "Yes_remove_user": "Ja, verwijder gebruiker!", - "Direct_message": "Direct bericht", - "Message_Ignored": "Bericht genegeerd. Tik om het weer te geven.", - "Enter_workspace_URL": "Voer de werkruimte-URL in", - "Workspace_URL_Example": "Vb. uw-bedrijf.rocket.chat", - "This_room_encryption_has_been_enabled_by__username_": "De versleuteling van deze kamer is ingeschakeld door {{username}}", - "This_room_encryption_has_been_disabled_by__username_": "De versleuteling van deze kamer is uitgeschakeld door {{username}}", - "Teams": "Teams", - "No_team_channels_found": "Geen kanalen gevonden", - "Team_not_found": "Team niet gevonden", - "Create_Team": "Team aanmaken", - "Team_Name": "Teamnaam", - "Private_Team": "Privé team", - "Read_Only_Team": "Alleen-lezen team", - "Broadcast_Team": "Broadcast team", - "creating_team": "team maken", - "team-name-already-exists": "Er bestaat al een team met die naam", - "Add_Channel_to_Team": "Kanaal toevoegen aan team", - "Left_The_Team_Successfully": "Het team met succes verlaten", - "Create_New": "Maak nieuw", - "Add_Existing": "Voeg bestaande", - "Add_Existing_Channel": "Bestaand kanaal toevoegen", - "Remove_from_Team": "Verwijderen uit team", - "Auto-join": "Automatisch deelnemen", - "Remove_Team_Room_Warning": "Wil je dit kanaal uit het team verwijderen? Het kanaal wordt terug naar de werkruimte verplaatst", - "Confirmation": "Bevestiging", - "invalid-room": "Ongeldige kamer", - "You_are_leaving_the_team": "Je verlaat het team '{{team}}'", - "Leave_Team": "Team verlaten", - "Select_Team": "Selecteer team", - "Select_Team_Channels": "Selecteer de kanalen van het team die je wilt verlaten.", - "Cannot_leave": "Kan niet weggaan", - "Cannot_remove": "Kan niet verwijderen", - "Cannot_delete": "Kan niet verwijderen", - "Last_owner_team_room": "Je bent de laatste eigenaar van dit kanaal. Zodra u het team verlaat, blijft het kanaal binnen het team, maar beheert u het van buitenaf.", - "last-owner-can-not-be-removed": "Laatste eigenaar kan niet worden verwijderd.", - "Remove_User_Teams": "Selecteer de kanalen waarvan je de gebruiker wilt verwijderen.", - "Delete_Team": "Team verwijderen", - "Select_channels_to_delete": "Dit kan niet ongedaan worden gemaakt. Zodra je een team verwijdert, worden alle chatinhoud en configuratie verwijderd.\n\nSelecteer de kanalen die je wilt verwijderen. Degene die je besluit te behouden, zullen in jouw werkruimte beschikbaar zijn. Hou er rekening mee dat openbare kanalen nog steeds openbaar en voor iedereen zichtbaar zijn.", - "You_are_deleting_the_team": "Je verwijdert dit team.", - "Removing_user_from_this_team": "Je verwijdert {{user}} uit dit team", - "Remove_User_Team_Channels": "Selecteer de kanalen waarvan je de gebruiker wilt verwijderen.", - "Remove_Member": "Lid verwijderen", - "leaving_team": "team verlaten", - "removing_team": "verwijderen uit team", - "moving_channel_to_team": "kanaal verplaatsen naar team", - "deleting_team": "team verwijderen", - "member-does-not-exist": "Lid bestaat niet", - "Convert": "Converteren", - "Convert_to_Team": "Converteren naar team", - "Convert_to_Team_Warning": "Je converteert dit kanaal naar een team. Alle leden blijven behouden.", - "Move_to_Team": "Verplaats naar team", - "Move_Channel_Paragraph": "Het verplaatsen van een kanaal binnen een team betekent dat dit kanaal wordt toegevoegd in de context van het team. Maar, alle leden van dit kanaal, die geen lid zijn van het respectieve team, zullen nog steeds toegang hebben tot dit kanaal, maar worden niet als teamleden toegevoegd.\n\nHet volledige beheer van dit kanaal wordt nog steeds door de eigenaren van dit kanaal gedaan.\n\nTeamleden en zelfs teameigenaren, wanneer ze geen lid zijn van dit kanaal, hebben geen toegang tot de content van het kanaal.\n\nHou er rekening mee dat de eigenaar van het team de leden uit het kanaal kan verwijderen.", - "Move_to_Team_Warning": "Wil je na het lezen van de vorige instructies over dit gedrag, dit kanaal nog steeds naar het geselecteerde team verplaatsen?", - "Load_More": "Meer laden", - "Load_Newer": "Nieuwer laden", - "Load_Older": "Ouder laden", - "room-name-already-exists": "Kamernaam bestaat al", - "error-team-creation": "Fout bij het aanmaken van team", - "unauthorized": "Onbevoegd", - "Left_The_Room_Successfully": "Heeft kamer met succes verlaten", - "Deleted_The_Team_Successfully": "Team succesvol verwijderd", - "Deleted_The_Room_Successfully": "Kamer succesvol verwijderd", - "Convert_to_Channel": "Converteren naar kanaal", - "Converting_Team_To_Channel": "Team converteren naar kanaal", - "Select_Team_Channels_To_Delete": "Selecteer de teamkanalen die je wilt verwijderen, de kanalen die u niet selecteert, worden naar de werkruimte verplaatst.\n\nMerk op dat openbare kanalen openbaar en voor iedereen zichtbaar zullen zijn.", - "You_are_converting_the_team": "Je converteert dit team naar een kanaal", - "creating_discussion": "discussie aanmaken" -} + "1_person_reacted": "1 persoon heeft gereageerd", + "1_user": "1 gebruiker", + "error-action-not-allowed": "{{action}} is niet toegestaan", + "error-application-not-found": "Applicatie niet gevonden", + "error-archived-duplicate-name": "Er is een gearchiveerd kanaal met de naam {{room_name}}", + "error-avatar-invalid-url": "Ongeldige avatar-URL: {{url}}", + "error-avatar-url-handling": "Fout bij het verwerken van de avatar-instelling van een URL ({{url}}) voor {{username}}", + "error-cant-invite-for-direct-room": "Kan gebruikers in directe kamers niet uitnodigen", + "error-could-not-change-email": "Kan e-mail niet veranderen", + "error-could-not-change-name": "Kan naam niet veranderen", + "error-could-not-change-username": "Kan gebruikersnaam niet veranderen", + "error-could-not-change-status": "Kan status niet wijzigen", + "error-delete-protected-role": "Kan een beveiligde rol niet verwijderen", + "error-department-not-found": "Afdeling niet gevonden", + "error-direct-message-file-upload-not-allowed": "Delen van bestanden in privéberichten niet toegestaan", + "error-duplicate-channel-name": "Een kanaal met naam {{room_name}} bestaat", + "error-email-domain-blacklisted": "Het e-maildomein staat op de zwarte lijst", + "error-email-send-failed": "Fout bij het verzenden van e-mail: {{message}}", + "error-save-image": "Fout bij het opslaan van afbeelding", + "error-save-video": "Fout bij het opslaan van video", + "error-field-unavailable": "{{field}} is al in gebruik :(", + "error-file-too-large": "Bestand is te groot", + "error-importer-not-defined": "De importeur is niet correct gedefinieerd, de klasse Import ontbreekt.", + "error-input-is-not-a-valid-field": "{{input}} is geen geldig {{field}}", + "error-invalid-actionlink": "Ongeldige actielink", + "error-invalid-arguments": "Ongeldige argumenten", + "error-invalid-asset": "Ongeldig item", + "error-invalid-channel": "Ongeldig kanaal.", + "error-invalid-channel-start-with-chars": "Ongeldig kanaal. Begin met @ of #", + "error-invalid-custom-field": "Ongeldig aangepast veld", + "error-invalid-custom-field-name": "Ongeldige aangepaste veldnaam. Gebruik alleen letters, cijfers, koppeltekens en underscores.", + "error-invalid-date": "Ongeldige datum opgegeven.", + "error-invalid-description": "Ongeldige beschrijving", + "error-invalid-domain": "Ongeldig domein", + "error-invalid-email": "Ongeldig e-mail {{email}}", + "error-invalid-email-address": "Ongeldig e-mailadres", + "error-invalid-file-height": "Ongeldige bestandshoogte", + "error-invalid-file-type": "Ongeldig bestandstype", + "error-invalid-file-width": "Ongeldige bestandsbreedte", + "error-invalid-from-address": "Je hebt een ongeldig FROM adres opgegeven.", + "error-invalid-integration": "Ongeldige integratie", + "error-invalid-message": "Ongeldig bericht", + "error-invalid-method": "Ongeldige methode", + "error-invalid-name": "Ongeldige naam", + "error-invalid-password": "Ongeldig wachtwoord", + "error-invalid-redirectUri": "Ongeldige redirectUri", + "error-invalid-role": "Ongeldige rol", + "error-invalid-room": "Ongeldige kamer", + "error-invalid-room-name": "{{room_name}} is geen geldige kamernaam", + "error-invalid-room-type": "{{type}} is geen geldig kamertype.", + "error-invalid-settings": "Ongeldige instellingen opgegeven", + "error-invalid-subscription": "Ongeldig abonnement", + "error-invalid-token": "Ongeldige token", + "error-invalid-triggerWords": "Ongeldige triggerWoorden", + "error-invalid-urls": "Ongeldige URL's", + "error-invalid-user": "Ongeldige gebruiker", + "error-invalid-username": "Ongeldige gebruikersnaam", + "error-invalid-webhook-response": "De webhook-URL heeft met een andere status dan 200 gereageerd", + "error-message-deleting-blocked": "Het verwijderen van berichten is geblokkeerd", + "error-message-editing-blocked": "Het aanpassen van berichten is geblokkeerd", + "error-message-size-exceeded": "Berichtgrootte is groter dan Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "Je moet de link [unsubscribe] opgeven.", + "error-no-owner-channel": "Je bent niet de eigenaar van het kanaal", + "error-no-tokens-for-this-user": "Er zijn geen tokens voor deze gebruiker", + "error-not-allowed": "Niet toegestaan", + "error-not-authorized": "Geen bevoegdheid", + "error-push-disabled": "Push is uitgeschakeld", + "error-remove-last-owner": "Dit is de laatste eigenaar. Stel een nieuwe eigenaar in voordat je deze verwijdert.", + "error-role-in-use": "Kan rol niet verwijderen omdat deze in gebruik is", + "error-role-name-required": "Rolnaam is vereist", + "error-the-field-is-required": "Het veld {{field}} is verplicht.", + "error-too-many-requests": "Fout, te veel verzoeken. Vertraag, alsjeblieft. Je moet {{seconds}} seconden wachten voordat je het opnieuw probeert.", + "error-user-is-not-activated": "Gebruiker is niet geactiveerd", + "error-user-has-no-roles": "Gebruiker heeft geen rollen", + "error-user-limit-exceeded": "Het aantal gebruikers die je probeert uit te nodigen voor #channel_name overschrijdt de limiet ingesteld door de beheerder", + "error-user-not-in-room": "Gebruiker is niet in deze kamer", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "Gebruikersregistratie is uitgeschakeld", + "error-user-registration-secret": "Gebruikersregistratie is alleen via geheime URL toegestaan", + "error-you-are-last-owner": "Je bent de laatste eigenaar. Stel een nieuwe eigenaar in voordat je de kamer verlaat.", + "error-status-not-allowed": "Onzichtbare status is uitgeschakeld", + "Actions": "Acties", + "Activity": "Activiteit", + "Add_Reaction": "Reactie toevoegen", + "Add_Server": "Server toevoegen", + "Add_users": "Gebruikers toevoegen", + "Admin_Panel": "Admin Paneel", + "Agent": "Agent", + "Alert": "Waarschuwing", + "alert": "waarschuwing", + "alerts": "waarschuwingen", + "All_users_in_the_channel_can_write_new_messages": "Alle gebruikers in het kanaal kunnen nieuwe berichten schrijven", + "All_users_in_the_team_can_write_new_messages": "Alle gebruikers in het team kunnen nieuwe berichten schrijven", + "A_meaningful_name_for_the_discussion_room": "Een betekenisvolle naam voor de discussieruimte", + "All": "Alle", + "All_Messages": "Alle berichten", + "Allow_Reactions": "Reacties toestaan", + "Alphabetical": "Alfabetisch", + "and_more": "en meer", + "and": "en", + "announcement": "aankondiging", + "Announcement": "Aankondiging", + "Apply_Your_Certificate": "Pas jouw certificaat toe", + "ARCHIVE": "ARCHIVEER", + "archive": "archiveer", + "are_typing": "zijn aan het typen", + "Are_you_sure_question_mark": "Weet je het zeker?", + "Are_you_sure_you_want_to_leave_the_room": "Weet je zeker dat je de kamer {{room}} wilt verlaten?", + "Audio": "Audio", + "Authenticating": "Authenticatie", + "Automatic": "Automatisch", + "Auto_Translate": "Automatisch vertalen", + "Avatar_changed_successfully": "Avatar succesvol gewijzigd!", + "Avatar_Url": "Avatar-URL", + "Away": "Afwezig", + "Back": "Terug", + "Black": "Zwart", + "Block_user": "Blokkeer gebruiker", + "Browser": "Browser", + "Broadcast_channel_Description": "Alleen geautoriseerde gebruikers kunnen nieuwe berichten schrijven, maar de andere gebruikers zullen kunnen antwoorden", + "Broadcast_Channel": "Uitzendkanaal", + "Busy": "Bezig", + "By_proceeding_you_are_agreeing": "Door verder te gaan ga je akkoord met onze", + "Cancel_editing": "Bewerken annuleren", + "Cancel_recording": "Opname annuleren", + "Cancel": "Annuleren", + "changing_avatar": "avatar aan het veranderen", + "creating_channel": "kanaal aan het maken", + "creating_invite": "uitnodiging maken", + "Channel_Name": "Kanaal naam", + "Channels": "Kanalen", + "Chats": "Chats", + "Call_already_ended": "Gesprek al beeïndigd!", + "Clear_cookies_alert": "Wilt u alle cookies wissen?", + "Clear_cookies_desc": "Met deze actie worden alle inlogcookies gewist, zodat u op andere accounts kunt inloggen.", + "Clear_cookies_yes": "Ja, cookies wissen", + "Clear_cookies_no": "Nee, bewaar cookies", + "Click_to_join": "Klik om mee te doen!", + "Close": "Sluiten", + "Close_emoji_selector": "Emoji-kiezer sluiten", + "Closing_chat": "Chat sluiten", + "Change_language_loading": "Taal veranderen", + "Chat_closed_by_agent": "Chat gesloten door agent", + "Choose": "Kies", + "Choose_from_library": "Kies uit bibliotheek", + "Choose_file": "Kies bestand", + "Choose_where_you_want_links_be_opened": "Kies waar je links wilt openen", + "Code": "Code", + "Code_or_password_invalid": "Code of wachtwoord ongeldig", + "Collaborative": "Samenwerkend", + "Confirm": "Bevestig", + "Connect": "Verbinden", + "Connected": "Verbonden", + "connecting_server": "verbonden met de server", + "Connecting": "Aan het verbinden...", + "Contact_us": "Neem contact op", + "Contact_your_server_admin": "Neem contact op met je serverbeheerder.", + "Continue_with": "Ga verder met", + "Copied_to_clipboard": "Gekopieerd naar klembord!", + "Copy": "Kopiëren", + "Conversation": "Conversatie", + "Permalink": "Permalink", + "Certificate_password": "Certificaat wachtwoord", + "Clear_cache": "Lokale server cache wissen", + "Clear_cache_loading": "Cache wissen.", + "Whats_the_password_for_your_certificate": "Wat is het wachtwoord voor jouw certificaat?", + "Create_account": "Account aanmaken", + "Create_Channel": "Kanaal aanmaken", + "Create_Direct_Messages": "Directe berichten aanmaken", + "Create_Discussion": "Discussie aanmaken", + "Created_snippet": "knipsel aangemaakt", + "Create_a_new_workspace": "Een nieuwe werkruimte aanmaken", + "Create": "Aanmaken", + "Custom_Status": "Aangepaste status", + "Dark": "Donker", + "Dark_level": "Donker niveau", + "Default": "Standaard", + "Default_browser": "Standaard browser", + "Delete_Room_Warning": "Als je een kamer verwijdert, worden alle berichten die in de kamer geplaatst zijn, verwijderd. Dit kan niet ongedaan worden gemaakt.", + "Department": "Afdeling", + "delete": "verwijderen", + "Delete": "Verwijderen", + "DELETE": "VERWIJDEREN", + "move": "verplaatsen", + "deleting_room": "kamer verwijderen", + "description": "omschrijving", + "Description": "Omschrijving", + "Desktop_Options": "Bureaubladopties", + "Desktop_Notifications": "Desktopmeldingen", + "Desktop_Alert_info": "Deze meldingen worden op desktop geleverd", + "Directory": "Map", + "Direct_Messages": "Directe berichten", + "Disable_notifications": "Zet notificaties uit", + "Discussions": "Discussies", + "Discussion_Desc": "Help het overzicht te houden over wat er aan de hand is! Door een discussie aan te maken, wordt een subkanaal van het geselecteerde kanaal aangemaakt en worden beide gekoppeld.", + "Discussion_name": "Discussienaam", + "Done": "Gedaan", + "Dont_Have_An_Account": "Heb je geen account?", + "Do_you_have_an_account": "Heb je een account?", + "Do_you_have_a_certificate": "Heb je een certificaat?", + "Do_you_really_want_to_key_this_room_question_mark": "Wil je deze kamer echt {{key}}?", + "E2E_Encryption": "E2E-codering", + "E2E_How_It_Works_info1": "U kunt nu versleutelde privégroepen en directe berichten aanmaken. U kunt ook bestaande privégroepen of DM's wijzigen in versleuteld.", + "E2E_How_It_Works_info2": "Dit is *end-to-end codering*, dus de sleutel om jouw berichten te coderen/decoderen en deze wordt niet op de server opgeslagen. Daarom *moet je dit wachtwoord op een veilige plaats opslaan* waar je later toegang hebt als je dat nodig hebt.", + "E2E_How_It_Works_info3": "Als je doorgaat, wordt er automatisch een E2E-wachtwoord gegenereerd.", + "E2E_How_It_Works_info4": "Je kan ook op elk moment een nieuw wachtwoord voor uw coderingssleutel instellen vanuit elke browser waarin u het bestaande E2E-wachtwoord hebt ingevoerd.", + "edit": "bewerk", + "edited": "bewerkt", + "Edit": "Bewerk", + "Edit_Status": "Status bewerken", + "Edit_Invite": "Bewerk uitnodiging", + "End_to_end_encrypted_room": "End-to-end versleutelde kamer", + "end_to_end_encryption": "end-to-end encryptie", + "Email_Notification_Mode_All": "Elke vermelding/DM", + "Email_Notification_Mode_Disabled": "Uitgeschakeld", + "Email_or_password_field_is_empty": "E-mail of wachtwoordveld is leeg", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Lege titel", + "Enable_Auto_Translate": "Automatisch vertalen inschakelen", + "Enable_notifications": "Notificaties aanzetten", + "Encrypted": "Versleuteld", + "Encrypted_message": "Versleuteld bericht", + "Enter_Your_E2E_Password": "Voer uw E2E-wachtwoord in", + "Enter_Your_Encryption_Password_desc1": "Hiermee krijg je toegang tot uw gecodeerde privégroepen en directe berichten.", + "Enter_Your_Encryption_Password_desc2": "Op elke plaats waar je de chat gebruikt, moet je het wachtwoord invoeren om berichten te coderen/decoderen.", + "Encryption_error_title": "Jouw coderingswachtwoord lijkt verkeerd", + "Encryption_error_desc": "Het was niet mogelijk om uw coderingssleutel te decoderen om te worden geïmporteerd.", + "Everyone_can_access_this_channel": "Iedereen heeft toegang tot dit kanaal", + "Everyone_can_access_this_team": "Iedereen heeft toegang tot dit team", + "Error_uploading": "Fout bij uploaden", + "Expiration_Days": "Vervaldatum (Dagen)", + "Favorites": "Favorieten", + "Files": "Bestanden", + "File_description": "Bestandsbeschrijving", + "File_name": "Bestandsnaam", + "Finish_recording": "Opname beëindigen", + "Following_thread": "Volg discussie", + "For_your_security_you_must_enter_your_current_password_to_continue": "Voor je veiligheid moet je je huidige wachtwoord invoeren om door te gaan", + "Forgot_password_If_this_email_is_registered": "Als dit e-mailadres geregistreerd is, sturen we instructies om je wachtwoord opnieuw in te stellen. Als je geen e-mail ontvangt, kom dan terug en probeer het opnieuw.", + "Forgot_password": "Wachtwoord vergeten?", + "Forgot_Password": "Wachtwoord vergeten", + "Forward": "Doorsturen", + "Forward_Chat": "Chat doorsturen", + "Forward_to_department": "Doorsturen naar afdeling", + "Forward_to_user": "Doorsturen naar gebruiker", + "Full_table": "Klik om de volledige tabel te zien", + "Generate_New_Link": "Nieuwe link genereren", + "Has_joined_the_channel": "is bij het kanaal gekomen", + "Has_joined_the_conversation": "heeft zich bij het gesprek aangesloten", + "Has_left_the_channel": "heeft het kanaal verlaten", + "Hide_System_Messages": "Verberg systeemberichten", + "Hide_type_messages": "Verberg \"{{type}}\" berichten", + "How_It_Works": "Hoe het werkt", + "Message_HideType_uj": "Gebruiker neemt deel", + "Message_HideType_ul": "Gebruiker vertrokken", + "Message_HideType_ru": "Gebruiker verwijderd", + "Message_HideType_au": "Gebruiker toegevoegd", + "Message_HideType_mute_unmute": "Gebruiker gedempt / kan weer praten", + "Message_HideType_r": "Kamernaam gewijzigd", + "Message_HideType_ut": "Gebruiker neemt deel aan gesprek", + "Message_HideType_wm": "Welkom", + "Message_HideType_rm": "Bericht verwijderd", + "Message_HideType_subscription_role_added": "Kreeg rol", + "Message_HideType_subscription_role_removed": "Rol niet langer gedefinieerd", + "Message_HideType_room_archived": "Kamer gearchiveerd", + "Message_HideType_room_unarchived": "Kamer niet gearchiveerd", + "I_Saved_My_E2E_Password": "Ik heb mijn E2E-wachtwoord opgeslagen", + "IP": "IP", + "In_app": "In-app", + "In_App_And_Desktop": "In-app en desktop", + "In_App_and_Desktop_Alert_info": "Geeft een banner boven aan het scherm weer wanneer de app geopend is, en geeft een melding op desktop weer", + "Invisible": "Onzichtbaar", + "Invite": "Nodig uit", + "is_a_valid_RocketChat_instance": "is een geldige Rocket.Chat instantie", + "is_not_a_valid_RocketChat_instance": "is geen geldige Rocket.Chat instantie", + "is_typing": "is aan het typen", + "Invalid_or_expired_invite_token": "Ongeldige of verlopen uitnodigingstoken", + "Invalid_server_version": "De server waarmee je probeert te verbinden, gebruikt een versie die niet meer door de app wordt ondersteund: {{currentVersion}}.\n\nWe hebben versie {{minVersion}} nodig", + "Invite_Link": "Uitnodigingslink", + "Invite_users": "Gebruikers uitnodigen", + "Join": "Doe mee", + "Join_Code": "Deelnamecode", + "Insert_Join_Code": "Deelnamecode invoegen", + "Join_our_open_workspace": "Word lid van onze open werkruimte", + "Join_your_workspace": "Word lid van jouw werkruimte", + "Just_invited_people_can_access_this_channel": "Alleen uitgenodigde mensen hebben toegang tot dit kanaal", + "Just_invited_people_can_access_this_team": "Alleen uitgenodigde mensen hebben toegang tot dit team", + "Language": "Taal", + "last_message": "laatste bericht", + "Leave_channel": "Kanaal verlaten", + "leaving_room": "ruimte verlaten", + "Leave": "Verlaten", + "leave": "verlaten", + "Legal": "Legaal", + "Light": "Licht", + "License": "Licentie", + "Livechat": "Livechat", + "Livechat_edit": "Livechat bewerken", + "Login": "Inloggen", + "Login_error": "Je inloggegevens zijn geweigerd! Probeer het opnieuw.", + "Login_with": "Inloggen met", + "Logging_out": "Uitloggen.", + "Logout": "Uitloggen", + "Max_number_of_uses": "Max aantal toepassingen", + "Max_number_of_users_allowed_is_number": "Max aantal toegestane gebruikers is {{maxUsers}}", + "members": "leden", + "Members": "Leden", + "Mentioned_Messages": "Vermelde berichten", + "mentioned": "vermeld", + "Mentions": "Vermeldingen", + "Message_accessibility": "Bericht van {{user}} om {{time}}: {{message}}", + "Message_actions": "Berichtacties", + "Message_pinned": "Bericht vastgezet", + "Message_removed": "Bericht verwijderd", + "Message_starred": "Bericht met ster", + "Message_unstarred": "Bericht zonder ster", + "message": "bericht", + "messages": "berichten", + "Message": "Bericht", + "Messages": "Berichten", + "Message_Reported": "Bericht gerapporteerd", + "Microphone_Permission_Message": "Rocket.Chat heeft toegang tot je microfoon nodig zodat je een audiobericht kunt verzenden.", + "Microphone_Permission": "Microfoontoestemming", + "Mute": "Dempen", + "muted": "gedempt", + "My_servers": "Mijn servers", + "N_people_reacted": "{{n}} mensen hebben gereageerd", + "N_users": "{{n}} gebruikers", + "N_channels": "{{n}} kanalen", + "Name": "Naam", + "Navigation_history": "Navigatie geschiedenis", + "Never": "Nooit", + "New_Message": "Nieuw bericht", + "New_Password": "Nieuw wachtwoord", + "New_Server": "Nieuwe server", + "Next": "Volgende", + "No_files": "Geen bestanden", + "No_limit": "Geen limiet", + "No_mentioned_messages": "Geen vermelde berichten", + "No_pinned_messages": "Geen vastgezette berichten", + "No_results_found": "Geen resultaten gevonden", + "No_starred_messages": "Geen berichten met ster gemarkeerd", + "No_thread_messages": "Geen discussieberichten", + "No_label_provided": "Geen {{label}} opgegeven.", + "No_Message": "Geen bericht", + "No_messages_yet": "Nog geen berichten", + "No_Reactions": "Geen reacties", + "No_Read_Receipts": "Geen leesbevestigingen", + "Not_logged": "Niet ingelogd", + "Not_RC_Server": "Dit is geen Rocket.Chat-server.\n{{contact}}", + "Nothing": "Niets", + "Nothing_to_save": "Niets om op te slaan!", + "Notify_active_in_this_room": "Waarschuw actieve gebruikers in deze kamer", + "Notify_all_in_this_room": "Breng iedereen in deze kamer op de hoogte", + "Notifications": "Notificaties", + "Notification_Duration": "Duur van de notificatie", + "Notification_Preferences": "Notificatievoorkeuren", + "No_available_agents_to_transfer": "Geen beschikbare agenten om door te sturen", + "Offline": "Offline", + "Oops": "Oeps!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Bezig met chatten", + "Omnichannel_enable_alert": "Je bent niet beschikbaar op Omnichannel. Wil je beschikbaar zijn?", + "Onboarding_description": "Een werkruimte is de ruimte van jouw team of organisatie om samen te werken. Vraag aan de beheerder van de werkruimte een adres om lid te worden of maak er een aan voor jouw team.", + "Onboarding_join_workspace": "Word lid van een werkruimte", + "Onboarding_subtitle": "Meer dan teamsamenwerking", + "Onboarding_title": "Welkom bij Rocket.Chat", + "Onboarding_join_open_description": "Word lid van onze open werkruimte om met het Rocket.Chat team en de community te chatten.", + "Onboarding_agree_terms": "Door verder te gaan, ga je akkoord met Rocket.Chat", + "Onboarding_less_options": "Minder opties", + "Onboarding_more_options": "Meer opties", + "Online": "Online", + "Only_authorized_users_can_write_new_messages": "Alleen geautoriseerde gebruikers kunnen nieuwe berichten schrijven", + "Open_emoji_selector": "Emoji-kiezer openen", + "Open_Source_Communication": "Open Source Communicatie", + "Open_your_authentication_app_and_enter_the_code": "Open je authenticatie-app en voer de code in.", + "OR": "OF", + "OS": "OS", + "Overwrites_the_server_configuration_and_use_room_config": "Overschrijft de serverconfiguratie en gebruikt kamer config", + "Password": "Wachtwoord", + "Parent_channel_or_group": "Bovenliggend kanaal of groep", + "Permalink_copied_to_clipboard": "Permalink gekopiëerd naar klembord!", + "Phone": "Telefoon", + "Pin": "Vastzetten", + "Pinned_Messages": "Vastgezette berichten", + "pinned": "vastgezet", + "Pinned": "Vastgezet", + "Please_add_a_comment": "Voeg een reactie toe", + "Please_enter_your_password": "Voer je wachtwoord in", + "Please_wait": "Even geduld.", + "Preferences": "Voorkeuren", + "Preferences_saved": "Voorkeuren opgeslagen!", + "Privacy_Policy": " Privacybeleid", + "Private_Channel": "Privékanaal", + "Private": "Privé", + "Processing": "Verwerking...", + "Profile_saved_successfully": "Profiel succesvol opgeslagen!", + "Profile": "Profiel", + "Public_Channel": "Publiek kanaal", + "Public": "Publiek", + "Push_Notifications": "Pushmeldingen", + "Push_Notifications_Alert_Info": "Deze notificaties worden aan jouw enkel geleverd als de app niet geopend is", + "Quote": "Citaat", + "Reactions_are_disabled": "Reacties zijn uitgeschakeld", + "Reactions_are_enabled": "Reacties zijn ingeschakeld", + "Reactions": "Reacties", + "Read_External_Permission_Message": "Rocket.Chat heeft toegang nodig tot foto's, media en bestanden op je apparaat", + "Read_External_Permission": "Lees toestemming voor media", + "Read_Only_Channel": "Alleen-lezen kanaal", + "Read_Only": "Alleen lezen", + "Read_Receipt": "Leesbevestiging", + "Receive_Group_Mentions": "Groepsvermeldingen ontvangen", + "Receive_Group_Mentions_Info": "Ontvang @all en @here vermeldingen", + "Register": "Registreren", + "Repeat_Password": "Herhaal wachtwoord", + "Replied_on": "Beantwoord op:", + "replies": "antwoordt", + "reply": "antwoord", + "Reply": "Antwoord", + "Report": "Rapporteren", + "Receive_Notification": "Notificatie ontvangen", + "Receive_notifications_from": "Ontvang notificaties van {{name}}", + "Resend": "Opnieuw verzenden", + "Reset_password": "Wachtwoord resetten", + "resetting_password": "wachtwoord aan het resetten", + "RESET": "RESET", + "Return": "Terug", + "Review_app_title": "Geniet je van deze app?", + "Review_app_desc": "Geef ons 5 sterren op {{store}}", + "Review_app_yes": "Zeker!", + "Review_app_no": "Nee", + "Review_app_later": "Misschien later", + "Review_app_unable_store": "Kan {{store}} niet openen", + "Review_this_app": "Beoordeel deze app", + "Remove": "Verwijderen", + "remove": "verwijderen", + "Roles": "Rollen", + "Room_actions": "Kameracties", + "Room_changed_announcement": "Kameraankondiging gewijzigd in: {{announcement}} door {{userBy}}", + "Room_changed_avatar": "Kameravatar gewijzigd door {{userBy}}", + "Room_changed_description": "Kamerbeschrijving gewijzigd in: {{description}} door {{userBy}}", + "Room_changed_privacy": "Kamertype gewijzigd in: {{type}} door {{userBy}}", + "Room_changed_topic": "Oonderwerp van kamer gewijzigd in: {{topic}} door {{userBy}}", + "Room_Files": "Kamerbestanden", + "Room_Info_Edit": "Kamer info bewerken", + "Room_Info": "Kamer info", + "Room_Members": "Kamerleden", + "Room_name_changed": "Kamernaam gewijzigd in: {{name}} door {{userBy}}", + "SAVE": "OPSLAAN", + "Save_Changes": "Wijzigingen opslaan", + "Save": "Opslaan", + "Saved": "Opgeslagen", + "saving_preferences": "voorkeuren opslaan", + "saving_profile": "profiel opslaan", + "saving_settings": "instellingen opslaan", + "saved_to_gallery": "Opgeslagen in galerij", + "Save_Your_E2E_Password": "Bewaar jouw E2E-wachtwoord", + "Save_Your_Encryption_Password": "Bewaar jouw versleutelingswachtwoord", + "Save_Your_Encryption_Password_warning": "Dit wachtwoord wordt nergens opgeslagen, bewaar het dus zorgvuldig ergens anders.", + "Save_Your_Encryption_Password_info": "Indien je je wachtwoord verliest, is er geen enkel manier om het te herstellen en verlies je toegang tot je berichten.", + "Search_Messages": "Berichten zoeken", + "Search": "Zoeken", + "Search_by": "Zoeken op", + "Search_global_users": "Zoeken naar wereldwijde gebruikers", + "Search_global_users_description": "Als je dit inschakelt, kan je gebruikers van andere bedrijven en servers opzoeken.", + "Seconds": "{{second}} seconden", + "Security_and_privacy": "Veiligheid en privacy", + "Select_Avatar": "Selecteer avatar", + "Select_Server": "Selecteer server", + "Select_Users": "Selecteer gebruikers", + "Select_a_Channel": "Selecteer een kanaal", + "Select_a_Department": "Selecteer een afdeling", + "Select_an_option": "Selecteer een optie", + "Select_a_User": "Selecteer een gebruiker", + "Send": "Verzenden", + "Send_audio_message": "Audiobericht verzenden", + "Send_crash_report": "Crashrapport verzenden", + "Send_message": "Bericht verzenden", + "Send_me_the_code_again": "Stuur me de code opnieuw", + "Send_to": "Verzenden naar...", + "Sending_to": "Verzenden naar", + "Sent_an_attachment": "Een bijlage verzonden", + "Server": "Server", + "Servers": "Servers", + "Server_version": "Server versie: {{version}}", + "Set_username_subtitle": "De gebruikersnaam wordt gebruikt om anderen toe te staan jou in berichten te vermelden", + "Set_custom_status": "Aangepaste status instellen", + "Set_status": "Status instellen", + "Status_saved_successfully": "Status succesvol opgeslagen!", + "Settings": "Instellingen", + "Settings_succesfully_changed": "Instellingen succesvol gewijzigd!", + "Share": "Delen", + "Share_Link": "Deel link", + "Share_this_app": "Deel deze app", + "Show_more": "Meer tonen..", + "Show_Unread_Counter": "Toon ongelezen teller", + "Show_Unread_Counter_Info": "Ongelezen teller wordt weergegeven als een badge aan de rechterkant van het kanaal, in de lijst", + "Sign_in_your_server": "Log in op je server", + "Sign_Up": "Registreren", + "Some_field_is_invalid_or_empty": "Sommige velden zijn ongeldig of leeg", + "Sound": "Geluid", + "Star_room": "Favoriete kanalen", + "Star": "Ster", + "Starred_Messages": "Berichten met ster gemarkeerd", + "starred": "met ster gemarkeerd", + "Starred": "Met ster gemarkeerd", + "Start_of_conversation": "Begin van een gesprek", + "Start_a_Discussion": "Start een discussie", + "Started_discussion": "Begin van een discussie:", + "Started_call": "Oproep gestart door {{userBy}}", + "Submit": "Verzenden", + "Table": "Tabel", + "Tags": "Tags", + "Take_a_photo": "Neem een foto", + "Take_a_video": "Maak een video", + "Take_it": "Pak het!", + "tap_to_change_status": "tik om de status te wijzigen", + "Tap_to_view_servers_list": "Tik om de serverlijst te bekijken", + "Terms_of_Service": " Servicevoorwaarden ", + "Theme": "Thema", + "The_user_wont_be_able_to_type_in_roomName": "De gebruiker zal in {{roomName}} niet kunnen typen", + "The_user_will_be_able_to_type_in_roomName": "De gebruiker zal in {{roomName}} kunnen typen", + "There_was_an_error_while_action": "Er is een fout opgetreden tijdens {{action}}!", + "This_room_is_blocked": "Deze kamer is geblokkeerd", + "This_room_is_read_only": "Deze kamer is alleen-lezen", + "Thread": "Draad", + "Threads": "Draden", + "Timezone": "Tijdzone", + "To": "Naar", + "topic": "onderwerp", + "Topic": "Onderwerp", + "Translate": "Vertalen", + "Try_again": "Probeer het opnieuw", + "Two_Factor_Authentication": "Twee-factor authenticatie", + "Type_the_channel_name_here": "Typ hier de kanaalnaam", + "unarchive": "dearchiveren", + "UNARCHIVE": "DEARCHIVEREN", + "Unblock_user": "Deblokkeer gebruiker", + "Unfollowed_thread": "Draad ontvolgd", + "Unmute": "Dempen opheffen", + "unmuted": "ongedempt", + "Unpin": "Losmaken", + "unread_messages": "ongelezen", + "Unread": "Ongelezen", + "Unread_on_top": "Ongelezen bovenaan", + "Unstar": "Ster verwijderen", + "Updating": "Updaten...", + "Uploading": "Uploaden", + "Upload_file_question_mark": "Bestand uploaden?", + "User": "Gebruiker", + "Users": "Gebruikers", + "User_added_by": "Gebruiker {{userAdded}} toegevoegd door {{userBy}}", + "User_Info": "Gebruikers info", + "User_has_been_key": "Gebruiker is {{key}}", + "User_is_no_longer_role_by_": "{{user}} is niet langer {{role}} door {{userBy}}", + "User_muted_by": "Gebruiker {{userMuted}} gedempt door {{userBy}}", + "User_removed_by": "Gebruiker {{userRemoved}} verwijderd door {{userBy}}", + "User_sent_an_attachment": "{{user}} stuurde een bijlage", + "User_unmuted_by": "Dempen voor {{userUnmuted}} opgeheven door {{userBy}}", + "User_was_set_role_by_": "{{user}} is als {{role}} ingesteld door {{userBy}}", + "Username_is_empty": "Gebruikersnaam is leeg", + "Username": "Gebruikersnaam", + "Username_or_email": "Gebruikersnaam of e-mail", + "Uses_server_configuration": "Gebruikt serverconfiguratie", + "Validating": "Valideren", + "Registration_Succeeded": "Registratie geslaagd!", + "Verify": "Verifiëren", + "Verify_email_title": "Registratie geslaagd!", + "Verify_email_desc": "We hebben je een e-mail gestuurd om je inschrijving te bevestigen. Als je binnenkort geen e-mail ontvangt, gelieve terug te komen en het opnieuw te proberen.", + "Verify_your_email_for_the_code_we_sent": "Verifieer je e-mail voor de code die we hebben gestuurd", + "Video_call": "Videogesprek", + "View_Original": "Bekijk origineel", + "Voice_call": "Spraakoproep", + "Waiting_for_network": "Wachten op netwerk...", + "Websocket_disabled": "Websocket is uitgeschakeld voor deze server.\n{{contact}}", + "Welcome": "Welkom", + "What_are_you_doing_right_now": "Wat doe je op dit moment?", + "Whats_your_2fa": "Wat is je 2FA code?", + "Without_Servers": "Zonder servers", + "Workspaces": "Werkruimten", + "Would_you_like_to_return_the_inquiry": "Wil je de aanvraag retourneren?", + "Write_External_Permission_Message": "Rocket.Chat heeft toegang nodig tot je galerij zodat je afbeeldingen kunt opslaan.", + "Write_External_Permission": "Galerij toestemming", + "Yes": "Ja", + "Yes_action_it": "Ja, {{action}} het!", + "Yesterday": "Gisteren", + "You_are_in_preview_mode": "Je bent in voorbeeldmodus", + "You_are_offline": "Je bent offline", + "You_can_search_using_RegExp_eg": "Je kan RegExp. gebruiken, bijv. `/^tekst$/i`", + "You_colon": "Jij: ", + "you_were_mentioned": "je bent vermeld", + "You_were_removed_from_channel": "Je bent verwijderd uit {{channel}}", + "you": "jij", + "You": "Jij", + "Logged_out_by_server": "Je bent uitgelogd door de server. Gelieve opnieuw in te loggen.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Je moet minstens toegang hebben tot één Rocket.Chat-server om iets te delen.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Je moet je e-mailadres verifiëren om meldingen te ontvangen", + "Your_certificate": "Jouw certificaat", + "Your_invite_link_will_expire_after__usesLeft__uses": "Je uitnodigingslink verloopt na {{usesLeft}} keer.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Je uitnodigingslink verloopt op {{date}} of na {{usesLeft}} keer.", + "Your_invite_link_will_expire_on__date__": "Je uitnodigingslink verloopt op {{date}}.", + "Your_invite_link_will_never_expire": "Je uitnodigingslink zal nooit verlopen.", + "Your_workspace": "Jouw werkruimte", + "Your_password_is": "Jouw wachtwoord is", + "Version_no": "Versie: {{version}}", + "You_will_not_be_able_to_recover_this_message": "Je zal dit bericht niet meer kunnen herstellen!", + "You_will_unset_a_certificate_for_this_server": "Je zal een certificaat voor deze server uitschakelen", + "Change_Language": "Taal veranderen", + "Crash_report_disclaimer": "We volgen nooit nooit de inhoud van je chats. Het crashrapport en de analytische gebeurtenissen bevatten alleen relevante informatie voor ons om problemen te identificeren en op te lossen.", + "Type_message": "Typ bericht", + "Room_search": "Kamers zoeken", + "Room_selection": "Kamerkeuze 1...9", + "Next_room": "Volgende kamer", + "Previous_room": "Vorige kamer", + "New_room": "Nieuwe kamer", + "Upload_room": "Uploaden naar kamer", + "Search_messages": "Berichten zoeken", + "Scroll_messages": "Berichten scrollen", + "Reply_latest": "Antwoord op laatste", + "Reply_in_Thread": "Reageer in discussie", + "Server_selection": "Server selectie", + "Server_selection_numbers": "Server selectie 1...9", + "Add_server": "Server toevoegen", + "New_line": "Nieuwe lijn", + "You_will_be_logged_out_of_this_application": "Je wordt uitgelogd van deze applicatie.", + "Clear": "Wissen", + "This_will_clear_all_your_offline_data": "Hiermee worden al jouw offline gegevens gewist.", + "This_will_remove_all_data_from_this_server": "Dit zal alle gegevens van deze server verwijderen.", + "Mark_unread": "Markeer als ongelezen", + "Wait_activation_warning": "Voordat u kunt inloggen, moet uw account handmatig worden geactiveerd door een beheerder.", + "Screen_lock": "Schermvergrendeling", + "Local_authentication_biometry_title": "Authenticeren", + "Local_authentication_biometry_fallback": "Gebruik toegangscode", + "Local_authentication_unlock_option": "Ontgrendelen met toegangscode", + "Local_authentication_change_passcode": "Wijzig toegangscode", + "Local_authentication_info": "Opmerking: als je de toegangscode vergeet, moet je de app verwijderen en opnieuw installeren.", + "Local_authentication_facial_recognition": "gezichtsherkenning", + "Local_authentication_fingerprint": "vingerafdruk", + "Local_authentication_unlock_with_label": "Ontgrendel met {{label}}", + "Local_authentication_auto_lock_60": "Na 1 minuut", + "Local_authentication_auto_lock_300": "Na 5 minuten", + "Local_authentication_auto_lock_900": "Na 15 minuten", + "Local_authentication_auto_lock_1800": "Na 30 minuten", + "Local_authentication_auto_lock_3600": "Na 1 uur", + "Passcode_enter_title": "Voer uw toegangscode in", + "Passcode_choose_title": "Kies je nieuwe toegangscode", + "Passcode_choose_confirm_title": "Bevestig je nieuwe toegangscode", + "Passcode_choose_error": "Toegangscodes komen niet overeen. Probeer het opnieuw.", + "Passcode_choose_force_set": "Toegangscode vereist door beheerder", + "Passcode_app_locked_title": "App vergrendeld", + "Passcode_app_locked_subtitle": "Probeer het over {{timeLeft}} seconden opnieuw", + "After_seconds_set_by_admin": "Na {{seconds}} seconden (ingesteld door beheerder)", + "Dont_activate": "Nu niet activeren", + "Queued_chats": "Chats in de wachtrij", + "Queue_is_empty": "Wachtrij is leeg", + "Logout_from_other_logged_in_locations": "Afmelden bij andere ingelogde locaties", + "You_will_be_logged_out_from_other_locations": "Je wordt uitgelogd van andere locaties.", + "Logged_out_of_other_clients_successfully": "Succesvol uitgelogd bij andere klanten", + "Logout_failed": "Uitloggen mislukt!", + "Log_analytics_events": "Analysegebeurtenissen loggen", + "E2E_encryption_change_password_title": "Versleutelingswachtwoord wijzigen", + "E2E_encryption_change_password_description": "Je kan nu versleutelde privégroepen en directe berichten aanmaken. Je kan ook bestaande privégroepen of DM's wijzigen in versleuteld.\nDit is end-to-end codering, dus de sleutel om jouw berichten te coderen/decoderen en deze wordt niet op de server opgeslagen. Daarom moet je dit wachtwoord op een veilige plaats opslaan. Je moet het invoeren op andere apparaten waarop je e2e-codering wilt gebruiken.", + "E2E_encryption_change_password_error": "Fout bij het wijzigen van het E2E-wachtwoord", + "E2E_encryption_change_password_success": "E2E-wachtwoord succesvol gewijzigd!", + "E2E_encryption_change_password_message": "Zorg ervoor dat je het zorgvuldig ergens anders hebt bewaard.", + "E2E_encryption_change_password_confirmation": "Ja, verander het", + "E2E_encryption_reset_title": "E2E-sleutel resetten", + "E2E_encryption_reset_description": "Deze optie zal je huidige E2E-sleutel verwijderen en je wordt uitgelogd.\nWanneer je opniew inlogt, genereert Rocket.Chat je een nieuwe sleutel en herstelt je toegang tot elke versleutelde kamer die een of meer leden heeft.\nDoor de aard van E2E-versleuteling kan Rocket.Chat de toegang tot een versleutelde kamer zonder online lid niet herstellen.", + "E2E_encryption_reset_button": "E2E-sleutel resetten", + "E2E_encryption_reset_error": "Fout bij het resetten van E2E-sleutel!", + "E2E_encryption_reset_message": "Je wordt uitgelogd.", + "E2E_encryption_reset_confirmation": "Ja, reset het", + "Following": "Volgend", + "Threads_displaying_all": "Alles weergeven", + "Threads_displaying_following": "Volgend weergeven", + "Threads_displaying_unread": "Ongelezen weergeven", + "No_threads": "Er zijn geen discussies", + "No_threads_following": "Je volgt geen discussies", + "No_threads_unread": "Er zijn geen ongelezen discussies", + "Messagebox_Send_to_channel": "Stuur naar kanaal", + "Leader": "Leider", + "Moderator": "Moderator", + "Owner": "Eigenaar", + "Remove_from_room": "Verwijderen uit kamer", + "Ignore": "Negeren", + "Unignore": "Niet meer negeren", + "User_has_been_ignored": "Gebruiker is genegeerd", + "User_has_been_unignored": "Gebruiker wordt niet langer genegeerd", + "User_has_been_removed_from_s": "Gebruiker is verwijderd van {{s}}", + "User__username__is_now_a_leader_of__room_name_": "Gebruiker {{username}} is nu een leider van {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "Gebruiker {{username}} is nu een moderator van {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "Gebruiker {{username}} is nu eigenaar van {{room_name}}", + "User__username__removed_from__room_name__leaders": "Gebruiker {{username}} verwijderd uit {{room_name}} leiders", + "User__username__removed_from__room_name__moderators": "Gebruiker {{username}} verwijderd uit {{room_name}} moderators", + "User__username__removed_from__room_name__owners": "Gebruiker {{username}} verwijderd uit {{room_name}} eigenaars", + "The_user_will_be_removed_from_s": "De gebruiker wordt verwijderd uit {{s}}", + "Yes_remove_user": "Ja, verwijder gebruiker!", + "Direct_message": "Direct bericht", + "Message_Ignored": "Bericht genegeerd. Tik om het weer te geven.", + "Enter_workspace_URL": "Voer de werkruimte-URL in", + "Workspace_URL_Example": "Vb. uw-bedrijf.rocket.chat", + "This_room_encryption_has_been_enabled_by__username_": "De versleuteling van deze kamer is ingeschakeld door {{username}}", + "This_room_encryption_has_been_disabled_by__username_": "De versleuteling van deze kamer is uitgeschakeld door {{username}}", + "Teams": "Teams", + "No_team_channels_found": "Geen kanalen gevonden", + "Team_not_found": "Team niet gevonden", + "Create_Team": "Team aanmaken", + "Team_Name": "Teamnaam", + "Private_Team": "Privé team", + "Read_Only_Team": "Alleen-lezen team", + "Broadcast_Team": "Broadcast team", + "creating_team": "team maken", + "team-name-already-exists": "Er bestaat al een team met die naam", + "Add_Channel_to_Team": "Kanaal toevoegen aan team", + "Left_The_Team_Successfully": "Het team met succes verlaten", + "Create_New": "Maak nieuw", + "Add_Existing": "Voeg bestaande", + "Add_Existing_Channel": "Bestaand kanaal toevoegen", + "Remove_from_Team": "Verwijderen uit team", + "Auto-join": "Automatisch deelnemen", + "Remove_Team_Room_Warning": "Wil je dit kanaal uit het team verwijderen? Het kanaal wordt terug naar de werkruimte verplaatst", + "Confirmation": "Bevestiging", + "invalid-room": "Ongeldige kamer", + "You_are_leaving_the_team": "Je verlaat het team '{{team}}'", + "Leave_Team": "Team verlaten", + "Select_Team": "Selecteer team", + "Select_Team_Channels": "Selecteer de kanalen van het team die je wilt verlaten.", + "Cannot_leave": "Kan niet weggaan", + "Cannot_remove": "Kan niet verwijderen", + "Cannot_delete": "Kan niet verwijderen", + "Last_owner_team_room": "Je bent de laatste eigenaar van dit kanaal. Zodra u het team verlaat, blijft het kanaal binnen het team, maar beheert u het van buitenaf.", + "last-owner-can-not-be-removed": "Laatste eigenaar kan niet worden verwijderd.", + "Remove_User_Teams": "Selecteer de kanalen waarvan je de gebruiker wilt verwijderen.", + "Delete_Team": "Team verwijderen", + "Select_channels_to_delete": "Dit kan niet ongedaan worden gemaakt. Zodra je een team verwijdert, worden alle chatinhoud en configuratie verwijderd.\n\nSelecteer de kanalen die je wilt verwijderen. Degene die je besluit te behouden, zullen in jouw werkruimte beschikbaar zijn. Hou er rekening mee dat openbare kanalen nog steeds openbaar en voor iedereen zichtbaar zijn.", + "You_are_deleting_the_team": "Je verwijdert dit team.", + "Removing_user_from_this_team": "Je verwijdert {{user}} uit dit team", + "Remove_User_Team_Channels": "Selecteer de kanalen waarvan je de gebruiker wilt verwijderen.", + "Remove_Member": "Lid verwijderen", + "leaving_team": "team verlaten", + "removing_team": "verwijderen uit team", + "moving_channel_to_team": "kanaal verplaatsen naar team", + "deleting_team": "team verwijderen", + "member-does-not-exist": "Lid bestaat niet", + "Convert": "Converteren", + "Convert_to_Team": "Converteren naar team", + "Convert_to_Team_Warning": "Je converteert dit kanaal naar een team. Alle leden blijven behouden.", + "Move_to_Team": "Verplaats naar team", + "Move_Channel_Paragraph": "Het verplaatsen van een kanaal binnen een team betekent dat dit kanaal wordt toegevoegd in de context van het team. Maar, alle leden van dit kanaal, die geen lid zijn van het respectieve team, zullen nog steeds toegang hebben tot dit kanaal, maar worden niet als teamleden toegevoegd.\n\nHet volledige beheer van dit kanaal wordt nog steeds door de eigenaren van dit kanaal gedaan.\n\nTeamleden en zelfs teameigenaren, wanneer ze geen lid zijn van dit kanaal, hebben geen toegang tot de content van het kanaal.\n\nHou er rekening mee dat de eigenaar van het team de leden uit het kanaal kan verwijderen.", + "Move_to_Team_Warning": "Wil je na het lezen van de vorige instructies over dit gedrag, dit kanaal nog steeds naar het geselecteerde team verplaatsen?", + "Load_More": "Meer laden", + "Load_Newer": "Nieuwer laden", + "Load_Older": "Ouder laden", + "room-name-already-exists": "Kamernaam bestaat al", + "error-team-creation": "Fout bij het aanmaken van team", + "unauthorized": "Onbevoegd", + "Left_The_Room_Successfully": "Heeft kamer met succes verlaten", + "Deleted_The_Team_Successfully": "Team succesvol verwijderd", + "Deleted_The_Room_Successfully": "Kamer succesvol verwijderd", + "Convert_to_Channel": "Converteren naar kanaal", + "Converting_Team_To_Channel": "Team converteren naar kanaal", + "Select_Team_Channels_To_Delete": "Selecteer de teamkanalen die je wilt verwijderen, de kanalen die u niet selecteert, worden naar de werkruimte verplaatst.\n\nMerk op dat openbare kanalen openbaar en voor iedereen zichtbaar zullen zijn.", + "You_are_converting_the_team": "Je converteert dit team naar een kanaal", + "Display": "Weergave", + "Avatars": "Avatars", + "Sort_by": "Sorteer op", + "Group_by": "Groeperen op", + "Types": "Soorten", + "Expanded": "Uitgebreid", + "Condensed": "Gecondenseerd", + "creating_discussion": "discussie aanmaken", + "Canned_Responses": "Standaardantwoorden", + "No_match_found": "Geen overeenkomst gevonden.", + "Check_canned_responses": "Controleer op standaardantwoorden.", + "Searching": "Zoeken", + "Use": "Gebruiken", + "Shortcut": "Snelkoppeling", + "Content": "Inhoud", + "Sharing": "Delen", + "No_canned_responses": "Geen standaardantwoorden", + "Send_email_confirmation": "Stuur e-mailbevestiging", + "sending_email_confirmation": "e-mailbevestiging aan het verzenden", + "Enable_Message_Parser": "Berichtparser inschakelen" +} \ No newline at end of file diff --git a/app/i18n/locales/no.json b/app/i18n/locales/no.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/no.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/pl.json b/app/i18n/locales/pl.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/pl.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/pt-BR.json b/app/i18n/locales/pt-BR.json index 57c31c067..fcc05ca22 100644 --- a/app/i18n/locales/pt-BR.json +++ b/app/i18n/locales/pt-BR.json @@ -1,684 +1,737 @@ { - "1_person_reacted": "1 pessoa reagiu", - "1_user": "1 usuário", - "error-action-not-allowed": "{{action}} não é permitido", - "error-application-not-found": "Aplicação não encontrada", - "error-archived-duplicate-name": "Já há um canal arquivado com o nome {{room_name}}", - "error-avatar-invalid-url": "URL inválida de avatar: {{url}}", - "error-avatar-url-handling": "Erro durante o manuseio configuração avatar a partir de uma URL ({{url}}) para {{username}}", - "error-cant-invite-for-direct-room": "Não é possível convidar usuários para salas diretas", - "error-could-not-change-email": "Não foi possível mudar e-mail", - "error-could-not-change-name": "Não foi possível mudar o nome", - "error-could-not-change-username": "Não foi possível alterar o nome de usuário", - "error-delete-protected-role": "Não é possível remover um papel protegido", - "error-department-not-found": "Departamento não encontrado", - "error-direct-message-file-upload-not-allowed": "Compartilhamento de arquivos não está permitido em mensagens diretas", - "error-duplicate-channel-name": "Já existe um canal com nome {{channel_name}}", - "error-email-domain-blacklisted": "O domínio de e-mail está na lista negra", - "error-email-send-failed": "Erro ao tentar enviar e-mail: {{message}}", - "error-save-image": "Erro ao salvar imagem", - "error-field-unavailable": "{{field}} já está sendo usado :(", - "error-file-too-large": "Arquivo é muito grande", - "error-importer-not-defined": "O importador não foi definido corretamente; está faltando a classe Import.", - "error-input-is-not-a-valid-field": "{{input}} não é válido um {{field}}", - "error-invalid-actionlink": "Link de ação inválido", - "error-invalid-arguments": "Argumentos inválidos", - "error-invalid-asset": "Arquivo Inválido", - "error-invalid-channel": "Canal inválido.", - "error-invalid-channel-start-with-chars": "Canal inválido. Comece com @ ou #", - "error-invalid-custom-field": "Campo personalizado inválido", - "error-invalid-custom-field-name": "Nome inválido para o campo personalizado. Use apenas letras, números, hífens e underscores.", - "error-invalid-date": "Data fornecida inválida", - "error-invalid-description": "Descrição inválida", - "error-invalid-domain": "Domínio inválido", - "error-invalid-email": "{{email}} não é um e-mail válido", - "error-invalid-email-address": "Endereço de e-mail inválido", - "error-invalid-file-height": "Altura de arquivo inválida", - "error-invalid-file-type": "Tipo de arquivo inválido", - "error-invalid-file-width": "Altura de arquivo inválida", - "error-invalid-from-address": "Você informou um e-mail DE inválido.", - "error-invalid-integration": "Integração inválida", - "error-invalid-message": "Mensagem inválida", - "error-invalid-method": "Método inválido", - "error-invalid-name": "Nome inválido", - "error-invalid-password": "Senha inválida", - "error-invalid-redirectUri": "redirectUri inválido", - "error-invalid-role": "Papel inválido", - "error-invalid-room": "Sala inválida", - "error-invalid-room-name": "{{room_name}} não é um nome de sala válido", - "error-invalid-room-type": "{{type}} não é um tipo de sala válido.", - "error-invalid-settings": "Configurações fornecidas inválidas", - "error-invalid-subscription": "Assinatura inválida", - "error-invalid-token": "Token inválido", - "error-invalid-triggerWords": "triggerWords inválidos", - "error-invalid-urls": "URLs inválidas", - "error-invalid-user": "Usuário inválido", - "error-invalid-username": "Nome de usuário Inválido", - "error-invalid-webhook-response": "O URL do webhook respondeu com um status diferente de 200", - "error-message-deleting-blocked": "Exclusão de mensagens está bloqueada", - "error-message-editing-blocked": "Edição de mensagens está bloqueada", - "error-message-size-exceeded": "O tamanho da mensagem excede Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Você deve fornecer o link para desinscrever-se: [unsubscribe].", - "error-no-tokens-for-this-user": "Não existem tokens para este usuário", - "error-not-allowed": "Não permitido", - "error-not-authorized": "Não autorizado", - "error-push-disabled": "Notificações push desativadas", - "error-remove-last-owner": "Este é o último proprietário. Por favor, defina um novo proprietário antes de remover este.", - "error-role-in-use": "Não é possível remover o papel pois ele está em uso", - "error-role-name-required": "Nome do papel é obrigatório", - "error-the-field-is-required": "O campo {{field}} é obrigatório.", - "error-too-many-requests": "Erro, muitas solicitações. Por favor, diminua a velocidade. Você deve esperar {{seconds}} segundos antes de tentar novamente.", - "error-user-is-not-activated": "O usuário não está ativo", - "error-user-has-no-roles": "O usuário não possui permissões", - "error-user-limit-exceeded": "O número de usuários que você está tentando convidar para #channel_name excede o limite determindado pelo administrador", - "error-user-not-in-room": "O usuário não está nesta sala", - "error-user-registration-disabled": "O registro do usuário está desativado", - "error-user-registration-secret": "O registro de usuário é permitido somente via URL secreta", - "error-you-are-last-owner": "Você é o último proprietário da sala. Por favor defina um novo proprietário antes de sair.", - "error-status-not-allowed": "O status invisível está desativado", - "Actions": "Ações", - "activity": "atividade", - "Activity": "Atividade", - "Add_Reaction": "Reagir", - "Add_Server": "Adicionar servidor", - "Add_users": "Adicionar usuário", - "Agent": "Agente", - "Alert": "Alerta", - "alert": "alerta", - "alerts": "alertas", - "All_users_in_the_channel_can_write_new_messages": "Todos usuários no canal podem enviar mensagens novas", - "A_meaningful_name_for_the_discussion_room": "Um nome significativo para o canal de discussão", - "All": "Todos", - "Allow_Reactions": "Permitir reagir", - "Alphabetical": "Alfabético", - "and_more": "e mais", - "and": "e", - "announcement": "anúncio", - "Announcement": "Anúncio", - "Apply_Your_Certificate": "Aplicar certificado", - "ARCHIVE": "ARQUIVAR", - "archive": "arquivar", - "are_typing": "estão digitando", - "Are_you_sure_question_mark": "Você tem certeza?", - "Are_you_sure_you_want_to_leave_the_room": "Tem certeza de que deseja sair da sala {{room}}?", - "Audio": "Áudio", - "Authenticating": "Autenticando", - "Automatic": "Automático", - "Auto_Translate": "Tradução automática", - "Avatar_changed_successfully": "Avatar alterado com sucesso!", - "Avatar_Url": "Avatar URL", - "Away": "Ausente", - "Back": "Voltar", - "Black": "Preto", - "Block_user": "Bloquear usuário", - "Browser": "Navegador", - "Broadcast_channel_Description": "Somente usuários autorizados podem escrever novas mensagens, mas os outros usuários poderão responder", - "Broadcast_Channel": "Canal de Transmissão", - "Busy": "Ocupado", - "By_proceeding_you_are_agreeing": "Ao prosseguir você está aceitando", - "Cancel_editing": "Cancelar edição", - "Cancel_recording": "Cancelar gravação", - "Cancel": "Cancelar", - "changing_avatar": "trocando avatar", - "creating_channel": "criando canal", - "creating_invite": "criando convite", - "Channel_Name": "Nome do Canal", - "Channels": "Canais", - "Chats": "Conversas", - "Call_already_ended": "A chamada já terminou!", - "Clear_cookies_alert": "Você quer limpar seus cookies?", - "Clear_cookies_desc": "Esta ação limpará todos os cookies de login permitindo que você faça login em outras contas.", - "Clear_cookies_yes": "Sim, limpar cookies", - "Clear_cookies_no": "Não, manter cookies", - "Click_to_join": "Clique para participar!", - "Close": "Fechar", - "Close_emoji_selector": "Fechar seletor de emojis", - "Closing_chat": "Fechando conversa", - "Change_language_loading": "Alterando idioma.", - "Chat_closed_by_agent": "Conversa fechada por agente", - "Choose": "Escolher", - "Choose_from_library": "Escolha da biblioteca", - "Choose_file": "Enviar arquivo", - "Choose_where_you_want_links_be_opened": "Escolha onde deseja que os links sejam abertos", - "Code": "Código", - "Code_or_password_invalid": "Código ou senha inválido", - "Collaborative": "Colaborativo", - "Confirm": "Confirmar", - "Connect": "Conectar", - "Connected": "Conectado", - "connecting_server": "conectando no servidor", - "Connecting": "Conectando...", - "Contact_us": "Entre em contato", - "Contact_your_server_admin": "Contate o administrador do servidor.", - "Continue_with": "Entrar com", - "Copied_to_clipboard": "Copiado para a área de transferência!", - "Copy": "Copiar", - "Conversation": "Conversação", - "Permalink": "Link-Permanente", - "Clear_cache_loading": "Limpando cache.", - "Create_account": "Criar conta", - "Create_Channel": "Criar Canal", - "Create_Direct_Messages": "Criar Mensagens Diretas", - "Create_Discussion": "Criar Discussão", - "Created_snippet": "criou um snippet", - "Create_a_new_workspace": "Criar nova área de trabalho", - "Create": "Criar", - "Dark": "Escuro", - "Dark_level": "Nível escuro", - "Default": "Padrão", - "Default_browser": "Navegador padrão", - "Delete_Room_Warning": "A exclusão de uma sala irá apagar todas as mensagens postadas na sala. Isso não pode ser desfeito.", - "Department": "Departamento", - "delete": "excluir", - "Delete": "Excluir", - "DELETE": "EXCLUIR", - "deleting_room": "excluindo sala", - "description": "descrição", - "Description": "Descrição", - "Desktop_Options": "Opções De Área De Trabalho", - "Desktop_Notifications": "Notificações da Área de Trabalho", - "Desktop_Alert_info": "Essas notificações são entregues a você na área de trabalho", - "Directory": "Diretório", - "Direct_Messages": "Mensagens Diretas", - "Disable_notifications": "Desabilitar notificações", - "Discussions": "Discussões", - "Discussion_Desc": "Ajude a manter uma visão geral sobre o que está acontecendo! Ao criar uma discussão, um sub-canal do que você selecionou é criado e os dois são vinculados.", - "Discussion_name": "Nome da discussão", - "Done": "Pronto", - "Dont_Have_An_Account": "Não tem uma conta?", - "Do_you_have_an_account": "Você tem uma conta?", - "Do_you_have_a_certificate": "Você tem um certificado?", - "Do_you_really_want_to_key_this_room_question_mark": "Você quer realmente {{key}} esta sala?", - "E2E_Encryption": "Encriptação ponta a ponta", - "E2E_How_It_Works_info1": "Agora você pode criar grupos privados criptografados e mensagens diretas. Você também pode alterar grupos privados existentes ou DMs para criptografados.", - "E2E_How_It_Works_info2": "Esta é a criptografia *ponta a ponta*, portanto, a chave para codificar/decodificar suas mensagens e elas não serão salvas no servidor. Por esse motivo *você precisa armazenar esta senha em algum lugar seguro* que você pode acessar mais tarde se precisar.", - "E2E_How_It_Works_info3": "Se você continuar, será gerada automaticamente uma senha E2E.", - "E2E_How_It_Works_info4": "Você também pode configurar uma nova senha para sua chave de criptografia a qualquer momento em qualquer navegador em que tenha inserido a senha E2E existente.", - "edit": "editar", - "edited": "editado", - "Edit": "Editar", - "Edit_Status": "Editar Status", - "Edit_Invite": "Editar convite", - "End_to_end_encrypted_room": "Sala criptografada de ponta a ponta", - "end_to_end_encryption": "criptografia de ponta a ponta", - "Email_Notification_Mode_All": "Cada Menção / Mensagem Direta", - "Email_Notification_Mode_Disabled": "Desativado", - "Email_or_password_field_is_empty": "Email ou senha estão vazios", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Título vazio", - "Enable_Auto_Translate": "Ativar a tradução automática", - "Enable_notifications": "Habilitar notificações", - "Encrypted": "Criptografado", - "Encrypted_message": "Mensagem criptografada", - "Enter_Your_E2E_Password": "Digite Sua Senha E2E", - "Enter_Your_Encryption_Password_desc1": "Isso permitirá que você acesse seus grupos privados e mensagens diretas criptografadas.", - "Enter_Your_Encryption_Password_desc2": "Você precisa inserir a senha para codificar/decodificar mensagens em todos os lugares em que usar o chat.", - "Encryption_error_title": "Sua senha de criptografia parece errada", - "Encryption_error_desc": "Não foi possível decodificar sua chave de criptografia para ser importada.", - "Everyone_can_access_this_channel": "Todos podem acessar este canal", - "Error_uploading": "Erro subindo", - "Expiration_Days": "Expira em (dias)", - "Favorite": "Adicionar aos Favoritos", - "Favorites": "Favoritos", - "Files": "Arquivos", - "File_description": "Descrição do arquivo", - "File_name": "Nome do arquivo", - "Finish_recording": "Encerrar gravação", - "Following_thread": "Começou a seguir tópico", - "For_your_security_you_must_enter_your_current_password_to_continue": "Para sua segurança, você precisa digitar sua senha", - "Forgot_password_If_this_email_is_registered": "Se este e-mail estiver cadastrado, enviaremos instruções sobre como redefinir sua senha. Se você não receber um e-mail em breve, volte e tente novamente.", - "Forgot_password": "Esqueceu sua senha?", - "Forgot_Password": "Esqueci minha senha", - "Forward": "Encaminhar", - "Forward_Chat": "Encaminhar Conversa", - "Forward_to_department": "Encaminhar para departamento", - "Forward_to_user": "Encaminhar para usuário", - "Full_table": "Clique para ver a tabela completa", - "Generate_New_Link": "Gerar novo convite", - "Group_by_favorites": "Agrupar favoritos", - "Group_by_type": "Agrupar por tipo", - "Hide": "Ocultar", - "Has_joined_the_channel": "entrou no canal", - "Has_joined_the_conversation": "entrou na conversa", - "Has_left_the_channel": "saiu da conversa", - "Hide_System_Messages": "Esconder mensagens do sistema", - "Hide_type_messages": "Esconder mensagens de \"{{type}}\"", - "Message_HideType_uj": "Utilizador Entrou", - "Message_HideType_ul": "Utilizador Saiu", - "Message_HideType_ru": "Utilizador Removido", - "Message_HideType_au": "Utilizador adicionado", - "Message_HideType_mute_unmute": "Utilizador Silenciado", - "Message_HideType_r": "Nome da sala alterado", - "Message_HideType_ut": "Utilizador adicionado ao bate-papo", - "Message_HideType_wm": "Bem Vindo", - "Message_HideType_rm": "Mensagem Removida", - "Message_HideType_subscription_role_added": "Papel atribuído", - "Message_HideType_subscription_role_removed": "Papel removido", - "Message_HideType_room_archived": "Sala arquivada", - "Message_HideType_room_unarchived": "Sala desarquivada", - "IP": "IP", - "In_app": "No app", - "In_App_and_Desktop_Alert_info": "Exibe um banner na parte superior da tela quando o aplicativo é aberto e exibe uma notificação na área de trabalho", - "Invisible": "Invisível", - "Invite": "Convidar", - "is_typing": "está digitando", - "Invalid_or_expired_invite_token": "Token de convite inválido ou vencido", - "Invalid_server_version": "O servidor que você está conectando não é suportado mais por esta versão do aplicativo: {{currentVersion}}.\n\nEsta versão do aplicativo requer a versão {{minVersion}} do servidor para funcionar corretamente.", - "Invite_Link": "Link de Convite", - "Invite_users": "Convidar usuários", - "Join": "Entrar", - "Join_Code": "Insira o Código da Sala", - "Insert_Join_Code": "Insira o código para entrar na sala", - "Join_our_open_workspace": "Entra na nossa workspace pública", - "Join_your_workspace": "Entre na sua workspace", - "Just_invited_people_can_access_this_channel": "Apenas as pessoas convidadas podem acessar este canal", - "Language": "Idioma", - "last_message": "última mensagem", - "Leave_channel": "Sair do canal", - "leaving_room": "saindo do canal", - "Leave": "Sair da sala", - "leave": "sair", - "Legal": "Legal", - "Light": "Claro", - "Livechat": "Livechat", - "Login": "Entrar", - "Login_error": "Suas credenciais foram rejeitadas. Tente novamente por favor!", - "Login_with": "Login with", - "Logging_out": "Saindo.", - "Logout": "Sair", - "Max_number_of_uses": "Número máximo de usos", - "Max_number_of_users_allowed_is_number": "Número máximo de usuários é {{maxUsers}}", - "Members": "Membros", - "Mentioned_Messages": "Mensagens mencionadas", - "mentioned": "mencionado", - "Mentions": "Menções", - "Message_accessibility": "Mensagem de {{user}} às {{time}}: {{message}}", - "Message_actions": "Ações", - "Message_pinned": "Fixou uma mensagem", - "Message_removed": "Mensagem removida", - "message": "mensagem", - "messages": "mensagens", - "Message": "Mensagem", - "Messages": "Mensagens", - "Microphone_Permission_Message": "Rocket.Chat precisa de acesso ao seu microfone para enviar mensagens de áudio.", - "Microphone_Permission": "Acesso ao Microfone", - "Mute": "Mudo", - "muted": "mudo", - "N_people_reacted": "{{n}} pessoas reagiram", - "N_users": "{{n}} usuários", - "name": "nome", - "Name": "Nome", - "Navigation_history": "Histórico de navegação", - "Never": "Nunca", - "New_Message": "Nova Mensagem", - "New_Password": "Nova Senha", - "Next": "Próximo", - "No_files": "Não há arquivos", - "No_limit": "Sem limite", - "No_mentioned_messages": "Não há menções", - "No_pinned_messages": "Não há mensagens fixadas", - "No_results_found": "Nenhum resultado encontrado", - "No_starred_messages": "Não há mensagens favoritas", - "No_thread_messages": "Não há tópicos", - "No_label_provided": "Sem {{label}}.", - "No_Message": "Não há mensagens", - "No_messages_yet": "Não há mensagens ainda", - "No_Reactions": "Sem reações", - "Not_RC_Server": "Este não é um servidor Rocket.Chat.\n{{contact}}", - "Nothing": "Nada", - "Nothing_to_save": "Nada para salvar!", - "Notify_active_in_this_room": "Notificar usuários ativos nesta sala", - "Notify_all_in_this_room": "Notificar todos nesta sala", - "Notifications": "Notificações", - "Notification_Duration": "Duração da notificação", - "Notification_Preferences": "Preferências de notificação", - "No_available_agents_to_transfer": "Nenhum agente disponível para transferência", - "Offline": "Offline", - "Oops": "Ops!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Bate-papos em Andamento", - "Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você quer ficar disponível?", - "Onboarding_description": "Workspace é o espaço de colaboração do seu time ou organização. Peça um convite ou o endereço ao seu administrador ou crie uma workspace para o seu time.", - "Onboarding_join_workspace": "Entre numa workspace", - "Onboarding_subtitle": "Além da colaboração em equipe", - "Onboarding_title": "Bem vindo ao Rocket.Chat", - "Onboarding_join_open_description": "Entre na nossa workspace pública para conversar com o time da Rocket.Chat e nossa comunidade.", - "Onboarding_agree_terms": "Ao continuar, você aceita nossos ", - "Onboarding_less_options": "Menos opções", - "Onboarding_more_options": "Mais opções", - "Online": "Online", - "Only_authorized_users_can_write_new_messages": "Somente usuários autorizados podem escrever novas mensagens", - "Open_emoji_selector": "Abrir seletor de emoji", - "Open_Source_Communication": "Comunicação Open Source", - "Open_your_authentication_app_and_enter_the_code": "Abra seu aplicativo de autenticação e digite o código.", - "OR": "OU", - "OS": "SO", - "Overwrites_the_server_configuration_and_use_room_config": "Substituir a configuração do servidor e usar a configuração da sala", - "Password": "Senha", - "Parent_channel_or_group": "Canal ou grupo pai", - "Permalink_copied_to_clipboard": "Link-permanente copiado para a área de transferência!", - "Phone": "Telefone", - "Pin": "Fixar", - "Pinned_Messages": "Mensagens Fixadas", - "pinned": "fixada", - "Pinned": "Mensagens Fixadas", - "Please_add_a_comment": "Por favor, adicione um comentário", - "Please_enter_your_password": "Por favor, digite sua senha", - "Please_wait": "Por favor, aguarde.", - "Preferences": "Preferências", - "Preferences_saved": "Preferências salvas!", - "Privacy_Policy": " Política de Privacidade", - "Private_Channel": "Canal Privado", - "Private": "Privado", - "Processing": "Processando...", - "Profile_saved_successfully": "Perfil salvo com sucesso!", - "Profile": "Perfil", - "Public_Channel": "Canal Público", - "Public": "Público", - "Push_Notifications": "Notificações Push", - "Push_Notifications_Alert_Info": "Essas notificações são entregues a você quando o aplicativo não está aberto", - "Quote": "Citar", - "Reactions_are_disabled": "Reagir está desabilitado", - "Reactions_are_enabled": "Reagir está habilitado", - "Reactions": "Reações", - "Read_External_Permission_Message": "Rocket.Chat precisa acessar fotos, mídia e arquivos no seu dispositivo", - "Read_External_Permission": "Permissão de acesso à arquivos", - "Read_Only_Channel": "Canal Somente Leitura", - "Read_Only": "Somente Leitura", - "Read_Receipt": "Lida por", - "Receive_Group_Mentions": "Receber menções de grupo", - "Receive_Group_Mentions_Info": "Receber menções @all e @here", - "Register": "Registrar", - "Repeat_Password": "Repetir Senha", - "Replied_on": "Respondido em:", - "replies": "respostas", - "reply": "resposta", - "Reply": "Responder", - "Report": "Reportar", - "Receive_Notification": "Receber Notificação", - "Receive_notifications_from": "Receber notificação de {{name}}", - "Resend": "Reenviar", - "Reset_password": "Resetar senha", - "resetting_password": "redefinindo senha", - "RESET": "RESETAR", - "Return": "Retornar", - "Review_app_title": "Você está gostando do app?", - "Review_app_desc": "Nos dê 5 estrelas na {{store}}", - "Review_app_yes": "Claro!", - "Review_app_no": "Não", - "Review_app_later": "Talvez depois", - "Review_app_unable_store": "Não foi possível abrir {{store}}", - "Review_this_app": "Avaliar esse app", - "Remove": "Remover", - "Roles": "Papéis", - "Room_actions": "Ações", - "Room_changed_announcement": "O anúncio da sala foi alterado para: {{announcement}} por {{userBy}}", - "Room_changed_description": "A descrição da sala foi alterada para: {{description}} por {{userBy}}", - "Room_changed_privacy": "Tipo da sala mudou para: {{type}} por {{userBy}}", - "Room_changed_topic": "Tópico da sala mudou para: {{topic}} por {{userBy}}", - "Room_Files": "Arquivos", - "Room_Info_Edit": "Editar", - "Room_Info": "Informações da Sala", - "Room_Members": "Membros", - "Room_name_changed": "Nome da sala alterado para: {{name}} por {{userBy}}", - "SAVE": "SALVAR", - "Save_Changes": "Salvar Alterações", - "Save": "Salvar", - "Saved": "Salvo", - "saving_preferences": "salvando preferências", - "saving_profile": "salvando perfil", - "saving_settings": "salvando configurações", - "saved_to_gallery": "Salvo na galeria", - "Save_Your_E2E_Password": "Salve sua senha E2E", - "Save_Your_Encryption_Password": "Salve Sua Senha de Criptografia", - "Save_Your_Encryption_Password_warning": "Esta senha não é armazenada em nenhum lugar, portanto, salve-a com cuidado em outro lugar.", - "Save_Your_Encryption_Password_info": "Observe que se você perder sua senha, não há como recuperá-la e você perderá o acesso às suas mensagens.", - "Search_Messages": "Buscar Mensagens", - "Search": "Buscar", - "Search_by": "Buscar por", - "Search_global_users": "Busca por usuários globais", - "Search_global_users_description": "Caso ativado, busca por usuários de outras empresas ou servidores.", - "Security_and_privacy": "Segurança e privacidade", - "Select_Avatar": "Selecionar Avatar", - "Select_Server": "Selecionar Servidor", - "Select_Users": "Selecionar Usuários", - "Select_a_Channel": "Selecione um canal", - "Select_a_Department": "Selecione um Departamento", - "Select_an_option": "Selecione uma opção", - "Select_a_User": "Selecione um Usuário", - "Send": "Enviar", - "Send_audio_message": "Enviar mensagem de áudio", - "Send_crash_report": "Enviar relatório de erros", - "Send_message": "Enviar mensagem", - "Send_me_the_code_again": "Envie-me o código novamente", - "Send_to": "Enviar para...", - "Sent_an_attachment": "Enviou um anexo", - "Server": "Servidor", - "Set_username_subtitle": "O usuário é utilizado para permitir que você seja mencionado em mensagens", - "Settings": "Configurações", - "Settings_succesfully_changed": "Configurações salvas com sucesso!", - "Share": "Compartilhar", - "Share_Link": "Share Link", - "Show_more": "Mostrar mais..", - "Show_Unread_Counter": "Mostrar contador não lido", - "Show_Unread_Counter_Info": "O contador não lido é exibido como um emblema à direita do canal, na lista", - "Sign_in_your_server": "Entrar no seu servidor", - "Sign_Up": "Registrar", - "Some_field_is_invalid_or_empty": "Algum campo está inválido ou vazio", - "Sorting_by": "Ordenando por {{key}}", - "Sound": "Som da notificação", - "Star_room": "Favoritar sala", - "Star": "Favorito", - "Starred_Messages": "Mensagens Favoritas", - "starred": "favoritou", - "Starred": "Mensagens Favoritas", - "Start_of_conversation": "Início da conversa", - "Start_a_Discussion": "Iniciar uma Discussão", - "Started_discussion": "Iniciou uma discussão:", - "Started_call": "Chamada iniciada por {{userBy}}", - "Submit": "Enviar", - "Table": "Tabela", - "Take_a_photo": "Tirar uma foto", - "Take_a_video": "Gravar um vídeo", - "Take_it": "Pegue!", - "Terms_of_Service": " Termos de Serviço ", - "Theme": "Tema", - "The_user_wont_be_able_to_type_in_roomName": "O usuário não poderá digitar em {{roomName}}", - "The_user_will_be_able_to_type_in_roomName": "O usuário poderá digitar em {{roomName}}", - "There_was_an_error_while_action": "Aconteceu um erro {{action}}!", - "This_room_is_blocked": "Este quarto está bloqueado", - "This_room_is_read_only": "Este quarto é apenas de leitura", - "Thread": "Tópico", - "Threads": "Tópicos", - "Timezone": "Fuso horário", - "To": "Para", - "topic": "tópico", - "Topic": "Tópico", - "Translate": "Traduzir", - "Try_again": "Tentar novamente", - "Two_Factor_Authentication": "Autenticação de dois fatores", - "Type_the_channel_name_here": "Digite o nome do canal", - "unarchive": "desarquivar", - "UNARCHIVE": "DESARQUIVAR", - "Unblock_user": "Desbloquear usuário", - "Unfavorite": "Remover dos Favoritos", - "Unfollowed_thread": "Parou de seguir tópico", - "Unmute": "Permitir que o usuário fale", - "unmuted": "permitiu que o usuário fale", - "Unpin": "Desafixar Mensagem", - "unread_messages": "não lidas", - "Unread": "Não lidas", - "Unread_on_top": "Não lidas no topo", - "Unstar": "Remover favorito", - "Updating": "Atualizando...", - "Uploading": "Subindo arquivo", - "Upload_file_question_mark": "Enviar arquivo?", - "User": "Usuário", - "Users": "Usuários", - "User_added_by": "Usuário {{userAdded}} adicionado por {{userBy}}", - "User_Info": "Informações do usuário", - "User_has_been_key": "Usuário foi {{key}}", - "User_is_no_longer_role_by_": "{{user}} não pertence mais à {{role}} por {{userBy}}", - "User_muted_by": "User {{userMuted}} muted por {{userBy}}", - "User_removed_by": "Usuário {{userRemoved}} removido por {{userBy}}", - "User_sent_an_attachment": "{{user}} enviou um anexo", - "User_unmuted_by": "{{userBy}} permitiu que {{userUnmuted}} fale na sala", - "User_was_set_role_by_": "{{user}} foi definido como {{role}} por {{userBy}}", - "Username_is_empty": "Usuário está vazio", - "Username": "Usuário", - "Username_or_email": "Usuário ou email", - "Uses_server_configuration": "Usar configuração do servidor", - "Verify": "Verificar", - "Verify_email_title": "Registrado com sucesso!", - "Verify_email_desc": "Nós lhe enviamos um e-mail para confirmar o seu registro. Se você não receber um e-mail em breve, por favor retorne e tente novamente.", - "Verify_your_email_for_the_code_we_sent": "Verifique em seu e-mail o código que enviamos", - "Video_call": "Chamada de vídeo", - "View_Original": "Visualizar original", - "Voice_call": "Chamada de voz", - "Waiting_for_network": "Aguardando rede...", - "Websocket_disabled": "Websocket está desativado para esse servidor.\n{{contact}}", - "Welcome": "Bem vindo", - "What_are_you_doing_right_now": "O que você está fazendo agora?", - "Whats_your_2fa": "Qual seu código de autenticação?", - "Without_Servers": "Sem Servidores", - "Workspaces": "Workspaces", - "Would_you_like_to_return_the_inquiry": "Deseja retornar a consulta?", - "Write_External_Permission_Message": "Rocket.Chat precisa de acesso à sua galeria para salvar imagens", - "Write_External_Permission": "Acesso à Galeria", - "Yes": "Sim", - "Yes_action_it": "Sim, {{action}}!", - "Yesterday": "Ontem", - "You_are_in_preview_mode": "Está é uma prévia do canal", - "You_are_offline": "Você está offline", - "You_can_search_using_RegExp_eg": "Você pode usar expressões regulares, por exemplo `/^text$/i`", - "You_colon": "Você: ", - "you_were_mentioned": "você foi mencionado", - "You_were_removed_from_channel": "Você foi removido de {{channel}}", - "you": "você", - "You": "Você", - "You_need_to_verifiy_your_email_address_to_get_notications": "Você precisa confirmar seu endereço de e-mail para obter notificações", - "Your_certificate": "Seu certificado", - "Your_invite_link_will_expire_after__usesLeft__uses": "Seu link de convite irá vencer depois de {{usesLeft}} usos.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Seu link de convite irá vencer em {{date}} ou depois de {{usesLeft}} usos.", - "Your_invite_link_will_expire_on__date__": "Seu link de convite irá vencer em {{date}}.", - "Your_invite_link_will_never_expire": "Seu link de convite nunca irá vencer.", - "Your_workspace": "Sua workspace", - "You_will_not_be_able_to_recover_this_message": "Você não será capaz de recuperar essa mensagem!", - "You_will_unset_a_certificate_for_this_server": "Você cancelará a configuração de um certificado para este servidor", - "Change_Language": "Alterar idioma", - "Crash_report_disclaimer": "Nós não rastreamos o conteúdo das suas conversas. O relatório de erros e os eventos do analytics apenas contém informações relevantes para identificarmos problemas e corrigí-los.", - "Type_message": "Digitar mensagem", - "Room_search": "Busca de sala", - "Room_selection": "Selecionar sala 1...9", - "Next_room": "Próxima sala", - "Previous_room": "Sala anterior", - "New_room": "Nova sala", - "Upload_room": "Enviar arquivo", - "Search_messages": "Buscar mensagens", - "Scroll_messages": "Rolar mensagens", - "Reply_latest": "Responder para última mensagem", - "Reply_in_Thread": "Responder por Tópico", - "Server_selection": "Seleção de servidor", - "Server_selection_numbers": "Selecionar servidor 1...9", - "Add_server": "Adicionar servidor", - "New_line": "Nova linha", - "You_will_be_logged_out_of_this_application": "Você sairá deste aplicativo.", - "Clear": "Limpar", - "This_will_clear_all_your_offline_data": "Isto limpará todos os seus dados offline.", - "This_will_remove_all_data_from_this_server": "Isto removerá todos os dados desse servidor.", - "Mark_unread": "Marcar como não Lida", - "Wait_activation_warning": "Antes que você possa fazer o login, sua conta deve ser manualmente ativada por um administrador.", - "Screen_lock": "Bloqueio de Tela", - "Local_authentication_biometry_title": "Autenticar", - "Local_authentication_biometry_fallback": "Usar senha", - "Local_authentication_unlock_option": "Desbloquear com senha", - "Local_authentication_change_passcode": "Alterar senha", - "Local_authentication_info": "Nota: se você esquecer sua senha, terá de apagar e reinstalar o app.", - "Local_authentication_facial_recognition": "reconhecimento facial", - "Local_authentication_fingerprint": "impressão digital", - "Local_authentication_unlock_with_label": "Desbloquear com {{label}}", - "Local_authentication_auto_lock_60": "Após 1 minuto", - "Local_authentication_auto_lock_300": "Após 5 minutos", - "Local_authentication_auto_lock_900": "Após 15 minutos", - "Local_authentication_auto_lock_1800": "Após 30 minutos", - "Local_authentication_auto_lock_3600": "Após 1 hora", - "Passcode_enter_title": "Digite sua senha", - "Passcode_choose_title": "Insira sua nova senha", - "Passcode_choose_confirm_title": "Confirme sua nova senha", - "Passcode_choose_error": "As senhas não coincidem. Tente novamente.", - "Passcode_choose_force_set": "Senha foi exigida pelo admin", - "Passcode_app_locked_title": "Aplicativo bloqueado", - "Passcode_app_locked_subtitle": "Tente novamente em {{timeLeft}} segundos", - "After_seconds_set_by_admin": "Após {{seconds}} segundos (Configurado pelo adm)", - "Dont_activate": "Não ativar agora", - "Queued_chats": "Bate-papos na fila", - "Queue_is_empty": "A fila está vazia", - "Logout_from_other_logged_in_locations": "Sair de outros locais logados", - "You_will_be_logged_out_from_other_locations": "Você perderá a sessão de outros clientes", - "Logged_out_of_other_clients_successfully": "Desconectado de outros clientes com sucesso", - "Logout_failed": "Falha ao desconectar!", - "Log_analytics_events": "Logar eventos no analytics", - "E2E_encryption_change_password_title": "Alterar Senha de Criptografia", - "E2E_encryption_change_password_description": "Agora você pode criar grupos privados criptografados e mensagens diretas. Você também pode alterar os grupos privados ou DMs existentes para criptografados. Esta é uma criptografia de ponta a ponta, logo a chave para codificar / decodificar suas mensagens não será salva no servidor. Por esse motivo, você precisa armazenar sua senha em algum lugar seguro. Será solicitada a inserção de senha em outros dispositivos nos quais deseja usar a criptografia E2E.", - "E2E_encryption_change_password_error": "Erro ao alterar senha de criptografia!", - "E2E_encryption_change_password_success": "Senha de criptografia alterada com sucesso!", - "E2E_encryption_change_password_message": "Certifique-se de tê-la guardado em local seguro.", - "E2E_encryption_change_password_confirmation": "Sim, alterar", - "E2E_encryption_reset_title": "Redefinir Chave de Criptografia", - "E2E_encryption_reset_description": "Essa opção irá remover a chave de criptografia corrente e desconectá-lo. \nQuando você se conectar novamente, uma nova chave será gerada e restaurará acesso a qualquer canal com uma ou mais pessoas online. \nDevico à natureza da criptografia ponta a ponta, não será possível restaurar acesso a canais sem membros online.", - "E2E_encryption_reset_button": "Redefinir", - "E2E_encryption_reset_error": "Erro ao redefinir chave!", - "E2E_encryption_reset_message": "Você será desconectado.", - "E2E_encryption_reset_confirmation": "Sim, redefinir", - "Following": "Seguindo", - "Threads_displaying_all": "Mostrando Tudo", - "Threads_displaying_following": "Mostrando Seguindo", - "Threads_displaying_unread": "Mostrando Não Lidos", - "No_threads": "Não há tópicos", - "No_threads_following": "Você não está seguindo tópicos", - "No_threads_unread": "Não há tópicos não lidos", - "Messagebox_Send_to_channel": "Mostrar no canal", - "Remove_from_room": "Remover do canal", - "Ignore": "Ignorar", - "Unignore": "Deixar de ignorar", - "User_has_been_ignored": "Usuário foi ignorado", - "User_has_been_unignored": "O usuário não é mais ignorado", - "User_has_been_removed_from_s": "Usuário foi removido de {{s}}", - "User__username__is_now_a_leader_of__room_name_": "O usuário {{username}} agora é líder de {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "O usuário {{username}} agora é moderador de {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "O usuário {{username}} agora é proprietário de {{room_name}}", - "User__username__removed_from__room_name__leaders": "O usuário {{username}} foi removido dos líderes de {{room_name}}", - "User__username__removed_from__room_name__moderators": "O usuário {{username}} foi removido dos moderadores de {{room_name}}", - "User__username__removed_from__room_name__owners": "O usuário {{username}} foi removido dos proprietários de {{room_name}}", - "The_user_will_be_removed_from_s": "O usuário será removido de {{s}}", - "Yes_remove_user": "Sim, remover usuário!", - "Direct_message": "Mensagem direta", - "Message_Ignored": "Mensagem ignorada. Toque para mostrar.", - "Enter_workspace_URL": "Digite a URL da sua workspace", - "Workspace_URL_Example": "Ex. sua-empresa.rocket.chat", - "This_room_encryption_has_been_enabled_by__username_": "A criptografia para essa sala foi habilitada por {{username}}", - "This_room_encryption_has_been_disabled_by__username_": "A criptografia para essa sala foi desabilitada por {{username}}", - "Teams": "Times", - "No_team_channels_found": "Nenhum canal encontrado", - "Team_not_found": "Time não encontrado", - "Private_Team": "Equipe Privada", - "Left_The_Team_Successfully": "Saiu do time com sucesso", - "Add_Existing_Channel": "Adicionar Canal Existente", - "invalid-room": "Sala inválida", - "room-name-already-exists": "Nome da sala já existe", - "error-team-creation": "Erro na criação do time", - "unauthorized": "Não autorizado", - "Left_The_Room_Successfully": "Saiu da sala com sucesso", - "Deleted_The_Team_Successfully": "Time deletado com sucesso", - "Deleted_The_Room_Successfully": "Sala deletada com sucesso", - "Convert_to_Channel": "Converter para um Canal", - "Canned_Responses": "Respostas Predefinidas", - "No_match_found": "Nenhum resultado encontrado", - "Check_canned_responses": "Verifique nas respostas predefinidas", - "Searching": "Buscando", - "Use": "Use", - "Shortcut": "Atalho", - "Content": "Conteúdo", - "No_canned_responses": "Não há respostas predefinidas" -} + "1_person_reacted": "1 pessoa reagiu", + "1_user": "1 usuário", + "error-action-not-allowed": "{{action}} não é permitido", + "error-application-not-found": "Aplicação não encontrada", + "error-archived-duplicate-name": "Já há um canal arquivado com o nome {{room_name}}", + "error-avatar-invalid-url": "URL inválida de avatar: {{url}}", + "error-avatar-url-handling": "Erro durante o manuseio configuração avatar a partir de uma URL ({{url}}) para {{username}}", + "error-cant-invite-for-direct-room": "Não é possível convidar usuários para salas diretas", + "error-could-not-change-email": "Não foi possível mudar e-mail", + "error-could-not-change-name": "Não foi possível mudar o nome", + "error-could-not-change-username": "Não foi possível alterar o nome de usuário", + "error-delete-protected-role": "Não é possível remover um papel protegido", + "error-department-not-found": "Departamento não encontrado", + "error-direct-message-file-upload-not-allowed": "Compartilhamento de arquivos não está permitido em mensagens diretas", + "error-duplicate-channel-name": "Já existe um canal com nome {{room_name}}", + "error-email-domain-blacklisted": "O domínio de e-mail está na lista negra", + "error-email-send-failed": "Erro ao tentar enviar e-mail: {{message}}", + "error-save-image": "Erro ao salvar imagem", + "error-field-unavailable": "{{field}} já está sendo usado :(", + "error-file-too-large": "Arquivo é muito grande", + "error-importer-not-defined": "O importador não foi definido corretamente; está faltando a classe Import.", + "error-input-is-not-a-valid-field": "{{input}} não é válido um {{field}}", + "error-invalid-actionlink": "Link de ação inválido", + "error-invalid-arguments": "Argumentos inválidos", + "error-invalid-asset": "Arquivo Inválido", + "error-invalid-channel": "Canal inválido.", + "error-invalid-channel-start-with-chars": "Canal inválido. Comece com @ ou #", + "error-invalid-custom-field": "Campo personalizado inválido", + "error-invalid-custom-field-name": "Nome inválido para o campo personalizado. Use apenas letras, números, hífens e underscores.", + "error-invalid-date": "Data fornecida inválida", + "error-invalid-description": "Descrição inválida", + "error-invalid-domain": "Domínio inválido", + "error-invalid-email": "{{email}} não é um e-mail válido", + "error-invalid-email-address": "Endereço de e-mail inválido", + "error-invalid-file-height": "Altura de arquivo inválida", + "error-invalid-file-type": "Tipo de arquivo inválido", + "error-invalid-file-width": "Altura de arquivo inválida", + "error-invalid-from-address": "Você informou um e-mail DE inválido.", + "error-invalid-integration": "Integração inválida", + "error-invalid-message": "Mensagem inválida", + "error-invalid-method": "Método inválido", + "error-invalid-name": "Nome inválido", + "error-invalid-password": "Senha inválida", + "error-invalid-redirectUri": "redirectUri inválido", + "error-invalid-role": "Papel inválido", + "error-invalid-room": "Sala inválida", + "error-invalid-room-name": "{{room_name}} não é um nome de sala válido", + "error-invalid-room-type": "{{type}} não é um tipo de sala válido.", + "error-invalid-settings": "Configurações fornecidas inválidas", + "error-invalid-subscription": "Assinatura inválida", + "error-invalid-token": "Token inválido", + "error-invalid-triggerWords": "triggerWords inválidos", + "error-invalid-urls": "URLs inválidas", + "error-invalid-user": "Usuário inválido", + "error-invalid-username": "Nome de usuário Inválido", + "error-invalid-webhook-response": "O URL do webhook respondeu com um status diferente de 200", + "error-message-deleting-blocked": "Exclusão de mensagens está bloqueada", + "error-message-editing-blocked": "Edição de mensagens está bloqueada", + "error-message-size-exceeded": "O tamanho da mensagem excede Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "Você deve fornecer o link para desinscrever-se: [unsubscribe].", + "error-no-owner-channel": "Você não é dono do canal", + "error-no-tokens-for-this-user": "Não existem tokens para este usuário", + "error-not-allowed": "Não permitido", + "error-not-authorized": "Não autorizado", + "error-push-disabled": "Notificações push desativadas", + "error-remove-last-owner": "Este é o último proprietário. Por favor, defina um novo proprietário antes de remover este.", + "error-role-in-use": "Não é possível remover o papel pois ele está em uso", + "error-role-name-required": "Nome do papel é obrigatório", + "error-the-field-is-required": "O campo {{field}} é obrigatório.", + "error-too-many-requests": "Erro, muitas solicitações. Por favor, diminua a velocidade. Você deve esperar {{seconds}} segundos antes de tentar novamente.", + "error-user-is-not-activated": "O usuário não está ativo", + "error-user-has-no-roles": "O usuário não possui permissões", + "error-user-limit-exceeded": "O número de usuários que você está tentando convidar para #channel_name excede o limite determindado pelo administrador", + "error-user-not-in-room": "O usuário não está nesta sala", + "error-user-registration-disabled": "O registro do usuário está desativado", + "error-user-registration-secret": "O registro de usuário é permitido somente via URL secreta", + "error-you-are-last-owner": "Você é o último proprietário da sala. Por favor defina um novo proprietário antes de sair.", + "error-status-not-allowed": "O status invisível está desativado", + "Actions": "Ações", + "Activity": "Atividade", + "Add_Reaction": "Reagir", + "Add_Server": "Adicionar servidor", + "Add_users": "Adicionar usuário", + "Agent": "Agente", + "Alert": "Alerta", + "alert": "alerta", + "alerts": "alertas", + "All_users_in_the_channel_can_write_new_messages": "Todos usuários no canal podem enviar mensagens novas", + "All_users_in_the_team_can_write_new_messages": "Todos usuários no canal podem enviar mensagens novas", + "A_meaningful_name_for_the_discussion_room": "Um nome significativo para o canal de discussão", + "All": "Todos", + "Allow_Reactions": "Permitir reagir", + "Alphabetical": "Alfabético", + "and_more": "e mais", + "and": "e", + "announcement": "anúncio", + "Announcement": "Anúncio", + "Apply_Your_Certificate": "Aplicar certificado", + "ARCHIVE": "ARQUIVAR", + "archive": "arquivar", + "are_typing": "estão digitando", + "Are_you_sure_question_mark": "Você tem certeza?", + "Are_you_sure_you_want_to_leave_the_room": "Tem certeza de que deseja sair da sala {{room}}?", + "Audio": "Áudio", + "Authenticating": "Autenticando", + "Automatic": "Automático", + "Auto_Translate": "Tradução automática", + "Avatar_changed_successfully": "Avatar alterado com sucesso!", + "Avatar_Url": "Avatar URL", + "Away": "Ausente", + "Back": "Voltar", + "Black": "Preto", + "Block_user": "Bloquear usuário", + "Browser": "Navegador", + "Broadcast_channel_Description": "Somente usuários autorizados podem escrever novas mensagens, mas os outros usuários poderão responder", + "Broadcast_Channel": "Canal de Transmissão", + "Busy": "Ocupado", + "By_proceeding_you_are_agreeing": "Ao prosseguir você está aceitando", + "Cancel_editing": "Cancelar edição", + "Cancel_recording": "Cancelar gravação", + "Cancel": "Cancelar", + "changing_avatar": "trocando avatar", + "creating_channel": "criando canal", + "creating_invite": "criando convite", + "Channel_Name": "Nome do Canal", + "Channels": "Canais", + "Chats": "Conversas", + "Call_already_ended": "A chamada já terminou!", + "Clear_cookies_alert": "Você quer limpar seus cookies?", + "Clear_cookies_desc": "Esta ação limpará todos os cookies de login permitindo que você faça login em outras contas.", + "Clear_cookies_yes": "Sim, limpar cookies", + "Clear_cookies_no": "Não, manter cookies", + "Click_to_join": "Clique para participar!", + "Close": "Fechar", + "Close_emoji_selector": "Fechar seletor de emojis", + "Closing_chat": "Fechando conversa", + "Change_language_loading": "Alterando idioma.", + "Chat_closed_by_agent": "Conversa fechada por agente", + "Choose": "Escolher", + "Choose_from_library": "Escolha da biblioteca", + "Choose_file": "Enviar arquivo", + "Choose_where_you_want_links_be_opened": "Escolha onde deseja que os links sejam abertos", + "Code": "Código", + "Code_or_password_invalid": "Código ou senha inválido", + "Collaborative": "Colaborativo", + "Confirm": "Confirmar", + "Connect": "Conectar", + "Connected": "Conectado", + "connecting_server": "conectando no servidor", + "Connecting": "Conectando...", + "Contact_us": "Entre em contato", + "Contact_your_server_admin": "Contate o administrador do servidor.", + "Continue_with": "Entrar com", + "Copied_to_clipboard": "Copiado para a área de transferência!", + "Copy": "Copiar", + "Conversation": "Conversação", + "Permalink": "Link-Permanente", + "Clear_cache_loading": "Limpando cache.", + "Create_account": "Criar conta", + "Create_Channel": "Criar Canal", + "Create_Direct_Messages": "Criar Mensagens Diretas", + "Create_Discussion": "Criar Discussão", + "Created_snippet": "criou um snippet", + "Create_a_new_workspace": "Criar nova área de trabalho", + "Create": "Criar", + "Dark": "Escuro", + "Dark_level": "Nível escuro", + "Default": "Padrão", + "Default_browser": "Navegador padrão", + "Delete_Room_Warning": "A exclusão de uma sala irá apagar todas as mensagens postadas na sala. Isso não pode ser desfeito.", + "Department": "Departamento", + "delete": "excluir", + "Delete": "Excluir", + "DELETE": "EXCLUIR", + "move": "mover", + "deleting_room": "excluindo sala", + "description": "descrição", + "Description": "Descrição", + "Desktop_Options": "Opções De Área De Trabalho", + "Desktop_Notifications": "Notificações da Área de Trabalho", + "Desktop_Alert_info": "Essas notificações são entregues a você na área de trabalho", + "Directory": "Diretório", + "Direct_Messages": "Mensagens Diretas", + "Disable_notifications": "Desabilitar notificações", + "Discussions": "Discussões", + "Discussion_Desc": "Ajude a manter uma visão geral sobre o que está acontecendo! Ao criar uma discussão, um sub-canal do que você selecionou é criado e os dois são vinculados.", + "Discussion_name": "Nome da discussão", + "Done": "Pronto", + "Dont_Have_An_Account": "Não tem uma conta?", + "Do_you_have_an_account": "Você tem uma conta?", + "Do_you_have_a_certificate": "Você tem um certificado?", + "Do_you_really_want_to_key_this_room_question_mark": "Você quer realmente {{key}} esta sala?", + "E2E_Encryption": "Encriptação ponta a ponta", + "E2E_How_It_Works_info1": "Agora você pode criar grupos privados criptografados e mensagens diretas. Você também pode alterar grupos privados existentes ou DMs para criptografados.", + "E2E_How_It_Works_info2": "Esta é a criptografia *ponta a ponta*, portanto, a chave para codificar/decodificar suas mensagens e elas não serão salvas no servidor. Por esse motivo *você precisa armazenar esta senha em algum lugar seguro* que você pode acessar mais tarde se precisar.", + "E2E_How_It_Works_info3": "Se você continuar, será gerada automaticamente uma senha E2E.", + "E2E_How_It_Works_info4": "Você também pode configurar uma nova senha para sua chave de criptografia a qualquer momento em qualquer navegador em que tenha inserido a senha E2E existente.", + "edit": "editar", + "edited": "editado", + "Edit": "Editar", + "Edit_Status": "Editar Status", + "Edit_Invite": "Editar convite", + "End_to_end_encrypted_room": "Sala criptografada de ponta a ponta", + "end_to_end_encryption": "criptografia de ponta a ponta", + "Email_Notification_Mode_All": "Cada Menção / Mensagem Direta", + "Email_Notification_Mode_Disabled": "Desativado", + "Email_or_password_field_is_empty": "Email ou senha estão vazios", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Título vazio", + "Enable_Auto_Translate": "Ativar a tradução automática", + "Enable_notifications": "Habilitar notificações", + "Encrypted": "Criptografado", + "Encrypted_message": "Mensagem criptografada", + "Enter_Your_E2E_Password": "Digite Sua Senha E2E", + "Enter_Your_Encryption_Password_desc1": "Isso permitirá que você acesse seus grupos privados e mensagens diretas criptografadas.", + "Enter_Your_Encryption_Password_desc2": "Você precisa inserir a senha para codificar/decodificar mensagens em todos os lugares em que usar o chat.", + "Encryption_error_title": "Sua senha de criptografia parece errada", + "Encryption_error_desc": "Não foi possível decodificar sua chave de criptografia para ser importada.", + "Everyone_can_access_this_channel": "Todos podem acessar este canal", + "Everyone_can_access_this_team": "Todos podem acessar este canal", + "Error_uploading": "Erro subindo", + "Expiration_Days": "Expira em (dias)", + "Favorites": "Favoritos", + "Files": "Arquivos", + "File_description": "Descrição do arquivo", + "File_name": "Nome do arquivo", + "Finish_recording": "Encerrar gravação", + "Following_thread": "Começou a seguir tópico", + "For_your_security_you_must_enter_your_current_password_to_continue": "Para sua segurança, você precisa digitar sua senha", + "Forgot_password_If_this_email_is_registered": "Se este e-mail estiver cadastrado, enviaremos instruções sobre como redefinir sua senha. Se você não receber um e-mail em breve, volte e tente novamente.", + "Forgot_password": "Esqueceu sua senha?", + "Forgot_Password": "Esqueci minha senha", + "Forward": "Encaminhar", + "Forward_Chat": "Encaminhar Conversa", + "Forward_to_department": "Encaminhar para departamento", + "Forward_to_user": "Encaminhar para usuário", + "Full_table": "Clique para ver a tabela completa", + "Generate_New_Link": "Gerar novo convite", + "Has_joined_the_channel": "entrou no canal", + "Has_joined_the_conversation": "entrou na conversa", + "Has_left_the_channel": "saiu da conversa", + "Hide_System_Messages": "Esconder mensagens do sistema", + "Hide_type_messages": "Esconder mensagens de \"{{type}}\"", + "Message_HideType_uj": "Utilizador Entrou", + "Message_HideType_ul": "Utilizador Saiu", + "Message_HideType_ru": "Utilizador Removido", + "Message_HideType_au": "Utilizador adicionado", + "Message_HideType_mute_unmute": "Utilizador Silenciado", + "Message_HideType_r": "Nome da sala alterado", + "Message_HideType_ut": "Utilizador adicionado ao bate-papo", + "Message_HideType_wm": "Bem Vindo", + "Message_HideType_rm": "Mensagem Removida", + "Message_HideType_subscription_role_added": "Papel atribuído", + "Message_HideType_subscription_role_removed": "Papel removido", + "Message_HideType_room_archived": "Sala arquivada", + "Message_HideType_room_unarchived": "Sala desarquivada", + "IP": "IP", + "In_app": "No app", + "In_App_and_Desktop_Alert_info": "Exibe um banner na parte superior da tela quando o aplicativo é aberto e exibe uma notificação na área de trabalho", + "Invisible": "Invisível", + "Invite": "Convidar", + "is_typing": "está digitando", + "Invalid_or_expired_invite_token": "Token de convite inválido ou vencido", + "Invalid_server_version": "O servidor que você está conectando não é suportado mais por esta versão do aplicativo: {{currentVersion}}.\n\nEsta versão do aplicativo requer a versão {{minVersion}} do servidor para funcionar corretamente.", + "Invite_Link": "Link de Convite", + "Invite_users": "Convidar usuários", + "Join": "Entrar", + "Join_Code": "Insira o Código da Sala", + "Insert_Join_Code": "Insira o código para entrar na sala", + "Join_our_open_workspace": "Entra na nossa workspace pública", + "Join_your_workspace": "Entre na sua workspace", + "Just_invited_people_can_access_this_channel": "Apenas as pessoas convidadas podem acessar este canal", + "Just_invited_people_can_access_this_team": "Apenas as pessoas convidadas podem acessar este time", + "Language": "Idioma", + "last_message": "última mensagem", + "Leave_channel": "Sair do canal", + "leaving_room": "saindo do canal", + "Leave": "Sair da sala", + "leave": "sair", + "Legal": "Legal", + "Light": "Claro", + "Livechat": "Livechat", + "Login": "Entrar", + "Login_error": "Suas credenciais foram rejeitadas. Tente novamente por favor!", + "Login_with": "Login with", + "Logging_out": "Saindo.", + "Logout": "Sair", + "Max_number_of_uses": "Número máximo de usos", + "Max_number_of_users_allowed_is_number": "Número máximo de usuários é {{maxUsers}}", + "Members": "Membros", + "Mentioned_Messages": "Mensagens mencionadas", + "mentioned": "mencionado", + "Mentions": "Menções", + "Message_accessibility": "Mensagem de {{user}} às {{time}}: {{message}}", + "Message_actions": "Ações", + "Message_pinned": "Fixou uma mensagem", + "Message_removed": "Mensagem removida", + "message": "mensagem", + "messages": "mensagens", + "Message": "Mensagem", + "Messages": "Mensagens", + "Microphone_Permission_Message": "Rocket.Chat precisa de acesso ao seu microfone para enviar mensagens de áudio.", + "Microphone_Permission": "Acesso ao Microfone", + "Mute": "Mudo", + "muted": "mudo", + "N_people_reacted": "{{n}} pessoas reagiram", + "N_users": "{{n}} usuários", + "N_channels": "{{n}} canais", + "Name": "Nome", + "Navigation_history": "Histórico de navegação", + "Never": "Nunca", + "New_Message": "Nova Mensagem", + "New_Password": "Nova Senha", + "Next": "Próximo", + "No_files": "Não há arquivos", + "No_limit": "Sem limite", + "No_mentioned_messages": "Não há menções", + "No_pinned_messages": "Não há mensagens fixadas", + "No_results_found": "Nenhum resultado encontrado", + "No_starred_messages": "Não há mensagens favoritas", + "No_thread_messages": "Não há tópicos", + "No_label_provided": "Sem {{label}}.", + "No_Message": "Não há mensagens", + "No_messages_yet": "Não há mensagens ainda", + "No_Reactions": "Sem reações", + "Not_RC_Server": "Este não é um servidor Rocket.Chat.\n{{contact}}", + "Nothing": "Nada", + "Nothing_to_save": "Nada para salvar!", + "Notify_active_in_this_room": "Notificar usuários ativos nesta sala", + "Notify_all_in_this_room": "Notificar todos nesta sala", + "Notifications": "Notificações", + "Notification_Duration": "Duração da notificação", + "Notification_Preferences": "Preferências de notificação", + "No_available_agents_to_transfer": "Nenhum agente disponível para transferência", + "Offline": "Offline", + "Oops": "Ops!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Bate-papos em Andamento", + "Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você quer ficar disponível?", + "Onboarding_description": "Workspace é o espaço de colaboração do seu time ou organização. Peça um convite ou o endereço ao seu administrador ou crie uma workspace para o seu time.", + "Onboarding_join_workspace": "Entre numa workspace", + "Onboarding_subtitle": "Além da colaboração em equipe", + "Onboarding_title": "Bem vindo ao Rocket.Chat", + "Onboarding_join_open_description": "Entre na nossa workspace pública para conversar com o time da Rocket.Chat e nossa comunidade.", + "Onboarding_agree_terms": "Ao continuar, você aceita nossos ", + "Onboarding_less_options": "Menos opções", + "Onboarding_more_options": "Mais opções", + "Online": "Online", + "Only_authorized_users_can_write_new_messages": "Somente usuários autorizados podem escrever novas mensagens", + "Open_emoji_selector": "Abrir seletor de emoji", + "Open_Source_Communication": "Comunicação Open Source", + "Open_your_authentication_app_and_enter_the_code": "Abra seu aplicativo de autenticação e digite o código.", + "OR": "OU", + "OS": "SO", + "Overwrites_the_server_configuration_and_use_room_config": "Substituir a configuração do servidor e usar a configuração da sala", + "Password": "Senha", + "Parent_channel_or_group": "Canal ou grupo pai", + "Permalink_copied_to_clipboard": "Link-permanente copiado para a área de transferência!", + "Phone": "Telefone", + "Pin": "Fixar", + "Pinned_Messages": "Mensagens Fixadas", + "pinned": "fixada", + "Pinned": "Mensagens Fixadas", + "Please_add_a_comment": "Por favor, adicione um comentário", + "Please_enter_your_password": "Por favor, digite sua senha", + "Please_wait": "Por favor, aguarde.", + "Preferences": "Preferências", + "Preferences_saved": "Preferências salvas!", + "Privacy_Policy": " Política de Privacidade", + "Private_Channel": "Canal Privado", + "Private": "Privado", + "Processing": "Processando...", + "Profile_saved_successfully": "Perfil salvo com sucesso!", + "Profile": "Perfil", + "Public_Channel": "Canal Público", + "Public": "Público", + "Push_Notifications": "Notificações Push", + "Push_Notifications_Alert_Info": "Essas notificações são entregues a você quando o aplicativo não está aberto", + "Quote": "Citar", + "Reactions_are_disabled": "Reagir está desabilitado", + "Reactions_are_enabled": "Reagir está habilitado", + "Reactions": "Reações", + "Read_External_Permission_Message": "Rocket.Chat precisa acessar fotos, mídia e arquivos no seu dispositivo", + "Read_External_Permission": "Permissão de acesso à arquivos", + "Read_Only_Channel": "Canal Somente Leitura", + "Read_Only": "Somente Leitura", + "Read_Receipt": "Lida por", + "Receive_Group_Mentions": "Receber menções de grupo", + "Receive_Group_Mentions_Info": "Receber menções @all e @here", + "Register": "Registrar", + "Repeat_Password": "Repetir Senha", + "Replied_on": "Respondido em:", + "replies": "respostas", + "reply": "resposta", + "Reply": "Responder", + "Report": "Reportar", + "Receive_Notification": "Receber Notificação", + "Receive_notifications_from": "Receber notificação de {{name}}", + "Resend": "Reenviar", + "Reset_password": "Resetar senha", + "resetting_password": "redefinindo senha", + "RESET": "RESETAR", + "Return": "Retornar", + "Review_app_title": "Você está gostando do app?", + "Review_app_desc": "Nos dê 5 estrelas na {{store}}", + "Review_app_yes": "Claro!", + "Review_app_no": "Não", + "Review_app_later": "Talvez depois", + "Review_app_unable_store": "Não foi possível abrir {{store}}", + "Review_this_app": "Avaliar esse app", + "Remove": "Remover", + "remove": "remover", + "Roles": "Papéis", + "Room_actions": "Ações", + "Room_changed_announcement": "O anúncio da sala foi alterado para: {{announcement}} por {{userBy}}", + "Room_changed_description": "A descrição da sala foi alterada para: {{description}} por {{userBy}}", + "Room_changed_privacy": "Tipo da sala mudou para: {{type}} por {{userBy}}", + "Room_changed_topic": "Tópico da sala mudou para: {{topic}} por {{userBy}}", + "Room_Files": "Arquivos", + "Room_Info_Edit": "Editar", + "Room_Info": "Informações da Sala", + "Room_Members": "Membros", + "Room_name_changed": "Nome da sala alterado para: {{name}} por {{userBy}}", + "SAVE": "SALVAR", + "Save_Changes": "Salvar Alterações", + "Save": "Salvar", + "Saved": "Salvo", + "saving_preferences": "salvando preferências", + "saving_profile": "salvando perfil", + "saving_settings": "salvando configurações", + "saved_to_gallery": "Salvo na galeria", + "Save_Your_E2E_Password": "Salve sua senha E2E", + "Save_Your_Encryption_Password": "Salve Sua Senha de Criptografia", + "Save_Your_Encryption_Password_warning": "Esta senha não é armazenada em nenhum lugar, portanto, salve-a com cuidado em outro lugar.", + "Save_Your_Encryption_Password_info": "Observe que se você perder sua senha, não há como recuperá-la e você perderá o acesso às suas mensagens.", + "Search_Messages": "Buscar Mensagens", + "Search": "Buscar", + "Search_by": "Buscar por", + "Search_global_users": "Busca por usuários globais", + "Search_global_users_description": "Caso ativado, busca por usuários de outras empresas ou servidores.", + "Security_and_privacy": "Segurança e privacidade", + "Select_Avatar": "Selecionar Avatar", + "Select_Server": "Selecionar Servidor", + "Select_Users": "Selecionar Usuários", + "Select_a_Channel": "Selecione um canal", + "Select_a_Department": "Selecione um Departamento", + "Select_an_option": "Selecione uma opção", + "Select_a_User": "Selecione um Usuário", + "Send": "Enviar", + "Send_audio_message": "Enviar mensagem de áudio", + "Send_crash_report": "Enviar relatório de erros", + "Send_message": "Enviar mensagem", + "Send_me_the_code_again": "Envie-me o código novamente", + "Send_to": "Enviar para...", + "Sent_an_attachment": "Enviou um anexo", + "Server": "Servidor", + "Set_username_subtitle": "O usuário é utilizado para permitir que você seja mencionado em mensagens", + "Settings": "Configurações", + "Settings_succesfully_changed": "Configurações salvas com sucesso!", + "Share": "Compartilhar", + "Share_Link": "Share Link", + "Show_more": "Mostrar mais..", + "Show_Unread_Counter": "Mostrar contador não lido", + "Show_Unread_Counter_Info": "O contador não lido é exibido como um emblema à direita do canal, na lista", + "Sign_in_your_server": "Entrar no seu servidor", + "Sign_Up": "Registrar", + "Some_field_is_invalid_or_empty": "Algum campo está inválido ou vazio", + "Sound": "Som da notificação", + "Star_room": "Favoritar sala", + "Star": "Favorito", + "Starred_Messages": "Mensagens Favoritas", + "starred": "favoritou", + "Starred": "Mensagens Favoritas", + "Start_of_conversation": "Início da conversa", + "Start_a_Discussion": "Iniciar uma Discussão", + "Started_discussion": "Iniciou uma discussão:", + "Started_call": "Chamada iniciada por {{userBy}}", + "Submit": "Enviar", + "Table": "Tabela", + "Take_a_photo": "Tirar uma foto", + "Take_a_video": "Gravar um vídeo", + "Take_it": "Pegue!", + "Terms_of_Service": " Termos de Serviço ", + "Theme": "Tema", + "The_user_wont_be_able_to_type_in_roomName": "O usuário não poderá digitar em {{roomName}}", + "The_user_will_be_able_to_type_in_roomName": "O usuário poderá digitar em {{roomName}}", + "There_was_an_error_while_action": "Aconteceu um erro {{action}}!", + "This_room_is_blocked": "Esta sala está bloqueada", + "This_room_is_read_only": "Esta sala é somente leitura", + "Thread": "Tópico", + "Threads": "Tópicos", + "Timezone": "Fuso horário", + "To": "Para", + "topic": "tópico", + "Topic": "Tópico", + "Translate": "Traduzir", + "Try_again": "Tentar novamente", + "Two_Factor_Authentication": "Autenticação de dois fatores", + "Type_the_channel_name_here": "Digite o nome do canal", + "unarchive": "desarquivar", + "UNARCHIVE": "DESARQUIVAR", + "Unblock_user": "Desbloquear usuário", + "Unfollowed_thread": "Parou de seguir tópico", + "Unmute": "Permitir que o usuário fale", + "unmuted": "permitiu que o usuário fale", + "Unpin": "Desafixar Mensagem", + "unread_messages": "não lidas", + "Unread": "Não lidas", + "Unread_on_top": "Não lidas no topo", + "Unstar": "Remover favorito", + "Updating": "Atualizando...", + "Uploading": "Subindo arquivo", + "Upload_file_question_mark": "Enviar arquivo?", + "User": "Usuário", + "Users": "Usuários", + "User_added_by": "Usuário {{userAdded}} adicionado por {{userBy}}", + "User_Info": "Informações do usuário", + "User_has_been_key": "Usuário foi {{key}}", + "User_is_no_longer_role_by_": "{{user}} não pertence mais à {{role}} por {{userBy}}", + "User_muted_by": "User {{userMuted}} muted por {{userBy}}", + "User_removed_by": "Usuário {{userRemoved}} removido por {{userBy}}", + "User_sent_an_attachment": "{{user}} enviou um anexo", + "User_unmuted_by": "{{userBy}} permitiu que {{userUnmuted}} fale na sala", + "User_was_set_role_by_": "{{user}} foi definido como {{role}} por {{userBy}}", + "Username_is_empty": "Usuário está vazio", + "Username": "Usuário", + "Username_or_email": "Usuário ou email", + "Uses_server_configuration": "Usar configuração do servidor", + "Verify": "Verificar", + "Verify_email_title": "Registrado com sucesso!", + "Verify_email_desc": "Nós lhe enviamos um e-mail para confirmar o seu registro. Se você não receber um e-mail em breve, por favor retorne e tente novamente.", + "Verify_your_email_for_the_code_we_sent": "Verifique em seu e-mail o código que enviamos", + "Video_call": "Chamada de vídeo", + "View_Original": "Visualizar original", + "Voice_call": "Chamada de voz", + "Waiting_for_network": "Aguardando rede...", + "Websocket_disabled": "Websocket está desativado para esse servidor.\n{{contact}}", + "Welcome": "Bem vindo", + "What_are_you_doing_right_now": "O que você está fazendo agora?", + "Whats_your_2fa": "Qual seu código de autenticação?", + "Without_Servers": "Sem Servidores", + "Workspaces": "Workspaces", + "Would_you_like_to_return_the_inquiry": "Deseja retornar a consulta?", + "Write_External_Permission_Message": "Rocket.Chat precisa de acesso à sua galeria para salvar imagens", + "Write_External_Permission": "Acesso à Galeria", + "Yes": "Sim", + "Yes_action_it": "Sim, {{action}}!", + "Yesterday": "Ontem", + "You_are_in_preview_mode": "Está é uma prévia do canal", + "You_are_offline": "Você está offline", + "You_can_search_using_RegExp_eg": "Você pode usar expressões regulares, por exemplo `/^text$/i`", + "You_colon": "Você: ", + "you_were_mentioned": "você foi mencionado", + "You_were_removed_from_channel": "Você foi removido de {{channel}}", + "you": "você", + "You": "Você", + "You_need_to_verifiy_your_email_address_to_get_notications": "Você precisa confirmar seu endereço de e-mail para obter notificações", + "Your_certificate": "Seu certificado", + "Your_invite_link_will_expire_after__usesLeft__uses": "Seu link de convite irá vencer depois de {{usesLeft}} usos.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Seu link de convite irá vencer em {{date}} ou depois de {{usesLeft}} usos.", + "Your_invite_link_will_expire_on__date__": "Seu link de convite irá vencer em {{date}}.", + "Your_invite_link_will_never_expire": "Seu link de convite nunca irá vencer.", + "Your_workspace": "Sua workspace", + "You_will_not_be_able_to_recover_this_message": "Você não será capaz de recuperar essa mensagem!", + "You_will_unset_a_certificate_for_this_server": "Você cancelará a configuração de um certificado para este servidor", + "Change_Language": "Alterar idioma", + "Crash_report_disclaimer": "Nós não rastreamos o conteúdo das suas conversas. O relatório de erros e os eventos do analytics apenas contém informações relevantes para identificarmos problemas e corrigí-los.", + "Type_message": "Digitar mensagem", + "Room_search": "Busca de sala", + "Room_selection": "Selecionar sala 1...9", + "Next_room": "Próxima sala", + "Previous_room": "Sala anterior", + "New_room": "Nova sala", + "Upload_room": "Enviar arquivo", + "Search_messages": "Buscar mensagens", + "Scroll_messages": "Rolar mensagens", + "Reply_latest": "Responder para última mensagem", + "Reply_in_Thread": "Responder por Tópico", + "Server_selection": "Seleção de servidor", + "Server_selection_numbers": "Selecionar servidor 1...9", + "Add_server": "Adicionar servidor", + "New_line": "Nova linha", + "You_will_be_logged_out_of_this_application": "Você sairá deste aplicativo.", + "Clear": "Limpar", + "This_will_clear_all_your_offline_data": "Isto limpará todos os seus dados offline.", + "This_will_remove_all_data_from_this_server": "Isto removerá todos os dados desse servidor.", + "Mark_unread": "Marcar como não Lida", + "Wait_activation_warning": "Antes que você possa fazer o login, sua conta deve ser manualmente ativada por um administrador.", + "Screen_lock": "Bloqueio de Tela", + "Local_authentication_biometry_title": "Autenticar", + "Local_authentication_biometry_fallback": "Usar senha", + "Local_authentication_unlock_option": "Desbloquear com senha", + "Local_authentication_change_passcode": "Alterar senha", + "Local_authentication_info": "Nota: se você esquecer sua senha, terá de apagar e reinstalar o app.", + "Local_authentication_facial_recognition": "reconhecimento facial", + "Local_authentication_fingerprint": "impressão digital", + "Local_authentication_unlock_with_label": "Desbloquear com {{label}}", + "Local_authentication_auto_lock_60": "Após 1 minuto", + "Local_authentication_auto_lock_300": "Após 5 minutos", + "Local_authentication_auto_lock_900": "Após 15 minutos", + "Local_authentication_auto_lock_1800": "Após 30 minutos", + "Local_authentication_auto_lock_3600": "Após 1 hora", + "Passcode_enter_title": "Digite sua senha", + "Passcode_choose_title": "Insira sua nova senha", + "Passcode_choose_confirm_title": "Confirme sua nova senha", + "Passcode_choose_error": "As senhas não coincidem. Tente novamente.", + "Passcode_choose_force_set": "Senha foi exigida pelo admin", + "Passcode_app_locked_title": "Aplicativo bloqueado", + "Passcode_app_locked_subtitle": "Tente novamente em {{timeLeft}} segundos", + "After_seconds_set_by_admin": "Após {{seconds}} segundos (Configurado pelo adm)", + "Dont_activate": "Não ativar agora", + "Queued_chats": "Bate-papos na fila", + "Queue_is_empty": "A fila está vazia", + "Logout_from_other_logged_in_locations": "Sair de outros locais logados", + "You_will_be_logged_out_from_other_locations": "Você perderá a sessão de outros clientes", + "Logged_out_of_other_clients_successfully": "Desconectado de outros clientes com sucesso", + "Logout_failed": "Falha ao desconectar!", + "Log_analytics_events": "Logar eventos no analytics", + "E2E_encryption_change_password_title": "Alterar Senha de Criptografia", + "E2E_encryption_change_password_description": "Agora você pode criar grupos privados criptografados e mensagens diretas. Você também pode alterar os grupos privados ou DMs existentes para criptografados. Esta é uma criptografia de ponta a ponta, logo a chave para codificar / decodificar suas mensagens não será salva no servidor. Por esse motivo, você precisa armazenar sua senha em algum lugar seguro. Será solicitada a inserção de senha em outros dispositivos nos quais deseja usar a criptografia E2E.", + "E2E_encryption_change_password_error": "Erro ao alterar senha de criptografia!", + "E2E_encryption_change_password_success": "Senha de criptografia alterada com sucesso!", + "E2E_encryption_change_password_message": "Certifique-se de tê-la guardado em local seguro.", + "E2E_encryption_change_password_confirmation": "Sim, alterar", + "E2E_encryption_reset_title": "Redefinir Chave de Criptografia", + "E2E_encryption_reset_description": "Essa opção irá remover a chave de criptografia corrente e desconectá-lo. \nQuando você se conectar novamente, uma nova chave será gerada e restaurará acesso a qualquer canal com uma ou mais pessoas online. \nDevico à natureza da criptografia ponta a ponta, não será possível restaurar acesso a canais sem membros online.", + "E2E_encryption_reset_button": "Redefinir", + "E2E_encryption_reset_error": "Erro ao redefinir chave!", + "E2E_encryption_reset_message": "Você será desconectado.", + "E2E_encryption_reset_confirmation": "Sim, redefinir", + "Following": "Seguindo", + "Threads_displaying_all": "Mostrando Tudo", + "Threads_displaying_following": "Mostrando Seguindo", + "Threads_displaying_unread": "Mostrando Não Lidos", + "No_threads": "Não há tópicos", + "No_threads_following": "Você não está seguindo tópicos", + "No_threads_unread": "Não há tópicos não lidos", + "Messagebox_Send_to_channel": "Mostrar no canal", + "Leader": "Líder", + "Moderator": "Moderador", + "Owner": "Proprietário", + "Remove_from_room": "Remover do canal", + "Ignore": "Ignorar", + "Unignore": "Deixar de ignorar", + "User_has_been_ignored": "Usuário foi ignorado", + "User_has_been_unignored": "O usuário não é mais ignorado", + "User_has_been_removed_from_s": "Usuário foi removido de {{s}}", + "User__username__is_now_a_leader_of__room_name_": "O usuário {{username}} agora é líder de {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "O usuário {{username}} agora é moderador de {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "O usuário {{username}} agora é proprietário de {{room_name}}", + "User__username__removed_from__room_name__leaders": "O usuário {{username}} foi removido dos líderes de {{room_name}}", + "User__username__removed_from__room_name__moderators": "O usuário {{username}} foi removido dos moderadores de {{room_name}}", + "User__username__removed_from__room_name__owners": "O usuário {{username}} foi removido dos proprietários de {{room_name}}", + "The_user_will_be_removed_from_s": "O usuário será removido de {{s}}", + "Yes_remove_user": "Sim, remover usuário!", + "Direct_message": "Mensagem direta", + "Message_Ignored": "Mensagem ignorada. Toque para mostrar.", + "Enter_workspace_URL": "Digite a URL da sua workspace", + "Workspace_URL_Example": "Ex. sua-empresa.rocket.chat", + "This_room_encryption_has_been_enabled_by__username_": "A criptografia para essa sala foi habilitada por {{username}}", + "This_room_encryption_has_been_disabled_by__username_": "A criptografia para essa sala foi desabilitada por {{username}}", + "Teams": "Times", + "No_team_channels_found": "Nenhum canal encontrado", + "Team_not_found": "Time não encontrado", + "Private_Team": "Equipe Privada", + "Add_Channel_to_Team": "Adicionar Canal ao Time", + "Left_The_Team_Successfully": "Saiu do time com sucesso", + "Create_New": "Criar", + "Add_Existing": "Adicionar", + "Add_Existing_Channel": "Adicionar Canal Existente", + "Remove_from_Team": "Remover do time", + "Auto-join": "Entrada Automática", + "Remove_Team_Room_Warning": "Você deseja remover este canal do time? O canal será movido de volta para o espaço de trabalho", + "Confirmation": "Confirmação", + "invalid-room": "Sala inválida", + "You_are_leaving_the_team": "Você está deixando o time '{{team}}'", + "Leave_Team": "Sair do Time", + "Select_Team": "Selecionar Time", + "Select_Team_Channels": "Selecione os canais do time que você gostaria de deixar.", + "Cannot_leave": "Não pode sair", + "Cannot_remove": "Não é possível remover", + "Cannot_delete": "Não é possível apagar", + "Last_owner_team_room": "Você é o último dono deste canal. Uma vez que você deixe o time, o canal será mantido dentro da equipe, mas você estará administrando-o de fora.", + "last-owner-can-not-be-removed": "O último dono não pode ser removido", + "Remove_User_Teams": "Selecione os canais dos quais você deseja que o usuário seja removido.", + "Delete_Team": "Excluir Time", + "Select_channels_to_delete": "Isto não pode ser desfeito. Assim que você apagar um time, todo o conteúdo e configuração do chat serão apagados.\n\nSelecione os canais que você gostaria de excluir. Os que você decidir manter estarão disponíveis no seu espaço de trabalho. Note que os canais públicos continuarão a ser públicos e visíveis para todos.", + "You_are_deleting_the_team": "Você está apagando este time.", + "Removing_user_from_this_team": "Você está removendo {{user}} deste time", + "Remove_User_Team_Channels": "Selecione os canais dos quais você deseja que o usuário seja removido.", + "Remove_Member": "Remover Membro", + "leaving_team": "saindo do time", + "removing_team": "removendo do time", + "moving_channel_to_team": "movendo canal do time", + "deleting_team": "apagando time", + "member-does-not-exist": "Membro não existe", + "Convert": "Converter", + "Convert_to_Team": "Converter para Time", + "Convert_to_Team_Warning": "Você está convertendo este Canal para um Time. Todos os Membros serão mantidos.", + "Move_to_Team": "Mover para Time", + "Move_Channel_Paragraph": "Mover um canal dentro de um time significa que este canal será adicionado no contexto da equipe, no entanto, todos os membros do canal, que não são membros do respectivo time, ainda terão acesso a este canal, mas não serão adicionados como membros da equipe \n\nA gestão de todos os canais continuará a ser feita pelos proprietários deste canal.\n\nOs membros da equipe e até mesmo os proprietários da equipe, se não forem membros deste canal, não podem ter acesso ao conteúdo do canal.\n\nPor favor, note que o dono do time poderá remover membros do canal.", + "Move_to_Team_Warning": "Depois de ler as instruções anteriores sobre este comportamento, você ainda deseja mover este canal para o time selecionado?", + "Load_More": "Carregar mais", + "Load_Newer": "Carregar mais novas", + "Load_Older": "Carregar mais antigas", + "room-name-already-exists": "Nome da sala já existe", + "error-team-creation": "Erro na criação do time", + "unauthorized": "Não autorizado", + "Left_The_Room_Successfully": "Saiu da sala com sucesso", + "Deleted_The_Team_Successfully": "Time deletado com sucesso", + "Deleted_The_Room_Successfully": "Sala deletada com sucesso", + "Convert_to_Channel": "Converter para um Canal", + "Converting_Team_To_Channel": "Convertendo Time para Canal", + "Select_Team_Channels_To_Delete": "Selecione os Canais do Time que você gostaria de excluir. Aqueles que você não selecionar serão movidos para o Espaço de Trabalho.\n\nNote que os Canais públicos serão públicos e visíveis para todos.", + "You_are_converting_the_team": "Você está convertendo este Time para um Canal", + "Display": "Display", + "Avatars": "Avatars", + "Sort_by": "Ordenar por", + "Group_by": "Agrupar por", + "Types": "Tipos", + "Expanded": "Estendido", + "Condensed": "Condensado", + "creating_discussion": "criando discussão", + "Canned_Responses": "Respostas Predefinidas", + "No_match_found": "Nenhum resultado encontrado", + "Check_canned_responses": "Verifique nas respostas predefinidas", + "Searching": "Buscando", + "Use": "Use", + "Shortcut": "Atalho", + "Content": "Conteúdo", + "Sharing": "Compartilhando", + "No_canned_responses": "Não há respostas predefinidas", + "Send_email_confirmation": "Enviar email de confirmação", + "sending_email_confirmation": "enviando email de confirmação" +} \ No newline at end of file diff --git a/app/i18n/locales/pt-PT.json b/app/i18n/locales/pt-PT.json index fb96c42e7..f3d23c51e 100644 --- a/app/i18n/locales/pt-PT.json +++ b/app/i18n/locales/pt-PT.json @@ -1,521 +1,513 @@ { - "1_person_reacted": "1 pessoa reagiu", - "1_user": "1 utilizador", - "error-action-not-allowed": "{{action}} não é permitida", - "error-application-not-found": "Aplicação não encontrada", - "error-archived-duplicate-name": "Existe um canal arquivado com o nome {{room_name}}", - "error-avatar-invalid-url": "URL de avatar inválido: {{url}}", - "error-avatar-url-handling": "Erro ao manipular a configuração de avatar de um URL ({{url}}) para {{username}}", - "error-cant-invite-for-direct-room": "Não pode convidar utilizadores para salas de mensagens directas", - "error-could-not-change-email": "Não foi possível alterar o e-mail", - "error-could-not-change-name": "Não foi possível alterar o nome", - "error-could-not-change-username": "Não foi possível alterar o nome de utilizador", - "error-could-not-change-status": "Impossível mudar estado", - "error-delete-protected-role": "Não é possível eliminar uma função protegida", - "error-department-not-found": "Departamento não encontrado", - "error-direct-message-file-upload-not-allowed": "Partilha de ficheiros não permitido em mensagens diretas", - "error-duplicate-channel-name": "Existe um canal com o nome {{room_name}}", - "error-email-domain-blacklisted": "O domínio de e-mail está na lista negra", - "error-email-send-failed": "Erro ao tentar enviar e-mail: {{message}}", - "error-save-image": "Erro ao salvar imagem", - "error-save-video": "Erro ao salvar vídeo", - "error-field-unavailable": "{{field}} já está em uso :(", - "error-file-too-large": "Ficheiro demasiado grande", - "error-importer-not-defined": "O importador não foi definido correctamente, a classe Import está em falta.", - "error-input-is-not-a-valid-field": "{{input}} não é um {{field}} válido", - "error-invalid-actionlink": "Link de acção inválido", - "error-invalid-arguments": "Argumentos inválidos", - "error-invalid-asset": "Ficheiro inválido", - "error-invalid-channel": "Canal inválido.", - "error-invalid-channel-start-with-chars": "Canal inválido. Começa por @ ou #", - "error-invalid-custom-field": "Campo personalizado inválido", - "error-invalid-custom-field-name": "Nome de campo personalizado inválido. Use apenas letras, números, hífens e sublinhados.", - "error-invalid-date": "Data inválida fornecida.", - "error-invalid-description": "Descrição inválida", - "error-invalid-domain": "Domínio inválido", - "error-invalid-email": "E-mail inválido {{email}}", - "error-invalid-email-address": "Endereço de e-mail invalido", - "error-invalid-file-height": "Altura de ficheiro inválida", - "error-invalid-file-type": "Tipo de ficheiro inválido", - "error-invalid-file-width": "Largura de ficheiro inválida", - "error-invalid-from-address": "Você informou um endereço DE inválido.", - "error-invalid-integration": "Integração inválida", - "error-invalid-message": "Mensagem inválida", - "error-invalid-method": "Método inválido", - "error-invalid-name": "Nome inválido", - "error-invalid-password": "Palavra-passe inválida", - "error-invalid-redirectUri": "redirectUri inválido", - "error-invalid-role": "Função inválido", - "error-invalid-room": "Sala inválida", - "error-invalid-room-name": "{{room_name}} não é um nome de sala válido", - "error-invalid-room-type": "{{type}} não é um tipo de sala válido.", - "error-invalid-settings": "Configurações inválidas fornecidas", - "error-invalid-subscription": "Subscrição inválida", - "error-invalid-token": "Token inválido", - "error-invalid-triggerWords": "triggerWords inválido", - "error-invalid-urls": "URLs inválidos", - "error-invalid-user": "Utilizador inválido", - "error-invalid-username": "Nome de utilizador inválido", - "error-invalid-webhook-response": "O URL do webhook respondeu com um estado diferente de 200", - "error-message-deleting-blocked": "A remoção de mensagens está bloqueada", - "error-message-editing-blocked": "A edição de mensagens está bloqueada", - "error-message-size-exceeded": "O tamanho da mensagem excede Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "Você deve fornecer o link para cancelar a subscrição: [unsubscribe].", - "error-no-owner-channel": "Você não é dono do canal", - "error-no-tokens-for-this-user": "Não há tokens para este utilizador", - "error-not-allowed": "Não permitido", - "error-not-authorized": "Não autorizado", - "error-push-disabled": "Push está desactivado", - "error-remove-last-owner": "Este é o último proprietário. Por favor, defina um novo proprietário antes de remover este.", - "error-role-in-use": "Não é possível remover função porque está em uso", - "error-role-name-required": "Nome da função requerido", - "error-the-field-is-required": "O campo {{field}} é obrigatório.", - "error-too-many-requests": "Erro, demasiados pedidos. Por favor, diminua a velocidade. Você deve esperar {{seconds}} segundos antes de tentar novamente.", - "error-user-is-not-activated": "O utilizador não está activado", - "error-user-has-no-roles": "O utilizador não tem funções", - "error-user-limit-exceeded": "O número de utilizadores que você está a tentar convidar para #channel_name excede o limite definido pelo administrador", - "error-user-not-in-room": "O utilizador não está nesta sala", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "O registo de utilizadores está desactivado", - "error-user-registration-secret": "O registo de utilizadores só é permitido por meio de um URL secreto", - "error-you-are-last-owner": "Você é o último proprietário. Por favor, defina novo proprietário antes de sair da sala.", - "error-status-not-allowed": "O estado invisível está desactivado", - "Actions": "Acções", - "activity": "actividade", - "Activity": "Actividade", - "Add_Reaction": "Adicionar Reacção", - "Add_Server": "Adicionar Servidor", - "Add_users": "Adicionar utilizadores", - "Admin_Panel": "Painel de Administração", - "Agent": "Agente", - "Alert": "Alerta", - "alert": "alerta", - "alerts": "alertas", - "All_users_in_the_channel_can_write_new_messages": "Todos os utilizadores no canal podem escrever novas mensagens", - "All_users_in_the_team_can_write_new_messages": "Todos os usuários da equipa podem escrever novas mensagens", - "A_meaningful_name_for_the_discussion_room": "Um nome significativo para a sala de discussão", - "All": "Todos", - "All_Messages": "Todas as Mensagens", - "Allow_Reactions": "Permitir Reacções", - "Alphabetical": "Alfabética", - "and_more": "e mais", - "and": "e", - "announcement": "anúncio", - "Announcement": "Anúncio", - "Apply_Your_Certificate": "Aplique o seu Certificado", - "ARCHIVE": "ARQUIVAR", - "archive": "arquivar", - "are_typing": "estão a escrever", - "Are_you_sure_question_mark": "Tem a certeza?", - "Are_you_sure_you_want_to_leave_the_room": "Tem certeza de que quer sair da sala {{room}}?", - "Audio": "Áudio", - "Authenticating": "Autenticando", - "Automatic": "Automático", - "Auto_Translate": "Auto-Tradução", - "Avatar_changed_successfully": "Avatar alterado com sucesso!", - "Avatar_Url": "URL do Avatar", - "Away": "Ausente", - "Back": "Voltar", - "Black": "Preto", - "Block_user": "Bloquear utilizador", - "Browser": "Navegador", - "Broadcast_channel_Description": "Apenas utilizadores autorizados podem escrever novas mensagens, mas os outros utilizadores poderão responder", - "Broadcast_Channel": "Canal de Transmissão", - "Busy": "Ocupado", - "By_proceeding_you_are_agreeing": "Ao prosseguir você concorda com o(s) nosso(s)", - "Cancel_editing": "Cancelar edição", - "Cancel_recording": "Cancelar gravação", - "Cancel": "Cancelar", - "changing_avatar": "a alterar avatar", - "creating_channel": "a criar canal", - "creating_invite": "a criar convite", - "Channel_Name": "Nome do Canal", - "Channels": "Canais", - "Chats": "Chats", - "Call_already_ended": "Chamada já terminada!", - "Clear_cookies_alert": "Quer limpar todas as cookies?", - "Clear_cookies_desc": "Esta acção irá limpar todos os cookies de login, permitindo que você faça login em outras contas.", - "Clear_cookies_yes": "Sim, limpar cookies", - "Clear_cookies_no": "Não, guardar cookies", - "Click_to_join": "Clique para Entrar!", - "Close": "Fechar", - "Close_emoji_selector": "Fechar selector de emoticons", - "Closing_chat": "A fechar o chat", - "Change_language_loading": "Mudança de idioma.", - "Chat_closed_by_agent": "Chat fechado por agente", - "Choose": "Escolher", - "Choose_from_library": "Escolher da biblioteca", - "Choose_file": "Escolher arquivo", - "Choose_where_you_want_links_be_opened": "Escolha onde você quer que os links sejam abertos", - "Code": "Código", - "Code_or_password_invalid": "Código ou senha inválidos", - "Collaborative": "Colaborativa", - "Confirm": "Confirmar", - "Connect": "Ligar", - "Connected": "Ligado", - "connecting_server": "conexão ao servidor", - "Connecting": "A ligar...", - "Contact_us": "Contacte-nos", - "Contact_your_server_admin": "Contacte o administrador do seu servidor.", - "Continue_with": "Continuar com", - "Copied_to_clipboard": "Copiado para a área de transferência!", - "Copy": "Copiar", - "Conversation": "Conversa", - "Permalink": "Link permanente", - "Certificate_password": "Senha do Certificado", - "Clear_cache": "Limpar a cache do servidor local", - "Clear_cache_loading": "A limpar a cache.", - "Whats_the_password_for_your_certificate": "Qual é a senha para o seu certificado?", - "Create_account": "Criar uma conta", - "Create_Channel": "Criar Canal", - "Create_Direct_Messages": "Criar Mensagens Diretas", - "Create_Discussion": "Criar Discussão", - "Created_snippet": "criado um extracto", - "Create_a_new_workspace": "Criar um novo espaço de trabalho", - "Create": "Criar", - "Custom_Status": "Status Personalizado", - "Dark": "Escuro", - "Dark_level": "Nível Escuro", - "Default": "Predefinição", - "Default_browser": "Navegador predefinido", - "Delete_Room_Warning": "Apagar uma sala irá remover todas as mensagens contidas nela. Isto não pode ser desfeito.", - "Department": "Departamento", - "delete": "apagar", - "Delete": "Apagar", - "DELETE": "APAGAR", - "move": "mover", - "deleting_room": "apagando sala", - "description": "descrição", - "Description": "Descrição", - "Desktop_Options": "Opções da área de trabalho", - "Desktop_Notifications": "Notificações da área de trabalho", - "Desktop_Alert_info": "Estas notificações são entregues na área de trabalho", - "Directory": "Directório", - "Direct_Messages": "Mensagens Directas", - "Disable_notifications": "Desactivar notificações", - "Discussions": "Discussões", - "Discussion_Desc": "Ajude a manter uma visão geral sobre o que está acontecendo! Ao criar uma discussão, é criado um sub-canal do que você selecionou e ambos estão ligados.", - "Discussion_name": "Nome da discussão", - "Done": "Feito", - "Dont_Have_An_Account": "Não tem uma conta?", - "Do_you_have_an_account": "Você tem uma conta?", - "Do_you_have_a_certificate": "Você tem um certificado?", - "Do_you_really_want_to_key_this_room_question_mark": "Você quer mesmo {{key}} esta sala?", - "E2E_Encryption": "Encriptação E2E", - "E2E_How_It_Works_info1": "Agora você pode criar grupos privados criptografados e mensagens diretas. Você também pode alterar grupos privados existentes ou DMs para criptografados.", - "E2E_How_It_Works_info2": "Isto é *criptografia ponto a ponto* portanto a chave para codificar/descodificar as suas mensagens não será salva no servidor. Por essa razão *você precisa armazenar esta senha em algum lugar seguro* que você posa aceder mais tarde, se precisar.", - "E2E_How_It_Works_info3": "Se você prosseguir, uma senha E2E será gerada automaticamente.", - "E2E_How_It_Works_info4": "Você também pode configurar uma nova senha para sua chave de criptografia a qualquer momento a partir de qualquer navegador que você tenha inserido a senha existente do E2E.", - "edit": "editar", - "edited": "editado", - "Edit": "Editar", - "Edit_Status": "Editar Status", - "Edit_Invite": "Editar Convite", - "End_to_end_encrypted_room": "Sala encriptada de ponta a ponta", - "end_to_end_encryption": "encriptação de ponta a ponta", - "Email_Notification_Mode_All": "Cada Menção/DM", - "Email_Notification_Mode_Disabled": "Desactivado", - "Email_or_password_field_is_empty": "O campo de e-mail ou palavra-passe está vazio", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Título vazio", - "Enable_Auto_Translate": "Activar Auto-Tradução", - "Enable_notifications": "Activar notificações", - "Encrypted": "Encriptado", - "Encrypted_message": "Mensagem encriptada", - "Enter_Your_E2E_Password": "Digite a sua senha E2E", - "Enter_Your_Encryption_Password_desc1": "Isto permitir-lhe-á aceder aos seus grupos privados encriptados e às suas mensagens directas.", - "Enter_Your_Encryption_Password_desc2": "Você precisa digitar a senha para codificar/descodificar mensagens em cada lugar que você usar o chat.", - "Encryption_error_title": "A sua senha de encriptação parece errada", - "Encryption_error_desc": "Não foi possível descodificar a sua chave de encriptação para ser importada.", - "Everyone_can_access_this_channel": "Todos podem aceder a este canal", - "Everyone_can_access_this_team": "Todos podem aceder a esta equipa", - "Error_uploading": "Erro ao fazer o envio", - "Expiration_Days": "Validade (Dias)", - "Favorite": "Favorito", - "Favorites": "Favoritos", - "Files": "Ficheiros", - "File_description": "Descrição do ficheiro", - "File_name": "Nome do ficheiro", - "Finish_recording": "Terminar a gravação", - "Following_thread": "Seguir discussão", - "For_your_security_you_must_enter_your_current_password_to_continue": "Para sua segurança, você deve escrever a sua palavra-passe actual para continuar", - "Forgot_password_If_this_email_is_registered": "Se este e-mail estiver registado, enviaremos instruções sobre como repor a sua palavra-passe. Se você não receber um e-mail em breve, volte e tente novamente.", - "Forgot_password": "Esquecer palavra-passe", - "Forgot_Password": "Esquecer Palavra-passe", - "Forward": "Reencaminhar", - "Forward_Chat": "Reencaminhar Chat", - "Forward_to_department": "Reencaminhar para o departamento", - "Forward_to_user": "Reencaminhar para o utilizador", - "Full_table": "Clique para ver a tabela completa", - "Generate_New_Link": "Gerar Novo Link", - "Group_by_favorites": "Agrupar por favoritos", - "Group_by_type": "Agrupar por tipo", - "Hide": "Esconder", - "Has_joined_the_channel": "entrou no canal", - "Has_joined_the_conversation": "entrou na conversa", - "Has_left_the_channel": "saiu do canal", - "Hide_System_Messages": "Esconder mensagens do sistema", - "Hide_type_messages": "Esconder mensagens \"{{type}}\"", - "How_It_Works": "Como Funciona", - "Message_HideType_uj": "Utilizador entrou", - "Message_HideType_ul": "Utilizador saiu", - "Message_HideType_ru": "Utilizador removido", - "Message_HideType_au": "Utilizador adicionado", - "Message_HideType_mute_unmute": "Utilizador silenciado/de-silenciado", - "Message_HideType_r": "Nome da sala alterado", - "Message_HideType_ut": "Utilizador entrou na conversação", - "Message_HideType_wm": "Bem-vindo", - "Message_HideType_rm": "Mensagem Removida", - "Message_HideType_subscription_role_added": "Foi definido o estatuto", - "Message_HideType_subscription_role_removed": "Definição de estatuto removida", - "Message_HideType_room_archived": "Sala arquivada", - "Message_HideType_room_unarchived": "Sala desarquivada", - "I_Saved_My_E2E_Password": "Guardei a minha senha E2E", - "IP": "IP", - "In_app": "Na aplicação", - "In_App_And_Desktop": "Na aplicação e área de trabalho", - "In_App_and_Desktop_Alert_info": "Exibe um banner no topo da tela quando a aplicação está aberto, e exibe uma notificação na área de trabalho", - "Invisible": "Invisível", - "Invite": "Convidar", - "is_a_valid_RocketChat_instance": "é uma instância válida do Rocket.Chat", - "is_not_a_valid_RocketChat_instance": "is not a valid Rocket.Chat instance", - "is_typing": "está a escrever", - "Invalid_or_expired_invite_token": "Token de convite invalido ou expirado", - "Invalid_server_version": "O servidor ao qual esta tentando ligar-se, utiliza uma versão que não é suporta pela aplicação: {{currentVersion}}.\n\nA versão mínima requerida é {{minVersion}}", - "Invite_Link": "Link de convite", - "Invite_users": "Convidar utilizadores", - "Join": "Entrar", - "Join_Code": "Código de entrada", - "Insert_Join_Code": "Insira o código de entrada", - "Join_our_open_workspace": "Junte-se ao nosso espaço de trabalho aberto", - "Join_your_workspace": "Junte-se ao seu espaço de trabalho", - "Just_invited_people_can_access_this_channel": "Apenas utilizadores convidados podem aceder a este canal", - "Just_invited_people_can_access_this_team": "Apenas pessoas convidadas podem aceder a esta equipa", - "Language": "Idioma", - "last_message": "última mensagem", - "Leave_channel": "Sair do canal", - "leaving_room": "a sair da sala", - "Leave": "Sair", - "leave": "sair", - "Legal": "Legal", - "Light": "Luz", - "License": "Licença", - "Livechat": "Livechat", - "Login": "Entrar", - "Login_error": "As suas credenciais foram rejeitadas! Por favor, tente novamente.", - "Login_with": "Entrar com", - "Logging_out": "A terminar a sessão.", - "Logout": "Sair", - "Max_number_of_uses": "Número máximo de utilizações", - "Max_number_of_users_allowed_is_number": "O número máximo de utilizadores permitido é {{maxUsers}}", - "members": "membros", - "Members": "Membros", - "Mentioned_Messages": "Mensagens Mencionadas", - "mentioned": "mencionado", - "Mentions": "Menções", - "Message_accessibility": "Mensagem de {{user}} às {{time}}: {{message}}", - "Message_actions": "Acções de mensagem", - "Message_pinned": "Mensagem afixada", - "Message_removed": "Mensagem removida", - "Message_starred": "Mensagem estrelada", - "Message_unstarred": "Mensagem não estrelada", - "message": "mensagem", - "messages": "mensagens", - "Message": "Mensagem", - "Messages": "Mensagens", - "Message_Reported": "Mensagem reportada", - "Microphone_Permission_Message": "O Rocket.Chat necessita de acesso ao seu microfone para que você possa enviar mensagens de áudio.", - "Microphone_Permission": "Permissão de Microfone", - "Mute": "Silenciar", - "muted": "silenciado", - "My_servers": "Meus servidores", - "N_people_reacted": "{{n}} pessoas reagiram", - "N_users": "{{n}} utilizadores", - "N_channels": "{{n}} canais", - "name": "nome", - "Name": "Nome", - "Navigation_history": "Histórico de navegação", - "Never": "Nunca", - "New_Message": "Nova Mensagem", - "New_Password": "Nova Palavra-passe", - "New_Server": "Novo Servidor", - "Next": "Próximo", - "No_files": "Nenhum ficheiro", - "No_limit": "Sem limite", - "No_mentioned_messages": "Nenhuma mensagem mencionada", - "No_pinned_messages": "Nenhuma mensagem afixada", - "No_results_found": "Nenhum resultado encontrado", - "No_starred_messages": "Nenhuma mensagem marcada com estrela", - "No_thread_messages": "Sem mensagens de discussão ", - "No_label_provided": "{{label}} não fornecida/o", - "No_Message": "Nenhuma mensagem", - "No_messages_yet": "Ainda sem mensagens", - "No_Reactions": "Nenhuma reação", - "No_Read_Receipts": "Sem recibos de leitura", - "Not_logged": "Não ligado", - "Not_RC_Server": "Isto não é um servidor Rocket.Chat.\n{{contact}}", - "Nothing": "Nada", - "Nothing_to_save": "Nada para guardar!", - "Notify_active_in_this_room": "Notifica utilizadores activos nesta sala", - "Notify_all_in_this_room": "Notifica todos os utilizadores nesta sala", - "Notifications": "Notificações", - "Notification_Duration": "Duração da Notificação", - "Notification_Preferences": "Preferências de Notificação", - "No_available_agents_to_transfer": "Não há agentes disponíveis para transferir", - "Offline": "Desligado", - "Oops": "Oops!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Chats em andamento", - "Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você gostaria de estar disponível?", - "Onboarding_description": "Um espaço de trabalho é o espaço da sua equipa ou organização para colaborar. Peça ao administrador do espaço de trabalho um endereço para se juntar ou criar um para a sua equipa.", - "Onboarding_join_workspace": "Junte-se a um espaço de trabalho", - "Onboarding_subtitle": "Além da Colaboração da Equipe", - "Onboarding_title": "Bem vindo(a) ao Rocket.Chat", - "Onboarding_join_open_description": "Junte-se ao nosso espaço de trabalho aberto para conversar com a equipa e comunidade Rocket.Chat.", - "Onboarding_agree_terms": "Ao continuar, você concorda com Rocket.Chat", - "Onboarding_less_options": "Menos opções", - "Onboarding_more_options": "Mais opções", - "Online": "Ligado", - "Only_authorized_users_can_write_new_messages": "Apenas utilizadores autorizados podem escrever novas mensagens", - "Open_emoji_selector": "Abra o selector de emoticons", - "Open_Source_Communication": "Comunicação Open Source", - "Open_your_authentication_app_and_enter_the_code": "Abra o seu aplicativo de autenticação e digite o código.", - "OR": "OU", - "OS": "OS", - "Overwrites_the_server_configuration_and_use_room_config": "Sobrescreve a configuração do servidor e a configuração da sala de uso", - "Password": "Palavra-passe", - "Parent_channel_or_group": "Canal de origem ou grupo", - "Permalink_copied_to_clipboard": "Link permanente copiado para a área de transferência!", - "Phone": "Telefone", - "Pin": "Afixar", - "Pinned_Messages": "Mensagens Afixadas", - "pinned": "afixada", - "Pinned": "Afixada", - "Please_add_a_comment": "Por favor, acrescente um comentário", - "Please_enter_your_password": "Por favor, introduza a sua palavra-passe", - "Please_wait": "Por favor, espere.", - "Preferences": "Preferências", - "Preferences_saved": "Preferências guardadas!", - "Privacy_Policy": " Política de Privacidade", - "Private_Channel": "Canal Privado", - "Private": "Privado", - "Processing": "A processar...", - "Profile_saved_successfully": "Perfil actualizado com sucesso!", - "Profile": "Perfil", - "Public_Channel": "Canal Público", - "Public": "Público", - "Push_Notifications": "Notificações Push", - "Push_Notifications_Alert_Info": "Estas notificações são entregues quando o aplicativo não está aberto", - "Quote": "Citar", - "Reactions_are_disabled": "Reacções desactivadas", - "Reactions_are_enabled": "Reacções activadas", - "Reactions": "Reacções", - "Read": "Ler", - "Read_External_Permission_Message": "Rocket.Chat precisa acessar fotos, média e arquivos em seu dispositivo", - "Read_External_Permission": "Permissão de leitura da média", - "Read_Only_Channel": "Canal só de leitura", - "Read_Only": "Só de Leitura", - "Read_Receipt": "Recibos de leitura", - "Register": "Registar", - "Repeat_Password": "Repita a palavra-passe", - "Reply": "Responder", - "Resend": "Reenviar", - "Reset_password": "Repor palavra-passe", - "resetting_password": "a repor palavra-passe", - "RESET": "REPOR", - "Roles": "Funções", - "Room_actions": "Ações de sala", - "Room_changed_announcement": "Anúncio da sala alterado para: {{announcement}} por {{userBy}}", - "Room_changed_description": "Descrição da sala alterada para: {{description}} por {{userBy}}", - "Room_changed_privacy": "Tipo de sala alterado para: {{type}} por {{userBy}}", - "Room_changed_topic": "Tópico da sala alterado para: {{topic}} por {{userBy}}", - "Room_Files": "Fiheiros da Sala", - "Room_Info_Edit": "Editar Informação da Sala", - "Room_Info": "Informação da Sala", - "Room_Members": "Membros da Sala", - "Room_name_changed": "Nome da sala alterado para: {{name}} por {{userBy}}", - "SAVE": "GUARDAR", - "Save_Changes": "Guardar Alterações", - "Save": "Guardar", - "saving_preferences": "a guardar preferências", - "saving_profile": "a guardar perfil", - "saving_settings": "a guardar configurações", - "Search_Messages": "Pesquisar Mensagens", - "Search": "Pesquisar", - "Select_Avatar": "Seleccionar Avatar", - "Select_Users": "Seleccionar Utilizadores", - "Send": "Enviar", - "Send_audio_message": "Enviar mensagem de áudio", - "Send_message": "Enviar mensagem", - "Sent_an_attachment": "Enviou um ficheiro", - "Server": "Servidor", - "Servers": "Servidores", - "Set_username_subtitle": "O nome de utilizador é usado para permitir que outros mencionem você em mensagens", - "Settings": "Definições", - "Settings_succesfully_changed": "Definições guardadas com sucesso!", - "Share": "Partilhar", - "Sign_in_your_server": "Entre no seu servidor", - "Sign_Up": "Inscreva-se", - "Some_field_is_invalid_or_empty": "Algum campo é inválido ou está vazio", - "Sorting_by": "Ordenar por {{key}}", - "Star_room": "Marcar como favorito", - "Star": "Dar estrela", - "Starred_Messages": "Mensagens com estrela", - "starred": "deu uma estrela", - "Starred": "Deu uma estrela", - "Start_of_conversation": "Início da conversa", - "Submit": "Enviar", - "Take_a_photo": "Tirar uma foto", - "tap_to_change_status": "toque para alterar o estado", - "Tap_to_view_servers_list": "Toque para ver a lista de servidores", - "Terms_of_Service": " Termos do Serviço ", - "There_was_an_error_while_action": "Houve um erro enquanto {{action}}!", - "This_room_is_blocked": "Esta sala está bloqueada", - "This_room_is_read_only": "Esta sala é apenas de leitura", - "Timezone": "Fuso Horário", - "topic": "tópico", - "Topic": "Tópico", - "Try_again": "Tente novamente", - "Two_Factor_Authentication": "Autenticação 2FA", - "Type_the_channel_name_here": "Escreva o nome do canal aqui", - "unarchive": "desarquivar", - "UNARCHIVE": "DESARQUIVAR", - "Unblock_user": "Desbloquear utilizador", - "Unmute": "Retirar silêncio", - "unmuted": "silêncio removido", - "Unpin": "Desafixar", - "unread_messages": "não lidas", - "Unread": "Não lidas", - "Unread_on_top": "Não lidas no topo", - "Unstar": "Retirar estrela", - "Updating": "A actualizar...", - "Uploading": "A enviar", - "Upload_file_question_mark": "Enviar ficheiro?", - "User_added_by": "Utilizador {{userAdded}} adicionado por {{userBy}}", - "User_has_been_key": "Utilizador foi {{key}}", - "User_is_no_longer_role_by_": "{{userBy}} removeu o estatuto de {{role}} de {{user}}", - "User_muted_by": "Utilizador {{userMuted}} foi silenciado por {{userBy}}", - "User_removed_by": "Utilizador {{userRemoved}} removido por {{userBy}}", - "User_sent_an_attachment": "{{user}} enviou um ficheiro", - "User_unmuted_by": "{{userBy}} retirou o silêncio a {{userUnmuted}}", - "User_was_set_role_by_": "{{userBy}} deu estatuto de {{role}} a {{user}}", - "Username_is_empty": "O nome de utilizador está vazio", - "Username": "Nome de utilizador", - "Username_or_email": "Nome de utilizador ou e-mail", - "Validating": "A validar", - "Video_call": "Video chamada", - "Voice_call": "Chamada de voz", - "Welcome": "Bem vindo(a)", - "Whats_your_2fa": "Qual é o seu código 2FA?", - "Yes_action_it": "Sim, {{action}}!", - "Yesterday": "Ontem", - "You_are_in_preview_mode": "Você está no modo de pré-visualização", - "You_are_offline": "Você está desligado", - "You_can_search_using_RegExp_eg": "Você pode pesquisar usando RegEx. por exemplo, `/^text$/i`", - "You_colon": "Você: ", - "you_were_mentioned": "você foi mencionado", - "you": "você", - "You": "Você", - "You_will_not_be_able_to_recover_this_message": "Você será incapaz de recuperar esta mensagem!" -} + "1_person_reacted": "1 pessoa reagiu", + "1_user": "1 utilizador", + "error-action-not-allowed": "{{action}} não é permitida", + "error-application-not-found": "Aplicação não encontrada", + "error-archived-duplicate-name": "Existe um canal arquivado com o nome {{room_name}}", + "error-avatar-invalid-url": "URL de avatar inválido: {{url}}", + "error-avatar-url-handling": "Erro ao manipular a configuração de avatar de um URL ({{url}}) para {{username}}", + "error-cant-invite-for-direct-room": "Não pode convidar utilizadores para salas de mensagens directas", + "error-could-not-change-email": "Não foi possível alterar o e-mail", + "error-could-not-change-name": "Não foi possível alterar o nome", + "error-could-not-change-username": "Não foi possível alterar o nome de utilizador", + "error-could-not-change-status": "Impossível mudar estado", + "error-delete-protected-role": "Não é possível eliminar uma função protegida", + "error-department-not-found": "Departamento não encontrado", + "error-direct-message-file-upload-not-allowed": "Partilha de ficheiros não permitido em mensagens diretas", + "error-duplicate-channel-name": "Existe um canal com o nome {{room_name}}", + "error-email-domain-blacklisted": "O domínio de e-mail está na lista negra", + "error-email-send-failed": "Erro ao tentar enviar e-mail: {{message}}", + "error-save-image": "Erro ao salvar imagem", + "error-save-video": "Erro ao salvar vídeo", + "error-field-unavailable": "{{field}} já está em uso :(", + "error-file-too-large": "Ficheiro demasiado grande", + "error-importer-not-defined": "O importador não foi definido correctamente, a classe Import está em falta.", + "error-input-is-not-a-valid-field": "{{input}} não é um {{field}} válido", + "error-invalid-actionlink": "Link de acção inválido", + "error-invalid-arguments": "Argumentos inválidos", + "error-invalid-asset": "Ficheiro inválido", + "error-invalid-channel": "Canal inválido.", + "error-invalid-channel-start-with-chars": "Canal inválido. Começa por @ ou #", + "error-invalid-custom-field": "Campo personalizado inválido", + "error-invalid-custom-field-name": "Nome de campo personalizado inválido. Use apenas letras, números, hífens e sublinhados.", + "error-invalid-date": "Data inválida fornecida.", + "error-invalid-description": "Descrição inválida", + "error-invalid-domain": "Domínio inválido", + "error-invalid-email": "E-mail inválido {{email}}", + "error-invalid-email-address": "Endereço de e-mail invalido", + "error-invalid-file-height": "Altura de ficheiro inválida", + "error-invalid-file-type": "Tipo de ficheiro inválido", + "error-invalid-file-width": "Largura de ficheiro inválida", + "error-invalid-from-address": "Você informou um endereço DE inválido.", + "error-invalid-integration": "Integração inválida", + "error-invalid-message": "Mensagem inválida", + "error-invalid-method": "Método inválido", + "error-invalid-name": "Nome inválido", + "error-invalid-password": "Palavra-passe inválida", + "error-invalid-redirectUri": "redirectUri inválido", + "error-invalid-role": "Função inválido", + "error-invalid-room": "Sala inválida", + "error-invalid-room-name": "{{room_name}} não é um nome de sala válido", + "error-invalid-room-type": "{{type}} não é um tipo de sala válido.", + "error-invalid-settings": "Configurações inválidas fornecidas", + "error-invalid-subscription": "Subscrição inválida", + "error-invalid-token": "Token inválido", + "error-invalid-triggerWords": "triggerWords inválido", + "error-invalid-urls": "URLs inválidos", + "error-invalid-user": "Utilizador inválido", + "error-invalid-username": "Nome de utilizador inválido", + "error-invalid-webhook-response": "O URL do webhook respondeu com um estado diferente de 200", + "error-message-deleting-blocked": "A remoção de mensagens está bloqueada", + "error-message-editing-blocked": "A edição de mensagens está bloqueada", + "error-message-size-exceeded": "O tamanho da mensagem excede Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "Você deve fornecer o link para cancelar a subscrição: [unsubscribe].", + "error-no-owner-channel": "Você não é dono do canal", + "error-no-tokens-for-this-user": "Não há tokens para este utilizador", + "error-not-allowed": "Não permitido", + "error-not-authorized": "Não autorizado", + "error-push-disabled": "Push está desactivado", + "error-remove-last-owner": "Este é o último proprietário. Por favor, defina um novo proprietário antes de remover este.", + "error-role-in-use": "Não é possível remover função porque está em uso", + "error-role-name-required": "Nome da função requerido", + "error-the-field-is-required": "O campo {{field}} é obrigatório.", + "error-too-many-requests": "Erro, demasiados pedidos. Por favor, diminua a velocidade. Você deve esperar {{seconds}} segundos antes de tentar novamente.", + "error-user-is-not-activated": "O utilizador não está activado", + "error-user-has-no-roles": "O utilizador não tem funções", + "error-user-limit-exceeded": "O número de utilizadores que você está a tentar convidar para #channel_name excede o limite definido pelo administrador", + "error-user-not-in-room": "O utilizador não está nesta sala", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "O registo de utilizadores está desactivado", + "error-user-registration-secret": "O registo de utilizadores só é permitido por meio de um URL secreto", + "error-you-are-last-owner": "Você é o último proprietário. Por favor, defina novo proprietário antes de sair da sala.", + "error-status-not-allowed": "O estado invisível está desactivado", + "Actions": "Acções", + "Activity": "Actividade", + "Add_Reaction": "Adicionar Reacção", + "Add_Server": "Adicionar Servidor", + "Add_users": "Adicionar utilizadores", + "Admin_Panel": "Painel de Administração", + "Agent": "Agente", + "Alert": "Alerta", + "alert": "alerta", + "alerts": "alertas", + "All_users_in_the_channel_can_write_new_messages": "Todos os utilizadores no canal podem escrever novas mensagens", + "All_users_in_the_team_can_write_new_messages": "Todos os usuários da equipa podem escrever novas mensagens", + "A_meaningful_name_for_the_discussion_room": "Um nome significativo para a sala de discussão", + "All": "Todos", + "All_Messages": "Todas as Mensagens", + "Allow_Reactions": "Permitir Reacções", + "Alphabetical": "Alfabética", + "and_more": "e mais", + "and": "e", + "announcement": "anúncio", + "Announcement": "Anúncio", + "Apply_Your_Certificate": "Aplique o seu Certificado", + "ARCHIVE": "ARQUIVAR", + "archive": "arquivar", + "are_typing": "estão a escrever", + "Are_you_sure_question_mark": "Tem a certeza?", + "Are_you_sure_you_want_to_leave_the_room": "Tem certeza de que quer sair da sala {{room}}?", + "Audio": "Áudio", + "Authenticating": "Autenticando", + "Automatic": "Automático", + "Auto_Translate": "Auto-Tradução", + "Avatar_changed_successfully": "Avatar alterado com sucesso!", + "Avatar_Url": "URL do Avatar", + "Away": "Ausente", + "Back": "Voltar", + "Black": "Preto", + "Block_user": "Bloquear utilizador", + "Browser": "Navegador", + "Broadcast_channel_Description": "Apenas utilizadores autorizados podem escrever novas mensagens, mas os outros utilizadores poderão responder", + "Broadcast_Channel": "Canal de Transmissão", + "Busy": "Ocupado", + "By_proceeding_you_are_agreeing": "Ao prosseguir você concorda com o(s) nosso(s)", + "Cancel_editing": "Cancelar edição", + "Cancel_recording": "Cancelar gravação", + "Cancel": "Cancelar", + "changing_avatar": "a alterar avatar", + "creating_channel": "a criar canal", + "creating_invite": "a criar convite", + "Channel_Name": "Nome do Canal", + "Channels": "Canais", + "Chats": "Chats", + "Call_already_ended": "Chamada já terminada!", + "Clear_cookies_alert": "Quer limpar todas as cookies?", + "Clear_cookies_desc": "Esta acção irá limpar todos os cookies de login, permitindo que você faça login em outras contas.", + "Clear_cookies_yes": "Sim, limpar cookies", + "Clear_cookies_no": "Não, guardar cookies", + "Click_to_join": "Clique para Entrar!", + "Close": "Fechar", + "Close_emoji_selector": "Fechar selector de emoticons", + "Closing_chat": "A fechar o chat", + "Change_language_loading": "Mudança de idioma.", + "Chat_closed_by_agent": "Chat fechado por agente", + "Choose": "Escolher", + "Choose_from_library": "Escolher da biblioteca", + "Choose_file": "Escolher arquivo", + "Choose_where_you_want_links_be_opened": "Escolha onde você quer que os links sejam abertos", + "Code": "Código", + "Code_or_password_invalid": "Código ou senha inválidos", + "Collaborative": "Colaborativa", + "Confirm": "Confirmar", + "Connect": "Ligar", + "Connected": "Ligado", + "connecting_server": "conexão ao servidor", + "Connecting": "A ligar...", + "Contact_us": "Contacte-nos", + "Contact_your_server_admin": "Contacte o administrador do seu servidor.", + "Continue_with": "Continuar com", + "Copied_to_clipboard": "Copiado para a área de transferência!", + "Copy": "Copiar", + "Conversation": "Conversa", + "Permalink": "Link permanente", + "Certificate_password": "Senha do Certificado", + "Clear_cache": "Limpar a cache do servidor local", + "Clear_cache_loading": "A limpar a cache.", + "Whats_the_password_for_your_certificate": "Qual é a senha para o seu certificado?", + "Create_account": "Criar uma conta", + "Create_Channel": "Criar Canal", + "Create_Direct_Messages": "Criar Mensagens Diretas", + "Create_Discussion": "Criar Discussão", + "Created_snippet": "criado um extracto", + "Create_a_new_workspace": "Criar um novo espaço de trabalho", + "Create": "Criar", + "Custom_Status": "Status Personalizado", + "Dark": "Escuro", + "Dark_level": "Nível Escuro", + "Default": "Predefinição", + "Default_browser": "Navegador predefinido", + "Delete_Room_Warning": "Apagar uma sala irá remover todas as mensagens contidas nela. Isto não pode ser desfeito.", + "Department": "Departamento", + "delete": "apagar", + "Delete": "Apagar", + "DELETE": "APAGAR", + "move": "mover", + "deleting_room": "apagando sala", + "description": "descrição", + "Description": "Descrição", + "Desktop_Options": "Opções da área de trabalho", + "Desktop_Notifications": "Notificações da área de trabalho", + "Desktop_Alert_info": "Estas notificações são entregues na área de trabalho", + "Directory": "Directório", + "Direct_Messages": "Mensagens Directas", + "Disable_notifications": "Desactivar notificações", + "Discussions": "Discussões", + "Discussion_Desc": "Ajude a manter uma visão geral sobre o que está acontecendo! Ao criar uma discussão, é criado um sub-canal do que você selecionou e ambos estão ligados.", + "Discussion_name": "Nome da discussão", + "Done": "Feito", + "Dont_Have_An_Account": "Não tem uma conta?", + "Do_you_have_an_account": "Você tem uma conta?", + "Do_you_have_a_certificate": "Você tem um certificado?", + "Do_you_really_want_to_key_this_room_question_mark": "Você quer mesmo {{key}} esta sala?", + "E2E_Encryption": "Encriptação E2E", + "E2E_How_It_Works_info1": "Agora você pode criar grupos privados criptografados e mensagens diretas. Você também pode alterar grupos privados existentes ou DMs para criptografados.", + "E2E_How_It_Works_info2": "Isto é *criptografia ponto a ponto* portanto a chave para codificar/descodificar as suas mensagens não será salva no servidor. Por essa razão *você precisa armazenar esta senha em algum lugar seguro* que você posa aceder mais tarde, se precisar.", + "E2E_How_It_Works_info3": "Se você prosseguir, uma senha E2E será gerada automaticamente.", + "E2E_How_It_Works_info4": "Você também pode configurar uma nova senha para sua chave de criptografia a qualquer momento a partir de qualquer navegador que você tenha inserido a senha existente do E2E.", + "edit": "editar", + "edited": "editado", + "Edit": "Editar", + "Edit_Status": "Editar Status", + "Edit_Invite": "Editar Convite", + "End_to_end_encrypted_room": "Sala encriptada de ponta a ponta", + "end_to_end_encryption": "encriptação de ponta a ponta", + "Email_Notification_Mode_All": "Cada Menção/DM", + "Email_Notification_Mode_Disabled": "Desactivado", + "Email_or_password_field_is_empty": "O campo de e-mail ou palavra-passe está vazio", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Título vazio", + "Enable_Auto_Translate": "Activar Auto-Tradução", + "Enable_notifications": "Activar notificações", + "Encrypted": "Encriptado", + "Encrypted_message": "Mensagem encriptada", + "Enter_Your_E2E_Password": "Digite a sua senha E2E", + "Enter_Your_Encryption_Password_desc1": "Isto permitir-lhe-á aceder aos seus grupos privados encriptados e às suas mensagens directas.", + "Enter_Your_Encryption_Password_desc2": "Você precisa digitar a senha para codificar/descodificar mensagens em cada lugar que você usar o chat.", + "Encryption_error_title": "A sua senha de encriptação parece errada", + "Encryption_error_desc": "Não foi possível descodificar a sua chave de encriptação para ser importada.", + "Everyone_can_access_this_channel": "Todos podem aceder a este canal", + "Everyone_can_access_this_team": "Todos podem aceder a esta equipa", + "Error_uploading": "Erro ao fazer o envio", + "Expiration_Days": "Validade (Dias)", + "Favorites": "Favoritos", + "Files": "Ficheiros", + "File_description": "Descrição do ficheiro", + "File_name": "Nome do ficheiro", + "Finish_recording": "Terminar a gravação", + "Following_thread": "Seguir discussão", + "For_your_security_you_must_enter_your_current_password_to_continue": "Para sua segurança, você deve escrever a sua palavra-passe actual para continuar", + "Forgot_password_If_this_email_is_registered": "Se este e-mail estiver registado, enviaremos instruções sobre como repor a sua palavra-passe. Se você não receber um e-mail em breve, volte e tente novamente.", + "Forgot_password": "Esquecer palavra-passe", + "Forgot_Password": "Esquecer Palavra-passe", + "Forward": "Reencaminhar", + "Forward_Chat": "Reencaminhar Chat", + "Forward_to_department": "Reencaminhar para o departamento", + "Forward_to_user": "Reencaminhar para o utilizador", + "Full_table": "Clique para ver a tabela completa", + "Generate_New_Link": "Gerar Novo Link", + "Has_joined_the_channel": "entrou no canal", + "Has_joined_the_conversation": "entrou na conversa", + "Has_left_the_channel": "saiu do canal", + "Hide_System_Messages": "Esconder mensagens do sistema", + "Hide_type_messages": "Esconder mensagens \"{{type}}\"", + "How_It_Works": "Como Funciona", + "Message_HideType_uj": "Utilizador entrou", + "Message_HideType_ul": "Utilizador saiu", + "Message_HideType_ru": "Utilizador removido", + "Message_HideType_au": "Utilizador adicionado", + "Message_HideType_mute_unmute": "Utilizador silenciado/de-silenciado", + "Message_HideType_r": "Nome da sala alterado", + "Message_HideType_ut": "Utilizador entrou na conversação", + "Message_HideType_wm": "Bem-vindo", + "Message_HideType_rm": "Mensagem Removida", + "Message_HideType_subscription_role_added": "Foi definido o estatuto", + "Message_HideType_subscription_role_removed": "Definição de estatuto removida", + "Message_HideType_room_archived": "Sala arquivada", + "Message_HideType_room_unarchived": "Sala desarquivada", + "I_Saved_My_E2E_Password": "Guardei a minha senha E2E", + "IP": "IP", + "In_app": "Na aplicação", + "In_App_And_Desktop": "Na aplicação e área de trabalho", + "In_App_and_Desktop_Alert_info": "Exibe um banner no topo da tela quando a aplicação está aberto, e exibe uma notificação na área de trabalho", + "Invisible": "Invisível", + "Invite": "Convidar", + "is_a_valid_RocketChat_instance": "é uma instância válida do Rocket.Chat", + "is_not_a_valid_RocketChat_instance": "is not a valid Rocket.Chat instance", + "is_typing": "está a escrever", + "Invalid_or_expired_invite_token": "Token de convite invalido ou expirado", + "Invalid_server_version": "O servidor ao qual esta tentando ligar-se, utiliza uma versão que não é suporta pela aplicação: {{currentVersion}}.\n\nA versão mínima requerida é {{minVersion}}", + "Invite_Link": "Link de convite", + "Invite_users": "Convidar utilizadores", + "Join": "Entrar", + "Join_Code": "Código de entrada", + "Insert_Join_Code": "Insira o código de entrada", + "Join_our_open_workspace": "Junte-se ao nosso espaço de trabalho aberto", + "Join_your_workspace": "Junte-se ao seu espaço de trabalho", + "Just_invited_people_can_access_this_channel": "Apenas utilizadores convidados podem aceder a este canal", + "Just_invited_people_can_access_this_team": "Apenas pessoas convidadas podem aceder a esta equipa", + "Language": "Idioma", + "last_message": "última mensagem", + "Leave_channel": "Sair do canal", + "leaving_room": "a sair da sala", + "Leave": "Sair", + "leave": "sair", + "Legal": "Legal", + "Light": "Luz", + "License": "Licença", + "Livechat": "Livechat", + "Login": "Entrar", + "Login_error": "As suas credenciais foram rejeitadas! Por favor, tente novamente.", + "Login_with": "Entrar com", + "Logging_out": "A terminar a sessão.", + "Logout": "Sair", + "Max_number_of_uses": "Número máximo de utilizações", + "Max_number_of_users_allowed_is_number": "O número máximo de utilizadores permitido é {{maxUsers}}", + "members": "membros", + "Members": "Membros", + "Mentioned_Messages": "Mensagens Mencionadas", + "mentioned": "mencionado", + "Mentions": "Menções", + "Message_accessibility": "Mensagem de {{user}} às {{time}}: {{message}}", + "Message_actions": "Acções de mensagem", + "Message_pinned": "Mensagem afixada", + "Message_removed": "Mensagem removida", + "Message_starred": "Mensagem estrelada", + "Message_unstarred": "Mensagem não estrelada", + "message": "mensagem", + "messages": "mensagens", + "Message": "Mensagem", + "Messages": "Mensagens", + "Message_Reported": "Mensagem reportada", + "Microphone_Permission_Message": "O Rocket.Chat necessita de acesso ao seu microfone para que você possa enviar mensagens de áudio.", + "Microphone_Permission": "Permissão de Microfone", + "Mute": "Silenciar", + "muted": "silenciado", + "My_servers": "Meus servidores", + "N_people_reacted": "{{n}} pessoas reagiram", + "N_users": "{{n}} utilizadores", + "N_channels": "{{n}} canais", + "Name": "Nome", + "Navigation_history": "Histórico de navegação", + "Never": "Nunca", + "New_Message": "Nova Mensagem", + "New_Password": "Nova Palavra-passe", + "New_Server": "Novo Servidor", + "Next": "Próximo", + "No_files": "Nenhum ficheiro", + "No_limit": "Sem limite", + "No_mentioned_messages": "Nenhuma mensagem mencionada", + "No_pinned_messages": "Nenhuma mensagem afixada", + "No_results_found": "Nenhum resultado encontrado", + "No_starred_messages": "Nenhuma mensagem marcada com estrela", + "No_thread_messages": "Sem mensagens de discussão ", + "No_label_provided": "{{label}} não fornecida/o", + "No_Message": "Nenhuma mensagem", + "No_messages_yet": "Ainda sem mensagens", + "No_Reactions": "Nenhuma reação", + "No_Read_Receipts": "Sem recibos de leitura", + "Not_logged": "Não ligado", + "Not_RC_Server": "Isto não é um servidor Rocket.Chat.\n{{contact}}", + "Nothing": "Nada", + "Nothing_to_save": "Nada para guardar!", + "Notify_active_in_this_room": "Notifica utilizadores activos nesta sala", + "Notify_all_in_this_room": "Notifica todos os utilizadores nesta sala", + "Notifications": "Notificações", + "Notification_Duration": "Duração da Notificação", + "Notification_Preferences": "Preferências de Notificação", + "No_available_agents_to_transfer": "Não há agentes disponíveis para transferir", + "Offline": "Desligado", + "Oops": "Oops!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Chats em andamento", + "Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você gostaria de estar disponível?", + "Onboarding_description": "Um espaço de trabalho é o espaço da sua equipa ou organização para colaborar. Peça ao administrador do espaço de trabalho um endereço para se juntar ou criar um para a sua equipa.", + "Onboarding_join_workspace": "Junte-se a um espaço de trabalho", + "Onboarding_subtitle": "Além da Colaboração da Equipe", + "Onboarding_title": "Bem vindo(a) ao Rocket.Chat", + "Onboarding_join_open_description": "Junte-se ao nosso espaço de trabalho aberto para conversar com a equipa e comunidade Rocket.Chat.", + "Onboarding_agree_terms": "Ao continuar, você concorda com Rocket.Chat", + "Onboarding_less_options": "Menos opções", + "Onboarding_more_options": "Mais opções", + "Online": "Ligado", + "Only_authorized_users_can_write_new_messages": "Apenas utilizadores autorizados podem escrever novas mensagens", + "Open_emoji_selector": "Abra o selector de emoticons", + "Open_Source_Communication": "Comunicação Open Source", + "Open_your_authentication_app_and_enter_the_code": "Abra o seu aplicativo de autenticação e digite o código.", + "OR": "OU", + "OS": "OS", + "Overwrites_the_server_configuration_and_use_room_config": "Sobrescreve a configuração do servidor e a configuração da sala de uso", + "Password": "Palavra-passe", + "Parent_channel_or_group": "Canal de origem ou grupo", + "Permalink_copied_to_clipboard": "Link permanente copiado para a área de transferência!", + "Phone": "Telefone", + "Pin": "Afixar", + "Pinned_Messages": "Mensagens Afixadas", + "pinned": "afixada", + "Pinned": "Afixada", + "Please_add_a_comment": "Por favor, acrescente um comentário", + "Please_enter_your_password": "Por favor, introduza a sua palavra-passe", + "Please_wait": "Por favor, espere.", + "Preferences": "Preferências", + "Preferences_saved": "Preferências guardadas!", + "Privacy_Policy": " Política de Privacidade", + "Private_Channel": "Canal Privado", + "Private": "Privado", + "Processing": "A processar...", + "Profile_saved_successfully": "Perfil actualizado com sucesso!", + "Profile": "Perfil", + "Public_Channel": "Canal Público", + "Public": "Público", + "Push_Notifications": "Notificações Push", + "Push_Notifications_Alert_Info": "Estas notificações são entregues quando o aplicativo não está aberto", + "Quote": "Citar", + "Reactions_are_disabled": "Reacções desactivadas", + "Reactions_are_enabled": "Reacções activadas", + "Reactions": "Reacções", + "Read_External_Permission_Message": "Rocket.Chat precisa acessar fotos, média e arquivos em seu dispositivo", + "Read_External_Permission": "Permissão de leitura da média", + "Read_Only_Channel": "Canal só de leitura", + "Read_Only": "Só de Leitura", + "Read_Receipt": "Recibos de leitura", + "Register": "Registar", + "Repeat_Password": "Repita a palavra-passe", + "Reply": "Responder", + "Resend": "Reenviar", + "Reset_password": "Repor palavra-passe", + "resetting_password": "a repor palavra-passe", + "RESET": "REPOR", + "Roles": "Funções", + "Room_actions": "Ações de sala", + "Room_changed_announcement": "Anúncio da sala alterado para: {{announcement}} por {{userBy}}", + "Room_changed_description": "Descrição da sala alterada para: {{description}} por {{userBy}}", + "Room_changed_privacy": "Tipo de sala alterado para: {{type}} por {{userBy}}", + "Room_changed_topic": "Tópico da sala alterado para: {{topic}} por {{userBy}}", + "Room_Files": "Fiheiros da Sala", + "Room_Info_Edit": "Editar Informação da Sala", + "Room_Info": "Informação da Sala", + "Room_Members": "Membros da Sala", + "Room_name_changed": "Nome da sala alterado para: {{name}} por {{userBy}}", + "SAVE": "GUARDAR", + "Save_Changes": "Guardar Alterações", + "Save": "Guardar", + "saving_preferences": "a guardar preferências", + "saving_profile": "a guardar perfil", + "saving_settings": "a guardar configurações", + "Search_Messages": "Pesquisar Mensagens", + "Search": "Pesquisar", + "Select_Avatar": "Seleccionar Avatar", + "Select_Users": "Seleccionar Utilizadores", + "Send": "Enviar", + "Send_audio_message": "Enviar mensagem de áudio", + "Send_message": "Enviar mensagem", + "Sent_an_attachment": "Enviou um ficheiro", + "Server": "Servidor", + "Servers": "Servidores", + "Set_username_subtitle": "O nome de utilizador é usado para permitir que outros mencionem você em mensagens", + "Settings": "Definições", + "Settings_succesfully_changed": "Definições guardadas com sucesso!", + "Share": "Partilhar", + "Sign_in_your_server": "Entre no seu servidor", + "Sign_Up": "Inscreva-se", + "Some_field_is_invalid_or_empty": "Algum campo é inválido ou está vazio", + "Star_room": "Marcar como favorito", + "Star": "Dar estrela", + "Starred_Messages": "Mensagens com estrela", + "starred": "deu uma estrela", + "Starred": "Deu uma estrela", + "Start_of_conversation": "Início da conversa", + "Submit": "Enviar", + "Take_a_photo": "Tirar uma foto", + "tap_to_change_status": "toque para alterar o estado", + "Tap_to_view_servers_list": "Toque para ver a lista de servidores", + "Terms_of_Service": " Termos do Serviço ", + "There_was_an_error_while_action": "Houve um erro enquanto {{action}}!", + "This_room_is_blocked": "Esta sala está bloqueada", + "This_room_is_read_only": "Esta sala é apenas de leitura", + "Timezone": "Fuso Horário", + "topic": "tópico", + "Topic": "Tópico", + "Try_again": "Tente novamente", + "Two_Factor_Authentication": "Autenticação 2FA", + "Type_the_channel_name_here": "Escreva o nome do canal aqui", + "unarchive": "desarquivar", + "UNARCHIVE": "DESARQUIVAR", + "Unblock_user": "Desbloquear utilizador", + "Unmute": "Retirar silêncio", + "unmuted": "silêncio removido", + "Unpin": "Desafixar", + "unread_messages": "não lidas", + "Unread": "Não lidas", + "Unread_on_top": "Não lidas no topo", + "Unstar": "Retirar estrela", + "Updating": "A actualizar...", + "Uploading": "A enviar", + "Upload_file_question_mark": "Enviar ficheiro?", + "User_added_by": "Utilizador {{userAdded}} adicionado por {{userBy}}", + "User_has_been_key": "Utilizador foi {{key}}", + "User_is_no_longer_role_by_": "{{userBy}} removeu o estatuto de {{role}} de {{user}}", + "User_muted_by": "Utilizador {{userMuted}} foi silenciado por {{userBy}}", + "User_removed_by": "Utilizador {{userRemoved}} removido por {{userBy}}", + "User_sent_an_attachment": "{{user}} enviou um ficheiro", + "User_unmuted_by": "{{userBy}} retirou o silêncio a {{userUnmuted}}", + "User_was_set_role_by_": "{{userBy}} deu estatuto de {{role}} a {{user}}", + "Username_is_empty": "O nome de utilizador está vazio", + "Username": "Nome de utilizador", + "Username_or_email": "Nome de utilizador ou e-mail", + "Validating": "A validar", + "Video_call": "Video chamada", + "Voice_call": "Chamada de voz", + "Welcome": "Bem vindo(a)", + "Whats_your_2fa": "Qual é o seu código 2FA?", + "Yes_action_it": "Sim, {{action}}!", + "Yesterday": "Ontem", + "You_are_in_preview_mode": "Você está no modo de pré-visualização", + "You_are_offline": "Você está desligado", + "You_can_search_using_RegExp_eg": "Você pode pesquisar usando RegEx. por exemplo, `/^text$/i`", + "You_colon": "Você: ", + "you_were_mentioned": "você foi mencionado", + "you": "você", + "You": "Você", + "You_will_not_be_able_to_recover_this_message": "Você será incapaz de recuperar esta mensagem!" +} \ No newline at end of file diff --git a/app/i18n/locales/ro.json b/app/i18n/locales/ro.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ro.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ru.json b/app/i18n/locales/ru.json index 359aadf99..071e8f3e4 100644 --- a/app/i18n/locales/ru.json +++ b/app/i18n/locales/ru.json @@ -1,776 +1,786 @@ { - "1_person_reacted": "1 человек отреагировал", - "1_user": "1 пользователь", - "error-action-not-allowed": "{{action}} не допускается", - "error-application-not-found": "Приложение не найдено", - "error-archived-duplicate-name": "Есть архивный канал с именем {{room_name}}", - "error-avatar-invalid-url": "Недопустимый URL-адрес аватара: {{url}}", - "error-avatar-url-handling": "Ошибка при обработке настроек аватара с URL-адреса ({{url}}) для {{username}}", - "error-cant-invite-for-direct-room": "Невозможно пригласить пользователя в личную переписку", - "error-could-not-change-email": "Не удалось изменить адрес электронной почты", - "error-could-not-change-name": "Не удалось изменить имя", - "error-could-not-change-username": "Не удалось изменить имя пользователя", - "error-could-not-change-status": "Не удалось изменить статус", - "error-delete-protected-role": "Не удается удалить защищенную роль", - "error-department-not-found": "Отдел не найден", - "error-direct-message-file-upload-not-allowed": "Общий доступ к файлам не разрешен в личных сообщениях", - "error-duplicate-channel-name": "Канал с именем {{room_name}} существует", - "error-email-domain-blacklisted": "Домен электронной почты включен в черный список", - "error-email-send-failed": "Ошибка при попытке отправить электронное письмо: {{message}}", - "error-save-image": "Ошибка при попытке сохранить изображение", - "error-save-video": "Ошибка при попытке сохранить видео", - "error-field-unavailable": "{{field}} уже используется :(", - "error-file-too-large": "Файл слишком большой", - "error-importer-not-defined": "Импортер не был определен правильно, ему не хватает класса Import.", - "error-input-is-not-a-valid-field": "{{input}} недействительно {{field}}", - "error-invalid-actionlink": "Недействительная ссылка действия", - "error-invalid-arguments": "Недопустимые аргументы", - "error-invalid-asset": "Недопустимый ресурс", - "error-invalid-channel": "Недействительный канал.", - "error-invalid-channel-start-with-chars": "Недействительный канал. Начните с @ или #", - "error-invalid-custom-field": "Неверное настраиваемое поле", - "error-invalid-custom-field-name": "Неверное имя настраиваемого поля. Используйте только буквы, цифры, дефис и символ подчеркивания.", - "error-invalid-date": "Указана недопустимая дата.", - "error-invalid-description": "Недопустимое описание", - "error-invalid-domain": "Недопустимый домен", - "error-invalid-email": "Неверный адрес электронной почты {{email}}", - "error-invalid-email-address": "Неверный адрес электронной почты", - "error-invalid-file-height": "Недопустимая высота файла", - "error-invalid-file-type": "Неверный тип файла", - "error-invalid-file-width": "Недопустимая ширина файла", - "error-invalid-from-address": "Вы указали неверный адрес FROM.", - "error-invalid-integration": "Недопустимая интеграция", - "error-invalid-message": "Недопустимое сообщение", - "error-invalid-method": "Недопустимый метод", - "error-invalid-name": "Недопустимое имя", - "error-invalid-password": "Неверный пароль", - "error-invalid-redirectUri": "Недопустимый redirectUri", - "error-invalid-role": "Недопустимая роль", - "error-invalid-room": "Недопустимый чат", - "error-invalid-room-name": "{{room_name}} не является допустимым именем чата", - "error-invalid-room-type": "{{type}} не является допустимым типом чата.", - "error-invalid-settings": "Недопустимые параметры", - "error-invalid-subscription": "Недействительная подписка", - "error-invalid-token": "Недопустимый токен", - "error-invalid-triggerWords": "Недопустимые триггеры", - "error-invalid-urls": "Недопустимые URL-адреса", - "error-invalid-user": "Недопустимый пользователь", - "error-invalid-username": "Неверное имя пользователя", - "error-invalid-webhook-response": "URL-адрес ответил статусом, отличным от 200", - "error-message-deleting-blocked": "Удаление сообщений заблокировано", - "error-message-editing-blocked": "Правка сообщений заблокирована", - "error-message-size-exceeded": "Размер сообщения превышает максимально разрешенный", - "error-missing-unsubscribe-link": "Вы должны указать ссылку [отписаться].", - "error-no-owner-channel": "Вы не являетесь владельцем данного чата", - "error-no-tokens-for-this-user": "Для этого пользователя нет токенов", - "error-not-allowed": "Не допускается", - "error-not-authorized": "Не разрешено", - "error-push-disabled": "Push отключен", - "error-remove-last-owner": "Это последний владелец. Прежде чем удалить его, установите нового владельца.", - "error-role-in-use": "Невозможно удалить роль, потому что она используется", - "error-role-name-required": "Требуется имя роли", - "error-the-field-is-required": "Требуется поле {{field}}.", - "error-too-many-requests": "Ошибка, слишком много запросов. Пожалуйста, помедленнее. Вы должны подождать {{seconds}} секунд, прежде чем повторить попытку.", - "error-user-is-not-activated": "Пользователь не активирован", - "error-user-has-no-roles": "Пользователь не имеет ролей", - "error-user-limit-exceeded": "Количество пользователей, которых вы пытаетесь пригласить на #channel_name, превышает лимит, установленный администратором", - "error-user-not-in-room": "Пользователя нет на этом чате", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "Регистрация пользователей отключена", - "error-user-registration-secret": "Регистрация пользователей разрешена только через секретный URL", - "error-you-are-last-owner": "Вы последний владелец. Пожалуйста, назначьте нового владельца, прежде чем покинуть чат.", - "error-status-not-allowed": "Статус Невидимый отключён", - "Actions": "Действия", - "activity": "активности", - "Activity": "По активности", - "Add_Reaction": "Добавить реакцию", - "Add_Server": "Добавить сервер", - "Add_users": "Добавить пользователей", - "Admin_Panel": "Панель админа", - "Agent": "Агент", - "Alert": "Оповещение", - "alert": "оповещение", - "alerts": "оповещения", - "All_users_in_the_channel_can_write_new_messages": "Все пользователи канала могут писать новые сообщения", - "All_users_in_the_team_can_write_new_messages": "Все пользователи в Команде могут писать новые сообщения", - "A_meaningful_name_for_the_discussion_room": "Осмысленное имя для обсуждения", - "All": "Все", - "All_Messages": "Все сообщения", - "Allow_Reactions": "Разрешить реакции", - "Alphabetical": "По алфавиту", - "and_more": "и более", - "and": "и", - "announcement": "объявление", - "Announcement": "Объявление", - "Apply_Your_Certificate": "Применить ваш сертификат", - "ARCHIVE": "АРХИВ", - "archive": "архив", - "are_typing": "печатают", - "Are_you_sure_question_mark": "Вы уверены?", - "Are_you_sure_you_want_to_leave_the_room": "Вы действительно хотите покинуть чат {{room}}?", - "Audio": "Аудио", - "Authenticating": "Аутентификация", - "Automatic": "Автоматически", - "Auto_Translate": "Автоперевод", - "Avatar_changed_successfully": "Аватар успешно изменен!", - "Avatar_Url": "URL аватара", - "Away": "Отошел", - "Back": "Назад", - "Black": "Черный", - "Block_user": "Блокировать пользователя", - "Browser": "Браузер", - "Broadcast_channel_Description": "Только авторизованные пользователи могут писать новые сообщения, но другие пользователи смогут ответить", - "Broadcast_Channel": "Широковещательный канал", - "Busy": "Занят", - "By_proceeding_you_are_agreeing": "Продолжая, вы соглашаетесь с нашими", - "Cancel_editing": "Отменить правку", - "Cancel_recording": "Отменить запись", - "Cancel": "Отмена", - "changing_avatar": "изменение аватара", - "creating_channel": "создание канала", - "creating_invite": "создание приглашения", - "Channel_Name": "Название канала", - "Channels": "Каналы", - "Chats": "Чаты", - "Call_already_ended": "Вызов уже завершен!", - "Clear_cookies_alert": "Вы действительно хотите очистить все cookies?", - "Clear_cookies_desc": "Это действие очистит все ваши cookies для входа, это позволит вам войти под другой учетной записью.", - "Clear_cookies_yes": "Да, очистить cookies", - "Clear_cookies_no": "Нет, сохранить cookies", - "Click_to_join": "Нажмите, чтобы присоединиться!", - "Close": "Закрыть", - "Close_emoji_selector": "Закрыть выбор emoji", - "Closing_chat": "Закрытие чата", - "Change_language_loading": "Изменение языка.", - "Chat_closed_by_agent": "Чат закрыт агентом", - "Choose": "Выбрать", - "Choose_from_library": "Выбрать из библиотеки", - "Choose_file": "Выбрать файл", - "Choose_where_you_want_links_be_opened": "Выберите где вы хотите открывать ссылки", - "Code": "Код", - "Code_or_password_invalid": "Код или пароль не верны", - "Collaborative": "Совместный", - "Confirm": "Подтверждение", - "Connect": "Соединение", - "Connected": "Подключено", - "connecting_server": "подключение к серверу", - "Connecting": "Соединение...", - "Contact_us": "Связаться с нами", - "Contact_your_server_admin": "Свяжитесь с администратором сервера.", - "Continue_with": "Продолжить с", - "Copied_to_clipboard": "Скопировано в буфер обмена!", - "Copy": "Копировать", - "Conversation": "Диалог", - "Permalink": "Постоянная ссылка", - "Certificate_password": "Пароль сертификата", - "Clear_cache": "Очистить локальный кэш сервера", - "Clear_cache_loading": "Очистка кэша.", - "Whats_the_password_for_your_certificate": "Какой пароль для вашего сертификата?", - "Create_account": "Создать аккаунт", - "Create_Channel": "Создать канал", - "Create_Direct_Messages": "Создать личное сообщение", - "Create_Discussion": "Создать обсуждение", - "Created_snippet": "создать сниппет", - "Create_a_new_workspace": "Новое рабочее пространство", - "Create": "Создать", - "Custom_Status": "Персонализированный Статус", - "Dark": "Темный", - "Dark_level": "Уровень затемненности", - "Default": "По умолчанию", - "Default_browser": "Браузер по умолчанию", - "Delete_Room_Warning": "Удаление канала приведет к удалению всех сообщений, размещенных в нем. Это не может быть отменено.", - "Department": "Отдел", - "delete": "удалить", - "Delete": "Удалить", - "DELETE": "УДАЛИТЬ", - "move": "переместить", - "deleting_room": "удаление чата", - "description": "описание", - "Description": "Описание", - "Desktop_Options": "Параметры рабочего стола", - "Desktop_Notifications": "Уведомления рабочего стола", - "Desktop_Alert_info": "Эти уведомления появятся на рабочем столе", - "Directory": "Директория", - "Direct_Messages": "Личные сообщения", - "Disable_notifications": "Отключить уведомления", - "Discussions": "Обсуждения", - "Discussion_Desc": "Помогают разобраться в том, что происходит! При создании Обсуждения, суб-канала одного из выбранных вами каналов так же создается и привязка к нему.", - "Discussion_name": "Имя обсуждения", - "Done": "Готово", - "Dont_Have_An_Account": "Нет аккаунта?", - "Do_you_have_an_account": "У вас есть аккаунт?", - "Do_you_have_a_certificate": "У вас есть сертификат?", - "Do_you_really_want_to_key_this_room_question_mark": "Вы действительно хотите {{key}} этот канал?", - "E2E_Encryption": "E2E шифрование", - "E2E_How_It_Works_info1": "Теперь Вы можете создавать зашифрованные приватные чаты и личные сообщения. Вы так же можете изменить существующе приватные чаты и личные сообщения сделав их зашифрованными.", - "E2E_How_It_Works_info2": "Это *сквозное шифрование*, поэтому ключ для шифрования/расшифровки ваших сообщений не будет сохранен на сервере. Значит *Вам нужно сохранить этот пароль где-то в безопасном месте*, где он будет Вам доступен, если потребуется.", - "E2E_How_It_Works_info3": "В случаем продолжения, пароль Е2Е будет сгенерирован автоматически.", - "E2E_How_It_Works_info4": "Так же Вы можете задать новый пароль для вашего ключа шифрования в любое время при помощи браузера там же, где Вы ввели существующий Е2Е пароль.", - "edit": "править", - "edited": "исправлено", - "Edit": "Правка", - "Edit_Status": "Изменить статус", - "Edit_Invite": "Редактировать Приглашение", - "End_to_end_encrypted_room": "Чат со сквозным шифрованием", - "end_to_end_encryption": "сквозное шифрование", - "Email_Notification_Mode_All": "Каждое Упоминание/Личное сообщение", - "Email_Notification_Mode_Disabled": "Отключено", - "Email_or_password_field_is_empty": "Поле электронной почты или пароля пусты", - "Email": "E-mail", - "email": "e-mail", - "Empty_title": "Пустой заголовок", - "Enable_Auto_Translate": "Включить автоперевод", - "Enable_notifications": "Включить уведомления", - "Encrypted": "Зашифрован", - "Encrypted_message": "Зашифрованное сообщение", - "Enter_Your_E2E_Password": "Введите Ваш E2E Пароль", - "Enter_Your_Encryption_Password_desc1": "Вы сможете получить доступ к вашим зашифрованным приватным чатам и личным сообщениям.", - "Enter_Your_Encryption_Password_desc2": "Вам нужно ввести пароль для шифрования/расшифровки сообщений в каждом клиенте.", - "Encryption_error_title": "Введен не верный пароль шифрования", - "Encryption_error_desc": "Невозможно расшифровать ваш ключ шифрования, чтобы импортировать его", - "Everyone_can_access_this_channel": "Каждый может получить доступ к этому каналу", - "Everyone_can_access_this_team": "Каждый может получить доступ к этой Команде", - "Error_uploading": "Ошибка загрузки", - "Expiration_Days": "Срок действия (Дни)", - "Favorite": "Избранное", - "Favorites": "Избранные", - "Files": "Файлы", - "File_description": "Описание файла", - "File_name": "Имя файла", - "Finish_recording": "Завершить запись", - "Following_thread": "Следить за тредом", - "For_your_security_you_must_enter_your_current_password_to_continue": "В целях вашей безопасности вы должны ввести свой текущий пароль для продолжения", - "Forgot_password_If_this_email_is_registered": "Если эта электронная почта зарегистрирована, мы отправим инструкции о том, как сбросить пароль. Если вы не получите письмо в ближайшее время, вернитесь и повторите попытку.", - "Forgot_password": "Забыли пароль", - "Forgot_Password": "Забыли Пароль", - "Forward": "Перенаправить", - "Forward_Chat": "Перенаправить Чат", - "Forward_to_department": "Перенаправить в отдел", - "Forward_to_user": "Перенаправить пользователю", - "Full_table": "Нажмите, чтобы увидеть полную таблицу", - "Generate_New_Link": "Сгенерировать Новую Ссылку", - "Group_by_favorites": "По избранным", - "Group_by_type": "По типу", - "Hide": "Скрыть", - "Has_joined_the_channel": "присоединился к каналу", - "Has_joined_the_conversation": "присоединился к беседе", - "Has_left_the_channel": "покинул канал", - "Hide_System_Messages": "Скрыть Системные Сообщения", - "Hide_type_messages": "Скрыть \"{{type}}\" сообщения", - "How_It_Works": "Как Это Работает", - "Message_HideType_uj": "Пользователь Присоединился", - "Message_HideType_ul": "Пользователь Покинул", - "Message_HideType_ru": "Пользователь Удален", - "Message_HideType_au": "Пользователь Добавлен", - "Message_HideType_mute_unmute": "Пользователь Заглушен / Заглушивание отменено", - "Message_HideType_r": "Имя Чата Изменено", - "Message_HideType_ut": "Пользователь Присоединился к Беседе", - "Message_HideType_wm": "Добро пожаловать", - "Message_HideType_rm": "Сообщение Удалено", - "Message_HideType_subscription_role_added": "Была назначена Роль", - "Message_HideType_subscription_role_removed": "Роль более не определена", - "Message_HideType_room_archived": "Чат Архивирован", - "Message_HideType_room_unarchived": "Чат Разархивирован", - "I_Saved_My_E2E_Password": "Я Сохранил Свой E2E Пароль", - "IP": "IP", - "In_app": "В приложении", - "In_App_And_Desktop": "В приложении и на десктопе", - "In_App_and_Desktop_Alert_info": "Отображает баннер в верхней части экрана, когда приложение открыто, и отображает уведомление на рабочем столе.", - "Invisible": "Невидимый", - "Invite": "Приглашение", - "is_a_valid_RocketChat_instance": "является действительным сервером Rocket.Chat", - "is_not_a_valid_RocketChat_instance": "не является действительным сервером Rocket.Chat", - "is_typing": "печатает", - "Invalid_or_expired_invite_token": "Токен приглашения не действителен или с истекшим сроком действия", - "Invalid_server_version": "Сервер, к которому вы пытаетесь подключиться, использует версию, которая больше не поддерживается приложением: {{currentVersion}}.\n\nНам нужна версия {{minVersion}}", - "Invite_Link": "Ссылка Приглашения", - "Invite_users": "Приглашение пользователей", - "Join": "Присоединиться", - "Join_Code": "Код присоединения", - "Insert_Join_Code": "Вставить код присоединения", - "Join_our_open_workspace": "Присоединиться к нашему открытому серверу", - "Join_your_workspace": "Присоединиться к вашему серверу", - "Just_invited_people_can_access_this_channel": "Только приглашенные люди могут получить доступ к этому каналу", - "Just_invited_people_can_access_this_team": "Только приглашенные пользователи могут получить доступ к этой Команде", - "Language": "Язык", - "last_message": "последнее сообщение", - "Leave_channel": "Покинуть канал", - "leaving_room": "покинуть комнату", - "Leave": "Покинуть комнату", - "leave": "покинуть", - "Legal": "Правовые аспекты", - "Light": "Светлая", - "License": "Лицензия", - "Livechat": "Livechat", - "Livechat_edit": "Редактирование Livechat", - "Login": "Вход", - "Login_error": "Ваши учетные данные были отклонены! Пожалуйста, попробуйте еще раз.", - "Login_with": "Войти с", - "Logging_out": "Осуществляется выход.", - "Logout": "Выйти", - "Max_number_of_uses": "Максимальное количество", - "Max_number_of_users_allowed_is_number": "Максимальное количество разрешенных пользователей {{maxUsers}}", - "members": "пользователи", - "Members": "Пользователи", - "Mentioned_Messages": "Упомянутые сообщения", - "mentioned": "упомянутые", - "Mentions": "Упоминания", - "Message_accessibility": "Сообщение от {{user}} в {{time}}: {{message}}", - "Message_actions": "Действия с сообщением", - "Message_pinned": "Сообщение прикреплено", - "Message_removed": "Сообщение удалено", - "Message_starred": "Сообщение отмечено звездой", - "Message_unstarred": "Отметка сообщения звездой удалена", - "message": "сообщение", - "messages": "сообщения", - "Message": "Сообщение", - "Messages": "Сообщения", - "Message_Reported": "Сообщение отправлено", - "Microphone_Permission_Message": "Rocket.Chat нужен доступ к вашему микрофону, чтобы вы могли отправлять аудио сообщения.", - "Microphone_Permission": "Разрешение на использование микрофона", - "Mute": "Заглушить", - "muted": "Заглушен", - "My_servers": "Мои серверы", - "N_people_reacted": "отреагировало {{n}} человек", - "N_users": "{{n}} пользователи", - "N_channels": "{{n}} каналов", - "name": "имя", - "Name": "Имя", - "Navigation_history": "История навигации", - "Never": "Никогда", - "New_Message": "Новое сообщение", - "New_Password": "Новый пароль", - "New_Server": "Новый сервер", - "Next": "Далее", - "No_files": "Нет файлов", - "No_limit": "Нет ограничений", - "No_mentioned_messages": "Нет упоминаний", - "No_pinned_messages": "Нет прикрепленных сообщений", - "No_results_found": "Ничего не найдено", - "No_starred_messages": "Нет отмеченных сообщений", - "No_thread_messages": "Нет сообщений в теме", - "No_label_provided": "{{label}} не указан.", - "No_Message": "Нет сообщения", - "No_messages_yet": "Пока нет сообщений", - "No_Reactions": "Нет реакций", - "No_Read_Receipts": "Нет информации о прочтении", - "Not_logged": "Не зарегистрирован", - "Not_RC_Server": "Это не сервер Rocket.Chat.\n{{contact}}", - "Nothing": "Ничего", - "Nothing_to_save": "Нечего сохранять!", - "Notify_active_in_this_room": "Уведомить всех активных пользователей в этом чате", - "Notify_all_in_this_room": "Уведомить всех в этом чате", - "Notifications": "Уведомления", - "Notification_Duration": "Продолжительность уведомлений", - "Notification_Preferences": "Настройки уведомлений", - "No_available_agents_to_transfer": "Нет свободных агентов для передачи", - "Offline": "Офлайн", - "Oops": "Упс!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "Чаты в Работе", - "Omnichannel_enable_alert": "Вы не доступны в Omnichannel. Хотите стать доступными?", - "Onboarding_description": "Сервер это пространство для взаимодействия вашей команды или организации. Уточните адрес сервера у вашего администратора или создайте свой сервер для команды.", - "Onboarding_join_workspace": "Присоединиться к серверу", - "Onboarding_subtitle": "За пределами Командного Взаимодействия", - "Onboarding_title": "Добро пожаловать в Rocket.Chat", - "Onboarding_join_open_description": "Присоединяйтесь к нашему открытому серверу, чтобы пообщаться с командой и сообществом Rocket.Chat.", - "Onboarding_agree_terms": "Продолжая вы соглашаетесь с правилами Rocket.Chat", - "Onboarding_less_options": "Меньше опций", - "Onboarding_more_options": "Больше опций", - "Online": "В сети", - "Only_authorized_users_can_write_new_messages": "Только авторизованные пользователи могут писать новые сообщения", - "Open_emoji_selector": "Открыть выбор emoji", - "Open_Source_Communication": "Общение с открытым кодом", - "Open_your_authentication_app_and_enter_the_code": "Откройте ваше приложение для аутентификации и введите код и него.", - "OR": "ИЛИ", - "OS": "ОС", - "Overwrites_the_server_configuration_and_use_room_config": "Перезаписывает конфигурацию сервера и использует конфигурацию чата", - "Password": "Пароль", - "Parent_channel_or_group": "Родительский канал или чат", - "Permalink_copied_to_clipboard": "Постоянная ссылка скопирована в буфер обмена!", - "Phone": "Телефон", - "Pin": "Прикрепить сообщение", - "Pinned_Messages": "Прикрепленные сообщения", - "pinned": "прикреплено", - "Pinned": "Прикреплено", - "Please_add_a_comment": "Пожалуйста добавьте комментарий", - "Please_enter_your_password": "Пожалуйста введите ваш пароль", - "Please_wait": "Пожалуйста подождите.", - "Preferences": "Настройки", - "Preferences_saved": "Настройки сохранены!", - "Privacy_Policy": " Политика конфиденциальности", - "Private_Channel": "Приватный канал", - "Private": "Приватный", - "Processing": "Обработка...", - "Profile_saved_successfully": "Профиль успешно сохранен!", - "Profile": "Профиль", - "Public_Channel": "Публичный канал", - "Public": "Публичный", - "Push_Notifications": "Push Уведомления", - "Push_Notifications_Alert_Info": "Эти уведомления доставляются вам, когда приложение не открыто", - "Quote": "Цитата", - "Reactions_are_disabled": "Реакции отключены", - "Reactions_are_enabled": "Реакции активированы", - "Reactions": "Реакции", - "Read": "Читать", - "Read_External_Permission_Message": "Rocket.Chat необходим доступ к фотографиям, медиа и другим файлам на вашем устройстве", - "Read_External_Permission": "Разрешение на Чтение Медиа", - "Read_Only_Channel": "Канал только для чтения", - "Read_Only": "Только для чтения", - "Read_Receipt": "Уведомление о прочтении", - "Receive_Group_Mentions": "Получать групповые уведомления", - "Receive_Group_Mentions_Info": "Получать @all и @here уведомления", - "Register": "Зарегистрировать", - "Repeat_Password": "Повторите пароль", - "Replied_on": "Ответил на:", - "replies": "ответы", - "reply": "ответить", - "Reply": "Ответить", - "Report": "Жалоба", - "Receive_Notification": "Получать уведомления", - "Receive_notifications_from": "Получать уведомления от {{name}}", - "Resend": "Отправить повторно", - "Reset_password": "Сброс пароля", - "resetting_password": "сброс пароля", - "RESET": "СБРОС", - "Return": "Возврат", - "Review_app_title": "Нравится ли вам это приложение?", - "Review_app_desc": "Поставьте нам 5 звезд в {{store}}", - "Review_app_yes": "Конечно!", - "Review_app_no": "Нет", - "Review_app_later": "Может позже", - "Review_app_unable_store": "Невозможно открыть {{store}}", - "Review_this_app": "Оценить это приложение", - "Remove": "Удалить", - "remove": "удалить", - "Roles": "Роли", - "Room_actions": "Действия с чатом", - "Room_changed_announcement": "Объявление чата было изменено на: {{announcement}} пользователем {{userBy}}", - "Room_changed_avatar": "Аватар чата изменен пользователем {{userBy}}", - "Room_changed_description": "Описание чата было изменено на: {{description}} пользователем {{userBy}}", - "Room_changed_privacy": "Тип чата был изменен на: {{type}} пользователем {{userBy}}", - "Room_changed_topic": "Тема чата была изменена на: {{topic}} пользователем {{userBy}}", - "Room_Files": "Файлы", - "Room_Info_Edit": "Изменить информацию о чате", - "Room_Info": "Информация о канале", - "Room_Members": "Пользователи", - "Room_name_changed": "Название чата было изменено на: {{name}} пользователем {{userBy}}", - "SAVE": "СОХРАНИТЬ", - "Save_Changes": "Сохранить изменения", - "Save": "Сохранить", - "Saved": "Сохранено", - "saving_preferences": "сохранение персональных настроек", - "saving_profile": "сохранение профиля", - "saving_settings": "сохранение настроек", - "saved_to_gallery": "Сохранено в Галерею", - "Save_Your_E2E_Password": "Сохранить Ваш E2E Пароль", - "Save_Your_Encryption_Password": "Сохранить Ваш Пароль Шифрования", - "Save_Your_Encryption_Password_warning": "Этот пароль не сохраняется нигде, поэтому бережно сохраните его в надежном месте.", - "Save_Your_Encryption_Password_info": "Имейте ввиду, что если вы потеряете свой пароль, его будет невозможно восстановить и вы потеряете доступ к вашим сообщениям.", - "Search_Messages": "Поиск сообщений", - "Search": "Поиск", - "Search_by": "Поиск по", - "Search_global_users": "Глобальный поиск пользователей", - "Search_global_users_description": "При активации станет возможен поиск пользователей на других серверах.", - "Seconds": "{{second}} секунд", - "Security_and_privacy": "Безопасность и конфиденциальность", - "Select_Avatar": "Выбор аватара", - "Select_Server": "Выбор сервера", - "Select_Users": "Выбор пользователей", - "Select_a_Channel": "Выбор Канала", - "Select_a_Department": "Выбор отдела", - "Select_an_option": "Выбор Опции", - "Select_a_User": "Выбор Пользователя", - "Send": "Отправить", - "Send_audio_message": "Отправить аудиосообщение", - "Send_crash_report": "Отправить отчет об ошибке", - "Send_message": "Отправить сообщение", - "Send_me_the_code_again": "Отправить мне код снова", - "Send_to": "Отправить...", - "Sending_to": "Отправляется", - "Sent_an_attachment": "Отправить вложение", - "Server": "Сервер", - "Servers": "Серверы", - "Server_version": "Версия сервера: {{version}}", - "Set_username_subtitle": "Имя пользователя необходимо для того, чтобы позволить другим упомянуть вас в сообщениях", - "Set_custom_status": "Установить персонализированный статус", - "Set_status": "Установить статус", - "Status_saved_successfully": "Статус установлен успешно!", - "Settings": "Настройки", - "Settings_succesfully_changed": "Настройки успешно изменены!", - "Share": "Поделиться", - "Share_Link": "Ссылка, чтобы Поделиться", - "Share_this_app": "Рассказать о приложении", - "Show_more": "Показать больше..", - "Show_Unread_Counter": "Показать счетчик непрочитанных", - "Show_Unread_Counter_Info": "Счетчик непрочитанных отображается в виде значка справа от канала в списке каналов", - "Sign_in_your_server": "Войдите на ваш сервер", - "Sign_Up": "Регистрация", - "Some_field_is_invalid_or_empty": "Некоторые поля недопустимы или пусты", - "Sorting_by": "Сортировка по {{key}}", - "Sound": "Звук", - "Star_room": "В избранное", - "Star": "Отметить", - "Starred_Messages": "Отмеченные сообщения", - "starred": "отмечено", - "Starred": "Отмечено", - "Start_of_conversation": "Начало разговора", - "Start_a_Discussion": "Начать обсуждение", - "Started_discussion": "Началось обсуждение:", - "Started_call": "Звонок, начат {{userBy}}", - "Submit": "Отправить", - "Table": "Таблица", - "Tags": "Тэги", - "Take_a_photo": "Сделать фото", - "Take_a_video": "Записать видео", - "Take_it": "Снять!", - "tap_to_change_status": "нажмите для изменения статуса", - "Tap_to_view_servers_list": "Нажмите, чтобы просмотреть список серверов", - "Terms_of_Service": " Условия использования ", - "Theme": "Тема", - "The_user_wont_be_able_to_type_in_roomName": "Пользователь не сможет писать сообщения в {{roomName}}", - "The_user_will_be_able_to_type_in_roomName": "Пользователь сможет писать сообщения в {{roomName}}", - "There_was_an_error_while_action": "Произошла ошибка в процессе {{action}}!", - "This_room_is_blocked": "Этот чат заблокирован", - "This_room_is_read_only": "Этот чат доступен только для чтения", - "Thread": "Тред", - "Threads": "Треды", - "Timezone": "Часовой пояс", - "To": "К", - "topic": "тема", - "Topic": "Тема", - "Translate": "Перевести", - "Try_again": "Попробуйте еще раз", - "Two_Factor_Authentication": "Двухфакторная аутентификация", - "Type_the_channel_name_here": "Введите название канала здесь", - "unarchive": "разархивировать", - "UNARCHIVE": "РАЗАРХИВИРОВАТЬ", - "Unblock_user": "Разблокировать пользователя", - "Unfavorite": "Удалить из избранного", - "Unfollowed_thread": "Не следить", - "Unmute": "Отменить заглушивание", - "unmuted": "Заглушивание отменено", - "Unpin": "Открепить", - "unread_messages": "непрочитанные", - "Unread": "Непрочитанные", - "Unread_on_top": "Непрочитанные сверху", - "Unstar": "Снять отметку", - "Updating": "Обновление...", - "Uploading": "Загрузка", - "Upload_file_question_mark": "Загрузить файл?", - "User": "Пользователь", - "Users": "Пользователи", - "User_added_by": "Пользователь {{userAdded}} добавлен по решению {{userBy}}", - "User_Info": "Информация о пользователе", - "User_has_been_key": "Пользователь был {{key}}", - "User_is_no_longer_role_by_": "{{user}} больше не {{role}} по решению {{userBy}}", - "User_muted_by": "Пользователь {{userMuted}} заглушен по решению {{userBy}}", - "User_removed_by": "Пользователь {{userRemoved}} удален по решению {{userBy}}", - "User_sent_an_attachment": "{{user}} отправил вложение", - "User_unmuted_by": "Пользователь {{userUnmuted}} перестал быть заглушенным по решению {{userBy}}", - "User_was_set_role_by_": "{{user}} был назначен {{role}} пользователем {{userBy}}", - "Username_is_empty": "Имя пользователя пусто", - "Username": "Имя пользователя", - "Username_or_email": "Имя пользователя или email", - "Uses_server_configuration": "Используется конфигурация сервера", - "Validating": "Проверка", - "Registration_Succeeded": "Регистрация Успешна!", - "Verify": "Проверить", - "Verify_email_title": "Регистрация Успешна!", - "Verify_email_desc": "Вам был отправлен email для подтверждения регистрации. Если вы не получили этого сообщения, пожалуйста, попробуйте еще раз.", - "Verify_your_email_for_the_code_we_sent": "Проверка вашего email с помощью отправленного нами кода", - "Video_call": "Видеозвонок", - "View_Original": "Посмотреть оригинал", - "Voice_call": "Голосовой вызов", - "Waiting_for_network": "Ожидание сети...", - "Websocket_disabled": "Websocket отключен для этого сервера.\n{{contact}}", - "Welcome": "Добро пожаловать,", - "What_are_you_doing_right_now": "Что вы делаете сейчас?", - "Whats_your_2fa": "Какой у вас код 2FA?", - "Without_Servers": "Без серверов", - "Workspaces": "Серверы", - "Would_you_like_to_return_the_inquiry": "Вы хотите отозвать запрос?", - "Write_External_Permission_Message": "Rocket.Chat необходим доступ к ваше Галерее, чтобы Вы могли сохранять изображения.", - "Write_External_Permission": "Разрешения на запись в Галерею", - "Yes": "Да", - "Yes_action_it": "Да, {{action}} это!", - "Yesterday": "Вчера", - "You_are_in_preview_mode": "Вы находитесь в режиме предварительного просмотра", - "You_are_offline": "Вы не в сети", - "You_can_search_using_RegExp_eg": "Вы можете выполнить поиск с помощью регулярных выражений, например `/^text$/i`", - "You_colon": "Вы: ", - "you_were_mentioned": "вы были упомянуты", - "You_were_removed_from_channel": "Вы были удалены из {{channel}}", - "you": "вы", - "You": "Вы", - "Logged_out_by_server": "Сервером произведен ваш выход из системы. Пожалуйста, войдите снова.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Вам нужно получить доступ как минимум к одному серверу Rocket.Chat, чтобы поделиться чем-то.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Вам необходимо проверить ваш email адрес, чтобы получать уведомления", - "Your_certificate": "Ваш сертификат", - "Your_invite_link_will_expire_after__usesLeft__uses": "Ваша ссылка-приглашение станет не действительной после {{usesLeft}} ее использований.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Ваша ссылка-приглашение станет не действительной {{date}} или после {{usesLeft}} ее использований.", - "Your_invite_link_will_expire_on__date__": "Срок действия вашей ссылки-приглашения будет окончен {{date}}.", - "Your_invite_link_will_never_expire": "Ваша ссылка-приглашение никогда не будет просроченной.", - "Your_workspace": "Ваш сервер", - "Your_password_is": "Ваш пароль", - "Version_no": "Версия: {{version}}", - "You_will_not_be_able_to_recover_this_message": "Вы не сможете восстановить это сообщение!", - "You_will_unset_a_certificate_for_this_server": "Вы произведете сброс сертификата для этого сервера", - "Change_Language": "Изменить язык", - "Crash_report_disclaimer": "Мы никогда не отслеживаем содержание ваших чатов. Отчет о сбое содержит только важную для нас информацию для выявления проблем и их устранения.", - "Type_message": "Написать сообщение", - "Room_search": "Поиск в чате", - "Room_selection": "Выбор чата 1...9", - "Next_room": "Следующий чат", - "Previous_room": "Предыдущий чат", - "New_room": "Новый чат", - "Upload_room": "Загрузить в чат", - "Search_messages": "Поиск сообщений", - "Scroll_messages": "Прокрутка сообщений", - "Reply_latest": "Ответить на последнее", - "Reply_in_Thread": "Ответить в Треде", - "Server_selection": "Выбор сервера", - "Server_selection_numbers": "Выбор сервера 1...9", - "Add_server": "Добавить сервер", - "New_line": "Новая линия", - "You_will_be_logged_out_of_this_application": "Будет осуществлен ваш выход из этого приложения.", - "Clear": "Очистка", - "This_will_clear_all_your_offline_data": "Это очистит все ваши офлайн данные.", - "This_will_remove_all_data_from_this_server": "Это удалит все данные с этого сервера.", - "Mark_unread": "Отметить Непрочитанным", - "Wait_activation_warning": "До того как вы сможете войти, ваш аккаунт должен быть вручную активирован администратором сервера.", - "Screen_lock": "Блокировка экрана", - "Local_authentication_biometry_title": "Аутентификация", - "Local_authentication_biometry_fallback": "Использовать пароль", - "Local_authentication_unlock_option": "Разблокировать при помощи Пароля", - "Local_authentication_change_passcode": "Изменить Пароль", - "Local_authentication_info": "Внимание: Если вы забудете ваш Пароль, вам нужно будет удалить и заново установить это приложение.", - "Local_authentication_facial_recognition": "распознавания лица", - "Local_authentication_fingerprint": "отпечатка пальца", - "Local_authentication_unlock_with_label": "Разблокировать при помощи {{label}}", - "Local_authentication_auto_lock_60": "Через 1 минуту", - "Local_authentication_auto_lock_300": "Через 5 минут", - "Local_authentication_auto_lock_900": "Через 15 минут", - "Local_authentication_auto_lock_1800": "Через 30 минут", - "Local_authentication_auto_lock_3600": "Через 1 час", - "Passcode_enter_title": "Введите ваш пароль", - "Passcode_choose_title": "Выберите ваш новый пароль", - "Passcode_choose_confirm_title": "Подтвердите ваш новый пароль", - "Passcode_choose_error": "Пароли не соответствуют. Попробуйте еще раз.", - "Passcode_choose_force_set": "Пароль затребован вашим администратором", - "Passcode_app_locked_title": "Приложение заблокировано", - "Passcode_app_locked_subtitle": "Попробуйте снова через {{timeLeft}} секунд", - "After_seconds_set_by_admin": "Через {{seconds}} секунд (установлено администратором сервера)", - "Dont_activate": "Не активировать сейчас", - "Queued_chats": "Чаты в очереди", - "Queue_is_empty": "Очередь пуста", - "Logout_from_other_logged_in_locations": "Выйти из всех других подключенных расположений", - "You_will_be_logged_out_from_other_locations": "Будет произведен ваш выход из всех других подключенных расположений.", - "Logged_out_of_other_clients_successfully": "Выход из других клиентских подключений выполнен успешно", - "Logout_failed": "Выход не успешен!", - "Log_analytics_events": "Журнал событий аналитики", - "E2E_encryption_change_password_title": "Изменить пароль шифрования", - "E2E_encryption_change_password_description": "Теперь вы можете создавать зашифрованные приватные чаты и личные беседы. Вы так же можете сделать существующие приватные чаты и личные беседы шифрованными. \nЭто сквозное шифрование, поэтому ключ для шифрования и дешифрования ваших сообщений не будет сохранен на сервере. Именно поэтому вам необходимо сохранить ваш пароль в надежном и безопасном месте. Вам необходимо вводить этот пароль на всех устройствах, где вы хотите использовать E2E шифрование.", - "E2E_encryption_change_password_error": "Ошибка при смене пароля E2E ключа!", - "E2E_encryption_change_password_success": "Пароль ключа E2E изменен успешно!", - "E2E_encryption_change_password_message": "Убедитесь, что вы сохранили пароль в надежном месте.", - "E2E_encryption_change_password_confirmation": "Да, изменить его", - "E2E_encryption_reset_title": "Сбросить E2E ключ", - "E2E_encryption_reset_description": "Эта опция удалит ваш текущий E2E ключ и произведет ваш выход из системы. \nКогда вы снова войдете в систему, Rocket.Chat сгенерирует для вас новый ключ и восстановит ваш доступ ко всем зашифрованным чатам, в которых есть пользователи в сети. \nИсходя из природы E2E шифрования, Rocket.Chat не сможет восстановить доступ к чатам, в которых нет участников в сети.", - "E2E_encryption_reset_button": "Сбросить E2E ключ", - "E2E_encryption_reset_error": "Ошибка при сбросе E2E ключа!", - "E2E_encryption_reset_message": "Будет совершен ваш выход из системы.", - "E2E_encryption_reset_confirmation": "Да, сбросить его", - "Following": "Следить", - "Threads_displaying_all": "Показать все", - "Threads_displaying_following": "Показать отслеживаемые", - "Threads_displaying_unread": "Показать непрочитанные", - "No_threads": "Тредов нет", - "No_threads_following": "Нет тредов, за которыми вы следите", - "No_threads_unread": "Непрочитанных тредов нет", - "Messagebox_Send_to_channel": "Отправить в чат", - "Leader": "Лидер", - "Moderator": "Модератор", - "Owner": "Владелец", - "Remove_from_room": "Удалить из чата", - "Ignore": "Игнориновать", - "Unignore": "Прекратить игнорировать", - "User_has_been_ignored": "Пользователь теперь игнорируется", - "User_has_been_unignored": "Пользователь больше не игнорируется", - "User_has_been_removed_from_s": "Пользователь удален из {{s}}", - "User__username__is_now_a_leader_of__room_name_": "Пользователь {{username}} больше не лидер в чате {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "Пользователь {{username}} больше не модератор в чате {{room_name}}", - "User__username__is_now_a_owner_of__room_name_": "Пользователь {{username}} больше не владелец в чате {{room_name}}", - "User__username__removed_from__room_name__leaders": "Пользователь {{username}} удален из {{room_name}} лидеров", - "User__username__removed_from__room_name__moderators": "Пользователь {{username}} удален из {{room_name}} модераторов", - "User__username__removed_from__room_name__owners": "Пользователь {{username}} удален из {{room_name}} владельцев", - "The_user_will_be_removed_from_s": "Пользователь будет удален из {{s}}", - "Yes_remove_user": "Да, удалить пользователя!", - "Direct_message": "Личное сообщение", - "Message_Ignored": "Сообщение игнорируется. Тапните по нему, чтобы отобразить его.", - "Enter_workspace_URL": "Введите URL вашего рабочего пространства", - "Workspace_URL_Example": "Например, your-company.rocket.chat", - "This_room_encryption_has_been_enabled_by__username_": "Шифрование для этого чата включено {{username}}", - "This_room_encryption_has_been_disabled_by__username_": "Шифрование для этого чата выключено {{username}}", - "Teams": "Команды", - "No_team_channels_found": "Каналы не найдены", - "Team_not_found": "Команда не найдена", - "Create_Team": "Создать Команду", - "Team_Name": "Имя Команды", - "Private_Team": "Приватная Команда", - "Read_Only_Team": "Команда только для чтения", - "Broadcast_Team": "Широковещательная Команда", - "creating_team": "создание Команды", - "team-name-already-exists": "Команда с таким названием уже существует", - "Add_Channel_to_Team": "Добавить канал в Команду", - "Left_The_Team_Successfully": "Успешно покинул команду", - "Create_New": "Создать", - "Add_Existing": "Добавить существующее", - "Add_Existing_Channel": "Добавить существующий канал", - "Remove_from_Team": "Удалить из Команды", - "Auto-join": "Автодобавление", - "Remove_Team_Room_Warning": "Хотите ли вы удалить этот канал из Команды? Канал будет перемещен обратно в рабочее пространство", - "Confirmation": "Подтверждение", - "invalid-room": "Такого канала не существует", - "You_are_leaving_the_team": "Вы покидаете Команду '{{team}}'", - "Leave_Team": "Покинуть команду", - "Select_Team": "Выберите Команду", - "Select_Team_Channels": "Выберите каналы Команды, которые вы хотите покинуть.", - "Cannot_leave": "Невозможно выйти", - "Cannot_remove": "Невозможно удалить", - "Cannot_delete": "Невозможно удалить", - "Last_owner_team_room": "Вы последний владелец этого чата. Как только вы покинете Команду, чат будет храниться внутри нее, но вы будете управлять ею снаружи.", - "last-owner-can-not-be-removed": "Последний владелец не может быть удален", - "Remove_User_Teams": "Выберите каналы, из которых вы хотите удалить пользователя.", - "Delete_Team": "Удалить Команду", - "Select_channels_to_delete": "Это нельзя отменить. После удаления Команды все содержимое чата и конфигурация будут удалены \n\nВыберите каналы, которые вы хотите удалить. Те, которые вы решите оставить, будут доступны в вашем рабочем пространстве. Обратите внимание, что публичные каналы по-прежнему будут открытыми и видимыми для всех.", - "You_are_deleting_the_team": "Вы удаляете эту Команду.", - "Removing_user_from_this_team": "Вы удаляете {{user}} из этой Команды", - "Remove_User_Team_Channels": "Выберите каналы, из которых вы хотите удалить пользователя.", - "Remove_Member": "Удалить участника", - "leaving_team": "выход из Команды", - "removing_team": "удаление из Команды", - "moving_channel_to_team": "перемещение канала в Команду", - "deleting_team": "удаление Команды", - "member-does-not-exist": "Участник не существует", - "Convert": "Конвертировать", - "Convert_to_Team": "Конвертировать в команду", - "Convert_to_Team_Warning": "Это нельзя отменить. После преобразования канала в Команду, вы не сможете преобразовать его обратно в канал.", - "Move_to_Team": "Перенести в команду", - "Move_Channel_Paragraph": "Перемещение канала внутрь Команды означает, что этот канал будет добавлен в контекст Команды, однако все участники канала, которые не являются членами соответствующей Команды, по-прежнему будут иметь доступ к этому каналу, но не будут добавлены как участники Команды \n\nВсе управление каналом по-прежнему будет осуществляться владельцами этого канала.\n\nЧлены Команды и даже владельцы Команды, если они не являются членами этого канала, не могут иметь доступ к содержимому канала \n\nОбратите внимание, что владелец Команды сможет удалять участников с канала.", - "Move_to_Team_Warning": "После прочтения предыдущих инструкций об этом поведении, вы все еще хотите переместить этот канал в выбранную Команду?", - "Load_More": "Загрузить еще", - "Load_Newer": "Загрузить более позднее", - "Load_Older": "Загрузить более раннее", - "room-name-already-exists": "Имя чата уже существует", - "error-team-creation": "Ошибка создания Команды", - "unauthorized": "Неавторизованный", - "Left_The_Room_Successfully": "Успешно покинул комнату", - "Deleted_The_Team_Successfully": "Команда успешно удалена", - "Deleted_The_Room_Successfully": "Комната успешно удалена", - "Convert_to_Channel": "Преобразовать в канал", - "Converting_Team_To_Channel": "Преобразование Команды в канал", - "Select_Team_Channels_To_Delete": "Выберите каналы Команды, которые вы хотите удалить, те, которые вы не выбрали, будут перемещены в рабочую область \n\nОбратите внимание, что публичные каналы будут открытыми и видимыми для всех.", - "You_are_converting_the_team": "Вы преобразуете эту Команду в канал", - "creating_discussion": "создание обсуждения" -} + "1_person_reacted": "1 человек отреагировал", + "1_user": "1 пользователь", + "error-action-not-allowed": "{{action}} не допускается", + "error-application-not-found": "Приложение не найдено", + "error-archived-duplicate-name": "Есть архивный канал с именем {{room_name}}", + "error-avatar-invalid-url": "Недопустимый URL-адрес аватара: {{url}}", + "error-avatar-url-handling": "Ошибка при обработке настроек аватара с URL-адреса ({{url}}) для {{username}}", + "error-cant-invite-for-direct-room": "Невозможно пригласить пользователя в личную переписку", + "error-could-not-change-email": "Не удалось изменить адрес электронной почты", + "error-could-not-change-name": "Не удалось изменить имя", + "error-could-not-change-username": "Не удалось изменить имя пользователя", + "error-could-not-change-status": "Не удалось изменить статус", + "error-delete-protected-role": "Не удается удалить защищенную роль", + "error-department-not-found": "Отдел не найден", + "error-direct-message-file-upload-not-allowed": "Общий доступ к файлам не разрешен в личных сообщениях", + "error-duplicate-channel-name": "Канал с именем {{room_name}} существует", + "error-email-domain-blacklisted": "Домен электронной почты включен в черный список", + "error-email-send-failed": "Ошибка при попытке отправить электронное письмо: {{message}}", + "error-save-image": "Ошибка при попытке сохранить изображение", + "error-save-video": "Ошибка при попытке сохранить видео", + "error-field-unavailable": "{{field}} уже используется :(", + "error-file-too-large": "Файл слишком большой", + "error-importer-not-defined": "Импортер не был определен правильно, ему не хватает класса Import.", + "error-input-is-not-a-valid-field": "{{input}} недействительно {{field}}", + "error-invalid-actionlink": "Недействительная ссылка действия", + "error-invalid-arguments": "Недопустимые аргументы", + "error-invalid-asset": "Недопустимый ресурс", + "error-invalid-channel": "Недействительный канал.", + "error-invalid-channel-start-with-chars": "Недействительный канал. Начните с @ или #", + "error-invalid-custom-field": "Неверное настраиваемое поле", + "error-invalid-custom-field-name": "Неверное имя настраиваемого поля. Используйте только буквы, цифры, дефис и символ подчеркивания.", + "error-invalid-date": "Указана недопустимая дата.", + "error-invalid-description": "Недопустимое описание", + "error-invalid-domain": "Недопустимый домен", + "error-invalid-email": "Неверный адрес электронной почты {{email}}", + "error-invalid-email-address": "Неверный адрес электронной почты", + "error-invalid-file-height": "Недопустимая высота файла", + "error-invalid-file-type": "Неверный тип файла", + "error-invalid-file-width": "Недопустимая ширина файла", + "error-invalid-from-address": "Вы указали неверный адрес FROM.", + "error-invalid-integration": "Недопустимая интеграция", + "error-invalid-message": "Недопустимое сообщение", + "error-invalid-method": "Недопустимый метод", + "error-invalid-name": "Недопустимое имя", + "error-invalid-password": "Неверный пароль", + "error-invalid-redirectUri": "Недопустимый redirectUri", + "error-invalid-role": "Недопустимая роль", + "error-invalid-room": "Недопустимый чат", + "error-invalid-room-name": "{{room_name}} не является допустимым именем чата", + "error-invalid-room-type": "{{type}} не является допустимым типом чата.", + "error-invalid-settings": "Недопустимые параметры", + "error-invalid-subscription": "Недействительная подписка", + "error-invalid-token": "Недопустимый токен", + "error-invalid-triggerWords": "Недопустимые триггеры", + "error-invalid-urls": "Недопустимые URL-адреса", + "error-invalid-user": "Недопустимый пользователь", + "error-invalid-username": "Неверное имя пользователя", + "error-invalid-webhook-response": "URL-адрес ответил статусом, отличным от 200", + "error-message-deleting-blocked": "Удаление сообщений заблокировано", + "error-message-editing-blocked": "Правка сообщений заблокирована", + "error-message-size-exceeded": "Размер сообщения превышает максимально разрешенный", + "error-missing-unsubscribe-link": "Вы должны указать ссылку [отписаться].", + "error-no-owner-channel": "Вы не являетесь владельцем данного чата", + "error-no-tokens-for-this-user": "Для этого пользователя нет токенов", + "error-not-allowed": "Не допускается", + "error-not-authorized": "Не разрешено", + "error-push-disabled": "Push отключен", + "error-remove-last-owner": "Это последний владелец. Прежде чем удалить его, установите нового владельца.", + "error-role-in-use": "Невозможно удалить роль, потому что она используется", + "error-role-name-required": "Требуется имя роли", + "error-the-field-is-required": "Требуется поле {{field}}.", + "error-too-many-requests": "Ошибка, слишком много запросов. Пожалуйста, помедленнее. Вы должны подождать {{seconds}} секунд, прежде чем повторить попытку.", + "error-user-is-not-activated": "Пользователь не активирован", + "error-user-has-no-roles": "Пользователь не имеет ролей", + "error-user-limit-exceeded": "Количество пользователей, которых вы пытаетесь пригласить на #channel_name, превышает лимит, установленный администратором", + "error-user-not-in-room": "Пользователя нет на этом чате", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "Регистрация пользователей отключена", + "error-user-registration-secret": "Регистрация пользователей разрешена только через секретный URL", + "error-you-are-last-owner": "Вы последний владелец. Пожалуйста, назначьте нового владельца, прежде чем покинуть чат.", + "error-status-not-allowed": "Статус Невидимый отключён", + "Actions": "Действия", + "Activity": "Активность", + "Add_Reaction": "Добавить реакцию", + "Add_Server": "Добавить сервер", + "Add_users": "Добавить пользователей", + "Admin_Panel": "Панель админа", + "Agent": "Агент", + "Alert": "Оповещение", + "alert": "оповещение", + "alerts": "оповещения", + "All_users_in_the_channel_can_write_new_messages": "Все пользователи канала могут писать новые сообщения", + "All_users_in_the_team_can_write_new_messages": "Все пользователи в Команде могут писать новые сообщения", + "A_meaningful_name_for_the_discussion_room": "Осмысленное имя для обсуждения", + "All": "Все", + "All_Messages": "Все сообщения", + "Allow_Reactions": "Разрешить реакции", + "Alphabetical": "По алфавиту", + "and_more": "и более", + "and": "и", + "announcement": "объявление", + "Announcement": "Объявление", + "Apply_Your_Certificate": "Применить ваш сертификат", + "ARCHIVE": "АРХИВ", + "archive": "архив", + "are_typing": "печатают", + "Are_you_sure_question_mark": "Вы уверены?", + "Are_you_sure_you_want_to_leave_the_room": "Вы действительно хотите покинуть чат {{room}}?", + "Audio": "Аудио", + "Authenticating": "Аутентификация", + "Automatic": "Автоматически", + "Auto_Translate": "Автоперевод", + "Avatar_changed_successfully": "Аватар успешно изменен!", + "Avatar_Url": "URL аватара", + "Away": "Отошел", + "Back": "Назад", + "Black": "Черный", + "Block_user": "Блокировать пользователя", + "Browser": "Браузер", + "Broadcast_channel_Description": "Только авторизованные пользователи могут писать новые сообщения, но другие пользователи смогут ответить", + "Broadcast_Channel": "Широковещательный канал", + "Busy": "Занят", + "By_proceeding_you_are_agreeing": "Продолжая, вы соглашаетесь с нашими", + "Cancel_editing": "Отменить правку", + "Cancel_recording": "Отменить запись", + "Cancel": "Отмена", + "changing_avatar": "изменение аватара", + "creating_channel": "создание канала", + "creating_invite": "создание приглашения", + "Channel_Name": "Название канала", + "Channels": "Каналы", + "Chats": "Чаты", + "Call_already_ended": "Вызов уже завершен!", + "Clear_cookies_alert": "Вы действительно хотите очистить все cookies?", + "Clear_cookies_desc": "Это действие очистит все ваши cookies для входа, это позволит вам войти под другой учетной записью.", + "Clear_cookies_yes": "Да, очистить cookies", + "Clear_cookies_no": "Нет, сохранить cookies", + "Click_to_join": "Нажмите, чтобы присоединиться!", + "Close": "Закрыть", + "Close_emoji_selector": "Закрыть выбор emoji", + "Closing_chat": "Закрытие чата", + "Change_language_loading": "Изменение языка.", + "Chat_closed_by_agent": "Чат закрыт агентом", + "Choose": "Выбрать", + "Choose_from_library": "Выбрать из библиотеки", + "Choose_file": "Выбрать файл", + "Choose_where_you_want_links_be_opened": "Выберите где вы хотите открывать ссылки", + "Code": "Код", + "Code_or_password_invalid": "Код или пароль не верны", + "Collaborative": "Совместный", + "Confirm": "Подтверждение", + "Connect": "Соединение", + "Connected": "Подключено", + "connecting_server": "подключение к серверу", + "Connecting": "Соединение...", + "Contact_us": "Связаться с нами", + "Contact_your_server_admin": "Свяжитесь с администратором сервера.", + "Continue_with": "Продолжить с", + "Copied_to_clipboard": "Скопировано в буфер обмена!", + "Copy": "Копировать", + "Conversation": "Диалог", + "Permalink": "Постоянная ссылка", + "Certificate_password": "Пароль сертификата", + "Clear_cache": "Очистить локальный кэш сервера", + "Clear_cache_loading": "Очистка кэша.", + "Whats_the_password_for_your_certificate": "Какой пароль для вашего сертификата?", + "Create_account": "Создать аккаунт", + "Create_Channel": "Создать канал", + "Create_Direct_Messages": "Создать личное сообщение", + "Create_Discussion": "Создать обсуждение", + "Created_snippet": "создать сниппет", + "Create_a_new_workspace": "Новое рабочее пространство", + "Create": "Создать", + "Custom_Status": "Персонализированный Статус", + "Dark": "Темный", + "Dark_level": "Уровень затемненности", + "Default": "По умолчанию", + "Default_browser": "Браузер по умолчанию", + "Delete_Room_Warning": "Удаление канала приведет к удалению всех сообщений, размещенных в нем. Это не может быть отменено.", + "Department": "Отдел", + "delete": "удалить", + "Delete": "Удалить", + "DELETE": "УДАЛИТЬ", + "move": "переместить", + "deleting_room": "удаление чата", + "description": "описание", + "Description": "Описание", + "Desktop_Options": "Параметры рабочего стола", + "Desktop_Notifications": "Уведомления рабочего стола", + "Desktop_Alert_info": "Эти уведомления появятся на рабочем столе", + "Directory": "Директория", + "Direct_Messages": "Личные сообщения", + "Disable_notifications": "Отключить уведомления", + "Discussions": "Обсуждения", + "Discussion_Desc": "Помогают разобраться в том, что происходит! При создании Обсуждения, суб-канала одного из выбранных вами каналов так же создается и привязка к нему.", + "Discussion_name": "Имя обсуждения", + "Done": "Готово", + "Dont_Have_An_Account": "Нет аккаунта?", + "Do_you_have_an_account": "У вас есть аккаунт?", + "Do_you_have_a_certificate": "У вас есть сертификат?", + "Do_you_really_want_to_key_this_room_question_mark": "Вы действительно хотите {{key}} этот канал?", + "E2E_Encryption": "E2E шифрование", + "E2E_How_It_Works_info1": "Теперь Вы можете создавать зашифрованные приватные чаты и личные сообщения. Вы так же можете изменить существующе приватные чаты и личные сообщения сделав их зашифрованными.", + "E2E_How_It_Works_info2": "Это *сквозное шифрование*, поэтому ключ для шифрования/расшифровки ваших сообщений не будет сохранен на сервере. Значит *Вам нужно сохранить этот пароль где-то в безопасном месте*, где он будет Вам доступен, если потребуется.", + "E2E_How_It_Works_info3": "В случаем продолжения, пароль Е2Е будет сгенерирован автоматически.", + "E2E_How_It_Works_info4": "Так же Вы можете задать новый пароль для вашего ключа шифрования в любое время при помощи браузера там же, где Вы ввели существующий Е2Е пароль.", + "edit": "править", + "edited": "исправлено", + "Edit": "Правка", + "Edit_Status": "Изменить статус", + "Edit_Invite": "Редактировать Приглашение", + "End_to_end_encrypted_room": "Чат со сквозным шифрованием", + "end_to_end_encryption": "сквозное шифрование", + "Email_Notification_Mode_All": "Каждое Упоминание/Личное сообщение", + "Email_Notification_Mode_Disabled": "Отключено", + "Email_or_password_field_is_empty": "Поле электронной почты или пароля пусты", + "Email": "E-mail", + "email": "e-mail", + "Empty_title": "Пустой заголовок", + "Enable_Auto_Translate": "Включить автоперевод", + "Enable_notifications": "Включить уведомления", + "Encrypted": "Зашифрован", + "Encrypted_message": "Зашифрованное сообщение", + "Enter_Your_E2E_Password": "Введите Ваш E2E Пароль", + "Enter_Your_Encryption_Password_desc1": "Вы сможете получить доступ к вашим зашифрованным приватным чатам и личным сообщениям.", + "Enter_Your_Encryption_Password_desc2": "Вам нужно ввести пароль для шифрования/расшифровки сообщений в каждом клиенте.", + "Encryption_error_title": "Введен не верный пароль шифрования", + "Encryption_error_desc": "Невозможно расшифровать ваш ключ шифрования, чтобы импортировать его", + "Everyone_can_access_this_channel": "Каждый может получить доступ к этому каналу", + "Everyone_can_access_this_team": "Каждый может получить доступ к этой Команде", + "Error_uploading": "Ошибка загрузки", + "Expiration_Days": "Срок действия (Дни)", + "Favorites": "Избранное", + "Files": "Файлы", + "File_description": "Описание файла", + "File_name": "Имя файла", + "Finish_recording": "Завершить запись", + "Following_thread": "Следить за тредом", + "For_your_security_you_must_enter_your_current_password_to_continue": "В целях вашей безопасности вы должны ввести свой текущий пароль для продолжения", + "Forgot_password_If_this_email_is_registered": "Если эта электронная почта зарегистрирована, мы отправим инструкции о том, как сбросить пароль. Если вы не получите письмо в ближайшее время, вернитесь и повторите попытку.", + "Forgot_password": "Забыли пароль", + "Forgot_Password": "Забыли Пароль", + "Forward": "Перенаправить", + "Forward_Chat": "Перенаправить Чат", + "Forward_to_department": "Перенаправить в отдел", + "Forward_to_user": "Перенаправить пользователю", + "Full_table": "Нажмите, чтобы увидеть полную таблицу", + "Generate_New_Link": "Сгенерировать Новую Ссылку", + "Has_joined_the_channel": "присоединился к каналу", + "Has_joined_the_conversation": "присоединился к беседе", + "Has_left_the_channel": "покинул канал", + "Hide_System_Messages": "Скрыть Системные Сообщения", + "Hide_type_messages": "Скрыть \"{{type}}\" сообщения", + "How_It_Works": "Как Это Работает", + "Message_HideType_uj": "Пользователь Присоединился", + "Message_HideType_ul": "Пользователь Покинул", + "Message_HideType_ru": "Пользователь Удален", + "Message_HideType_au": "Пользователь Добавлен", + "Message_HideType_mute_unmute": "Пользователь Заглушен / Заглушивание отменено", + "Message_HideType_r": "Имя Чата Изменено", + "Message_HideType_ut": "Пользователь Присоединился к Беседе", + "Message_HideType_wm": "Добро пожаловать", + "Message_HideType_rm": "Сообщение Удалено", + "Message_HideType_subscription_role_added": "Была назначена Роль", + "Message_HideType_subscription_role_removed": "Роль более не определена", + "Message_HideType_room_archived": "Чат Архивирован", + "Message_HideType_room_unarchived": "Чат Разархивирован", + "I_Saved_My_E2E_Password": "Я Сохранил Свой E2E Пароль", + "IP": "IP", + "In_app": "В приложении", + "In_App_And_Desktop": "В приложении и на десктопе", + "In_App_and_Desktop_Alert_info": "Отображает баннер в верхней части экрана, когда приложение открыто, и отображает уведомление на рабочем столе.", + "Invisible": "Невидимый", + "Invite": "Приглашение", + "is_a_valid_RocketChat_instance": "является действительным сервером Rocket.Chat", + "is_not_a_valid_RocketChat_instance": "не является действительным сервером Rocket.Chat", + "is_typing": "печатает", + "Invalid_or_expired_invite_token": "Токен приглашения не действителен или с истекшим сроком действия", + "Invalid_server_version": "Сервер, к которому вы пытаетесь подключиться, использует версию, которая больше не поддерживается приложением: {{currentVersion}}.\n\nНам нужна версия {{minVersion}}", + "Invite_Link": "Ссылка Приглашения", + "Invite_users": "Приглашение пользователей", + "Join": "Присоединиться", + "Join_Code": "Код присоединения", + "Insert_Join_Code": "Вставить код присоединения", + "Join_our_open_workspace": "Присоединиться к нашему открытому серверу", + "Join_your_workspace": "Присоединиться к вашему серверу", + "Just_invited_people_can_access_this_channel": "Только приглашенные люди могут получить доступ к этому каналу", + "Just_invited_people_can_access_this_team": "Только приглашенные пользователи могут получить доступ к этой Команде", + "Language": "Язык", + "last_message": "последнее сообщение", + "Leave_channel": "Покинуть канал", + "leaving_room": "покинуть комнату", + "Leave": "Покинуть комнату", + "leave": "покинуть", + "Legal": "Правовые аспекты", + "Light": "Светлая", + "License": "Лицензия", + "Livechat": "Livechat", + "Livechat_edit": "Редактирование Livechat", + "Login": "Вход", + "Login_error": "Ваши учетные данные были отклонены! Пожалуйста, попробуйте еще раз.", + "Login_with": "Войти с", + "Logging_out": "Осуществляется выход.", + "Logout": "Выйти", + "Max_number_of_uses": "Максимальное количество", + "Max_number_of_users_allowed_is_number": "Максимальное количество разрешенных пользователей {{maxUsers}}", + "members": "пользователи", + "Members": "Пользователи", + "Mentioned_Messages": "Упомянутые сообщения", + "mentioned": "упомянутые", + "Mentions": "Упоминания", + "Message_accessibility": "Сообщение от {{user}} в {{time}}: {{message}}", + "Message_actions": "Действия с сообщением", + "Message_pinned": "Сообщение прикреплено", + "Message_removed": "Сообщение удалено", + "Message_starred": "Сообщение отмечено звездой", + "Message_unstarred": "Отметка сообщения звездой удалена", + "message": "сообщение", + "messages": "сообщения", + "Message": "Сообщение", + "Messages": "Сообщения", + "Message_Reported": "Сообщение отправлено", + "Microphone_Permission_Message": "Rocket.Chat нужен доступ к вашему микрофону, чтобы вы могли отправлять аудио сообщения.", + "Microphone_Permission": "Разрешение на использование микрофона", + "Mute": "Заглушить", + "muted": "Заглушен", + "My_servers": "Мои серверы", + "N_people_reacted": "отреагировало {{n}} человек", + "N_users": "{{n}} пользователи", + "N_channels": "{{n}} каналов", + "Name": "Имя", + "Navigation_history": "История навигации", + "Never": "Никогда", + "New_Message": "Новое сообщение", + "New_Password": "Новый пароль", + "New_Server": "Новый сервер", + "Next": "Далее", + "No_files": "Нет файлов", + "No_limit": "Нет ограничений", + "No_mentioned_messages": "Нет упоминаний", + "No_pinned_messages": "Нет прикрепленных сообщений", + "No_results_found": "Ничего не найдено", + "No_starred_messages": "Нет отмеченных сообщений", + "No_thread_messages": "Нет сообщений в теме", + "No_label_provided": "{{label}} не указан.", + "No_Message": "Нет сообщения", + "No_messages_yet": "Пока нет сообщений", + "No_Reactions": "Нет реакций", + "No_Read_Receipts": "Нет информации о прочтении", + "Not_logged": "Не зарегистрирован", + "Not_RC_Server": "Это не сервер Rocket.Chat.\n{{contact}}", + "Nothing": "Ничего", + "Nothing_to_save": "Нечего сохранять!", + "Notify_active_in_this_room": "Уведомить всех активных пользователей в этом чате", + "Notify_all_in_this_room": "Уведомить всех в этом чате", + "Notifications": "Уведомления", + "Notification_Duration": "Продолжительность уведомлений", + "Notification_Preferences": "Настройки уведомлений", + "No_available_agents_to_transfer": "Нет свободных агентов для передачи", + "Offline": "Офлайн", + "Oops": "Упс!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "Чаты в Работе", + "Omnichannel_enable_alert": "Вы не доступны в Omnichannel. Хотите стать доступными?", + "Onboarding_description": "Сервер это пространство для взаимодействия вашей команды или организации. Уточните адрес сервера у вашего администратора или создайте свой сервер для команды.", + "Onboarding_join_workspace": "Присоединиться к серверу", + "Onboarding_subtitle": "За пределами Командного Взаимодействия", + "Onboarding_title": "Добро пожаловать в Rocket.Chat", + "Onboarding_join_open_description": "Присоединяйтесь к нашему открытому серверу, чтобы пообщаться с командой и сообществом Rocket.Chat.", + "Onboarding_agree_terms": "Продолжая вы соглашаетесь с правилами Rocket.Chat", + "Onboarding_less_options": "Меньше опций", + "Onboarding_more_options": "Больше опций", + "Online": "В сети", + "Only_authorized_users_can_write_new_messages": "Только авторизованные пользователи могут писать новые сообщения", + "Open_emoji_selector": "Открыть выбор emoji", + "Open_Source_Communication": "Общение с открытым кодом", + "Open_your_authentication_app_and_enter_the_code": "Откройте ваше приложение для аутентификации и введите код и него.", + "OR": "ИЛИ", + "OS": "ОС", + "Overwrites_the_server_configuration_and_use_room_config": "Перезаписывает конфигурацию сервера и использует конфигурацию чата", + "Password": "Пароль", + "Parent_channel_or_group": "Родительский канал или чат", + "Permalink_copied_to_clipboard": "Постоянная ссылка скопирована в буфер обмена!", + "Phone": "Телефон", + "Pin": "Прикрепить сообщение", + "Pinned_Messages": "Прикрепленные сообщения", + "pinned": "прикреплено", + "Pinned": "Прикреплено", + "Please_add_a_comment": "Пожалуйста добавьте комментарий", + "Please_enter_your_password": "Пожалуйста введите ваш пароль", + "Please_wait": "Пожалуйста подождите.", + "Preferences": "Настройки", + "Preferences_saved": "Настройки сохранены!", + "Privacy_Policy": " Политика конфиденциальности", + "Private_Channel": "Приватный канал", + "Private": "Приватный", + "Processing": "Обработка...", + "Profile_saved_successfully": "Профиль успешно сохранен!", + "Profile": "Профиль", + "Public_Channel": "Публичный канал", + "Public": "Публичный", + "Push_Notifications": "Push Уведомления", + "Push_Notifications_Alert_Info": "Эти уведомления доставляются вам, когда приложение не открыто", + "Quote": "Цитата", + "Reactions_are_disabled": "Реакции отключены", + "Reactions_are_enabled": "Реакции активированы", + "Reactions": "Реакции", + "Read_External_Permission_Message": "Rocket.Chat необходим доступ к фотографиям, медиа и другим файлам на вашем устройстве", + "Read_External_Permission": "Разрешение на Чтение Медиа", + "Read_Only_Channel": "Канал только для чтения", + "Read_Only": "Только для чтения", + "Read_Receipt": "Уведомление о прочтении", + "Receive_Group_Mentions": "Получать групповые уведомления", + "Receive_Group_Mentions_Info": "Получать @all и @here уведомления", + "Register": "Зарегистрировать", + "Repeat_Password": "Повторите пароль", + "Replied_on": "Ответил на:", + "replies": "ответы", + "reply": "ответить", + "Reply": "Ответить", + "Report": "Жалоба", + "Receive_Notification": "Получать уведомления", + "Receive_notifications_from": "Получать уведомления от {{name}}", + "Resend": "Отправить повторно", + "Reset_password": "Сброс пароля", + "resetting_password": "сброс пароля", + "RESET": "СБРОС", + "Return": "Возврат", + "Review_app_title": "Нравится ли вам это приложение?", + "Review_app_desc": "Поставьте нам 5 звезд в {{store}}", + "Review_app_yes": "Конечно!", + "Review_app_no": "Нет", + "Review_app_later": "Может позже", + "Review_app_unable_store": "Невозможно открыть {{store}}", + "Review_this_app": "Оценить это приложение", + "Remove": "Удалить", + "remove": "удалить", + "Roles": "Роли", + "Room_actions": "Действия с чатом", + "Room_changed_announcement": "Объявление чата было изменено на: {{announcement}} пользователем {{userBy}}", + "Room_changed_avatar": "Аватар чата изменен пользователем {{userBy}}", + "Room_changed_description": "Описание чата было изменено на: {{description}} пользователем {{userBy}}", + "Room_changed_privacy": "Тип чата был изменен на: {{type}} пользователем {{userBy}}", + "Room_changed_topic": "Тема чата была изменена на: {{topic}} пользователем {{userBy}}", + "Room_Files": "Файлы", + "Room_Info_Edit": "Изменить информацию о чате", + "Room_Info": "Информация о канале", + "Room_Members": "Пользователи", + "Room_name_changed": "Название чата было изменено на: {{name}} пользователем {{userBy}}", + "SAVE": "СОХРАНИТЬ", + "Save_Changes": "Сохранить изменения", + "Save": "Сохранить", + "Saved": "Сохранено", + "saving_preferences": "сохранение персональных настроек", + "saving_profile": "сохранение профиля", + "saving_settings": "сохранение настроек", + "saved_to_gallery": "Сохранено в Галерею", + "Save_Your_E2E_Password": "Сохранить Ваш E2E Пароль", + "Save_Your_Encryption_Password": "Сохранить Ваш Пароль Шифрования", + "Save_Your_Encryption_Password_warning": "Этот пароль не сохраняется нигде, поэтому бережно сохраните его в надежном месте.", + "Save_Your_Encryption_Password_info": "Имейте ввиду, что если вы потеряете свой пароль, его будет невозможно восстановить и вы потеряете доступ к вашим сообщениям.", + "Search_Messages": "Поиск сообщений", + "Search": "Поиск", + "Search_by": "Поиск по", + "Search_global_users": "Глобальный поиск пользователей", + "Search_global_users_description": "При активации станет возможен поиск пользователей на других серверах.", + "Seconds": "{{second}} секунд", + "Security_and_privacy": "Безопасность и конфиденциальность", + "Select_Avatar": "Выбор аватара", + "Select_Server": "Выбор сервера", + "Select_Users": "Выбор пользователей", + "Select_a_Channel": "Выбор Канала", + "Select_a_Department": "Выбор отдела", + "Select_an_option": "Выбор Опции", + "Select_a_User": "Выбор Пользователя", + "Send": "Отправить", + "Send_audio_message": "Отправить аудиосообщение", + "Send_crash_report": "Отправить отчет об ошибке", + "Send_message": "Отправить сообщение", + "Send_me_the_code_again": "Отправить мне код снова", + "Send_to": "Отправить...", + "Sending_to": "Отправляется", + "Sent_an_attachment": "Отправить вложение", + "Server": "Сервер", + "Servers": "Серверы", + "Server_version": "Версия сервера: {{version}}", + "Set_username_subtitle": "Имя пользователя необходимо для того, чтобы позволить другим упомянуть вас в сообщениях", + "Set_custom_status": "Установить персонализированный статус", + "Set_status": "Установить статус", + "Status_saved_successfully": "Статус установлен успешно!", + "Settings": "Настройки", + "Settings_succesfully_changed": "Настройки успешно изменены!", + "Share": "Поделиться", + "Share_Link": "Ссылка, чтобы Поделиться", + "Share_this_app": "Рассказать о приложении", + "Show_more": "Показать больше..", + "Show_Unread_Counter": "Показать счетчик непрочитанных", + "Show_Unread_Counter_Info": "Счетчик непрочитанных отображается в виде значка справа от канала в списке каналов", + "Sign_in_your_server": "Войдите на ваш сервер", + "Sign_Up": "Регистрация", + "Some_field_is_invalid_or_empty": "Некоторые поля недопустимы или пусты", + "Sound": "Звук", + "Star_room": "В избранное", + "Star": "Отметить", + "Starred_Messages": "Отмеченные сообщения", + "starred": "отмечено", + "Starred": "Отмечено", + "Start_of_conversation": "Начало разговора", + "Start_a_Discussion": "Начать обсуждение", + "Started_discussion": "Началось обсуждение:", + "Started_call": "Звонок, начат {{userBy}}", + "Submit": "Отправить", + "Table": "Таблица", + "Tags": "Тэги", + "Take_a_photo": "Сделать фото", + "Take_a_video": "Записать видео", + "Take_it": "Снять!", + "tap_to_change_status": "нажмите для изменения статуса", + "Tap_to_view_servers_list": "Нажмите, чтобы просмотреть список серверов", + "Terms_of_Service": " Условия использования ", + "Theme": "Тема", + "The_user_wont_be_able_to_type_in_roomName": "Пользователь не сможет писать сообщения в {{roomName}}", + "The_user_will_be_able_to_type_in_roomName": "Пользователь сможет писать сообщения в {{roomName}}", + "There_was_an_error_while_action": "Произошла ошибка в процессе {{action}}!", + "This_room_is_blocked": "Этот чат заблокирован", + "This_room_is_read_only": "Этот чат доступен только для чтения", + "Thread": "Тред", + "Threads": "Треды", + "Timezone": "Часовой пояс", + "To": "К", + "topic": "тема", + "Topic": "Тема", + "Translate": "Перевести", + "Try_again": "Попробуйте еще раз", + "Two_Factor_Authentication": "Двухфакторная аутентификация", + "Type_the_channel_name_here": "Введите название канала здесь", + "unarchive": "разархивировать", + "UNARCHIVE": "РАЗАРХИВИРОВАТЬ", + "Unblock_user": "Разблокировать пользователя", + "Unfollowed_thread": "Не следить", + "Unmute": "Отменить заглушивание", + "unmuted": "Заглушивание отменено", + "Unpin": "Открепить", + "unread_messages": "непрочитанные", + "Unread": "Непрочитанные", + "Unread_on_top": "Непрочитанные сверху", + "Unstar": "Снять отметку", + "Updating": "Обновление...", + "Uploading": "Загрузка", + "Upload_file_question_mark": "Загрузить файл?", + "User": "Пользователь", + "Users": "Пользователи", + "User_added_by": "Пользователь {{userAdded}} добавлен по решению {{userBy}}", + "User_Info": "Информация о пользователе", + "User_has_been_key": "Пользователь был {{key}}", + "User_is_no_longer_role_by_": "{{user}} больше не {{role}} по решению {{userBy}}", + "User_muted_by": "Пользователь {{userMuted}} заглушен по решению {{userBy}}", + "User_removed_by": "Пользователь {{userRemoved}} удален по решению {{userBy}}", + "User_sent_an_attachment": "{{user}} отправил вложение", + "User_unmuted_by": "Пользователь {{userUnmuted}} перестал быть заглушенным по решению {{userBy}}", + "User_was_set_role_by_": "{{user}} был назначен {{role}} пользователем {{userBy}}", + "Username_is_empty": "Имя пользователя пусто", + "Username": "Имя пользователя", + "Username_or_email": "Имя пользователя или email", + "Uses_server_configuration": "Используется конфигурация сервера", + "Validating": "Проверка", + "Registration_Succeeded": "Регистрация Успешна!", + "Verify": "Проверить", + "Verify_email_title": "Регистрация Успешна!", + "Verify_email_desc": "Вам был отправлен email для подтверждения регистрации. Если вы не получили этого сообщения, пожалуйста, попробуйте еще раз.", + "Verify_your_email_for_the_code_we_sent": "Проверка вашего email с помощью отправленного нами кода", + "Video_call": "Видеозвонок", + "View_Original": "Посмотреть оригинал", + "Voice_call": "Голосовой вызов", + "Waiting_for_network": "Ожидание сети...", + "Websocket_disabled": "Websocket отключен для этого сервера.\n{{contact}}", + "Welcome": "Добро пожаловать,", + "What_are_you_doing_right_now": "Что вы делаете сейчас?", + "Whats_your_2fa": "Какой у вас код 2FA?", + "Without_Servers": "Без серверов", + "Workspaces": "Серверы", + "Would_you_like_to_return_the_inquiry": "Вы хотите отозвать запрос?", + "Write_External_Permission_Message": "Rocket.Chat необходим доступ к ваше Галерее, чтобы Вы могли сохранять изображения.", + "Write_External_Permission": "Разрешения на запись в Галерею", + "Yes": "Да", + "Yes_action_it": "Да, {{action}} это!", + "Yesterday": "Вчера", + "You_are_in_preview_mode": "Вы находитесь в режиме предварительного просмотра", + "You_are_offline": "Вы не в сети", + "You_can_search_using_RegExp_eg": "Вы можете выполнить поиск с помощью регулярных выражений, например `/^text$/i`", + "You_colon": "Вы: ", + "you_were_mentioned": "вы были упомянуты", + "You_were_removed_from_channel": "Вы были удалены из {{channel}}", + "you": "вы", + "You": "Вы", + "Logged_out_by_server": "Сервером произведен ваш выход из системы. Пожалуйста, войдите снова.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Вам нужно получить доступ как минимум к одному серверу Rocket.Chat, чтобы поделиться чем-то.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Вам необходимо проверить ваш email адрес, чтобы получать уведомления", + "Your_certificate": "Ваш сертификат", + "Your_invite_link_will_expire_after__usesLeft__uses": "Ваша ссылка-приглашение станет не действительной после {{usesLeft}} ее использований.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Ваша ссылка-приглашение станет не действительной {{date}} или после {{usesLeft}} ее использований.", + "Your_invite_link_will_expire_on__date__": "Срок действия вашей ссылки-приглашения будет окончен {{date}}.", + "Your_invite_link_will_never_expire": "Ваша ссылка-приглашение никогда не будет просроченной.", + "Your_workspace": "Ваш сервер", + "Your_password_is": "Ваш пароль", + "Version_no": "Версия: {{version}}", + "You_will_not_be_able_to_recover_this_message": "Вы не сможете восстановить это сообщение!", + "You_will_unset_a_certificate_for_this_server": "Вы произведете сброс сертификата для этого сервера", + "Change_Language": "Изменить язык", + "Crash_report_disclaimer": "Мы никогда не отслеживаем содержание ваших чатов. Отчет о сбое содержит только важную для нас информацию для выявления проблем и их устранения.", + "Type_message": "Написать сообщение", + "Room_search": "Поиск в чате", + "Room_selection": "Выбор чата 1...9", + "Next_room": "Следующий чат", + "Previous_room": "Предыдущий чат", + "New_room": "Новый чат", + "Upload_room": "Загрузить в чат", + "Search_messages": "Поиск сообщений", + "Scroll_messages": "Прокрутка сообщений", + "Reply_latest": "Ответить на последнее", + "Reply_in_Thread": "Ответить в Треде", + "Server_selection": "Выбор сервера", + "Server_selection_numbers": "Выбор сервера 1...9", + "Add_server": "Добавить сервер", + "New_line": "Новая линия", + "You_will_be_logged_out_of_this_application": "Будет осуществлен ваш выход из этого приложения.", + "Clear": "Очистка", + "This_will_clear_all_your_offline_data": "Это очистит все ваши офлайн данные.", + "This_will_remove_all_data_from_this_server": "Это удалит все данные с этого сервера.", + "Mark_unread": "Отметить Непрочитанным", + "Wait_activation_warning": "До того как вы сможете войти, ваш аккаунт должен быть вручную активирован администратором сервера.", + "Screen_lock": "Блокировка экрана", + "Local_authentication_biometry_title": "Аутентификация", + "Local_authentication_biometry_fallback": "Использовать пароль", + "Local_authentication_unlock_option": "Разблокировать при помощи Пароля", + "Local_authentication_change_passcode": "Изменить Пароль", + "Local_authentication_info": "Внимание: Если вы забудете ваш Пароль, вам нужно будет удалить и заново установить это приложение.", + "Local_authentication_facial_recognition": "распознавания лица", + "Local_authentication_fingerprint": "отпечатка пальца", + "Local_authentication_unlock_with_label": "Разблокировать при помощи {{label}}", + "Local_authentication_auto_lock_60": "Через 1 минуту", + "Local_authentication_auto_lock_300": "Через 5 минут", + "Local_authentication_auto_lock_900": "Через 15 минут", + "Local_authentication_auto_lock_1800": "Через 30 минут", + "Local_authentication_auto_lock_3600": "Через 1 час", + "Passcode_enter_title": "Введите ваш пароль", + "Passcode_choose_title": "Выберите ваш новый пароль", + "Passcode_choose_confirm_title": "Подтвердите ваш новый пароль", + "Passcode_choose_error": "Пароли не соответствуют. Попробуйте еще раз.", + "Passcode_choose_force_set": "Пароль затребован вашим администратором", + "Passcode_app_locked_title": "Приложение заблокировано", + "Passcode_app_locked_subtitle": "Попробуйте снова через {{timeLeft}} секунд", + "After_seconds_set_by_admin": "Через {{seconds}} секунд (установлено администратором сервера)", + "Dont_activate": "Не активировать сейчас", + "Queued_chats": "Чаты в очереди", + "Queue_is_empty": "Очередь пуста", + "Logout_from_other_logged_in_locations": "Выйти из всех других подключенных расположений", + "You_will_be_logged_out_from_other_locations": "Будет произведен ваш выход из всех других подключенных расположений.", + "Logged_out_of_other_clients_successfully": "Выход из других клиентских подключений выполнен успешно", + "Logout_failed": "Выход не успешен!", + "Log_analytics_events": "Журнал событий аналитики", + "E2E_encryption_change_password_title": "Изменить пароль шифрования", + "E2E_encryption_change_password_description": "Теперь вы можете создавать зашифрованные приватные чаты и личные беседы. Вы так же можете сделать существующие приватные чаты и личные беседы шифрованными. \nЭто сквозное шифрование, поэтому ключ для шифрования и дешифрования ваших сообщений не будет сохранен на сервере. Именно поэтому вам необходимо сохранить ваш пароль в надежном и безопасном месте. Вам необходимо вводить этот пароль на всех устройствах, где вы хотите использовать E2E шифрование.", + "E2E_encryption_change_password_error": "Ошибка при смене пароля E2E ключа!", + "E2E_encryption_change_password_success": "Пароль ключа E2E изменен успешно!", + "E2E_encryption_change_password_message": "Убедитесь, что вы сохранили пароль в надежном месте.", + "E2E_encryption_change_password_confirmation": "Да, изменить его", + "E2E_encryption_reset_title": "Сбросить E2E ключ", + "E2E_encryption_reset_description": "Эта опция удалит ваш текущий E2E ключ и произведет ваш выход из системы. \nКогда вы снова войдете в систему, Rocket.Chat сгенерирует для вас новый ключ и восстановит ваш доступ ко всем зашифрованным чатам, в которых есть пользователи в сети. \nИсходя из природы E2E шифрования, Rocket.Chat не сможет восстановить доступ к чатам, в которых нет участников в сети.", + "E2E_encryption_reset_button": "Сбросить E2E ключ", + "E2E_encryption_reset_error": "Ошибка при сбросе E2E ключа!", + "E2E_encryption_reset_message": "Будет совершен ваш выход из системы.", + "E2E_encryption_reset_confirmation": "Да, сбросить его", + "Following": "Следить", + "Threads_displaying_all": "Показать все", + "Threads_displaying_following": "Показать отслеживаемые", + "Threads_displaying_unread": "Показать непрочитанные", + "No_threads": "Тредов нет", + "No_threads_following": "Нет тредов, за которыми вы следите", + "No_threads_unread": "Непрочитанных тредов нет", + "Messagebox_Send_to_channel": "Отправить в чат", + "Leader": "Лидер", + "Moderator": "Модератор", + "Owner": "Владелец", + "Remove_from_room": "Удалить из чата", + "Ignore": "Игнориновать", + "Unignore": "Прекратить игнорировать", + "User_has_been_ignored": "Пользователь теперь игнорируется", + "User_has_been_unignored": "Пользователь больше не игнорируется", + "User_has_been_removed_from_s": "Пользователь удален из {{s}}", + "User__username__is_now_a_leader_of__room_name_": "Пользователь {{username}} больше не лидер в чате {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "Пользователь {{username}} больше не модератор в чате {{room_name}}", + "User__username__is_now_a_owner_of__room_name_": "Пользователь {{username}} больше не владелец в чате {{room_name}}", + "User__username__removed_from__room_name__leaders": "Пользователь {{username}} удален из {{room_name}} лидеров", + "User__username__removed_from__room_name__moderators": "Пользователь {{username}} удален из {{room_name}} модераторов", + "User__username__removed_from__room_name__owners": "Пользователь {{username}} удален из {{room_name}} владельцев", + "The_user_will_be_removed_from_s": "Пользователь будет удален из {{s}}", + "Yes_remove_user": "Да, удалить пользователя!", + "Direct_message": "Личное сообщение", + "Message_Ignored": "Сообщение игнорируется. Тапните по нему, чтобы отобразить его.", + "Enter_workspace_URL": "Введите URL вашего рабочего пространства", + "Workspace_URL_Example": "Например, your-company.rocket.chat", + "This_room_encryption_has_been_enabled_by__username_": "Шифрование для этого чата включено {{username}}", + "This_room_encryption_has_been_disabled_by__username_": "Шифрование для этого чата выключено {{username}}", + "Teams": "Команды", + "No_team_channels_found": "Каналы не найдены", + "Team_not_found": "Команда не найдена", + "Create_Team": "Создать Команду", + "Team_Name": "Имя Команды", + "Private_Team": "Приватная Команда", + "Read_Only_Team": "Команда только для чтения", + "Broadcast_Team": "Широковещательная Команда", + "creating_team": "создание Команды", + "team-name-already-exists": "Команда с таким названием уже существует", + "Add_Channel_to_Team": "Добавить канал в Команду", + "Left_The_Team_Successfully": "Успешно покинул команду", + "Create_New": "Создать", + "Add_Existing": "Добавить существующее", + "Add_Existing_Channel": "Добавить существующий канал", + "Remove_from_Team": "Удалить из Команды", + "Auto-join": "Автодобавление", + "Remove_Team_Room_Warning": "Хотите ли вы удалить этот канал из Команды? Канал будет перемещен обратно в рабочее пространство", + "Confirmation": "Подтверждение", + "invalid-room": "Такого канала не существует", + "You_are_leaving_the_team": "Вы покидаете Команду '{{team}}'", + "Leave_Team": "Покинуть команду", + "Select_Team": "Выберите Команду", + "Select_Team_Channels": "Выберите каналы Команды, которые вы хотите покинуть.", + "Cannot_leave": "Невозможно выйти", + "Cannot_remove": "Невозможно удалить", + "Cannot_delete": "Невозможно удалить", + "Last_owner_team_room": "Вы последний владелец этого чата. Как только вы покинете Команду, чат будет храниться внутри нее, но вы будете управлять ею снаружи.", + "last-owner-can-not-be-removed": "Последний владелец не может быть удален", + "Remove_User_Teams": "Выберите каналы, из которых вы хотите удалить пользователя.", + "Delete_Team": "Удалить Команду", + "Select_channels_to_delete": "Это нельзя отменить. После удаления Команды все содержимое чата и конфигурация будут удалены \n\nВыберите каналы, которые вы хотите удалить. Те, которые вы решите оставить, будут доступны в вашем рабочем пространстве. Обратите внимание, что публичные каналы по-прежнему будут открытыми и видимыми для всех.", + "You_are_deleting_the_team": "Вы удаляете эту Команду.", + "Removing_user_from_this_team": "Вы удаляете {{user}} из этой Команды", + "Remove_User_Team_Channels": "Выберите каналы, из которых вы хотите удалить пользователя.", + "Remove_Member": "Удалить участника", + "leaving_team": "выход из Команды", + "removing_team": "удаление из Команды", + "moving_channel_to_team": "перемещение канала в Команду", + "deleting_team": "удаление Команды", + "member-does-not-exist": "Участник не существует", + "Convert": "Конвертировать", + "Convert_to_Team": "Конвертировать в команду", + "Convert_to_Team_Warning": "Это нельзя отменить. После преобразования канала в Команду, вы не сможете преобразовать его обратно в канал.", + "Move_to_Team": "Перенести в команду", + "Move_Channel_Paragraph": "Перемещение канала внутрь Команды означает, что этот канал будет добавлен в контекст Команды, однако все участники канала, которые не являются членами соответствующей Команды, по-прежнему будут иметь доступ к этому каналу, но не будут добавлены как участники Команды \n\nВсе управление каналом по-прежнему будет осуществляться владельцами этого канала.\n\nЧлены Команды и даже владельцы Команды, если они не являются членами этого канала, не могут иметь доступ к содержимому канала \n\nОбратите внимание, что владелец Команды сможет удалять участников с канала.", + "Move_to_Team_Warning": "После прочтения предыдущих инструкций об этом поведении, вы все еще хотите переместить этот канал в выбранную Команду?", + "Load_More": "Загрузить еще", + "Load_Newer": "Загрузить более позднее", + "Load_Older": "Загрузить более раннее", + "room-name-already-exists": "Имя чата уже существует", + "error-team-creation": "Ошибка создания Команды", + "unauthorized": "Неавторизованный", + "Left_The_Room_Successfully": "Успешно покинул комнату", + "Deleted_The_Team_Successfully": "Команда успешно удалена", + "Deleted_The_Room_Successfully": "Комната успешно удалена", + "Convert_to_Channel": "Преобразовать в канал", + "Converting_Team_To_Channel": "Преобразование Команды в канал", + "Select_Team_Channels_To_Delete": "Выберите каналы Команды, которые вы хотите удалить, те, которые вы не выбрали, будут перемещены в рабочую область \n\nОбратите внимание, что публичные каналы будут открытыми и видимыми для всех.", + "You_are_converting_the_team": "Вы преобразуете эту Команду в канал", + "Display": "Внешний вид", + "Avatars": "Аватары", + "Sort_by": "Сортировка по", + "Group_by": "Группировка", + "Types": "Типы", + "Expanded": "Расширенный", + "Condensed": "Упрощенный", + "creating_discussion": "создание обсуждения", + "Canned_Responses": "Заготовленные ответы", + "No_match_found": "Совпадений не найдено.", + "Check_canned_responses": "Проверить заготовленные ответы", + "Searching": "Поиск", + "Use": "Использовать", + "Shortcut": "Ярлык", + "Content": "Содержимое", + "Sharing": "Поделиться", + "No_canned_responses": "Нет заготовленных ответов", + "Send_email_confirmation": "Отправить электронное письмо с подтверждением", + "sending_email_confirmation": "отправка подтверждения по электронной почте", + "Enable_Message_Parser": "Включить парсер сообщений" +} \ No newline at end of file diff --git a/app/i18n/locales/si.json b/app/i18n/locales/si.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/si.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/sk-SK.json b/app/i18n/locales/sk-SK.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/sk-SK.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/sl-SI.json b/app/i18n/locales/sl-SI.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/sl-SI.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/sq.json b/app/i18n/locales/sq.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/sq.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/sr.json b/app/i18n/locales/sr.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/sr.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/sv.json b/app/i18n/locales/sv.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/sv.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/ta-IN.json b/app/i18n/locales/ta-IN.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ta-IN.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/th-TH.json b/app/i18n/locales/th-TH.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/th-TH.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/tr.json b/app/i18n/locales/tr.json index 81a06449b..aeb4caba8 100644 --- a/app/i18n/locales/tr.json +++ b/app/i18n/locales/tr.json @@ -1,702 +1,693 @@ { - "1_person_reacted": "1 kişi tepki verdi.", - "1_user": "1 kullanıcı", - "error-action-not-allowed": "{{action}}'a izin verilmiyor!", - "error-application-not-found": "Uygulama bulunamadı!", - "error-archived-duplicate-name": "{{room_name}} adında arşivlenmiş bir kanal var!", - "error-avatar-invalid-url": "Geçersiz avatar URL'si: {{url}}", - "error-avatar-url-handling": "{{username}} için bir URL'den ({{url}}) avatar ayarı işlenirken hata oluştu!", - "error-cant-invite-for-direct-room": "Kullanıcı özel odalara davet edilemedi!", - "error-could-not-change-email": "E-posta değiştirilemedi!", - "error-could-not-change-name": "İsim değiştirilemedi!", - "error-could-not-change-username": "Kullanıcı adı değiştirilemedi!", - "error-could-not-change-status": "Durum değiştirilemedi!", - "error-delete-protected-role": "Korunan bir rol silinemez!", - "error-department-not-found": "Bölüm bulunamadı!", - "error-direct-message-file-upload-not-allowed": "Özel iletilerde dosya paylaşımına izin verilmiyor!", - "error-duplicate-channel-name": "{{channel_name}} adında bir kanal var!", - "error-email-domain-blacklisted": "E-posta alan adı kara listeye alındı!", - "error-email-send-failed": "E-posta göndermeye çalışırken hata oluştu: {{message}}", - "error-save-image": "Görüntüyü kaydederken hata oluştu!", - "error-save-video": "Videoyu kaydederken hata oluştu!", - "error-field-unavailable": "{{field}} zaten kullanılıyor! :(", - "error-file-too-large": "Dosya çok büyük!", - "error-importer-not-defined": "İçe aktarıcı doğru tanımlanmadı, \"Import\" sınıfı eksik!", - "error-input-is-not-a-valid-field": "{{input}} geçerli bir {{field}} değil!", - "error-invalid-actionlink": "Geçersiz işlem bağlantısı!", - "error-invalid-arguments": "Geçersiz parametreler!", - "error-invalid-asset": "Geçersiz veri!", - "error-invalid-channel": "Geçersiz kanal.", - "error-invalid-channel-start-with-chars": "Geçersiz kanal! @ veya # ile başlayın.", - "error-invalid-custom-field": "Geçersiz özelleştirilmiş alan", - "error-invalid-custom-field-name": "Geçersiz özelleştirilmiş alan adı! Yalnızca harf, rakam, kısa çizgi ve alt çizgi kullanın.", - "error-invalid-date": "Geçersiz tarih!", - "error-invalid-description": "Geçersiz açıklama!", - "error-invalid-domain": "Geçersiz alan adı!", - "error-invalid-email": "Geçersiz e-posta {{email}}!", - "error-invalid-email-address": "Geçersiz e-posta adresi!", - "error-invalid-file-height": "Geçersiz fotoğraf yüksekliği!", - "error-invalid-file-type": "Geçersiz dosya türü!", - "error-invalid-file-width": "Geçersiz fotoğraf genişliği!", - "error-invalid-from-address": "Geçersiz bir KİMDEN adresi bildirdiniz!", - "error-invalid-integration": "Geçersiz entegrasyon", - "error-invalid-message": "Geçersiz ileti!", - "error-invalid-method": "Geçersiz metot!", - "error-invalid-name": "Geçersiz isim!", - "error-invalid-password": "Geçersiz şifre!", - "error-invalid-redirectUri": "Geçersiz yönlendirme bağlantısı!", - "error-invalid-role": "Geçersiz rol!", - "error-invalid-room": "Geçersiz oda!", - "error-invalid-room-name": "{{room_name}}, geçerli bir oda adı değil!", - "error-invalid-room-type": "{{type}}, geçerli bir oda türü değil!", - "error-invalid-settings": "Geçersiz ayar!", - "error-invalid-subscription": "Geçersiz başvuru!", - "error-invalid-token": "Geçersiz belirteç!", - "error-invalid-triggerWords": "Geçersiz tetikleyici parametreleri!", - "error-invalid-urls": "Geçersiz URL'ler!", - "error-invalid-user": "Geçersiz kullanıcı!", - "error-invalid-username": "Geçersiz kullanıcı adı!", - "error-invalid-webhook-response": "İstek URL'si 200'den farklı bir durumla yanıt verdi!", - "error-message-deleting-blocked": "İleti silme engellendi!", - "error-message-editing-blocked": "İleti düzenleme engellendi", - "error-message-size-exceeded": "İleti boyutu, Message_MaxAllowedSize değerini aşıyor", - "error-missing-unsubscribe-link": "[unsubscribe] bağlantısını belirtmelisiniz.", - "error-no-tokens-for-this-user": "Bu kullanıcı için belirteç (token) yok", - "error-not-allowed": "İzin verilmedi", - "error-not-authorized": "Yetkili değil", - "error-push-disabled": "Push devre dışı", - "error-remove-last-owner": "Lütfen bunu kaldırmadan önce yeni bir sahip belirleyin.", - "error-role-in-use": "Rol kullanımda olduğu için silinemiyor", - "error-role-name-required": "Rol adı gerekli", - "error-the-field-is-required": "{{field}} alanı gereklidir.", - "error-too-many-requests": "Hata, çok fazla istek. Lütfen yavaşla. Tekrar denemeden önce {{seconds}} saniye beklemelisiniz.", - "error-user-is-not-activated": "Kullanıcı etkinleştirilmedi!", - "error-user-has-no-roles": "Kullanıcıya tanımlı rol yok!", - "error-user-limit-exceeded": "#channel_name kanalına davet etmeye çalıştığınız kullanıcıların sayısı, yönetici tarafından belirlenen sınırı aşıyor!", - "error-user-not-in-room": "Kullanıcı bu odada değil!", - "error-user-registration-custom-field": "error-user-registration-custom-field", - "error-user-registration-disabled": "Kullanıcı kaydı devre dışı bırakıldı!", - "error-user-registration-secret": "Kullanıcı kaydına yalnızca Gizli URL aracılığıyla izin verilir!", - "error-you-are-last-owner": "Son sahibi sizsiniz. Lütfen odadan ayrılmadan önce yeni bir sahip belirleyin.", - "Actions": "İşlemler", - "activity": "etkinlik", - "Activity": "Etkinlik", - "Add_Reaction": "Tepki ekle", - "Add_Server": "Sunucu ekle", - "Add_users": "Kullanıcı ekle", - "Admin_Panel": "Yönetim Paneli", - "Agent": "Temsilci", - "Alert": "Uyarı", - "alert": "uyarı", - "alerts": "uyarılar", - "All_users_in_the_channel_can_write_new_messages": "Kanaldaki tüm kullanıcılar yeni ileti yazabilir!", - "A_meaningful_name_for_the_discussion_room": "Tartışma odası için anlamlı bir isim", - "All": "Tümü", - "All_Messages": "Tüm İletiler", - "Allow_Reactions": "Tüm Tepkiler", - "Alphabetical": "Alfabetik", - "and_more": "ve daha", - "and": "ve", - "announcement": "duyuru", - "Announcement": "Duyuru", - "Apply_Your_Certificate": "Sertifikanızı Onaylayın", - "ARCHIVE": "ARŞİVLE", - "archive": "arşivle", - "are_typing": "yazıyor", - "Are_you_sure_question_mark": "Emin misiniz?", - "Are_you_sure_you_want_to_leave_the_room": "{{room}} odasından ayrılmak istediğinizden emin misiniz?", - "Audio": "Ses", - "Authenticating": "Doğrulanıyor", - "Automatic": "Otomatik", - "Auto_Translate": "Otomatik Çevir", - "Avatar_changed_successfully": "Profil fotoğrafı başarıyla değiştirildi!", - "Avatar_Url": "Profil fotoğrafı URL'si", - "Away": "Uzakta", - "Back": "Geri", - "Black": "Koyu", - "Block_user": "Kullanıcıyı engelle", - "Browser": "Tarayıcı", - "Broadcast_channel_Description": "Yalnızca yetkili kullanıcılar yeni ileti yazabilir, ancak diğer kullanıcılar yanıt verebilir", - "Broadcast_Channel": "Kanala Yayınla", - "Busy": "Meşgul", - "By_proceeding_you_are_agreeing": "Devam ederek kabul ediyorsunuz: ", - "Cancel_editing": "Düzenlemeyi iptal et", - "Cancel_recording": "Kaydı iptal et", - "Cancel": "İptal et", - "changing_avatar": "profil fotoğrafı değiştirme", - "creating_channel": "kanal açılıyor", - "creating_invite": "davet üretiliyor", - "Channel_Name": "Kanal Adı", - "Channels": "Kanallar", - "Chats": "Sohbetler", - "Call_already_ended": "Çağrı sona erdi!", - "Clear_cookies_alert": "Tüm çerezleri temizlemek istiyor musunuz?", - "Clear_cookies_desc": "Bu işlem, tüm oturum açma çerezlerini temizleyerek diğer hesaplara giriş yapmanıza olanak tanır.", - "Clear_cookies_yes": "Evet, çerezleri temizle", - "Clear_cookies_no": "Hayır, çerezleri koru", - "Click_to_join": "Katılmak için tıklayın!", - "Close": "Kapat", - "Close_emoji_selector": "Emoji seçiciyi kapat", - "Closing_chat": "Sohbet kapatılıyor", - "Change_language_loading": "Dil değiştiriliyor", - "Chat_closed_by_agent": "Sohbet temsilci tarafından kapatıldı", - "Choose": "Seç", - "Choose_from_library": "Kütüphaneden seç", - "Choose_file": "Dosya seç", - "Choose_where_you_want_links_be_opened": "Bağlantıların açılmasını istediğiniz yeri seçin", - "Code": "Kod", - "Code_or_password_invalid": "Kod veya şifre geçersiz", - "Collaborative": "İşbirlikçi", - "Confirm": "Onayla", - "Connect": "Bağlan", - "Connected": "Bağlandı", - "connecting_server": "sunucuya bağlanıyor", - "Connecting": "Bağlanıyor...", - "Contact_us": "Bize ulaşın", - "Contact_your_server_admin": "Sunucu yöneticisiyle iletişime geçin.", - "Continue_with": "Devam et:", - "Copied_to_clipboard": "Panoya kopyalandı!", - "Copy": "Kopyala", - "Conversation": "Sohbet", - "Permalink": "Kalıcı bağlantı", - "Certificate_password": "Sertifika Şifresi", - "Clear_cache": "Yerel sunucu önbelleğini temizleyin", - "Clear_cache_loading": "Önbellek temizleniyor.", - "Whats_the_password_for_your_certificate": "Sertifikanızın şifresi nedir?", - "Create_account": "Hesap oluştur", - "Create_Channel": "Kanal Oluştur", - "Create_Direct_Messages": "Özel İleti Oluştur", - "Create_Discussion": "Tartışma Oluştur", - "Created_snippet": "kalıp oluşturdu", - "Create_a_new_workspace": "Çalışma alanı oluştur", - "Create": "Oluştur", - "Custom_Status": "Özelleştirilmiş durum", - "Dark": "Karanlık", - "Dark_level": "Karanlık Seviyesi", - "Default": "Varsayılan", - "Default_browser": "Varsayılan tarayıcı", - "Delete_Room_Warning": "Bir odanın silinmesi, oda içinde yayınlanan tüm iletileri silecektir. Bu geri alınamaz.", - "Department": "Bölüm", - "delete": "sil", - "Delete": "Sil", - "DELETE": "SİL", - "deleting_room": "oda siliniyor", - "description": "açıklama", - "Description": "Açıklama", - "Desktop_Options": "Masaüstü Seçenekleri", - "Desktop_Notifications": "Masaüstü Bildirimleri", - "Desktop_Alert_info": "Bu bildirimler masaüstünde teslim edilir", - "Directory": "Dizin", - "Direct_Messages": "Özel İletiler", - "Disable_notifications": "Bildirimleri devre dışı bırak", - "Discussions": "Tartışmalar", - "Discussion_Desc": "Neler olup bittiğini gözden geçirmeye yardımcı olun! Bir tartışma oluşturarak, seçtiğinizin bir alt kanalı oluşturulur ve her ikisi de bağlanır.", - "Discussion_name": "Tartışma adı", - "Done": "Tamamlandı", - "Dont_Have_An_Account": "Hesabın yok mu?", - "Do_you_have_an_account": "Hesabın var mı?", - "Do_you_have_a_certificate": "Sertifikanız var mı?", - "Do_you_really_want_to_key_this_room_question_mark": "Bu odayı gerçekten {{key}} istiyor musun?", - "E2E_Encryption": "Uçtan Uca Şifreleme (E2E)", - "E2E_How_It_Works_info1": "Artık şifrelenmiş özel gruplar ve doğrudan iletiler oluşturabilirsiniz. Mevcut özel grupları veya özel iletileri şifreli olarak da değiştirebilirsiniz.", - "E2E_How_It_Works_info2": "Bu, *Uçtan Uca Şifreleme'dir (E2E)*, böylece iletilerinizi şifrelemek / çözmek için anahtar ve bunlar sunucuya kaydedilmez. Bu nedenle *bu şifreyi daha sonra ihtiyaç duyduğunuzda erişebileceğiniz güvenli bir yerde* saklamanız gerekir.", - "E2E_How_It_Works_info3": "Devam ederseniz, otomatik olarak bir Uçtan Uca Şifreleme (E2E) şifresi oluşturulacaktır.", - "E2E_How_It_Works_info4": "Mevcut Uçtan Uca Şifreleme (E2E) şifresini, herhangi bir tarayıcıdan istediğiniz zaman girdiğiniz şifreleme anahtarınız için yeni bir şifre de ayarlayabilirsiniz.", - "edit": "düzenle", - "edited": "düzenlendi", - "Edit": "Düzenle", - "Edit_Status": "Durumu Düzenle", - "Edit_Invite": "Daveti Düzenle", - "End_to_end_encrypted_room": "Uçtan uca şifreli oda", - "end_to_end_encryption": "uçtan uca şifreleme", - "Email_Notification_Mode_All": "Tüm Bahsetmeler/Özel İletiler", - "Email_Notification_Mode_Disabled": "Devre Dışı", - "Email_or_password_field_is_empty": "E-posta veya şifre alanı boş", - "Email": "E-posta", - "email": "e-posta", - "Empty_title": "Boş başlık", - "Enable_Auto_Translate": "Otomatik Çeviriyi Etkinleştir", - "Enable_notifications": "Bildirimleri etkinleştir", - "Encrypted": "Şifreli", - "Encrypted_message": "Şifreli ileti", - "Enter_Your_E2E_Password": "Uçtan Uca Şifreleme (E2E) Şifrenizi Girin", - "Enter_Your_Encryption_Password_desc1": "Bu, şifrelenmiş özel gruplarınıza ve doğrudan iletilerinize erişmenize izin verecektir.", - "Enter_Your_Encryption_Password_desc2": "Sohbeti kullandığınız her yerde iletileri şifrelemek / çözmek için şifre girmeniz gerekir.", - "Encryption_error_title": "Şifreleme şifreniz yanlış görünüyor", - "Encryption_error_desc": "İçe aktarılacak şifreleme anahtarınızın kodu çözülemedi.", - "Everyone_can_access_this_channel": "Bu kanala herkes erişebilir", - "Error_uploading": "Yükleme hatası", - "Expiration_Days": "Geçerlilik Süresi (Gün)", - "Favorite": "Favori", - "Favorites": "Favoriler", - "Files": "Dosyalar", - "File_description": "Dosya açıklaması", - "File_name": "Dosya adı", - "Finish_recording": "Kaydı bitir", - "Following_thread": "Konu takip ediliyor", - "For_your_security_you_must_enter_your_current_password_to_continue": "Güvenliğiniz için, devam etmek için mevcut şifrenizi girmelisiniz", - "Forgot_password_If_this_email_is_registered": "Bu e-posta kayıtlıysa, şifrenizi nasıl sıfırlayacağınıza dair talimatlar göndereceğiz. Kısa süre içinde bir e-posta almazsanız, lütfen geri gelin ve tekrar deneyin.", - "Forgot_password": "Parolanızı mı unuttunuz?", - "Forgot_Password": "Parolamı Unuttum", - "Forward": "İlet", - "Forward_Chat": "Sohbete İlet", - "Forward_to_department": "Bölüme İlet", - "Forward_to_user": "Kullanıcıya İlet", - "Full_table": "Tam tabloyu görmek için tıklayın", - "Generate_New_Link": "Yeni Bağlantı Oluştur", - "Group_by_favorites": "Favorilere göre grupla", - "Group_by_type": "Türe göre grupla", - "Hide": "Gizle", - "Has_joined_the_channel": "kanala katıldı", - "Has_joined_the_conversation": "sohbete katıldı", - "Has_left_the_channel": "kanaldan ayrıldı", - "Hide_System_Messages": "Sistem İletilerını Gizle", - "Hide_type_messages": "\"{{type}}\" iletilerini gizle", - "How_It_Works": "Nasıl Çalışır", - "Message_HideType_uj": "Kullanıcı Katıldı", - "Message_HideType_ul": "Kullanıcı Ayrıldı", - "Message_HideType_ru": "Kullanıcı Kaldırıldı", - "Message_HideType_au": "Kullanıcı Eklendi", - "Message_HideType_mute_unmute": "Kullanıcı Sesi Kapatıldı / Sesi Açıldı", - "Message_HideType_r": "Oda Adı Değiştirildi", - "Message_HideType_ut": "Kullanıcı Sohbete Katıldı", - "Message_HideType_wm": "Hoşgeldiniz", - "Message_HideType_rm": "İleti Kaldırıldı", - "Message_HideType_subscription_role_added": "Rol Belirlendi", - "Message_HideType_subscription_role_removed": "Artık Kullanılmayan Rol", - "Message_HideType_room_archived": "Oda Arşivlendi", - "Message_HideType_room_unarchived": "Oda Arşivden Çıkarıldı", - "I_Saved_My_E2E_Password": "Uçtan Uca Şifreleme (E2E) Şifremi Kaydettim", - "IP": "IP", - "In_app": "Uygulama İçi", - "In_App_And_Desktop": "Uygulama İçi ve Masaüstü", - "In_App_and_Desktop_Alert_info": "Uygulama açıkken ekranın üst kısmında bir başlık görüntüler ve masaüstünde bir bildirim görüntüler", - "Invisible": "Görünmez", - "Invite": "Davet Et", - "is_a_valid_RocketChat_instance": "geçerli bir Rocket.Chat örneği", - "is_not_a_valid_RocketChat_instance": "geçerli bir Rocket.Chat örneği değil", - "is_typing": "yazıyor", - "Invalid_or_expired_invite_token": "Geçersiz veya süresi dolmuş davet belirteci (token)", - "Invalid_server_version": "Bağlanmaya çalıştığınız sunucu artık uygulama tarafından desteklenmeyen bir sürüm kullanıyor: {{currentVersion}}.\n\n{{minVersion}} sürümüne ihtiyacımız var", - "Invite_Link": "Davet Bağlantısı", - "Invite_users": "Kullanıcıları davet et", - "Join": "Katıl", - "Join_Code": "Katılım Kodu", - "Insert_Join_Code": "Katılım Kodu Girin", - "Join_our_open_workspace": "Açık çalışma alanımıza katılın", - "Join_your_workspace": "Çalışma alanınıza katılın", - "Just_invited_people_can_access_this_channel": "Yalnızca davet edilen kişiler bu kanala erişebilir", - "Language": "Dil", - "last_message": "son ileti", - "Leave_channel": "Kanaldan ayrıl", - "leaving_room": "odadan ayrılıyor", - "Leave": "Odadan ayrıl", - "leave": "ayrıl", - "Legal": "Yasal", - "Light": "Açık", - "License": "Lisans", - "Livechat": "Canlı Sohbet", - "Livechat_edit": "Canlı sohbeti düzenle", - "Login": "Oturum aç", - "Login_error": "Kimlik bilgileriniz reddedildi! Lütfen tekrar deneyin.", - "Login_with": "ile giriş", - "Logging_out": "Çıkış Yapılıyor", - "Logout": "Çıkış Yap", - "Max_number_of_uses": "Maksimum kullanım sayısı", - "Max_number_of_users_allowed_is_number": "İzin verilen maksimum kullanıcı sayısı {{maxUsers}}", - "members": "üyeler", - "Members": "Üyeler", - "Mentioned_Messages": "Bahsedilen İletiler", - "mentioned": "bahsedildi", - "Mentions": "Bahsetmeler", - "Message_accessibility": "{{user}} tarafından {{time}} itibarıyla ileti: {{message}}", - "Message_actions": "İleti işlemleri", - "Message_pinned": "İleti sabitlendi", - "Message_removed": "İleti kaldırıldı", - "Message_starred": "İletia yıldız eklendi", - "Message_unstarred": "İletiın yıldızı kaldırıldı", - "message": "ileti", - "messages": "iletiler", - "Message": "İleti", - "Messages": "İletiler", - "Message_Reported": "İleti bildirildi", - "Microphone_Permission_Message": "Rocket.Chat'in mikrofonunuza erişmesi gerekiyor, böylece sesli ileti gönderebilirsiniz.", - "Microphone_Permission": "Mikrofon İzni", - "Mute": "Sessize Al", - "muted": "sessize alındı", - "My_servers": "Sunucularım", - "N_people_reacted": "{{n}} kişi tepki verdi", - "N_users": "{{n}} kullanıcı", - "name": "isim", - "Name": "İsim", - "Navigation_history": "Gezinti geçmişi", - "Never": "Asla", - "New_Message": "Yeni İleti", - "New_Password": "Yeni Şifre", - "New_Server": "Yeni Sunucu", - "Next": "Sonraki", - "No_files": "Dosya yok", - "No_limit": "Limit yok", - "No_mentioned_messages": "Belirtilen ileti yok", - "No_pinned_messages": "Sabitlenmiş ileti yok", - "No_results_found": "Sonuç bulunamadı", - "No_starred_messages": "Yıldızlı ileti yok", - "No_thread_messages": "Konu iletisi yok", - "No_label_provided": "Hiç {{label}} sağlanmadı.", - "No_Message": "İleti Yok", - "No_messages_yet": "Şu ana kadar ileti yok", - "No_Reactions": "Tepki Yok", - "No_Read_Receipts": "Okundu Bilgisi Yok", - "Not_logged": "Kayıtlı değil", - "Not_RC_Server": "Bu bir Rocket.Chat sunucusu değil.\n{{contact}}", - "Nothing": "Hiçbir Şey", - "Nothing_to_save": "Kaydedilecek bir şey yok!", - "Notify_active_in_this_room": "Bu odadaki çevrimiçi kullanıcıları bilgilendir", - "Notify_all_in_this_room": "Bu odadaki herkesi bilgilendir", - "Notifications": "Bildirimler", - "Notification_Duration": "Bildirim Süresi", - "Notification_Preferences": "Bildirim Tercihleri", - "No_available_agents_to_transfer": "Aktarılacak yemsilci yok", - "Offline": "Çevrimdışı", - "Oops": "Ahh!", - "Omnichannel": "Çoklu Kanal", - "Open_Livechats": "Devam Eden Sohbetler", - "Omnichannel_enable_alert": "Çoklu Kanal'da mevcut değilsiniz. Erişilebilir olmak ister misiniz?", - "Onboarding_description": "Çalışma alanı, ekibinizin veya kuruluşunuzun işbirliği alanıdır. Çalışma alanı yöneticisinden bir ekibe katılmak veya bir ekip oluşturmak için yardım isteyin.", - "Onboarding_join_workspace": "Bir çalışma alanına katılın", - "Onboarding_subtitle": "Ekip İşbirliğinin Ötesinde", - "Onboarding_title": "Rocket.Chat'e hoş geldiniz", - "Onboarding_join_open_description": "Rocket.Chat ekibi ve topluluğu ile sohbet etmek için açık çalışma alanımıza katılın.", - "Onboarding_agree_terms": "Devam ederek Rocket.Chat'i kabul etmiş olursunuz", - "Onboarding_less_options": "Daha az seçenek", - "Onboarding_more_options": "Daha çok seçenek", - "Online": "Çevrimiçi", - "Only_authorized_users_can_write_new_messages": "Yalnızca yetkili kullanıcılar yeni ileti yazabilir", - "Open_emoji_selector": "Emoji seçiciyi aç", - "Open_Source_Communication": "Açık Kaynak İletişim", - "Open_your_authentication_app_and_enter_the_code": "Kimlik doğrulama uygulamanızı açın ve kodu girin.", - "OR": "OR", - "OS": "OS", - "Overwrites_the_server_configuration_and_use_room_config": "Sunucu yapılandırmasının üzerine yazar ve oda yapılandırmasını kullanır", - "Password": "Şifre", - "Parent_channel_or_group": "Üst kanal veya grup", - "Permalink_copied_to_clipboard": "Kalıcı bağlantı panoya kopyalandı!", - "Phone": "Telefon", - "Pin": "Sabitle", - "Pinned_Messages": "Sabitlenen İletiler", - "pinned": "sabitlendi", - "Pinned": "Sabitlendi", - "Please_add_a_comment": "Lütfen bir yorum ekleyin", - "Please_enter_your_password": "Lütfen şifrenizi giriniz", - "Please_wait": "Lütfen bekle.", - "Preferences": "Tercihler", - "Preferences_saved": "Tercihler kaydedildi!", - "Privacy_Policy": " Privacy Policy", - "Private_Channel": "Özel Kanal", - "Private": "Özel", - "Processing": "İşleniyor...", - "Profile_saved_successfully": "Profil başarıyla kaydedildi!", - "Profile": "Profil", - "Public_Channel": "Herkese Açık Kanal", - "Public": "Herkese Açık", - "Push_Notifications": "Anlık Bildirimler", - "Push_Notifications_Alert_Info": "Bu bildirimler, uygulama açık olmadığında size teslim edilir", - "Quote": "Alıntı", - "Reactions_are_disabled": "Tepkiler devre dışı bırakıldı", - "Reactions_are_enabled": "Tepkiler etkinleştirildi", - "Reactions": "Tepkiler", - "Read": "Oku", - "Read_External_Permission_Message": "Rocket.Chat'in cihazınızdaki fotoğraflara, medyaya ve dosyalara erişmesi gerekiyor", - "Read_External_Permission": "Medya Okuma İzni ", - "Read_Only_Channel": "Yazma Kısıtlı Kanal", - "Read_Only": "Yazma Kısıtlı", - "Read_Receipt": "Okundu Bilgisi", - "Receive_Group_Mentions": "Grup Bahsetmelerini Al", - "Receive_Group_Mentions_Info": "Grup bahsetmelerini al", - "Register": "Kayıt Ol", - "Repeat_Password": "Şifre Tekrarı", - "Replied_on": "Yanıtlandı:", - "replies": "yanıtlar", - "reply": "yanıtla", - "Reply": "Yanıtla", - "Report": "Bildir", - "Receive_Notification": "Bildirim Al", - "Receive_notifications_from": "{{name}} bildirimlerini alın", - "Resend": "Yeniden yolla", - "Reset_password": "Şifre sıfırla", - "resetting_password": "şifre sıfırlanıyor", - "RESET": "SIFIRLA", - "Return": "Geri dön", - "Review_app_title": "Uygulama hoşunuza gitti mi?", - "Review_app_desc": "{{store}} üzerinde bize 5 yıldız verin", - "Review_app_yes": "Elbette!", - "Review_app_no": "Hayır", - "Review_app_later": "Belki daha sonra", - "Review_app_unable_store": "{{store}} açılamıyor!", - "Review_this_app": "Bu uygulamayı değerlendirin", - "Remove": "Kaldır", - "Roles": "Roller", - "Room_actions": "Oda işlemleri", - "Room_changed_announcement": "Oda duyurusu, {{userBy}} tarafından {{announcement}} olarak değiştirildi", - "Room_changed_avatar": "Oda profil fotoğrafı {{userBy}} tarafından değiştirildi", - "Room_changed_description": "Oda açıklaması, {{userBy}} tarafından {{description}} olarak değiştirildi", - "Room_changed_topic": "Oda konusu, {{userBy}} tarafından {{topic}} olarak değiştirildi", - "Room_Files": "Oda Dosyaları", - "Room_Info_Edit": "Oda Bilgilerini Düzenle", - "Room_Info": "Oda Bilgisi", - "Room_Members": "Oda Üyeleri", - "Room_name_changed": "Oda adı, {{userBy}} tarafından {{name}} olarak değiştirildi", - "SAVE": "KAYDET", - "Save_Changes": "Değişiklikleri Kaydet", - "Save": "Kaydet", - "Saved": "Kaydedildi", - "saving_preferences": "tercihler kaydediliyor", - "saving_profile": "profil kaydediliyor", - "saving_settings": "ayarlar kaydediliyor", - "saved_to_gallery": "Galeriye kaydedildi", - "Save_Your_E2E_Password": "(E2E) Şifrenizi Kaydedin", - "Save_Your_Encryption_Password": "Şifreleme Parolanızı Kaydedin", - "Save_Your_Encryption_Password_warning": "Bu parola hiçbir yerde saklanmadığından başka bir yere dikkatlice kaydedin.", - "Save_Your_Encryption_Password_info": "Parolanızı kaybettiğinizde, kurtarmanın bir yolu olmadığını ve iletilerinize erişiminizi kaybedeceğinizi unutmayın.", - "Search_Messages": "İleti ara", - "Search": "Ara", - "Search_by": "Ara", - "Search_global_users": "Global kullanıcıları ara", - "Search_global_users_description": "Açarsanız, diğer şirketlerden veya sunuculardan herhangi bir kullanıcıyı arayabilirsiniz.", - "Seconds": "{{second}} saniye", - "Security_and_privacy": "Güvenlik ve gizlilik", - "Select_Avatar": "Profil resmi seç", - "Select_Server": "Sunucu seç", - "Select_Users": "Kullanıcıları seç", - "Select_a_Channel": "Kanal Seç", - "Select_a_Department": "Bölüm Seç", - "Select_an_option": "Bir seçenek seçin", - "Select_a_User": "Kullanıcı Seç", - "Send": "Yolla", - "Send_audio_message": "Sesli ileti gönder", - "Send_crash_report": "Çökme raporu gönder", - "Send_message": "İleti gönder", - "Send_me_the_code_again": "Kodu tekrar gönder", - "Send_to": "Gönderiliyor...", - "Sending_to": "Gönderiliyor:", - "Sent_an_attachment": "Bir ek gönderildi", - "Server": "Sunucu", - "Servers": "Sunucular", - "Server_version": "Sunucu versiyonu: {{version}}", - "Set_username_subtitle": "Kullanıcı adı başkalarının iletilerde sizden bahsetmesine izin vermek için kullanılır", - "Set_custom_status": "Özelleştirilmiş durumu ayarlayın", - "Set_status": "Durumu ayarla", - "Status_saved_successfully": "Durum başarıyla kaydedildi!", - "Settings": "Ayarlar", - "Settings_succesfully_changed": "Ayarlar başarıyla değiştirildi!", - "Share": "Paylaş", - "Share_Link": "Bağlantı paylaş", - "Share_this_app": "Bu uygulamayı paylaş", - "Show_more": "Daha fazla göster..", - "Show_Unread_Counter": "Okunmamış Sayacını Göster", - "Show_Unread_Counter_Info": "Okunmamış sayacı, listede kanalın sağ tarafında bir rozet olarak görüntülenir", - "Sign_in_your_server": "Sunucunuzda oturum açın", - "Sign_Up": "Kaydol", - "Some_field_is_invalid_or_empty": "Bazı alanlar geçersiz veya boş", - "Sorting_by": "{{key}} göre sıralanıyor", - "Sound": "Ses", - "Star_room": "Odayı Yıldızla", - "Star": "Yıldızla", - "Starred_Messages": "Yıldızlı İletiler", - "starred": "yıldızlandı", - "Starred": "Yıldızlandı", - "Start_of_conversation": "Konuşma başlangıcı", - "Start_a_Discussion": "Tartışma Başlat", - "Started_discussion": "Bir tartışma başlattı:", - "Started_call": "Arama {{userBy}} tarafından başlatıldı", - "Submit": "Kaydet", - "Table": "Tablo", - "Tags": "Etiketler", - "Take_a_photo": "Fotoğraf çek", - "Take_a_video": "Video çek", - "Take_it": "Al!", - "tap_to_change_status": "durumu değiştirmek için dokunun", - "Tap_to_view_servers_list": "Sunucu listesini görüntülemek için dokunun", - "Terms_of_Service": " Kullanım Şartları ", - "Theme": "Tema", - "The_user_wont_be_able_to_type_in_roomName": "Kullanıcı {{roomName}} içinde yazamayacak", - "The_user_will_be_able_to_type_in_roomName": "Kullanıcı {{roomName}} içinde yazabilecek", - "There_was_an_error_while_action": "{{action}} sırasında bir hata oluştu!", - "This_room_is_blocked": "Bu oda engellendi", - "This_room_is_read_only": "Bu oda yazma kısıtlı", - "Thread": "Başlık", - "Threads": "Başlıklar", - "Timezone": "Saat dilimi", - "To": "Kime", - "topic": "konu", - "Topic": "Konu", - "Translate": "Çevir", - "Try_again": "Tekrar deneyin", - "Two_Factor_Authentication": "İki faktörlü Kimlik Doğrulama", - "Type_the_channel_name_here": "Kanal adını buraya yazın", - "unarchive": "arşivden çıkar", - "UNARCHIVE": "ARŞİVDEN ÇIKAR", - "Unblock_user": "Kullanıcının engelini kaldır", - "Unfavorite": "Favorilerden Çıkar", - "Unfollowed_thread": "Takip edilmeyen başlık", - "Unmute": "Sesi Aç", - "unmuted": "Sesi Açıldı", - "Unpin": "Sabitlemeyi kaldır", - "unread_messages": "okunmamış", - "Unread": "Okunmamış", - "Unread_on_top": "Okunmamışlar üstte", - "Unstar": "Yıldızı kaldır", - "Updating": "Güncelleniyor...", - "Uploading": "Gönderiliyor", - "Upload_file_question_mark": "Dosya gönderilsin mi?", - "User": "Kullanıcı", - "Users": "Kullanıcılar", - "User_added_by": "{{userAdded}} adlı kullanıcı {{userBy}} tarafından eklendi", - "User_Info": "Kullanıcı bilgisi", - "User_has_been_key": "Kullanıcı {{key}} olmuştur", - "User_is_no_longer_role_by_": "{{user}} artık {{role}} değil ({{userBy}} tarafından)", - "User_muted_by": "{{userMuted}} adlı kullanıcının sesini {{userBy}} kapattı", - "User_removed_by": "{{userRemoved}} kullanıcısı {{userBy}} tarafından kaldırıldı", - "User_sent_an_attachment": "{{user}} bir ek gönderdi", - "User_unmuted_by": "{{userUnmuted}} kullanıcısının sesi {{userBy}} tarafından açıldı", - "User_was_set_role_by_": "{{user}}, {{userBy}} tarafından {{role}} ayarlandı", - "Username_is_empty": "Kullanıcı adı boş!", - "Username": "Kullanıcı adı", - "Username_or_email": "Kullanıcı adı ya da e-posta", - "Uses_server_configuration": "Sunucu yapılandırmasını kullanır", - "Validating": "Doğrulanıyor", - "Registration_Succeeded": "Kayıt Başarılı!", - "Verify": "Onayla", - "Verify_email_title": "Kaydınızı onaylayın!", - "Verify_email_desc": "Kaydınızı onaylamak için size bir e-posta gönderdik. Kısa süre içinde bir e-posta almazsanız, lütfen geri gelin ve tekrar deneyin.", - "Verify_your_email_for_the_code_we_sent": "Gönderdiğimiz kod için e-postanızı doğrulayın", - "Video_call": "Görüntülü arama", - "View_Original": "Orijinali Görüntüle", - "Voice_call": "Sesli arama", - "Waiting_for_network": "Ağ bağlantısı bekleniyor ...", - "Websocket_disabled": "Bu sunucu için Websocket devre dışı bırakıldı.\n{{contact}}", - "Welcome": "Hoşgeldiniz", - "What_are_you_doing_right_now": "Şu an ne yapıyorsun?", - "Whats_your_2fa": "2 faktör doğrulama (2FA) kodunuz nedir?", - "Without_Servers": "Sunucusuz", - "Workspaces": "Çalışma alanları", - "Would_you_like_to_return_the_inquiry": "Başvuruyu geri çevirmek ister misiniz?", - "Write_External_Permission_Message": "Rocket.Chat'in galerinize erişmesi gerekiyor, böylece resimleri kaydedebilirsiniz.", - "Write_External_Permission": "Galeri İzni", - "Yes": "Evet", - "Yes_action_it": "Evet, {{action}}!", - "Yesterday": "Dün", - "You_are_in_preview_mode": "İzleme modundasınız", - "You_are_offline": "Çevrimdışısınız", - "You_can_search_using_RegExp_eg": "Düzenli ifadeleri (Regular Expressions) kullanabilirsiniz. Örneğin: `/^text$/i`", - "You_colon": "Siz: ", - "you_were_mentioned": "senden bahsedildi", - "You_were_removed_from_channel": "{{channel}} kanalından çıkarıldınız", - "you": "siz", - "You": "Siz", - "Logged_out_by_server": "Sunucu tarafından çıkış yaptınız. Lütfen tekrar giriş yapın.", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Bir şeyler paylaşmak için Rocket.Chat sunucusuna erişmeniz gerekir.", - "You_need_to_verifiy_your_email_address_to_get_notications": "Bildirim almak için e-posta adresinizi doğrulamanız gerekiyor", - "Your_certificate": "Sertifikanız", - "Your_invite_link_will_expire_after__usesLeft__uses": "Davet bağlantınızın geçerliliği {{usesLeft}} kullanımdan sonra sona erecek.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Davet bağlantınızın geçerliliği {{date}} tarihinde veya {{usesLeft}} kullanımdan sonra sona erecek.", - "Your_invite_link_will_expire_on__date__": "Davet bağlantınızın geçerlilik süresi {{date}} tarihinde sona erecek.", - "Your_invite_link_will_never_expire": "Davet bağlantınızın geçerlilik süresi asla dolmayacak.", - "Your_workspace": "Çalışma alanınız", - "Your_password_is": "Şifreniz", - "Version_no": "Versiyon: {{version}}", - "You_will_not_be_able_to_recover_this_message": "Bu iletiyi kurtaramayacaksınız!", - "You_will_unset_a_certificate_for_this_server": "Bu sunucu için bir sertifika ayarını kaldıracaksınız", - "Change_Language": "Dili değiştir", - "Crash_report_disclaimer": "Sohbetlerinizin içeriğini asla takip etmiyoruz. Çökme raporu ve analiz olayları, sorunları tanımlamak ve düzeltmek için yalnızca bizim için ilgili bilgileri içerir.", - "Type_message": "İleti yaz", - "Room_search": "Oda arama", - "Room_selection": "Oda seçimi 1...9", - "Next_room": "Sonraki oda", - "Previous_room": "Önceki oda", - "New_room": "Yeni oda", - "Upload_room": "Odaya yükle", - "Search_messages": "İletilerda ara", - "Scroll_messages": "İletilerı kaydır", - "Reply_latest": "Sonuncuyu yanıtla", - "Reply_in_Thread": "Konu içinde cevapla", - "Server_selection": "Sunucu seçimi", - "Server_selection_numbers": "Sunucu seçimi 1...9", - "Add_server": "Sunucu ekle", - "New_line": "Yeni satır", - "You_will_be_logged_out_of_this_application": "Bu uygulamadan çıkış yapacaksınız.", - "Clear": "Temizle", - "This_will_clear_all_your_offline_data": "Bu, tüm çevrimdışı verilerinizi temizleyecektir.", - "This_will_remove_all_data_from_this_server": "Bu, bu sunucudaki tüm verileri kaldıracaktır.", - "Mark_unread": "Okunmadı olarak işaretle", - "Wait_activation_warning": "Giriş yapmadan önce, hesabınız bir yönetici tarafından manuel olarak etkinleştirilmelidir.", - "Screen_lock": "Ekran kilidi", - "Local_authentication_biometry_title": "Doğrula", - "Local_authentication_biometry_fallback": "Parola kullan", - "Local_authentication_unlock_option": "Şifre ile Kilidi Açın", - "Local_authentication_change_passcode": "Parolayı Değiştir", - "Local_authentication_info": "Not: Parolayı unutursanız, uygulamayı silmeniz ve yeniden yüklemeniz gerekir.", - "Local_authentication_facial_recognition": "yüz tanıma", - "Local_authentication_fingerprint": "parmak izi", - "Local_authentication_unlock_with_label": "{{label}} ile kilidi açın", - "Local_authentication_auto_lock_60": "1 dakika sonra", - "Local_authentication_auto_lock_300": "5 dakika sonra", - "Local_authentication_auto_lock_900": "15 dakika sonra", - "Local_authentication_auto_lock_1800": "30 dakika sonra", - "Local_authentication_auto_lock_3600": "1 saat sonra", - "Passcode_enter_title": "Şifrenizi giriniz", - "Passcode_choose_title": "Yeni şifrenizi yazın", - "Passcode_choose_confirm_title": "Yeni şifrenizi onaylayın", - "Passcode_choose_error": "Parolalar eşleşmiyor. Tekrar deneyin.", - "Passcode_choose_force_set": "Yönetici tarafından istenen şifre", - "Passcode_app_locked_title": "Uygulama kilitlendi", - "Passcode_app_locked_subtitle": "{{timeLeft}} saniye içinde tekrar deneyin", - "After_seconds_set_by_admin": "{{seconds}} saniye sonra (yönetici tarafından belirlenir)", - "Dont_activate": "Şimdi etkinleştirme", - "Queued_chats": "Sıralı sohbetler", - "Queue_is_empty": "Sıra boş", - "Logout_from_other_logged_in_locations": "Giriş yapılan diğer konumlardan çıkış yap", - "You_will_be_logged_out_from_other_locations": "Diğer konumlardan çıkış yapacaksınız.", - "Logged_out_of_other_clients_successfully": "Diğer istemcilerden başarıyla çıkış yapıldı", - "Logout_failed": "Oturum kapatma başarısız oldu!", - "Log_analytics_events": "Olayları günlüğe kaydet", - "E2E_encryption_change_password_title": "Şifreleme Parolasını Değiştir", - "E2E_encryption_change_password_description": "Artık şifrelenmiş özel gruplar ve doğrudan iletiler oluşturabilirsiniz. Mevcut özel grupları veya özel iletileri şifreli olarak da değiştirebilirsiniz. \nBu uçtan uca şifrelemedir, bu nedenle iletilerinizi şifrelemek / çözmek için kullanılan anahtar sunucuya kaydedilmez. Bu nedenle şifrenizi güvenli bir yerde saklamanız gerekir. Uçtan uca şifrelemeyi (E2E) kullanmak istediğiniz diğer cihazlara girmeniz istenecektir.", - "E2E_encryption_change_password_error": "Uçtan uca şifreleme (E2E) anahtar şifresi değiştirilirken hata!", - "E2E_encryption_change_password_success": "Uçtan uca şifreleme (E2E) anahtar şifresi başarıyla değiştirildi!", - "E2E_encryption_change_password_message": "Dikkatlice kaydettiğinizden emin olun.", - "E2E_encryption_change_password_confirmation": "Evet, değiştir!", - "E2E_encryption_reset_title": "Uçtan uca şifreleme (E2E) Anahtarını Sıfırla", - "E2E_encryption_reset_description": "Bu seçenek mevcut uçtan uca şifreleme (E2E) anahtarınızı kaldıracak ve oturumu kapatacaktır. \nTekrar oturum açtığınızda, Rocket.Chat size yeni bir anahtar oluşturacak ve çevrimiçi olarak bir veya daha fazla üyesi olan şifreli herhangi bir odaya erişiminizi geri yükleyecektir. \nUçtan uca şifrelemenin (E2E) doğası gereği Rocket.Chat, çevrimiçi üyesi olmayan hiçbir şifreli odaya erişimi geri yükleyemez.", - "E2E_encryption_reset_button": "Uçtan uca şifreleme (E2E) anahtarını sıfırla", - "E2E_encryption_reset_error": "Uçtan uca şifreleme (E2E) anahtarı sıfırlanırken hata!", - "E2E_encryption_reset_message": "Oturumunuz kapatılacak!", - "E2E_encryption_reset_confirmation": "Evet, sıfırla", - "Following": "Takip ediliyor", - "Threads_displaying_all": "Tüm konular görüntüleniyor", - "Threads_displaying_following": "Takip edilen konular görüntüleniyor", - "Threads_displaying_unread": "Okunmamış konular görüntüleniyor", - "No_threads": "Konu yok", - "No_threads_following": "Herhangi bir konuyu takip etmiyorsunuz", - "No_threads_unread": "Okunmamış konu yok", - "Messagebox_Send_to_channel": "Kanala gönder", - "Remove_from_room": "Odadan çıkar", - "Ignore": "Yok say", - "Unignore": "Yok sayma", - "User_has_been_ignored": "Kullanıcı yok sayıldı.", - "User_has_been_unignored": "Kullanıcı artık yok sayılmıyor.", - "User_has_been_removed_from_s": "Kullanıcı {{s}} alanından kaldırıldı.", - "User__username__is_now_a_leader_of__room_name_": "{{username}} kullanıcısı artık {{room_name}} lideridir.", - "User__username__is_now_a_moderator_of__room_name_": "{{username}} kullanıcısı artık bir {{room_name}} moderatörüdür.", - "User__username__is_now_a_owner_of__room_name_": "{{username}} kullanıcısı artık {{room_name}} adlı odanın sahibidir.", - "User__username__removed_from__room_name__leaders": "{{username}} adlı kullanıcı, {{room_name}} liderlerinden kaldırıldı.", - "User__username__removed_from__room_name__moderators": "{{username}} adlı kullanıcı, {{room_name}} moderatörlerinden kaldırıldı.", - "User__username__removed_from__room_name__owners": "{{username}} adlı kullanıcı, {{room_name}} sahiplerinden kaldırıldı.", - "The_user_will_be_removed_from_s": "Kullanıcı, {{s}} alanından kaldırılacak!", - "Yes_remove_user": "Evet, kullanıcıyı kaldır!", - "Direct_message": "Özel ileti", - "Message_Ignored": "İleti yok sayıldı. Görüntülemek için dokunun.", - "Enter_workspace_URL": "Çalışma alanı URL'nizi girin", - "Workspace_URL_Example": "Örn. sirketiniz.rocket.chat", - "invalid-room": "Geçersiz oda" -} + "1_person_reacted": "1 kişi tepki verdi.", + "1_user": "1 kullanıcı", + "error-action-not-allowed": "{{action}}'a izin verilmiyor!", + "error-application-not-found": "Uygulama bulunamadı!", + "error-archived-duplicate-name": "{{room_name}} adında arşivlenmiş bir kanal var!", + "error-avatar-invalid-url": "Geçersiz avatar URL'si: {{url}}", + "error-avatar-url-handling": "{{username}} için bir URL'den ({{url}}) avatar ayarı işlenirken hata oluştu!", + "error-cant-invite-for-direct-room": "Kullanıcı özel odalara davet edilemedi!", + "error-could-not-change-email": "E-posta değiştirilemedi!", + "error-could-not-change-name": "İsim değiştirilemedi!", + "error-could-not-change-username": "Kullanıcı adı değiştirilemedi!", + "error-could-not-change-status": "Durum değiştirilemedi!", + "error-delete-protected-role": "Korunan bir rol silinemez!", + "error-department-not-found": "Bölüm bulunamadı!", + "error-direct-message-file-upload-not-allowed": "Özel iletilerde dosya paylaşımına izin verilmiyor!", + "error-duplicate-channel-name": "{{room_name}} adında bir kanal var!", + "error-email-domain-blacklisted": "E-posta alan adı kara listeye alındı!", + "error-email-send-failed": "E-posta göndermeye çalışırken hata oluştu: {{message}}", + "error-save-image": "Görüntüyü kaydederken hata oluştu!", + "error-save-video": "Videoyu kaydederken hata oluştu!", + "error-field-unavailable": "{{field}} zaten kullanılıyor! :(", + "error-file-too-large": "Dosya çok büyük!", + "error-importer-not-defined": "İçe aktarıcı doğru tanımlanmadı, \"Import\" sınıfı eksik!", + "error-input-is-not-a-valid-field": "{{input}} geçerli bir {{field}} değil!", + "error-invalid-actionlink": "Geçersiz işlem bağlantısı!", + "error-invalid-arguments": "Geçersiz parametreler!", + "error-invalid-asset": "Geçersiz veri!", + "error-invalid-channel": "Geçersiz kanal.", + "error-invalid-channel-start-with-chars": "Geçersiz kanal! @ veya # ile başlayın.", + "error-invalid-custom-field": "Geçersiz özelleştirilmiş alan", + "error-invalid-custom-field-name": "Geçersiz özelleştirilmiş alan adı! Yalnızca harf, rakam, kısa çizgi ve alt çizgi kullanın.", + "error-invalid-date": "Geçersiz tarih!", + "error-invalid-description": "Geçersiz açıklama!", + "error-invalid-domain": "Geçersiz alan adı!", + "error-invalid-email": "Geçersiz e-posta {{email}}!", + "error-invalid-email-address": "Geçersiz e-posta adresi!", + "error-invalid-file-height": "Geçersiz fotoğraf yüksekliği!", + "error-invalid-file-type": "Geçersiz dosya türü!", + "error-invalid-file-width": "Geçersiz fotoğraf genişliği!", + "error-invalid-from-address": "Geçersiz bir KİMDEN adresi bildirdiniz!", + "error-invalid-integration": "Geçersiz entegrasyon", + "error-invalid-message": "Geçersiz ileti!", + "error-invalid-method": "Geçersiz metot!", + "error-invalid-name": "Geçersiz isim!", + "error-invalid-password": "Geçersiz şifre!", + "error-invalid-redirectUri": "Geçersiz yönlendirme bağlantısı!", + "error-invalid-role": "Geçersiz rol!", + "error-invalid-room": "Geçersiz oda!", + "error-invalid-room-name": "{{room_name}}, geçerli bir oda adı değil!", + "error-invalid-room-type": "{{type}}, geçerli bir oda türü değil!", + "error-invalid-settings": "Geçersiz ayar!", + "error-invalid-subscription": "Geçersiz başvuru!", + "error-invalid-token": "Geçersiz belirteç!", + "error-invalid-triggerWords": "Geçersiz tetikleyici parametreleri!", + "error-invalid-urls": "Geçersiz URL'ler!", + "error-invalid-user": "Geçersiz kullanıcı!", + "error-invalid-username": "Geçersiz kullanıcı adı!", + "error-invalid-webhook-response": "İstek URL'si 200'den farklı bir durumla yanıt verdi!", + "error-message-deleting-blocked": "İleti silme engellendi!", + "error-message-editing-blocked": "İleti düzenleme engellendi", + "error-message-size-exceeded": "İleti boyutu, Message_MaxAllowedSize değerini aşıyor", + "error-missing-unsubscribe-link": "[unsubscribe] bağlantısını belirtmelisiniz.", + "error-no-tokens-for-this-user": "Bu kullanıcı için belirteç (token) yok", + "error-not-allowed": "İzin verilmedi", + "error-not-authorized": "Yetkili değil", + "error-push-disabled": "Push devre dışı", + "error-remove-last-owner": "Lütfen bunu kaldırmadan önce yeni bir sahip belirleyin.", + "error-role-in-use": "Rol kullanımda olduğu için silinemiyor", + "error-role-name-required": "Rol adı gerekli", + "error-the-field-is-required": "{{field}} alanı gereklidir.", + "error-too-many-requests": "Hata, çok fazla istek. Lütfen yavaşla. Tekrar denemeden önce {{seconds}} saniye beklemelisiniz.", + "error-user-is-not-activated": "Kullanıcı etkinleştirilmedi!", + "error-user-has-no-roles": "Kullanıcıya tanımlı rol yok!", + "error-user-limit-exceeded": "#channel_name kanalına davet etmeye çalıştığınız kullanıcıların sayısı, yönetici tarafından belirlenen sınırı aşıyor!", + "error-user-not-in-room": "Kullanıcı bu odada değil!", + "error-user-registration-custom-field": "error-user-registration-custom-field", + "error-user-registration-disabled": "Kullanıcı kaydı devre dışı bırakıldı!", + "error-user-registration-secret": "Kullanıcı kaydına yalnızca Gizli URL aracılığıyla izin verilir!", + "error-you-are-last-owner": "Son sahibi sizsiniz. Lütfen odadan ayrılmadan önce yeni bir sahip belirleyin.", + "Actions": "İşlemler", + "Activity": "Etkinlik", + "Add_Reaction": "Tepki ekle", + "Add_Server": "Sunucu ekle", + "Add_users": "Kullanıcı ekle", + "Admin_Panel": "Yönetim Paneli", + "Agent": "Temsilci", + "Alert": "Uyarı", + "alert": "uyarı", + "alerts": "uyarılar", + "All_users_in_the_channel_can_write_new_messages": "Kanaldaki tüm kullanıcılar yeni ileti yazabilir!", + "A_meaningful_name_for_the_discussion_room": "Tartışma odası için anlamlı bir isim", + "All": "Tümü", + "All_Messages": "Tüm İletiler", + "Allow_Reactions": "Tüm Tepkiler", + "Alphabetical": "Alfabetik", + "and_more": "ve daha", + "and": "ve", + "announcement": "duyuru", + "Announcement": "Duyuru", + "Apply_Your_Certificate": "Sertifikanızı Onaylayın", + "ARCHIVE": "ARŞİVLE", + "archive": "arşivle", + "are_typing": "yazıyor", + "Are_you_sure_question_mark": "Emin misiniz?", + "Are_you_sure_you_want_to_leave_the_room": "{{room}} odasından ayrılmak istediğinizden emin misiniz?", + "Audio": "Ses", + "Authenticating": "Doğrulanıyor", + "Automatic": "Otomatik", + "Auto_Translate": "Otomatik Çevir", + "Avatar_changed_successfully": "Profil fotoğrafı başarıyla değiştirildi!", + "Avatar_Url": "Profil fotoğrafı URL'si", + "Away": "Uzakta", + "Back": "Geri", + "Black": "Koyu", + "Block_user": "Kullanıcıyı engelle", + "Browser": "Tarayıcı", + "Broadcast_channel_Description": "Yalnızca yetkili kullanıcılar yeni ileti yazabilir, ancak diğer kullanıcılar yanıt verebilir", + "Broadcast_Channel": "Kanala Yayınla", + "Busy": "Meşgul", + "By_proceeding_you_are_agreeing": "Devam ederek kabul ediyorsunuz: ", + "Cancel_editing": "Düzenlemeyi iptal et", + "Cancel_recording": "Kaydı iptal et", + "Cancel": "İptal et", + "changing_avatar": "profil fotoğrafı değiştirme", + "creating_channel": "kanal açılıyor", + "creating_invite": "davet üretiliyor", + "Channel_Name": "Kanal Adı", + "Channels": "Kanallar", + "Chats": "Sohbetler", + "Call_already_ended": "Çağrı sona erdi!", + "Clear_cookies_alert": "Tüm çerezleri temizlemek istiyor musunuz?", + "Clear_cookies_desc": "Bu işlem, tüm oturum açma çerezlerini temizleyerek diğer hesaplara giriş yapmanıza olanak tanır.", + "Clear_cookies_yes": "Evet, çerezleri temizle", + "Clear_cookies_no": "Hayır, çerezleri koru", + "Click_to_join": "Katılmak için tıklayın!", + "Close": "Kapat", + "Close_emoji_selector": "Emoji seçiciyi kapat", + "Closing_chat": "Sohbet kapatılıyor", + "Change_language_loading": "Dil değiştiriliyor", + "Chat_closed_by_agent": "Sohbet temsilci tarafından kapatıldı", + "Choose": "Seç", + "Choose_from_library": "Kütüphaneden seç", + "Choose_file": "Dosya seç", + "Choose_where_you_want_links_be_opened": "Bağlantıların açılmasını istediğiniz yeri seçin", + "Code": "Kod", + "Code_or_password_invalid": "Kod veya şifre geçersiz", + "Collaborative": "İşbirlikçi", + "Confirm": "Onayla", + "Connect": "Bağlan", + "Connected": "Bağlandı", + "connecting_server": "sunucuya bağlanıyor", + "Connecting": "Bağlanıyor...", + "Contact_us": "Bize ulaşın", + "Contact_your_server_admin": "Sunucu yöneticisiyle iletişime geçin.", + "Continue_with": "Devam et:", + "Copied_to_clipboard": "Panoya kopyalandı!", + "Copy": "Kopyala", + "Conversation": "Sohbet", + "Permalink": "Kalıcı bağlantı", + "Certificate_password": "Sertifika Şifresi", + "Clear_cache": "Yerel sunucu önbelleğini temizleyin", + "Clear_cache_loading": "Önbellek temizleniyor.", + "Whats_the_password_for_your_certificate": "Sertifikanızın şifresi nedir?", + "Create_account": "Hesap oluştur", + "Create_Channel": "Kanal Oluştur", + "Create_Direct_Messages": "Özel İleti Oluştur", + "Create_Discussion": "Tartışma Oluştur", + "Created_snippet": "kalıp oluşturdu", + "Create_a_new_workspace": "Çalışma alanı oluştur", + "Create": "Oluştur", + "Custom_Status": "Özelleştirilmiş durum", + "Dark": "Karanlık", + "Dark_level": "Karanlık Seviyesi", + "Default": "Varsayılan", + "Default_browser": "Varsayılan tarayıcı", + "Delete_Room_Warning": "Bir odanın silinmesi, oda içinde yayınlanan tüm iletileri silecektir. Bu geri alınamaz.", + "Department": "Bölüm", + "delete": "sil", + "Delete": "Sil", + "DELETE": "SİL", + "deleting_room": "oda siliniyor", + "description": "açıklama", + "Description": "Açıklama", + "Desktop_Options": "Masaüstü Seçenekleri", + "Desktop_Notifications": "Masaüstü Bildirimleri", + "Desktop_Alert_info": "Bu bildirimler masaüstünde teslim edilir", + "Directory": "Dizin", + "Direct_Messages": "Özel İletiler", + "Disable_notifications": "Bildirimleri devre dışı bırak", + "Discussions": "Tartışmalar", + "Discussion_Desc": "Neler olup bittiğini gözden geçirmeye yardımcı olun! Bir tartışma oluşturarak, seçtiğinizin bir alt kanalı oluşturulur ve her ikisi de bağlanır.", + "Discussion_name": "Tartışma adı", + "Done": "Tamamlandı", + "Dont_Have_An_Account": "Hesabın yok mu?", + "Do_you_have_an_account": "Hesabın var mı?", + "Do_you_have_a_certificate": "Sertifikanız var mı?", + "Do_you_really_want_to_key_this_room_question_mark": "Bu odayı gerçekten {{key}} istiyor musun?", + "E2E_Encryption": "Uçtan Uca Şifreleme (E2E)", + "E2E_How_It_Works_info1": "Artık şifrelenmiş özel gruplar ve doğrudan iletiler oluşturabilirsiniz. Mevcut özel grupları veya özel iletileri şifreli olarak da değiştirebilirsiniz.", + "E2E_How_It_Works_info2": "Bu, *Uçtan Uca Şifreleme'dir (E2E)*, böylece iletilerinizi şifrelemek / çözmek için anahtar ve bunlar sunucuya kaydedilmez. Bu nedenle *bu şifreyi daha sonra ihtiyaç duyduğunuzda erişebileceğiniz güvenli bir yerde* saklamanız gerekir.", + "E2E_How_It_Works_info3": "Devam ederseniz, otomatik olarak bir Uçtan Uca Şifreleme (E2E) şifresi oluşturulacaktır.", + "E2E_How_It_Works_info4": "Mevcut Uçtan Uca Şifreleme (E2E) şifresini, herhangi bir tarayıcıdan istediğiniz zaman girdiğiniz şifreleme anahtarınız için yeni bir şifre de ayarlayabilirsiniz.", + "edit": "düzenle", + "edited": "düzenlendi", + "Edit": "Düzenle", + "Edit_Status": "Durumu Düzenle", + "Edit_Invite": "Daveti Düzenle", + "End_to_end_encrypted_room": "Uçtan uca şifreli oda", + "end_to_end_encryption": "uçtan uca şifreleme", + "Email_Notification_Mode_All": "Tüm Bahsetmeler/Özel İletiler", + "Email_Notification_Mode_Disabled": "Devre Dışı", + "Email_or_password_field_is_empty": "E-posta veya şifre alanı boş", + "Email": "E-posta", + "email": "e-posta", + "Empty_title": "Boş başlık", + "Enable_Auto_Translate": "Otomatik Çeviriyi Etkinleştir", + "Enable_notifications": "Bildirimleri etkinleştir", + "Encrypted": "Şifreli", + "Encrypted_message": "Şifreli ileti", + "Enter_Your_E2E_Password": "Uçtan Uca Şifreleme (E2E) Şifrenizi Girin", + "Enter_Your_Encryption_Password_desc1": "Bu, şifrelenmiş özel gruplarınıza ve doğrudan iletilerinize erişmenize izin verecektir.", + "Enter_Your_Encryption_Password_desc2": "Sohbeti kullandığınız her yerde iletileri şifrelemek / çözmek için şifre girmeniz gerekir.", + "Encryption_error_title": "Şifreleme şifreniz yanlış görünüyor", + "Encryption_error_desc": "İçe aktarılacak şifreleme anahtarınızın kodu çözülemedi.", + "Everyone_can_access_this_channel": "Bu kanala herkes erişebilir", + "Error_uploading": "Yükleme hatası", + "Expiration_Days": "Geçerlilik Süresi (Gün)", + "Favorites": "Favoriler", + "Files": "Dosyalar", + "File_description": "Dosya açıklaması", + "File_name": "Dosya adı", + "Finish_recording": "Kaydı bitir", + "Following_thread": "Konu takip ediliyor", + "For_your_security_you_must_enter_your_current_password_to_continue": "Güvenliğiniz için, devam etmek için mevcut şifrenizi girmelisiniz", + "Forgot_password_If_this_email_is_registered": "Bu e-posta kayıtlıysa, şifrenizi nasıl sıfırlayacağınıza dair talimatlar göndereceğiz. Kısa süre içinde bir e-posta almazsanız, lütfen geri gelin ve tekrar deneyin.", + "Forgot_password": "Parolanızı mı unuttunuz?", + "Forgot_Password": "Parolamı Unuttum", + "Forward": "İlet", + "Forward_Chat": "Sohbete İlet", + "Forward_to_department": "Bölüme İlet", + "Forward_to_user": "Kullanıcıya İlet", + "Full_table": "Tam tabloyu görmek için tıklayın", + "Generate_New_Link": "Yeni Bağlantı Oluştur", + "Has_joined_the_channel": "kanala katıldı", + "Has_joined_the_conversation": "sohbete katıldı", + "Has_left_the_channel": "kanaldan ayrıldı", + "Hide_System_Messages": "Sistem İletilerını Gizle", + "Hide_type_messages": "\"{{type}}\" iletilerini gizle", + "How_It_Works": "Nasıl Çalışır", + "Message_HideType_uj": "Kullanıcı Katıldı", + "Message_HideType_ul": "Kullanıcı Ayrıldı", + "Message_HideType_ru": "Kullanıcı Kaldırıldı", + "Message_HideType_au": "Kullanıcı Eklendi", + "Message_HideType_mute_unmute": "Kullanıcı Sesi Kapatıldı / Sesi Açıldı", + "Message_HideType_r": "Oda Adı Değiştirildi", + "Message_HideType_ut": "Kullanıcı Sohbete Katıldı", + "Message_HideType_wm": "Hoşgeldiniz", + "Message_HideType_rm": "İleti Kaldırıldı", + "Message_HideType_subscription_role_added": "Rol Belirlendi", + "Message_HideType_subscription_role_removed": "Artık Kullanılmayan Rol", + "Message_HideType_room_archived": "Oda Arşivlendi", + "Message_HideType_room_unarchived": "Oda Arşivden Çıkarıldı", + "I_Saved_My_E2E_Password": "Uçtan Uca Şifreleme (E2E) Şifremi Kaydettim", + "IP": "IP", + "In_app": "Uygulama İçi", + "In_App_And_Desktop": "Uygulama İçi ve Masaüstü", + "In_App_and_Desktop_Alert_info": "Uygulama açıkken ekranın üst kısmında bir başlık görüntüler ve masaüstünde bir bildirim görüntüler", + "Invisible": "Görünmez", + "Invite": "Davet Et", + "is_a_valid_RocketChat_instance": "geçerli bir Rocket.Chat örneği", + "is_not_a_valid_RocketChat_instance": "geçerli bir Rocket.Chat örneği değil", + "is_typing": "yazıyor", + "Invalid_or_expired_invite_token": "Geçersiz veya süresi dolmuş davet belirteci (token)", + "Invalid_server_version": "Bağlanmaya çalıştığınız sunucu artık uygulama tarafından desteklenmeyen bir sürüm kullanıyor: {{currentVersion}}.\n\n{{minVersion}} sürümüne ihtiyacımız var", + "Invite_Link": "Davet Bağlantısı", + "Invite_users": "Kullanıcıları davet et", + "Join": "Katıl", + "Join_Code": "Katılım Kodu", + "Insert_Join_Code": "Katılım Kodu Girin", + "Join_our_open_workspace": "Açık çalışma alanımıza katılın", + "Join_your_workspace": "Çalışma alanınıza katılın", + "Just_invited_people_can_access_this_channel": "Yalnızca davet edilen kişiler bu kanala erişebilir", + "Language": "Dil", + "last_message": "son ileti", + "Leave_channel": "Kanaldan ayrıl", + "leaving_room": "odadan ayrılıyor", + "Leave": "Odadan ayrıl", + "leave": "ayrıl", + "Legal": "Yasal", + "Light": "Açık", + "License": "Lisans", + "Livechat": "Canlı Sohbet", + "Livechat_edit": "Canlı sohbeti düzenle", + "Login": "Oturum aç", + "Login_error": "Kimlik bilgileriniz reddedildi! Lütfen tekrar deneyin.", + "Login_with": "ile giriş", + "Logging_out": "Çıkış Yapılıyor", + "Logout": "Çıkış Yap", + "Max_number_of_uses": "Maksimum kullanım sayısı", + "Max_number_of_users_allowed_is_number": "İzin verilen maksimum kullanıcı sayısı {{maxUsers}}", + "members": "üyeler", + "Members": "Üyeler", + "Mentioned_Messages": "Bahsedilen İletiler", + "mentioned": "bahsedildi", + "Mentions": "Bahsetmeler", + "Message_accessibility": "{{user}} tarafından {{time}} itibarıyla ileti: {{message}}", + "Message_actions": "İleti işlemleri", + "Message_pinned": "İleti sabitlendi", + "Message_removed": "İleti kaldırıldı", + "Message_starred": "İletia yıldız eklendi", + "Message_unstarred": "İletiın yıldızı kaldırıldı", + "message": "ileti", + "messages": "iletiler", + "Message": "İleti", + "Messages": "İletiler", + "Message_Reported": "İleti bildirildi", + "Microphone_Permission_Message": "Rocket.Chat'in mikrofonunuza erişmesi gerekiyor, böylece sesli ileti gönderebilirsiniz.", + "Microphone_Permission": "Mikrofon İzni", + "Mute": "Sessize Al", + "muted": "sessize alındı", + "My_servers": "Sunucularım", + "N_people_reacted": "{{n}} kişi tepki verdi", + "N_users": "{{n}} kullanıcı", + "Name": "İsim", + "Navigation_history": "Gezinti geçmişi", + "Never": "Asla", + "New_Message": "Yeni İleti", + "New_Password": "Yeni Şifre", + "New_Server": "Yeni Sunucu", + "Next": "Sonraki", + "No_files": "Dosya yok", + "No_limit": "Limit yok", + "No_mentioned_messages": "Belirtilen ileti yok", + "No_pinned_messages": "Sabitlenmiş ileti yok", + "No_results_found": "Sonuç bulunamadı", + "No_starred_messages": "Yıldızlı ileti yok", + "No_thread_messages": "Konu iletisi yok", + "No_label_provided": "Hiç {{label}} sağlanmadı.", + "No_Message": "İleti Yok", + "No_messages_yet": "Şu ana kadar ileti yok", + "No_Reactions": "Tepki Yok", + "No_Read_Receipts": "Okundu Bilgisi Yok", + "Not_logged": "Kayıtlı değil", + "Not_RC_Server": "Bu bir Rocket.Chat sunucusu değil.\n{{contact}}", + "Nothing": "Hiçbir Şey", + "Nothing_to_save": "Kaydedilecek bir şey yok!", + "Notify_active_in_this_room": "Bu odadaki çevrimiçi kullanıcıları bilgilendir", + "Notify_all_in_this_room": "Bu odadaki herkesi bilgilendir", + "Notifications": "Bildirimler", + "Notification_Duration": "Bildirim Süresi", + "Notification_Preferences": "Bildirim Tercihleri", + "No_available_agents_to_transfer": "Aktarılacak yemsilci yok", + "Offline": "Çevrimdışı", + "Oops": "Ahh!", + "Omnichannel": "Çoklu Kanal", + "Open_Livechats": "Devam Eden Sohbetler", + "Omnichannel_enable_alert": "Çoklu Kanal'da mevcut değilsiniz. Erişilebilir olmak ister misiniz?", + "Onboarding_description": "Çalışma alanı, ekibinizin veya kuruluşunuzun işbirliği alanıdır. Çalışma alanı yöneticisinden bir ekibe katılmak veya bir ekip oluşturmak için yardım isteyin.", + "Onboarding_join_workspace": "Bir çalışma alanına katılın", + "Onboarding_subtitle": "Ekip İşbirliğinin Ötesinde", + "Onboarding_title": "Rocket.Chat'e hoş geldiniz", + "Onboarding_join_open_description": "Rocket.Chat ekibi ve topluluğu ile sohbet etmek için açık çalışma alanımıza katılın.", + "Onboarding_agree_terms": "Devam ederek Rocket.Chat'i kabul etmiş olursunuz", + "Onboarding_less_options": "Daha az seçenek", + "Onboarding_more_options": "Daha çok seçenek", + "Online": "Çevrimiçi", + "Only_authorized_users_can_write_new_messages": "Yalnızca yetkili kullanıcılar yeni ileti yazabilir", + "Open_emoji_selector": "Emoji seçiciyi aç", + "Open_Source_Communication": "Açık Kaynak İletişim", + "Open_your_authentication_app_and_enter_the_code": "Kimlik doğrulama uygulamanızı açın ve kodu girin.", + "OR": "OR", + "OS": "OS", + "Overwrites_the_server_configuration_and_use_room_config": "Sunucu yapılandırmasının üzerine yazar ve oda yapılandırmasını kullanır", + "Password": "Şifre", + "Parent_channel_or_group": "Üst kanal veya grup", + "Permalink_copied_to_clipboard": "Kalıcı bağlantı panoya kopyalandı!", + "Phone": "Telefon", + "Pin": "Sabitle", + "Pinned_Messages": "Sabitlenen İletiler", + "pinned": "sabitlendi", + "Pinned": "Sabitlendi", + "Please_add_a_comment": "Lütfen bir yorum ekleyin", + "Please_enter_your_password": "Lütfen şifrenizi giriniz", + "Please_wait": "Lütfen bekle.", + "Preferences": "Tercihler", + "Preferences_saved": "Tercihler kaydedildi!", + "Privacy_Policy": " Privacy Policy", + "Private_Channel": "Özel Kanal", + "Private": "Özel", + "Processing": "İşleniyor...", + "Profile_saved_successfully": "Profil başarıyla kaydedildi!", + "Profile": "Profil", + "Public_Channel": "Herkese Açık Kanal", + "Public": "Herkese Açık", + "Push_Notifications": "Anlık Bildirimler", + "Push_Notifications_Alert_Info": "Bu bildirimler, uygulama açık olmadığında size teslim edilir", + "Quote": "Alıntı", + "Reactions_are_disabled": "Tepkiler devre dışı bırakıldı", + "Reactions_are_enabled": "Tepkiler etkinleştirildi", + "Reactions": "Tepkiler", + "Read_External_Permission_Message": "Rocket.Chat'in cihazınızdaki fotoğraflara, medyaya ve dosyalara erişmesi gerekiyor", + "Read_External_Permission": "Medya Okuma İzni ", + "Read_Only_Channel": "Yazma Kısıtlı Kanal", + "Read_Only": "Yazma Kısıtlı", + "Read_Receipt": "Okundu Bilgisi", + "Receive_Group_Mentions": "Grup Bahsetmelerini Al", + "Receive_Group_Mentions_Info": "Grup bahsetmelerini al", + "Register": "Kayıt Ol", + "Repeat_Password": "Şifre Tekrarı", + "Replied_on": "Yanıtlandı:", + "replies": "yanıtlar", + "reply": "yanıtla", + "Reply": "Yanıtla", + "Report": "Bildir", + "Receive_Notification": "Bildirim Al", + "Receive_notifications_from": "{{name}} bildirimlerini alın", + "Resend": "Yeniden yolla", + "Reset_password": "Şifre sıfırla", + "resetting_password": "şifre sıfırlanıyor", + "RESET": "SIFIRLA", + "Return": "Geri dön", + "Review_app_title": "Uygulama hoşunuza gitti mi?", + "Review_app_desc": "{{store}} üzerinde bize 5 yıldız verin", + "Review_app_yes": "Elbette!", + "Review_app_no": "Hayır", + "Review_app_later": "Belki daha sonra", + "Review_app_unable_store": "{{store}} açılamıyor!", + "Review_this_app": "Bu uygulamayı değerlendirin", + "Remove": "Kaldır", + "Roles": "Roller", + "Room_actions": "Oda işlemleri", + "Room_changed_announcement": "Oda duyurusu, {{userBy}} tarafından {{announcement}} olarak değiştirildi", + "Room_changed_avatar": "Oda profil fotoğrafı {{userBy}} tarafından değiştirildi", + "Room_changed_description": "Oda açıklaması, {{userBy}} tarafından {{description}} olarak değiştirildi", + "Room_changed_topic": "Oda konusu, {{userBy}} tarafından {{topic}} olarak değiştirildi", + "Room_Files": "Oda Dosyaları", + "Room_Info_Edit": "Oda Bilgilerini Düzenle", + "Room_Info": "Oda Bilgisi", + "Room_Members": "Oda Üyeleri", + "Room_name_changed": "Oda adı, {{userBy}} tarafından {{name}} olarak değiştirildi", + "SAVE": "KAYDET", + "Save_Changes": "Değişiklikleri Kaydet", + "Save": "Kaydet", + "Saved": "Kaydedildi", + "saving_preferences": "tercihler kaydediliyor", + "saving_profile": "profil kaydediliyor", + "saving_settings": "ayarlar kaydediliyor", + "saved_to_gallery": "Galeriye kaydedildi", + "Save_Your_E2E_Password": "(E2E) Şifrenizi Kaydedin", + "Save_Your_Encryption_Password": "Şifreleme Parolanızı Kaydedin", + "Save_Your_Encryption_Password_warning": "Bu parola hiçbir yerde saklanmadığından başka bir yere dikkatlice kaydedin.", + "Save_Your_Encryption_Password_info": "Parolanızı kaybettiğinizde, kurtarmanın bir yolu olmadığını ve iletilerinize erişiminizi kaybedeceğinizi unutmayın.", + "Search_Messages": "İleti ara", + "Search": "Ara", + "Search_by": "Ara", + "Search_global_users": "Global kullanıcıları ara", + "Search_global_users_description": "Açarsanız, diğer şirketlerden veya sunuculardan herhangi bir kullanıcıyı arayabilirsiniz.", + "Seconds": "{{second}} saniye", + "Security_and_privacy": "Güvenlik ve gizlilik", + "Select_Avatar": "Profil resmi seç", + "Select_Server": "Sunucu seç", + "Select_Users": "Kullanıcıları seç", + "Select_a_Channel": "Kanal Seç", + "Select_a_Department": "Bölüm Seç", + "Select_an_option": "Bir seçenek seçin", + "Select_a_User": "Kullanıcı Seç", + "Send": "Yolla", + "Send_audio_message": "Sesli ileti gönder", + "Send_crash_report": "Çökme raporu gönder", + "Send_message": "İleti gönder", + "Send_me_the_code_again": "Kodu tekrar gönder", + "Send_to": "Gönderiliyor...", + "Sending_to": "Gönderiliyor:", + "Sent_an_attachment": "Bir ek gönderildi", + "Server": "Sunucu", + "Servers": "Sunucular", + "Server_version": "Sunucu versiyonu: {{version}}", + "Set_username_subtitle": "Kullanıcı adı başkalarının iletilerde sizden bahsetmesine izin vermek için kullanılır", + "Set_custom_status": "Özelleştirilmiş durumu ayarlayın", + "Set_status": "Durumu ayarla", + "Status_saved_successfully": "Durum başarıyla kaydedildi!", + "Settings": "Ayarlar", + "Settings_succesfully_changed": "Ayarlar başarıyla değiştirildi!", + "Share": "Paylaş", + "Share_Link": "Bağlantı paylaş", + "Share_this_app": "Bu uygulamayı paylaş", + "Show_more": "Daha fazla göster..", + "Show_Unread_Counter": "Okunmamış Sayacını Göster", + "Show_Unread_Counter_Info": "Okunmamış sayacı, listede kanalın sağ tarafında bir rozet olarak görüntülenir", + "Sign_in_your_server": "Sunucunuzda oturum açın", + "Sign_Up": "Kaydol", + "Some_field_is_invalid_or_empty": "Bazı alanlar geçersiz veya boş", + "Sound": "Ses", + "Star_room": "Odayı Yıldızla", + "Star": "Yıldızla", + "Starred_Messages": "Yıldızlı İletiler", + "starred": "yıldızlandı", + "Starred": "Yıldızlandı", + "Start_of_conversation": "Konuşma başlangıcı", + "Start_a_Discussion": "Tartışma Başlat", + "Started_discussion": "Bir tartışma başlattı:", + "Started_call": "Arama {{userBy}} tarafından başlatıldı", + "Submit": "Kaydet", + "Table": "Tablo", + "Tags": "Etiketler", + "Take_a_photo": "Fotoğraf çek", + "Take_a_video": "Video çek", + "Take_it": "Al!", + "tap_to_change_status": "durumu değiştirmek için dokunun", + "Tap_to_view_servers_list": "Sunucu listesini görüntülemek için dokunun", + "Terms_of_Service": " Kullanım Şartları ", + "Theme": "Tema", + "The_user_wont_be_able_to_type_in_roomName": "Kullanıcı {{roomName}} içinde yazamayacak", + "The_user_will_be_able_to_type_in_roomName": "Kullanıcı {{roomName}} içinde yazabilecek", + "There_was_an_error_while_action": "{{action}} sırasında bir hata oluştu!", + "This_room_is_blocked": "Bu oda engellendi", + "This_room_is_read_only": "Bu oda yazma kısıtlı", + "Thread": "Başlık", + "Threads": "Başlıklar", + "Timezone": "Saat dilimi", + "To": "Kime", + "topic": "konu", + "Topic": "Konu", + "Translate": "Çevir", + "Try_again": "Tekrar deneyin", + "Two_Factor_Authentication": "İki faktörlü Kimlik Doğrulama", + "Type_the_channel_name_here": "Kanal adını buraya yazın", + "unarchive": "arşivden çıkar", + "UNARCHIVE": "ARŞİVDEN ÇIKAR", + "Unblock_user": "Kullanıcının engelini kaldır", + "Unfollowed_thread": "Takip edilmeyen başlık", + "Unmute": "Sesi Aç", + "unmuted": "Sesi Açıldı", + "Unpin": "Sabitlemeyi kaldır", + "unread_messages": "okunmamış", + "Unread": "Okunmamış", + "Unread_on_top": "Okunmamışlar üstte", + "Unstar": "Yıldızı kaldır", + "Updating": "Güncelleniyor...", + "Uploading": "Gönderiliyor", + "Upload_file_question_mark": "Dosya gönderilsin mi?", + "User": "Kullanıcı", + "Users": "Kullanıcılar", + "User_added_by": "{{userAdded}} adlı kullanıcı {{userBy}} tarafından eklendi", + "User_Info": "Kullanıcı bilgisi", + "User_has_been_key": "Kullanıcı {{key}} olmuştur", + "User_is_no_longer_role_by_": "{{user}} artık {{role}} değil ({{userBy}} tarafından)", + "User_muted_by": "{{userMuted}} adlı kullanıcının sesini {{userBy}} kapattı", + "User_removed_by": "{{userRemoved}} kullanıcısı {{userBy}} tarafından kaldırıldı", + "User_sent_an_attachment": "{{user}} bir ek gönderdi", + "User_unmuted_by": "{{userUnmuted}} kullanıcısının sesi {{userBy}} tarafından açıldı", + "User_was_set_role_by_": "{{user}}, {{userBy}} tarafından {{role}} ayarlandı", + "Username_is_empty": "Kullanıcı adı boş!", + "Username": "Kullanıcı adı", + "Username_or_email": "Kullanıcı adı ya da e-posta", + "Uses_server_configuration": "Sunucu yapılandırmasını kullanır", + "Validating": "Doğrulanıyor", + "Registration_Succeeded": "Kayıt Başarılı!", + "Verify": "Onayla", + "Verify_email_title": "Kaydınızı onaylayın!", + "Verify_email_desc": "Kaydınızı onaylamak için size bir e-posta gönderdik. Kısa süre içinde bir e-posta almazsanız, lütfen geri gelin ve tekrar deneyin.", + "Verify_your_email_for_the_code_we_sent": "Gönderdiğimiz kod için e-postanızı doğrulayın", + "Video_call": "Görüntülü arama", + "View_Original": "Orijinali Görüntüle", + "Voice_call": "Sesli arama", + "Waiting_for_network": "Ağ bağlantısı bekleniyor ...", + "Websocket_disabled": "Bu sunucu için Websocket devre dışı bırakıldı.\n{{contact}}", + "Welcome": "Hoşgeldiniz", + "What_are_you_doing_right_now": "Şu an ne yapıyorsun?", + "Whats_your_2fa": "2 faktör doğrulama (2FA) kodunuz nedir?", + "Without_Servers": "Sunucusuz", + "Workspaces": "Çalışma alanları", + "Would_you_like_to_return_the_inquiry": "Başvuruyu geri çevirmek ister misiniz?", + "Write_External_Permission_Message": "Rocket.Chat'in galerinize erişmesi gerekiyor, böylece resimleri kaydedebilirsiniz.", + "Write_External_Permission": "Galeri İzni", + "Yes": "Evet", + "Yes_action_it": "Evet, {{action}}!", + "Yesterday": "Dün", + "You_are_in_preview_mode": "İzleme modundasınız", + "You_are_offline": "Çevrimdışısınız", + "You_can_search_using_RegExp_eg": "Düzenli ifadeleri (Regular Expressions) kullanabilirsiniz. Örneğin: `/^text$/i`", + "You_colon": "Siz: ", + "you_were_mentioned": "senden bahsedildi", + "You_were_removed_from_channel": "{{channel}} kanalından çıkarıldınız", + "you": "siz", + "You": "Siz", + "Logged_out_by_server": "Sunucu tarafından çıkış yaptınız. Lütfen tekrar giriş yapın.", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "Bir şeyler paylaşmak için Rocket.Chat sunucusuna erişmeniz gerekir.", + "You_need_to_verifiy_your_email_address_to_get_notications": "Bildirim almak için e-posta adresinizi doğrulamanız gerekiyor", + "Your_certificate": "Sertifikanız", + "Your_invite_link_will_expire_after__usesLeft__uses": "Davet bağlantınızın geçerliliği {{usesLeft}} kullanımdan sonra sona erecek.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Davet bağlantınızın geçerliliği {{date}} tarihinde veya {{usesLeft}} kullanımdan sonra sona erecek.", + "Your_invite_link_will_expire_on__date__": "Davet bağlantınızın geçerlilik süresi {{date}} tarihinde sona erecek.", + "Your_invite_link_will_never_expire": "Davet bağlantınızın geçerlilik süresi asla dolmayacak.", + "Your_workspace": "Çalışma alanınız", + "Your_password_is": "Şifreniz", + "Version_no": "Versiyon: {{version}}", + "You_will_not_be_able_to_recover_this_message": "Bu iletiyi kurtaramayacaksınız!", + "You_will_unset_a_certificate_for_this_server": "Bu sunucu için bir sertifika ayarını kaldıracaksınız", + "Change_Language": "Dili değiştir", + "Crash_report_disclaimer": "Sohbetlerinizin içeriğini asla takip etmiyoruz. Çökme raporu ve analiz olayları, sorunları tanımlamak ve düzeltmek için yalnızca bizim için ilgili bilgileri içerir.", + "Type_message": "İleti yaz", + "Room_search": "Oda arama", + "Room_selection": "Oda seçimi 1...9", + "Next_room": "Sonraki oda", + "Previous_room": "Önceki oda", + "New_room": "Yeni oda", + "Upload_room": "Odaya yükle", + "Search_messages": "İletilerda ara", + "Scroll_messages": "İletilerı kaydır", + "Reply_latest": "Sonuncuyu yanıtla", + "Reply_in_Thread": "Konu içinde cevapla", + "Server_selection": "Sunucu seçimi", + "Server_selection_numbers": "Sunucu seçimi 1...9", + "Add_server": "Sunucu ekle", + "New_line": "Yeni satır", + "You_will_be_logged_out_of_this_application": "Bu uygulamadan çıkış yapacaksınız.", + "Clear": "Temizle", + "This_will_clear_all_your_offline_data": "Bu, tüm çevrimdışı verilerinizi temizleyecektir.", + "This_will_remove_all_data_from_this_server": "Bu, bu sunucudaki tüm verileri kaldıracaktır.", + "Mark_unread": "Okunmadı olarak işaretle", + "Wait_activation_warning": "Giriş yapmadan önce, hesabınız bir yönetici tarafından manuel olarak etkinleştirilmelidir.", + "Screen_lock": "Ekran kilidi", + "Local_authentication_biometry_title": "Doğrula", + "Local_authentication_biometry_fallback": "Parola kullan", + "Local_authentication_unlock_option": "Şifre ile Kilidi Açın", + "Local_authentication_change_passcode": "Parolayı Değiştir", + "Local_authentication_info": "Not: Parolayı unutursanız, uygulamayı silmeniz ve yeniden yüklemeniz gerekir.", + "Local_authentication_facial_recognition": "yüz tanıma", + "Local_authentication_fingerprint": "parmak izi", + "Local_authentication_unlock_with_label": "{{label}} ile kilidi açın", + "Local_authentication_auto_lock_60": "1 dakika sonra", + "Local_authentication_auto_lock_300": "5 dakika sonra", + "Local_authentication_auto_lock_900": "15 dakika sonra", + "Local_authentication_auto_lock_1800": "30 dakika sonra", + "Local_authentication_auto_lock_3600": "1 saat sonra", + "Passcode_enter_title": "Şifrenizi giriniz", + "Passcode_choose_title": "Yeni şifrenizi yazın", + "Passcode_choose_confirm_title": "Yeni şifrenizi onaylayın", + "Passcode_choose_error": "Parolalar eşleşmiyor. Tekrar deneyin.", + "Passcode_choose_force_set": "Yönetici tarafından istenen şifre", + "Passcode_app_locked_title": "Uygulama kilitlendi", + "Passcode_app_locked_subtitle": "{{timeLeft}} saniye içinde tekrar deneyin", + "After_seconds_set_by_admin": "{{seconds}} saniye sonra (yönetici tarafından belirlenir)", + "Dont_activate": "Şimdi etkinleştirme", + "Queued_chats": "Sıralı sohbetler", + "Queue_is_empty": "Sıra boş", + "Logout_from_other_logged_in_locations": "Giriş yapılan diğer konumlardan çıkış yap", + "You_will_be_logged_out_from_other_locations": "Diğer konumlardan çıkış yapacaksınız.", + "Logged_out_of_other_clients_successfully": "Diğer istemcilerden başarıyla çıkış yapıldı", + "Logout_failed": "Oturum kapatma başarısız oldu!", + "Log_analytics_events": "Olayları günlüğe kaydet", + "E2E_encryption_change_password_title": "Şifreleme Parolasını Değiştir", + "E2E_encryption_change_password_description": "Artık şifrelenmiş özel gruplar ve doğrudan iletiler oluşturabilirsiniz. Mevcut özel grupları veya özel iletileri şifreli olarak da değiştirebilirsiniz. \nBu uçtan uca şifrelemedir, bu nedenle iletilerinizi şifrelemek / çözmek için kullanılan anahtar sunucuya kaydedilmez. Bu nedenle şifrenizi güvenli bir yerde saklamanız gerekir. Uçtan uca şifrelemeyi (E2E) kullanmak istediğiniz diğer cihazlara girmeniz istenecektir.", + "E2E_encryption_change_password_error": "Uçtan uca şifreleme (E2E) anahtar şifresi değiştirilirken hata!", + "E2E_encryption_change_password_success": "Uçtan uca şifreleme (E2E) anahtar şifresi başarıyla değiştirildi!", + "E2E_encryption_change_password_message": "Dikkatlice kaydettiğinizden emin olun.", + "E2E_encryption_change_password_confirmation": "Evet, değiştir!", + "E2E_encryption_reset_title": "Uçtan uca şifreleme (E2E) Anahtarını Sıfırla", + "E2E_encryption_reset_description": "Bu seçenek mevcut uçtan uca şifreleme (E2E) anahtarınızı kaldıracak ve oturumu kapatacaktır. \nTekrar oturum açtığınızda, Rocket.Chat size yeni bir anahtar oluşturacak ve çevrimiçi olarak bir veya daha fazla üyesi olan şifreli herhangi bir odaya erişiminizi geri yükleyecektir. \nUçtan uca şifrelemenin (E2E) doğası gereği Rocket.Chat, çevrimiçi üyesi olmayan hiçbir şifreli odaya erişimi geri yükleyemez.", + "E2E_encryption_reset_button": "Uçtan uca şifreleme (E2E) anahtarını sıfırla", + "E2E_encryption_reset_error": "Uçtan uca şifreleme (E2E) anahtarı sıfırlanırken hata!", + "E2E_encryption_reset_message": "Oturumunuz kapatılacak!", + "E2E_encryption_reset_confirmation": "Evet, sıfırla", + "Following": "Takip ediliyor", + "Threads_displaying_all": "Tüm konular görüntüleniyor", + "Threads_displaying_following": "Takip edilen konular görüntüleniyor", + "Threads_displaying_unread": "Okunmamış konular görüntüleniyor", + "No_threads": "Konu yok", + "No_threads_following": "Herhangi bir konuyu takip etmiyorsunuz", + "No_threads_unread": "Okunmamış konu yok", + "Messagebox_Send_to_channel": "Kanala gönder", + "Remove_from_room": "Odadan çıkar", + "Ignore": "Yok say", + "Unignore": "Yok sayma", + "User_has_been_ignored": "Kullanıcı yok sayıldı.", + "User_has_been_unignored": "Kullanıcı artık yok sayılmıyor.", + "User_has_been_removed_from_s": "Kullanıcı {{s}} alanından kaldırıldı.", + "User__username__is_now_a_leader_of__room_name_": "{{username}} kullanıcısı artık {{room_name}} lideridir.", + "User__username__is_now_a_moderator_of__room_name_": "{{username}} kullanıcısı artık bir {{room_name}} moderatörüdür.", + "User__username__is_now_a_owner_of__room_name_": "{{username}} kullanıcısı artık {{room_name}} adlı odanın sahibidir.", + "User__username__removed_from__room_name__leaders": "{{username}} adlı kullanıcı, {{room_name}} liderlerinden kaldırıldı.", + "User__username__removed_from__room_name__moderators": "{{username}} adlı kullanıcı, {{room_name}} moderatörlerinden kaldırıldı.", + "User__username__removed_from__room_name__owners": "{{username}} adlı kullanıcı, {{room_name}} sahiplerinden kaldırıldı.", + "The_user_will_be_removed_from_s": "Kullanıcı, {{s}} alanından kaldırılacak!", + "Yes_remove_user": "Evet, kullanıcıyı kaldır!", + "Direct_message": "Özel ileti", + "Message_Ignored": "İleti yok sayıldı. Görüntülemek için dokunun.", + "Enter_workspace_URL": "Çalışma alanı URL'nizi girin", + "Workspace_URL_Example": "Örn. sirketiniz.rocket.chat", + "invalid-room": "Geçersiz oda" +} \ No newline at end of file diff --git a/app/i18n/locales/ug.json b/app/i18n/locales/ug.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/ug.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/uk.json b/app/i18n/locales/uk.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/uk.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/vi-VN.json b/app/i18n/locales/vi-VN.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/vi-VN.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/zh-CN.json b/app/i18n/locales/zh-CN.json index fd026bfdd..e01368904 100644 --- a/app/i18n/locales/zh-CN.json +++ b/app/i18n/locales/zh-CN.json @@ -1,681 +1,672 @@ { - "1_person_reacted": "1 人回复了", - "1_user": "1 位用户", - "error-action-not-allowed": "{{action}} 不允許", - "error-application-not-found": "找不到应用程式", - "error-archived-duplicate-name": "已有一个名为「{{room_name}}」的封存频道", - "error-avatar-invalid-url": "无效的头像网址:{{url}}", - "error-avatar-url-handling": "错误,无法将 {{username}} 的头像设置为URL({{url}})", - "error-cant-invite-for-direct-room": "无法邀请使用者进入私讯", - "error-could-not-change-email": "无法更改电子邮件", - "error-could-not-change-name": "无法更改名称", - "error-could-not-change-username": "无法更改使用者名称", - "error-could-not-change-status": "无法更改状态", - "error-delete-protected-role": "无法删除受保护的角色", - "error-department-not-found": "找不到部门", - "error-direct-message-file-upload-not-allowed": "私人对话中不允许档案分享", - "error-duplicate-channel-name": "名为「{{channel_name}}」的频道已存在", - "error-email-domain-blacklisted": "电子邮件网域被禁用", - "error-email-send-failed": "尝试发送电子邮件时出错:{{message}}", - "error-save-image": "错误,无法保存图片", - "error-save-video": "错误,无法保存視頻", - "error-field-unavailable": "{{field}} 已被使用 :(", - "error-file-too-large": "文件太大", - "error-importer-not-defined": "没有正确定义,它缺少汇入类型", - "error-input-is-not-a-valid-field": "{{input}} 不是合法的 {{field}}", - "error-invalid-actionlink": "无效的操作链接", - "error-invalid-arguments": "无效的参数", - "error-invalid-asset": "无效的资源", - "error-invalid-channel": "无效的频道", - "error-invalid-channel-start-with-chars": "无效的频道,请以 @ 或 # 开头", - "error-invalid-custom-field": "无效的自订字段", - "error-invalid-custom-field-name": "无效的自订字段名. 只能包含字母、数字、中线(-)及底线(_).", - "error-invalid-date": "无效的日期", - "error-invalid-description": "无效的描述", - "error-invalid-domain": "无效的域名", - "error-invalid-email": "无效的电子邮件{{email}}", - "error-invalid-email-address": "无效的邮件地址", - "error-invalid-file-height": "无效的文件长度", - "error-invalid-file-type": "无效的文件类型", - "error-invalid-file-width": "无效的文件宽度", - "error-invalid-from-address": "无效的地址", - "error-invalid-integration": "无效的整合", - "error-invalid-message": "无效的信息", - "error-invalid-method": "无效的方法", - "error-invalid-name": "无效的名称", - "error-invalid-password": "无效的密码", - "error-invalid-redirectUri": "无效的转址", - "error-invalid-role": "无效的角色", - "error-invalid-room": "无效的聊天室", - "error-invalid-room-name": "{{room_name}} 不是合法的聊天室名称", - "error-invalid-room-type": "{{type}} 不是合法的聊天室类型.", - "error-invalid-settings": "无效的设置", - "error-invalid-subscription": "无效的订阅", - "error-invalid-token": "无效的 token", - "error-invalid-triggerWords": "无效的关键字", - "error-invalid-urls": "无效的网址", - "error-invalid-user": "无效的使用者", - "error-invalid-username": "无效的使用者名称", - "error-invalid-webhook-response": "webhook 网址以200以外的状态响应", - "error-message-deleting-blocked": "信息删除已停用", - "error-message-editing-blocked": "信息编辑已停用", - "error-message-size-exceeded": "信息大小超出上限", - "error-missing-unsubscribe-link": "您必须提供[取消订阅]链接。", - "error-no-tokens-for-this-user": "这个用户没有Token", - "error-not-allowed": "不允许", - "error-not-authorized": "未授权", - "error-push-disabled": "推播已停用", - "error-remove-last-owner": "这是最后一个所有者。请在删除这个之前设置一个新所有者。", - "error-role-in-use": "无法删除正在使用中的角色", - "error-role-name-required": "角色名称是必須的", - "error-the-field-is-required": "字段 {{field}} 是必須的。", - "error-too-many-requests": "错误,请求太多。请慢一点。在再次尝试之前,必须等待{{seconds}}秒。", - "error-user-is-not-activated": "用户未被激活", - "error-user-has-no-roles": "用户未设定角色", - "error-user-limit-exceeded": "尝试邀请到 #channel_name 的用户数量超过了管理员设置的限制", - "error-user-not-in-room": "用户不在这个聊天室", - "error-user-registration-custom-field": "无效的自订注册栏位", - "error-user-registration-disabled": "已停用用户注册", - "error-user-registration-secret": "只能透过加密网址进行用戶注册", - "error-you-are-last-owner": "您是最后的拥有者。请删除此人之前设置一个新的拥有者。", - "Actions": "操作", - "activity": "活动时间", - "Activity": "按活动时间排列", - "Add_Reaction": "增加表情貼", - "Add_Server": "創建服务器", - "Add_users": "創建用户", - "Admin_Panel": "仪表板", - "Agent": "代理", - "Alert": "警报", - "alert": "警报", - "alerts": "警报", - "All_users_in_the_channel_can_write_new_messages": "频道中的所有用户都可以发送新信息", - "A_meaningful_name_for_the_discussion_room": "取一个有意义的讨论区的名称", - "All": "所有", - "All_Messages": "全部信息", - "Allow_Reactions": "允许表情贴", - "Alphabetical": "以名称排序", - "and_more": "和更多的", - "and": "和", - "announcement": "公告", - "Announcement": "公告", - "Apply_Your_Certificate": "使用自己的凭证", - "ARCHIVE": "封存", - "archive": "封存", - "are_typing": "正在输入", - "Are_you_sure_question_mark": "你确定吗?", - "Are_you_sure_you_want_to_leave_the_room": "你确定要离开聊天室 {{room}} 吗?", - "Audio": "音讯", - "Authenticating": "正在验证身份", - "Automatic": "自动", - "Auto_Translate": "自动翻译", - "Avatar_changed_successfully": "头像更新成功!", - "Avatar_Url": "头像地址", - "Away": "离开", - "Back": "返回", - "Black": "黑色", - "Block_user": "屏蔽此用户", - "Browser": "浏览器", - "Broadcast_channel_Description": "只有经过授权的用户才能写新信息,但其他用户可以回复", - "Broadcast_Channel": "广播频道", - "Busy": "忙碌", - "By_proceeding_you_are_agreeing": "继续操作,请同意我们的", - "Cancel_editing": "取消编辑", - "Cancel_recording": "取消录制", - "Cancel": "取消", - "changing_avatar": "更改头像", - "creating_channel": "创建频道", - "creating_invite": "创建邀请", - "Channel_Name": "频道名", - "Channels": "频道", - "Chats": "聊天", - "Call_already_ended": "通话已经结束!", - "Clear_cookies_alert": "是否清除所有 cookies?", - "Clear_cookies_desc": "本操作将清除所有登入 cookies,以登入其他帐号", - "Clear_cookies_yes": "是,清除 cookies", - "Clear_cookies_no": "否,保留 cookies", - "Click_to_join": "点击以参与", - "Close": "关闭", - "Close_emoji_selector": "关闭 emoji 选择器", - "Closing_chat": "结束聊天", - "Change_language_loading": "切换语言", - "Chat_closed_by_agent": "聊天已被客服关闭", - "Choose": "选择", - "Choose_from_library": "从媒体库选择", - "Choose_file": "选择文件", - "Choose_where_you_want_links_be_opened": "请选择您要将链接开启在", - "Code": "代码", - "Code_or_password_invalid": "验证码或密码不正确", - "Collaborative": "协作", - "Confirm": "确认", - "Connect": "连接", - "Connected": "已连接", - "connecting_server": "连接至服务器", - "Connecting": "连接中", - "Contact_us": "联系我们", - "Contact_your_server_admin": "请联络系统管理员", - "Continue_with": "继续采用", - "Copied_to_clipboard": "复制到剪贴板", - "Copy": "复制", - "Conversation": "对话", - "Permalink": "永久链接", - "Certificate_password": "凭证密码", - "Clear_cache": "清除本机资料", - "Clear_cache_loading": "清除快取", - "Whats_the_password_for_your_certificate": "您的凭证密码是?", - "Create_account": "创建账户", - "Create_Channel": "创建频道", - "Create_Direct_Messages": "新增私人讯息", - "Create_Discussion": "新增讨论区", - "Created_snippet": "新增程式码片段", - "Create_a_new_workspace": "创建一个新的工作区", - "Create": "创建", - "Custom_Status": "自订状态", - "Dark": "深色", - "Dark_level": "深色程度", - "Default": "默認", - "Default_browser": "预设浏览器", - "Delete_Room_Warning": "删除聊天室将连带删除其中所有信息。此操作将无法还原。", - "Department": "部门", - "delete": "删除", - "Delete": "删除", - "DELETE": "删除", - "deleting_room": "正在删除聊天室", - "description": "描述", - "Description": "描述", - "Desktop_Options": "桌面选项", - "Desktop_Notifications": "桌面通知", - "Desktop_Alert_info": "这些通知将发送至桌面", - "Directory": "目录", - "Direct_Messages": "私訊", - "Disable_notifications": "禁用信息通知", - "Discussions": "讨论区", - "Discussion_Desc": "帮助保持事态更新! 通过创建讨论,一个和所选频道双向关联的子频道将会被创建。", - "Discussion_name": "讨论区名称", - "Done": "完成", - "Dont_Have_An_Account": "还没有账号?", - "Do_you_have_an_account": "是否拥有帐号?", - "Do_you_have_a_certificate": "是否拥有凭证?", - "Do_you_really_want_to_key_this_room_question_mark": "您真的想要{{key}}这个聊天室吗?", - "E2E_Encryption": "E2E 加密", - "E2E_How_It_Works_info1": "您现在可以创建加密的专用组和直接消息。您也可以将现有的私人组或直接信息加密。", - "E2E_How_It_Works_info2": "这是點對點加密,因此编码/解码邮件的密钥不会保存在服务器上。因此,您需要将密码存储在安全的地方。您需要在希望使用點對點加密的其他设备上输入。", - "E2E_How_It_Works_info3": "如果继续,将自动生成一组 E2E 密码", - "E2E_How_It_Works_info4": "您也可以随时从已输入既有密码的任何浏览器设定新密码给您的加密金钥。", - "edit": "编辑", - "edited": "已编辑", - "Edit": "编辑", - "Edit_Status": "编辑状态", - "Edit_Invite": "编辑邀请", - "End_to_end_encrypted_room": "E2E 加密聊天室", - "end_to_end_encryption": "E2E 加密", - "Email_Notification_Mode_All": "每次被标记或私讯", - "Email_Notification_Mode_Disabled": "禁用", - "Email_or_password_field_is_empty": "邮件或密码字段为空", - "Email": "邮箱", - "email": "邮箱", - "Empty_title": "空白标题", - "Enable_Auto_Translate": "开启自动翻译", - "Enable_notifications": "开启信息通知", - "Encrypted": "已加密", - "Encrypted_message": "加密信息", - "Enter_Your_E2E_Password": "输入您的 E2E 密码", - "Enter_Your_Encryption_Password_desc1": "这将会允许您存取您的加密私人群组和私訊", - "Enter_Your_Encryption_Password_desc2": "您需要在任何使用此聊天的平台输入密码,以编码/解码您的信息", - "Encryption_error_title": "您的加密密码似乎有误", - "Encryption_error_desc": "无法使用汇入的加密密钥来解密", - "Everyone_can_access_this_channel": "每个人都可以访问此频道", - "Error_uploading": "错误上传", - "Expiration_Days": "到期 (日)", - "Favorite": "收藏", - "Favorites": "收藏", - "Files": "文件", - "File_description": "文件描述", - "File_name": "文件名称", - "Finish_recording": "完成录制", - "Following_thread": "追踪的讨论串", - "For_your_security_you_must_enter_your_current_password_to_continue": "出于安全考虑,您必须输入您的密码以便继续操作", - "Forgot_password_If_this_email_is_registered": "如果这邮箱已注册,我们将发送如何重置密码的说明。如果您没有在短时间内收到电子邮件,请再试一次。", - "Forgot_password": "忘记密码", - "Forgot_Password": "忘记密码", - "Forward": "转发", - "Forward_Chat": "转发聊天", - "Forward_to_department": "转发到部门", - "Forward_to_user": "转发给用戶", - "Full_table": "点击以查看完整表格", - "Generate_New_Link": "产生新的链接", - "Group_by_favorites": "收藏优先", - "Group_by_type": "以类型分组", - "Hide": "隐藏", - "Has_joined_the_channel": "已加入频道", - "Has_joined_the_conversation": "已经加入此对话", - "Has_left_the_channel": "已离开频道", - "Hide_System_Messages": "隐藏系统信息", - "Hide_type_messages": "隐藏 \"{{type}}\" 信息", - "How_It_Works": "运作方式", - "Message_HideType_uj": "隐藏“用戶加入”信息", - "Message_HideType_ul": "隐藏“用戶离开”信息", - "Message_HideType_ru": "隐藏“用戶已删除”信息", - "Message_HideType_au": "隐藏“用戶已增加”信息", - "Message_HideType_mute_unmute": "隐藏“用戶静音/取消静音”信息", - "Message_HideType_r": "隐藏“房间名称已更改”的信息", - "Message_HideType_ut": "隐藏“用戶已加入对话”的信息", - "Message_HideType_wm": "隐藏“欢迎”的信息", - "Message_HideType_rm": "隐藏“已删除信息”的信息", - "Message_HideType_subscription_role_added": "隐藏“已设置角色”的信息", - "Message_HideType_subscription_role_removed": "隐藏“不再定义的角色”的信息", - "Message_HideType_room_archived": "隐藏“聊天室已封存”的信息", - "Message_HideType_room_unarchived": "隐藏“聊天室未封存”的信息", - "I_Saved_My_E2E_Password": "保存我的 E2E 密码", - "IP": "IP", - "In_app": "App 内", - "In_App_And_Desktop": "App 内及桌面", - "In_App_and_Desktop_Alert_info": "打开 app 时,會在屏幕上方显示横幅;显示桌面通知", - "Invisible": "隐身", - "Invite": "邀请", - "is_a_valid_RocketChat_instance": "是一个有效的 Rocket.Chat 实例", - "is_not_a_valid_RocketChat_instance": "不是有效的 Rocket.Chat 实例", - "is_typing": "正在输入", - "Invalid_or_expired_invite_token": "无效或到期的邀请 token", - "Invalid_server_version": "此 App 版本已不支援您正在连线之服务器版本。当前版本: {{currentVersion}}.\\n\\n最低版本要求: {{minVersion}}", - "Invite_Link": "邀请链接", - "Invite_users": "邀请用戶", - "Join": "加入", - "Join_our_open_workspace": "加入开放工作区", - "Join_your_workspace": "加入您的工作区", - "Just_invited_people_can_access_this_channel": "仅有被邀请人能进入这个频道", - "Language": "语言", - "last_message": "最后一条信息", - "Leave_channel": "离开频道", - "leaving_room": "离开聊天室", - "leave": "离开", - "Legal": "合法", - "Light": "浅色", - "License": "授权条款", - "Livechat": "即时聊天", - "Livechat_edit": "即时聊天编辑", - "Login": "登陆", - "Login_error": "认证失败!请再试一次", - "Login_with": "登陆为", - "Logging_out": "正在登出", - "Logout": "注销", - "Max_number_of_uses": "最大使用次数", - "Max_number_of_users_allowed_is_number": "允许使用者上限数量{{maxUsers}}", - "members": "成员", - "Members": "成员", - "Mentioned_Messages": "被提及的信息", - "mentioned": "提到", - "Mentions": "被提及", - "Message_accessibility": "{{time}}来自{{user}}的消息: {{message}}", - "Message_actions": "信息操作", - "Message_pinned": "信息被钉选", - "Message_removed": "信息被删除", - "Message_starred": "信息被标注", - "Message_unstarred": "信息被取消标注", - "message": "信息", - "messages": "信息", - "Message": "信息", - "Messages": "信息", - "Message_Reported": "信息已举报", - "Microphone_Permission_Message": "Rocket.Chat 需要存取您的麦克风,以便发送音频信息。", - "Microphone_Permission": "麦克风授权", - "Mute": "静音", - "muted": "被静音", - "My_servers": "我的服务器", - "N_people_reacted": "{{n}} 人回复", - "N_users": "{{n}} 位用户", - "name": "名称", - "Name": "名称", - "Navigation_history": "浏览历史记录", - "Never": "从不", - "New_Message": "新信息", - "New_Password": "新密码", - "New_Server": "新服务器", - "Next": "下一步", - "No_files": "没有文件", - "No_limit": "没有限制", - "No_mentioned_messages": "没有被提及的信息", - "No_pinned_messages": "没有钉选的消息", - "No_results_found": "没有搜寻结果", - "No_starred_messages": "没有加星标的消息", - "No_thread_messages": "没有讨论串信息", - "No_label_provided": "没有提供 {{label}}", - "No_Message": "没有信息", - "No_messages_yet": "当前未有信息", - "No_Reactions": "没有表情貼", - "No_Read_Receipts": "没有已读人员", - "Not_logged": "没有记录", - "Not_RC_Server": "这不是一个 Rocket.Chat server.\\n{{contact}}", - "Nothing": "无", - "Nothing_to_save": "什么都没有保存!", - "Notify_active_in_this_room": "通知这个聊天室的活跃用户", - "Notify_all_in_this_room": "通知这个聊天室的所有人", - "Notifications": "通知", - "Notification_Duration": "通知持续时间", - "Notification_Preferences": "通知偏好设置", - "No_available_agents_to_transfer": "没有可用的代理进行传输", - "Offline": "离线", - "Oops": "哎呀!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "打开即时聊天", - "Omnichannel_enable_alert": "您尚未启用 Omnichannel,是否想要启用?", - "Onboarding_description": "工作区是团队或组织协作的空间。向工作区管理员询问要加入的地址或为您的团队创建一个。", - "Onboarding_join_workspace": "加入一个工作区", - "Onboarding_subtitle": "超越团队合作", - "Onboarding_title": "欢迎来到 Rocket.Chat", - "Onboarding_join_open_description": "加入我们的开放工作区以与 Rocket.Chat 团队及社群交谈", - "Onboarding_agree_terms": "继续,即表示您同意 Rocket.Chat", - "Onboarding_less_options": "较少选项", - "Onboarding_more_options": "较多选项", - "Online": "在线", - "Only_authorized_users_can_write_new_messages": "只有经过授权的用户才能写新信息", - "Open_emoji_selector": "打开 emoji 选择器", - "Open_Source_Communication": "开源沟通", - "Open_your_authentication_app_and_enter_the_code": "打开您的验证应用程式并输入代码。您也可以使用其中一个备用代码。", - "OR": "或", - "OS": "作业系统", - "Overwrites_the_server_configuration_and_use_room_config": "覆写服务器设置和使用聊天室设置", - "Password": "密码", - "Parent_channel_or_group": "父频道或群组", - "Permalink_copied_to_clipboard": "永久链接已复制到剪贴板!", - "Phone": "电话", - "Pin": "钉选", - "Pinned_Messages": "钉选信息", - "pinned": "已被钉选", - "Pinned": "被钉选", - "Please_add_a_comment": "请新增评论", - "Please_enter_your_password": "请输入密码", - "Please_wait": "请稍候", - "Preferences": "偏好设置", - "Preferences_saved": "偏好已保存!", - "Privacy_Policy": "隐私政策", - "Private_Channel": "私人频道", - "Private": "私有的", - "Processing": "处理中", - "Profile_saved_successfully": "个人资料保存成功!", - "Profile": "个人资料", - "Public_Channel": "公共频道", - "Public": "公共", - "Push_Notifications": "推送通知", - "Push_Notifications_Alert_Info": "这些通知将在未开启 App 时发送给您", - "Quote": "引用", - "Reactions_are_disabled": "表情貼被禁用", - "Reactions_are_enabled": "表情貼被启用", - "Reactions": "表情貼", - "Read": "读取", - "Read_External_Permission_Message": "Rocket.Chat 需要存取您装置上的相片、多媒体及文件", - "Read_External_Permission": "读取媒体权限", - "Read_Only_Channel": "只读频道", - "Read_Only": "只读", - "Read_Receipt": "查看已读人员", - "Receive_Group_Mentions": "接收群组提及", - "Receive_Group_Mentions_Info": "接收@all和@here提及", - "Register": "注册", - "Repeat_Password": "重复输入密码", - "Replied_on": "回覆在", - "replies": "回覆", - "reply": "回复", - "Reply": "回复", - "Report": "举报", - "Receive_Notification": "接收通知", - "Receive_notifications_from": "接收来自 {{name}} 的通知", - "Resend": "重新发送", - "Reset_password": "重置密码", - "resetting_password": "正在重置密码", - "RESET": "重置", - "Return": "返回", - "Review_app_title": "对此 App 满意吗?", - "Review_app_desc": "请在 {{store}} 给予我们 5 星好评", - "Review_app_yes": "没问题", - "Review_app_no": "婉拒", - "Review_app_later": "之后再说", - "Review_app_unable_store": "无法开启 {{store}}", - "Review_this_app": "评分此 App", - "Remove": "移除", - "Roles": "角色", - "Room_actions": "聊天室操作", - "Room_changed_announcement": "{{userBy}}将聊天室通知改为:{{announcement}}", - "Room_changed_avatar": "Room avatar changed by {{userBy}}", - "Room_changed_description": "{{userBy}}将聊天室说明改为:{{description}}", - "Room_changed_privacy": "{{userBy}}将聊天室类型改为:{{type}}", - "Room_changed_topic": "{{userBy}}将聊天室主题改为:{{topic}}", - "Room_Files": "聊天室文件", - "Room_Info_Edit": "聊天室信息编辑", - "Room_Info": "聊天室信息", - "Room_Members": "聊天室成员", - "Room_name_changed": "{{userBy}} 将聊天室名称改为:{{name}}", - "SAVE": "保存", - "Save_Changes": "保存更改", - "Save": "保存", - "Saved": "保存", - "saving_preferences": "保存偏好設置", - "saving_profile": "保存配置文件", - "saving_settings": "保存设置", - "saved_to_gallery": "储存至图片库", - "Save_Your_E2E_Password": "储存您的 E2E 密码", - "Save_Your_Encryption_Password": "储存您的加密密码", - "Save_Your_Encryption_Password_warning": "此密码未被储存在任何地方,为此您必须安全存放您的密码", - "Save_Your_Encryption_Password_info": "请记住,如果你遗失了您的密码,您将无法存取您的信息并不可恢复", - "Search_Messages": "搜索信息", - "Search": "搜索", - "Search_by": "搜寻", - "Search_global_users": "搜寻全域用户", - "Search_global_users_description": "如果启用,您将可以搜寻其他公司、服务器上的任何用戶", - "Seconds": "{{second}} 秒", - "Security_and_privacy": "安全与隐私", - "Select_Avatar": "选择头像", - "Select_Server": "选择服务器", - "Select_Users": "选择用户", - "Select_a_Channel": "选择一个频道", - "Select_a_Department": "选择一个部门", - "Select_an_option": "选择一个选项", - "Select_a_User": "选择一个用戶", - "Send": "发送", - "Send_audio_message": "发送音频信息", - "Send_crash_report": "送出当机报告", - "Send_message": "发送信息", - "Send_me_the_code_again": "再次发送代码给我", - "Send_to": "发送到", - "Sending_to": "正发送到", - "Sent_an_attachment": "发送附件", - "Server": "服务器", - "Servers": "服务器", - "Server_version": "服务器版本: {{version}}", - "Set_username_subtitle": "用户名是用來让其他人在信息中提到您", - "Set_custom_status": "设定自订状态", - "Set_status": "设定状态", - "Status_saved_successfully": "状态储存成功", - "Settings": "设置", - "Settings_succesfully_changed": "设置更改成功!", - "Share": "分享", - "Share_Link": "分享链接", - "Share_this_app": "分享此 app", - "Show_more": "显示更多", - "Show_Unread_Counter": "显示未读信息数量", - "Show_Unread_Counter_Info": "显示未读信息数量资讯", - "Sign_in_your_server": "登录你的服务器", - "Sign_Up": "注册", - "Some_field_is_invalid_or_empty": "某些字段无效或为空", - "Sorting_by": "按{{key}}排序", - "Sound": "声音", - "Star_room": "将聊天室标记", - "Star": "标记", - "Starred_Messages": "标记的信息", - "starred": "被标记", - "Starred": "已标记", - "Start_of_conversation": "开始对话", - "Start_a_Discussion": "开始一个讨论", - "Started_discussion": "已开始的讨论", - "Started_call": "{{userBy}} 开始的通话", - "Submit": "提交", - "Table": "表格", - "Tags": "标签", - "Take_a_photo": "拍照", - "Take_a_video": "录影", - "Take_it": "拿去!", - "tap_to_change_status": "点按即可更改状态", - "Tap_to_view_servers_list": "点击查看服务器列表", - "Terms_of_Service": "服务条款", - "Theme": "布景主题", - "The_user_wont_be_able_to_type_in_roomName": "此用户将无法在 {{roomName}} 中输入", - "The_user_will_be_able_to_type_in_roomName": "此用户将可以在 {{roomName}} 中输入", - "There_was_an_error_while_action": "{{action}}出现错误!", - "This_room_is_blocked": "这个聊天室被锁了", - "This_room_is_read_only": "这个聊天室是只读的", - "Thread": "讨论串", - "Threads": "讨论串", - "Timezone": "时区", - "To": "到", - "topic": "主题", - "Topic": "主题", - "Translate": "翻译", - "Try_again": "再试一次", - "Two_Factor_Authentication": "双重认证", - "Type_the_channel_name_here": "在这里输入频道名称", - "unarchive": "取消封存", - "UNARCHIVE": "取消封存", - "Unblock_user": "解除屏蔽", - "Unfavorite": "取消收藏", - "Unfollowed_thread": "取消追踪讨论", - "Unmute": "取消静音", - "unmuted": "静音状态", - "Unpin": "取消钉选", - "unread_messages": "未读信息", - "Unread": "未读", - "Unread_on_top": "未读优先", - "Unstar": "取消标记", - "Updating": "正在更新", - "Uploading": "正在上传", - "Upload_file_question_mark": "上传文件?", - "User": "用戶", - "Users": "用戶", - "User_added_by": "由{{userBy}}添加的用户 {{userAdded}}", - "User_Info": "用戶资讯", - "User_has_been_key": "用户已被{{key}}", - "User_is_no_longer_role_by_": "{{userBy}}将角色 {{role}} 从用户 {{user}} 身上移除", - "User_muted_by": "用户 {{userMuted}} 被 {{userBy}} 静音", - "User_removed_by": "用户 {{userRemoved}} 被 {{userBy}} 移除", - "User_sent_an_attachment": "{{user}} 寄送了一个附件", - "User_unmuted_by": "用户 {{userUnmuted}} 被 {{userBy}} 取消静音", - "User_was_set_role_by_": "用户 {{user}} 被 {{userBy}} 设置角色 {{role}}", - "Username_is_empty": "用户名是空的", - "Username": "用户名", - "Username_or_email": "用户名或邮箱", - "Uses_server_configuration": "使用服务器设置", - "Validating": "正在验证", - "Registration_Succeeded": "注册成功", - "Verify": "验证", - "Verify_email_title": "注册成功", - "Verify_email_desc": "我们已经送出一封电子邮件,以确认您的注册。如果您没有很快收到,请再试一次。", - "Verify_your_email_for_the_code_we_sent": "检查您的电子邮件以取得我们发送的代码", - "Video_call": "视频电话", - "View_Original": "检视原文", - "Voice_call": "语音电话", - "Waiting_for_network": "等待网路连接", - "Websocket_disabled": "Websocket 已于此伺服器上禁用。 \\n{{contact}}", - "Welcome": "欢迎", - "What_are_you_doing_right_now": "现在在做些什么?", - "Whats_your_2fa": "您的 2FA 代码是?", - "Without_Servers": "未连接至服务器", - "Workspaces": "工作区", - "Would_you_like_to_return_the_inquiry": "你想回覆询问吗?", - "Write_External_Permission_Message": "Rocket.Chat 需要您图片库的存取权限以储存图片。", - "Write_External_Permission": "图片库权限", - "Yes": "是", - "Yes_action_it": "是的,{{action}}它!", - "Yesterday": "昨天", - "You_are_in_preview_mode": "您处于预览模式", - "You_are_offline": "您处于离线状态", - "You_can_search_using_RegExp_eg": "您可用 RegExp 进行搜索。 例如`/^text$/i`", - "You_colon": "你:", - "you_were_mentioned": "你被提到了", - "You_were_removed_from_channel": "您已从 {{channel}} 中被踢除", - "you": "你", - "You": "你", - "Logged_out_by_server": "服务器端已将你注销,请重新登入", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "您需要访问至少一台Rocket.Chat服务器才能共享某些内容。", - "You_need_to_verifiy_your_email_address_to_get_notications": "您需要先验证您的邮箱以启用通知", - "Your_certificate": "你的证书", - "Your_invite_link_will_expire_after__usesLeft__uses": "您的邀请链接将在{{usesLeft}}使用后到期。", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "您的邀请链接将于{{date}}或{{usesLeft}}使用后到期。", - "Your_invite_link_will_expire_on__date__": "您的邀请链接将于{{date}}到期。", - "Your_invite_link_will_never_expire": "您的邀请链接永久有效。", - "Your_workspace": "您的工作区", - "Your_password_is": "您的密码", - "Version_no": "版本: {{version}}", - "You_will_not_be_able_to_recover_this_message": "您将无法恢复此信息!", - "You_will_unset_a_certificate_for_this_server": "您将取消此服务器的凭证设定", - "Change_Language": "切换语言", - "Crash_report_disclaimer": "我们从不记录您的聊天内容。 崩溃报告和分析事件仅与 Rocket.Chat 有关,以便识别和修复问题。", - "Type_message": "输入信息", - "Room_search": "搜索聊天室", - "Room_selection": "选择房间(输入 1...9)", - "Next_room": "下一个聊天室", - "Previous_room": "上一个聊天室", - "New_room": "新聊天室", - "Upload_room": "上传至聊天室", - "Search_messages": "搜索信息", - "Scroll_messages": "信息滚动", - "Reply_latest": "回覆最新信息", - "Reply_in_Thread": "讨论串回覆", - "Server_selection": "选择服务器", - "Server_selection_numbers": "选择服务器(输入 1...9)", - "Add_server": "創建服务器", - "New_line": "新的一行", - "You_will_be_logged_out_of_this_application": "您即将登出", - "Clear": "清除", - "This_will_clear_all_your_offline_data": "这将清除您的所有离线资料。", - "This_will_remove_all_data_from_this_server": "这将从该服务器中删除所有数据。", - "Mark_unread": "标记未读", - "Wait_activation_warning": "您的帐号必须由管理员手动启用后才能登入。", - "Screen_lock": "鎖屏", - "Local_authentication_biometry_title": "验证", - "Local_authentication_biometry_fallback": "使用通关密码", - "Local_authentication_unlock_option": "以通关密码解锁", - "Local_authentication_change_passcode": "变更通关密码", - "Local_authentication_info": "注: 如果您忘记了通关密码,将需要移除并重新安装此 App", - "Local_authentication_facial_recognition": "脸部辨识", - "Local_authentication_fingerprint": "指纹辨识", - "Local_authentication_unlock_with_label": "以 {{label}} 解锁", - "Local_authentication_auto_lock_60": "1分钟后", - "Local_authentication_auto_lock_300": "5分钟后", - "Local_authentication_auto_lock_900": "15分钟后", - "Local_authentication_auto_lock_1800": "半小时后", - "Local_authentication_auto_lock_3600": "一小时后", - "Passcode_enter_title": "请输入通关密码", - "Passcode_choose_title": "请输入新通关密码", - "Passcode_choose_confirm_title": "请确认新通关密码", - "Passcode_choose_error": "不正确的通关密码,请再试一次", - "Passcode_choose_force_set": "管理员设置必填", - "Passcode_app_locked_title": "App 已锁定", - "Passcode_app_locked_subtitle": "{{timeLeft}} 秒后再进行尝试", - "After_seconds_set_by_admin": "{{seconds}} 秒 (管理员设定)", - "Dont_activate": "現在不要激活", - "Queued_chats": "聊天队列", - "Queue_is_empty": "队列是空的", - "Logout_from_other_logged_in_locations": "注销其他已登陆的设备", - "You_will_be_logged_out_from_other_locations": "您将于其他设备上注销", - "Logged_out_of_other_clients_successfully": "成功登出其他用户端", - "Logout_failed": "注销失败", - "Log_analytics_events": "日志分析事件", - "E2E_encryption_change_password_title": "变更加密密码", - "E2E_encryption_change_password_description": "现在您可以建立加密私人群组和私讯。您也可以变更已存在的私人群组或是私讯来加密。 \\n\\n这是点对点的加密,所以用来加密/解密的金钥将不会储存到伺服器上。为此,您必须安全存放您的密码。如果您希望在其他装置上使用对点加密时,将会需要输入此密码。", - "E2E_encryption_change_password_error": "变更 E2E 密码时发生错误!", - "E2E_encryption_change_password_success": "E2E 密码已成功变更!", - "E2E_encryption_change_password_message": "请确定您已将其安全存放至别处", - "E2E_encryption_change_password_confirmation": "是,我要变更", - "E2E_encryption_reset_title": "重设 E2E 金钥", - "E2E_encryption_reset_description": "此选项将撤销您目前的*E2E 金钥*并将您登出。 \\n当您再次登入时,Rocket.Chat 将产生新的一组金钥并恢复您对任一有在线成员的加密聊天室之存取权限。 \\n由于 E2E 加密的特性,Rocket.Chat 无法恢复无在线成员之聊天室之存取权限。", - "E2E_encryption_reset_button": "重设", - "E2E_encryption_reset_error": "重设 E2E 金钥时发生错误!", - "E2E_encryption_reset_message": "您将被登出", - "E2E_encryption_reset_confirmation": "是,我要重设", - "Following": "正在追踪", - "Threads_displaying_all": "显示全部", - "Threads_displaying_following": "显示追踪中", - "Threads_displaying_unread": "显示未读", - "No_threads": "当前没有讨论串", - "No_threads_following": "当前没有正在追踪的讨论", - "No_threads_unread": "当前没有未读的讨论", - "Messagebox_Send_to_channel": "发送至频道" -} + "1_person_reacted": "1 人回复了", + "1_user": "1 位用户", + "error-action-not-allowed": "{{action}} 不允許", + "error-application-not-found": "找不到应用程式", + "error-archived-duplicate-name": "已有一个名为「{{room_name}}」的封存频道", + "error-avatar-invalid-url": "无效的头像网址:{{url}}", + "error-avatar-url-handling": "错误,无法将 {{username}} 的头像设置为URL({{url}})", + "error-cant-invite-for-direct-room": "无法邀请使用者进入私讯", + "error-could-not-change-email": "无法更改电子邮件", + "error-could-not-change-name": "无法更改名称", + "error-could-not-change-username": "无法更改使用者名称", + "error-could-not-change-status": "无法更改状态", + "error-delete-protected-role": "无法删除受保护的角色", + "error-department-not-found": "找不到部门", + "error-direct-message-file-upload-not-allowed": "私人对话中不允许档案分享", + "error-duplicate-channel-name": "名为「{{room_name}}」的频道已存在", + "error-email-domain-blacklisted": "电子邮件网域被禁用", + "error-email-send-failed": "尝试发送电子邮件时出错:{{message}}", + "error-save-image": "错误,无法保存图片", + "error-save-video": "错误,无法保存視頻", + "error-field-unavailable": "{{field}} 已被使用 :(", + "error-file-too-large": "文件太大", + "error-importer-not-defined": "没有正确定义,它缺少汇入类型", + "error-input-is-not-a-valid-field": "{{input}} 不是合法的 {{field}}", + "error-invalid-actionlink": "无效的操作链接", + "error-invalid-arguments": "无效的参数", + "error-invalid-asset": "无效的资源", + "error-invalid-channel": "无效的频道", + "error-invalid-channel-start-with-chars": "无效的频道,请以 @ 或 # 开头", + "error-invalid-custom-field": "无效的自订字段", + "error-invalid-custom-field-name": "无效的自订字段名. 只能包含字母、数字、中线(-)及底线(_).", + "error-invalid-date": "无效的日期", + "error-invalid-description": "无效的描述", + "error-invalid-domain": "无效的域名", + "error-invalid-email": "无效的电子邮件{{email}}", + "error-invalid-email-address": "无效的邮件地址", + "error-invalid-file-height": "无效的文件长度", + "error-invalid-file-type": "无效的文件类型", + "error-invalid-file-width": "无效的文件宽度", + "error-invalid-from-address": "无效的地址", + "error-invalid-integration": "无效的整合", + "error-invalid-message": "无效的信息", + "error-invalid-method": "无效的方法", + "error-invalid-name": "无效的名称", + "error-invalid-password": "无效的密码", + "error-invalid-redirectUri": "无效的转址", + "error-invalid-role": "无效的角色", + "error-invalid-room": "无效的聊天室", + "error-invalid-room-name": "{{room_name}} 不是合法的聊天室名称", + "error-invalid-room-type": "{{type}} 不是合法的聊天室类型.", + "error-invalid-settings": "无效的设置", + "error-invalid-subscription": "无效的订阅", + "error-invalid-token": "无效的 token", + "error-invalid-triggerWords": "无效的关键字", + "error-invalid-urls": "无效的网址", + "error-invalid-user": "无效的使用者", + "error-invalid-username": "无效的使用者名称", + "error-invalid-webhook-response": "webhook 网址以200以外的状态响应", + "error-message-deleting-blocked": "信息删除已停用", + "error-message-editing-blocked": "信息编辑已停用", + "error-message-size-exceeded": "信息大小超出上限", + "error-missing-unsubscribe-link": "您必须提供[取消订阅]链接。", + "error-no-tokens-for-this-user": "这个用户没有Token", + "error-not-allowed": "不允许", + "error-not-authorized": "未授权", + "error-push-disabled": "推播已停用", + "error-remove-last-owner": "这是最后一个所有者。请在删除这个之前设置一个新所有者。", + "error-role-in-use": "无法删除正在使用中的角色", + "error-role-name-required": "角色名称是必須的", + "error-the-field-is-required": "字段 {{field}} 是必須的。", + "error-too-many-requests": "错误,请求太多。请慢一点。在再次尝试之前,必须等待{{seconds}}秒。", + "error-user-is-not-activated": "用户未被激活", + "error-user-has-no-roles": "用户未设定角色", + "error-user-limit-exceeded": "尝试邀请到 #channel_name 的用户数量超过了管理员设置的限制", + "error-user-not-in-room": "用户不在这个聊天室", + "error-user-registration-custom-field": "无效的自订注册栏位", + "error-user-registration-disabled": "已停用用户注册", + "error-user-registration-secret": "只能透过加密网址进行用戶注册", + "error-you-are-last-owner": "您是最后的拥有者。请删除此人之前设置一个新的拥有者。", + "Actions": "操作", + "Activity": "按活动时间排列", + "Add_Reaction": "增加表情貼", + "Add_Server": "創建服务器", + "Add_users": "創建用户", + "Admin_Panel": "仪表板", + "Agent": "代理", + "Alert": "警报", + "alert": "警报", + "alerts": "警报", + "All_users_in_the_channel_can_write_new_messages": "频道中的所有用户都可以发送新信息", + "A_meaningful_name_for_the_discussion_room": "取一个有意义的讨论区的名称", + "All": "所有", + "All_Messages": "全部信息", + "Allow_Reactions": "允许表情贴", + "Alphabetical": "以名称排序", + "and_more": "和更多的", + "and": "和", + "announcement": "公告", + "Announcement": "公告", + "Apply_Your_Certificate": "使用自己的凭证", + "ARCHIVE": "封存", + "archive": "封存", + "are_typing": "正在输入", + "Are_you_sure_question_mark": "你确定吗?", + "Are_you_sure_you_want_to_leave_the_room": "你确定要离开聊天室 {{room}} 吗?", + "Audio": "音讯", + "Authenticating": "正在验证身份", + "Automatic": "自动", + "Auto_Translate": "自动翻译", + "Avatar_changed_successfully": "头像更新成功!", + "Avatar_Url": "头像地址", + "Away": "离开", + "Back": "返回", + "Black": "黑色", + "Block_user": "屏蔽此用户", + "Browser": "浏览器", + "Broadcast_channel_Description": "只有经过授权的用户才能写新信息,但其他用户可以回复", + "Broadcast_Channel": "广播频道", + "Busy": "忙碌", + "By_proceeding_you_are_agreeing": "继续操作,请同意我们的", + "Cancel_editing": "取消编辑", + "Cancel_recording": "取消录制", + "Cancel": "取消", + "changing_avatar": "更改头像", + "creating_channel": "创建频道", + "creating_invite": "创建邀请", + "Channel_Name": "频道名", + "Channels": "频道", + "Chats": "聊天", + "Call_already_ended": "通话已经结束!", + "Clear_cookies_alert": "是否清除所有 cookies?", + "Clear_cookies_desc": "本操作将清除所有登入 cookies,以登入其他帐号", + "Clear_cookies_yes": "是,清除 cookies", + "Clear_cookies_no": "否,保留 cookies", + "Click_to_join": "点击以参与", + "Close": "关闭", + "Close_emoji_selector": "关闭 emoji 选择器", + "Closing_chat": "结束聊天", + "Change_language_loading": "切换语言", + "Chat_closed_by_agent": "聊天已被客服关闭", + "Choose": "选择", + "Choose_from_library": "从媒体库选择", + "Choose_file": "选择文件", + "Choose_where_you_want_links_be_opened": "请选择您要将链接开启在", + "Code": "代码", + "Code_or_password_invalid": "验证码或密码不正确", + "Collaborative": "协作", + "Confirm": "确认", + "Connect": "连接", + "Connected": "已连接", + "connecting_server": "连接至服务器", + "Connecting": "连接中", + "Contact_us": "联系我们", + "Contact_your_server_admin": "请联络系统管理员", + "Continue_with": "继续采用", + "Copied_to_clipboard": "复制到剪贴板", + "Copy": "复制", + "Conversation": "对话", + "Permalink": "永久链接", + "Certificate_password": "凭证密码", + "Clear_cache": "清除本机资料", + "Clear_cache_loading": "清除快取", + "Whats_the_password_for_your_certificate": "您的凭证密码是?", + "Create_account": "创建账户", + "Create_Channel": "创建频道", + "Create_Direct_Messages": "新增私人讯息", + "Create_Discussion": "新增讨论区", + "Created_snippet": "新增程式码片段", + "Create_a_new_workspace": "创建一个新的工作区", + "Create": "创建", + "Custom_Status": "自订状态", + "Dark": "深色", + "Dark_level": "深色程度", + "Default": "默認", + "Default_browser": "预设浏览器", + "Delete_Room_Warning": "删除聊天室将连带删除其中所有信息。此操作将无法还原。", + "Department": "部门", + "delete": "删除", + "Delete": "删除", + "DELETE": "删除", + "deleting_room": "正在删除聊天室", + "description": "描述", + "Description": "描述", + "Desktop_Options": "桌面选项", + "Desktop_Notifications": "桌面通知", + "Desktop_Alert_info": "这些通知将发送至桌面", + "Directory": "目录", + "Direct_Messages": "私訊", + "Disable_notifications": "禁用信息通知", + "Discussions": "讨论区", + "Discussion_Desc": "帮助保持事态更新! 通过创建讨论,一个和所选频道双向关联的子频道将会被创建。", + "Discussion_name": "讨论区名称", + "Done": "完成", + "Dont_Have_An_Account": "还没有账号?", + "Do_you_have_an_account": "是否拥有帐号?", + "Do_you_have_a_certificate": "是否拥有凭证?", + "Do_you_really_want_to_key_this_room_question_mark": "您真的想要{{key}}这个聊天室吗?", + "E2E_Encryption": "E2E 加密", + "E2E_How_It_Works_info1": "您现在可以创建加密的专用组和直接消息。您也可以将现有的私人组或直接信息加密。", + "E2E_How_It_Works_info2": "这是點對點加密,因此编码/解码邮件的密钥不会保存在服务器上。因此,您需要将密码存储在安全的地方。您需要在希望使用點對點加密的其他设备上输入。", + "E2E_How_It_Works_info3": "如果继续,将自动生成一组 E2E 密码", + "E2E_How_It_Works_info4": "您也可以随时从已输入既有密码的任何浏览器设定新密码给您的加密金钥。", + "edit": "编辑", + "edited": "已编辑", + "Edit": "编辑", + "Edit_Status": "编辑状态", + "Edit_Invite": "编辑邀请", + "End_to_end_encrypted_room": "E2E 加密聊天室", + "end_to_end_encryption": "E2E 加密", + "Email_Notification_Mode_All": "每次被标记或私讯", + "Email_Notification_Mode_Disabled": "禁用", + "Email_or_password_field_is_empty": "邮件或密码字段为空", + "Email": "邮箱", + "email": "邮箱", + "Empty_title": "空白标题", + "Enable_Auto_Translate": "开启自动翻译", + "Enable_notifications": "开启信息通知", + "Encrypted": "已加密", + "Encrypted_message": "加密信息", + "Enter_Your_E2E_Password": "输入您的 E2E 密码", + "Enter_Your_Encryption_Password_desc1": "这将会允许您存取您的加密私人群组和私訊", + "Enter_Your_Encryption_Password_desc2": "您需要在任何使用此聊天的平台输入密码,以编码/解码您的信息", + "Encryption_error_title": "您的加密密码似乎有误", + "Encryption_error_desc": "无法使用汇入的加密密钥来解密", + "Everyone_can_access_this_channel": "每个人都可以访问此频道", + "Error_uploading": "错误上传", + "Expiration_Days": "到期 (日)", + "Favorites": "收藏", + "Files": "文件", + "File_description": "文件描述", + "File_name": "文件名称", + "Finish_recording": "完成录制", + "Following_thread": "追踪的讨论串", + "For_your_security_you_must_enter_your_current_password_to_continue": "出于安全考虑,您必须输入您的密码以便继续操作", + "Forgot_password_If_this_email_is_registered": "如果这邮箱已注册,我们将发送如何重置密码的说明。如果您没有在短时间内收到电子邮件,请再试一次。", + "Forgot_password": "忘记密码", + "Forgot_Password": "忘记密码", + "Forward": "转发", + "Forward_Chat": "转发聊天", + "Forward_to_department": "转发到部门", + "Forward_to_user": "转发给用戶", + "Full_table": "点击以查看完整表格", + "Generate_New_Link": "产生新的链接", + "Has_joined_the_channel": "已加入频道", + "Has_joined_the_conversation": "已经加入此对话", + "Has_left_the_channel": "已离开频道", + "Hide_System_Messages": "隐藏系统信息", + "Hide_type_messages": "隐藏 \"{{type}}\" 信息", + "How_It_Works": "运作方式", + "Message_HideType_uj": "隐藏“用戶加入”信息", + "Message_HideType_ul": "隐藏“用戶离开”信息", + "Message_HideType_ru": "隐藏“用戶已删除”信息", + "Message_HideType_au": "隐藏“用戶已增加”信息", + "Message_HideType_mute_unmute": "隐藏“用戶静音/取消静音”信息", + "Message_HideType_r": "隐藏“房间名称已更改”的信息", + "Message_HideType_ut": "隐藏“用戶已加入对话”的信息", + "Message_HideType_wm": "隐藏“欢迎”的信息", + "Message_HideType_rm": "隐藏“已删除信息”的信息", + "Message_HideType_subscription_role_added": "隐藏“已设置角色”的信息", + "Message_HideType_subscription_role_removed": "隐藏“不再定义的角色”的信息", + "Message_HideType_room_archived": "隐藏“聊天室已封存”的信息", + "Message_HideType_room_unarchived": "隐藏“聊天室未封存”的信息", + "I_Saved_My_E2E_Password": "保存我的 E2E 密码", + "IP": "IP", + "In_app": "App 内", + "In_App_And_Desktop": "App 内及桌面", + "In_App_and_Desktop_Alert_info": "打开 app 时,會在屏幕上方显示横幅;显示桌面通知", + "Invisible": "隐身", + "Invite": "邀请", + "is_a_valid_RocketChat_instance": "是一个有效的 Rocket.Chat 实例", + "is_not_a_valid_RocketChat_instance": "不是有效的 Rocket.Chat 实例", + "is_typing": "正在输入", + "Invalid_or_expired_invite_token": "无效或到期的邀请 token", + "Invalid_server_version": "此 App 版本已不支援您正在连线之服务器版本。当前版本: {{currentVersion}}.\\n\\n最低版本要求: {{minVersion}}", + "Invite_Link": "邀请链接", + "Invite_users": "邀请用戶", + "Join": "加入", + "Join_our_open_workspace": "加入开放工作区", + "Join_your_workspace": "加入您的工作区", + "Just_invited_people_can_access_this_channel": "仅有被邀请人能进入这个频道", + "Language": "语言", + "last_message": "最后一条信息", + "Leave_channel": "离开频道", + "leaving_room": "离开聊天室", + "leave": "离开", + "Legal": "合法", + "Light": "浅色", + "License": "授权条款", + "Livechat": "即时聊天", + "Livechat_edit": "即时聊天编辑", + "Login": "登陆", + "Login_error": "认证失败!请再试一次", + "Login_with": "登陆为", + "Logging_out": "正在登出", + "Logout": "注销", + "Max_number_of_uses": "最大使用次数", + "Max_number_of_users_allowed_is_number": "允许使用者上限数量{{maxUsers}}", + "members": "成员", + "Members": "成员", + "Mentioned_Messages": "被提及的信息", + "mentioned": "提到", + "Mentions": "被提及", + "Message_accessibility": "{{time}}来自{{user}}的消息: {{message}}", + "Message_actions": "信息操作", + "Message_pinned": "信息被钉选", + "Message_removed": "信息被删除", + "Message_starred": "信息被标注", + "Message_unstarred": "信息被取消标注", + "message": "信息", + "messages": "信息", + "Message": "信息", + "Messages": "信息", + "Message_Reported": "信息已举报", + "Microphone_Permission_Message": "Rocket.Chat 需要存取您的麦克风,以便发送音频信息。", + "Microphone_Permission": "麦克风授权", + "Mute": "静音", + "muted": "被静音", + "My_servers": "我的服务器", + "N_people_reacted": "{{n}} 人回复", + "N_users": "{{n}} 位用户", + "Name": "名称", + "Navigation_history": "浏览历史记录", + "Never": "从不", + "New_Message": "新信息", + "New_Password": "新密码", + "New_Server": "新服务器", + "Next": "下一步", + "No_files": "没有文件", + "No_limit": "没有限制", + "No_mentioned_messages": "没有被提及的信息", + "No_pinned_messages": "没有钉选的消息", + "No_results_found": "没有搜寻结果", + "No_starred_messages": "没有加星标的消息", + "No_thread_messages": "没有讨论串信息", + "No_label_provided": "没有提供 {{label}}", + "No_Message": "没有信息", + "No_messages_yet": "当前未有信息", + "No_Reactions": "没有表情貼", + "No_Read_Receipts": "没有已读人员", + "Not_logged": "没有记录", + "Not_RC_Server": "这不是一个 Rocket.Chat server.\\n{{contact}}", + "Nothing": "无", + "Nothing_to_save": "什么都没有保存!", + "Notify_active_in_this_room": "通知这个聊天室的活跃用户", + "Notify_all_in_this_room": "通知这个聊天室的所有人", + "Notifications": "通知", + "Notification_Duration": "通知持续时间", + "Notification_Preferences": "通知偏好设置", + "No_available_agents_to_transfer": "没有可用的代理进行传输", + "Offline": "离线", + "Oops": "哎呀!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "打开即时聊天", + "Omnichannel_enable_alert": "您尚未启用 Omnichannel,是否想要启用?", + "Onboarding_description": "工作区是团队或组织协作的空间。向工作区管理员询问要加入的地址或为您的团队创建一个。", + "Onboarding_join_workspace": "加入一个工作区", + "Onboarding_subtitle": "超越团队合作", + "Onboarding_title": "欢迎来到 Rocket.Chat", + "Onboarding_join_open_description": "加入我们的开放工作区以与 Rocket.Chat 团队及社群交谈", + "Onboarding_agree_terms": "继续,即表示您同意 Rocket.Chat", + "Onboarding_less_options": "较少选项", + "Onboarding_more_options": "较多选项", + "Online": "在线", + "Only_authorized_users_can_write_new_messages": "只有经过授权的用户才能写新信息", + "Open_emoji_selector": "打开 emoji 选择器", + "Open_Source_Communication": "开源沟通", + "Open_your_authentication_app_and_enter_the_code": "打开您的验证应用程式并输入代码。您也可以使用其中一个备用代码。", + "OR": "或", + "OS": "作业系统", + "Overwrites_the_server_configuration_and_use_room_config": "覆写服务器设置和使用聊天室设置", + "Password": "密码", + "Parent_channel_or_group": "父频道或群组", + "Permalink_copied_to_clipboard": "永久链接已复制到剪贴板!", + "Phone": "电话", + "Pin": "钉选", + "Pinned_Messages": "钉选信息", + "pinned": "已被钉选", + "Pinned": "被钉选", + "Please_add_a_comment": "请新增评论", + "Please_enter_your_password": "请输入密码", + "Please_wait": "请稍候", + "Preferences": "偏好设置", + "Preferences_saved": "偏好已保存!", + "Privacy_Policy": "隐私政策", + "Private_Channel": "私人频道", + "Private": "私有的", + "Processing": "处理中", + "Profile_saved_successfully": "个人资料保存成功!", + "Profile": "个人资料", + "Public_Channel": "公共频道", + "Public": "公共", + "Push_Notifications": "推送通知", + "Push_Notifications_Alert_Info": "这些通知将在未开启 App 时发送给您", + "Quote": "引用", + "Reactions_are_disabled": "表情貼被禁用", + "Reactions_are_enabled": "表情貼被启用", + "Reactions": "表情貼", + "Read_External_Permission_Message": "Rocket.Chat 需要存取您装置上的相片、多媒体及文件", + "Read_External_Permission": "读取媒体权限", + "Read_Only_Channel": "只读频道", + "Read_Only": "只读", + "Read_Receipt": "查看已读人员", + "Receive_Group_Mentions": "接收群组提及", + "Receive_Group_Mentions_Info": "接收@all和@here提及", + "Register": "注册", + "Repeat_Password": "重复输入密码", + "Replied_on": "回覆在", + "replies": "回覆", + "reply": "回复", + "Reply": "回复", + "Report": "举报", + "Receive_Notification": "接收通知", + "Receive_notifications_from": "接收来自 {{name}} 的通知", + "Resend": "重新发送", + "Reset_password": "重置密码", + "resetting_password": "正在重置密码", + "RESET": "重置", + "Return": "返回", + "Review_app_title": "对此 App 满意吗?", + "Review_app_desc": "请在 {{store}} 给予我们 5 星好评", + "Review_app_yes": "没问题", + "Review_app_no": "婉拒", + "Review_app_later": "之后再说", + "Review_app_unable_store": "无法开启 {{store}}", + "Review_this_app": "评分此 App", + "Remove": "移除", + "Roles": "角色", + "Room_actions": "聊天室操作", + "Room_changed_announcement": "{{userBy}}将聊天室通知改为:{{announcement}}", + "Room_changed_avatar": "Room avatar changed by {{userBy}}", + "Room_changed_description": "{{userBy}}将聊天室说明改为:{{description}}", + "Room_changed_privacy": "{{userBy}}将聊天室类型改为:{{type}}", + "Room_changed_topic": "{{userBy}}将聊天室主题改为:{{topic}}", + "Room_Files": "聊天室文件", + "Room_Info_Edit": "聊天室信息编辑", + "Room_Info": "聊天室信息", + "Room_Members": "聊天室成员", + "Room_name_changed": "{{userBy}} 将聊天室名称改为:{{name}}", + "SAVE": "保存", + "Save_Changes": "保存更改", + "Save": "保存", + "Saved": "保存", + "saving_preferences": "保存偏好設置", + "saving_profile": "保存配置文件", + "saving_settings": "保存设置", + "saved_to_gallery": "储存至图片库", + "Save_Your_E2E_Password": "储存您的 E2E 密码", + "Save_Your_Encryption_Password": "储存您的加密密码", + "Save_Your_Encryption_Password_warning": "此密码未被储存在任何地方,为此您必须安全存放您的密码", + "Save_Your_Encryption_Password_info": "请记住,如果你遗失了您的密码,您将无法存取您的信息并不可恢复", + "Search_Messages": "搜索信息", + "Search": "搜索", + "Search_by": "搜寻", + "Search_global_users": "搜寻全域用户", + "Search_global_users_description": "如果启用,您将可以搜寻其他公司、服务器上的任何用戶", + "Seconds": "{{second}} 秒", + "Security_and_privacy": "安全与隐私", + "Select_Avatar": "选择头像", + "Select_Server": "选择服务器", + "Select_Users": "选择用户", + "Select_a_Channel": "选择一个频道", + "Select_a_Department": "选择一个部门", + "Select_an_option": "选择一个选项", + "Select_a_User": "选择一个用戶", + "Send": "发送", + "Send_audio_message": "发送音频信息", + "Send_crash_report": "送出当机报告", + "Send_message": "发送信息", + "Send_me_the_code_again": "再次发送代码给我", + "Send_to": "发送到", + "Sending_to": "正发送到", + "Sent_an_attachment": "发送附件", + "Server": "服务器", + "Servers": "服务器", + "Server_version": "服务器版本: {{version}}", + "Set_username_subtitle": "用户名是用來让其他人在信息中提到您", + "Set_custom_status": "设定自订状态", + "Set_status": "设定状态", + "Status_saved_successfully": "状态储存成功", + "Settings": "设置", + "Settings_succesfully_changed": "设置更改成功!", + "Share": "分享", + "Share_Link": "分享链接", + "Share_this_app": "分享此 app", + "Show_more": "显示更多", + "Show_Unread_Counter": "显示未读信息数量", + "Show_Unread_Counter_Info": "显示未读信息数量资讯", + "Sign_in_your_server": "登录你的服务器", + "Sign_Up": "注册", + "Some_field_is_invalid_or_empty": "某些字段无效或为空", + "Sound": "声音", + "Star_room": "将聊天室标记", + "Star": "标记", + "Starred_Messages": "标记的信息", + "starred": "被标记", + "Starred": "已标记", + "Start_of_conversation": "开始对话", + "Start_a_Discussion": "开始一个讨论", + "Started_discussion": "已开始的讨论", + "Started_call": "{{userBy}} 开始的通话", + "Submit": "提交", + "Table": "表格", + "Tags": "标签", + "Take_a_photo": "拍照", + "Take_a_video": "录影", + "Take_it": "拿去!", + "tap_to_change_status": "点按即可更改状态", + "Tap_to_view_servers_list": "点击查看服务器列表", + "Terms_of_Service": "服务条款", + "Theme": "布景主题", + "The_user_wont_be_able_to_type_in_roomName": "此用户将无法在 {{roomName}} 中输入", + "The_user_will_be_able_to_type_in_roomName": "此用户将可以在 {{roomName}} 中输入", + "There_was_an_error_while_action": "{{action}}出现错误!", + "This_room_is_blocked": "这个聊天室被锁了", + "This_room_is_read_only": "这个聊天室是只读的", + "Thread": "讨论串", + "Threads": "讨论串", + "Timezone": "时区", + "To": "到", + "topic": "主题", + "Topic": "主题", + "Translate": "翻译", + "Try_again": "再试一次", + "Two_Factor_Authentication": "双重认证", + "Type_the_channel_name_here": "在这里输入频道名称", + "unarchive": "取消封存", + "UNARCHIVE": "取消封存", + "Unblock_user": "解除屏蔽", + "Unfollowed_thread": "取消追踪讨论", + "Unmute": "取消静音", + "unmuted": "静音状态", + "Unpin": "取消钉选", + "unread_messages": "未读信息", + "Unread": "未读", + "Unread_on_top": "未读优先", + "Unstar": "取消标记", + "Updating": "正在更新", + "Uploading": "正在上传", + "Upload_file_question_mark": "上传文件?", + "User": "用戶", + "Users": "用戶", + "User_added_by": "由{{userBy}}添加的用户 {{userAdded}}", + "User_Info": "用戶资讯", + "User_has_been_key": "用户已被{{key}}", + "User_is_no_longer_role_by_": "{{userBy}}将角色 {{role}} 从用户 {{user}} 身上移除", + "User_muted_by": "用户 {{userMuted}} 被 {{userBy}} 静音", + "User_removed_by": "用户 {{userRemoved}} 被 {{userBy}} 移除", + "User_sent_an_attachment": "{{user}} 寄送了一个附件", + "User_unmuted_by": "用户 {{userUnmuted}} 被 {{userBy}} 取消静音", + "User_was_set_role_by_": "用户 {{user}} 被 {{userBy}} 设置角色 {{role}}", + "Username_is_empty": "用户名是空的", + "Username": "用户名", + "Username_or_email": "用户名或邮箱", + "Uses_server_configuration": "使用服务器设置", + "Validating": "正在验证", + "Registration_Succeeded": "注册成功", + "Verify": "验证", + "Verify_email_title": "注册成功", + "Verify_email_desc": "我们已经送出一封电子邮件,以确认您的注册。如果您没有很快收到,请再试一次。", + "Verify_your_email_for_the_code_we_sent": "检查您的电子邮件以取得我们发送的代码", + "Video_call": "视频电话", + "View_Original": "检视原文", + "Voice_call": "语音电话", + "Waiting_for_network": "等待网路连接", + "Websocket_disabled": "Websocket 已于此伺服器上禁用。 \\n{{contact}}", + "Welcome": "欢迎", + "What_are_you_doing_right_now": "现在在做些什么?", + "Whats_your_2fa": "您的 2FA 代码是?", + "Without_Servers": "未连接至服务器", + "Workspaces": "工作区", + "Would_you_like_to_return_the_inquiry": "你想回覆询问吗?", + "Write_External_Permission_Message": "Rocket.Chat 需要您图片库的存取权限以储存图片。", + "Write_External_Permission": "图片库权限", + "Yes": "是", + "Yes_action_it": "是的,{{action}}它!", + "Yesterday": "昨天", + "You_are_in_preview_mode": "您处于预览模式", + "You_are_offline": "您处于离线状态", + "You_can_search_using_RegExp_eg": "您可用 RegExp 进行搜索。 例如`/^text$/i`", + "You_colon": "你:", + "you_were_mentioned": "你被提到了", + "You_were_removed_from_channel": "您已从 {{channel}} 中被踢除", + "you": "你", + "You": "你", + "Logged_out_by_server": "服务器端已将你注销,请重新登入", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "您需要访问至少一台Rocket.Chat服务器才能共享某些内容。", + "You_need_to_verifiy_your_email_address_to_get_notications": "您需要先验证您的邮箱以启用通知", + "Your_certificate": "你的证书", + "Your_invite_link_will_expire_after__usesLeft__uses": "您的邀请链接将在{{usesLeft}}使用后到期。", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "您的邀请链接将于{{date}}或{{usesLeft}}使用后到期。", + "Your_invite_link_will_expire_on__date__": "您的邀请链接将于{{date}}到期。", + "Your_invite_link_will_never_expire": "您的邀请链接永久有效。", + "Your_workspace": "您的工作区", + "Your_password_is": "您的密码", + "Version_no": "版本: {{version}}", + "You_will_not_be_able_to_recover_this_message": "您将无法恢复此信息!", + "You_will_unset_a_certificate_for_this_server": "您将取消此服务器的凭证设定", + "Change_Language": "切换语言", + "Crash_report_disclaimer": "我们从不记录您的聊天内容。 崩溃报告和分析事件仅与 Rocket.Chat 有关,以便识别和修复问题。", + "Type_message": "输入信息", + "Room_search": "搜索聊天室", + "Room_selection": "选择房间(输入 1...9)", + "Next_room": "下一个聊天室", + "Previous_room": "上一个聊天室", + "New_room": "新聊天室", + "Upload_room": "上传至聊天室", + "Search_messages": "搜索信息", + "Scroll_messages": "信息滚动", + "Reply_latest": "回覆最新信息", + "Reply_in_Thread": "讨论串回覆", + "Server_selection": "选择服务器", + "Server_selection_numbers": "选择服务器(输入 1...9)", + "Add_server": "創建服务器", + "New_line": "新的一行", + "You_will_be_logged_out_of_this_application": "您即将登出", + "Clear": "清除", + "This_will_clear_all_your_offline_data": "这将清除您的所有离线资料。", + "This_will_remove_all_data_from_this_server": "这将从该服务器中删除所有数据。", + "Mark_unread": "标记未读", + "Wait_activation_warning": "您的帐号必须由管理员手动启用后才能登入。", + "Screen_lock": "鎖屏", + "Local_authentication_biometry_title": "验证", + "Local_authentication_biometry_fallback": "使用通关密码", + "Local_authentication_unlock_option": "以通关密码解锁", + "Local_authentication_change_passcode": "变更通关密码", + "Local_authentication_info": "注: 如果您忘记了通关密码,将需要移除并重新安装此 App", + "Local_authentication_facial_recognition": "脸部辨识", + "Local_authentication_fingerprint": "指纹辨识", + "Local_authentication_unlock_with_label": "以 {{label}} 解锁", + "Local_authentication_auto_lock_60": "1分钟后", + "Local_authentication_auto_lock_300": "5分钟后", + "Local_authentication_auto_lock_900": "15分钟后", + "Local_authentication_auto_lock_1800": "半小时后", + "Local_authentication_auto_lock_3600": "一小时后", + "Passcode_enter_title": "请输入通关密码", + "Passcode_choose_title": "请输入新通关密码", + "Passcode_choose_confirm_title": "请确认新通关密码", + "Passcode_choose_error": "不正确的通关密码,请再试一次", + "Passcode_choose_force_set": "管理员设置必填", + "Passcode_app_locked_title": "App 已锁定", + "Passcode_app_locked_subtitle": "{{timeLeft}} 秒后再进行尝试", + "After_seconds_set_by_admin": "{{seconds}} 秒 (管理员设定)", + "Dont_activate": "現在不要激活", + "Queued_chats": "聊天队列", + "Queue_is_empty": "队列是空的", + "Logout_from_other_logged_in_locations": "注销其他已登陆的设备", + "You_will_be_logged_out_from_other_locations": "您将于其他设备上注销", + "Logged_out_of_other_clients_successfully": "成功登出其他用户端", + "Logout_failed": "注销失败", + "Log_analytics_events": "日志分析事件", + "E2E_encryption_change_password_title": "变更加密密码", + "E2E_encryption_change_password_description": "现在您可以建立加密私人群组和私讯。您也可以变更已存在的私人群组或是私讯来加密。 \\n\\n这是点对点的加密,所以用来加密/解密的金钥将不会储存到伺服器上。为此,您必须安全存放您的密码。如果您希望在其他装置上使用对点加密时,将会需要输入此密码。", + "E2E_encryption_change_password_error": "变更 E2E 密码时发生错误!", + "E2E_encryption_change_password_success": "E2E 密码已成功变更!", + "E2E_encryption_change_password_message": "请确定您已将其安全存放至别处", + "E2E_encryption_change_password_confirmation": "是,我要变更", + "E2E_encryption_reset_title": "重设 E2E 金钥", + "E2E_encryption_reset_description": "此选项将撤销您目前的*E2E 金钥*并将您登出。 \\n当您再次登入时,Rocket.Chat 将产生新的一组金钥并恢复您对任一有在线成员的加密聊天室之存取权限。 \\n由于 E2E 加密的特性,Rocket.Chat 无法恢复无在线成员之聊天室之存取权限。", + "E2E_encryption_reset_button": "重设", + "E2E_encryption_reset_error": "重设 E2E 金钥时发生错误!", + "E2E_encryption_reset_message": "您将被登出", + "E2E_encryption_reset_confirmation": "是,我要重设", + "Following": "正在追踪", + "Threads_displaying_all": "显示全部", + "Threads_displaying_following": "显示追踪中", + "Threads_displaying_unread": "显示未读", + "No_threads": "当前没有讨论串", + "No_threads_following": "当前没有正在追踪的讨论", + "No_threads_unread": "当前没有未读的讨论", + "Messagebox_Send_to_channel": "发送至频道" +} \ No newline at end of file diff --git a/app/i18n/locales/zh-HK.json b/app/i18n/locales/zh-HK.json new file mode 100644 index 000000000..6f31cf5a2 --- /dev/null +++ b/app/i18n/locales/zh-HK.json @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/app/i18n/locales/zh-TW.json b/app/i18n/locales/zh-TW.json index 0725a12b4..85d2690ca 100644 --- a/app/i18n/locales/zh-TW.json +++ b/app/i18n/locales/zh-TW.json @@ -1,684 +1,675 @@ { - "1_person_reacted": "1 人回覆了", - "1_user": "1 位使用者", - "error-action-not-allowed": "{{action}} 不允許", - "error-application-not-found": "找不到應用程式", - "error-archived-duplicate-name": "已有一個名為「{{room_name}}」的封存頻道", - "error-avatar-invalid-url": "無效的大頭貼網址:{{url}}", - "error-avatar-url-handling": "錯誤,無法將 {{username}} 的大頭貼設置為URL({{url}})", - "error-cant-invite-for-direct-room": "無法邀請使用者進入私訊", - "error-could-not-change-email": "無法更改電子郵件", - "error-could-not-change-name": "無法更改名稱", - "error-could-not-change-username": "無法更改使用者名稱", - "error-could-not-change-status": "無法更改狀態", - "error-delete-protected-role": "無法刪除受保護的角色", - "error-department-not-found": "找不到部門", - "error-direct-message-file-upload-not-allowed": "私人對話中不允許檔案分享", - "error-duplicate-channel-name": "名為「{{channel_name}}」的頻道已存在", - "error-email-domain-blacklisted": "電子郵件網域被禁用", - "error-email-send-failed": "嘗試發送電子郵件時出錯:{{message}}", - "error-save-image": "錯誤,無法儲存圖片", - "error-save-video": "錯誤,無法儲存影片", - "error-field-unavailable": "{{field}} 已被使用 :(", - "error-file-too-large": "檔案太大", - "error-importer-not-defined": "沒有正確定義,它缺少匯入類型", - "error-input-is-not-a-valid-field": "{{input}}不是有效的{{field}}", - "error-invalid-actionlink": "無效的操作連結", - "error-invalid-arguments": "無效的參數", - "error-invalid-asset": "無效的資源", - "error-invalid-channel": "無效的頻道", - "error-invalid-channel-start-with-chars": "無效的頻道,請以 @ 或 # 開頭", - "error-invalid-custom-field": "無效的自訂欄位", - "error-invalid-custom-field-name": "無效的自訂欄位名稱。只能包含字母、數字、連字符(-)及下底線(_).", - "error-invalid-date": "無效的日期", - "error-invalid-description": "無效的描述", - "error-invalid-domain": "無效的域名", - "error-invalid-email": "無效的電子郵件{{email}}", - "error-invalid-email-address": "無效的郵件地址", - "error-invalid-file-height": "無效的檔案高度", - "error-invalid-file-type": "無效的檔案類型", - "error-invalid-file-width": "無效的檔案寬度", - "error-invalid-from-address": "無效的地址", - "error-invalid-integration": "無效的整合", - "error-invalid-message": "無效的訊息", - "error-invalid-method": "無效的方法", - "error-invalid-name": "無效的名稱", - "error-invalid-password": "無效的密碼", - "error-invalid-redirectUri": "無效的轉址", - "error-invalid-role": "無效的角色", - "error-invalid-room": "無效的聊天室", - "error-invalid-room-name": "{{room_name}} 不是一個有效的聊天室名稱", - "error-invalid-room-type": "{{type}} 不是有效的聊天室類型", - "error-invalid-settings": "無效的設置", - "error-invalid-subscription": "無效的訂閱", - "error-invalid-token": "無效的 token", - "error-invalid-triggerWords": "無效的關鍵字", - "error-invalid-urls": "無效的網址", - "error-invalid-user": "無效的使用者", - "error-invalid-username": "無效的使用者名稱", - "error-invalid-webhook-response": "webhook 網址以200以外的狀態響應", - "error-message-deleting-blocked": "訊息刪除已停用", - "error-message-editing-blocked": "訊息編輯已停用", - "error-message-size-exceeded": "訊息大小超出上限", - "error-missing-unsubscribe-link": "您必須提供[取消訂閱]連結。", - "error-no-tokens-for-this-user": "這名使用者沒有Token", - "error-not-allowed": "不允許", - "error-not-authorized": "未授權", - "error-push-disabled": "推播已停用", - "error-remove-last-owner": "這是最後的擁有者。請在刪除此人之前設置一個新的擁有者。", - "error-role-in-use": "無法刪除正在使用中的角色", - "error-role-name-required": "角色名稱是必須的", - "error-the-field-is-required": "字段 {{field}} 是必須的。", - "error-too-many-requests": "錯誤,請求過多。請稍候{{seconds}}秒後再進行嘗試。", - "error-user-is-not-activated": "使用者尚未啟用", - "error-user-has-no-roles": "使用者尚未設定角色", - "error-user-limit-exceeded": "嘗試邀請到 #channel_name 的使用者數量超過了管理員設置的限制", - "error-user-not-in-room": "使用者不在這個聊天室", - "error-user-registration-custom-field": "無效的自訂註冊欄位", - "error-user-registration-disabled": "使用者註冊已停用", - "error-user-registration-secret": "只能透過加密網址進行使用者註冊", - "error-you-are-last-owner": "您是最後的擁有者。請刪除此人之前設置一個新的擁有者。", - "Actions": "操作", - "activity": "活動時間", - "Activity": "以活動時間排序", - "Add_Reaction": "增加表情貼", - "Add_Server": "新增伺服器", - "Add_users": "新增使用者", - "Admin_Panel": "管理者面板", - "Agent": "代理", - "Alert": "警報", - "alert": "警報", - "alerts": "警報", - "All_users_in_the_channel_can_write_new_messages": "頻道中的所有使用者都可以發送新訊息", - "A_meaningful_name_for_the_discussion_room": "取一個有意義的討論區名稱", - "All": "所有", - "All_Messages": "全部訊息", - "Allow_Reactions": "允許表情貼", - "Alphabetical": "以名稱排序", - "and_more": "和更多的", - "and": "和", - "announcement": "公告", - "Announcement": "公告", - "Apply_Your_Certificate": "使用自己的憑證", - "ARCHIVE": "封存", - "archive": "封存", - "are_typing": "正在輸入", - "Are_you_sure_question_mark": "你確定嗎?", - "Are_you_sure_you_want_to_leave_the_room": "你確定要離開聊天室 {{room}} 嗎?", - "Audio": "音訊", - "Authenticating": "正在驗證身份", - "Automatic": "自動", - "Auto_Translate": "自動翻譯", - "Avatar_changed_successfully": "大頭貼更新成功!", - "Avatar_Url": "大頭貼地址", - "Away": "離開", - "Back": "返回", - "Black": "黑色", - "Block_user": "封鎖此用戶", - "Browser": "瀏覽器", - "Broadcast_channel_Description": "只有經過授權的使用者才能發送新訊息,但其他使用者可以回覆", - "Broadcast_Channel": "廣播頻道", - "Busy": "忙碌", - "By_proceeding_you_are_agreeing": "若要繼續操作,請同意我們的", - "Cancel_editing": "取消編輯", - "Cancel_recording": "取消錄製", - "Cancel": "取消", - "changing_avatar": "更改大頭貼", - "creating_channel": "新建頻道", - "creating_invite": "建立邀請", - "Channel_Name": "頻道名稱", - "Channels": "頻道", - "Chats": "聊天", - "Call_already_ended": "通話已經結束!", - "Clear_cookies_alert": "是否清除所有 cookies?", - "Clear_cookies_desc": "本操作將清除所有登入 cookies,以登入其他帳號", - "Clear_cookies_yes": "是,清除 cookies", - "Clear_cookies_no": "否,保留 cookies", - "Click_to_join": "點擊以參與", - "Close": "關閉", - "Close_emoji_selector": "關閉 emoji 選擇器", - "Closing_chat": "結束聊天", - "Change_language_loading": "切換語言", - "Chat_closed_by_agent": "聊天已被客服關閉", - "Choose": "選擇", - "Choose_from_library": "從媒體庫選擇", - "Choose_file": "選擇檔案", - "Choose_where_you_want_links_be_opened": "請選擇您要將連結開啟在", - "Code": "程式碼", - "Code_or_password_invalid": "驗證碼或密碼不正確", - "Collaborative": "協作", - "Confirm": "確認", - "Connect": "連接", - "Connected": "已連接", - "connecting_server": "連線至伺服器", - "Connecting": "連接中", - "Contact_us": "聯絡我們", - "Contact_your_server_admin": "請聯絡系統管理員", - "Continue_with": "繼續採用", - "Copied_to_clipboard": "複製到剪貼簿", - "Copy": "複製", - "Conversation": "對話", - "Permalink": "永久連結", - "Certificate_password": "憑證密碼", - "Clear_cache": "清除本機資料", - "Clear_cache_loading": "清除快取", - "Whats_the_password_for_your_certificate": "您的憑證密碼是?", - "Create_account": "新建帳戶", - "Create_Channel": "新建頻道", - "Create_Direct_Messages": "新增私人訊息", - "Create_Discussion": "新增討論區", - "Created_snippet": "新增程式碼片段", - "Create_a_new_workspace": "建立一個新的工作區", - "Create": "建立", - "Custom_Status": "自訂狀態", - "Dark": "深色", - "Dark_level": "深色程度", - "Default": "預設", - "Default_browser": "預設瀏覽器", - "Delete_Room_Warning": "刪除聊天室將連帶刪除其中所有訊息。此操作將無法還原。", - "Department": "部門", - "delete": "刪除", - "Delete": "刪除", - "DELETE": "刪除", - "deleting_room": "正在刪除聊天室", - "description": "描述", - "Description": "描述", - "Desktop_Options": "桌面選項", - "Desktop_Notifications": "桌面通知", - "Desktop_Alert_info": "這些通知將發送至桌面", - "Directory": "目錄", - "Direct_Messages": "私訊", - "Disable_notifications": "禁用訊息通知", - "Discussions": "討論區", - "Discussion_Desc": "幫助保持事態更新!透過建立討論,一個和所選頻道雙向關聯的子頻道將會被建立。", - "Discussion_name": "討論區名稱", - "Done": "完成", - "Dont_Have_An_Account": "還未擁有帳號?", - "Do_you_have_an_account": "是否擁有帳號?", - "Do_you_have_a_certificate": "是否擁有憑證?", - "Do_you_really_want_to_key_this_room_question_mark": "您真的想要{{key}}這個聊天室嗎?", - "E2E_Encryption": "E2E 加密", - "E2E_How_It_Works_info1": "現在您可以建立加密私人群組和私訊。您也可以變更已存在的私人群組或是私訊來加密。", - "E2E_How_It_Works_info2": "這是*點對點的加密*,所以用來加密/解密的金鑰將不會儲存到伺服器上。為此,*您必須安全存放您的密碼*。如果您希望在其他裝置上使用對點加密時,會需要輸入此密碼。", - "E2E_How_It_Works_info3": "如果繼續,將自動產生一組 E2E 密碼", - "E2E_How_It_Works_info4": "您也可以隨時從已輸入既有密碼的任何瀏覽器設定新密碼給您的加密金鑰。", - "edit": "編輯", - "edited": "已編輯", - "Edit": "編輯", - "Edit_Status": "編輯狀態", - "Edit_Invite": "編輯邀請", - "End_to_end_encrypted_room": "E2E 加密聊天室", - "end_to_end_encryption": "E2E 加密", - "Email_Notification_Mode_All": "每次被標記或私訊", - "Email_Notification_Mode_Disabled": "禁用", - "Email_or_password_field_is_empty": "電子郵件或密碼欄位為空", - "Email": "電子郵件", - "email": "電子郵件", - "Empty_title": "空白標題", - "Enable_Auto_Translate": "開啟自動翻譯", - "Enable_notifications": "開啟訊息通知", - "Encrypted": "已加密", - "Encrypted_message": "加密訊息", - "Enter_Your_E2E_Password": "輸入您的 E2E 密碼", - "Enter_Your_Encryption_Password_desc1": "這將會允許您存取您的加密私人群組和私訊", - "Enter_Your_Encryption_Password_desc2": "您需要在任何使用此聊天的平台輸入密碼,以加/解密您的訊息", - "Encryption_error_title": "您的加密密碼似乎有誤", - "Encryption_error_desc": "無法使用匯入的加密金鑰來解密", - "Everyone_can_access_this_channel": "所有人皆可存取此頻道", - "Error_uploading": "錯誤上傳", - "Expiration_Days": "到期 (日)", - "Favorite": "我的最愛", - "Favorites": "我的最愛", - "Files": "檔案", - "File_description": "檔案描述", - "File_name": "檔案名稱", - "Finish_recording": "完成錄製", - "Following_thread": "追蹤的討論串", - "For_your_security_you_must_enter_your_current_password_to_continue": "為了您的安全,您必須重新輸入密碼才能繼續", - "Forgot_password_If_this_email_is_registered": "如果此電子郵件已註冊,我們將發送有關如何重設密碼的說明。如果您未在短時間內收到電子郵件,請再試一次。", - "Forgot_password": "忘記密碼", - "Forgot_Password": "忘記密碼", - "Forward": "轉發", - "Forward_Chat": "轉發聊天", - "Forward_to_department": "轉發到部門", - "Forward_to_user": "轉發給使用者", - "Full_table": "點擊以查看完整表格", - "Generate_New_Link": "產生新的連結", - "Group_by_favorites": "我的最愛優先", - "Group_by_type": "以類型分組", - "Hide": "隱藏", - "Has_joined_the_channel": "已加入頻道", - "Has_joined_the_conversation": "已經加入此對話", - "Has_left_the_channel": "已離開頻道", - "Hide_System_Messages": "隱藏系統訊息", - "Hide_type_messages": "隱藏 '{{type}}' 訊息", - "How_It_Works": "運作方式", - "Message_HideType_uj": "隱藏“使用者加入”訊息", - "Message_HideType_ul": "隱藏“使用者離開”訊息", - "Message_HideType_ru": "隱藏“使用者已刪除”訊息", - "Message_HideType_au": "隱藏“使用者已增加”訊息", - "Message_HideType_mute_unmute": "隱藏“使用者靜音/取消靜音”訊息", - "Message_HideType_r": "隱藏“聊天室名稱已更改”的訊息", - "Message_HideType_ut": "隱藏“使用者已加入對話”的訊息", - "Message_HideType_wm": "隱藏“歡迎”的訊息", - "Message_HideType_rm": "隱藏“已刪除訊息”的訊息", - "Message_HideType_subscription_role_added": "隱藏“已設置角色”的訊息", - "Message_HideType_subscription_role_removed": "隱藏“不再定義的角色”的訊息", - "Message_HideType_room_archived": "隱藏“聊天室已封存”的訊息", - "Message_HideType_room_unarchived": "隱藏“聊天室未封存”的訊息", - "I_Saved_My_E2E_Password": "儲存我的 E2E 密碼", - "IP": "IP", - "In_app": "App 內", - "In_App_And_Desktop": "App 內及桌面", - "In_App_and_Desktop_Alert_info": "若 app 開啟時,會在螢幕上方顯示橫幅;顯示桌面通知", - "Invisible": "隱身", - "Invite": "邀請", - "is_a_valid_RocketChat_instance": "是一個有效的 Rocket.Chat 實例", - "is_not_a_valid_RocketChat_instance": "不是有效的 Rocket.Chat 實例", - "is_typing": "正在輸入", - "Invalid_or_expired_invite_token": "無效或到期的邀請 token", - "Invalid_server_version": "此 App 版本已不支援您正在連線之伺服器版本。當前版本: {{currentVersion}}.\\n\\n最低版本要求: {{minVersion}}", - "Invite_Link": "邀請連結", - "Invite_users": "邀請使用者", - "Join": "加入", - "Join_our_open_workspace": "加入開放工作區", - "Join_your_workspace": "加入您的工作區", - "Just_invited_people_can_access_this_channel": "僅有受邀者能存取此頻道", - "Language": "語言", - "last_message": "最後一則訊息", - "Leave_channel": "離開頻道", - "leaving_room": "離開聊天室", - "Leave": "離開", - "leave": "離開", - "Legal": "合法", - "Light": "淺色", - "License": "授權條款", - "Livechat": "即時聊天", - "Livechat_edit": "即時聊天編輯", - "Login": "登入", - "Login_error": "認證失敗!請再試一次", - "Login_with": "登入為", - "Logging_out": "正在登出", - "Logout": "登出", - "Max_number_of_uses": "最大使用次數", - "Max_number_of_users_allowed_is_number": "允許使用者上限數量 {{maxUsers}}", - "members": "成員", - "Members": "成員", - "Mentioned_Messages": "被提及的訊息", - "mentioned": "提到", - "Mentions": "被提及", - "Message_accessibility": "{{time}}來自{{user}}的訊息: {{message}}", - "Message_actions": "訊息操作", - "Message_pinned": "訊息被釘選", - "Message_removed": "訊息被刪除", - "Message_starred": "訊息被標註", - "Message_unstarred": "訊息被取消標註", - "message": "訊息", - "messages": "訊息", - "Message": "訊息", - "Messages": "訊息", - "Message_Reported": "訊息已檢舉", - "Microphone_Permission_Message": "Rocket.Chat 需要存取您的麥克風,以便發送聲音訊息。", - "Microphone_Permission": "麥克風授權", - "Mute": "靜音", - "muted": "被靜音", - "My_servers": "我的伺服器", - "N_people_reacted": "{{n}} 人回复", - "N_users": "{{n}} 位使用者", - "name": "名稱", - "Name": "名稱", - "Navigation_history": "瀏覽歷史記錄", - "Never": "從不", - "New_Message": "新訊息", - "New_Password": "新密碼", - "New_Server": "新伺服器", - "Next": "下一步", - "No_files": "沒有檔案", - "No_limit": "沒有限制", - "No_mentioned_messages": "沒有被提及的訊息", - "No_pinned_messages": "沒有釘選的訊息", - "No_results_found": "沒有搜尋結果", - "No_starred_messages": "沒有加標記的訊息", - "No_thread_messages": "沒有討論串訊息", - "No_label_provided": "沒有提供 {{label}}", - "No_Message": "沒有訊息", - "No_messages_yet": "當前未有訊息", - "No_Reactions": "沒有表情貼", - "No_Read_Receipts": "沒有已讀人員", - "Not_logged": "沒有記錄", - "Not_RC_Server": "這不是一個 Rocket.Chat server.\\n{{contact}}", - "Nothing": "無", - "Nothing_to_save": "沒有東西可儲存!", - "Notify_active_in_this_room": "通知這個聊天室的活躍使用者", - "Notify_all_in_this_room": "通知這個聊天室的所有人", - "Notifications": "通知", - "Notification_Duration": "通知持續時間", - "Notification_Preferences": "通知偏好設定", - "No_available_agents_to_transfer": "沒有可用的代理進行傳輸", - "Offline": "離線", - "Oops": "哎呀!", - "Omnichannel": "Omnichannel", - "Open_Livechats": "打開即時聊天", - "Omnichannel_enable_alert": "您尚未啟用 Omnichannel,是否想要啟用?", - "Onboarding_description": "工作區是團隊或組織協作的空間。向工作區管理員詢問要加入的地址或為您的團隊創建一個。", - "Onboarding_join_workspace": "加入一個工作區", - "Onboarding_subtitle": "超越團隊合作", - "Onboarding_title": "歡迎來到 Rocket.Chat", - "Onboarding_join_open_description": "加入我們的開放工作區以與 Rocket.Chat 團隊及社群交談", - "Onboarding_agree_terms": "繼續,即表示您同意 Rocket.Chat", - "Onboarding_less_options": "較少選項", - "Onboarding_more_options": "較多選項", - "Online": "上線", - "Only_authorized_users_can_write_new_messages": "只有經過授權的使用者才能寫新訊息", - "Open_emoji_selector": "打開 emoji 選擇器", - "Open_Source_Communication": "開源溝通", - "Open_your_authentication_app_and_enter_the_code": "打開您的驗證應用程式並輸入代碼。您也可以使用其中一個備用代碼。", - "OR": "或", - "OS": "作業系統", - "Overwrites_the_server_configuration_and_use_room_config": "覆寫伺服器設置和使用聊天室設置", - "Password": "密碼", - "Parent_channel_or_group": "父頻道或群組", - "Permalink_copied_to_clipboard": "永久連結已複製到剪貼簿!", - "Phone": "電話", - "Pin": "釘選", - "Pinned_Messages": "釘選訊息", - "pinned": "已被釘選", - "Pinned": "被釘選", - "Please_add_a_comment": "請新增評論", - "Please_enter_your_password": "請輸入密碼", - "Please_wait": "請稍候", - "Preferences": "偏好設定", - "Preferences_saved": "偏好設定已被儲存!", - "Privacy_Policy": "隱私政策", - "Private_Channel": "私人頻道", - "Private": "私有的", - "Processing": "處理中", - "Profile_saved_successfully": "個人資料儲存成功!", - "Profile": "個人資料", - "Public_Channel": "公共頻道", - "Public": "公共", - "Push_Notifications": "推送通知", - "Push_Notifications_Alert_Info": "這些通知將在未開啟 App 時發送給您", - "Quote": "引用", - "Reactions_are_disabled": "表情貼被禁用", - "Reactions_are_enabled": "表情貼被啟用", - "Reactions": "表情貼", - "Read": "讀取", - "Read_External_Permission_Message": "Rocket.Chat 需要存取您裝置上的相片、多媒體及檔案", - "Read_External_Permission": "讀取媒體權限", - "Read_Only_Channel": "唯讀頻道", - "Read_Only": "唯讀", - "Read_Receipt": "查看已讀人員", - "Receive_Group_Mentions": "接收群組提及", - "Receive_Group_Mentions_Info": "接收@all和@here提及", - "Register": "註冊", - "Repeat_Password": "重複輸入密碼", - "Replied_on": "回覆在", - "replies": "回覆", - "reply": "回覆", - "Reply": "回覆", - "Report": "檢舉", - "Receive_Notification": "接收通知", - "Receive_notifications_from": "接收來自 {{name}} 的通知", - "Resend": "重新發送", - "Reset_password": "重置密碼", - "resetting_password": "正在重置密碼", - "RESET": "重置", - "Return": "返回", - "Review_app_title": "對此 App 滿意嗎?", - "Review_app_desc": "請在 {{store}} 給予我們 5 星好評", - "Review_app_yes": "沒問題", - "Review_app_no": "婉拒", - "Review_app_later": "之後再說", - "Review_app_unable_store": "無法開啟 {{store}}", - "Review_this_app": "評分此 App", - "Remove": "移除", - "Roles": "角色", - "Room_actions": "聊天室操作", - "Room_changed_announcement": "{{userBy}}將聊天室通知改為:{{announcement}}", - "Room_changed_avatar": "Room avatar changed by {{userBy}}", - "Room_changed_description": "{{userBy}}將聊天室說明改為:{{description}}", - "Room_changed_privacy": "{{userBy}}將聊天室類型改為:{{type}}", - "Room_changed_topic": "{{userBy}}將聊天室主題改為:{{topic}}", - "Room_Files": "聊天室檔案", - "Room_Info_Edit": "修改聊天室資訊", - "Room_Info": "聊天室資訊", - "Room_Members": "聊天室成員", - "Room_name_changed": "{{userBy}} 將聊天室名稱改為:{{name}}", - "SAVE": "儲存", - "Save_Changes": "儲存更改", - "Save": "儲存", - "Saved": "保存", - "saving_preferences": "儲存偏好設定", - "saving_profile": "儲存配置文件", - "saving_settings": "儲存設定", - "saved_to_gallery": "儲存至圖片庫", - "Save_Your_E2E_Password": "儲存您的 E2E 密碼", - "Save_Your_Encryption_Password": "儲存您的加密密碼", - "Save_Your_Encryption_Password_warning": "此密碼未被儲存在任何地方,為此您必須安全存放您的密碼", - "Save_Your_Encryption_Password_info": "請記住,如果你遺失了您的密碼,您將無法存取您的訊息並不可恢復", - "Search_Messages": "搜尋訊息", - "Search": "搜尋", - "Search_by": "搜尋", - "Search_global_users": "搜尋全域使用者", - "Search_global_users_description": "如果啟用,您將可以搜尋其他公司、伺服器上的任何使用者", - "Seconds": "{{second}} 秒", - "Security_and_privacy": "安全與隱私", - "Select_Avatar": "選擇大頭貼", - "Select_Server": "選擇伺服器", - "Select_Users": "選擇使用者", - "Select_a_Channel": "選擇一個頻道", - "Select_a_Department": "選擇一個部門", - "Select_an_option": "選擇一個選項", - "Select_a_User": "選擇一個使用者", - "Send": "發送", - "Send_audio_message": "發送語音訊息", - "Send_crash_report": "送出當機報告", - "Send_message": "發送訊息", - "Send_me_the_code_again": "再次發送代碼給我", - "Send_to": "發送到", - "Sending_to": "正發送到", - "Sent_an_attachment": "發送附件", - "Server": "伺服器", - "Servers": "伺服器", - "Server_version": "伺服器版本: {{version}}", - "Set_username_subtitle": "使用者名稱是用來讓其他使用者在訊息中提到您", - "Set_custom_status": "設定自訂狀態", - "Set_status": "設定狀態", - "Status_saved_successfully": "狀態儲存成功", - "Settings": "設定", - "Settings_succesfully_changed": "設定更改成功!", - "Share": "分享", - "Share_Link": "分享連結", - "Share_this_app": "分享此 app", - "Show_more": "顯示更多", - "Show_Unread_Counter": "顯示未讀訊息數量", - "Show_Unread_Counter_Info": "顯示未讀訊息數量資訊", - "Sign_in_your_server": "登錄你的伺服器", - "Sign_Up": "註冊", - "Some_field_is_invalid_or_empty": "某些字段無效或為空", - "Sorting_by": "以{{key}}排序", - "Sound": "聲音", - "Star_room": "標記聊天室", - "Star": "標記", - "Starred_Messages": "標記的訊息", - "starred": "被標記", - "Starred": "已標記", - "Start_of_conversation": "開始對話", - "Start_a_Discussion": "開始一個討論", - "Started_discussion": "已開始的討論", - "Started_call": "{{userBy}} 開始的通話", - "Submit": "送出", - "Table": "表格", - "Tags": "標籤", - "Take_a_photo": "拍照", - "Take_a_video": "錄影", - "Take_it": "拿去!", - "tap_to_change_status": "點擊即可更改狀態", - "Tap_to_view_servers_list": "點擊查看伺服器列表", - "Terms_of_Service": "服務條款", - "Theme": "佈景主題", - "The_user_wont_be_able_to_type_in_roomName": "此使用者將無法在 {{roomName}} 中輸入", - "The_user_will_be_able_to_type_in_roomName": "此使用者將可以在 {{roomName}} 中輸入", - "There_was_an_error_while_action": "{{action}}出現錯誤!", - "This_room_is_blocked": "這個聊天室已被鎖定", - "This_room_is_read_only": "這個聊天室是唯讀的", - "Thread": "討論串", - "Threads": "討論串", - "Timezone": "時區", - "To": "到", - "topic": "主題", - "Topic": "主題", - "Translate": "翻譯", - "Try_again": "再試一次", - "Two_Factor_Authentication": "雙重認證", - "Type_the_channel_name_here": "在這裡輸入頻道名稱", - "unarchive": "取消封存", - "UNARCHIVE": "取消封存", - "Unblock_user": "解除封鎖", - "Unfavorite": "取消最愛", - "Unfollowed_thread": "取消追蹤討論", - "Unmute": "取消靜音", - "unmuted": "靜音狀態", - "Unpin": "取消釘選", - "unread_messages": "未讀訊息", - "Unread": "未讀", - "Unread_on_top": "未讀優先", - "Unstar": "取消標記", - "Updating": "正在更新", - "Uploading": "正在上傳", - "Upload_file_question_mark": "上傳文件?", - "User": "使用者", - "Users": "使用者", - "User_added_by": "由{{userBy}}添加的使用者 {{userAdded}}", - "User_Info": "使用者資訊", - "User_has_been_key": "使用者已被{{key}}", - "User_is_no_longer_role_by_": "{{userBy}}將角色 {{role}} 從使用者 {{user}} 身上移除", - "User_muted_by": "使用者 {{userMuted}} 被 {{userBy}} 靜音", - "User_removed_by": "使用者 {{userRemoved}} 被 {{userBy}} 移除", - "User_sent_an_attachment": "{{user}} 寄送了一個附件", - "User_unmuted_by": "使用者 {{userUnmuted}} 被 {{userBy}} 取消靜音", - "User_was_set_role_by_": "使用者 {{user}} 被 {{userBy}} 設置角色 {{role}}", - "Username_is_empty": "使用者名稱是空的", - "Username": "使用者名稱", - "Username_or_email": "使用者名稱或電子郵件", - "Uses_server_configuration": "使用伺服器設定", - "Validating": "正在驗證", - "Registration_Succeeded": "註冊成功", - "Verify": "驗證", - "Verify_email_title": "註冊成功", - "Verify_email_desc": "我們已經送出一封電子郵件,以確認您的註冊。如果您沒有很快收到,請再試一次。", - "Verify_your_email_for_the_code_we_sent": "檢查您的電子郵件以取得我們發送的代碼", - "Video_call": "視訊通話", - "View_Original": "檢視原文", - "Voice_call": "語音通話", - "Waiting_for_network": "等待網路連線", - "Websocket_disabled": "Websocket 已於此伺服器上禁用。\\n{{contact}}", - "Welcome": "歡迎", - "What_are_you_doing_right_now": "現在在做些什麼?", - "Whats_your_2fa": "您的 2FA 代碼是?", - "Without_Servers": "未連接至伺服器", - "Workspaces": "工作區", - "Would_you_like_to_return_the_inquiry": "你想回覆詢問嗎?", - "Write_External_Permission_Message": "Rocket.Chat 需要您圖片庫的存取權限以儲存圖片。", - "Write_External_Permission": "圖片庫權限", - "Yes": "是", - "Yes_action_it": "是的,{{action}}它!", - "Yesterday": "昨天", - "You_are_in_preview_mode": "您處於預覽模式", - "You_are_offline": "您處於離線狀態", - "You_can_search_using_RegExp_eg": "您可用 RegExp 進行搜尋。例如`/^text$/i`", - "You_colon": "你:", - "you_were_mentioned": "你被提到了", - "You_were_removed_from_channel": "您已從 {{channel}} 中被踢除", - "you": "你", - "You": "你", - "Logged_out_by_server": "伺服器端已將你登出,請重新登入", - "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "您需要至少連接一個 Rocket.Chat 伺服器才能共享某些内容。", - "You_need_to_verifiy_your_email_address_to_get_notications": "您需要先驗證您的電子郵件以啟用通知", - "Your_certificate": "你的證書", - "Your_invite_link_will_expire_after__usesLeft__uses": "您的邀請連結將在{{usesLeft}}使用後到期。", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "您的邀請連結將於{{date}}或{{usesLeft}}使用後到期。", - "Your_invite_link_will_expire_on__date__": "您的邀請連結將於{{date}}到期。", - "Your_invite_link_will_never_expire": "您的邀請連結永久有效。", - "Your_workspace": "您的工作區", - "Your_password_is": "您的密碼", - "Version_no": "版本: {{version}}", - "You_will_not_be_able_to_recover_this_message": "您將無法恢復此訊息!", - "You_will_unset_a_certificate_for_this_server": "您將取消此伺服器的憑證設定", - "Change_Language": "切換語言", - "Crash_report_disclaimer": "我們絕不記錄您的聊天內容。 崩潰報告和分析事件僅與 Rocket.Chat 有關,以便識別和修復問題。", - "Type_message": "輸入訊息", - "Room_search": "搜索聊天室", - "Room_selection": "選擇房間(輸入 1...9)", - "Next_room": "下一個聊天室", - "Previous_room": "上一個聊天室", - "New_room": "新聊天室", - "Upload_room": "上傳至聊天室", - "Search_messages": "搜尋訊息", - "Scroll_messages": "訊息滾動", - "Reply_latest": "回覆最新訊息", - "Reply_in_Thread": "討論串回覆", - "Server_selection": "選擇伺服器", - "Server_selection_numbers": "選擇伺服器(輸入 1...9)", - "Add_server": "新增伺服器", - "New_line": "新的一行", - "You_will_be_logged_out_of_this_application": "您即將登出", - "Clear": "清除", - "This_will_clear_all_your_offline_data": "這將清除您的所有離線資料。", - "This_will_remove_all_data_from_this_server": "這將從此伺服器中刪除所有資料。", - "Mark_unread": "標記未讀", - "Wait_activation_warning": "您的帳號必須由管理員手動啟用後才能登入。", - "Screen_lock": "螢幕鎖定", - "Local_authentication_biometry_title": "驗證", - "Local_authentication_biometry_fallback": "使用通關密碼", - "Local_authentication_unlock_option": "以通關密碼解鎖", - "Local_authentication_change_passcode": "變更通關密碼", - "Local_authentication_info": "註: 如果您忘記了通關密碼,將需要移除並重新安裝此 App", - "Local_authentication_facial_recognition": "臉部辨識", - "Local_authentication_fingerprint": "指紋辨識", - "Local_authentication_unlock_with_label": "以 {{label}} 解鎖", - "Local_authentication_auto_lock_60": "1分鐘後", - "Local_authentication_auto_lock_300": "5分鐘後", - "Local_authentication_auto_lock_900": "15分鐘後", - "Local_authentication_auto_lock_1800": "半小時後", - "Local_authentication_auto_lock_3600": "一小時後", - "Passcode_enter_title": "請輸入通關密碼", - "Passcode_choose_title": "請輸入新通關密碼", - "Passcode_choose_confirm_title": "請確認新通關密碼", - "Passcode_choose_error": "不正確的通關密碼,請再試一次", - "Passcode_choose_force_set": "管理員設定必填", - "Passcode_app_locked_title": "App 已鎖定", - "Passcode_app_locked_subtitle": "{{timeLeft}} 秒後再進行嘗試", - "After_seconds_set_by_admin": "{{seconds}} 秒 (管理員設定)", - "Dont_activate": "現在不要啟用", - "Queued_chats": "聊天佇列", - "Queue_is_empty": "佇列是空的", - "Logout_from_other_logged_in_locations": "登出其他已登入的設備", - "You_will_be_logged_out_from_other_locations": "您將於其他設備上登出", - "Logged_out_of_other_clients_successfully": "成功登出其他用戶端", - "Logout_failed": "登出失敗", - "Log_analytics_events": "日誌分析事件", - "E2E_encryption_change_password_title": "變更加密密碼", - "E2E_encryption_change_password_description": "現在您可以建立加密私人群組和私訊。您也可以變更已存在的私人群組或是私訊來加密。\\n\\n這是點對點的加密,所以用來加密/解密的金鑰將不會儲存到伺服器上。為此,您必須安全存放您的密碼。如果您希望在其他裝置上使用對點加密時,將會需要輸入此密碼。", - "E2E_encryption_change_password_error": "變更 E2E 密碼時發生錯誤!", - "E2E_encryption_change_password_success": "E2E 密碼已成功變更!", - "E2E_encryption_change_password_message": "請確定您已將其安全存放至別處", - "E2E_encryption_change_password_confirmation": "是,我要變更", - "E2E_encryption_reset_title": "重設 E2E 金鑰", - "E2E_encryption_reset_description": "此選項將撤銷您目前的*E2E 金鑰*並將您登出。\\n當您再次登入時,Rocket.Chat 將產生新的一組金鑰並恢復您對任一有在線成員的加密聊天室之存取權限。\\n由於 E2E 加密的特性,Rocket.Chat 無法恢復無在線成員之聊天室之存取權限。", - "E2E_encryption_reset_button": "重設", - "E2E_encryption_reset_error": "重設 E2E 金鑰時發生錯誤!", - "E2E_encryption_reset_message": "您將被登出", - "E2E_encryption_reset_confirmation": "是,我要重設", - "Following": "正在追蹤", - "Threads_displaying_all": "顯示全部", - "Threads_displaying_following": "顯示追蹤中", - "Threads_displaying_unread": "顯示未讀", - "No_threads": "當前沒有討論串", - "No_threads_following": "當前沒有正在追蹤的討論", - "No_threads_unread": "當前沒有未讀的討論", - "Messagebox_Send_to_channel": "發送至頻道", - "Confirmation": "確認", - "invalid-room": "無效的房間" -} + "1_person_reacted": "1 人回覆了", + "1_user": "1 位使用者", + "error-action-not-allowed": "{{action}} 不允許", + "error-application-not-found": "找不到應用程式", + "error-archived-duplicate-name": "已有一個名為「{{room_name}}」的封存頻道", + "error-avatar-invalid-url": "無效的大頭貼網址:{{url}}", + "error-avatar-url-handling": "錯誤,無法將 {{username}} 的大頭貼設置為URL({{url}})", + "error-cant-invite-for-direct-room": "無法邀請使用者進入私訊", + "error-could-not-change-email": "無法更改電子郵件", + "error-could-not-change-name": "無法更改名稱", + "error-could-not-change-username": "無法更改使用者名稱", + "error-could-not-change-status": "無法更改狀態", + "error-delete-protected-role": "無法刪除受保護的角色", + "error-department-not-found": "找不到部門", + "error-direct-message-file-upload-not-allowed": "私人對話中不允許檔案分享", + "error-duplicate-channel-name": "名為「{{room_name}}」的頻道已存在", + "error-email-domain-blacklisted": "電子郵件網域被禁用", + "error-email-send-failed": "嘗試發送電子郵件時出錯:{{message}}", + "error-save-image": "錯誤,無法儲存圖片", + "error-save-video": "錯誤,無法儲存影片", + "error-field-unavailable": "{{field}} 已被使用 :(", + "error-file-too-large": "檔案太大", + "error-importer-not-defined": "沒有正確定義,它缺少匯入類型", + "error-input-is-not-a-valid-field": "{{input}}不是有效的{{field}}", + "error-invalid-actionlink": "無效的操作連結", + "error-invalid-arguments": "無效的參數", + "error-invalid-asset": "無效的資源", + "error-invalid-channel": "無效的頻道", + "error-invalid-channel-start-with-chars": "無效的頻道,請以 @ 或 # 開頭", + "error-invalid-custom-field": "無效的自訂欄位", + "error-invalid-custom-field-name": "無效的自訂欄位名稱。只能包含字母、數字、連字符(-)及下底線(_).", + "error-invalid-date": "無效的日期", + "error-invalid-description": "無效的描述", + "error-invalid-domain": "無效的域名", + "error-invalid-email": "無效的電子郵件{{email}}", + "error-invalid-email-address": "無效的郵件地址", + "error-invalid-file-height": "無效的檔案高度", + "error-invalid-file-type": "無效的檔案類型", + "error-invalid-file-width": "無效的檔案寬度", + "error-invalid-from-address": "無效的地址", + "error-invalid-integration": "無效的整合", + "error-invalid-message": "無效的訊息", + "error-invalid-method": "無效的方法", + "error-invalid-name": "無效的名稱", + "error-invalid-password": "無效的密碼", + "error-invalid-redirectUri": "無效的轉址", + "error-invalid-role": "無效的角色", + "error-invalid-room": "無效的聊天室", + "error-invalid-room-name": "{{room_name}} 不是一個有效的聊天室名稱", + "error-invalid-room-type": "{{type}} 不是有效的聊天室類型", + "error-invalid-settings": "無效的設置", + "error-invalid-subscription": "無效的訂閱", + "error-invalid-token": "無效的 token", + "error-invalid-triggerWords": "無效的關鍵字", + "error-invalid-urls": "無效的網址", + "error-invalid-user": "無效的使用者", + "error-invalid-username": "無效的使用者名稱", + "error-invalid-webhook-response": "webhook 網址以200以外的狀態響應", + "error-message-deleting-blocked": "訊息刪除已停用", + "error-message-editing-blocked": "訊息編輯已停用", + "error-message-size-exceeded": "訊息大小超出上限", + "error-missing-unsubscribe-link": "您必須提供[取消訂閱]連結。", + "error-no-tokens-for-this-user": "這名使用者沒有Token", + "error-not-allowed": "不允許", + "error-not-authorized": "未授權", + "error-push-disabled": "推播已停用", + "error-remove-last-owner": "這是最後的擁有者。請在刪除此人之前設置一個新的擁有者。", + "error-role-in-use": "無法刪除正在使用中的角色", + "error-role-name-required": "角色名稱是必須的", + "error-the-field-is-required": "字段 {{field}} 是必須的。", + "error-too-many-requests": "錯誤,請求過多。請稍候{{seconds}}秒後再進行嘗試。", + "error-user-is-not-activated": "使用者尚未啟用", + "error-user-has-no-roles": "使用者尚未設定角色", + "error-user-limit-exceeded": "嘗試邀請到 #channel_name 的使用者數量超過了管理員設置的限制", + "error-user-not-in-room": "使用者不在這個聊天室", + "error-user-registration-custom-field": "無效的自訂註冊欄位", + "error-user-registration-disabled": "使用者註冊已停用", + "error-user-registration-secret": "只能透過加密網址進行使用者註冊", + "error-you-are-last-owner": "您是最後的擁有者。請刪除此人之前設置一個新的擁有者。", + "Actions": "操作", + "Activity": "以活動時間排序", + "Add_Reaction": "增加表情貼", + "Add_Server": "新增伺服器", + "Add_users": "新增使用者", + "Admin_Panel": "管理者面板", + "Agent": "代理", + "Alert": "警報", + "alert": "警報", + "alerts": "警報", + "All_users_in_the_channel_can_write_new_messages": "頻道中的所有使用者都可以發送新訊息", + "A_meaningful_name_for_the_discussion_room": "取一個有意義的討論區名稱", + "All": "所有", + "All_Messages": "全部訊息", + "Allow_Reactions": "允許表情貼", + "Alphabetical": "以名稱排序", + "and_more": "和更多的", + "and": "和", + "announcement": "公告", + "Announcement": "公告", + "Apply_Your_Certificate": "使用自己的憑證", + "ARCHIVE": "封存", + "archive": "封存", + "are_typing": "正在輸入", + "Are_you_sure_question_mark": "你確定嗎?", + "Are_you_sure_you_want_to_leave_the_room": "你確定要離開聊天室 {{room}} 嗎?", + "Audio": "音訊", + "Authenticating": "正在驗證身份", + "Automatic": "自動", + "Auto_Translate": "自動翻譯", + "Avatar_changed_successfully": "大頭貼更新成功!", + "Avatar_Url": "大頭貼地址", + "Away": "離開", + "Back": "返回", + "Black": "黑色", + "Block_user": "封鎖此用戶", + "Browser": "瀏覽器", + "Broadcast_channel_Description": "只有經過授權的使用者才能發送新訊息,但其他使用者可以回覆", + "Broadcast_Channel": "廣播頻道", + "Busy": "忙碌", + "By_proceeding_you_are_agreeing": "若要繼續操作,請同意我們的", + "Cancel_editing": "取消編輯", + "Cancel_recording": "取消錄製", + "Cancel": "取消", + "changing_avatar": "更改大頭貼", + "creating_channel": "新建頻道", + "creating_invite": "建立邀請", + "Channel_Name": "頻道名稱", + "Channels": "頻道", + "Chats": "聊天", + "Call_already_ended": "通話已經結束!", + "Clear_cookies_alert": "是否清除所有 cookies?", + "Clear_cookies_desc": "本操作將清除所有登入 cookies,以登入其他帳號", + "Clear_cookies_yes": "是,清除 cookies", + "Clear_cookies_no": "否,保留 cookies", + "Click_to_join": "點擊以參與", + "Close": "關閉", + "Close_emoji_selector": "關閉 emoji 選擇器", + "Closing_chat": "結束聊天", + "Change_language_loading": "切換語言", + "Chat_closed_by_agent": "聊天已被客服關閉", + "Choose": "選擇", + "Choose_from_library": "從媒體庫選擇", + "Choose_file": "選擇檔案", + "Choose_where_you_want_links_be_opened": "請選擇您要將連結開啟在", + "Code": "程式碼", + "Code_or_password_invalid": "驗證碼或密碼不正確", + "Collaborative": "協作", + "Confirm": "確認", + "Connect": "連接", + "Connected": "已連接", + "connecting_server": "連線至伺服器", + "Connecting": "連接中", + "Contact_us": "聯絡我們", + "Contact_your_server_admin": "請聯絡系統管理員", + "Continue_with": "繼續採用", + "Copied_to_clipboard": "複製到剪貼簿", + "Copy": "複製", + "Conversation": "對話", + "Permalink": "永久連結", + "Certificate_password": "憑證密碼", + "Clear_cache": "清除本機資料", + "Clear_cache_loading": "清除快取", + "Whats_the_password_for_your_certificate": "您的憑證密碼是?", + "Create_account": "新建帳戶", + "Create_Channel": "新建頻道", + "Create_Direct_Messages": "新增私人訊息", + "Create_Discussion": "新增討論區", + "Created_snippet": "新增程式碼片段", + "Create_a_new_workspace": "建立一個新的工作區", + "Create": "建立", + "Custom_Status": "自訂狀態", + "Dark": "深色", + "Dark_level": "深色程度", + "Default": "預設", + "Default_browser": "預設瀏覽器", + "Delete_Room_Warning": "刪除聊天室將連帶刪除其中所有訊息。此操作將無法還原。", + "Department": "部門", + "delete": "刪除", + "Delete": "刪除", + "DELETE": "刪除", + "deleting_room": "正在刪除聊天室", + "description": "描述", + "Description": "描述", + "Desktop_Options": "桌面選項", + "Desktop_Notifications": "桌面通知", + "Desktop_Alert_info": "這些通知將發送至桌面", + "Directory": "目錄", + "Direct_Messages": "私訊", + "Disable_notifications": "禁用訊息通知", + "Discussions": "討論區", + "Discussion_Desc": "幫助保持事態更新!透過建立討論,一個和所選頻道雙向關聯的子頻道將會被建立。", + "Discussion_name": "討論區名稱", + "Done": "完成", + "Dont_Have_An_Account": "還未擁有帳號?", + "Do_you_have_an_account": "是否擁有帳號?", + "Do_you_have_a_certificate": "是否擁有憑證?", + "Do_you_really_want_to_key_this_room_question_mark": "您真的想要{{key}}這個聊天室嗎?", + "E2E_Encryption": "E2E 加密", + "E2E_How_It_Works_info1": "現在您可以建立加密私人群組和私訊。您也可以變更已存在的私人群組或是私訊來加密。", + "E2E_How_It_Works_info2": "這是*點對點的加密*,所以用來加密/解密的金鑰將不會儲存到伺服器上。為此,*您必須安全存放您的密碼*。如果您希望在其他裝置上使用對點加密時,會需要輸入此密碼。", + "E2E_How_It_Works_info3": "如果繼續,將自動產生一組 E2E 密碼", + "E2E_How_It_Works_info4": "您也可以隨時從已輸入既有密碼的任何瀏覽器設定新密碼給您的加密金鑰。", + "edit": "編輯", + "edited": "已編輯", + "Edit": "編輯", + "Edit_Status": "編輯狀態", + "Edit_Invite": "編輯邀請", + "End_to_end_encrypted_room": "E2E 加密聊天室", + "end_to_end_encryption": "E2E 加密", + "Email_Notification_Mode_All": "每次被標記或私訊", + "Email_Notification_Mode_Disabled": "禁用", + "Email_or_password_field_is_empty": "電子郵件或密碼欄位為空", + "Email": "電子郵件", + "email": "電子郵件", + "Empty_title": "空白標題", + "Enable_Auto_Translate": "開啟自動翻譯", + "Enable_notifications": "開啟訊息通知", + "Encrypted": "已加密", + "Encrypted_message": "加密訊息", + "Enter_Your_E2E_Password": "輸入您的 E2E 密碼", + "Enter_Your_Encryption_Password_desc1": "這將會允許您存取您的加密私人群組和私訊", + "Enter_Your_Encryption_Password_desc2": "您需要在任何使用此聊天的平台輸入密碼,以加/解密您的訊息", + "Encryption_error_title": "您的加密密碼似乎有誤", + "Encryption_error_desc": "無法使用匯入的加密金鑰來解密", + "Everyone_can_access_this_channel": "所有人皆可存取此頻道", + "Error_uploading": "錯誤上傳", + "Expiration_Days": "到期 (日)", + "Favorites": "我的最愛", + "Files": "檔案", + "File_description": "檔案描述", + "File_name": "檔案名稱", + "Finish_recording": "完成錄製", + "Following_thread": "追蹤的討論串", + "For_your_security_you_must_enter_your_current_password_to_continue": "為了您的安全,您必須重新輸入密碼才能繼續", + "Forgot_password_If_this_email_is_registered": "如果此電子郵件已註冊,我們將發送有關如何重設密碼的說明。如果您未在短時間內收到電子郵件,請再試一次。", + "Forgot_password": "忘記密碼", + "Forgot_Password": "忘記密碼", + "Forward": "轉發", + "Forward_Chat": "轉發聊天", + "Forward_to_department": "轉發到部門", + "Forward_to_user": "轉發給使用者", + "Full_table": "點擊以查看完整表格", + "Generate_New_Link": "產生新的連結", + "Has_joined_the_channel": "已加入頻道", + "Has_joined_the_conversation": "已經加入此對話", + "Has_left_the_channel": "已離開頻道", + "Hide_System_Messages": "隱藏系統訊息", + "Hide_type_messages": "隱藏 '{{type}}' 訊息", + "How_It_Works": "運作方式", + "Message_HideType_uj": "隱藏“使用者加入”訊息", + "Message_HideType_ul": "隱藏“使用者離開”訊息", + "Message_HideType_ru": "隱藏“使用者已刪除”訊息", + "Message_HideType_au": "隱藏“使用者已增加”訊息", + "Message_HideType_mute_unmute": "隱藏“使用者靜音/取消靜音”訊息", + "Message_HideType_r": "隱藏“聊天室名稱已更改”的訊息", + "Message_HideType_ut": "隱藏“使用者已加入對話”的訊息", + "Message_HideType_wm": "隱藏“歡迎”的訊息", + "Message_HideType_rm": "隱藏“已刪除訊息”的訊息", + "Message_HideType_subscription_role_added": "隱藏“已設置角色”的訊息", + "Message_HideType_subscription_role_removed": "隱藏“不再定義的角色”的訊息", + "Message_HideType_room_archived": "隱藏“聊天室已封存”的訊息", + "Message_HideType_room_unarchived": "隱藏“聊天室未封存”的訊息", + "I_Saved_My_E2E_Password": "儲存我的 E2E 密碼", + "IP": "IP", + "In_app": "App 內", + "In_App_And_Desktop": "App 內及桌面", + "In_App_and_Desktop_Alert_info": "若 app 開啟時,會在螢幕上方顯示橫幅;顯示桌面通知", + "Invisible": "隱身", + "Invite": "邀請", + "is_a_valid_RocketChat_instance": "是一個有效的 Rocket.Chat 實例", + "is_not_a_valid_RocketChat_instance": "不是有效的 Rocket.Chat 實例", + "is_typing": "正在輸入", + "Invalid_or_expired_invite_token": "無效或到期的邀請 token", + "Invalid_server_version": "此 App 版本已不支援您正在連線之伺服器版本。當前版本: {{currentVersion}}.\\n\\n最低版本要求: {{minVersion}}", + "Invite_Link": "邀請連結", + "Invite_users": "邀請使用者", + "Join": "加入", + "Join_our_open_workspace": "加入開放工作區", + "Join_your_workspace": "加入您的工作區", + "Just_invited_people_can_access_this_channel": "僅有受邀者能存取此頻道", + "Language": "語言", + "last_message": "最後一則訊息", + "Leave_channel": "離開頻道", + "leaving_room": "離開聊天室", + "Leave": "離開", + "leave": "離開", + "Legal": "合法", + "Light": "淺色", + "License": "授權條款", + "Livechat": "即時聊天", + "Livechat_edit": "即時聊天編輯", + "Login": "登入", + "Login_error": "認證失敗!請再試一次", + "Login_with": "登入為", + "Logging_out": "正在登出", + "Logout": "登出", + "Max_number_of_uses": "最大使用次數", + "Max_number_of_users_allowed_is_number": "允許使用者上限數量 {{maxUsers}}", + "members": "成員", + "Members": "成員", + "Mentioned_Messages": "被提及的訊息", + "mentioned": "提到", + "Mentions": "被提及", + "Message_accessibility": "{{time}}來自{{user}}的訊息: {{message}}", + "Message_actions": "訊息操作", + "Message_pinned": "訊息被釘選", + "Message_removed": "訊息被刪除", + "Message_starred": "訊息被標註", + "Message_unstarred": "訊息被取消標註", + "message": "訊息", + "messages": "訊息", + "Message": "訊息", + "Messages": "訊息", + "Message_Reported": "訊息已檢舉", + "Microphone_Permission_Message": "Rocket.Chat 需要存取您的麥克風,以便發送聲音訊息。", + "Microphone_Permission": "麥克風授權", + "Mute": "靜音", + "muted": "被靜音", + "My_servers": "我的伺服器", + "N_people_reacted": "{{n}} 人回复", + "N_users": "{{n}} 位使用者", + "Name": "名稱", + "Navigation_history": "瀏覽歷史記錄", + "Never": "從不", + "New_Message": "新訊息", + "New_Password": "新密碼", + "New_Server": "新伺服器", + "Next": "下一步", + "No_files": "沒有檔案", + "No_limit": "沒有限制", + "No_mentioned_messages": "沒有被提及的訊息", + "No_pinned_messages": "沒有釘選的訊息", + "No_results_found": "沒有搜尋結果", + "No_starred_messages": "沒有加標記的訊息", + "No_thread_messages": "沒有討論串訊息", + "No_label_provided": "沒有提供 {{label}}", + "No_Message": "沒有訊息", + "No_messages_yet": "當前未有訊息", + "No_Reactions": "沒有表情貼", + "No_Read_Receipts": "沒有已讀人員", + "Not_logged": "沒有記錄", + "Not_RC_Server": "這不是一個 Rocket.Chat server.\\n{{contact}}", + "Nothing": "無", + "Nothing_to_save": "沒有東西可儲存!", + "Notify_active_in_this_room": "通知這個聊天室的活躍使用者", + "Notify_all_in_this_room": "通知這個聊天室的所有人", + "Notifications": "通知", + "Notification_Duration": "通知持續時間", + "Notification_Preferences": "通知偏好設定", + "No_available_agents_to_transfer": "沒有可用的代理進行傳輸", + "Offline": "離線", + "Oops": "哎呀!", + "Omnichannel": "Omnichannel", + "Open_Livechats": "打開即時聊天", + "Omnichannel_enable_alert": "您尚未啟用 Omnichannel,是否想要啟用?", + "Onboarding_description": "工作區是團隊或組織協作的空間。向工作區管理員詢問要加入的地址或為您的團隊創建一個。", + "Onboarding_join_workspace": "加入一個工作區", + "Onboarding_subtitle": "超越團隊合作", + "Onboarding_title": "歡迎來到 Rocket.Chat", + "Onboarding_join_open_description": "加入我們的開放工作區以與 Rocket.Chat 團隊及社群交談", + "Onboarding_agree_terms": "繼續,即表示您同意 Rocket.Chat", + "Onboarding_less_options": "較少選項", + "Onboarding_more_options": "較多選項", + "Online": "上線", + "Only_authorized_users_can_write_new_messages": "只有經過授權的使用者才能寫新訊息", + "Open_emoji_selector": "打開 emoji 選擇器", + "Open_Source_Communication": "開源溝通", + "Open_your_authentication_app_and_enter_the_code": "打開您的驗證應用程式並輸入代碼。您也可以使用其中一個備用代碼。", + "OR": "或", + "OS": "作業系統", + "Overwrites_the_server_configuration_and_use_room_config": "覆寫伺服器設置和使用聊天室設置", + "Password": "密碼", + "Parent_channel_or_group": "父頻道或群組", + "Permalink_copied_to_clipboard": "永久連結已複製到剪貼簿!", + "Phone": "電話", + "Pin": "釘選", + "Pinned_Messages": "釘選訊息", + "pinned": "已被釘選", + "Pinned": "被釘選", + "Please_add_a_comment": "請新增評論", + "Please_enter_your_password": "請輸入密碼", + "Please_wait": "請稍候", + "Preferences": "偏好設定", + "Preferences_saved": "偏好設定已被儲存!", + "Privacy_Policy": "隱私政策", + "Private_Channel": "私人頻道", + "Private": "私有的", + "Processing": "處理中", + "Profile_saved_successfully": "個人資料儲存成功!", + "Profile": "個人資料", + "Public_Channel": "公共頻道", + "Public": "公共", + "Push_Notifications": "推送通知", + "Push_Notifications_Alert_Info": "這些通知將在未開啟 App 時發送給您", + "Quote": "引用", + "Reactions_are_disabled": "表情貼被禁用", + "Reactions_are_enabled": "表情貼被啟用", + "Reactions": "表情貼", + "Read_External_Permission_Message": "Rocket.Chat 需要存取您裝置上的相片、多媒體及檔案", + "Read_External_Permission": "讀取媒體權限", + "Read_Only_Channel": "唯讀頻道", + "Read_Only": "唯讀", + "Read_Receipt": "查看已讀人員", + "Receive_Group_Mentions": "接收群組提及", + "Receive_Group_Mentions_Info": "接收@all和@here提及", + "Register": "註冊", + "Repeat_Password": "重複輸入密碼", + "Replied_on": "回覆在", + "replies": "回覆", + "reply": "回覆", + "Reply": "回覆", + "Report": "檢舉", + "Receive_Notification": "接收通知", + "Receive_notifications_from": "接收來自 {{name}} 的通知", + "Resend": "重新發送", + "Reset_password": "重置密碼", + "resetting_password": "正在重置密碼", + "RESET": "重置", + "Return": "返回", + "Review_app_title": "對此 App 滿意嗎?", + "Review_app_desc": "請在 {{store}} 給予我們 5 星好評", + "Review_app_yes": "沒問題", + "Review_app_no": "婉拒", + "Review_app_later": "之後再說", + "Review_app_unable_store": "無法開啟 {{store}}", + "Review_this_app": "評分此 App", + "Remove": "移除", + "Roles": "角色", + "Room_actions": "聊天室操作", + "Room_changed_announcement": "{{userBy}}將聊天室通知改為:{{announcement}}", + "Room_changed_avatar": "Room avatar changed by {{userBy}}", + "Room_changed_description": "{{userBy}}將聊天室說明改為:{{description}}", + "Room_changed_privacy": "{{userBy}}將聊天室類型改為:{{type}}", + "Room_changed_topic": "{{userBy}}將聊天室主題改為:{{topic}}", + "Room_Files": "聊天室檔案", + "Room_Info_Edit": "修改聊天室資訊", + "Room_Info": "聊天室資訊", + "Room_Members": "聊天室成員", + "Room_name_changed": "{{userBy}} 將聊天室名稱改為:{{name}}", + "SAVE": "儲存", + "Save_Changes": "儲存更改", + "Save": "儲存", + "Saved": "保存", + "saving_preferences": "儲存偏好設定", + "saving_profile": "儲存配置文件", + "saving_settings": "儲存設定", + "saved_to_gallery": "儲存至圖片庫", + "Save_Your_E2E_Password": "儲存您的 E2E 密碼", + "Save_Your_Encryption_Password": "儲存您的加密密碼", + "Save_Your_Encryption_Password_warning": "此密碼未被儲存在任何地方,為此您必須安全存放您的密碼", + "Save_Your_Encryption_Password_info": "請記住,如果你遺失了您的密碼,您將無法存取您的訊息並不可恢復", + "Search_Messages": "搜尋訊息", + "Search": "搜尋", + "Search_by": "搜尋", + "Search_global_users": "搜尋全域使用者", + "Search_global_users_description": "如果啟用,您將可以搜尋其他公司、伺服器上的任何使用者", + "Seconds": "{{second}} 秒", + "Security_and_privacy": "安全與隱私", + "Select_Avatar": "選擇大頭貼", + "Select_Server": "選擇伺服器", + "Select_Users": "選擇使用者", + "Select_a_Channel": "選擇一個頻道", + "Select_a_Department": "選擇一個部門", + "Select_an_option": "選擇一個選項", + "Select_a_User": "選擇一個使用者", + "Send": "發送", + "Send_audio_message": "發送語音訊息", + "Send_crash_report": "送出當機報告", + "Send_message": "發送訊息", + "Send_me_the_code_again": "再次發送代碼給我", + "Send_to": "發送到", + "Sending_to": "正發送到", + "Sent_an_attachment": "發送附件", + "Server": "伺服器", + "Servers": "伺服器", + "Server_version": "伺服器版本: {{version}}", + "Set_username_subtitle": "使用者名稱是用來讓其他使用者在訊息中提到您", + "Set_custom_status": "設定自訂狀態", + "Set_status": "設定狀態", + "Status_saved_successfully": "狀態儲存成功", + "Settings": "設定", + "Settings_succesfully_changed": "設定更改成功!", + "Share": "分享", + "Share_Link": "分享連結", + "Share_this_app": "分享此 app", + "Show_more": "顯示更多", + "Show_Unread_Counter": "顯示未讀訊息數量", + "Show_Unread_Counter_Info": "顯示未讀訊息數量資訊", + "Sign_in_your_server": "登錄你的伺服器", + "Sign_Up": "註冊", + "Some_field_is_invalid_or_empty": "某些字段無效或為空", + "Sound": "聲音", + "Star_room": "標記聊天室", + "Star": "標記", + "Starred_Messages": "標記的訊息", + "starred": "被標記", + "Starred": "已標記", + "Start_of_conversation": "開始對話", + "Start_a_Discussion": "開始一個討論", + "Started_discussion": "已開始的討論", + "Started_call": "{{userBy}} 開始的通話", + "Submit": "送出", + "Table": "表格", + "Tags": "標籤", + "Take_a_photo": "拍照", + "Take_a_video": "錄影", + "Take_it": "拿去!", + "tap_to_change_status": "點擊即可更改狀態", + "Tap_to_view_servers_list": "點擊查看伺服器列表", + "Terms_of_Service": "服務條款", + "Theme": "佈景主題", + "The_user_wont_be_able_to_type_in_roomName": "此使用者將無法在 {{roomName}} 中輸入", + "The_user_will_be_able_to_type_in_roomName": "此使用者將可以在 {{roomName}} 中輸入", + "There_was_an_error_while_action": "{{action}}出現錯誤!", + "This_room_is_blocked": "這個聊天室已被鎖定", + "This_room_is_read_only": "這個聊天室是唯讀的", + "Thread": "討論串", + "Threads": "討論串", + "Timezone": "時區", + "To": "到", + "topic": "主題", + "Topic": "主題", + "Translate": "翻譯", + "Try_again": "再試一次", + "Two_Factor_Authentication": "雙重認證", + "Type_the_channel_name_here": "在這裡輸入頻道名稱", + "unarchive": "取消封存", + "UNARCHIVE": "取消封存", + "Unblock_user": "解除封鎖", + "Unfollowed_thread": "取消追蹤討論", + "Unmute": "取消靜音", + "unmuted": "靜音狀態", + "Unpin": "取消釘選", + "unread_messages": "未讀訊息", + "Unread": "未讀", + "Unread_on_top": "未讀優先", + "Unstar": "取消標記", + "Updating": "正在更新", + "Uploading": "正在上傳", + "Upload_file_question_mark": "上傳文件?", + "User": "使用者", + "Users": "使用者", + "User_added_by": "由{{userBy}}添加的使用者 {{userAdded}}", + "User_Info": "使用者資訊", + "User_has_been_key": "使用者已被{{key}}", + "User_is_no_longer_role_by_": "{{userBy}}將角色 {{role}} 從使用者 {{user}} 身上移除", + "User_muted_by": "使用者 {{userMuted}} 被 {{userBy}} 靜音", + "User_removed_by": "使用者 {{userRemoved}} 被 {{userBy}} 移除", + "User_sent_an_attachment": "{{user}} 寄送了一個附件", + "User_unmuted_by": "使用者 {{userUnmuted}} 被 {{userBy}} 取消靜音", + "User_was_set_role_by_": "使用者 {{user}} 被 {{userBy}} 設置角色 {{role}}", + "Username_is_empty": "使用者名稱是空的", + "Username": "使用者名稱", + "Username_or_email": "使用者名稱或電子郵件", + "Uses_server_configuration": "使用伺服器設定", + "Validating": "正在驗證", + "Registration_Succeeded": "註冊成功", + "Verify": "驗證", + "Verify_email_title": "註冊成功", + "Verify_email_desc": "我們已經送出一封電子郵件,以確認您的註冊。如果您沒有很快收到,請再試一次。", + "Verify_your_email_for_the_code_we_sent": "檢查您的電子郵件以取得我們發送的代碼", + "Video_call": "視訊通話", + "View_Original": "檢視原文", + "Voice_call": "語音通話", + "Waiting_for_network": "等待網路連線", + "Websocket_disabled": "Websocket 已於此伺服器上禁用。\\n{{contact}}", + "Welcome": "歡迎", + "What_are_you_doing_right_now": "現在在做些什麼?", + "Whats_your_2fa": "您的 2FA 代碼是?", + "Without_Servers": "未連接至伺服器", + "Workspaces": "工作區", + "Would_you_like_to_return_the_inquiry": "你想回覆詢問嗎?", + "Write_External_Permission_Message": "Rocket.Chat 需要您圖片庫的存取權限以儲存圖片。", + "Write_External_Permission": "圖片庫權限", + "Yes": "是", + "Yes_action_it": "是的,{{action}}它!", + "Yesterday": "昨天", + "You_are_in_preview_mode": "您處於預覽模式", + "You_are_offline": "您處於離線狀態", + "You_can_search_using_RegExp_eg": "您可用 RegExp 進行搜尋。例如`/^text$/i`", + "You_colon": "你:", + "you_were_mentioned": "你被提到了", + "You_were_removed_from_channel": "您已從 {{channel}} 中被踢除", + "you": "你", + "You": "你", + "Logged_out_by_server": "伺服器端已將你登出,請重新登入", + "You_need_to_access_at_least_one_RocketChat_server_to_share_something": "您需要至少連接一個 Rocket.Chat 伺服器才能共享某些内容。", + "You_need_to_verifiy_your_email_address_to_get_notications": "您需要先驗證您的電子郵件以啟用通知", + "Your_certificate": "你的證書", + "Your_invite_link_will_expire_after__usesLeft__uses": "您的邀請連結將在{{usesLeft}}使用後到期。", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "您的邀請連結將於{{date}}或{{usesLeft}}使用後到期。", + "Your_invite_link_will_expire_on__date__": "您的邀請連結將於{{date}}到期。", + "Your_invite_link_will_never_expire": "您的邀請連結永久有效。", + "Your_workspace": "您的工作區", + "Your_password_is": "您的密碼", + "Version_no": "版本: {{version}}", + "You_will_not_be_able_to_recover_this_message": "您將無法恢復此訊息!", + "You_will_unset_a_certificate_for_this_server": "您將取消此伺服器的憑證設定", + "Change_Language": "切換語言", + "Crash_report_disclaimer": "我們絕不記錄您的聊天內容。 崩潰報告和分析事件僅與 Rocket.Chat 有關,以便識別和修復問題。", + "Type_message": "輸入訊息", + "Room_search": "搜索聊天室", + "Room_selection": "選擇房間(輸入 1...9)", + "Next_room": "下一個聊天室", + "Previous_room": "上一個聊天室", + "New_room": "新聊天室", + "Upload_room": "上傳至聊天室", + "Search_messages": "搜尋訊息", + "Scroll_messages": "訊息滾動", + "Reply_latest": "回覆最新訊息", + "Reply_in_Thread": "討論串回覆", + "Server_selection": "選擇伺服器", + "Server_selection_numbers": "選擇伺服器(輸入 1...9)", + "Add_server": "新增伺服器", + "New_line": "新的一行", + "You_will_be_logged_out_of_this_application": "您即將登出", + "Clear": "清除", + "This_will_clear_all_your_offline_data": "這將清除您的所有離線資料。", + "This_will_remove_all_data_from_this_server": "這將從此伺服器中刪除所有資料。", + "Mark_unread": "標記未讀", + "Wait_activation_warning": "您的帳號必須由管理員手動啟用後才能登入。", + "Screen_lock": "螢幕鎖定", + "Local_authentication_biometry_title": "驗證", + "Local_authentication_biometry_fallback": "使用通關密碼", + "Local_authentication_unlock_option": "以通關密碼解鎖", + "Local_authentication_change_passcode": "變更通關密碼", + "Local_authentication_info": "註: 如果您忘記了通關密碼,將需要移除並重新安裝此 App", + "Local_authentication_facial_recognition": "臉部辨識", + "Local_authentication_fingerprint": "指紋辨識", + "Local_authentication_unlock_with_label": "以 {{label}} 解鎖", + "Local_authentication_auto_lock_60": "1分鐘後", + "Local_authentication_auto_lock_300": "5分鐘後", + "Local_authentication_auto_lock_900": "15分鐘後", + "Local_authentication_auto_lock_1800": "半小時後", + "Local_authentication_auto_lock_3600": "一小時後", + "Passcode_enter_title": "請輸入通關密碼", + "Passcode_choose_title": "請輸入新通關密碼", + "Passcode_choose_confirm_title": "請確認新通關密碼", + "Passcode_choose_error": "不正確的通關密碼,請再試一次", + "Passcode_choose_force_set": "管理員設定必填", + "Passcode_app_locked_title": "App 已鎖定", + "Passcode_app_locked_subtitle": "{{timeLeft}} 秒後再進行嘗試", + "After_seconds_set_by_admin": "{{seconds}} 秒 (管理員設定)", + "Dont_activate": "現在不要啟用", + "Queued_chats": "聊天佇列", + "Queue_is_empty": "佇列是空的", + "Logout_from_other_logged_in_locations": "登出其他已登入的設備", + "You_will_be_logged_out_from_other_locations": "您將於其他設備上登出", + "Logged_out_of_other_clients_successfully": "成功登出其他用戶端", + "Logout_failed": "登出失敗", + "Log_analytics_events": "日誌分析事件", + "E2E_encryption_change_password_title": "變更加密密碼", + "E2E_encryption_change_password_description": "現在您可以建立加密私人群組和私訊。您也可以變更已存在的私人群組或是私訊來加密。\\n\\n這是點對點的加密,所以用來加密/解密的金鑰將不會儲存到伺服器上。為此,您必須安全存放您的密碼。如果您希望在其他裝置上使用對點加密時,將會需要輸入此密碼。", + "E2E_encryption_change_password_error": "變更 E2E 密碼時發生錯誤!", + "E2E_encryption_change_password_success": "E2E 密碼已成功變更!", + "E2E_encryption_change_password_message": "請確定您已將其安全存放至別處", + "E2E_encryption_change_password_confirmation": "是,我要變更", + "E2E_encryption_reset_title": "重設 E2E 金鑰", + "E2E_encryption_reset_description": "此選項將撤銷您目前的*E2E 金鑰*並將您登出。\\n當您再次登入時,Rocket.Chat 將產生新的一組金鑰並恢復您對任一有在線成員的加密聊天室之存取權限。\\n由於 E2E 加密的特性,Rocket.Chat 無法恢復無在線成員之聊天室之存取權限。", + "E2E_encryption_reset_button": "重設", + "E2E_encryption_reset_error": "重設 E2E 金鑰時發生錯誤!", + "E2E_encryption_reset_message": "您將被登出", + "E2E_encryption_reset_confirmation": "是,我要重設", + "Following": "正在追蹤", + "Threads_displaying_all": "顯示全部", + "Threads_displaying_following": "顯示追蹤中", + "Threads_displaying_unread": "顯示未讀", + "No_threads": "當前沒有討論串", + "No_threads_following": "當前沒有正在追蹤的討論", + "No_threads_unread": "當前沒有未讀的討論", + "Messagebox_Send_to_channel": "發送至頻道", + "Confirmation": "確認", + "invalid-room": "無效的房間" +} \ No newline at end of file diff --git a/app/lib/database/index.js b/app/lib/database/index.js index dfda88a98..ee02e6212 100644 --- a/app/lib/database/index.js +++ b/app/lib/database/index.js @@ -60,8 +60,7 @@ export const getDatabase = (database = '') => { Permission, SlashCommand, User - ], - actionsEnabled: true + ] }); }; @@ -73,8 +72,7 @@ class DB { schema: serversSchema, migrations: serversMigrations }), - modelClasses: [Server, LoggedUser, ServersHistory], - actionsEnabled: true + modelClasses: [Server, LoggedUser, ServersHistory] }) }; @@ -117,8 +115,7 @@ class DB { FrequentlyUsedEmoji, Setting, User - ], - actionsEnabled: true + ] }); } diff --git a/app/lib/database/model/Message.js b/app/lib/database/model/Message.js index a03902a26..20134733b 100644 --- a/app/lib/database/model/Message.js +++ b/app/lib/database/model/Message.js @@ -81,4 +81,6 @@ export default class Message extends Model { @field('e2e') e2e; @field('tshow') tshow; + + @json('md', sanitizer) md; } diff --git a/app/lib/database/model/migrations.js b/app/lib/database/model/migrations.js index fe32ec4f3..15c1331fe 100644 --- a/app/lib/database/model/migrations.js +++ b/app/lib/database/model/migrations.js @@ -190,6 +190,15 @@ export default schemaMigrations({ ] }) ] + }, + { + toVersion: 14, + steps: [ + addColumns({ + table: 'messages', + columns: [{ name: 'md', type: 'string', isOptional: true }] + }) + ] } ] }); diff --git a/app/lib/database/model/servers/User.js b/app/lib/database/model/servers/User.js index 6d78c27fa..30bd5f57d 100644 --- a/app/lib/database/model/servers/User.js +++ b/app/lib/database/model/servers/User.js @@ -25,4 +25,6 @@ export default class User extends Model { @field('show_message_in_main_thread') showMessageInMainThread; @field('is_from_webview') isFromWebView; + + @field('enable_message_parser_early_adoption') enableMessageParserEarlyAdoption; } diff --git a/app/lib/database/model/servers/migrations.js b/app/lib/database/model/servers/migrations.js index 51ec2b73b..d1f24f125 100644 --- a/app/lib/database/model/servers/migrations.js +++ b/app/lib/database/model/servers/migrations.js @@ -94,6 +94,15 @@ export default schemaMigrations({ columns: [{ name: 'is_from_webview', type: 'boolean', isOptional: true }] }) ] + }, + { + toVersion: 12, + steps: [ + addColumns({ + table: 'users', + columns: [{ name: 'enable_message_parser_early_adoption', type: 'boolean', isOptional: true }] + }) + ] } ] }); diff --git a/app/lib/database/schema/app.js b/app/lib/database/schema/app.js index 33bde61de..043ddb8e9 100644 --- a/app/lib/database/schema/app.js +++ b/app/lib/database/schema/app.js @@ -1,7 +1,7 @@ import { appSchema, tableSchema } from '@nozbe/watermelondb'; export default appSchema({ - version: 13, + version: 14, tables: [ tableSchema({ name: 'subscriptions', @@ -115,7 +115,8 @@ export default appSchema({ { name: 'tmsg', type: 'string', isOptional: true }, { name: 'blocks', type: 'string', isOptional: true }, { name: 'e2e', type: 'string', isOptional: true }, - { name: 'tshow', type: 'boolean', isOptional: true } + { name: 'tshow', type: 'boolean', isOptional: true }, + { name: 'md', type: 'string', isOptional: true } ] }), tableSchema({ diff --git a/app/lib/database/schema/servers.js b/app/lib/database/schema/servers.js index 1105cf165..1d849b874 100644 --- a/app/lib/database/schema/servers.js +++ b/app/lib/database/schema/servers.js @@ -1,7 +1,7 @@ import { appSchema, tableSchema } from '@nozbe/watermelondb'; export default appSchema({ - version: 11, + version: 12, tables: [ tableSchema({ name: 'users', @@ -16,7 +16,8 @@ export default appSchema({ { name: 'login_email_password', type: 'boolean', isOptional: true }, { name: 'show_message_in_main_thread', type: 'boolean', isOptional: true }, { name: 'avatar_etag', type: 'string', isOptional: true }, - { name: 'is_from_webview', type: 'boolean', isOptional: true } + { name: 'is_from_webview', type: 'boolean', isOptional: true }, + { name: 'enable_message_parser_early_adoption', type: 'boolean', isOptional: true } ] }), tableSchema({ diff --git a/app/lib/methods/getPermissions.js b/app/lib/methods/getPermissions.js index d23268f39..589aa6bd1 100644 --- a/app/lib/methods/getPermissions.js +++ b/app/lib/methods/getPermissions.js @@ -18,6 +18,10 @@ const PERMISSIONS = [ 'archive-room', 'auto-translate', 'create-invite-links', + 'create-c', + 'create-p', + 'create-d', + 'start-discussion', 'create-team', 'delete-c', 'delete-message', diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js index 4fd4bdb5a..2862b1d90 100644 --- a/app/lib/rocketchat.js +++ b/app/lib/rocketchat.js @@ -5,6 +5,7 @@ import { Q } from '@nozbe/watermelondb'; import AsyncStorage from '@react-native-community/async-storage'; import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord'; import RNFetchBlob from 'rn-fetch-blob'; +import isEmpty from 'lodash/isEmpty'; import defaultSettings from '../constants/settings'; import log from '../utils/log'; @@ -530,6 +531,10 @@ const RocketChat = { return this.post('users.forgotPassword', { email }, false); }, + sendConfirmationEmail(email) { + return this.methodCallWrapper('sendConfirmationEmail', email); + }, + loginTOTP(params, loginEmailPassword, isFromWebView = false) { return new Promise(async (resolve, reject) => { try { @@ -622,7 +627,8 @@ const RocketChat = { roles: result.me.roles, avatarETag: result.me.avatarETag, isFromWebView, - showMessageInMainThread: result.me.settings?.preferences?.showMessageInMainThread ?? true + showMessageInMainThread: result.me.settings?.preferences?.showMessageInMainThread ?? true, + enableMessageParserEarlyAdoption: result.me.settings?.preferences?.enableMessageParserEarlyAdoption ?? true }; return user; }, @@ -1059,8 +1065,12 @@ const RocketChat = { }, methodCallWrapper(method, ...params) { const { API_Use_REST_For_DDP_Calls } = reduxStore.getState().settings; + const { user } = reduxStore.getState().login; if (API_Use_REST_For_DDP_Calls) { - return this.post(`method.call/${method}`, { message: EJSON.stringify({ method, params }) }); + const url = isEmpty(user) ? 'method.callAnon' : 'method.call'; + return this.post(`${url}/${method}`, { + message: EJSON.stringify({ method, params }) + }); } const parsedParams = params.map(param => { if (param instanceof Date) { @@ -1380,17 +1390,19 @@ const RocketChat = { * Returns an array of boolean for each permission from permissions arg */ async hasPermission(permissions, rid) { - const db = database.active; - const subsCollection = db.get('subscriptions'); let roomRoles = []; - try { - // get the room from database - const room = await subsCollection.find(rid); - // get room roles - roomRoles = room.roles || []; - } catch (error) { - console.log('hasPermission -> Room not found'); - return permissions.map(() => false); + if (rid) { + const db = database.active; + const subsCollection = db.get('subscriptions'); + try { + // get the room from database + const room = await subsCollection.find(rid); + // get room roles + roomRoles = room.roles || []; + } catch (error) { + console.log('hasPermission -> Room not found'); + return permissions.map(() => false); + } } try { @@ -1537,11 +1549,13 @@ const RocketChat = { messageId }); }, - searchMessages(roomId, searchText) { + searchMessages(roomId, searchText, count, offset) { // RC 0.60.0 return this.sdk.get('chat.search', { roomId, - searchText + searchText, + count, + offset }); }, toggleFollowMessage(mid, follow) { diff --git a/app/presentation/ImageViewer/ImageViewer.android.tsx b/app/presentation/ImageViewer/ImageViewer.android.tsx index 4c8cf5959..cbb79c7fe 100644 --- a/app/presentation/ImageViewer/ImageViewer.android.tsx +++ b/app/presentation/ImageViewer/ImageViewer.android.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; import { PanGestureHandler, PinchGestureHandler, State } from 'react-native-gesture-handler'; -import Animated, { Easing } from 'react-native-reanimated'; +import Animated, { EasingNode } from 'react-native-reanimated'; import { ImageComponent } from './ImageComponent'; import { themes } from '../../constants/colors'; @@ -94,7 +94,7 @@ function runTiming(clock: any, value: any, dest: any, startStopClock: any = true const config = { toValue: new Value(0), duration: 300, - easing: Easing.inOut(Easing.cubic) + easing: EasingNode.inOut(EasingNode.cubic) }; return [ @@ -215,7 +215,9 @@ class Image extends React.PureComponent { return ; } } -const AnimatedImage = Animated.createAnimatedComponent(Image); + +// https://github.com/software-mansion/react-native-reanimated/issues/1717 +const AnimatedImage: any = Animated.createAnimatedComponent(Image); // it was picked from https://github.com/software-mansion/react-native-reanimated/tree/master/Example/imageViewer // and changed to use FastImage animated component diff --git a/app/presentation/RoomItem/Actions.tsx b/app/presentation/RoomItem/Actions.tsx index 92fbf98b5..19c63baaf 100644 --- a/app/presentation/RoomItem/Actions.tsx +++ b/app/presentation/RoomItem/Actions.tsx @@ -1,11 +1,12 @@ import React from 'react'; -import { Animated, Text, View } from 'react-native'; +import { Animated, View } from 'react-native'; import { RectButton } from 'react-native-gesture-handler'; -import I18n, { isRTL } from '../../i18n'; -import styles, { ACTION_WIDTH, LONG_SWIPE } from './styles'; +import { isRTL } from '../../i18n'; import { CustomIcon } from '../../lib/Icons'; import { themes } from '../../constants/colors'; +import { DISPLAY_MODE_CONDENSED } from '../../constants/constantDisplayMode'; +import styles, { ACTION_WIDTH, LONG_SWIPE, ROW_HEIGHT_CONDENSED } from './styles'; interface ILeftActions { theme: string; @@ -13,6 +14,7 @@ interface ILeftActions { isRead: boolean; width: number; onToggleReadPress(): void; + displayMode: string; } interface IRightActions { @@ -22,11 +24,14 @@ interface IRightActions { width: number; toggleFav(): void; onHidePress(): void; + displayMode: string; } const reverse = new Animated.Value(isRTL() ? -1 : 1); +const CONDENSED_ICON_SIZE = 24; +const EXPANDED_ICON_SIZE = 28; -export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleReadPress }: ILeftActions) => { +export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleReadPress, displayMode }: ILeftActions) => { const translateX = Animated.multiply( transX.interpolate({ inputRange: [0, ACTION_WIDTH], @@ -34,6 +39,10 @@ export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleR }), reverse ); + + const isCondensed = displayMode === DISPLAY_MODE_CONDENSED; + const viewHeight = isCondensed ? { height: ROW_HEIGHT_CONDENSED } : null; + return ( - + - <> - - {I18n.t(isRead ? 'Unread' : 'Read')} - + @@ -59,64 +70,64 @@ export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleR ); }); -export const RightActions = React.memo(({ transX, favorite, width, toggleFav, onHidePress, theme }: IRightActions) => { - const translateXFav = Animated.multiply( - transX.interpolate({ - inputRange: [-width / 2, -ACTION_WIDTH * 2, 0], - outputRange: [width / 2, width - ACTION_WIDTH * 2, width] - }), - reverse - ); - const translateXHide = Animated.multiply( - transX.interpolate({ - inputRange: [-width, -LONG_SWIPE, -ACTION_WIDTH * 2, 0], - outputRange: [0, width - LONG_SWIPE, width - ACTION_WIDTH, width] - }), - reverse - ); - return ( - - - - <> - - - {I18n.t(favorite ? 'Unfavorite' : 'Favorite')} - - - - - - - <> - - {I18n.t('Hide')} - - - - - ); -}); +export const RightActions = React.memo( + ({ transX, favorite, width, toggleFav, onHidePress, theme, displayMode }: IRightActions) => { + const translateXFav = Animated.multiply( + transX.interpolate({ + inputRange: [-width / 2, -ACTION_WIDTH * 2, 0], + outputRange: [width / 2, width - ACTION_WIDTH * 2, width] + }), + reverse + ); + const translateXHide = Animated.multiply( + transX.interpolate({ + inputRange: [-width, -LONG_SWIPE, -ACTION_WIDTH * 2, 0], + outputRange: [0, width - LONG_SWIPE, width - ACTION_WIDTH, width] + }), + reverse + ); + + const isCondensed = displayMode === DISPLAY_MODE_CONDENSED; + const viewHeight = isCondensed ? { height: ROW_HEIGHT_CONDENSED } : null; + + return ( + + + + + + + + + + + + + ); + } +); diff --git a/app/presentation/RoomItem/IconOrAvatar.js b/app/presentation/RoomItem/IconOrAvatar.js new file mode 100644 index 000000000..cedd3b0ff --- /dev/null +++ b/app/presentation/RoomItem/IconOrAvatar.js @@ -0,0 +1,63 @@ +import React from 'react'; +import { View } from 'react-native'; +import PropTypes from 'prop-types'; + +import Avatar from '../../containers/Avatar'; +import { DISPLAY_MODE_CONDENSED, DISPLAY_MODE_EXPANDED } from '../../constants/constantDisplayMode'; +import TypeIcon from './TypeIcon'; +import styles from './styles'; + +const IconOrAvatar = ({ + avatar, + type, + rid, + showAvatar, + prid, + status, + isGroupChat, + teamMain, + showLastMessage, + theme, + displayMode +}) => { + if (showAvatar) { + return ( + + ); + } + + if (displayMode === DISPLAY_MODE_EXPANDED && showLastMessage) { + return ( + + + + ); + } + + return null; +}; + +IconOrAvatar.propTypes = { + avatar: PropTypes.string, + type: PropTypes.string, + theme: PropTypes.string, + rid: PropTypes.string, + showAvatar: PropTypes.bool, + displayMode: PropTypes.string, + prid: PropTypes.string, + status: PropTypes.string, + isGroupChat: PropTypes.bool, + teamMain: PropTypes.bool, + showLastMessage: PropTypes.bool +}; + +export default IconOrAvatar; diff --git a/app/presentation/RoomItem/LastMessage.tsx b/app/presentation/RoomItem/LastMessage.tsx index a6ae19513..1f0a0a486 100644 --- a/app/presentation/RoomItem/LastMessage.tsx +++ b/app/presentation/RoomItem/LastMessage.tsx @@ -80,6 +80,7 @@ const LastMessage = React.memo( numberOfLines={2} preview theme={theme} + testID='room-item-last-message' /> ), arePropsEqual diff --git a/app/presentation/RoomItem/RoomItem.tsx b/app/presentation/RoomItem/RoomItem.tsx index 36f8921fd..fcd529c81 100644 --- a/app/presentation/RoomItem/RoomItem.tsx +++ b/app/presentation/RoomItem/RoomItem.tsx @@ -11,6 +11,7 @@ import UpdatedAt from './UpdatedAt'; import Touchable from './Touchable'; import Tag from './Tag'; import I18n from '../../i18n'; +import { DISPLAY_MODE_EXPANDED } from '../../constants/constantDisplayMode'; interface IRoomItem { rid: string; @@ -57,6 +58,8 @@ interface IRoomItem { hideChannel(): void; autoJoin: boolean; size?: number; + showAvatar: boolean; + displayMode: string; } const RoomItem = ({ @@ -95,7 +98,9 @@ const RoomItem = ({ toggleRead, hideChannel, teamMain, - autoJoin + autoJoin, + showAvatar, + displayMode }: IRoomItem) => ( - - {showLastMessage ? ( + swipeEnabled={swipeEnabled} + displayMode={displayMode}> + + {showLastMessage && displayMode === DISPLAY_MODE_EXPANDED ? ( <> - + {showAvatar ? ( + + ) : null} {autoJoin ? <Tag testID='auto-join-tag' name={I18n.t('Auto-join')} /> : null} <UpdatedAt date={date} theme={theme} hideUnreadStatus={hideUnreadStatus} alert={alert} /> @@ -143,17 +164,29 @@ const RoomItem = ({ </> ) : ( <View style={[styles.titleContainer, styles.flex]}> - <TypeIcon type={type} prid={prid} status={status} isGroupChat={isGroupChat} theme={theme} teamMain={teamMain} /> + <TypeIcon + type={type} + prid={prid} + status={status} + isGroupChat={isGroupChat} + theme={theme} + teamMain={teamMain} + size={22} + style={{ marginRight: 8 }} + /> <Title name={name} theme={theme} hideUnreadStatus={hideUnreadStatus} alert={alert} /> {autoJoin ? <Tag name={I18n.t('Auto-join')} /> : null} - <UnreadBadge - unread={unread} - userMentions={userMentions} - groupMentions={groupMentions} - tunread={tunread} - tunreadUser={tunreadUser} - tunreadGroup={tunreadGroup} - /> + <View style={styles.wrapUpdatedAndBadge}> + <UpdatedAt date={date} theme={theme} hideUnreadStatus={hideUnreadStatus} alert={alert} /> + <UnreadBadge + unread={unread} + userMentions={userMentions} + groupMentions={groupMentions} + tunread={tunread} + tunreadUser={tunreadUser} + tunreadGroup={tunreadGroup} + /> + </View> </View> )} </Wrapper> diff --git a/app/presentation/RoomItem/Touchable.tsx b/app/presentation/RoomItem/Touchable.tsx index 84071bbef..b40436aaa 100644 --- a/app/presentation/RoomItem/Touchable.tsx +++ b/app/presentation/RoomItem/Touchable.tsx @@ -24,6 +24,7 @@ interface ITouchableProps { theme: string; isFocused: boolean; swipeEnabled: boolean; + displayMode: string; } class Touchable extends React.Component<ITouchableProps, any> { @@ -227,7 +228,7 @@ class Touchable extends React.Component<ITouchableProps, any> { }; render() { - const { testID, isRead, width, favorite, children, theme, isFocused, swipeEnabled } = this.props; + const { testID, isRead, width, favorite, children, theme, isFocused, swipeEnabled, displayMode } = this.props; return ( <LongPressGestureHandler onHandlerStateChange={this.onLongPressHandlerStateChange}> @@ -244,6 +245,7 @@ class Touchable extends React.Component<ITouchableProps, any> { width={width} onToggleReadPress={this.onToggleReadPress} theme={theme} + displayMode={displayMode} /> <RightActions transX={this.transXReverse} @@ -252,6 +254,7 @@ class Touchable extends React.Component<ITouchableProps, any> { toggleFav={this.toggleFav} onHidePress={this.onHidePress} theme={theme} + displayMode={displayMode} /> <Animated.View style={{ diff --git a/app/presentation/RoomItem/TypeIcon.tsx b/app/presentation/RoomItem/TypeIcon.tsx index 414c16724..53659fbde 100644 --- a/app/presentation/RoomItem/TypeIcon.tsx +++ b/app/presentation/RoomItem/TypeIcon.tsx @@ -9,10 +9,19 @@ interface ITypeIcon { isGroupChat: boolean; teamMain: boolean; theme?: string; + size?: number; + style?: object; } -const TypeIcon = React.memo(({ type, prid, status, isGroupChat, teamMain }: ITypeIcon) => ( - <RoomTypeIcon type={prid ? 'discussion' : type} isGroupChat={isGroupChat} status={status} teamMain={teamMain} /> +const TypeIcon = React.memo(({ type, prid, status, isGroupChat, teamMain, size, style }: ITypeIcon) => ( + <RoomTypeIcon + type={prid ? 'discussion' : type} + isGroupChat={isGroupChat} + status={status} + teamMain={teamMain} + size={size} + style={style} + /> )); export default TypeIcon; diff --git a/app/presentation/RoomItem/Wrapper.tsx b/app/presentation/RoomItem/Wrapper.tsx index 903a5edca..cb4d6e1bd 100644 --- a/app/presentation/RoomItem/Wrapper.tsx +++ b/app/presentation/RoomItem/Wrapper.tsx @@ -1,9 +1,10 @@ import React from 'react'; import { View } from 'react-native'; -import styles from './styles'; import { themes } from '../../constants/colors'; -import Avatar from '../../containers/Avatar'; +import { DISPLAY_MODE_CONDENSED } from '../../constants/constantDisplayMode'; +import IconOrAvatar from './IconOrAvatar'; +import styles from './styles'; interface IWrapper { accessibilityLabel: string; @@ -13,17 +14,27 @@ interface IWrapper { theme: string; rid: string; children: JSX.Element; + displayMode: string; + prid: string; + showLastMessage: boolean; + status: string; + isGroupChat: boolean; + teamMain: boolean; + showAvatar: boolean; } -const Wrapper = ({ accessibilityLabel, avatar, avatarSize, type, theme, rid, children }: IWrapper) => ( - <View style={styles.container} accessibilityLabel={accessibilityLabel}> - <Avatar text={avatar} size={avatarSize} type={type} style={styles.avatar} rid={rid} /> +const Wrapper = ({ accessibilityLabel, theme, children, displayMode, ...props }: IWrapper) => ( + <View + style={[styles.container, displayMode === DISPLAY_MODE_CONDENSED && styles.containerCondensed]} + accessibilityLabel={accessibilityLabel}> + <IconOrAvatar theme={theme} displayMode={displayMode} {...props} /> <View style={[ styles.centerContainer, { borderColor: themes[theme].separatorColor - } + }, + displayMode === DISPLAY_MODE_CONDENSED && styles.condensedPaddingVertical ]}> {children} </View> diff --git a/app/presentation/RoomItem/index.tsx b/app/presentation/RoomItem/index.tsx index eedc1f4ff..7e88fe6c1 100644 --- a/app/presentation/RoomItem/index.tsx +++ b/app/presentation/RoomItem/index.tsx @@ -2,12 +2,11 @@ import React from 'react'; import { connect } from 'react-redux'; import I18n from '../../i18n'; -import { ROW_HEIGHT } from './styles'; +import { ROW_HEIGHT, ROW_HEIGHT_CONDENSED } from './styles'; import { formatDate } from '../../utils/room'; import RoomItem from './RoomItem'; -export { ROW_HEIGHT }; - +export { ROW_HEIGHT, ROW_HEIGHT_CONDENSED }; interface IRoomItemContainerProps { item: any; showLastMessage: boolean; @@ -32,9 +31,22 @@ interface IRoomItemContainerProps { getIsRead: Function; swipeEnabled: boolean; autoJoin: boolean; + showAvatar: boolean; + displayMode: string; } -const attrs = ['width', 'status', 'connected', 'theme', 'isFocused', 'forceUpdate', 'showLastMessage', 'autoJoin']; +const attrs = [ + 'width', + 'status', + 'connected', + 'theme', + 'isFocused', + 'forceUpdate', + 'showLastMessage', + 'autoJoin', + 'showAvatar', + 'displayMode' +]; class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> { private mounted: boolean; @@ -137,7 +149,9 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> { username, useRealName, swipeEnabled, - autoJoin + autoJoin, + showAvatar, + displayMode } = this.props; const name = getRoomTitle(item); const testID = `rooms-list-view-item-${name}`; @@ -200,6 +214,8 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> { swipeEnabled={swipeEnabled} teamMain={item.teamMain} autoJoin={autoJoin} + showAvatar={showAvatar} + displayMode={displayMode} /> ); } diff --git a/app/presentation/RoomItem/styles.ts b/app/presentation/RoomItem/styles.ts index 953217a27..d3ce81413 100644 --- a/app/presentation/RoomItem/styles.ts +++ b/app/presentation/RoomItem/styles.ts @@ -3,6 +3,7 @@ import { PixelRatio, StyleSheet } from 'react-native'; import sharedStyles from '../../views/Styles'; export const ROW_HEIGHT = 75 * PixelRatio.getFontScale(); +export const ROW_HEIGHT_CONDENSED = 60 * PixelRatio.getFontScale(); export const ACTION_WIDTH = 80; export const SMALL_SWIPE = ACTION_WIDTH / 2; export const LONG_SWIPE = ACTION_WIDTH * 3; @@ -17,6 +18,12 @@ export default StyleSheet.create<any>({ paddingLeft: 14, height: ROW_HEIGHT }, + containerCondensed: { + height: ROW_HEIGHT_CONDENSED + }, + condensedPaddingVertical: { + paddingVertical: 20 + }, centerContainer: { flex: 1, paddingVertical: 10, @@ -37,6 +44,9 @@ export default StyleSheet.create<any>({ flexDirection: 'row', alignItems: 'flex-start' }, + wrapUpdatedAndBadge: { + alignItems: 'flex-end' + }, titleContainer: { width: '100%', flexDirection: 'row', @@ -72,11 +82,12 @@ export default StyleSheet.create<any>({ right: 0, height: ROW_HEIGHT }, - actionText: { - fontSize: 15, - justifyContent: 'center', - marginTop: 4, - ...sharedStyles.textSemibold + actionsLeftContainer: { + flexDirection: 'row', + position: 'absolute', + left: 0, + right: 0, + height: ROW_HEIGHT }, actionLeftButtonContainer: { position: 'absolute', @@ -107,5 +118,9 @@ export default StyleSheet.create<any>({ fontSize: 13, paddingHorizontal: 4, ...sharedStyles.textSemibold + }, + typeIcon: { + height: ROW_HEIGHT, + justifyContent: 'center' } }); diff --git a/app/presentation/TextInput.tsx b/app/presentation/TextInput.tsx index b3f18676c..028b811b5 100644 --- a/app/presentation/TextInput.tsx +++ b/app/presentation/TextInput.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { I18nManager, StyleSheet, TextInput, TextInputProps } from 'react-native'; +import { I18nManager, StyleProp, StyleSheet, TextInput, TextInputProps, TextStyle } from 'react-native'; import { themes } from '../constants/colors'; @@ -10,7 +10,7 @@ const styles = StyleSheet.create({ }); interface IThemedTextInput extends TextInputProps { - style: object; + style: StyleProp<TextStyle>; theme: string; } diff --git a/app/reducers/rooms.js b/app/reducers/rooms.js index 6b6914fe9..660f5f1e7 100644 --- a/app/reducers/rooms.js +++ b/app/reducers/rooms.js @@ -8,7 +8,6 @@ const initialState = { searchText: '', showServerDropdown: false, closeServerDropdown: false, - showSortDropdown: false, showSearchHeader: false }; @@ -56,16 +55,6 @@ export default function login(state = initialState, action) { ...state, showServerDropdown: !state.showServerDropdown }; - case types.ROOMS.CLOSE_SORT_DROPDOWN: - return { - ...state, - closeSortDropdown: !state.closeSortDropdown - }; - case types.ROOMS.TOGGLE_SORT_DROPDOWN: - return { - ...state, - showSortDropdown: !state.showSortDropdown - }; case types.ROOMS.OPEN_SEARCH_HEADER: return { ...state, diff --git a/app/reducers/sortPreferences.js b/app/reducers/sortPreferences.js index 1e7c0b2dd..31b501852 100644 --- a/app/reducers/sortPreferences.js +++ b/app/reducers/sortPreferences.js @@ -1,10 +1,13 @@ import { SORT_PREFERENCES } from '../actions/actionsTypes'; +import { DISPLAY_MODE_EXPANDED } from '../constants/constantDisplayMode'; const initialState = { sortBy: 'activity', groupByType: false, showFavorites: false, - showUnread: false + showUnread: false, + showAvatar: true, + displayMode: DISPLAY_MODE_EXPANDED }; export default (state = initialState, action) => { diff --git a/app/sagas/createChannel.js b/app/sagas/createChannel.js index c12d18a55..8185f673e 100644 --- a/app/sagas/createChannel.js +++ b/app/sagas/createChannel.js @@ -116,7 +116,7 @@ const handleFailure = function handleFailure({ err, isTeam }) { ? I18n.t(err.data.errorType, { room_name: err.data.details.channel_name }) : actionError; } else { - msg = err?.reason || (errorArray.includes(err?.data?.error) ? I18n.t(err.data.error) : err.data.error || actionError); + msg = err?.reason || (errorArray.includes(err?.data?.error) ? I18n.t(err.data.error) : err?.data?.error || actionError); } showErrorAlert(msg, isTeam ? I18n.t('Create_Team') : I18n.t('Create_Channel')); }, 300); diff --git a/app/sagas/deepLinking.js b/app/sagas/deepLinking.js index efad7afae..101747ccd 100644 --- a/app/sagas/deepLinking.js +++ b/app/sagas/deepLinking.js @@ -45,8 +45,10 @@ const navigate = function* navigate({ params }) { if (params.path || params.rid) { let type; let name; + let jumpToThreadId; if (params.path) { - [type, name] = params.path.split('/'); + // Following this pattern: {channelType}/{channelName}/thread/{threadId} + [type, name, , jumpToThreadId] = params.path.split('/'); } if (type !== 'invite' || params.rid) { const room = yield RocketChat.canOpenRoom(params); @@ -65,14 +67,19 @@ const navigate = function* navigate({ params }) { if (focusedRooms.includes(room.rid)) { // if there's one room on the list or last room is the one if (focusedRooms.length === 1 || focusedRooms[0] === room.rid) { - yield goRoom({ item, isMasterDetail, jumpToMessageId }); + if (jumpToThreadId) { + // With this conditional when there is a jumpToThreadId we can avoid the thread open again + // above other thread and the room could call again the thread + popToRoot({ isMasterDetail }); + } + yield goRoom({ item, isMasterDetail, jumpToMessageId, jumpToThreadId }); } else { popToRoot({ isMasterDetail }); - yield goRoom({ item, isMasterDetail, jumpToMessageId }); + yield goRoom({ item, isMasterDetail, jumpToMessageId, jumpToThreadId }); } } else { popToRoot({ isMasterDetail }); - yield goRoom({ item, isMasterDetail, jumpToMessageId }); + yield goRoom({ item, isMasterDetail, jumpToMessageId, jumpToThreadId }); } if (params.isCall) { diff --git a/app/sagas/login.js b/app/sagas/login.js index c3f987054..1d8f688f2 100644 --- a/app/sagas/login.js +++ b/app/sagas/login.js @@ -20,7 +20,6 @@ import { encryptionInit, encryptionStop } from '../actions/encryption'; import UserPreferences from '../lib/userPreferences'; import { inquiryRequest, inquiryReset } from '../ee/omnichannel/actions/inquiry'; import { isOmnichannelStatusAvailable } from '../ee/omnichannel/lib'; -import Navigation from '../lib/Navigation'; const getServer = state => state.server.server; const loginWithPasswordCall = args => RocketChat.loginWithPassword(args); @@ -191,8 +190,6 @@ const handleLogout = function* handleLogout({ forcedByServer }) { yield put(appStart({ root: ROOT_OUTSIDE })); showErrorAlert(I18n.t('Logged_out_by_server'), I18n.t('Oops')); yield delay(300); - Navigation.navigate('NewServerView'); - yield delay(300); EventEmitter.emit('NewServer', { server }); } else { const serversDB = database.servers; diff --git a/app/stacks/InsideStack.js b/app/stacks/InsideStack.js index 95e6020db..b3de1b610 100644 --- a/app/stacks/InsideStack.js +++ b/app/stacks/InsideStack.js @@ -38,6 +38,9 @@ import ProfileView from '../views/ProfileView'; import UserPreferencesView from '../views/UserPreferencesView'; import UserNotificationPrefView from '../views/UserNotificationPreferencesView'; +// Display Preferences View +import DisplayPrefsView from '../views/DisplayPrefsView'; + // Settings Stack import SettingsView from '../views/SettingsView'; import SecurityPrivacyView from '../views/SecurityPrivacyView'; @@ -220,6 +223,18 @@ const AdminPanelStackNavigator = () => { ); }; +// DisplayPreferenceNavigator +const DisplayPrefStack = createStackNavigator(); +const DisplayPrefStackNavigator = () => { + const { theme } = React.useContext(ThemeContext); + + return ( + <DisplayPrefStack.Navigator screenOptions={{ ...defaultHeader, ...themedHeader(theme), ...StackAnimation }}> + <DisplayPrefStack.Screen name='DisplayPrefsView' component={DisplayPrefsView} /> + </DisplayPrefStack.Navigator> + ); +}; + // DrawerNavigator const Drawer = createDrawerNavigator(); const DrawerNavigator = () => { @@ -236,6 +251,7 @@ const DrawerNavigator = () => { <Drawer.Screen name='ProfileStackNavigator' component={ProfileStackNavigator} /> <Drawer.Screen name='SettingsStackNavigator' component={SettingsStackNavigator} /> <Drawer.Screen name='AdminPanelStackNavigator' component={AdminPanelStackNavigator} /> + <Drawer.Screen name='DisplayPrefStackNavigator' component={DisplayPrefStackNavigator} /> </Drawer.Navigator> ); }; diff --git a/app/stacks/MasterDetailStack/index.js b/app/stacks/MasterDetailStack/index.js index e1ba84957..71828a6a2 100644 --- a/app/stacks/MasterDetailStack/index.js +++ b/app/stacks/MasterDetailStack/index.js @@ -33,6 +33,7 @@ import TeamChannelsView from '../../views/TeamChannelsView'; import MarkdownTableView from '../../views/MarkdownTableView'; import ReadReceiptsView from '../../views/ReadReceiptView'; import ProfileView from '../../views/ProfileView'; +import DisplayPrefsView from '../../views/DisplayPrefsView'; import SettingsView from '../../views/SettingsView'; import LanguageView from '../../views/LanguageView'; import ThemeView from '../../views/ThemeView'; @@ -204,6 +205,7 @@ const ModalStackNavigator = React.memo(({ navigation }) => { component={ProfileView} options={props => ProfileView.navigationOptions({ ...props, isMasterDetail: true })} /> + <ModalStack.Screen name='DisplayPrefsView' component={DisplayPrefsView} /> <ModalStack.Screen name='AdminPanelView' component={AdminPanelView} diff --git a/app/stacks/OutsideStack.js b/app/stacks/OutsideStack.js index f23e65c3d..392850c3e 100644 --- a/app/stacks/OutsideStack.js +++ b/app/stacks/OutsideStack.js @@ -10,6 +10,7 @@ import NewServerView from '../views/NewServerView'; import WorkspaceView from '../views/WorkspaceView'; import LoginView from '../views/LoginView'; import ForgotPasswordView from '../views/ForgotPasswordView'; +import SendEmailConfirmationView from '../views/SendEmailConfirmationView'; import RegisterView from '../views/RegisterView'; import LegalView from '../views/LegalView'; import AuthenticationWebView from '../views/AuthenticationWebView'; @@ -25,6 +26,11 @@ const _OutsideStack = () => { <Outside.Screen name='WorkspaceView' component={WorkspaceView} options={WorkspaceView.navigationOptions} /> <Outside.Screen name='LoginView' component={LoginView} options={LoginView.navigationOptions} /> <Outside.Screen name='ForgotPasswordView' component={ForgotPasswordView} options={ForgotPasswordView.navigationOptions} /> + <Outside.Screen + name='SendEmailConfirmationView' + component={SendEmailConfirmationView} + options={SendEmailConfirmationView.navigationOptions} + /> <Outside.Screen name='RegisterView' component={RegisterView} options={RegisterView.navigationOptions} /> <Outside.Screen name='LegalView' component={LegalView} options={LegalView.navigationOptions} /> </Outside.Navigator> diff --git a/app/theme.tsx b/app/theme.tsx index 450bc2801..4accff2cd 100644 --- a/app/theme.tsx +++ b/app/theme.tsx @@ -3,14 +3,14 @@ import hoistNonReactStatics from 'hoist-non-react-statics'; interface IThemeContextProps { theme: string; - themePreferences: { + themePreferences?: { currentTheme: 'automatic' | 'light'; darkLevel: string; }; - setTheme: (newTheme?: {}) => void; + setTheme?: (newTheme?: {}) => void; } -export const ThemeContext = React.createContext<Partial<IThemeContextProps>>({ theme: 'light' }); +export const ThemeContext = React.createContext<IThemeContextProps>({ theme: 'light' }); export function withTheme(Component: any) { const ThemedComponent = (props: any) => ( diff --git a/app/utils/log/events.js b/app/utils/log/events.js index 4a3ec38df..505a42e4c 100644 --- a/app/utils/log/events.js +++ b/app/utils/log/events.js @@ -11,6 +11,9 @@ export default { FP_FORGOT_PASSWORD: 'fp_forgot_password', FP_FORGOT_PASSWORD_F: 'fp_forgot_password_f', + // SEND EMAIL CONFIRMATION VIEW + SEC_SEND_EMAIL_CONFIRMATION: 'sec_send_email_confirmation', + // REGISTER VIEW REGISTER_DEFAULT_SIGN_UP: 'register_default_sign_up', REGISTER_DEFAULT_SIGN_UP_F: 'register_default_sign_up_f', @@ -66,15 +69,18 @@ export default { RL_TOGGLE_READ_F: 'rl_toggle_read_f', RL_HIDE_CHANNEL: 'rl_hide_channel', RL_HIDE_CHANNEL_F: 'rl_hide_channel_f', - RL_TOGGLE_SORT_DROPDOWN: 'rl_toggle_sort_dropdown', - RL_SORT_CHANNELS_BY_NAME: 'rl_sort_channels_by_name', - RL_SORT_CHANNELS_BY_ACTIVITY: 'rl_sort_channels_by_activity', - RL_SORT_CHANNELS_F: 'rl_sort_channels_f', - RL_GROUP_CHANNELS_BY_TYPE: 'rl_group_channels_by_type', - RL_GROUP_CHANNELS_BY_FAVORITE: 'rl_group_channels_by_favorite', - RL_GROUP_CHANNELS_BY_UNREAD: 'rl_group_channels_by_unread', RL_CREATE_NEW_WORKSPACE: 'rl_create_new_workspace', + // DISPLAY PREFERENCES VIEW + DP_SORT_CHANNELS_BY_NAME: 'dp_sort_channels_by_name', + DP_SORT_CHANNELS_BY_ACTIVITY: 'dp_sort_channels_by_activity', + DP_GROUP_CHANNELS_BY_TYPE: 'dp_group_channels_by_type', + DP_GROUP_CHANNELS_BY_FAVORITE: 'dp_group_channels_by_favorite', + DP_GROUP_CHANNELS_BY_UNREAD: 'dp_group_channels_by_unread', + DP_TOGGLE_AVATAR: 'dp_toggle_avatar', + DP_DISPLAY_EXPANDED: 'dp_display_expanded', + DP_DISPLAY_CONDENSED: 'dp_display_condensed', + // QUEUE LIST VIEW QL_GO_ROOM: 'ql_go_room', diff --git a/app/utils/scaling.js b/app/utils/scaling.js deleted file mode 100644 index 7cf33f1fc..000000000 --- a/app/utils/scaling.js +++ /dev/null @@ -1,11 +0,0 @@ -import { isTablet } from './deviceInfo'; - -const guidelineBaseWidth = isTablet ? 600 : 375; -const guidelineBaseHeight = isTablet ? 800 : 667; - -// TODO: we need to refactor this -const scale = (size, width) => (width / guidelineBaseWidth) * size; -const verticalScale = (size, height) => (height / guidelineBaseHeight) * size; -const moderateScale = (size, factor = 0.5, width) => size + (scale(size, width) - size) * factor; - -export { scale, verticalScale, moderateScale }; diff --git a/app/utils/scaling.ts b/app/utils/scaling.ts new file mode 100644 index 000000000..45d248d37 --- /dev/null +++ b/app/utils/scaling.ts @@ -0,0 +1,16 @@ +import { isTablet } from './deviceInfo'; + +const guidelineBaseWidth = isTablet ? 600 : 375; +const guidelineBaseHeight = isTablet ? 800 : 667; + +function scale({ size, width }: { size: number; width: number }): number { + return (width / guidelineBaseWidth) * size; +} +function verticalScale({ size, height }: { size: number; height: number }): number { + return (height / guidelineBaseHeight) * size; +} +function moderateScale({ size, factor = 0.5, width }: { size: number; factor?: number; width: number }): number { + return size + (scale({ size, width }) - size) * factor; +} + +export { scale, verticalScale, moderateScale }; diff --git a/app/views/AuthLoadingView.js b/app/views/AuthLoadingView.tsx similarity index 81% rename from app/views/AuthLoadingView.js rename to app/views/AuthLoadingView.tsx index e97c10d94..ef6e7b943 100644 --- a/app/views/AuthLoadingView.js +++ b/app/views/AuthLoadingView.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { ActivityIndicator, StyleSheet, Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import I18n from '../i18n'; @@ -23,25 +22,25 @@ const styles = StyleSheet.create({ } }); -const AuthLoadingView = React.memo(({ theme, text }) => ( +interface IAuthLoadingView { + theme: string; + text: string; +} + +const AuthLoadingView = React.memo(({ theme, text }: IAuthLoadingView) => ( <View style={[styles.container, { backgroundColor: themes[theme].backgroundColor }]}> <StatusBar /> - {text && ( + {text ? ( <> <ActivityIndicator color={themes[theme].auxiliaryText} size='large' /> <Text style={[styles.text, { color: themes[theme].bodyText }]}>{`${text}\n${I18n.t('Please_wait')}`}</Text> </> - )} + ) : null} </View> )); -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ text: state.app.text }); -AuthLoadingView.propTypes = { - theme: PropTypes.string, - text: PropTypes.string -}; - export default connect(mapStateToProps)(withTheme(AuthLoadingView)); diff --git a/app/views/AuthenticationWebView.js b/app/views/AuthenticationWebView.tsx similarity index 79% rename from app/views/AuthenticationWebView.js rename to app/views/AuthenticationWebView.tsx index bba518d75..870af9560 100644 --- a/app/views/AuthenticationWebView.js +++ b/app/views/AuthenticationWebView.tsx @@ -1,8 +1,9 @@ import React from 'react'; -import PropTypes from 'prop-types'; -import { WebView } from 'react-native-webview'; +import { WebView, WebViewNavigation } from 'react-native-webview'; import { connect } from 'react-redux'; import parse from 'url-parse'; +import { StackNavigationProp } from '@react-navigation/stack'; +import { WebViewMessage } from 'react-native-webview/lib/WebViewTypes'; import RocketChat from '../lib/rocketchat'; import { isIOS } from '../utils/deviceInfo'; @@ -40,17 +41,44 @@ window.addEventListener('popstate', function() { }); `; -class AuthenticationWebView extends React.PureComponent { - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - server: PropTypes.string, - Accounts_Iframe_api_url: PropTypes.bool, - Accounts_Iframe_api_method: PropTypes.bool, - theme: PropTypes.string +interface IRoute { + params: { + authType: string; + url: string; + ssoToken?: string; + }; +} + +interface INavigationOption { + navigation: StackNavigationProp<any, 'AuthenticationWebView'>; + route: IRoute; +} + +interface IAuthenticationWebView extends INavigationOption { + server: string; + Accounts_Iframe_api_url: string; + Accounts_Iframe_api_method: string; + theme: string; +} + +interface IState { + logging: boolean; + loading: boolean; +} + +class AuthenticationWebView extends React.PureComponent<IAuthenticationWebView, IState> { + private oauthRedirectRegex: RegExp; + private iframeRedirectRegex: RegExp; + + static navigationOptions = ({ route, navigation }: INavigationOption) => { + const { authType } = route.params; + return { + headerLeft: () => <HeaderButton.CloseModal navigation={navigation} />, + title: ['saml', 'cas', 'iframe'].includes(authType) ? 'SSO' : 'OAuth' + }; }; - constructor(props) { + constructor(props: IAuthenticationWebView) { super(props); this.state = { logging: false, @@ -71,7 +99,7 @@ class AuthenticationWebView extends React.PureComponent { navigation.pop(); }; - login = params => { + login = (params: any) => { const { logging } = this.state; if (logging) { return; @@ -89,7 +117,7 @@ class AuthenticationWebView extends React.PureComponent { }; // Force 3s delay so the server has time to evaluate the token - debouncedLogin = debounce(params => this.login(params), 3000); + debouncedLogin = debounce((params: any) => this.login(params), 3000); tryLogin = debounce( async () => { @@ -104,7 +132,7 @@ class AuthenticationWebView extends React.PureComponent { true ); - onNavigationStateChange = webViewState => { + onNavigationStateChange = (webViewState: WebViewNavigation | WebViewMessage) => { const url = decodeURIComponent(webViewState.url); const { route } = this.props; const { authType } = route.params; @@ -180,18 +208,10 @@ class AuthenticationWebView extends React.PureComponent { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ server: state.server.server, Accounts_Iframe_api_url: state.settings.Accounts_Iframe_api_url, Accounts_Iframe_api_method: state.settings.Accounts_Iframe_api_method }); -AuthenticationWebView.navigationOptions = ({ route, navigation }) => { - const { authType } = route.params; - return { - headerLeft: () => <HeaderButton.CloseModal navigation={navigation} />, - title: ['saml', 'cas', 'iframe'].includes(authType) ? 'SSO' : 'OAuth' - }; -}; - export default connect(mapStateToProps)(withTheme(AuthenticationWebView)); diff --git a/app/views/CreateChannelView.js b/app/views/CreateChannelView.js index af17961fb..0aa3c7035 100644 --- a/app/views/CreateChannelView.js +++ b/app/views/CreateChannelView.js @@ -21,6 +21,7 @@ import { Review } from '../utils/review'; import { getUserSelector } from '../selectors/login'; import { events, logEvent } from '../utils/log'; import SafeAreaView from '../containers/SafeAreaView'; +import RocketChat from '../lib/rocketchat'; import sharedStyles from './Styles'; const styles = StyleSheet.create({ @@ -79,10 +80,13 @@ class CreateChannelView extends React.Component { users: PropTypes.array.isRequired, user: PropTypes.shape({ id: PropTypes.string, - token: PropTypes.string + token: PropTypes.string, + roles: PropTypes.array }), theme: PropTypes.string, - teamId: PropTypes.string + teamId: PropTypes.string, + createPublicChannelPermission: PropTypes.array, + createPrivateChannelPermission: PropTypes.array }; constructor(props) { @@ -96,14 +100,20 @@ class CreateChannelView extends React.Component { readOnly: false, encrypted: false, broadcast: false, - isTeam + isTeam, + permissions: [] }; this.setHeader(); } + componentDidMount() { + this.handleHasPermission(); + } + shouldComponentUpdate(nextProps, nextState) { - const { channelName, type, readOnly, broadcast, encrypted } = this.state; - const { users, isFetching, encryptionEnabled, theme } = this.props; + const { channelName, type, readOnly, broadcast, encrypted, permissions } = this.state; + const { users, isFetching, encryptionEnabled, theme, createPublicChannelPermission, createPrivateChannelPermission } = + this.props; if (nextProps.theme !== theme) { return true; } @@ -122,18 +132,37 @@ class CreateChannelView extends React.Component { if (nextState.broadcast !== broadcast) { return true; } + if (nextState.permissions !== permissions) { + return true; + } if (nextProps.isFetching !== isFetching) { return true; } if (nextProps.encryptionEnabled !== encryptionEnabled) { return true; } + if (!dequal(nextProps.createPublicChannelPermission, createPublicChannelPermission)) { + return true; + } + if (!dequal(nextProps.createPrivateChannelPermission, createPrivateChannelPermission)) { + return true; + } if (!dequal(nextProps.users, users)) { return true; } return false; } + componentDidUpdate(prevProps) { + const { createPublicChannelPermission, createPrivateChannelPermission } = this.props; + if ( + !dequal(createPublicChannelPermission, prevProps.createPublicChannelPermission) || + !dequal(createPrivateChannelPermission, prevProps.createPrivateChannelPermission) + ) { + this.handleHasPermission(); + } + } + setHeader = () => { const { navigation } = this.props; const { isTeam } = this.state; @@ -208,12 +237,21 @@ class CreateChannelView extends React.Component { ); }; + handleHasPermission = async () => { + const { createPublicChannelPermission, createPrivateChannelPermission } = this.props; + const permissions = [createPublicChannelPermission, createPrivateChannelPermission]; + const permissionsToCreate = await RocketChat.hasPermission(permissions); + this.setState({ permissions: permissionsToCreate }); + }; + renderType() { - const { type, isTeam } = this.state; + const { type, isTeam, permissions } = this.state; + const isDisabled = permissions.filter(r => r === true).length <= 1; return this.renderSwitch({ id: 'type', - value: type, + value: permissions[1] ? type : false, + disabled: isDisabled, label: isTeam ? 'Private_Team' : 'Private_Channel', onValueChange: value => { logEvent(events.CR_TOGGLE_TYPE); @@ -373,7 +411,9 @@ const mapStateToProps = state => ({ isFetching: state.createChannel.isFetching, encryptionEnabled: state.encryption.enabled, users: state.selectedUsers.users, - user: getUserSelector(state) + user: getUserSelector(state), + createPublicChannelPermission: state.permissions['create-c'], + createPrivateChannelPermission: state.permissions['create-p'] }); const mapDispatchToProps = dispatch => ({ diff --git a/app/views/DisplayPrefsView.js b/app/views/DisplayPrefsView.js new file mode 100644 index 000000000..d1e29d139 --- /dev/null +++ b/app/views/DisplayPrefsView.js @@ -0,0 +1,192 @@ +import React, { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { Switch } from 'react-native'; +import { RadioButton } from 'react-native-ui-lib'; +import { useDispatch, useSelector } from 'react-redux'; + +import { setPreference } from '../actions/sortPreferences'; +import RocketChat from '../lib/rocketchat'; +import StatusBar from '../containers/StatusBar'; +import I18n from '../i18n'; +import * as List from '../containers/List'; +import { useTheme } from '../theme'; +import { themes } from '../constants/colors'; +import * as HeaderButton from '../containers/HeaderButton'; +import SafeAreaView from '../containers/SafeAreaView'; +import { ICON_SIZE } from '../containers/List/constants'; +import log, { events, logEvent } from '../utils/log'; +import { DISPLAY_MODE_CONDENSED, DISPLAY_MODE_EXPANDED } from '../constants/constantDisplayMode'; + +const DisplayPrefsView = props => { + const { theme } = useTheme(); + + const { sortBy, groupByType, showFavorites, showUnread, showAvatar, displayMode } = useSelector(state => state.sortPreferences); + const dispatch = useDispatch(); + + useEffect(() => { + const { navigation, isMasterDetail } = props; + navigation.setOptions({ + title: I18n.t('Display'), + headerLeft: () => + isMasterDetail ? ( + <HeaderButton.CloseModal navigation={navigation} testID='display-view-close' /> + ) : ( + <HeaderButton.Drawer navigation={navigation} testID='display-view-drawer' /> + ) + }); + }, []); + + const setSortPreference = async param => { + try { + dispatch(setPreference(param)); + await RocketChat.saveSortPreference(param); + } catch (e) { + log(e); + } + }; + + const sortByName = async () => { + logEvent(events.DP_SORT_CHANNELS_BY_NAME); + await setSortPreference({ sortBy: 'alphabetical' }); + }; + + const sortByActivity = async () => { + logEvent(events.DP_SORT_CHANNELS_BY_ACTIVITY); + await setSortPreference({ sortBy: 'activity' }); + }; + + const toggleGroupByType = async () => { + logEvent(events.DP_GROUP_CHANNELS_BY_TYPE); + await setSortPreference({ groupByType: !groupByType }); + }; + + const toggleGroupByFavorites = async () => { + logEvent(events.DP_GROUP_CHANNELS_BY_FAVORITE); + await setSortPreference({ showFavorites: !showFavorites }); + }; + + const toggleUnread = async () => { + logEvent(events.DP_GROUP_CHANNELS_BY_UNREAD); + await setSortPreference({ showUnread: !showUnread }); + }; + + const toggleAvatar = async () => { + logEvent(events.DP_TOGGLE_AVATAR); + await setSortPreference({ showAvatar: !showAvatar }); + }; + + const displayExpanded = async () => { + logEvent(events.DP_DISPLAY_EXPANDED); + await setSortPreference({ displayMode: DISPLAY_MODE_EXPANDED }); + }; + + const displayCondensed = async () => { + logEvent(events.DP_DISPLAY_CONDENSED); + await setSortPreference({ displayMode: DISPLAY_MODE_CONDENSED }); + }; + + const renderCheckBox = value => ( + <List.Icon name={value ? 'checkbox-checked' : 'checkbox-unchecked'} color={value ? themes[theme].actionTintColor : null} /> + ); + + const renderAvatarSwitch = value => ( + <Switch value={value} onValueChange={() => toggleAvatar()} testID='display-pref-view-avatar-switch' /> + ); + + const renderRadio = value => ( + <RadioButton + selected={!!value} + color={value ? themes[theme].actionTintColor : themes[theme].auxiliaryText} + size={ICON_SIZE} + /> + ); + + return ( + <SafeAreaView> + <StatusBar /> + <List.Container testID='display-view-list'> + <List.Section title='Display'> + <List.Separator /> + <List.Item + left={() => <List.Icon name='view-extended' />} + title='Expanded' + testID='display-pref-view-expanded' + right={() => renderRadio(displayMode === DISPLAY_MODE_EXPANDED)} + onPress={displayExpanded} + /> + <List.Separator /> + <List.Item + left={() => <List.Icon name='view-medium' />} + title='Condensed' + testID='display-pref-view-condensed' + right={() => renderRadio(displayMode === DISPLAY_MODE_CONDENSED)} + onPress={displayCondensed} + /> + <List.Separator /> + <List.Item + left={() => <List.Icon name='avatar' />} + title='Avatars' + testID='display-pref-view-avatars' + right={() => renderAvatarSwitch(showAvatar)} + /> + <List.Separator /> + </List.Section> + + <List.Section title='Sort_by'> + <List.Separator /> + <List.Item + title='Activity' + testID='display-pref-view-activity' + left={() => <List.Icon name='clock' />} + onPress={sortByActivity} + right={() => renderRadio(sortBy === 'activity')} + /> + <List.Separator /> + <List.Item + title='Name' + testID='display-pref-view-name' + left={() => <List.Icon name='sort-az' />} + onPress={sortByName} + right={() => renderRadio(sortBy === 'alphabetical')} + /> + <List.Separator /> + </List.Section> + + <List.Section title='Group_by'> + <List.Separator /> + <List.Item + title='Unread_on_top' + testID='display-pref-view-unread' + left={() => <List.Icon name='flag' />} + onPress={toggleUnread} + right={() => renderCheckBox(showUnread)} + /> + <List.Separator /> + <List.Item + title='Favorites' + testID='display-pref-view-favorites' + left={() => <List.Icon name='star' />} + onPress={toggleGroupByFavorites} + right={() => renderCheckBox(showFavorites)} + /> + <List.Separator /> + <List.Item + title='Types' + testID='display-pref-view-types' + left={() => <List.Icon name='group-by-type' />} + onPress={toggleGroupByType} + right={() => renderCheckBox(groupByType)} + /> + <List.Separator /> + </List.Section> + </List.Container> + </SafeAreaView> + ); +}; + +DisplayPrefsView.propTypes = { + navigation: PropTypes.object, + isMasterDetail: PropTypes.bool +}; + +export default DisplayPrefsView; diff --git a/app/views/InviteUsersView/index.js b/app/views/InviteUsersView/index.tsx similarity index 80% rename from app/views/InviteUsersView/index.js rename to app/views/InviteUsersView/index.tsx index 2fe18f39a..cfcd3fa11 100644 --- a/app/views/InviteUsersView/index.js +++ b/app/views/InviteUsersView/index.tsx @@ -1,8 +1,10 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { ScrollView, Share, View } from 'react-native'; import moment from 'moment'; import { connect } from 'react-redux'; +import { StackNavigationProp, StackNavigationOptions } from '@react-navigation/stack'; +import { RouteProp } from '@react-navigation/core'; +import { Dispatch } from 'redux'; import { inviteLinksClear as inviteLinksClearAction, @@ -20,22 +22,28 @@ import SafeAreaView from '../../containers/SafeAreaView'; import { events, logEvent } from '../../utils/log'; import styles from './styles'; -class InviteUsersView extends React.Component { - static navigationOptions = () => ({ - title: I18n.t('Invite_users') - }); +interface IInviteUsersView { + navigation: StackNavigationProp<any, 'InviteUsersView'>; + route: RouteProp<any, 'InviteUsersView'>; + theme: string; + timeDateFormat: string; + invite: { + url: string; + expires: number; + maxUses: number; + uses: number; + }; + createInviteLink(rid: string): void; + clearInviteLink(): void; +} +class InviteUsersView extends React.Component<IInviteUsersView, any> { + private rid: string; - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - theme: PropTypes.string, - timeDateFormat: PropTypes.string, - invite: PropTypes.object, - createInviteLink: PropTypes.func, - clearInviteLink: PropTypes.func + static navigationOptions: StackNavigationOptions = { + title: I18n.t('Invite_users') }; - constructor(props) { + constructor(props: IInviteUsersView) { super(props); this.rid = props.route.params?.rid; } @@ -97,6 +105,7 @@ class InviteUsersView extends React.Component { renderExpiration = () => { const { theme } = this.props; const expirationMessage = this.linkExpirationText(); + // @ts-ignore return <Markdown msg={expirationMessage} username='' baseUrl='' theme={theme} />; }; @@ -104,10 +113,10 @@ class InviteUsersView extends React.Component { const { theme, invite } = this.props; return ( <SafeAreaView style={{ backgroundColor: themes[theme].backgroundColor }}> + {/* @ts-ignore*/} <ScrollView {...scrollPersistTaps} style={{ backgroundColor: themes[theme].auxiliaryBackground }} - contentContainerStyle={styles.contentContainer} showsVerticalScrollIndicator={false}> <StatusBar /> <View style={styles.innerContainer}> @@ -123,15 +132,15 @@ class InviteUsersView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ timeDateFormat: state.settings.Message_TimeAndDateFormat, days: state.inviteLinks.days, maxUses: state.inviteLinks.maxUses, invite: state.inviteLinks.invite }); -const mapDispatchToProps = dispatch => ({ - createInviteLink: rid => dispatch(inviteLinksCreateAction(rid)), +const mapDispatchToProps = (dispatch: Dispatch) => ({ + createInviteLink: (rid: string) => dispatch(inviteLinksCreateAction(rid)), clearInviteLink: () => dispatch(inviteLinksClearAction()) }); diff --git a/app/views/InviteUsersView/styles.js b/app/views/InviteUsersView/styles.ts similarity index 100% rename from app/views/InviteUsersView/styles.js rename to app/views/InviteUsersView/styles.ts diff --git a/app/views/LegalView.js b/app/views/LegalView.tsx similarity index 77% rename from app/views/LegalView.js rename to app/views/LegalView.tsx index b9db90572..02ac172d9 100644 --- a/app/views/LegalView.js +++ b/app/views/LegalView.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { connect } from 'react-redux'; +import { StackNavigationOptions } from '@react-navigation/stack'; import I18n from '../i18n'; import StatusBar from '../containers/StatusBar'; @@ -9,13 +9,17 @@ import { withTheme } from '../theme'; import SafeAreaView from '../containers/SafeAreaView'; import * as List from '../containers/List'; -class LegalView extends React.Component { - static propTypes = { - server: PropTypes.string, - theme: PropTypes.string +interface ILegalView { + server: string; + theme: string; +} + +class LegalView extends React.Component<ILegalView, any> { + static navigationOptions: StackNavigationOptions = { + title: I18n.t('Legal') }; - onPressItem = ({ route }) => { + onPressItem = ({ route }: { route: string }) => { const { server, theme } = this.props; if (!server) { return; @@ -51,12 +55,8 @@ class LegalView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ server: state.server.server }); -LegalView.navigationOptions = { - title: I18n.t('Legal') -}; - export default connect(mapStateToProps)(withTheme(LegalView)); diff --git a/app/views/LoginView.js b/app/views/LoginView.tsx similarity index 79% rename from app/views/LoginView.js rename to app/views/LoginView.tsx index c240ab8f4..4643687e2 100644 --- a/app/views/LoginView.js +++ b/app/views/LoginView.tsx @@ -1,8 +1,9 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { Alert, Keyboard, StyleSheet, Text, View } from 'react-native'; import { connect } from 'react-redux'; import { dequal } from 'dequal'; +import { StackNavigationProp } from '@react-navigation/stack'; +import { RouteProp } from '@react-navigation/core'; import Button from '../containers/Button'; import I18n from '../i18n'; @@ -46,31 +47,35 @@ const styles = StyleSheet.create({ } }); -class LoginView extends React.Component { - static navigationOptions = ({ route, navigation }) => ({ - title: route.params?.title ?? 'Rocket.Chat', +interface IProps { + navigation: StackNavigationProp<any>; + route: RouteProp<any, 'RegisterView'>; + Site_Name: string; + Accounts_RegistrationForm: string; + Accounts_RegistrationForm_LinkReplacementText: string; + Accounts_EmailOrUsernamePlaceholder: string; + Accounts_PasswordPlaceholder: string; + Accounts_PasswordReset: boolean; + Accounts_ShowFormLogin: boolean; + isFetching: boolean; + error: { + error: string; + }; + failure: boolean; + theme: string; + loginRequest: Function; + inviteLinkToken: string; +} + +class LoginView extends React.Component<IProps, any> { + private passwordInput: any; + + static navigationOptions = ({ route, navigation }: Partial<IProps>) => ({ + title: route?.params?.title ?? 'Rocket.Chat', headerRight: () => <HeaderButton.Legal testID='login-view-more' navigation={navigation} /> }); - static propTypes = { - navigation: PropTypes.object, - route: PropTypes.object, - Site_Name: PropTypes.string, - Accounts_RegistrationForm: PropTypes.string, - Accounts_RegistrationForm_LinkReplacementText: PropTypes.string, - Accounts_EmailOrUsernamePlaceholder: PropTypes.string, - Accounts_PasswordPlaceholder: PropTypes.string, - Accounts_PasswordReset: PropTypes.bool, - Accounts_ShowFormLogin: PropTypes.bool, - isFetching: PropTypes.bool, - error: PropTypes.object, - failure: PropTypes.bool, - theme: PropTypes.string, - loginRequest: PropTypes.func, - inviteLinkToken: PropTypes.string - }; - - constructor(props) { + constructor(props: IProps) { super(props); this.state = { user: props.route.params?.username ?? '', @@ -78,10 +83,14 @@ class LoginView extends React.Component { }; } - UNSAFE_componentWillReceiveProps(nextProps) { + UNSAFE_componentWillReceiveProps(nextProps: IProps) { const { error } = this.props; if (nextProps.failure && !dequal(error, nextProps.error)) { - Alert.alert(I18n.t('Oops'), I18n.t('Login_error')); + if (nextProps.error?.error === 'error-invalid-email') { + this.resendEmailConfirmation(); + } else { + Alert.alert(I18n.t('Oops'), I18n.t('Login_error')); + } } } @@ -105,6 +114,12 @@ class LoginView extends React.Component { navigation.navigate('ForgotPasswordView', { title: Site_Name }); }; + resendEmailConfirmation = () => { + const { user } = this.state; + const { navigation } = this.props; + navigation.navigate('SendEmailConfirmationView', { user }); + }; + valid = () => { const { user, password } = this.state; return user.trim() && password.trim(); @@ -146,7 +161,7 @@ class LoginView extends React.Component { placeholder={Accounts_EmailOrUsernamePlaceholder || I18n.t('Username_or_email')} keyboardType='email-address' returnKeyType='next' - onChangeText={value => this.setState({ user: value })} + onChangeText={(value: string) => this.setState({ user: value })} onSubmitEditing={() => { this.passwordInput.focus(); }} @@ -166,7 +181,7 @@ class LoginView extends React.Component { returnKeyType='send' secureTextEntry onSubmitEditing={this.submit} - onChangeText={value => this.setState({ password: value })} + onChangeText={(value: string) => this.setState({ password: value })} testID='login-view-password' textContentType='password' autoCompleteType='password' @@ -227,7 +242,7 @@ class LoginView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ server: state.server.server, Site_Name: state.settings.Site_Name, Accounts_ShowFormLogin: state.settings.Accounts_ShowFormLogin, @@ -242,8 +257,8 @@ const mapStateToProps = state => ({ inviteLinkToken: state.inviteLinks.token }); -const mapDispatchToProps = dispatch => ({ - loginRequest: params => dispatch(loginRequestAction(params)) +const mapDispatchToProps = (dispatch: any) => ({ + loginRequest: (params: any) => dispatch(loginRequestAction(params)) }); export default connect(mapStateToProps, mapDispatchToProps)(withTheme(LoginView)); diff --git a/app/views/NewMessageView.js b/app/views/NewMessageView.js index 4b210e7cb..020588ffa 100644 --- a/app/views/NewMessageView.js +++ b/app/views/NewMessageView.js @@ -3,8 +3,9 @@ import PropTypes from 'prop-types'; import { FlatList, StyleSheet, Text, View } from 'react-native'; import { connect } from 'react-redux'; import { Q } from '@nozbe/watermelondb'; - +import { dequal } from 'dequal'; import * as List from '../containers/List'; + import Touch from '../utils/touch'; import database from '../lib/database'; import RocketChat from '../lib/rocketchat'; @@ -57,13 +58,19 @@ class NewMessageView extends React.Component { baseUrl: PropTypes.string, user: PropTypes.shape({ id: PropTypes.string, - token: PropTypes.string + token: PropTypes.string, + roles: PropTypes.array }), create: PropTypes.func, maxUsers: PropTypes.number, theme: PropTypes.string, isMasterDetail: PropTypes.bool, - serverVersion: PropTypes.string + serverVersion: PropTypes.string, + createTeamPermission: PropTypes.array, + createDirectMessagePermission: PropTypes.array, + createPublicChannelPermission: PropTypes.array, + createPrivateChannelPermission: PropTypes.array, + createDiscussionPermission: PropTypes.array }; constructor(props) { @@ -71,7 +78,8 @@ class NewMessageView extends React.Component { this.init(); this.state = { search: [], - chats: [] + chats: [], + permissions: [] }; } @@ -90,6 +98,30 @@ class NewMessageView extends React.Component { } }; + componentDidMount() { + this.handleHasPermission(); + } + + componentDidUpdate(prevProps) { + const { + createTeamPermission, + createPublicChannelPermission, + createPrivateChannelPermission, + createDirectMessagePermission, + createDiscussionPermission + } = this.props; + + if ( + !dequal(createTeamPermission, prevProps.createTeamPermission) || + !dequal(createPublicChannelPermission, prevProps.createPublicChannelPermission) || + !dequal(createPrivateChannelPermission, prevProps.createPrivateChannelPermission) || + !dequal(createDirectMessagePermission, prevProps.createDirectMessagePermission) || + !dequal(createDiscussionPermission, prevProps.createDiscussionPermission) + ) { + this.handleHasPermission(); + } + } + onSearchChangeText(text) { this.search(text); } @@ -161,20 +193,43 @@ class NewMessageView extends React.Component { Navigation.navigate('CreateDiscussionView'); }; + handleHasPermission = async () => { + const { + createTeamPermission, + createDirectMessagePermission, + createPublicChannelPermission, + createPrivateChannelPermission, + createDiscussionPermission + } = this.props; + const permissions = [ + createPublicChannelPermission, + createPrivateChannelPermission, + createTeamPermission, + createDirectMessagePermission, + createDiscussionPermission + ]; + const permissionsToCreate = await RocketChat.hasPermission(permissions); + this.setState({ permissions: permissionsToCreate }); + }; + renderHeader = () => { const { maxUsers, theme, serverVersion } = this.props; + const { permissions } = this.state; + return ( <View style={{ backgroundColor: themes[theme].auxiliaryBackground }}> <SearchBox onChangeText={text => this.onSearchChangeText(text)} testID='new-message-view-search' /> <View style={styles.buttonContainer}> - {this.renderButton({ - onPress: this.createChannel, - title: I18n.t('Create_Channel'), - icon: 'channel-public', - testID: 'new-message-view-create-channel', - first: true - })} - {compareServerVersion(serverVersion, '3.13.0', methods.greaterThanOrEqualTo) + {permissions[0] || permissions[1] + ? this.renderButton({ + onPress: this.createChannel, + title: I18n.t('Create_Channel'), + icon: 'channel-public', + testID: 'new-message-view-create-channel', + first: true + }) + : null} + {compareServerVersion(serverVersion, '3.13.0', methods.greaterThanOrEqualTo) && permissions[2] ? this.renderButton({ onPress: this.createTeam, title: I18n.t('Create_Team'), @@ -182,7 +237,7 @@ class NewMessageView extends React.Component { testID: 'new-message-view-create-team' }) : null} - {maxUsers > 2 + {maxUsers > 2 && permissions[3] ? this.renderButton({ onPress: this.createGroupChat, title: I18n.t('Create_Direct_Messages'), @@ -190,12 +245,14 @@ class NewMessageView extends React.Component { testID: 'new-message-view-create-direct-message' }) : null} - {this.renderButton({ - onPress: this.createDiscussion, - title: I18n.t('Create_Discussion'), - icon: 'discussions', - testID: 'new-message-view-create-discussion' - })} + {permissions[4] + ? this.renderButton({ + onPress: this.createDiscussion, + title: I18n.t('Create_Discussion'), + icon: 'discussions', + testID: 'new-message-view-create-discussion' + }) + : null} </View> </View> ); @@ -261,7 +318,12 @@ const mapStateToProps = state => ({ isMasterDetail: state.app.isMasterDetail, baseUrl: state.server.server, maxUsers: state.settings.DirectMesssage_maxUsers || 1, - user: getUserSelector(state) + user: getUserSelector(state), + createTeamPermission: state.permissions['create-team'], + createDirectMessagePermission: state.permissions['create-d'], + createPublicChannelPermission: state.permissions['create-c'], + createPrivateChannelPermission: state.permissions['create-p'], + createDiscussionPermission: state.permissions['start-discussion'] }); const mapDispatchToProps = dispatch => ({ diff --git a/app/views/NewServerView/ServerInput/Item.js b/app/views/NewServerView/ServerInput/Item.tsx similarity index 79% rename from app/views/NewServerView/ServerInput/Item.js rename to app/views/NewServerView/ServerInput/Item.tsx index 59ae77f07..9fb44719e 100644 --- a/app/views/NewServerView/ServerInput/Item.js +++ b/app/views/NewServerView/ServerInput/Item.tsx @@ -1,12 +1,12 @@ import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import { BorderlessButton } from 'react-native-gesture-handler'; import { themes } from '../../../constants/colors'; import { CustomIcon } from '../../../lib/Icons'; import sharedStyles from '../../Styles'; import Touch from '../../../utils/touch'; +import { IServer } from '../index'; const styles = StyleSheet.create({ container: { @@ -27,13 +27,20 @@ const styles = StyleSheet.create({ } }); -const Item = ({ item, theme, onPress, onDelete }) => ( +interface IItem { + item: IServer; + theme: string; + onPress(url: string): void; + onDelete(item: IServer): void; +} + +const Item = ({ item, theme, onPress, onDelete }: IItem): JSX.Element => ( <Touch style={styles.container} onPress={() => onPress(item.url)} theme={theme} testID={`server-history-${item.url}`}> <View style={styles.content}> <Text numberOfLines={1} style={[styles.server, { color: themes[theme].bodyText }]}> {item.url} </Text> - <Text numberOfLines={1} style={[styles.username, { color: themes[theme].auxiliaryText }]}> + <Text numberOfLines={1} style={{ color: themes[theme].auxiliaryText }}> {item.username} </Text> </View> @@ -43,11 +50,4 @@ const Item = ({ item, theme, onPress, onDelete }) => ( </Touch> ); -Item.propTypes = { - item: PropTypes.object, - theme: PropTypes.string, - onPress: PropTypes.func, - onDelete: PropTypes.func -}; - export default Item; diff --git a/app/views/NewServerView/ServerInput/index.js b/app/views/NewServerView/ServerInput/index.tsx similarity index 78% rename from app/views/NewServerView/ServerInput/index.js rename to app/views/NewServerView/ServerInput/index.tsx index ef80c4685..1da151367 100644 --- a/app/views/NewServerView/ServerInput/index.js +++ b/app/views/NewServerView/ServerInput/index.tsx @@ -1,12 +1,12 @@ import React, { useState } from 'react'; -import { FlatList, StyleSheet, View } from 'react-native'; -import PropTypes from 'prop-types'; +import { FlatList, StyleSheet, TextInputProps, View } from 'react-native'; import TextInput from '../../../containers/TextInput'; import * as List from '../../../containers/List'; import { themes } from '../../../constants/colors'; import I18n from '../../../i18n'; import Item from './Item'; +import { IServer } from '../index'; const styles = StyleSheet.create({ container: { @@ -28,7 +28,24 @@ const styles = StyleSheet.create({ } }); -const ServerInput = ({ text, theme, serversHistory, onChangeText, onSubmit, onDelete, onPressServerHistory }) => { +interface IServerInput extends TextInputProps { + text: string; + theme: string; + serversHistory: any[]; + onSubmit(): void; + onDelete(item: IServer): void; + onPressServerHistory(serverHistory: IServer): void; +} + +const ServerInput = ({ + text, + theme, + serversHistory, + onChangeText, + onSubmit, + onDelete, + onPressServerHistory +}: IServerInput): JSX.Element => { const [focused, setFocused] = useState(false); return ( <View style={styles.container}> @@ -68,14 +85,4 @@ const ServerInput = ({ text, theme, serversHistory, onChangeText, onSubmit, onDe ); }; -ServerInput.propTypes = { - text: PropTypes.string, - theme: PropTypes.string, - serversHistory: PropTypes.array, - onChangeText: PropTypes.func, - onSubmit: PropTypes.func, - onDelete: PropTypes.func, - onPressServerHistory: PropTypes.func -}; - export default ServerInput; diff --git a/app/views/NewServerView/index.js b/app/views/NewServerView/index.tsx similarity index 74% rename from app/views/NewServerView/index.js rename to app/views/NewServerView/index.tsx index 8eaba349e..f1458c93a 100644 --- a/app/views/NewServerView/index.js +++ b/app/views/NewServerView/index.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { Text, Keyboard, StyleSheet, View, BackHandler, Image } from 'react-native'; import { connect } from 'react-redux'; import { Base64 } from 'js-base64'; @@ -7,6 +6,9 @@ import parse from 'url-parse'; import { Q } from '@nozbe/watermelondb'; import { TouchableOpacity } from 'react-native-gesture-handler'; import Orientation from 'react-native-orientation-locker'; +import { StackNavigationProp } from '@react-navigation/stack'; +import { Dispatch } from 'redux'; +import Model from '@nozbe/watermelondb/Model'; import UserPreferences from '../../lib/userPreferences'; import EventEmitter from '../../utils/events'; @@ -19,7 +21,6 @@ import FormContainer, { FormContainerInner } from '../../containers/FormContaine import I18n from '../../i18n'; import { themes } from '../../constants/colors'; import { events, logEvent } from '../../utils/log'; -import { animateNextTransition } from '../../utils/layoutAnimation'; import { withTheme } from '../../theme'; import { BASIC_AUTH_KEY, setBasicAuth } from '../../utils/fetch'; import * as HeaderButton from '../../containers/HeaderButton'; @@ -66,19 +67,38 @@ const styles = StyleSheet.create({ } }); -class NewServerView extends React.Component { - static propTypes = { - navigation: PropTypes.object, - theme: PropTypes.string, - connecting: PropTypes.bool.isRequired, - connectServer: PropTypes.func.isRequired, - selectServer: PropTypes.func.isRequired, - previousServer: PropTypes.string, - inviteLinksClear: PropTypes.func, - serverFinishAdd: PropTypes.func - }; +export interface IServer extends Model { + url: string; + username: string; +} - constructor(props) { +interface INewServerView { + navigation: StackNavigationProp<any, 'NewServerView'>; + theme: string; + connecting: boolean; + connectServer(server: string, username?: string, fromServerHistory?: boolean): void; + selectServer(server: string): void; + previousServer: string; + inviteLinksClear(): void; + serverFinishAdd(): void; + width: number; + height: number; +} + +interface IState { + text: string; + connectingOpen: boolean; + certificate: any; + serversHistory: IServer[]; +} + +interface ISubmitParams { + fromServerHistory?: boolean; + username?: string; +} + +class NewServerView extends React.Component<INewServerView, IState> { + constructor(props: INewServerView) { super(props); if (!isTablet) { Orientation.lockToPortrait(); @@ -131,21 +151,21 @@ class NewServerView extends React.Component { return false; }; - onChangeText = text => { + onChangeText = (text: string) => { this.setState({ text }); this.queryServerHistory(text); }; - queryServerHistory = async text => { + queryServerHistory = async (text?: string) => { const db = database.servers; try { const serversHistoryCollection = db.get('servers_history'); let whereClause = [Q.where('username', Q.notEq(null)), Q.experimentalSortBy('updated_at', Q.desc), Q.experimentalTake(3)]; - const likeString = sanitizeLikeString(text); if (text) { + const likeString = sanitizeLikeString(text); whereClause = [...whereClause, Q.where('url', Q.like(`%${likeString}%`))]; } - const serversHistory = await serversHistoryCollection.query(...whereClause).fetch(); + const serversHistory = (await serversHistoryCollection.query(...whereClause).fetch()) as IServer[]; this.setState({ serversHistory }); } catch { // Do nothing @@ -158,7 +178,7 @@ class NewServerView extends React.Component { selectServer(previousServer); }; - handleNewServerEvent = event => { + handleNewServerEvent = (event: { server: string }) => { let { server } = event; if (!server) { return; @@ -169,13 +189,11 @@ class NewServerView extends React.Component { connectServer(server); }; - onPressServerHistory = serverHistory => { - this.setState({ text: serverHistory?.url }, () => - this.submit({ fromServerHistory: true, username: serverHistory?.username }) - ); + onPressServerHistory = (serverHistory: IServer) => { + this.setState({ text: serverHistory.url }, () => this.submit({ fromServerHistory: true, username: serverHistory?.username })); }; - submit = async ({ fromServerHistory = false, username }) => { + submit = async ({ fromServerHistory = false, username }: ISubmitParams = {}) => { logEvent(events.NS_CONNECT_TO_WORKSPACE); const { text, certificate } = this.state; const { connectServer } = this.props; @@ -207,7 +225,7 @@ class NewServerView extends React.Component { connectServer('https://open.rocket.chat'); }; - basicAuth = async (server, text) => { + basicAuth = async (server: string, text: string) => { try { const parsedUrl = parse(text, true); if (parsedUrl.auth.length) { @@ -222,14 +240,14 @@ class NewServerView extends React.Component { chooseCertificate = async () => { try { - const certificate = await SSLPinning.pickCertificate(); + const certificate = await SSLPinning?.pickCertificate(); this.setState({ certificate }); } catch { // Do nothing } }; - completeUrl = url => { + completeUrl = (url: string) => { const parsedUrl = parse(url, true); if (parsedUrl.auth.length) { url = parsedUrl.origin; @@ -252,14 +270,11 @@ class NewServerView extends React.Component { return url.replace(/\/+$/, '').replace(/\\/g, '/'); }; - uriToPath = uri => uri.replace('file://', ''); - - saveCertificate = certificate => { - animateNextTransition(); - this.setState({ certificate }); - }; + uriToPath = (uri: string) => uri.replace('file://', ''); handleRemove = () => { + // TODO: Remove ts-ignore when migrate the showConfirmationAlert + // @ts-ignore showConfirmationAlert({ message: I18n.t('You_will_unset_a_certificate_for_this_server'), confirmationText: I18n.t('Remove'), @@ -267,14 +282,15 @@ class NewServerView extends React.Component { }); }; - deleteServerHistory = async item => { - const { serversHistory } = this.state; + deleteServerHistory = async (item: IServer) => { const db = database.servers; try { - await db.action(async () => { + await db.write(async () => { await item.destroyPermanently(); }); - this.setState({ serversHistory: serversHistory.filter(server => server.id !== item.id) }); + this.setState((prevstate: IState) => ({ + serversHistory: prevstate.serversHistory.filter((server: IServer) => server.id !== item.id) + })); } catch { // Nothing } @@ -288,20 +304,21 @@ class NewServerView extends React.Component { style={[ styles.certificatePicker, { - marginBottom: verticalScale(previousServer && !isTablet ? 10 : 30, height) + marginBottom: verticalScale({ size: previousServer && !isTablet ? 10 : 30, height }) } ]}> <Text style={[ styles.chooseCertificateTitle, - { color: themes[theme].auxiliaryText, fontSize: moderateScale(13, null, width) } + { color: themes[theme].auxiliaryText, fontSize: moderateScale({ size: 13, width }) } ]}> {certificate ? I18n.t('Your_certificate') : I18n.t('Do_you_have_a_certificate')} </Text> <TouchableOpacity onPress={certificate ? this.handleRemove : this.chooseCertificate} testID='new-server-choose-certificate'> - <Text style={[styles.chooseCertificate, { color: themes[theme].tintColor, fontSize: moderateScale(13, null, width) }]}> + <Text + style={[styles.chooseCertificate, { color: themes[theme].tintColor, fontSize: moderateScale({ size: 13, width }) }]}> {certificate ?? I18n.t('Apply_Your_Certificate')} </Text> </TouchableOpacity> @@ -321,10 +338,10 @@ class NewServerView extends React.Component { style={[ styles.onboardingImage, { - marginBottom: verticalScale(10, height), - marginTop: isTablet ? 0 : verticalScale(marginTop, height), - width: verticalScale(100, height), - height: verticalScale(100, height) + marginBottom: verticalScale({ size: 10, height }), + marginTop: isTablet ? 0 : verticalScale({ size: marginTop, height }), + width: verticalScale({ size: 100, height }), + height: verticalScale({ size: 100, height }) } ]} source={require('../../static/images/logo.png')} @@ -335,8 +352,8 @@ class NewServerView extends React.Component { styles.title, { color: themes[theme].titleText, - fontSize: moderateScale(22, null, width), - marginBottom: verticalScale(8, height) + fontSize: moderateScale({ size: 22, width }), + marginBottom: verticalScale({ size: 8, height }) } ]}> Rocket.Chat @@ -346,8 +363,8 @@ class NewServerView extends React.Component { styles.subtitle, { color: themes[theme].controlText, - fontSize: moderateScale(16, null, width), - marginBottom: verticalScale(30, height) + fontSize: moderateScale({ size: 16, width }), + marginBottom: verticalScale({ size: 30, height }) } ]}> {I18n.t('Onboarding_subtitle')} @@ -367,7 +384,7 @@ class NewServerView extends React.Component { onPress={this.submit} disabled={!text || connecting} loading={!connectingOpen && connecting} - style={[styles.connectButton, { marginTop: verticalScale(16, height) }]} + style={[styles.connectButton, { marginTop: verticalScale({ size: 16, height }) }]} theme={theme} testID='new-server-view-button' /> @@ -377,8 +394,8 @@ class NewServerView extends React.Component { styles.description, { color: themes[theme].auxiliaryText, - fontSize: moderateScale(14, null, width), - marginBottom: verticalScale(16, height) + fontSize: moderateScale({ size: 14, width }), + marginBottom: verticalScale({ size: 16, height }) } ]}> {I18n.t('Onboarding_join_open_description')} @@ -400,14 +417,15 @@ class NewServerView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ connecting: state.server.connecting, previousServer: state.server.previousServer }); -const mapDispatchToProps = dispatch => ({ - connectServer: (...params) => dispatch(serverRequest(...params)), - selectServer: server => dispatch(selectServerRequest(server)), +const mapDispatchToProps = (dispatch: Dispatch) => ({ + connectServer: (server: string, username: string & null, fromServerHistory?: boolean) => + dispatch(serverRequest(server, username, fromServerHistory)), + selectServer: (server: string) => dispatch(selectServerRequest(server)), inviteLinksClear: () => dispatch(inviteLinksClearAction()), serverFinishAdd: () => dispatch(serverFinishAddAction()) }); diff --git a/app/views/ReadReceiptView/index.js b/app/views/ReadReceiptView/index.js index d407b3420..f611cbc15 100644 --- a/app/views/ReadReceiptView/index.js +++ b/app/views/ReadReceiptView/index.js @@ -1,13 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { FlatList, Text, View } from 'react-native'; +import { FlatList, Text, View, RefreshControl } from 'react-native'; import { dequal } from 'dequal'; import moment from 'moment'; import { connect } from 'react-redux'; import * as List from '../../containers/List'; import Avatar from '../../containers/Avatar'; -import ActivityIndicator from '../../containers/ActivityIndicator'; import * as HeaderButton from '../../containers/HeaderButton'; import I18n from '../../i18n'; import RocketChat from '../../lib/rocketchat'; @@ -85,12 +84,16 @@ class ReadReceiptView extends React.Component { }; renderEmpty = () => { + const { loading } = this.state; const { theme } = this.props; + if (loading) { + return null; + } return ( <View style={[styles.listEmptyContainer, { backgroundColor: themes[theme].chatComponentBackground }]} testID='read-receipt-view'> - <Text style={{ color: themes[theme].titleText }}>{I18n.t('No_Read_Receipts')}</Text> + <Text style={[styles.emptyText, { color: themes[theme].auxiliaryTintColor }]}>{I18n.t('No_Read_Receipts')}</Text> </View> ); }; @@ -107,9 +110,15 @@ class ReadReceiptView extends React.Component { <View style={styles.infoContainer}> <View style={styles.item}> <Text style={[styles.name, { color: themes[theme].titleText }]}>{item?.user?.name}</Text> - <Text style={{ color: themes[theme].auxiliaryText }}>{time}</Text> + <Text style={[styles.time, { color: themes[theme].auxiliaryText }]}>{time}</Text> </View> - <Text style={{ color: themes[theme].auxiliaryText }}>{`@${item.user.username}`}</Text> + <Text + style={[ + styles.username, + { + color: themes[theme].auxiliaryText + } + ]}>{`@${item.user.username}`}</Text> </View> </View> ); @@ -119,30 +128,25 @@ class ReadReceiptView extends React.Component { const { receipts, loading } = this.state; const { theme } = this.props; - if (!loading && receipts.length === 0) { - return this.renderEmpty(); - } - return ( <SafeAreaView testID='read-receipt-view'> <StatusBar /> - {loading ? ( - <ActivityIndicator theme={theme} /> - ) : ( - <FlatList - data={receipts} - renderItem={this.renderItem} - ItemSeparatorComponent={List.Separator} - style={[ - styles.list, - { - backgroundColor: themes[theme].chatComponentBackground, - borderColor: themes[theme].separatorColor - } - ]} - keyExtractor={item => item._id} - /> - )} + <FlatList + data={receipts} + renderItem={this.renderItem} + ItemSeparatorComponent={List.Separator} + ListEmptyComponent={this.renderEmpty} + contentContainerStyle={List.styles.contentContainerStyleFlatList} + style={[ + styles.list, + { + backgroundColor: themes[theme].chatComponentBackground, + borderColor: themes[theme].separatorColor + } + ]} + refreshControl={<RefreshControl refreshing={loading} onRefresh={this.load} tintColor={themes[theme].auxiliaryText} />} + keyExtractor={item => item._id} + /> </SafeAreaView> ); } diff --git a/app/views/ReadReceiptView/styles.js b/app/views/ReadReceiptView/styles.js index dbf31e6a0..e6af153ed 100644 --- a/app/views/ReadReceiptView/styles.js +++ b/app/views/ReadReceiptView/styles.js @@ -8,9 +8,14 @@ export default StyleSheet.create({ alignItems: 'center', justifyContent: 'center' }, + emptyText: { + fontSize: 16, + ...sharedStyles.textRegular + }, item: { flex: 1, flexDirection: 'row', + alignItems: 'center', justifyContent: 'space-between' }, separator: { @@ -20,6 +25,14 @@ export default StyleSheet.create({ ...sharedStyles.textRegular, fontSize: 17 }, + username: { + ...sharedStyles.textMedium, + fontSize: 14 + }, + time: { + ...sharedStyles.textRegular, + fontSize: 12 + }, infoContainer: { flex: 1, marginLeft: 10 diff --git a/app/views/RegisterView.js b/app/views/RegisterView.tsx similarity index 82% rename from app/views/RegisterView.js rename to app/views/RegisterView.tsx index 5086bc9ee..045712163 100644 --- a/app/views/RegisterView.js +++ b/app/views/RegisterView.tsx @@ -1,6 +1,7 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { Keyboard, StyleSheet, Text, View } from 'react-native'; +import { StackNavigationProp } from '@react-navigation/stack'; +import { RouteProp } from '@react-navigation/core'; import { connect } from 'react-redux'; import RNPickerSelect from 'react-native-picker-select'; @@ -49,27 +50,37 @@ const styles = StyleSheet.create({ } }); -class RegisterView extends React.Component { - static navigationOptions = ({ route, navigation }) => ({ - title: route.params?.title ?? 'Rocket.Chat', +interface IProps { + navigation: StackNavigationProp<any>; + route: RouteProp<any, 'RegisterView'>; + server: string; + Site_Name: string; + Gitlab_URL: string; + CAS_enabled: boolean; + CAS_login_url: string; + Accounts_CustomFields: string; + Accounts_EmailVerification: boolean; + Accounts_ManuallyApproveNewUsers: boolean; + showLoginButton: boolean; + loginRequest: Function; + theme: string; +} + +class RegisterView extends React.Component<IProps, any> { + private parsedCustomFields: any; + private usernameInput: any; + private passwordInput: any; + private emailInput: any; + private avatarUrl: any; + + static navigationOptions = ({ route, navigation }: Partial<IProps>) => ({ + title: route?.params?.title ?? 'Rocket.Chat', headerRight: () => <HeaderButton.Legal testID='register-view-more' navigation={navigation} /> }); - static propTypes = { - navigation: PropTypes.object, - server: PropTypes.string, - Accounts_CustomFields: PropTypes.string, - Accounts_EmailVerification: PropTypes.bool, - Accounts_ManuallyApproveNewUsers: PropTypes.bool, - theme: PropTypes.string, - Site_Name: PropTypes.string, - loginRequest: PropTypes.func, - showLoginButton: PropTypes.bool - }; - - constructor(props) { + constructor(props: IProps) { super(props); - const customFields = {}; + const customFields: any = {}; this.parsedCustomFields = {}; if (props.Accounts_CustomFields) { try { @@ -78,7 +89,7 @@ class RegisterView extends React.Component { log(e); } } - Object.keys(this.parsedCustomFields).forEach(key => { + Object.keys(this.parsedCustomFields).forEach((key: string) => { if (this.parsedCustomFields[key].defaultValue) { customFields[key] = this.parsedCustomFields[key].defaultValue; } @@ -101,7 +112,7 @@ class RegisterView extends React.Component { valid = () => { const { name, email, password, username, customFields } = this.state; let requiredCheck = true; - Object.keys(this.parsedCustomFields).forEach(key => { + Object.keys(this.parsedCustomFields).forEach((key: string) => { if (this.parsedCustomFields[key].required) { requiredCheck = requiredCheck && customFields[key] && Boolean(customFields[key].trim()); } @@ -138,7 +149,7 @@ class RegisterView extends React.Component { } else { await loginRequest({ user: email, password }); } - } catch (e) { + } catch (e: any) { if (e.data?.errorType === 'username-invalid') { return loginRequest({ user: email, password }); } @@ -150,7 +161,7 @@ class RegisterView extends React.Component { this.setState({ saving: false }); }; - openContract = route => { + openContract = (route: string) => { const { server, theme } = this.props; if (!server) { return; @@ -167,19 +178,20 @@ class RegisterView extends React.Component { try { return Object.keys(this.parsedCustomFields).map((key, index, array) => { if (this.parsedCustomFields[key].type === 'select') { - const options = this.parsedCustomFields[key].options.map(option => ({ label: option, value: option })); + const options = this.parsedCustomFields[key].options.map((option: string) => ({ label: option, value: option })); return ( <RNPickerSelect key={key} items={options} onValueChange={value => { - const newValue = {}; + const newValue: { [key: string]: string | number } = {}; newValue[key] = value; this.setState({ customFields: { ...customFields, ...newValue } }); }} value={customFields[key]}> <TextInput - inputRef={e => { + inputRef={(e: any) => { + // @ts-ignore this[key] = e; }} placeholder={key} @@ -193,20 +205,22 @@ class RegisterView extends React.Component { return ( <TextInput - inputRef={e => { + inputRef={(e: any) => { + // @ts-ignore this[key] = e; }} key={key} label={key} placeholder={key} value={customFields[key]} - onChangeText={value => { - const newValue = {}; + onChangeText={(value: string) => { + const newValue: { [key: string]: string | number } = {}; newValue[key] = value; this.setState({ customFields: { ...customFields, ...newValue } }); }} onSubmitEditing={() => { if (array.length - 1 > index) { + // @ts-ignore return this[array[index + 1]].focus(); } this.avatarUrl.focus(); @@ -234,7 +248,7 @@ class RegisterView extends React.Component { containerStyle={styles.inputContainer} placeholder={I18n.t('Name')} returnKeyType='next' - onChangeText={name => this.setState({ name })} + onChangeText={(name: string) => this.setState({ name })} onSubmitEditing={() => { this.usernameInput.focus(); }} @@ -249,7 +263,7 @@ class RegisterView extends React.Component { }} placeholder={I18n.t('Username')} returnKeyType='next' - onChangeText={username => this.setState({ username })} + onChangeText={(username: string) => this.setState({ username })} onSubmitEditing={() => { this.emailInput.focus(); }} @@ -265,7 +279,7 @@ class RegisterView extends React.Component { placeholder={I18n.t('Email')} returnKeyType='next' keyboardType='email-address' - onChangeText={email => this.setState({ email })} + onChangeText={(email: string) => this.setState({ email })} onSubmitEditing={() => { this.passwordInput.focus(); }} @@ -281,7 +295,7 @@ class RegisterView extends React.Component { placeholder={I18n.t('Password')} returnKeyType='send' secureTextEntry - onChangeText={value => this.setState({ password: value })} + onChangeText={(value: string) => this.setState({ password: value })} onSubmitEditing={this.submit} testID='register-view-password' theme={theme} @@ -334,7 +348,7 @@ class RegisterView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ server: state.server.server, Site_Name: state.settings.Site_Name, Gitlab_URL: state.settings.API_Gitlab_URL, @@ -346,8 +360,8 @@ const mapStateToProps = state => ({ showLoginButton: getShowLoginButton(state) }); -const mapDispatchToProps = dispatch => ({ - loginRequest: params => dispatch(loginRequestAction(params)) +const mapDispatchToProps = (dispatch: any) => ({ + loginRequest: (params: any) => dispatch(loginRequestAction(params)) }); export default connect(mapStateToProps, mapDispatchToProps)(withTheme(RegisterView)); diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.js index 308946982..9a93d1cae 100644 --- a/app/views/RoomMembersView/index.js +++ b/app/views/RoomMembersView/index.js @@ -446,7 +446,8 @@ class RoomMembersView extends React.Component { type: allUsers ? 'all' : 'online', filter: filtering, skip: members.length, - limit: PAGE_SIZE + limit: PAGE_SIZE, + allUsers }); this.setState({ members: members.concat(membersResult || []), diff --git a/app/views/RoomView/List/index.js b/app/views/RoomView/List/index.js index c32490ba6..0db6c8b69 100644 --- a/app/views/RoomView/List/index.js +++ b/app/views/RoomView/List/index.js @@ -14,6 +14,7 @@ import { animateNextTransition } from '../../../utils/layoutAnimation'; import ActivityIndicator from '../../../containers/ActivityIndicator'; import { themes } from '../../../constants/colors'; import debounce from '../../../utils/debounce'; +import { compareServerVersion, methods } from '../../../lib/utils'; import List from './List'; import NavBottomFAB from './NavBottomFAB'; @@ -43,7 +44,8 @@ class ListContainer extends React.Component { tunread: PropTypes.array, ignored: PropTypes.array, navigation: PropTypes.object, - showMessageInMainThread: PropTypes.bool + showMessageInMainThread: PropTypes.bool, + serverVersion: PropTypes.string }; constructor(props) { @@ -131,7 +133,7 @@ class ListContainer extends React.Component { query = async () => { this.count += QUERY_SIZE; - const { rid, tmid, showMessageInMainThread } = this.props; + const { rid, tmid, showMessageInMainThread, serverVersion } = this.props; const db = database.active; // handle servers with version < 3.0.0 @@ -172,7 +174,14 @@ class ListContainer extends React.Component { if (tmid && this.thread) { messages = [...messages, this.thread]; } - messages = messages.filter(m => !m.t || !hideSystemMessages?.includes(m.t)); + + /** + * Since 3.16.0 server version, the backend don't response with messages if + * hide system message is enabled + */ + if (compareServerVersion(serverVersion, '3.16.0', methods.lowerThan) || hideSystemMessages.length) { + messages = messages.filter(m => !m.t || !hideSystemMessages?.includes(m.t)); + } if (this.mounted) { this.setState({ messages }, () => this.update()); diff --git a/app/views/RoomView/RightButtons.js b/app/views/RoomView/RightButtons.js index 70e18bd68..9bbf717fd 100644 --- a/app/views/RoomView/RightButtons.js +++ b/app/views/RoomView/RightButtons.js @@ -20,7 +20,8 @@ class RightButtonsContainer extends Component { navigation: PropTypes.object, isMasterDetail: PropTypes.bool, toggleFollowThread: PropTypes.func, - joined: PropTypes.bool + joined: PropTypes.bool, + encrypted: PropTypes.bool }; constructor(props) { @@ -137,11 +138,14 @@ class RightButtonsContainer extends Component { goSearchView = () => { logEvent(events.ROOM_GO_SEARCH); - const { rid, t, navigation, isMasterDetail } = this.props; + const { rid, t, navigation, isMasterDetail, encrypted } = this.props; if (isMasterDetail) { - navigation.navigate('ModalStackNavigator', { screen: 'SearchMessagesView', params: { rid, showCloseModal: true } }); + navigation.navigate('ModalStackNavigator', { + screen: 'SearchMessagesView', + params: { rid, showCloseModal: true, encrypted } + }); } else { - navigation.navigate('SearchMessagesView', { rid, t }); + navigation.navigate('SearchMessagesView', { rid, t, encrypted }); } }; diff --git a/app/views/RoomView/index.js b/app/views/RoomView/index.js index 3aa389467..241cd1902 100644 --- a/app/views/RoomView/index.js +++ b/app/views/RoomView/index.js @@ -120,6 +120,7 @@ class RoomView extends React.Component { Message_Read_Receipt_Enabled: PropTypes.bool, Hide_System_Messages: PropTypes.array, baseUrl: PropTypes.string, + serverVersion: PropTypes.string, customEmojis: PropTypes.object, isMasterDetail: PropTypes.bool, theme: PropTypes.string, @@ -148,6 +149,7 @@ class RoomView extends React.Component { prid }; this.jumpToMessageId = props.route.params?.jumpToMessageId; + this.jumpToThreadId = props.route.params?.jumpToThreadId; const roomUserId = props.route.params?.roomUserId ?? RocketChat.getUidDirectMessage(room); this.state = { joined: true, @@ -208,6 +210,9 @@ class RoomView extends React.Component { if (this.jumpToMessageId) { this.jumpToMessage(this.jumpToMessageId); } + if (this.jumpToThreadId && !this.jumpToMessageId) { + this.navToThread({ tmid: this.jumpToThreadId }); + } if (isIOS && this.rid) { this.updateUnreadCount(); } @@ -253,6 +258,10 @@ class RoomView extends React.Component { this.jumpToMessage(route?.params?.jumpToMessageId); } + if (route?.params?.jumpToThreadId !== prevProps.route?.params?.jumpToThreadId) { + this.navToThread({ tmid: route?.params?.jumpToThreadId }); + } + if (appState === 'foreground' && appState !== prevProps.appState && this.rid) { // Fire List.query() just to keep observables working if (this.list && this.list.current) { @@ -362,6 +371,7 @@ class RoomView extends React.Component { const t = room?.t; const teamMain = room?.teamMain; const teamId = room?.teamId; + const encrypted = room?.encrypted; const { id: userId, token } = user; const avatar = room?.name; const visitor = room?.visitor; @@ -424,6 +434,7 @@ class RoomView extends React.Component { teamMain={teamMain} joined={joined} t={t} + encrypted={encrypted} navigation={navigation} toggleFollowThread={this.toggleFollowThread} /> @@ -869,7 +880,12 @@ class RoomView extends React.Component { if (item.tmid) { let name = item.tmsg; if (!name) { - name = await this.getThreadName(item.tmid, item.id); + const result = await this.getThreadName(item.tmid, item.id); + // test if there isn't a thread + if (!result) { + return; + } + name = result; } if (item.t === E2E_MESSAGE_TYPE && item.e2e !== E2E_STATUS.DONE) { name = I18n.t('Encrypted_message'); @@ -1152,7 +1168,7 @@ class RoomView extends React.Component { render() { console.count(`${this.constructor.name}.render calls`); const { room, reactionsModalVisible, selectedMessage, loading, reacting, showingBlockingLoader } = this.state; - const { user, baseUrl, theme, navigation, Hide_System_Messages, width, height } = this.props; + const { user, baseUrl, theme, navigation, Hide_System_Messages, width, height, serverVersion } = this.props; const { rid, t, sysMes, bannerClosed, announcement } = room; return ( @@ -1180,6 +1196,7 @@ class RoomView extends React.Component { navigation={navigation} hideSystemMessages={Array.isArray(sysMes) ? sysMes : Hide_System_Messages} showMessageInMainThread={user.showMessageInMainThread} + serverVersion={serverVersion} /> {this.renderFooter()} {this.renderActions()} @@ -1218,6 +1235,7 @@ const mapStateToProps = state => ({ Message_TimeFormat: state.settings.Message_TimeFormat, customEmojis: state.customEmojis, baseUrl: state.server.server, + serverVersion: state.server.version, Message_Read_Receipt_Enabled: state.settings.Message_Read_Receipt_Enabled, Hide_System_Messages: state.settings.Hide_System_Messages }); diff --git a/app/views/RoomsListView/Header/index.js b/app/views/RoomsListView/Header/index.js index 4557b66dc..b97f65e15 100644 --- a/app/views/RoomsListView/Header/index.js +++ b/app/views/RoomsListView/Header/index.js @@ -2,12 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; -import { - closeServerDropdown, - closeSortDropdown, - setSearch as setSearchAction, - toggleServerDropdown -} from '../../../actions/rooms'; +import { toggleServerDropdown, closeServerDropdown, setSearch as setSearchAction } from '../../../actions/rooms'; import { withTheme } from '../../../theme'; import EventEmitter from '../../../utils/events'; import { KEY_COMMAND, handleCommandOpenServerDropdown } from '../../../commands'; @@ -18,7 +13,6 @@ import Header from './Header'; class RoomsListHeaderView extends PureComponent { static propTypes = { showServerDropdown: PropTypes.bool, - showSortDropdown: PropTypes.bool, showSearchHeader: PropTypes.bool, serverName: PropTypes.string, connecting: PropTypes.bool, @@ -28,7 +22,6 @@ class RoomsListHeaderView extends PureComponent { server: PropTypes.string, open: PropTypes.func, close: PropTypes.func, - closeSort: PropTypes.func, setSearch: PropTypes.func }; @@ -58,14 +51,9 @@ class RoomsListHeaderView extends PureComponent { onPress = () => { logEvent(events.RL_TOGGLE_SERVER_DROPDOWN); - const { showServerDropdown, showSortDropdown, close, open, closeSort } = this.props; + const { showServerDropdown, close, open } = this.props; if (showServerDropdown) { close(); - } else if (showSortDropdown) { - closeSort(); - setTimeout(() => { - open(); - }, 300); } else { open(); } @@ -93,7 +81,6 @@ class RoomsListHeaderView extends PureComponent { const mapStateToProps = state => ({ showServerDropdown: state.rooms.showServerDropdown, - showSortDropdown: state.rooms.showSortDropdown, showSearchHeader: state.rooms.showSearchHeader, connecting: state.meteor.connecting || state.server.loading, connected: state.meteor.connected, @@ -105,7 +92,6 @@ const mapStateToProps = state => ({ const mapDispatchtoProps = dispatch => ({ close: () => dispatch(closeServerDropdown()), open: () => dispatch(toggleServerDropdown()), - closeSort: () => dispatch(closeSortDropdown()), setSearch: searchText => dispatch(setSearchAction(searchText)) }); diff --git a/app/views/RoomsListView/ListHeader/index.js b/app/views/RoomsListView/ListHeader/index.js index d7d4d2304..b1aced177 100644 --- a/app/views/RoomsListView/ListHeader/index.js +++ b/app/views/RoomsListView/ListHeader/index.js @@ -2,16 +2,13 @@ import React from 'react'; import PropTypes from 'prop-types'; import { withTheme } from '../../../theme'; -import I18n from '../../../i18n'; import * as List from '../../../containers/List'; import { E2E_BANNER_TYPE } from '../../../lib/encryption/constants'; import { themes } from '../../../constants/colors'; import OmnichannelStatus from '../../../ee/omnichannel/containers/OmnichannelStatus'; const ListHeader = React.memo( - ({ searching, sortBy, toggleSort, goEncryption, goQueue, queueSize, inquiryEnabled, encryptionBanner, user, theme }) => { - const sortTitle = I18n.t('Sorting_by', { key: I18n.t(sortBy === 'alphabetical' ? 'name' : 'activity') }); - + ({ searching, goEncryption, goQueue, queueSize, inquiryEnabled, encryptionBanner, user, theme }) => { if (searching) { return null; } @@ -36,13 +33,6 @@ const ListHeader = React.memo( <List.Separator /> </> ) : null} - <List.Item - title={sortTitle} - left={() => <List.Icon name='sort' />} - color={themes[theme].auxiliaryText} - onPress={toggleSort} - translateTitle={false} - /> <List.Separator /> <OmnichannelStatus searching={searching} @@ -58,8 +48,6 @@ const ListHeader = React.memo( ListHeader.propTypes = { searching: PropTypes.bool, - sortBy: PropTypes.string, - toggleSort: PropTypes.func, goEncryption: PropTypes.func, goQueue: PropTypes.func, queueSize: PropTypes.number, diff --git a/app/views/RoomsListView/SortDropdown/index.js b/app/views/RoomsListView/SortDropdown/index.js deleted file mode 100644 index 6a945ff67..000000000 --- a/app/views/RoomsListView/SortDropdown/index.js +++ /dev/null @@ -1,207 +0,0 @@ -import React, { PureComponent } from 'react'; -import { Animated, Easing, TouchableWithoutFeedback } from 'react-native'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; -import { withSafeAreaInsets } from 'react-native-safe-area-context'; - -import styles from '../styles'; -import * as List from '../../../containers/List'; -import RocketChat from '../../../lib/rocketchat'; -import { setPreference } from '../../../actions/sortPreferences'; -import log, { events, logEvent } from '../../../utils/log'; -import I18n from '../../../i18n'; -import { withTheme } from '../../../theme'; -import { themes } from '../../../constants/colors'; -import { headerHeight } from '../../../containers/Header'; - -const ANIMATION_DURATION = 200; - -class Sort extends PureComponent { - static propTypes = { - closeSortDropdown: PropTypes.bool, - close: PropTypes.func, - sortBy: PropTypes.string, - groupByType: PropTypes.bool, - showFavorites: PropTypes.bool, - showUnread: PropTypes.bool, - isMasterDetail: PropTypes.bool, - theme: PropTypes.string, - insets: PropTypes.object, - setSortPreference: PropTypes.func - }; - - constructor(props) { - super(props); - this.animatedValue = new Animated.Value(0); - } - - componentDidMount() { - Animated.timing(this.animatedValue, { - toValue: 1, - duration: ANIMATION_DURATION, - easing: Easing.inOut(Easing.quad), - useNativeDriver: true - }).start(); - } - - componentDidUpdate(prevProps) { - const { closeSortDropdown } = this.props; - if (prevProps.closeSortDropdown !== closeSortDropdown) { - this.close(); - } - } - - setSortPreference = param => { - const { setSortPreference } = this.props; - - try { - setSortPreference(param); - RocketChat.saveSortPreference(param); - } catch (e) { - logEvent(events.RL_SORT_CHANNELS_F); - log(e); - } - }; - - sortByName = () => { - logEvent(events.RL_SORT_CHANNELS_BY_NAME); - this.setSortPreference({ sortBy: 'alphabetical' }); - this.close(); - }; - - sortByActivity = () => { - logEvent(events.RL_SORT_CHANNELS_BY_ACTIVITY); - this.setSortPreference({ sortBy: 'activity' }); - this.close(); - }; - - toggleGroupByType = () => { - logEvent(events.RL_GROUP_CHANNELS_BY_TYPE); - const { groupByType } = this.props; - this.setSortPreference({ groupByType: !groupByType }); - }; - - toggleGroupByFavorites = () => { - logEvent(events.RL_GROUP_CHANNELS_BY_FAVORITE); - const { showFavorites } = this.props; - this.setSortPreference({ showFavorites: !showFavorites }); - }; - - toggleUnread = () => { - logEvent(events.RL_GROUP_CHANNELS_BY_UNREAD); - const { showUnread } = this.props; - this.setSortPreference({ showUnread: !showUnread }); - }; - - close = () => { - const { close } = this.props; - Animated.timing(this.animatedValue, { - toValue: 0, - duration: ANIMATION_DURATION, - easing: Easing.inOut(Easing.quad), - useNativeDriver: true - }).start(() => close()); - }; - - renderCheck = () => { - const { theme } = this.props; - return <List.Icon name='check' color={themes[theme].tintColor} />; - }; - - render() { - const { isMasterDetail, insets } = this.props; - const statusBarHeight = insets?.top ?? 0; - const heightDestination = isMasterDetail ? headerHeight + statusBarHeight : 0; - const translateY = this.animatedValue.interpolate({ - inputRange: [0, 1], - outputRange: [-326, heightDestination] - }); - const { sortBy, groupByType, showFavorites, showUnread, theme } = this.props; - const backdropOpacity = this.animatedValue.interpolate({ - inputRange: [0, 1], - outputRange: [0, themes[theme].backdropOpacity] - }); - - return ( - <> - <TouchableWithoutFeedback onPress={this.close}> - <Animated.View - style={[ - styles.backdrop, - { - backgroundColor: themes[theme].backdropColor, - opacity: backdropOpacity, - top: heightDestination - } - ]} - /> - </TouchableWithoutFeedback> - <Animated.View - style={[ - styles.dropdownContainer, - { - transform: [{ translateY }], - backgroundColor: themes[theme].backgroundColor, - borderColor: themes[theme].separatorColor - } - ]}> - <List.Item - title={I18n.t('Sorting_by', { key: I18n.t(sortBy === 'alphabetical' ? 'name' : 'activity') })} - left={() => <List.Icon name='sort' />} - color={themes[theme].auxiliaryText} - onPress={this.close} - translateTitle={false} - /> - <List.Separator /> - <List.Item - title='Alphabetical' - left={() => <List.Icon name='sort-az' />} - color={themes[theme].auxiliaryText} - onPress={this.sortByName} - right={() => (sortBy === 'alphabetical' ? this.renderCheck() : null)} - /> - <List.Item - title='Activity' - left={() => <List.Icon name='clock' />} - color={themes[theme].auxiliaryText} - onPress={this.sortByActivity} - right={() => (sortBy === 'activity' ? this.renderCheck() : null)} - /> - <List.Separator /> - <List.Item - title='Group_by_type' - left={() => <List.Icon name='group-by-type' />} - color={themes[theme].auxiliaryText} - onPress={this.toggleGroupByType} - right={() => (groupByType ? this.renderCheck() : null)} - /> - <List.Item - title='Group_by_favorites' - left={() => <List.Icon name='star' />} - color={themes[theme].auxiliaryText} - onPress={this.toggleGroupByFavorites} - right={() => (showFavorites ? this.renderCheck() : null)} - /> - <List.Item - title='Unread_on_top' - left={() => <List.Icon name='unread-on-top-disabled' />} - color={themes[theme].auxiliaryText} - onPress={this.toggleUnread} - right={() => (showUnread ? this.renderCheck() : null)} - /> - </Animated.View> - </> - ); - } -} - -const mapStateToProps = state => ({ - closeSortDropdown: state.rooms.closeSortDropdown, - isMasterDetail: state.app.isMasterDetail -}); - -const mapDispatchToProps = dispatch => ({ - setSortPreference: preference => dispatch(setPreference(preference)) -}); - -export default connect(mapStateToProps, mapDispatchToProps)(withSafeAreaInsets(withTheme(Sort))); diff --git a/app/views/RoomsListView/index.js b/app/views/RoomsListView/index.js index 5f4d12553..518e10c48 100644 --- a/app/views/RoomsListView/index.js +++ b/app/views/RoomsListView/index.js @@ -9,15 +9,14 @@ import { withSafeAreaInsets } from 'react-native-safe-area-context'; import database from '../../lib/database'; import RocketChat from '../../lib/rocketchat'; -import RoomItem, { ROW_HEIGHT } from '../../presentation/RoomItem'; -import log, { events, logEvent } from '../../utils/log'; +import RoomItem, { ROW_HEIGHT, ROW_HEIGHT_CONDENSED } from '../../presentation/RoomItem'; +import log, { logEvent, events } from '../../utils/log'; import I18n from '../../i18n'; import { closeSearchHeader as closeSearchHeaderAction, closeServerDropdown as closeServerDropdownAction, openSearchHeader as openSearchHeaderAction, - roomsRequest as roomsRequestAction, - toggleSortDropdown as toggleSortDropdownAction + roomsRequest as roomsRequestAction } from '../../actions/rooms'; import { appStart as appStartAction, ROOT_OUTSIDE } from '../../actions/app'; import debounce from '../../utils/debounce'; @@ -50,11 +49,11 @@ import { showConfirmationAlert, showErrorAlert } from '../../utils/info'; import { E2E_BANNER_TYPE } from '../../lib/encryption/constants'; import { getInquiryQueueSelector } from '../../ee/omnichannel/selectors/inquiry'; import { changeLivechatStatus, isOmnichannelStatusAvailable } from '../../ee/omnichannel/lib'; +import { DISPLAY_MODE_CONDENSED } from '../../constants/constantDisplayMode'; +import styles from './styles'; +import ServerDropdown from './ServerDropdown'; import ListHeader from './ListHeader'; import RoomsListHeaderView from './Header'; -import ServerDropdown from './ServerDropdown'; -import SortDropdown from './SortDropdown'; -import styles from './styles'; const INITIAL_NUM_TO_RENDER = isTablet ? 20 : 12; const CHATS_HEADER = 'Chats'; @@ -77,11 +76,6 @@ const shouldUpdateProps = [ 'searchText', 'loadingServer', 'showServerDropdown', - 'showSortDropdown', - 'sortBy', - 'groupByType', - 'showFavorites', - 'showUnread', 'useRealName', 'StoreLastMessage', 'theme', @@ -89,11 +83,21 @@ const shouldUpdateProps = [ 'refreshing', 'queueSize', 'inquiryEnabled', - 'encryptionBanner' + 'encryptionBanner', + 'createTeamPermission', + 'createDirectMessagePermission', + 'createPublicChannelPermission', + 'createPrivateChannelPermission', + 'createDiscussionPermission' ]; -const getItemLayout = (data, index) => ({ - length: ROW_HEIGHT, - offset: ROW_HEIGHT * index, + +const sortPreferencesShouldUpdate = ['sortBy', 'groupByType', 'showFavorites', 'showUnread']; + +const displayPropsShouldUpdate = ['showAvatar', 'displayMode']; + +const getItemLayout = (data, index, height) => ({ + length: height, + offset: height * index, index }); const keyExtractor = item => item.rid; @@ -106,14 +110,13 @@ class RoomsListView extends React.Component { username: PropTypes.string, token: PropTypes.string, statusLivechat: PropTypes.string, - roles: PropTypes.object + roles: PropTypes.array }), server: PropTypes.string, searchText: PropTypes.string, changingServer: PropTypes.bool, loadingServer: PropTypes.bool, showServerDropdown: PropTypes.bool, - showSortDropdown: PropTypes.bool, sortBy: PropTypes.string, groupByType: PropTypes.bool, showFavorites: PropTypes.bool, @@ -121,7 +124,6 @@ class RoomsListView extends React.Component { refreshing: PropTypes.bool, StoreLastMessage: PropTypes.bool, theme: PropTypes.string, - toggleSortDropdown: PropTypes.func, openSearchHeader: PropTypes.func, closeSearchHeader: PropTypes.func, appStart: PropTypes.func, @@ -135,6 +137,13 @@ class RoomsListView extends React.Component { queueSize: PropTypes.number, inquiryEnabled: PropTypes.bool, encryptionBanner: PropTypes.string, + showAvatar: PropTypes.bool, + displayMode: PropTypes.string, + createTeamPermission: PropTypes.array, + createDirectMessagePermission: PropTypes.array, + createPublicChannelPermission: PropTypes.array, + createPrivateChannelPermission: PropTypes.array, + createDiscussionPermission: PropTypes.array, initAdd: PropTypes.func }; @@ -152,7 +161,8 @@ class RoomsListView extends React.Component { loading: true, chatsUpdate: [], chats: [], - item: {} + item: {}, + canCreateRoom: false }; this.setHeader(); this.getSubscriptions(); @@ -160,6 +170,7 @@ class RoomsListView extends React.Component { componentDidMount() { const { navigation, closeServerDropdown } = this.props; + this.handleHasPermission(); this.mounted = true; if (isTablet) { @@ -168,6 +179,11 @@ class RoomsListView extends React.Component { this.unsubscribeFocus = navigation.addListener('focus', () => { Orientation.unlockAllOrientations(); this.animated = true; + // Check if there were changes with sort preference, then call getSubscription to remount the list + if (this.sortPreferencesChanged) { + this.getSubscriptions(); + this.sortPreferencesChanged = false; + } // Check if there were changes while not focused (it's set on sCU) if (this.shouldUpdate) { this.forceUpdate(); @@ -203,13 +219,27 @@ class RoomsListView extends React.Component { } shouldComponentUpdate(nextProps, nextState) { - const { chatsUpdate, searching, item } = this.state; + const { chatsUpdate, searching, item, canCreateRoom } = this.state; // eslint-disable-next-line react/destructuring-assignment const propsUpdated = shouldUpdateProps.some(key => nextProps[key] !== this.props[key]); if (propsUpdated) { return true; } + // check if some display props are changed to force update when focus this view again + // eslint-disable-next-line react/destructuring-assignment + const displayUpdated = displayPropsShouldUpdate.some(key => nextProps[key] !== this.props[key]); + if (displayUpdated) { + this.shouldUpdate = true; + } + + // check if some sort preferences are changed to getSubscription() when focus this view again + // eslint-disable-next-line react/destructuring-assignment + const sortPreferencesUpdate = sortPreferencesShouldUpdate.some(key => nextProps[key] !== this.props[key]); + if (sortPreferencesUpdate) { + this.sortPreferencesChanged = true; + } + // Compare changes only once const chatsNotEqual = !dequal(nextState.chatsUpdate, chatsUpdate); @@ -222,6 +252,10 @@ class RoomsListView extends React.Component { return true; } + if (nextState.canCreateRoom !== canCreateRoom) { + return true; + } + if (nextState.item?.rid !== item?.rid) { return true; } @@ -257,7 +291,22 @@ class RoomsListView extends React.Component { } componentDidUpdate(prevProps) { - const { sortBy, groupByType, showFavorites, showUnread, rooms, isMasterDetail, insets } = this.props; + const { + sortBy, + groupByType, + showFavorites, + showUnread, + rooms, + isMasterDetail, + insets, + createTeamPermission, + createPublicChannelPermission, + createPrivateChannelPermission, + createDirectMessagePermission, + createDiscussionPermission, + showAvatar, + displayMode + } = this.props; const { item } = this.state; if ( @@ -265,7 +314,9 @@ class RoomsListView extends React.Component { prevProps.sortBy === sortBy && prevProps.groupByType === groupByType && prevProps.showFavorites === showFavorites && - prevProps.showUnread === showUnread + prevProps.showUnread === showUnread && + prevProps.showAvatar === showAvatar && + prevProps.displayMode === displayMode ) ) { this.getSubscriptions(); @@ -278,6 +329,17 @@ class RoomsListView extends React.Component { if (insets.left !== prevProps.insets.left || insets.right !== prevProps.insets.right) { this.setHeader(); } + + if ( + !dequal(createTeamPermission, prevProps.createTeamPermission) || + !dequal(createPublicChannelPermission, prevProps.createPublicChannelPermission) || + !dequal(createPrivateChannelPermission, prevProps.createPrivateChannelPermission) || + !dequal(createDirectMessagePermission, prevProps.createDirectMessagePermission) || + !dequal(createDiscussionPermission, prevProps.createDiscussionPermission) + ) { + this.handleHasPermission(); + this.setHeader(); + } } componentWillUnmount() { @@ -297,10 +359,31 @@ class RoomsListView extends React.Component { console.countReset(`${this.constructor.name}.render calls`); } + handleHasPermission = async () => { + const { + createTeamPermission, + createDirectMessagePermission, + createPublicChannelPermission, + createPrivateChannelPermission, + createDiscussionPermission + } = this.props; + const permissions = [ + createPublicChannelPermission, + createPrivateChannelPermission, + createTeamPermission, + createDirectMessagePermission, + createDiscussionPermission + ]; + const permissionsToCreate = await RocketChat.hasPermission(permissions); + const canCreateRoom = permissionsToCreate.filter(r => r === true).length > 0; + this.setState({ canCreateRoom }, () => this.setHeader()); + }; + getHeader = () => { - const { searching } = this.state; + const { searching, canCreateRoom } = this.state; const { navigation, isMasterDetail, insets } = this.props; const headerTitlePosition = getHeaderTitlePosition({ insets, numIconsRight: searching ? 0 : 3 }); + return { headerTitleAlign: 'left', headerLeft: () => @@ -327,7 +410,9 @@ class RoomsListView extends React.Component { headerRight: () => searching ? null : ( <HeaderButton.Container> - <HeaderButton.Item iconName='create' onPress={this.goToNewMessage} testID='rooms-list-view-create-channel' /> + {canCreateRoom ? ( + <HeaderButton.Item iconName='create' onPress={this.goToNewMessage} testID='rooms-list-view-create-channel' /> + ) : null} <HeaderButton.Item iconName='search' onPress={this.initSearching} testID='rooms-list-view-search' /> <HeaderButton.Item iconName='directory' onPress={this.goDirectory} testID='rooms-list-view-directory' /> </HeaderButton.Container> @@ -528,6 +613,8 @@ class RoomsListView extends React.Component { isRead = item => RocketChat.isRead(item); + isSwipeEnabled = item => !(item?.search || item?.joinCodeRequired || item?.outside); + getUserPresence = uid => RocketChat.getUserPresence(uid); getUidDirectMessage = room => RocketChat.getUidDirectMessage(room); @@ -553,16 +640,6 @@ class RoomsListView extends React.Component { } }; - toggleSort = () => { - logEvent(events.RL_TOGGLE_SORT_DROPDOWN); - const { toggleSortDropdown } = this.props; - - this.scrollToTop(); - setTimeout(() => { - toggleSortDropdown(); - }, 100); - }; - toggleFav = async (rid, favorite) => { logEvent(favorite ? events.RL_UNFAVORITE_CHANNEL : events.RL_FAVORITE_CHANNEL); try { @@ -811,12 +888,10 @@ class RoomsListView extends React.Component { renderListHeader = () => { const { searching } = this.state; - const { sortBy, queueSize, inquiryEnabled, encryptionBanner, user } = this.props; + const { queueSize, inquiryEnabled, encryptionBanner, user } = this.props; return ( <ListHeader searching={searching} - sortBy={sortBy} - toggleSort={this.toggleSort} goEncryption={this.goEncryption} goQueue={this.goQueue} queueSize={queueSize} @@ -850,9 +925,12 @@ class RoomsListView extends React.Component { useRealName, theme, isMasterDetail, - width + width, + showAvatar, + displayMode } = this.props; const id = this.getUidDirectMessage(item); + const swipeEnabled = this.isSwipeEnabled(item); return ( <RoomItem @@ -875,6 +953,9 @@ class RoomsListView extends React.Component { getIsRead={this.isRead} visitor={item.visitor} isFocused={currentItem?.rid === item.rid} + swipeEnabled={swipeEnabled} + showAvatar={showAvatar} + displayMode={displayMode} /> ); }; @@ -890,7 +971,9 @@ class RoomsListView extends React.Component { renderScroll = () => { const { loading, chats, search, searching } = this.state; - const { theme, refreshing } = this.props; + const { theme, refreshing, displayMode } = this.props; + + const height = displayMode === DISPLAY_MODE_CONDENSED ? ROW_HEIGHT_CONDENSED : ROW_HEIGHT; if (loading) { return <ActivityIndicator theme={theme} />; @@ -905,7 +988,7 @@ class RoomsListView extends React.Component { style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]} renderItem={this.renderItem} ListHeaderComponent={this.renderListHeader} - getItemLayout={getItemLayout} + getItemLayout={(data, index) => getItemLayout(data, index, height)} removeClippedSubviews={isIOS} keyboardShouldPersistTaps='always' initialNumToRender={INITIAL_NUM_TO_RENDER} @@ -921,23 +1004,13 @@ class RoomsListView extends React.Component { render = () => { console.count(`${this.constructor.name}.render calls`); - const { sortBy, groupByType, showFavorites, showUnread, showServerDropdown, showSortDropdown, theme, navigation } = - this.props; + const { showServerDropdown, theme, navigation } = this.props; return ( <SafeAreaView testID='rooms-list-view' style={{ backgroundColor: themes[theme].backgroundColor }}> <StatusBar /> {this.renderHeader()} {this.renderScroll()} - {showSortDropdown ? ( - <SortDropdown - close={this.toggleSort} - sortBy={sortBy} - groupByType={groupByType} - showFavorites={showFavorites} - showUnread={showUnread} - /> - ) : null} {showServerDropdown ? <ServerDropdown navigation={navigation} /> : null} </SafeAreaView> ); @@ -952,7 +1025,6 @@ const mapStateToProps = state => ({ searchText: state.rooms.searchText, loadingServer: state.server.loading, showServerDropdown: state.rooms.showServerDropdown, - showSortDropdown: state.rooms.showSortDropdown, refreshing: state.rooms.refreshing, sortBy: state.sortPreferences.sortBy, groupByType: state.sortPreferences.groupByType, @@ -963,11 +1035,17 @@ const mapStateToProps = state => ({ rooms: state.room.rooms, queueSize: getInquiryQueueSelector(state).length, inquiryEnabled: state.inquiry.enabled, - encryptionBanner: state.encryption.banner + encryptionBanner: state.encryption.banner, + showAvatar: state.sortPreferences.showAvatar, + displayMode: state.sortPreferences.displayMode, + createTeamPermission: state.permissions['create-team'], + createDirectMessagePermission: state.permissions['create-d'], + createPublicChannelPermission: state.permissions['create-c'], + createPrivateChannelPermission: state.permissions['create-p'], + createDiscussionPermission: state.permissions['start-discussion'] }); const mapDispatchToProps = dispatch => ({ - toggleSortDropdown: () => dispatch(toggleSortDropdownAction()), openSearchHeader: () => dispatch(openSearchHeaderAction()), closeSearchHeader: () => dispatch(closeSearchHeaderAction()), roomsRequest: params => dispatch(roomsRequestAction(params)), diff --git a/app/views/SearchMessagesView/index.js b/app/views/SearchMessagesView/index.js index f8131ec1d..c36425edd 100644 --- a/app/views/SearchMessagesView/index.js +++ b/app/views/SearchMessagesView/index.js @@ -24,8 +24,11 @@ import database from '../../lib/database'; import { sanitizeLikeString } from '../../lib/database/utils'; import getThreadName from '../../lib/methods/getThreadName'; import getRoomInfo from '../../lib/methods/getRoomInfo'; +import { isIOS } from '../../utils/deviceInfo'; +import { compareServerVersion, methods } from '../../lib/utils'; import styles from './styles'; +const QUERY_SIZE = 50; class SearchMessagesView extends React.Component { static navigationOptions = ({ navigation, route }) => { const options = { @@ -43,6 +46,7 @@ class SearchMessagesView extends React.Component { route: PropTypes.object, user: PropTypes.object, baseUrl: PropTypes.string, + serverVersion: PropTypes.string, customEmojis: PropTypes.object, theme: PropTypes.string, useRealName: PropTypes.bool @@ -55,6 +59,7 @@ class SearchMessagesView extends React.Component { messages: [], searchText: '' }; + this.offset = 0; this.rid = props.route.params?.rid; this.t = props.route.params?.t; this.encrypted = props.route.params?.encrypted; @@ -88,6 +93,9 @@ class SearchMessagesView extends React.Component { // Handle encrypted rooms search messages searchMessages = async searchText => { + if (!searchText) { + return []; + } // If it's a encrypted, room we'll search only on the local stored messages if (this.encrypted) { const db = database.active; @@ -103,25 +111,33 @@ class SearchMessagesView extends React.Component { .fetch(); } // If it's not a encrypted room, search messages on the server - const result = await RocketChat.searchMessages(this.rid, searchText); + const result = await RocketChat.searchMessages(this.rid, searchText, QUERY_SIZE, this.offset); if (result.success) { return result.messages; } }; - search = debounce(async searchText => { - this.setState({ searchText, loading: true, messages: [] }); - + getMessages = async (searchText, debounced) => { try { const messages = await this.searchMessages(searchText); - this.setState({ - messages: messages || [], + this.setState(prevState => ({ + messages: debounced ? messages : [...prevState.messages, ...messages], loading: false - }); + })); } catch (e) { this.setState({ loading: false }); log(e); } + }; + + search = searchText => { + this.offset = 0; + this.setState({ searchText, loading: true, messages: [] }); + this.searchDebounced(searchText); + }; + + searchDebounced = debounce(async searchText => { + await this.getMessages(searchText, true); }, 1000); getCustomEmoji = name => { @@ -168,6 +184,23 @@ class SearchMessagesView extends React.Component { } }; + onEndReached = async () => { + const { serverVersion } = this.props; + const { searchText, messages, loading } = this.state; + if ( + messages.length < this.offset || + this.encrypted || + loading || + compareServerVersion(serverVersion, '3.17.0', methods.lowerThan) + ) { + return; + } + this.setState({ loading: true }); + this.offset += QUERY_SIZE; + + await this.getMessages(searchText); + }; + renderEmpty = () => { const { theme } = this.props; return ( @@ -212,8 +245,10 @@ class SearchMessagesView extends React.Component { renderItem={this.renderItem} style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]} keyExtractor={item => item._id} - onEndReached={this.load} + onEndReached={this.onEndReached} ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null} + onEndReachedThreshold={0.5} + removeClippedSubviews={isIOS} {...scrollPersistTaps} /> ); @@ -243,6 +278,7 @@ class SearchMessagesView extends React.Component { } const mapStateToProps = state => ({ + serverVersion: state.server.version, baseUrl: state.server.server, user: getUserSelector(state), useRealName: state.settings.UI_Use_Real_Name, diff --git a/app/views/SendEmailConfirmationView.tsx b/app/views/SendEmailConfirmationView.tsx new file mode 100644 index 000000000..892673acc --- /dev/null +++ b/app/views/SendEmailConfirmationView.tsx @@ -0,0 +1,94 @@ +import React, { useEffect, useState } from 'react'; +import { StackNavigationProp } from '@react-navigation/stack'; + +import TextInput from '../containers/TextInput'; +import Button from '../containers/Button'; +import { showErrorAlert } from '../utils/info'; +import isValidEmail from '../utils/isValidEmail'; +import I18n from '../i18n'; +import RocketChat from '../lib/rocketchat'; +import { useTheme } from '../theme'; +import FormContainer, { FormContainerInner } from '../containers/FormContainer'; +import log, { events, logEvent } from '../utils/log'; +import sharedStyles from './Styles'; + +interface ISendEmailConfirmationView { + navigation: StackNavigationProp<any, 'SendEmailConfirmationView'>; + route: { + params: { + user?: string; + }; + }; +} + +const SendEmailConfirmationView = ({ navigation, route }: ISendEmailConfirmationView): JSX.Element => { + const [email, setEmail] = useState(''); + const [invalidEmail, setInvalidEmail] = useState(true); + const [isFetching, setIsFetching] = useState(false); + + const { theme } = useTheme(); + + const validate = (val: string) => { + const isInvalidEmail = !isValidEmail(val); + setEmail(val); + setInvalidEmail(isInvalidEmail); + }; + + const resendConfirmationEmail = async () => { + logEvent(events.SEC_SEND_EMAIL_CONFIRMATION); + if (invalidEmail || !email) { + return; + } + try { + setIsFetching(true); + const result = await RocketChat.sendConfirmationEmail(email); + if (result.success) { + navigation.pop(); + showErrorAlert(I18n.t('Verify_email_desc')); + } + } catch (e: any) { + log(e); + const msg = e?.data?.error || I18n.t('There_was_an_error_while_action', { action: I18n.t('sending_email_confirmation') }); + showErrorAlert(msg, I18n.t('Alert')); + } + setIsFetching(false); + }; + + useEffect(() => { + navigation.setOptions({ + title: 'Rocket.Chat' + }); + if (route.params?.user) { + validate(route.params.user); + } + }, []); + + return ( + <FormContainer theme={theme} testID='send-email-confirmation-view'> + <FormContainerInner> + <TextInput + autoFocus + placeholder={I18n.t('Email')} + keyboardType='email-address' + returnKeyType='send' + onChangeText={(email: string) => validate(email)} + onSubmitEditing={resendConfirmationEmail} + testID='send-email-confirmation-view-email' + containerStyle={sharedStyles.inputLastChild} + theme={theme} + value={email} + /> + <Button + title={I18n.t('Send_email_confirmation')} + type='primary' + onPress={resendConfirmationEmail} + testID='send-email-confirmation-view-submit' + loading={isFetching} + disabled={invalidEmail} + theme={theme} + /> + </FormContainerInner> + </FormContainer> + ); +}; +export default SendEmailConfirmationView; diff --git a/app/views/SettingsView/index.js b/app/views/SettingsView/index.tsx similarity index 88% rename from app/views/SettingsView/index.js rename to app/views/SettingsView/index.tsx index 4c62e19bc..02c17169b 100644 --- a/app/views/SettingsView/index.js +++ b/app/views/SettingsView/index.tsx @@ -1,9 +1,9 @@ import React from 'react'; import { Clipboard, Linking, Share } from 'react-native'; -import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import FastImage from '@rocket.chat/react-native-fast-image'; import CookieManager from '@react-native-cookies/cookies'; +import { StackNavigationProp } from '@react-navigation/stack'; import { logout as logoutAction } from '../../actions/login'; import { selectServerRequest as selectServerRequestAction } from '../../actions/server'; @@ -29,8 +29,25 @@ import database from '../../lib/database'; import { isFDroidBuild } from '../../constants/environment'; import { getUserSelector } from '../../selectors/login'; -class SettingsView extends React.Component { - static navigationOptions = ({ navigation, isMasterDetail }) => ({ +interface IProps { + navigation: StackNavigationProp<any, 'SettingsView'>; + server: { + version: string; + server: string; + }; + theme: string; + isMasterDetail: boolean; + logout: Function; + selectServerRequest: Function; + user: { + roles: []; + id: string; + }; + appStart: Function; +} + +class SettingsView extends React.Component<IProps, any> { + static navigationOptions = ({ navigation, isMasterDetail }: Partial<IProps>) => ({ headerLeft: () => isMasterDetail ? ( <HeaderButton.CloseModal navigation={navigation} testID='settings-view-close' /> @@ -40,26 +57,12 @@ class SettingsView extends React.Component { title: I18n.t('Settings') }); - static propTypes = { - navigation: PropTypes.object, - server: PropTypes.object, - theme: PropTypes.string, - isMasterDetail: PropTypes.bool, - logout: PropTypes.func.isRequired, - selectServerRequest: PropTypes.func, - user: PropTypes.shape({ - roles: PropTypes.array, - id: PropTypes.string - }), - appStart: PropTypes.func - }; - checkCookiesAndLogout = async () => { const { logout, user } = this.props; const db = database.servers; const usersCollection = db.get('users'); try { - const userRecord = await usersCollection.find(user.id); + const userRecord: any = await usersCollection.find(user.id); if (userRecord.isFromWebView) { showConfirmationAlert({ title: I18n.t('Clear_cookies_alert'), @@ -84,6 +87,7 @@ class SettingsView extends React.Component { handleLogout = () => { logEvent(events.SE_LOG_OUT); + // @ts-ignore showConfirmationAlert({ message: I18n.t('You_will_be_logged_out_of_this_application'), confirmationText: I18n.t('Logout'), @@ -93,6 +97,7 @@ class SettingsView extends React.Component { handleClearCache = () => { logEvent(events.SE_CLEAR_LOCAL_SERVER_CACHE); + /* @ts-ignore */ showConfirmationAlert({ message: I18n.t('This_will_clear_all_your_offline_data'), confirmationText: I18n.t('Clear'), @@ -112,7 +117,8 @@ class SettingsView extends React.Component { }); }; - navigateToScreen = screen => { + navigateToScreen = (screen: string) => { + /* @ts-ignore */ logEvent(events[`SE_GO_${screen.replace('View', '').toUpperCase()}`]); const { navigation } = this.props; navigation.navigate(screen); @@ -160,7 +166,7 @@ class SettingsView extends React.Component { this.saveToClipboard(getReadableVersion); }; - saveToClipboard = async content => { + saveToClipboard = async (content: string) => { await Clipboard.setString(content); EventEmitter.emit(LISTENER, { message: I18n.t('Copied_to_clipboard') }); }; @@ -185,6 +191,8 @@ class SettingsView extends React.Component { <List.Separator /> </List.Section> <List.Section> + <List.Separator /> + <List.Item title='Display' onPress={() => this.navigateToScreen('DisplayPrefsView')} showActionIndicator /> <List.Separator /> <List.Item title='Profile' @@ -291,16 +299,16 @@ class SettingsView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ server: state.server, user: getUserSelector(state), isMasterDetail: state.app.isMasterDetail }); -const mapDispatchToProps = dispatch => ({ +const mapDispatchToProps = (dispatch: any) => ({ logout: () => dispatch(logoutAction()), - selectServerRequest: params => dispatch(selectServerRequestAction(params)), - appStart: params => dispatch(appStartAction(params)) + selectServerRequest: (params: any) => dispatch(selectServerRequestAction(params)), + appStart: (params: any) => dispatch(appStartAction(params)) }); export default connect(mapStateToProps, mapDispatchToProps)(withTheme(SettingsView)); diff --git a/app/views/SidebarView/index.js b/app/views/SidebarView/index.js index 975d8a896..5f27e7062 100644 --- a/app/views/SidebarView/index.js +++ b/app/views/SidebarView/index.js @@ -193,6 +193,13 @@ class Sidebar extends Component { testID='sidebar-profile' current={this.currentItemKey === 'ProfileStackNavigator'} /> + <SidebarItem + text={I18n.t('Display')} + left={<CustomIcon name='sort' size={20} color={themes[theme].titleText} />} + onPress={() => this.sidebarNavigate('DisplayPrefStackNavigator')} + testID='sidebar-display' + current={this.currentItemKey === 'DisplayPrefStackNavigator'} + /> <SidebarItem text={I18n.t('Settings')} left={<CustomIcon name='administration' size={20} color={themes[theme].titleText} />} diff --git a/app/views/TeamChannelsView.js b/app/views/TeamChannelsView.js index 869d5e4c3..13546703e 100644 --- a/app/views/TeamChannelsView.js +++ b/app/views/TeamChannelsView.js @@ -61,7 +61,9 @@ class TeamChannelsView extends React.Component { deleteCPermission: PropTypes.array, deletePPermission: PropTypes.array, showActionSheet: PropTypes.func, - deleteRoom: PropTypes.func + deleteRoom: PropTypes.func, + showAvatar: PropTypes.bool, + displayMode: PropTypes.string }; constructor(props) { @@ -463,7 +465,7 @@ class TeamChannelsView extends React.Component { }; renderItem = ({ item }) => { - const { StoreLastMessage, useRealName, theme, width } = this.props; + const { StoreLastMessage, useRealName, theme, width, showAvatar, displayMode } = this.props; return ( <RoomItem item={item} @@ -478,6 +480,8 @@ class TeamChannelsView extends React.Component { getRoomAvatar={this.getRoomAvatar} swipeEnabled={false} autoJoin={item.teamDefault} + showAvatar={showAvatar} + displayMode={displayMode} /> ); }; @@ -540,7 +544,9 @@ const mapStateToProps = state => ({ editTeamChannelPermission: state.permissions[PERMISSION_EDIT_TEAM_CHANNEL], removeTeamChannelPermission: state.permissions[PERMISSION_REMOVE_TEAM_CHANNEL], deleteCPermission: state.permissions[PERMISSION_DELETE_C], - deletePPermission: state.permissions[PERMISSION_DELETE_P] + deletePPermission: state.permissions[PERMISSION_DELETE_P], + showAvatar: state.sortPreferences.showAvatar, + displayMode: state.sortPreferences.displayMode }); const mapDispatchToProps = dispatch => ({ diff --git a/app/views/UserPreferencesView/index.js b/app/views/UserPreferencesView/index.js index 573ab58f9..476c49a7d 100644 --- a/app/views/UserPreferencesView/index.js +++ b/app/views/UserPreferencesView/index.js @@ -1,46 +1,75 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; +import { Switch } from 'react-native'; import PropTypes from 'prop-types'; +import { useSelector } from 'react-redux'; import I18n from '../../i18n'; -import { events, logEvent } from '../../utils/log'; +import log, { logEvent, events } from '../../utils/log'; import SafeAreaView from '../../containers/SafeAreaView'; import StatusBar from '../../containers/StatusBar'; import * as List from '../../containers/List'; +import { SWITCH_TRACK_COLOR } from '../../constants/colors'; +import { getUserSelector } from '../../selectors/login'; +import RocketChat from '../../lib/rocketchat'; -class UserPreferencesView extends React.Component { - static navigationOptions = () => ({ - title: I18n.t('Preferences') - }); +const UserPreferencesView = ({ navigation }) => { + const user = useSelector(state => getUserSelector(state)); + const [enableParser, setEnableParser] = useState(user.enableMessageParserEarlyAdoption); - static propTypes = { - navigation: PropTypes.object - }; + useEffect(() => { + navigation.setOptions({ + title: I18n.t('Preferences') + }); + }, []); - navigateToScreen = (screen, params) => { + const navigateToScreen = (screen, params) => { logEvent(events[`SE_GO_${screen.replace('View', '').toUpperCase()}`]); - const { navigation } = this.props; navigation.navigate(screen, params); }; - render() { - return ( - <SafeAreaView testID='preferences-view'> - <StatusBar /> - <List.Container> - <List.Section> - <List.Separator /> - <List.Item - title='Notifications' - onPress={() => this.navigateToScreen('UserNotificationPrefView')} - showActionIndicator - testID='preferences-view-notifications' - /> - <List.Separator /> - </List.Section> - </List.Container> - </SafeAreaView> - ); - } -} + const toggleMessageParser = async value => { + try { + await RocketChat.saveUserPreferences({ id: user.id, enableMessageParserEarlyAdoption: value }); + setEnableParser(value); + } catch (e) { + log(e); + } + }; + + const renderMessageParserSwitch = () => ( + <Switch value={enableParser} trackColor={SWITCH_TRACK_COLOR} onValueChange={toggleMessageParser} /> + ); + + return ( + <SafeAreaView testID='preferences-view'> + <StatusBar /> + <List.Container> + <List.Section> + <List.Separator /> + <List.Item + title='Notifications' + onPress={() => navigateToScreen('UserNotificationPrefView')} + showActionIndicator + testID='preferences-view-notifications' + /> + <List.Separator /> + </List.Section> + <List.Section> + <List.Separator /> + <List.Item + title='Enable_Message_Parser' + testID='preferences-view-enable-message-parser' + right={() => renderMessageParserSwitch()} + /> + <List.Separator /> + </List.Section> + </List.Container> + </SafeAreaView> + ); +}; + +UserPreferencesView.propTypes = { + navigation: PropTypes.object +}; export default UserPreferencesView; diff --git a/app/views/WorkspaceView/ServerAvatar.js b/app/views/WorkspaceView/ServerAvatar.tsx similarity index 80% rename from app/views/WorkspaceView/ServerAvatar.js rename to app/views/WorkspaceView/ServerAvatar.tsx index 749c4b10e..54b90b9bb 100644 --- a/app/views/WorkspaceView/ServerAvatar.js +++ b/app/views/WorkspaceView/ServerAvatar.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; -import PropTypes from 'prop-types'; import { createImageProgress } from 'react-native-image-progress'; import * as Progress from 'react-native-progress'; import FastImage from '@rocket.chat/react-native-fast-image'; @@ -41,15 +40,24 @@ const styles = StyleSheet.create({ } }); -const getInitial = url => url && url.replace(/http(s?):\/\//, '').slice(0, 1); +const getInitial = (url: string) => url && url.replace(/http(s?):\/\//, '').slice(0, 1); -const Fallback = ({ theme, initial }) => ( +interface IFallback { + theme: string; + initial: string; +} +const Fallback = ({ theme, initial }: IFallback) => ( <View style={[styles.container, styles.fallback, { backgroundColor: themes[theme].dangerColor }]}> <Text style={[styles.initial, { color: themes[theme].buttonText }]}>{initial}</Text> </View> ); -const ServerAvatar = React.memo(({ theme, url, image }) => ( +interface IServerAvatar { + theme: string; + url: string; + image: string; +} +const ServerAvatar = React.memo(({ theme, url, image }: IServerAvatar) => ( <View style={styles.container}> {image && ( <ImageProgress @@ -66,16 +74,6 @@ const ServerAvatar = React.memo(({ theme, url, image }) => ( </View> )); -ServerAvatar.propTypes = { - theme: PropTypes.string, - url: PropTypes.string, - image: PropTypes.string -}; ServerAvatar.displayName = 'ServerAvatar'; -Fallback.propTypes = { - theme: PropTypes.string, - initial: PropTypes.string -}; - export default ServerAvatar; diff --git a/app/views/WorkspaceView/index.js b/app/views/WorkspaceView/index.tsx similarity index 81% rename from app/views/WorkspaceView/index.js rename to app/views/WorkspaceView/index.tsx index dbd1c69e0..68ac5157b 100644 --- a/app/views/WorkspaceView/index.js +++ b/app/views/WorkspaceView/index.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Text, View } from 'react-native'; -import PropTypes from 'prop-types'; +import { StackNavigationProp, StackNavigationOptions } from '@react-navigation/stack'; import { connect } from 'react-redux'; import I18n from '../../i18n'; @@ -12,23 +12,27 @@ import { getShowLoginButton } from '../../selectors/login'; import ServerAvatar from './ServerAvatar'; import styles from './styles'; -class WorkspaceView extends React.Component { - static navigationOptions = () => ({ - title: I18n.t('Your_workspace') - }); +interface IWorkSpaceProp { + // TODO: waiting for the RootStackParamList https://reactnavigation.org/docs/typescript/#type-checking-screens + navigation: StackNavigationProp<any, 'WorkspaceView'>; + theme: string; + Site_Name: string; + Site_Url: string; + server: string; + Assets_favicon_512: { + url?: string; + defaultUrl: string; + }; + registrationForm: string; + registrationText: string; + showLoginButton: boolean; + Accounts_iframe_enabled: boolean; + inviteLinkToken: string; +} - static propTypes = { - navigation: PropTypes.object, - theme: PropTypes.string, - Site_Name: PropTypes.string, - Site_Url: PropTypes.string, - server: PropTypes.string, - Assets_favicon_512: PropTypes.object, - registrationForm: PropTypes.string, - registrationText: PropTypes.string, - showLoginButton: PropTypes.bool, - Accounts_iframe_enabled: PropTypes.bool, - inviteLinkToken: PropTypes.string +class WorkspaceView extends React.Component<IWorkSpaceProp, any> { + static navigationOptions: StackNavigationOptions = { + title: I18n.t('Your_workspace') }; get showRegistrationButton() { @@ -94,7 +98,7 @@ class WorkspaceView extends React.Component { } } -const mapStateToProps = state => ({ +const mapStateToProps = (state: any) => ({ server: state.server.server, Site_Name: state.settings.Site_Name, Site_Url: state.settings.Site_Url, diff --git a/app/views/WorkspaceView/styles.js b/app/views/WorkspaceView/styles.ts similarity index 100% rename from app/views/WorkspaceView/styles.js rename to app/views/WorkspaceView/styles.ts diff --git a/babel.config.js b/babel.config.js index 708e683ff..335868bb2 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,6 +1,6 @@ module.exports = { presets: ['module:metro-react-native-babel-preset'], - plugins: [['@babel/plugin-proposal-decorators', { legacy: true }]], + plugins: [['@babel/plugin-proposal-decorators', { legacy: true }], 'react-native-reanimated/plugin'], env: { production: { plugins: ['transform-remove-console'] diff --git a/e2e/data.js b/e2e/data.js index 979be71c7..800239e76 100644 --- a/e2e/data.js +++ b/e2e/data.js @@ -44,6 +44,9 @@ const data = { }, alternate: { name: `detox-alternate-${value}` + }, + alternate2: { + name: `detox-alternate2-${value}` } }, teams: { diff --git a/e2e/data/data.docker.js b/e2e/data/data.docker.js index 104007ce2..e9804e91c 100644 --- a/e2e/data/data.docker.js +++ b/e2e/data/data.docker.js @@ -45,6 +45,9 @@ const data = { }, alternate: { name: `detox-alternate-${value}` + }, + alternate2: { + name: `detox-alternate2-${value}` } }, teams: { diff --git a/e2e/helpers/data_setup.js b/e2e/helpers/data_setup.js index 4c0f2d4e0..4b038e42e 100644 --- a/e2e/helpers/data_setup.js +++ b/e2e/helpers/data_setup.js @@ -116,11 +116,12 @@ const changeChannelJoinCode = async (roomId, joinCode) => { } }; -const sendMessage = async (user, channel, msg) => { +const sendMessage = async (user, channel, msg, tmid) => { console.log(`Sending message to ${channel}`); try { await login(user.username, user.password); - await rocketchat.post('chat.postMessage', { channel, msg }); + const response = await rocketchat.post('chat.postMessage', { channel, msg, tmid }); + return response.data; } catch (infoError) { console.log(JSON.stringify(infoError)); throw new Error('Failed to find or create private group'); diff --git a/e2e/tests/assorted/11-deeplinking.spec.js b/e2e/tests/assorted/11-deeplinking.spec.js index 27255be3c..135cd574e 100644 --- a/e2e/tests/assorted/11-deeplinking.spec.js +++ b/e2e/tests/assorted/11-deeplinking.spec.js @@ -1,6 +1,6 @@ const data = require('../../data'); const { tapBack, checkServer, navigateToRegister } = require('../../helpers/app'); -const { get, login } = require('../../helpers/data_setup'); +const { get, login, sendMessage } = require('../../helpers/data_setup'); const DEEPLINK_METHODS = { AUTH: 'auth', ROOM: 'room' }; const getDeepLink = (method, server, params) => { @@ -12,9 +12,15 @@ const getDeepLink = (method, server, params) => { describe('Deep linking', () => { let userId; let authToken; + let threadId; + const threadMessage = `to-thread-${data.random}`; before(async () => { const loginResult = await login(data.users.regular.username, data.users.regular.password); ({ userId, authToken } = loginResult); + // create a thread with api + const result = await sendMessage(data.users.regular, data.groups.alternate2.name, threadMessage); + threadId = result.message._id; + await sendMessage(data.users.regular, result.message.rid, data.random, threadId); }); describe('Authentication', () => { @@ -87,6 +93,18 @@ describe('Deep linking', () => { .withTimeout(10000); }); + it('should navigate to the thread using path', async () => { + await device.launchApp({ + permissions: { notifications: 'YES' }, + newInstance: true, + url: getDeepLink(DEEPLINK_METHODS.ROOM, data.server, `path=group/${data.groups.alternate2.name}/thread/${threadId}`), + sourceApp: 'com.apple.mobilesafari' + }); + await waitFor(element(by.id(`room-view-title-${threadMessage}`))) + .toExist() + .withTimeout(10000); + }); + it('should navigate to the room using rid', async () => { const roomResult = await get(`groups.info?roomName=${data.groups.private.name}`); await device.launchApp({ diff --git a/e2e/tests/assorted/13-display-pref.spec.js b/e2e/tests/assorted/13-display-pref.spec.js new file mode 100644 index 000000000..602838a82 --- /dev/null +++ b/e2e/tests/assorted/13-display-pref.spec.js @@ -0,0 +1,96 @@ +const { login, navigateToLogin } = require('../../helpers/app'); +const data = require('../../data'); + +const goToDisplayPref = async () => { + await expect(element(by.id('rooms-list-view-sidebar'))).toBeVisible(); + await element(by.id('rooms-list-view-sidebar')).tap(); + await expect(element(by.id('sidebar-display'))).toBeVisible(); + await element(by.id('sidebar-display')).tap(); +}; +const goToRoomList = async () => { + await expect(element(by.id('display-view-drawer'))).toBeVisible(); + await element(by.id('display-view-drawer')).tap(); + await expect(element(by.id('sidebar-chats'))).toBeVisible(); + await element(by.id('sidebar-chats')).tap(); +}; + +describe('Rooms list screen', () => { + before(async () => { + await device.launchApp({ permissions: { notifications: 'YES' }, newInstance: true, delete: true }); + await navigateToLogin(); + await login(data.users.regular.username, data.users.regular.password); + }); + + describe('Render', () => { + it('should have rooms list screen', async () => { + await expect(element(by.id('rooms-list-view'))).toBeVisible(); + }); + + it('should have room item', async () => { + await expect(element(by.id('rooms-list-view-item-general'))).toExist(); + }); + + // Render - Header + describe('Header', () => { + it('should have create channel button', async () => { + await expect(element(by.id('rooms-list-view-create-channel'))).toBeVisible(); + }); + + it('should have sidebar button', async () => { + await expect(element(by.id('rooms-list-view-sidebar'))).toBeVisible(); + }); + }); + + describe('DisplayPrefView', () => { + it('should go to Display Preferences', async () => { + await goToDisplayPref(); + }); + + it('should have Displays button, expanded, condensed, avatars', async () => { + await expect(element(by.id('display-pref-view-expanded'))).toBeVisible(); + await expect(element(by.id('display-pref-view-condensed'))).toBeVisible(); + await expect(element(by.id('display-pref-view-avatars'))).toBeVisible(); + }); + + it('should have Sort By button', async () => { + await expect(element(by.id('display-pref-view-activity'))).toBeVisible(); + await expect(element(by.id('display-pref-view-name'))).toBeVisible(); + }); + + it('should have Group by button', async () => { + await expect(element(by.id('display-pref-view-unread'))).toBeVisible(); + await expect(element(by.id('display-pref-view-favorites'))).toBeVisible(); + await expect(element(by.id('display-pref-view-types'))).toBeVisible(); + }); + }); + + describe('Change display', () => { + it('should appear the last message in RoomList when is Expanded', async () => { + await element(by.id('display-pref-view-expanded')).tap(); + await goToRoomList(); + await expect(element(by.id('room-item-last-message')).atIndex(0)).toBeVisible(); + }); + + it('should not appear the last message in RoomList when is Condensed', async () => { + await goToDisplayPref(); + await element(by.id('display-pref-view-condensed')).tap(); + await goToRoomList(); + await expect(element(by.id('room-item-last-message'))).not.toBeVisible(); + }); + }); + + describe('Change the avatar visible', () => { + it('should have avatar as default in room list', async () => { + await expect(element(by.id('avatar')).atIndex(0)).toExist(); + }); + + it('should hide the avatar', async () => { + await goToDisplayPref(); + await expect(element(by.id('display-pref-view-avatar-switch'))).toBeVisible(); + await element(by.id('display-pref-view-avatar-switch')).tap(); + await goToRoomList(); + await expect(element(by.id('avatar'))).not.toBeVisible(); + }); + }); + }); +}); diff --git a/ios/NotificationService/NotificationService-Bridging-Header.h b/ios/NotificationService/NotificationService-Bridging-Header.h index 2417bb56d..cb9650a24 100644 --- a/ios/NotificationService/NotificationService-Bridging-Header.h +++ b/ios/NotificationService/NotificationService-Bridging-Header.h @@ -7,3 +7,10 @@ #import <react-native-simple-crypto/Aes.h> #import <react-native-simple-crypto/Rsa.h> #import <react-native-simple-crypto/Shared.h> +#import <React/RCTBundleURLProvider.h> +#import <React/RCTRootView.h> +#import <React/RCTViewManager.h> +#import <React/RCTBridgeModule.h> + +// Silence warning +#import "../../node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/SupportingFiles/Bridging.h" \ No newline at end of file diff --git a/ios/Podfile b/ios/Podfile index 40be1ede6..83f91afbc 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -4,6 +4,8 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ require_relative '../node_modules/react-native-unimodules/cocoapods.rb' def all_pods + pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi', :modular_headers => true + pod 'simdjson', path: '../node_modules/@nozbe/simdjson' config = use_native_modules! use_unimodules! use_react_native!( diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 68582e288..aaf432c41 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,36 +4,40 @@ PODS: - React-Core - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - EXAppleAuthentication (2.2.1): + - EXAppleAuthentication (3.2.1): - UMCore - - EXAV (8.2.1): + - EXAV (9.2.3): + - ExpoModulesCore - UMCore - - UMFileSystemInterface - - UMPermissionsInterface - - EXConstants (9.1.1): - - UMConstantsInterface + - EXConstants (11.0.2): + - ExpoModulesCore - UMCore - - EXFileSystem (9.0.1): + - EXFileSystem (11.1.3): + - ExpoModulesCore - UMCore - - UMFileSystemInterface - - EXHaptics (8.2.1): + - EXHaptics (10.1.0): - UMCore - - EXImageLoader (1.1.1): + - EXImageLoader (2.2.0): + - ExpoModulesCore - React-Core - UMCore - - UMImageLoaderInterface - - EXKeepAwake (8.2.1): + - EXKeepAwake (9.2.0): - UMCore - - EXLocalAuthentication (9.2.0): - - UMConstantsInterface + - EXLocalAuthentication (11.1.1): - UMCore - - EXPermissions (9.0.1): + - ExpoModulesCore (0.2.0): + - ExpoModulesCore/Core (= 0.2.0) + - ExpoModulesCore/Interfaces (= 0.2.0) - UMCore - - UMPermissionsInterface - - EXVideoThumbnails (5.1.0): + - ExpoModulesCore/Core (0.2.0): - UMCore - - UMFileSystemInterface - - EXWebBrowser (8.3.1): + - ExpoModulesCore/Interfaces (0.2.0): + - ExpoModulesCore/Core + - UMCore + - EXVideoThumbnails (5.2.1): + - ExpoModulesCore + - UMCore + - EXWebBrowser (9.2.0): - UMCore - FBLazyVector (0.64.2) - FBReactNativeSpec (0.64.2): @@ -530,19 +534,46 @@ PODS: - RNFBApp - RNGestureHandler (1.10.3): - React-Core - - RNImageCropPicker (0.31.1): + - RNImageCropPicker (0.36.3): - React-Core - React-RCTImage - - RNImageCropPicker/QBImagePickerController (= 0.31.1) + - RNImageCropPicker/QBImagePickerController (= 0.36.3) - TOCropViewController - - RNImageCropPicker/QBImagePickerController (0.31.1): + - RNImageCropPicker/QBImagePickerController (0.36.3): - React-Core - React-RCTImage - TOCropViewController - RNLocalize (2.1.1): - React-Core - - RNReanimated (1.9.0): + - RNReanimated (2.2.2): + - DoubleConversion + - FBLazyVector + - FBReactNativeSpec + - glog + - RCT-Folly + - RCTRequired + - RCTTypeSafety - React + - React-callinvoker + - React-Core + - React-Core/DevSupport + - React-Core/RCTWebSocket + - React-CoreModules + - React-cxxreact + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-RCTActionSheet + - React-RCTAnimation + - React-RCTBlob + - React-RCTImage + - React-RCTLinking + - React-RCTNetwork + - React-RCTSettings + - React-RCTText + - React-RCTVibration + - ReactCommon/turbomodule/core + - Yoga - RNRootView (1.0.3): - React - RNScreens (2.9.0): @@ -555,24 +586,19 @@ PODS: - SDWebImageWebPCoder (0.4.1): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.5) + - simdjson (0.9.6-fix2) - TOCropViewController (2.5.3) - - UMAppLoader (1.2.0) - - UMBarCodeScannerInterface (5.2.1) - - UMCameraInterface (5.2.1) - - UMConstantsInterface (5.2.1) - - UMCore (5.3.0) - - UMFaceDetectorInterface (5.2.1) - - UMFileSystemInterface (5.2.1) - - UMFontInterface (5.2.1) - - UMImageLoaderInterface (5.2.1) - - UMPermissionsInterface (5.2.1): - - UMCore - - UMReactNativeAdapter (5.4.0): + - UMAppLoader (2.2.0) + - UMCore (7.1.2) + - UMReactNativeAdapter (6.3.9): + - ExpoModulesCore - React-Core - UMCore - - UMFontInterface - - UMSensorsInterface (5.2.1) - - UMTaskManagerInterface (5.2.1) + - UMTaskManagerInterface (6.2.0): + - UMCore + - WatermelonDB (0.23.0): + - React + - React-jsi - Yoga (1.14.0) - YogaKit (1.18.1): - Yoga (~> 1.14) @@ -588,7 +614,7 @@ DEPENDENCIES: - EXImageLoader (from `../node_modules/expo-image-loader/ios`) - EXKeepAwake (from `../node_modules/expo-keep-awake/ios`) - EXLocalAuthentication (from `../node_modules/expo-local-authentication/ios`) - - EXPermissions (from `../node_modules/expo-permissions/ios`) + - ExpoModulesCore (from `../node_modules/expo-modules-core/ios`) - EXVideoThumbnails (from `../node_modules/expo-video-thumbnails/ios`) - EXWebBrowser (from `../node_modules/expo-web-browser/ios`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) @@ -681,19 +707,12 @@ DEPENDENCIES: - RNRootView (from `../node_modules/rn-root-view`) - RNScreens (from `../node_modules/react-native-screens`) - RNVectorIcons (from `../node_modules/react-native-vector-icons`) + - "simdjson (from `../node_modules/@nozbe/simdjson`)" - UMAppLoader (from `../node_modules/unimodules-app-loader/ios`) - - UMBarCodeScannerInterface (from `../node_modules/unimodules-barcode-scanner-interface/ios`) - - UMCameraInterface (from `../node_modules/unimodules-camera-interface/ios`) - - UMConstantsInterface (from `../node_modules/unimodules-constants-interface/ios`) - "UMCore (from `../node_modules/@unimodules/core/ios`)" - - UMFaceDetectorInterface (from `../node_modules/unimodules-face-detector-interface/ios`) - - UMFileSystemInterface (from `../node_modules/unimodules-file-system-interface/ios`) - - UMFontInterface (from `../node_modules/unimodules-font-interface/ios`) - - UMImageLoaderInterface (from `../node_modules/unimodules-image-loader-interface/ios`) - - UMPermissionsInterface (from `../node_modules/unimodules-permissions-interface/ios`) - "UMReactNativeAdapter (from `../node_modules/@unimodules/react-native-adapter/ios`)" - - UMSensorsInterface (from `../node_modules/unimodules-sensors-interface/ios`) - UMTaskManagerInterface (from `../node_modules/unimodules-task-manager-interface/ios`) + - "WatermelonDB (from `../node_modules/@nozbe/watermelondb`)" - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -751,8 +770,8 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-keep-awake/ios" EXLocalAuthentication: :path: "../node_modules/expo-local-authentication/ios" - EXPermissions: - :path: "../node_modules/expo-permissions/ios" + ExpoModulesCore: + :path: "../node_modules/expo-modules-core/ios" EXVideoThumbnails: :path: "../node_modules/expo-video-thumbnails/ios" EXWebBrowser: @@ -889,32 +908,18 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-screens" RNVectorIcons: :path: "../node_modules/react-native-vector-icons" + simdjson: + :path: "../node_modules/@nozbe/simdjson" UMAppLoader: :path: "../node_modules/unimodules-app-loader/ios" - UMBarCodeScannerInterface: - :path: "../node_modules/unimodules-barcode-scanner-interface/ios" - UMCameraInterface: - :path: "../node_modules/unimodules-camera-interface/ios" - UMConstantsInterface: - :path: "../node_modules/unimodules-constants-interface/ios" UMCore: :path: "../node_modules/@unimodules/core/ios" - UMFaceDetectorInterface: - :path: "../node_modules/unimodules-face-detector-interface/ios" - UMFileSystemInterface: - :path: "../node_modules/unimodules-file-system-interface/ios" - UMFontInterface: - :path: "../node_modules/unimodules-font-interface/ios" - UMImageLoaderInterface: - :path: "../node_modules/unimodules-image-loader-interface/ios" - UMPermissionsInterface: - :path: "../node_modules/unimodules-permissions-interface/ios" UMReactNativeAdapter: :path: "../node_modules/@unimodules/react-native-adapter/ios" - UMSensorsInterface: - :path: "../node_modules/unimodules-sensors-interface/ios" UMTaskManagerInterface: :path: "../node_modules/unimodules-task-manager-interface/ios" + WatermelonDB: + :path: "../node_modules/@nozbe/watermelondb" Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -928,19 +933,19 @@ SPEC CHECKSUMS: BugsnagReactNative: a97b3132c1854fd7bf92350fabd505e3ebdd7829 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de - EXAppleAuthentication: 5b3da71bada29e2423d8ea27e5538ef0d75aba62 - EXAV: 86344030966e0da7e00556fbb97269d9ad16071d - EXConstants: f907b3b6ce16e20d1750f22af1e095e924574bcb - EXFileSystem: 76875135b61708b9afa7e6a89b72a60ba0fdfa20 - EXHaptics: 5428b344a216ca5d9df6ca8f65720b2a1ad9f109 - EXImageLoader: 02ca02c9cd5cc8a97b423207a73a791e0a86bea5 - EXKeepAwake: 8b0f68242f036b971f9f8976341823cbe6f50812 - EXLocalAuthentication: 985c65e08a6eb84f8f98b51f7435df138b18b9e8 - EXPermissions: 80ac3acbdb145930079810fe5b08c022b3428aa8 - EXVideoThumbnails: cd257fc6e07884a704a5674d362a6410933acb68 - EXWebBrowser: d37a5ffdea1b65947352bc001dd9f732463725d4 + EXAppleAuthentication: e8c537fcbe80670dd76fde7a07acb94af70ada00 + EXAV: 67bcc1d0afeb1fab854b206c84b9f2afbd61d0cd + EXConstants: 4cb52b6d8f636c767104a44bf7db3873e9c01a6f + EXFileSystem: 0a04aba8da751b9ac954065911bcf166503f8267 + EXHaptics: 6dc4307ab0794fe7a87ec8d7d1c299cf103d6cb3 + EXImageLoader: d3531a3fe530b22925c19977cb53bb43e3821fe6 + EXKeepAwake: f4105ef469be7b283f66ce2d7234bb71ac80cd26 + EXLocalAuthentication: 88a1a69ea66c4934387d1eb503628170c853caef + ExpoModulesCore: 2734852616127a6c1fc23012197890a6f3763dc7 + EXVideoThumbnails: 442c3abadb51a81551a3b53705b7560de390e6f7 + EXWebBrowser: 76783ba5dcb8699237746ecf41a9643d428a4cc5 FBLazyVector: e686045572151edef46010a6f819ade377dfeb4b - FBReactNativeSpec: b427d2f482828b9533661dbcf9edf846cb60dc7b + FBReactNativeSpec: 686ac17e193dcf7d5df4d772b224504dd2f3ad81 Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892 FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4 FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085 @@ -1024,31 +1029,24 @@ SPEC CHECKSUMS: RNFBApp: 6fd8a7e757135d4168bf033a8812c241af7363a0 RNFBCrashlytics: 88de72c2476b5868a892d9523b89b86c527c540e RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNImageCropPicker: 38865ab4af1b0b2146ad66061196bc0184946855 + RNImageCropPicker: 97289cd94fb01ab79db4e5c92938be4d0d63415d RNLocalize: 82a569022724d35461e2dc5b5d015a13c3ca995b - RNReanimated: b5ccb50650ba06f6e749c7c329a1bc3ae0c88b43 + RNReanimated: 241c586663f44f19a53883c63375fdd041253960 RNRootView: 895a4813dedeaca82db2fa868ca1c333d790e494 RNScreens: c526239bbe0e957b988dacc8d75ac94ec9cb19da RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4 SDWebImage: cf6922231e95550934da2ada0f20f2becf2ceba9 SDWebImageWebPCoder: 36f8f47bd9879a8aea6044765c1351120fd8e3a8 + simdjson: 85016870cd17207312b718ef6652eb6a1cd6a2b0 TOCropViewController: 20a14b6a7a098308bf369e7c8d700dc983a974e6 - UMAppLoader: 61049c8d55590b74e9ae1d5429bf68d96b4a2528 - UMBarCodeScannerInterface: e5e4c87797d3d01214e25cd1618866caf5d4f17f - UMCameraInterface: 415ac060034edecacdbbaa739c223e3f276e0056 - UMConstantsInterface: 1a52f2d884c95e8829439da13e36b7669a1a8fb4 - UMCore: d98083b522b08c0a8ba3992bc263c624ae5d887c - UMFaceDetectorInterface: 67c6c82451338da01a4bc00ec46365a2a8ea9057 - UMFileSystemInterface: 303d696ede28102a7e11d111808bd2ed2c5eb62f - UMFontInterface: 6edf1ee8bc55d2030766f8cf0a7b20a5d5a913b0 - UMImageLoaderInterface: 9cdbf3bab6a513bddd88505cb2340fe02d6a11c0 - UMPermissionsInterface: 019170ad655f464e3f8d23d2a8bcbda2e645cde4 - UMReactNativeAdapter: 538efe92e781b5d7678cf95b34c46f2d0989a557 - UMSensorsInterface: cb5bf31d52c4349f0ff9e3c049bbe4df0d80d383 - UMTaskManagerInterface: 80653f25c55d9e6d79d6a0a65589fa213feaee11 + UMAppLoader: 21af63390e55c82e037fb9752d93114a80ecf16e + UMCore: ce3a4faa010239063b8343895b29a6d97b01069d + UMReactNativeAdapter: d03cefd0e4e4179ab8c490408589f1c8a6c8b785 + UMTaskManagerInterface: 2be431101b73604e64fbfffcf759336f9d8fccbb + WatermelonDB: 577c61fceff16e9f9103b59d14aee4850c0307b6 Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 2cb6f38193d69310b4dfc466be3cf4ff7a5e98d3 +PODFILE CHECKSUM: 9fd323641c96f6bf98b309066332c3ff95b9cf15 COCOAPODS: 1.10.1 diff --git a/ios/RocketChatRN.xcodeproj/project.pbxproj b/ios/RocketChatRN.xcodeproj/project.pbxproj index d54f2e216..e7af4c7d3 100644 --- a/ios/RocketChatRN.xcodeproj/project.pbxproj +++ b/ios/RocketChatRN.xcodeproj/project.pbxproj @@ -24,7 +24,6 @@ 1E068CFF24FD2DC700A0FFC1 /* AppGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E068CFD24FD2DC700A0FFC1 /* AppGroup.swift */; }; 1E068D0124FD2E0500A0FFC1 /* AppGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E068D0024FD2E0500A0FFC1 /* AppGroup.m */; }; 1E068D0224FD2E0500A0FFC1 /* AppGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E068D0024FD2E0500A0FFC1 /* AppGroup.m */; }; - 1E1C2F7E250FACB5005DCE7D /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */; }; 1E1C2F80250FCB69005DCE7D /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E1C2F7F250FCB69005DCE7D /* Database.swift */; }; 1E1EA80A2326CD2200E22452 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1EA8092326CD2200E22452 /* AVFoundation.framework */; }; 1E1EA80C2326CD2800E22452 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1EA80B2326CD2800E22452 /* AudioToolbox.framework */; }; @@ -43,7 +42,6 @@ 1E470E832513A71E00E3DD1D /* RocketChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E470E822513A71E00E3DD1D /* RocketChat.swift */; }; 1E51D962251263CD00DC95DE /* MessageType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51D961251263CD00DC95DE /* MessageType.swift */; }; 1E51D965251263D600DC95DE /* NotificationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51D964251263D600DC95DE /* NotificationType.swift */; }; - 1E55FDB32320675C0048D2F9 /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */; }; 1E598AE42515057D002BDFBD /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE32515057D002BDFBD /* Date+Extensions.swift */; }; 1E598AE725150660002BDFBD /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE625150660002BDFBD /* Data+Extensions.swift */; }; 1E598AE925151A63002BDFBD /* SendMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE825151A63002BDFBD /* SendMessage.swift */; }; @@ -82,8 +80,7 @@ 1EFEB5982493B6640072EDC0 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EFEB5972493B6640072EDC0 /* NotificationService.swift */; }; 1EFEB59C2493B6640072EDC0 /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1EFEB5952493B6640072EDC0 /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 24A2AEF2383D44B586D31C01 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 06BB44DD4855498082A744AD /* libz.tbd */; }; - 66AF0CC8FE18A9B0C6B3A3CA /* libPods-defaults-RocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FFD96B27BA4184219615DE18 /* libPods-defaults-RocketChatRN.a */; }; - 69E4354C5D935D5EE022A7E5 /* libPods-defaults-Rocket.Chat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 54CFE45F7A9BAAB898835DB0 /* libPods-defaults-Rocket.Chat.a */; }; + 29B785412B69F334BD7E6314 /* libPods-defaults-Rocket.Chat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8254958F7FAFC2744F0BEFA2 /* libPods-defaults-Rocket.Chat.a */; }; 7A006F14229C83B600803143 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7A006F13229C83B600803143 /* GoogleService-Info.plist */; }; 7A0D62D2242AB187006D5C06 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */; }; 7A14FCED257FEB3A005BDCD4 /* Experimental.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7A14FCEC257FEB3A005BDCD4 /* Experimental.xcassets */; }; @@ -138,9 +135,10 @@ 7AAB3E49257E6A6E00707CF6 /* ShareRocketChatRN.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1EC6ACB022CB9FC300A41C61 /* ShareRocketChatRN.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 7AAB3E4A257E6A6E00707CF6 /* NotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1EFEB5952493B6640072EDC0 /* NotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 7ACD4897222860DE00442C55 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACD4853222860DE00442C55 /* JavaScriptCore.framework */; }; - DC5529EC3B4695AC7319279F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42EF13FCD0CA813CFABFE073 /* libPods-defaults-ShareRocketChatRN.a */; }; + 83F99820D542132F15E51371 /* libPods-defaults-RocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 88665EE8B2B6F34580EEF27D /* libPods-defaults-RocketChatRN.a */; }; + D62A2CEE91B92F16EAD2FA3F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9747EA64783AAAD1486EC3CC /* libPods-defaults-ShareRocketChatRN.a */; }; + D85BF476A3215BD80F1C79E7 /* libPods-defaults-NotificationService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EC5D50B36CB5F0E0126E19BE /* libPods-defaults-NotificationService.a */; }; DD2BA30A89E64F189C2C24AC /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BA7E862283664608B3894E34 /* libWatermelonDB.a */; }; - EDE8A8F63A3ADB93A6640F8E /* libPods-defaults-NotificationService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B2C0164CCC5BED03F5A257E /* libPods-defaults-NotificationService.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -158,13 +156,6 @@ remoteGlobalIDString = 1EFEB5942493B6640072EDC0; remoteInfo = NotificationService; }; - 7AAA749A23043AD300F1ADE9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6E660D5E213BCCD300189354; - remoteInfo = WatermelonDB; - }; 7AAB3E0F257E6A6E00707CF6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -210,15 +201,15 @@ /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; }; - 037C33B0D9A54FB4CB670FB7 /* Pods-ShareRocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShareRocketChatRN.release.xcconfig"; path = "Pods/Target Support Files/Pods-ShareRocketChatRN/Pods-ShareRocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; - 0383633C4523666C176CAA52 /* Pods-ShareRocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShareRocketChatRN.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ShareRocketChatRN/Pods-ShareRocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; 06BB44DD4855498082A744AD /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 12291EB8ADD6DC12373463FD /* Pods-defaults-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.release.xcconfig"; path = "Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.release.xcconfig"; sourceTree = "<group>"; }; 13B07F961A680F5B00A75B9A /* Rocket.Chat Experimental.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Rocket.Chat Experimental.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RocketChatRN/AppDelegate.h; sourceTree = "<group>"; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = RocketChatRN/AppDelegate.m; sourceTree = "<group>"; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RocketChatRN/Images.xcassets; sourceTree = "<group>"; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RocketChatRN/Info.plist; sourceTree = "<group>"; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = RocketChatRN/main.m; sourceTree = "<group>"; }; + 1A28A51C191812B6DE1F460B /* Pods-defaults-Rocket.Chat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.release.xcconfig"; path = "Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.release.xcconfig"; sourceTree = "<group>"; }; 1E01C81B2511208400FEF824 /* URL+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Extensions.swift"; sourceTree = "<group>"; }; 1E01C8202511301400FEF824 /* PushResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushResponse.swift; sourceTree = "<group>"; }; 1E01C8242511303100FEF824 /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = "<group>"; }; @@ -265,19 +256,11 @@ 1EFEB5972493B6640072EDC0 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; }; 1EFEB5992493B6640072EDC0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 1EFEB5A12493B67D0072EDC0 /* NotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationService.entitlements; sourceTree = "<group>"; }; - 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = WatermelonDB.xcodeproj; path = "../node_modules/@nozbe/watermelondb/native/ios/WatermelonDB.xcodeproj"; sourceTree = "<group>"; }; - 2977818A2C0F18284F485E2B /* Pods-defaults-Rocket.Chat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.release.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.release.xcconfig"; sourceTree = "<group>"; }; - 298C921C910A1A2FD60068AE /* Pods-defaults-RocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.debug.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; - 2B2C0164CCC5BED03F5A257E /* libPods-defaults-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3E39DC0E55DAF0C76229CDB1 /* Pods-RocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RocketChatRN.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RocketChatRN/Pods-RocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; - 4046FBF676A7866DDD7F3D4D /* Pods-defaults-Rocket.Chat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.debug.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.debug.xcconfig"; sourceTree = "<group>"; }; - 42EF13FCD0CA813CFABFE073 /* libPods-defaults-ShareRocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-ShareRocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 4AD2A9CF2BF6DA3C0B8292A5 /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.debug.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; - 4F207203734B8F5868BBE28D /* Pods-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.debug.xcconfig"; path = "Pods/Target Support Files/Pods-NotificationService/Pods-NotificationService.debug.xcconfig"; sourceTree = "<group>"; }; - 54CFE45F7A9BAAB898835DB0 /* libPods-defaults-Rocket.Chat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-Rocket.Chat.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1FD576942AB7B278424D7D91 /* Pods-defaults-ShareRocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.release.xcconfig"; path = "Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; + 295C2358EF89141BF3F047D4 /* Pods-defaults-RocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.release.xcconfig"; path = "Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; + 3A8E0E87A40E71A91253A4B7 /* Pods-defaults-RocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.debug.xcconfig"; path = "Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; 60B2A6A31FC4588700BD58E5 /* RocketChatRN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RocketChatRN.entitlements; path = RocketChatRN/RocketChatRN.entitlements; sourceTree = "<group>"; }; - 655D972D9C9581ECA960A1A3 /* Pods-defaults-RocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.release.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; - 761454CCD8F76AE5720EF9E8 /* Pods-defaults-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.debug.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.debug.xcconfig"; sourceTree = "<group>"; }; + 67366E177712BF459EE04D2F /* Pods-defaults-Rocket.Chat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.debug.xcconfig"; path = "Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.debug.xcconfig"; sourceTree = "<group>"; }; 7A006F13229C83B600803143 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; }; 7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; }; 7A14FCEC257FEB3A005BDCD4 /* Experimental.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Experimental.xcassets; sourceTree = "<group>"; }; @@ -286,13 +269,14 @@ 7AAA749C23043B1D00F1ADE9 /* RocketChatRN-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RocketChatRN-Bridging-Header.h"; sourceTree = "<group>"; }; 7AAB3E52257E6A6E00707CF6 /* Rocket.Chat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rocket.Chat.app; sourceTree = BUILT_PRODUCTS_DIR; }; 7ACD4853222860DE00442C55 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; - 9730F55A254AC78BC5361659 /* Pods-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.release.xcconfig"; path = "Pods/Target Support Files/Pods-NotificationService/Pods-NotificationService.release.xcconfig"; sourceTree = "<group>"; }; + 8254958F7FAFC2744F0BEFA2 /* libPods-defaults-Rocket.Chat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-Rocket.Chat.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 88665EE8B2B6F34580EEF27D /* libPods-defaults-RocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-RocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 9747EA64783AAAD1486EC3CC /* libPods-defaults-ShareRocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-ShareRocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 977A37B323E7A8A7EC0B01EF /* Pods-defaults-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.debug.xcconfig"; path = "Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.debug.xcconfig"; sourceTree = "<group>"; }; B37C79D9BD0742CE936B6982 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + B9D2BCED708759575760AFDE /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.debug.xcconfig"; path = "Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.debug.xcconfig"; sourceTree = "<group>"; }; BA7E862283664608B3894E34 /* libWatermelonDB.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libWatermelonDB.a; sourceTree = "<group>"; }; - C2E54E960FF01DF65065578A /* Pods-defaults-ShareRocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-ShareRocketChatRN.release.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; - CD6349B2FB77351DFCD655CF /* Pods-RocketChatRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RocketChatRN.release.xcconfig"; path = "Pods/Target Support Files/Pods-RocketChatRN/Pods-RocketChatRN.release.xcconfig"; sourceTree = "<group>"; }; - E1E67FDDC7B11F12B06766A6 /* Pods-defaults-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-NotificationService.release.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService.release.xcconfig"; sourceTree = "<group>"; }; - FFD96B27BA4184219615DE18 /* libPods-defaults-RocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-RocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + EC5D50B36CB5F0E0126E19BE /* libPods-defaults-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -313,7 +297,7 @@ 7ACD4897222860DE00442C55 /* JavaScriptCore.framework in Frameworks */, 24A2AEF2383D44B586D31C01 /* libz.tbd in Frameworks */, DD2BA30A89E64F189C2C24AC /* libWatermelonDB.a in Frameworks */, - 66AF0CC8FE18A9B0C6B3A3CA /* libPods-defaults-RocketChatRN.a in Frameworks */, + 83F99820D542132F15E51371 /* libPods-defaults-RocketChatRN.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -321,9 +305,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1E55FDB32320675C0048D2F9 /* libWatermelonDB.a in Frameworks */, 1E25743422CBA2CF005A877F /* JavaScriptCore.framework in Frameworks */, - DC5529EC3B4695AC7319279F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */, + D62A2CEE91B92F16EAD2FA3F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -331,8 +314,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1E1C2F7E250FACB5005DCE7D /* libWatermelonDB.a in Frameworks */, - EDE8A8F63A3ADB93A6640F8E /* libPods-defaults-NotificationService.a in Frameworks */, + D85BF476A3215BD80F1C79E7 /* libPods-defaults-NotificationService.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -353,7 +335,7 @@ 7AAB3E3D257E6A6E00707CF6 /* JavaScriptCore.framework in Frameworks */, 7AAB3E3E257E6A6E00707CF6 /* libz.tbd in Frameworks */, 7AAB3E3F257E6A6E00707CF6 /* libWatermelonDB.a in Frameworks */, - 69E4354C5D935D5EE022A7E5 /* libPods-defaults-Rocket.Chat.a in Frameworks */, + 29B785412B69F334BD7E6314 /* libPods-defaults-Rocket.Chat.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -482,39 +464,25 @@ path = NotificationService; sourceTree = "<group>"; }; - 22CA7F59107E0C79C2506C7C /* Pods */ = { + 7AC2B09613AA7C3FEBAC9F57 /* Pods */ = { isa = PBXGroup; children = ( - 0383633C4523666C176CAA52 /* Pods-ShareRocketChatRN.debug.xcconfig */, - 037C33B0D9A54FB4CB670FB7 /* Pods-ShareRocketChatRN.release.xcconfig */, - 4F207203734B8F5868BBE28D /* Pods-NotificationService.debug.xcconfig */, - 9730F55A254AC78BC5361659 /* Pods-NotificationService.release.xcconfig */, - 3E39DC0E55DAF0C76229CDB1 /* Pods-RocketChatRN.debug.xcconfig */, - CD6349B2FB77351DFCD655CF /* Pods-RocketChatRN.release.xcconfig */, - 4046FBF676A7866DDD7F3D4D /* Pods-defaults-Rocket.Chat.debug.xcconfig */, - 2977818A2C0F18284F485E2B /* Pods-defaults-Rocket.Chat.release.xcconfig */, - 298C921C910A1A2FD60068AE /* Pods-defaults-RocketChatRN.debug.xcconfig */, - 655D972D9C9581ECA960A1A3 /* Pods-defaults-RocketChatRN.release.xcconfig */, - 761454CCD8F76AE5720EF9E8 /* Pods-defaults-NotificationService.debug.xcconfig */, - E1E67FDDC7B11F12B06766A6 /* Pods-defaults-NotificationService.release.xcconfig */, - 4AD2A9CF2BF6DA3C0B8292A5 /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */, - C2E54E960FF01DF65065578A /* Pods-defaults-ShareRocketChatRN.release.xcconfig */, + 977A37B323E7A8A7EC0B01EF /* Pods-defaults-NotificationService.debug.xcconfig */, + 12291EB8ADD6DC12373463FD /* Pods-defaults-NotificationService.release.xcconfig */, + 67366E177712BF459EE04D2F /* Pods-defaults-Rocket.Chat.debug.xcconfig */, + 1A28A51C191812B6DE1F460B /* Pods-defaults-Rocket.Chat.release.xcconfig */, + 3A8E0E87A40E71A91253A4B7 /* Pods-defaults-RocketChatRN.debug.xcconfig */, + 295C2358EF89141BF3F047D4 /* Pods-defaults-RocketChatRN.release.xcconfig */, + B9D2BCED708759575760AFDE /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */, + 1FD576942AB7B278424D7D91 /* Pods-defaults-ShareRocketChatRN.release.xcconfig */, ); name = Pods; - sourceTree = "<group>"; - }; - 7AAA749723043AD300F1ADE9 /* Products */ = { - isa = PBXGroup; - children = ( - 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */, - ); - name = Products; + path = Pods; sourceTree = "<group>"; }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */, ); name = Libraries; sourceTree = "<group>"; @@ -532,7 +500,7 @@ BB4B591B5FC44CD9986DB2A6 /* Frameworks */, AF5E16F0398347E6A80C8CBE /* Resources */, B8E79A681F3CCC69005B464F /* Recovered References */, - 22CA7F59107E0C79C2506C7C /* Pods */, + 7AC2B09613AA7C3FEBAC9F57 /* Pods */, ); indentWidth = 2; sourceTree = "<group>"; @@ -580,10 +548,10 @@ 7ACD4853222860DE00442C55 /* JavaScriptCore.framework */, B37C79D9BD0742CE936B6982 /* libc++.tbd */, 06BB44DD4855498082A744AD /* libz.tbd */, - 54CFE45F7A9BAAB898835DB0 /* libPods-defaults-Rocket.Chat.a */, - FFD96B27BA4184219615DE18 /* libPods-defaults-RocketChatRN.a */, - 2B2C0164CCC5BED03F5A257E /* libPods-defaults-NotificationService.a */, - 42EF13FCD0CA813CFABFE073 /* libPods-defaults-ShareRocketChatRN.a */, + EC5D50B36CB5F0E0126E19BE /* libPods-defaults-NotificationService.a */, + 8254958F7FAFC2744F0BEFA2 /* libPods-defaults-Rocket.Chat.a */, + 88665EE8B2B6F34580EEF27D /* libPods-defaults-RocketChatRN.a */, + 9747EA64783AAAD1486EC3CC /* libPods-defaults-ShareRocketChatRN.a */, ); name = Frameworks; sourceTree = "<group>"; @@ -595,17 +563,17 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RocketChatRN" */; buildPhases = ( - FB4AC4FF76ACF097F2431C74 /* [CP] Check Pods Manifest.lock */, + 5C2E3808524C9A6F5C6A9750 /* [CP] Check Pods Manifest.lock */, 7AA5C63E23E30D110005C4A7 /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - FD0EBB93B02BAD0637E4F286 /* [CP] Copy Pods Resources */, 1EC6ACF422CB9FC300A41C61 /* Embed App Extensions */, 1E1EA8082326CCE300E22452 /* ShellScript */, - 9558AC195A3506BB8472CE99 /* [CP] Embed Pods Frameworks */, 88055964DAAE45B1A4886C27 /* Upload source maps to Bugsnag */, + 65E8927EC9B95C6E8D689FDA /* [CP] Embed Pods Frameworks */, + 380AA10C91012B22C764EA14 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -622,12 +590,12 @@ isa = PBXNativeTarget; buildConfigurationList = 1EC6ACF322CB9FC300A41C61 /* Build configuration list for PBXNativeTarget "ShareRocketChatRN" */; buildPhases = ( - A68B7A0986AFB750F727793A /* [CP] Check Pods Manifest.lock */, + DC254D9A4F5CA2FB6530641A /* [CP] Check Pods Manifest.lock */, 1EC6ACAC22CB9FC300A41C61 /* Sources */, 1EC6ACAD22CB9FC300A41C61 /* Frameworks */, 1EC6ACAE22CB9FC300A41C61 /* Resources */, 1EFE4DC322CBF36300B766B7 /* ShellScript */, - 1984338E174B5F45674AD7A1 /* [CP] Copy Pods Resources */, + 970378E3115905D89C23B2A7 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -642,11 +610,11 @@ isa = PBXNativeTarget; buildConfigurationList = 1EFEB5A02493B6640072EDC0 /* Build configuration list for PBXNativeTarget "NotificationService" */; buildPhases = ( - 3C502B893433C21E52E88E8B /* [CP] Check Pods Manifest.lock */, + EBB49F0CFCF892BE1FD1886A /* [CP] Check Pods Manifest.lock */, 1EFEB5912493B6640072EDC0 /* Sources */, 1EFEB5922493B6640072EDC0 /* Frameworks */, 1EFEB5932493B6640072EDC0 /* Resources */, - 222BDC9959FFD7AAFFB578E7 /* [CP] Copy Pods Resources */, + E7EC11D0C238B71D7EA53598 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -661,7 +629,7 @@ isa = PBXNativeTarget; buildConfigurationList = 7AAB3E4F257E6A6E00707CF6 /* Build configuration list for PBXNativeTarget "Rocket.Chat" */; buildPhases = ( - 3995C2EE3AF3138E9AF58F1B /* [CP] Check Pods Manifest.lock */, + 66BA60EF0ADB5C1F3BD9CFFD /* [CP] Check Pods Manifest.lock */, 7AAB3E13257E6A6E00707CF6 /* Start Packager */, 7AAB3E14257E6A6E00707CF6 /* Sources */, 7AAB3E32257E6A6E00707CF6 /* Frameworks */, @@ -669,9 +637,9 @@ 7AAB3E46257E6A6E00707CF6 /* Bundle React Native code and images */, 7AAB3E48257E6A6E00707CF6 /* Embed App Extensions */, 7AAB3E4B257E6A6E00707CF6 /* ShellScript */, - ED0FD291560ADE19562D38A2 /* [CP] Embed Pods Frameworks */, - 6630EA9DDAD28E02D0764540 /* [CP] Copy Pods Resources */, 7A10288726B1D15200E47EF8 /* Upload source maps to Bugsnag */, + E581E5894D086FA8DC2E9F34 /* [CP] Embed Pods Frameworks */, + 3ECD9DAF59C3CE363BEE2BE3 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -747,12 +715,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 7AAA749723043AD300F1ADE9 /* Products */; - ProjectRef = 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* RocketChatRN */, @@ -763,16 +725,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libWatermelonDB.a; - remoteRef = 7AAA749A23043AD300F1ADE9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -833,60 +785,6 @@ shellPath = /bin/sh; shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; - 1984338E174B5F45674AD7A1 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", - "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 1E1EA8082326CCE300E22452 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -921,13 +819,13 @@ shellPath = /bin/sh; shellScript = "export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\"\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; - 222BDC9959FFD7AAFFB578E7 /* [CP] Copy Pods Resources */ = { + 380AA10C91012B22C764EA14 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh", + "${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-resources.sh", "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", @@ -972,54 +870,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 3995C2EE3AF3138E9AF58F1B /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-defaults-Rocket.Chat-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 3C502B893433C21E52E88E8B /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-defaults-NotificationService-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 6630EA9DDAD28E02D0764540 /* [CP] Copy Pods Resources */ = { + 3ECD9DAF59C3CE363BEE2BE3 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1073,6 +927,74 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-resources.sh\"\n"; showEnvVarsInLog = 0; }; + 5C2E3808524C9A6F5C6A9750 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-defaults-RocketChatRN-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 65E8927EC9B95C6E8D689FDA /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh", + "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 66BA60EF0ADB5C1F3BD9CFFD /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-defaults-Rocket.Chat-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 7A10288726B1D15200E47EF8 /* Upload source maps to Bugsnag */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1172,101 +1094,13 @@ shellPath = /bin/sh; shellScript = "SOURCE_MAP=\"$TMPDIR/$(md5 -qs \"$CONFIGURATION_BUILD_DIR\")-main.jsbundle.map\" ../node_modules/@bugsnag/react-native/bugsnag-react-native-xcode.sh\n"; }; - 9558AC195A3506BB8472CE99 /* [CP] Embed Pods Frameworks */ = { + 970378E3115905D89C23B2A7 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh", - "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A68B7A0986AFB750F727793A /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-defaults-ShareRocketChatRN-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - ED0FD291560ADE19562D38A2 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh", - "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - FB4AC4FF76ACF097F2431C74 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-defaults-RocketChatRN-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - FD0EBB93B02BAD0637E4F286 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-resources.sh", + "${PODS_ROOT}/Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN-resources.sh", "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", @@ -1311,7 +1145,129 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-ShareRocketChatRN/Pods-defaults-ShareRocketChatRN-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + DC254D9A4F5CA2FB6530641A /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-defaults-ShareRocketChatRN-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + E581E5894D086FA8DC2E9F34 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh", + "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + E7EC11D0C238B71D7EA53598 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-defaults-NotificationService/Pods-defaults-NotificationService-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + EBB49F0CFCF892BE1FD1886A /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-defaults-NotificationService-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -1467,7 +1423,7 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 298C921C910A1A2FD60068AE /* Pods-defaults-RocketChatRN.debug.xcconfig */; + baseConfigurationReference = 3A8E0E87A40E71A91253A4B7 /* Pods-defaults-RocketChatRN.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APPLICATION_EXTENSION_API_ONLY = NO; @@ -1522,7 +1478,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 655D972D9C9581ECA960A1A3 /* Pods-defaults-RocketChatRN.release.xcconfig */; + baseConfigurationReference = 295C2358EF89141BF3F047D4 /* Pods-defaults-RocketChatRN.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APPLICATION_EXTENSION_API_ONLY = NO; @@ -1575,7 +1531,7 @@ }; 1EC6ACBC22CB9FC300A41C61 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4AD2A9CF2BF6DA3C0B8292A5 /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */; + baseConfigurationReference = B9D2BCED708759575760AFDE /* Pods-defaults-ShareRocketChatRN.debug.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ANALYZER_NONNULL = YES; @@ -1642,7 +1598,7 @@ }; 1EC6ACBD22CB9FC300A41C61 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2E54E960FF01DF65065578A /* Pods-defaults-ShareRocketChatRN.release.xcconfig */; + baseConfigurationReference = 1FD576942AB7B278424D7D91 /* Pods-defaults-ShareRocketChatRN.release.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ANALYZER_NONNULL = YES; @@ -1707,7 +1663,7 @@ }; 1EFEB59D2493B6640072EDC0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 761454CCD8F76AE5720EF9E8 /* Pods-defaults-NotificationService.debug.xcconfig */; + baseConfigurationReference = 977A37B323E7A8A7EC0B01EF /* Pods-defaults-NotificationService.debug.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -1726,7 +1682,7 @@ INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.20.0; + MARKETING_VERSION = 4.21.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService; @@ -1743,7 +1699,7 @@ }; 1EFEB59E2493B6640072EDC0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E1E67FDDC7B11F12B06766A6 /* Pods-defaults-NotificationService.release.xcconfig */; + baseConfigurationReference = 12291EB8ADD6DC12373463FD /* Pods-defaults-NotificationService.release.xcconfig */; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -1763,7 +1719,7 @@ INFOPLIST_FILE = NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 4.20.0; + MARKETING_VERSION = 4.21.0; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1778,7 +1734,7 @@ }; 7AAB3E50257E6A6E00707CF6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4046FBF676A7866DDD7F3D4D /* Pods-defaults-Rocket.Chat.debug.xcconfig */; + baseConfigurationReference = 67366E177712BF459EE04D2F /* Pods-defaults-Rocket.Chat.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APPLICATION_EXTENSION_API_ONLY = NO; @@ -1831,7 +1787,7 @@ }; 7AAB3E51257E6A6E00707CF6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2977818A2C0F18284F485E2B /* Pods-defaults-Rocket.Chat.release.xcconfig */; + baseConfigurationReference = 1A28A51C191812B6DE1F460B /* Pods-defaults-Rocket.Chat.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; APPLICATION_EXTENSION_API_ONLY = NO; diff --git a/ios/RocketChatRN/Info.plist b/ios/RocketChatRN/Info.plist index 4c7ca4e19..fa56e9b07 100644 --- a/ios/RocketChatRN/Info.plist +++ b/ios/RocketChatRN/Info.plist @@ -26,7 +26,7 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>4.20.0</string> + <string>4.21.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleURLTypes</key> diff --git a/ios/ShareRocketChatRN/Info.plist b/ios/ShareRocketChatRN/Info.plist index 84bc33705..a0e5d8826 100644 --- a/ios/ShareRocketChatRN/Info.plist +++ b/ios/ShareRocketChatRN/Info.plist @@ -26,7 +26,7 @@ <key>CFBundlePackageType</key> <string>XPC!</string> <key>CFBundleShortVersionString</key> - <string>4.20.0</string> + <string>4.21.0</string> <key>CFBundleVersion</key> <string>1</string> <key>KeychainGroup</key> diff --git a/package.json b/package.json index 1d4a2ac1c..fbc64341a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket-chat-reactnative", - "version": "4.20.0", + "version": "4.21.0", "private": true, "scripts": { "start": "react-native start", @@ -29,7 +29,7 @@ "dependencies": { "@bugsnag/react-native": "^7.10.5", "@codler/react-native-keyboard-aware-scroll-view": "^1.0.1", - "@nozbe/watermelondb": "0.19.0", + "@nozbe/watermelondb": "0.23.0", "@react-native-community/art": "^1.2.0", "@react-native-community/async-storage": "1.12.1", "@react-native-community/blur": "^3.6.0", @@ -47,24 +47,25 @@ "@react-navigation/drawer": "5.12.5", "@react-navigation/native": "5.9.4", "@react-navigation/stack": "5.14.5", + "@rocket.chat/message-parser": "0.30.0", "@rocket.chat/react-native-fast-image": "^8.2.0", "@rocket.chat/sdk": "RocketChat/Rocket.Chat.js.SDK#mobile", "@rocket.chat/ui-kit": "0.13.0", + "@types/url-parse": "^1.4.4", "bytebuffer": "^5.0.1", "color2k": "1.2.4", "commonmark": "git+https://github.com/RocketChat/commonmark.js.git", "commonmark-react-renderer": "git+https://github.com/RocketChat/commonmark-react-renderer.git", "dequal": "^2.0.2", "ejson": "2.2.1", - "eslint-config-airbnb": "^18.1.0", - "expo-apple-authentication": "^2.2.1", - "expo-av": "8.2.1", - "expo-file-system": "9.0.1", - "expo-haptics": "8.2.1", - "expo-keep-awake": "8.2.1", - "expo-local-authentication": "9.2.0", - "expo-video-thumbnails": "5.1.0", - "expo-web-browser": "8.3.1", + "expo-apple-authentication": "3.2.1", + "expo-av": "9.2.3", + "expo-file-system": "11.1.3", + "expo-haptics": "10.1.0", + "expo-keep-awake": "9.2.0", + "expo-local-authentication": "11.1.1", + "expo-video-thumbnails": "5.2.1", + "expo-web-browser": "9.2.0", "hoist-non-react-statics": "3.3.2", "i18n-js": "3.8.0", "js-base64": "3.6.1", @@ -104,7 +105,7 @@ "react-native-popover-view": "4.0.1", "react-native-progress": "4.1.2", "react-native-prompt-android": "^1.1.0", - "react-native-reanimated": "1.9.0", + "react-native-reanimated": "2.2.2", "react-native-restart": "0.0.22", "react-native-safe-area-context": "3.2.0", "react-native-screens": "2.9.0", @@ -113,7 +114,7 @@ "react-native-simple-crypto": "RocketChat/react-native-simple-crypto#0.5.0", "react-native-slowlog": "^1.0.2", "react-native-ui-lib": "RocketChat/react-native-ui-lib#minor-improvements", - "react-native-unimodules": "0.10.1", + "react-native-unimodules": "^0.14.8", "react-native-vector-icons": "8.1.0", "react-native-webview": "10.3.2", "react-redux": "7.2.4", diff --git a/patches/@nozbe+watermelondb+0.19.0.patch b/patches/@nozbe+watermelondb+0.23.0.patch similarity index 61% rename from patches/@nozbe+watermelondb+0.19.0.patch rename to patches/@nozbe+watermelondb+0.23.0.patch index 5398cc067..da8f8509c 100644 --- a/patches/@nozbe+watermelondb+0.19.0.patch +++ b/patches/@nozbe+watermelondb+0.23.0.patch @@ -1,9 +1,32 @@ +diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt +index 802f137..cfcac91 100644 +--- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt ++++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt +@@ -8,7 +8,7 @@ import android.database.sqlite.SQLiteDatabase + import android.database.sqlite.SQLiteQuery + import java.io.File + +-class Database(private val name: String, private val context: Context) { ++public class Database(private val name: String, private val context: Context) { + + private val db: SQLiteDatabase by lazy { + SQLiteDatabase.openOrCreateDatabase( +@@ -44,7 +44,7 @@ class Database(private val name: String, private val context: Context) { + + fun delete(query: SQL, args: QueryArgs) = db.execSQL(query, args) + +- fun rawQuery(sql: SQL, args: QueryArgs = emptyArray()): Cursor { ++ public fun rawQuery(sql: SQL, args: QueryArgs = emptyArray()): Cursor { + // HACK: db.rawQuery only supports String args, and there's no clean way AFAIK to construct + // a query with arbitrary args (like with execSQL). However, we can misuse cursor factory + // to get the reference of a SQLiteQuery before it's executed diff --git a/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift b/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift -index 43f2c9c..e24a24f 100644 +index b4d7151..429e318 100644 --- a/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift +++ b/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift -@@ -1,14 +1,14 @@ +@@ -1,15 +1,15 @@ import Foundation + import SQLite3 -class Database { - typealias SQL = String @@ -22,7 +45,7 @@ index 43f2c9c..e24a24f 100644 self.path = path fmdb = FMDatabase(path: path) open() -@@ -53,7 +53,7 @@ class Database { +@@ -54,7 +54,7 @@ class Database { } } @@ -31,38 +54,3 @@ index 43f2c9c..e24a24f 100644 let resultSet = try fmdb.executeQuery(query, values: args) return AnyIterator { -diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt -index 2217222..5b2eb73 100644 ---- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt -+++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt -@@ -5,7 +5,7 @@ import android.database.Cursor - import android.database.sqlite.SQLiteDatabase - import java.io.File - --class Database(private val name: String, private val context: Context) { -+public class Database(private val name: String, private val context: Context) { - - private val db: SQLiteDatabase by lazy { - SQLiteDatabase.openOrCreateDatabase( -@@ -41,7 +41,7 @@ class Database(private val name: String, private val context: Context) { - - fun delete(query: SQL, args: QueryArgs) = db.execSQL(query, args) - -- fun rawQuery(query: SQL, args: RawQueryArgs = emptyArray()): Cursor = db.rawQuery(query, args) -+ public fun rawQuery(query: SQL, args: RawQueryArgs = emptyArray()): Cursor = db.rawQuery(query, args) - - fun count(query: SQL, args: RawQueryArgs = emptyArray()): Int = - rawQuery(query, args).use { -diff --git a/node_modules/@nozbe/watermelondb/decorators/date/index.js b/node_modules/@nozbe/watermelondb/decorators/date/index.js -index 65690af..ce71aa0 100644 ---- a/node_modules/@nozbe/watermelondb/decorators/date/index.js -+++ b/node_modules/@nozbe/watermelondb/decorators/date/index.js -@@ -44,7 +44,7 @@ var dateDecorator = (0, _makeDecorator.default)(function (columnName) { - var rawValue = date ? +new Date(date) : null; - - if (rawValue && date) { -- cache.set(rawValue, date); -+ cache.set(rawValue, new Date(date)); - } - - this.asModel._setRaw(columnName, rawValue); diff --git a/patches/expo-av+8.2.1.patch b/patches/expo-av+9.2.3.patch similarity index 100% rename from patches/expo-av+8.2.1.patch rename to patches/expo-av+9.2.3.patch diff --git a/patches/react-native-image-crop-picker+0.31.1.patch b/patches/react-native-image-crop-picker+0.31.1.patch deleted file mode 100644 index 167e876ea..000000000 --- a/patches/react-native-image-crop-picker+0.31.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/react-native-image-crop-picker/android/src/main/java/com/reactnative/ivpusic/imagepicker/PickerModule.java b/node_modules/react-native-image-crop-picker/android/src/main/java/com/reactnative/ivpusic/imagepicker/PickerModule.java -index 3500542..94e45b6 100644 ---- a/node_modules/react-native-image-crop-picker/android/src/main/java/com/reactnative/ivpusic/imagepicker/PickerModule.java -+++ b/node_modules/react-native-image-crop-picker/android/src/main/java/com/reactnative/ivpusic/imagepicker/PickerModule.java -@@ -584,6 +584,7 @@ class PickerModule extends ReactContextBaseJavaModule implements ActivityEventLi - image.putInt("height", options.outHeight); - image.putString("mime", options.outMimeType); - image.putInt("size", (int) new File(compressedImagePath).length()); -+ image.putString("filename", compressedImage.getName()); - image.putString("modificationDate", String.valueOf(modificationDate)); - - if (includeBase64) { diff --git a/patches/react-native-reanimated+2.2.2.patch b/patches/react-native-reanimated+2.2.2.patch new file mode 100644 index 000000000..3167e5a24 --- /dev/null +++ b/patches/react-native-reanimated+2.2.2.patch @@ -0,0 +1,3385 @@ +diff --git a/node_modules/react-native-reanimated/android/build.gradle b/node_modules/react-native-reanimated/android/build.gradle +index c1e9495..9a76784 100644 +--- a/node_modules/react-native-reanimated/android/build.gradle ++++ b/node_modules/react-native-reanimated/android/build.gradle +@@ -1,6 +1,5 @@ +-import groovy.json.JsonSlurper +-import java.util.regex.Matcher +-import java.util.regex.Pattern ++// https://github.com/software-mansion/react-native-reanimated/issues/2412#issuecomment-917958173 ++import groovy.json.JsonSlurper; + configurations.maybeCreate("default") + + def inputFile = new File(projectDir, '../../react-native/package.json') +@@ -9,83 +8,8 @@ def reactNativeVersion = json.version as String + def (major, minor, patch) = reactNativeVersion.tokenize('.') + + def engine = "jsc" +- +-abstract class replaceSoTask extends DefaultTask { +- public static String appName = ":app" +- public static String buildDir = "../../../android/app/build" +- +- @TaskAction +- def run() { +- for(def abiVersion in ["x86", "x86_64", "armeabi-v7a", "arm64-v8a"]) { +- ant.sequential { +- copy( +- tofile: "${buildDir}/intermediates/merged_native_libs/debug/out/lib/${abiVersion}/libfbjni.so", +- file: "../libSo/fbjni/jni/${abiVersion}/libfbjni.so", +- overwrite: true +- ) +- } +- } +- } +-} +- +-def getCurrentFlavor() { +- Gradle gradle = getGradle() +- String taskRequestName = gradle.getStartParameter().getTaskRequests().toString() +- Pattern pattern +- +- if(taskRequestName.contains("assemble")) { +- pattern = Pattern.compile("assemble(\\w+)(Release|Debug)") +- } +- else { +- pattern = Pattern.compile("generate(\\w+)(Release|Debug)") +- } +- Matcher matcher = pattern.matcher(taskRequestName) +- +- if(matcher.find()) { +- return matcher.group(1).toLowerCase() +- } +- return "" ++if (project(':app').ext.react.enableHermes) { ++ engine = "hermes" + } + +-def replaceSoTaskDebug +-def replaceSoTaskRelease +-if(Integer.parseInt(minor) < 65) { +- tasks.register("replaceSoTaskDebug", replaceSoTask) +- tasks.register("replaceSoTaskRelease", replaceSoTask) +- replaceSoTaskDebug = project.getTasks().getByPath(":react-native-reanimated:replaceSoTaskDebug") +- replaceSoTaskRelease = project.getTasks().getByPath(":react-native-reanimated:replaceSoTaskRelease") +-} +- +-rootProject.getSubprojects().forEach({project -> +- if (project.plugins.hasPlugin("com.android.application")) { +- if(project.ext.react.enableHermes) { +- engine = "hermes" +- } +- +- if(project.getProperties().get("android") && Integer.parseInt(minor) < 65) { +- def projectProperties = project.getProperties() +- if(!projectProperties.get("reanimated") +- || (projectProperties.get("reanimated") && projectProperties.get("reanimated").get("enablePackagingOptions")) +- ) { +- def flavorString = getCurrentFlavor() +- replaceSoTask.appName = project.getProperties().path +- replaceSoTask.buildDir = project.getProperties().buildDir +- def appName = project.getProperties().path +- +- replaceSoTaskDebug.dependsOn( +- project.getTasks().getByPath("${appName}:merge${flavorString}DebugNativeLibs"), +- project.getTasks().getByPath("${appName}:strip${flavorString}DebugDebugSymbols") +- ) +- project.getTasks().getByPath("${appName}:package${flavorString}Debug").dependsOn(replaceSoTaskDebug) +- +- replaceSoTaskRelease.dependsOn( +- project.getTasks().getByPath("${appName}:merge${flavorString}ReleaseNativeLibs"), +- project.getTasks().getByPath("${appName}:strip${flavorString}ReleaseDebugSymbols") +- ) +- project.getTasks().getByPath("${appName}:package${flavorString}Release").dependsOn(replaceSoTaskRelease) +- } +- } +- } +-}) +- + artifacts.add("default", file("react-native-reanimated-${minor}-${engine}.aar")) +\ No newline at end of file +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/0674ce792918c850f6599f93a58c111b.bin b/node_modules/react-native-reanimated/android/build/.transforms/0674ce792918c850f6599f93a58c111b.bin +new file mode 100644 +index 0000000..214ecf5 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/0674ce792918c850f6599f93a58c111b.bin +@@ -0,0 +1 @@ ++o/jetified-react-native-reanimated-64-hermes-api.jar +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/0674ce792918c850f6599f93a58c111b/jetified-react-native-reanimated-64-hermes-api.jar b/node_modules/react-native-reanimated/android/build/.transforms/0674ce792918c850f6599f93a58c111b/jetified-react-native-reanimated-64-hermes-api.jar +new file mode 100644 +index 0000000..a362ca2 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/0674ce792918c850f6599f93a58c111b/jetified-react-native-reanimated-64-hermes-api.jar differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/0e49fb8d0588979b43d04c7c3fdd99ce.bin b/node_modules/react-native-reanimated/android/build/.transforms/0e49fb8d0588979b43d04c7c3fdd99ce.bin +new file mode 100644 +index 0000000..c626d1b +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/0e49fb8d0588979b43d04c7c3fdd99ce.bin +@@ -0,0 +1 @@ ++i/jars/classes.jar +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/15f215e0173913a35544c1270cd76d27.bin b/node_modules/react-native-reanimated/android/build/.transforms/15f215e0173913a35544c1270cd76d27.bin +new file mode 100644 +index 0000000..fcbf8d4 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/15f215e0173913a35544c1270cd76d27.bin +@@ -0,0 +1 @@ ++i/AndroidManifest.xml +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3122bd1de52d19dd628e62e030135c7e.bin b/node_modules/react-native-reanimated/android/build/.transforms/3122bd1de52d19dd628e62e030135c7e.bin +new file mode 100644 +index 0000000..63dace7 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/3122bd1de52d19dd628e62e030135c7e.bin +@@ -0,0 +1 @@ ++i/META-INF/com/android/build/gradle/aar-metadata.properties +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/32ec7705dc5a057bb6d3ba87670adf26.bin b/node_modules/react-native-reanimated/android/build/.transforms/32ec7705dc5a057bb6d3ba87670adf26.bin +new file mode 100644 +index 0000000..575535e +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/32ec7705dc5a057bb6d3ba87670adf26.bin +@@ -0,0 +1 @@ ++o/jetified-react-native-reanimated-64-hermes-runtime.jar +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/32ec7705dc5a057bb6d3ba87670adf26/jetified-react-native-reanimated-64-hermes-runtime.jar b/node_modules/react-native-reanimated/android/build/.transforms/32ec7705dc5a057bb6d3ba87670adf26/jetified-react-native-reanimated-64-hermes-runtime.jar +new file mode 100644 +index 0000000..1112558 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/32ec7705dc5a057bb6d3ba87670adf26/jetified-react-native-reanimated-64-hermes-runtime.jar differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f.bin b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f.bin +new file mode 100644 +index 0000000..d5e9196 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f.bin +@@ -0,0 +1 @@ ++o/jetified-react-native-reanimated-64-hermes +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/AndroidManifest.xml b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/AndroidManifest.xml +new file mode 100644 +index 0000000..462b587 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/AndroidManifest.xml +@@ -0,0 +1,9 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<manifest xmlns:android="http://schemas.android.com/apk/res/android" ++ package="com.swmansion.reanimated" > ++ ++ <uses-sdk ++ android:minSdkVersion="16" ++ android:targetSdkVersion="30" /> ++ ++</manifest> +\ No newline at end of file +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/META-INF/com/android/build/gradle/aar-metadata.properties b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/META-INF/com/android/build/gradle/aar-metadata.properties +new file mode 100644 +index 0000000..d8560bd +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/META-INF/com/android/build/gradle/aar-metadata.properties +@@ -0,0 +1,2 @@ ++aarFormatVersion=1.0 ++aarMetadataVersion=1.0 +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/R.txt b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/R.txt +new file mode 100644 +index 0000000..b6c4867 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/R.txt +@@ -0,0 +1,1799 @@ ++int anim abc_fade_in 0x0 ++int anim abc_fade_out 0x0 ++int anim abc_grow_fade_in_from_bottom 0x0 ++int anim abc_popup_enter 0x0 ++int anim abc_popup_exit 0x0 ++int anim abc_shrink_fade_out_from_bottom 0x0 ++int anim abc_slide_in_bottom 0x0 ++int anim abc_slide_in_top 0x0 ++int anim abc_slide_out_bottom 0x0 ++int anim abc_slide_out_top 0x0 ++int anim abc_tooltip_enter 0x0 ++int anim abc_tooltip_exit 0x0 ++int anim catalyst_fade_in 0x0 ++int anim catalyst_fade_out 0x0 ++int anim catalyst_push_up_in 0x0 ++int anim catalyst_push_up_out 0x0 ++int anim catalyst_slide_down 0x0 ++int anim catalyst_slide_up 0x0 ++int attr actionBarDivider 0x0 ++int attr actionBarItemBackground 0x0 ++int attr actionBarPopupTheme 0x0 ++int attr actionBarSize 0x0 ++int attr actionBarSplitStyle 0x0 ++int attr actionBarStyle 0x0 ++int attr actionBarTabBarStyle 0x0 ++int attr actionBarTabStyle 0x0 ++int attr actionBarTabTextStyle 0x0 ++int attr actionBarTheme 0x0 ++int attr actionBarWidgetTheme 0x0 ++int attr actionButtonStyle 0x0 ++int attr actionDropDownStyle 0x0 ++int attr actionLayout 0x0 ++int attr actionMenuTextAppearance 0x0 ++int attr actionMenuTextColor 0x0 ++int attr actionModeBackground 0x0 ++int attr actionModeCloseButtonStyle 0x0 ++int attr actionModeCloseDrawable 0x0 ++int attr actionModeCopyDrawable 0x0 ++int attr actionModeCutDrawable 0x0 ++int attr actionModeFindDrawable 0x0 ++int attr actionModePasteDrawable 0x0 ++int attr actionModePopupWindowStyle 0x0 ++int attr actionModeSelectAllDrawable 0x0 ++int attr actionModeShareDrawable 0x0 ++int attr actionModeSplitBackground 0x0 ++int attr actionModeStyle 0x0 ++int attr actionModeWebSearchDrawable 0x0 ++int attr actionOverflowButtonStyle 0x0 ++int attr actionOverflowMenuStyle 0x0 ++int attr actionProviderClass 0x0 ++int attr actionViewClass 0x0 ++int attr activityChooserViewStyle 0x0 ++int attr actualImageResource 0x0 ++int attr actualImageScaleType 0x0 ++int attr actualImageUri 0x0 ++int attr alertDialogButtonGroupStyle 0x0 ++int attr alertDialogCenterButtons 0x0 ++int attr alertDialogStyle 0x0 ++int attr alertDialogTheme 0x0 ++int attr allowStacking 0x0 ++int attr alpha 0x0 ++int attr alphabeticModifiers 0x0 ++int attr arrowHeadLength 0x0 ++int attr arrowShaftLength 0x0 ++int attr autoCompleteTextViewStyle 0x0 ++int attr autoSizeMaxTextSize 0x0 ++int attr autoSizeMinTextSize 0x0 ++int attr autoSizePresetSizes 0x0 ++int attr autoSizeStepGranularity 0x0 ++int attr autoSizeTextType 0x0 ++int attr background 0x0 ++int attr backgroundImage 0x0 ++int attr backgroundSplit 0x0 ++int attr backgroundStacked 0x0 ++int attr backgroundTint 0x0 ++int attr backgroundTintMode 0x0 ++int attr barLength 0x0 ++int attr borderlessButtonStyle 0x0 ++int attr buttonBarButtonStyle 0x0 ++int attr buttonBarNegativeButtonStyle 0x0 ++int attr buttonBarNeutralButtonStyle 0x0 ++int attr buttonBarPositiveButtonStyle 0x0 ++int attr buttonBarStyle 0x0 ++int attr buttonGravity 0x0 ++int attr buttonIconDimen 0x0 ++int attr buttonPanelSideLayout 0x0 ++int attr buttonStyle 0x0 ++int attr buttonStyleSmall 0x0 ++int attr buttonTint 0x0 ++int attr buttonTintMode 0x0 ++int attr checkboxStyle 0x0 ++int attr checkedTextViewStyle 0x0 ++int attr closeIcon 0x0 ++int attr closeItemLayout 0x0 ++int attr collapseContentDescription 0x0 ++int attr collapseIcon 0x0 ++int attr color 0x0 ++int attr colorAccent 0x0 ++int attr colorBackgroundFloating 0x0 ++int attr colorButtonNormal 0x0 ++int attr colorControlActivated 0x0 ++int attr colorControlHighlight 0x0 ++int attr colorControlNormal 0x0 ++int attr colorError 0x0 ++int attr colorPrimary 0x0 ++int attr colorPrimaryDark 0x0 ++int attr colorSwitchThumbNormal 0x0 ++int attr commitIcon 0x0 ++int attr contentDescription 0x0 ++int attr contentInsetEnd 0x0 ++int attr contentInsetEndWithActions 0x0 ++int attr contentInsetLeft 0x0 ++int attr contentInsetRight 0x0 ++int attr contentInsetStart 0x0 ++int attr contentInsetStartWithNavigation 0x0 ++int attr controlBackground 0x0 ++int attr coordinatorLayoutStyle 0x0 ++int attr customNavigationLayout 0x0 ++int attr defaultQueryHint 0x0 ++int attr dialogCornerRadius 0x0 ++int attr dialogPreferredPadding 0x0 ++int attr dialogTheme 0x0 ++int attr displayOptions 0x0 ++int attr divider 0x0 ++int attr dividerHorizontal 0x0 ++int attr dividerPadding 0x0 ++int attr dividerVertical 0x0 ++int attr drawableSize 0x0 ++int attr drawerArrowStyle 0x0 ++int attr dropDownListViewStyle 0x0 ++int attr dropdownListPreferredItemHeight 0x0 ++int attr editTextBackground 0x0 ++int attr editTextColor 0x0 ++int attr editTextStyle 0x0 ++int attr elevation 0x0 ++int attr expandActivityOverflowButtonDrawable 0x0 ++int attr fadeDuration 0x0 ++int attr failureImage 0x0 ++int attr failureImageScaleType 0x0 ++int attr firstBaselineToTopHeight 0x0 ++int attr font 0x0 ++int attr fontFamily 0x0 ++int attr fontProviderAuthority 0x0 ++int attr fontProviderCerts 0x0 ++int attr fontProviderFetchStrategy 0x0 ++int attr fontProviderFetchTimeout 0x0 ++int attr fontProviderPackage 0x0 ++int attr fontProviderQuery 0x0 ++int attr fontStyle 0x0 ++int attr fontVariationSettings 0x0 ++int attr fontWeight 0x0 ++int attr gapBetweenBars 0x0 ++int attr goIcon 0x0 ++int attr height 0x0 ++int attr hideOnContentScroll 0x0 ++int attr homeAsUpIndicator 0x0 ++int attr homeLayout 0x0 ++int attr icon 0x0 ++int attr iconTint 0x0 ++int attr iconTintMode 0x0 ++int attr iconifiedByDefault 0x0 ++int attr imageButtonStyle 0x0 ++int attr indeterminateProgressStyle 0x0 ++int attr initialActivityCount 0x0 ++int attr isLightTheme 0x0 ++int attr itemPadding 0x0 ++int attr keylines 0x0 ++int attr lastBaselineToBottomHeight 0x0 ++int attr layout 0x0 ++int attr layout_anchor 0x0 ++int attr layout_anchorGravity 0x0 ++int attr layout_behavior 0x0 ++int attr layout_dodgeInsetEdges 0x0 ++int attr layout_insetEdge 0x0 ++int attr layout_keyline 0x0 ++int attr lineHeight 0x0 ++int attr listChoiceBackgroundIndicator 0x0 ++int attr listDividerAlertDialog 0x0 ++int attr listItemLayout 0x0 ++int attr listLayout 0x0 ++int attr listMenuViewStyle 0x0 ++int attr listPopupWindowStyle 0x0 ++int attr listPreferredItemHeight 0x0 ++int attr listPreferredItemHeightLarge 0x0 ++int attr listPreferredItemHeightSmall 0x0 ++int attr listPreferredItemPaddingLeft 0x0 ++int attr listPreferredItemPaddingRight 0x0 ++int attr logo 0x0 ++int attr logoDescription 0x0 ++int attr maxButtonHeight 0x0 ++int attr measureWithLargestChild 0x0 ++int attr multiChoiceItemLayout 0x0 ++int attr navigationContentDescription 0x0 ++int attr navigationIcon 0x0 ++int attr navigationMode 0x0 ++int attr numericModifiers 0x0 ++int attr overlapAnchor 0x0 ++int attr overlayImage 0x0 ++int attr paddingBottomNoButtons 0x0 ++int attr paddingEnd 0x0 ++int attr paddingStart 0x0 ++int attr paddingTopNoTitle 0x0 ++int attr panelBackground 0x0 ++int attr panelMenuListTheme 0x0 ++int attr panelMenuListWidth 0x0 ++int attr placeholderImage 0x0 ++int attr placeholderImageScaleType 0x0 ++int attr popupMenuStyle 0x0 ++int attr popupTheme 0x0 ++int attr popupWindowStyle 0x0 ++int attr preserveIconSpacing 0x0 ++int attr pressedStateOverlayImage 0x0 ++int attr progressBarAutoRotateInterval 0x0 ++int attr progressBarImage 0x0 ++int attr progressBarImageScaleType 0x0 ++int attr progressBarPadding 0x0 ++int attr progressBarStyle 0x0 ++int attr queryBackground 0x0 ++int attr queryHint 0x0 ++int attr radioButtonStyle 0x0 ++int attr ratingBarStyle 0x0 ++int attr ratingBarStyleIndicator 0x0 ++int attr ratingBarStyleSmall 0x0 ++int attr retryImage 0x0 ++int attr retryImageScaleType 0x0 ++int attr roundAsCircle 0x0 ++int attr roundBottomEnd 0x0 ++int attr roundBottomLeft 0x0 ++int attr roundBottomRight 0x0 ++int attr roundBottomStart 0x0 ++int attr roundTopEnd 0x0 ++int attr roundTopLeft 0x0 ++int attr roundTopRight 0x0 ++int attr roundTopStart 0x0 ++int attr roundWithOverlayColor 0x0 ++int attr roundedCornerRadius 0x0 ++int attr roundingBorderColor 0x0 ++int attr roundingBorderPadding 0x0 ++int attr roundingBorderWidth 0x0 ++int attr searchHintIcon 0x0 ++int attr searchIcon 0x0 ++int attr searchViewStyle 0x0 ++int attr seekBarStyle 0x0 ++int attr selectableItemBackground 0x0 ++int attr selectableItemBackgroundBorderless 0x0 ++int attr showAsAction 0x0 ++int attr showDividers 0x0 ++int attr showText 0x0 ++int attr showTitle 0x0 ++int attr singleChoiceItemLayout 0x0 ++int attr spinBars 0x0 ++int attr spinnerDropDownItemStyle 0x0 ++int attr spinnerStyle 0x0 ++int attr splitTrack 0x0 ++int attr srcCompat 0x0 ++int attr state_above_anchor 0x0 ++int attr statusBarBackground 0x0 ++int attr subMenuArrow 0x0 ++int attr submitBackground 0x0 ++int attr subtitle 0x0 ++int attr subtitleTextAppearance 0x0 ++int attr subtitleTextColor 0x0 ++int attr subtitleTextStyle 0x0 ++int attr suggestionRowLayout 0x0 ++int attr switchMinWidth 0x0 ++int attr switchPadding 0x0 ++int attr switchStyle 0x0 ++int attr switchTextAppearance 0x0 ++int attr textAllCaps 0x0 ++int attr textAppearanceLargePopupMenu 0x0 ++int attr textAppearanceListItem 0x0 ++int attr textAppearanceListItemSecondary 0x0 ++int attr textAppearanceListItemSmall 0x0 ++int attr textAppearancePopupMenuHeader 0x0 ++int attr textAppearanceSearchResultSubtitle 0x0 ++int attr textAppearanceSearchResultTitle 0x0 ++int attr textAppearanceSmallPopupMenu 0x0 ++int attr textColorAlertDialogListItem 0x0 ++int attr textColorSearchUrl 0x0 ++int attr theme 0x0 ++int attr thickness 0x0 ++int attr thumbTextPadding 0x0 ++int attr thumbTint 0x0 ++int attr thumbTintMode 0x0 ++int attr tickMark 0x0 ++int attr tickMarkTint 0x0 ++int attr tickMarkTintMode 0x0 ++int attr tint 0x0 ++int attr tintMode 0x0 ++int attr title 0x0 ++int attr titleMargin 0x0 ++int attr titleMarginBottom 0x0 ++int attr titleMarginEnd 0x0 ++int attr titleMarginStart 0x0 ++int attr titleMarginTop 0x0 ++int attr titleMargins 0x0 ++int attr titleTextAppearance 0x0 ++int attr titleTextColor 0x0 ++int attr titleTextStyle 0x0 ++int attr toolbarNavigationButtonStyle 0x0 ++int attr toolbarStyle 0x0 ++int attr tooltipForegroundColor 0x0 ++int attr tooltipFrameBackground 0x0 ++int attr tooltipText 0x0 ++int attr track 0x0 ++int attr trackTint 0x0 ++int attr trackTintMode 0x0 ++int attr ttcIndex 0x0 ++int attr viewAspectRatio 0x0 ++int attr viewInflaterClass 0x0 ++int attr voiceIcon 0x0 ++int attr windowActionBar 0x0 ++int attr windowActionBarOverlay 0x0 ++int attr windowActionModeOverlay 0x0 ++int attr windowFixedHeightMajor 0x0 ++int attr windowFixedHeightMinor 0x0 ++int attr windowFixedWidthMajor 0x0 ++int attr windowFixedWidthMinor 0x0 ++int attr windowMinWidthMajor 0x0 ++int attr windowMinWidthMinor 0x0 ++int attr windowNoTitle 0x0 ++int bool abc_action_bar_embed_tabs 0x0 ++int bool abc_allow_stacked_button_bar 0x0 ++int bool abc_config_actionMenuItemAllCaps 0x0 ++int color abc_background_cache_hint_selector_material_dark 0x0 ++int color abc_background_cache_hint_selector_material_light 0x0 ++int color abc_btn_colored_borderless_text_material 0x0 ++int color abc_btn_colored_text_material 0x0 ++int color abc_color_highlight_material 0x0 ++int color abc_hint_foreground_material_dark 0x0 ++int color abc_hint_foreground_material_light 0x0 ++int color abc_input_method_navigation_guard 0x0 ++int color abc_primary_text_disable_only_material_dark 0x0 ++int color abc_primary_text_disable_only_material_light 0x0 ++int color abc_primary_text_material_dark 0x0 ++int color abc_primary_text_material_light 0x0 ++int color abc_search_url_text 0x0 ++int color abc_search_url_text_normal 0x0 ++int color abc_search_url_text_pressed 0x0 ++int color abc_search_url_text_selected 0x0 ++int color abc_secondary_text_material_dark 0x0 ++int color abc_secondary_text_material_light 0x0 ++int color abc_tint_btn_checkable 0x0 ++int color abc_tint_default 0x0 ++int color abc_tint_edittext 0x0 ++int color abc_tint_seek_thumb 0x0 ++int color abc_tint_spinner 0x0 ++int color abc_tint_switch_track 0x0 ++int color accent_material_dark 0x0 ++int color accent_material_light 0x0 ++int color background_floating_material_dark 0x0 ++int color background_floating_material_light 0x0 ++int color background_material_dark 0x0 ++int color background_material_light 0x0 ++int color bright_foreground_disabled_material_dark 0x0 ++int color bright_foreground_disabled_material_light 0x0 ++int color bright_foreground_inverse_material_dark 0x0 ++int color bright_foreground_inverse_material_light 0x0 ++int color bright_foreground_material_dark 0x0 ++int color bright_foreground_material_light 0x0 ++int color button_material_dark 0x0 ++int color button_material_light 0x0 ++int color catalyst_logbox_background 0x0 ++int color catalyst_redbox_background 0x0 ++int color dim_foreground_disabled_material_dark 0x0 ++int color dim_foreground_disabled_material_light 0x0 ++int color dim_foreground_material_dark 0x0 ++int color dim_foreground_material_light 0x0 ++int color error_color_material_dark 0x0 ++int color error_color_material_light 0x0 ++int color foreground_material_dark 0x0 ++int color foreground_material_light 0x0 ++int color highlighted_text_material_dark 0x0 ++int color highlighted_text_material_light 0x0 ++int color material_blue_grey_800 0x0 ++int color material_blue_grey_900 0x0 ++int color material_blue_grey_950 0x0 ++int color material_deep_teal_200 0x0 ++int color material_deep_teal_500 0x0 ++int color material_grey_100 0x0 ++int color material_grey_300 0x0 ++int color material_grey_50 0x0 ++int color material_grey_600 0x0 ++int color material_grey_800 0x0 ++int color material_grey_850 0x0 ++int color material_grey_900 0x0 ++int color notification_action_color_filter 0x0 ++int color notification_icon_bg_color 0x0 ++int color primary_dark_material_dark 0x0 ++int color primary_dark_material_light 0x0 ++int color primary_material_dark 0x0 ++int color primary_material_light 0x0 ++int color primary_text_default_material_dark 0x0 ++int color primary_text_default_material_light 0x0 ++int color primary_text_disabled_material_dark 0x0 ++int color primary_text_disabled_material_light 0x0 ++int color ripple_material_dark 0x0 ++int color ripple_material_light 0x0 ++int color secondary_text_default_material_dark 0x0 ++int color secondary_text_default_material_light 0x0 ++int color secondary_text_disabled_material_dark 0x0 ++int color secondary_text_disabled_material_light 0x0 ++int color switch_thumb_disabled_material_dark 0x0 ++int color switch_thumb_disabled_material_light 0x0 ++int color switch_thumb_material_dark 0x0 ++int color switch_thumb_material_light 0x0 ++int color switch_thumb_normal_material_dark 0x0 ++int color switch_thumb_normal_material_light 0x0 ++int color tooltip_background_dark 0x0 ++int color tooltip_background_light 0x0 ++int dimen abc_action_bar_content_inset_material 0x0 ++int dimen abc_action_bar_content_inset_with_nav 0x0 ++int dimen abc_action_bar_default_height_material 0x0 ++int dimen abc_action_bar_default_padding_end_material 0x0 ++int dimen abc_action_bar_default_padding_start_material 0x0 ++int dimen abc_action_bar_elevation_material 0x0 ++int dimen abc_action_bar_icon_vertical_padding_material 0x0 ++int dimen abc_action_bar_overflow_padding_end_material 0x0 ++int dimen abc_action_bar_overflow_padding_start_material 0x0 ++int dimen abc_action_bar_stacked_max_height 0x0 ++int dimen abc_action_bar_stacked_tab_max_width 0x0 ++int dimen abc_action_bar_subtitle_bottom_margin_material 0x0 ++int dimen abc_action_bar_subtitle_top_margin_material 0x0 ++int dimen abc_action_button_min_height_material 0x0 ++int dimen abc_action_button_min_width_material 0x0 ++int dimen abc_action_button_min_width_overflow_material 0x0 ++int dimen abc_alert_dialog_button_bar_height 0x0 ++int dimen abc_alert_dialog_button_dimen 0x0 ++int dimen abc_button_inset_horizontal_material 0x0 ++int dimen abc_button_inset_vertical_material 0x0 ++int dimen abc_button_padding_horizontal_material 0x0 ++int dimen abc_button_padding_vertical_material 0x0 ++int dimen abc_cascading_menus_min_smallest_width 0x0 ++int dimen abc_config_prefDialogWidth 0x0 ++int dimen abc_control_corner_material 0x0 ++int dimen abc_control_inset_material 0x0 ++int dimen abc_control_padding_material 0x0 ++int dimen abc_dialog_corner_radius_material 0x0 ++int dimen abc_dialog_fixed_height_major 0x0 ++int dimen abc_dialog_fixed_height_minor 0x0 ++int dimen abc_dialog_fixed_width_major 0x0 ++int dimen abc_dialog_fixed_width_minor 0x0 ++int dimen abc_dialog_list_padding_bottom_no_buttons 0x0 ++int dimen abc_dialog_list_padding_top_no_title 0x0 ++int dimen abc_dialog_min_width_major 0x0 ++int dimen abc_dialog_min_width_minor 0x0 ++int dimen abc_dialog_padding_material 0x0 ++int dimen abc_dialog_padding_top_material 0x0 ++int dimen abc_dialog_title_divider_material 0x0 ++int dimen abc_disabled_alpha_material_dark 0x0 ++int dimen abc_disabled_alpha_material_light 0x0 ++int dimen abc_dropdownitem_icon_width 0x0 ++int dimen abc_dropdownitem_text_padding_left 0x0 ++int dimen abc_dropdownitem_text_padding_right 0x0 ++int dimen abc_edit_text_inset_bottom_material 0x0 ++int dimen abc_edit_text_inset_horizontal_material 0x0 ++int dimen abc_edit_text_inset_top_material 0x0 ++int dimen abc_floating_window_z 0x0 ++int dimen abc_list_item_padding_horizontal_material 0x0 ++int dimen abc_panel_menu_list_width 0x0 ++int dimen abc_progress_bar_height_material 0x0 ++int dimen abc_search_view_preferred_height 0x0 ++int dimen abc_search_view_preferred_width 0x0 ++int dimen abc_seekbar_track_background_height_material 0x0 ++int dimen abc_seekbar_track_progress_height_material 0x0 ++int dimen abc_select_dialog_padding_start_material 0x0 ++int dimen abc_switch_padding 0x0 ++int dimen abc_text_size_body_1_material 0x0 ++int dimen abc_text_size_body_2_material 0x0 ++int dimen abc_text_size_button_material 0x0 ++int dimen abc_text_size_caption_material 0x0 ++int dimen abc_text_size_display_1_material 0x0 ++int dimen abc_text_size_display_2_material 0x0 ++int dimen abc_text_size_display_3_material 0x0 ++int dimen abc_text_size_display_4_material 0x0 ++int dimen abc_text_size_headline_material 0x0 ++int dimen abc_text_size_large_material 0x0 ++int dimen abc_text_size_medium_material 0x0 ++int dimen abc_text_size_menu_header_material 0x0 ++int dimen abc_text_size_menu_material 0x0 ++int dimen abc_text_size_small_material 0x0 ++int dimen abc_text_size_subhead_material 0x0 ++int dimen abc_text_size_subtitle_material_toolbar 0x0 ++int dimen abc_text_size_title_material 0x0 ++int dimen abc_text_size_title_material_toolbar 0x0 ++int dimen compat_button_inset_horizontal_material 0x0 ++int dimen compat_button_inset_vertical_material 0x0 ++int dimen compat_button_padding_horizontal_material 0x0 ++int dimen compat_button_padding_vertical_material 0x0 ++int dimen compat_control_corner_material 0x0 ++int dimen compat_notification_large_icon_max_height 0x0 ++int dimen compat_notification_large_icon_max_width 0x0 ++int dimen disabled_alpha_material_dark 0x0 ++int dimen disabled_alpha_material_light 0x0 ++int dimen highlight_alpha_material_colored 0x0 ++int dimen highlight_alpha_material_dark 0x0 ++int dimen highlight_alpha_material_light 0x0 ++int dimen hint_alpha_material_dark 0x0 ++int dimen hint_alpha_material_light 0x0 ++int dimen hint_pressed_alpha_material_dark 0x0 ++int dimen hint_pressed_alpha_material_light 0x0 ++int dimen notification_action_icon_size 0x0 ++int dimen notification_action_text_size 0x0 ++int dimen notification_big_circle_margin 0x0 ++int dimen notification_content_margin_start 0x0 ++int dimen notification_large_icon_height 0x0 ++int dimen notification_large_icon_width 0x0 ++int dimen notification_main_column_padding_top 0x0 ++int dimen notification_media_narrow_margin 0x0 ++int dimen notification_right_icon_size 0x0 ++int dimen notification_right_side_padding_top 0x0 ++int dimen notification_small_icon_background_padding 0x0 ++int dimen notification_small_icon_size_as_large 0x0 ++int dimen notification_subtext_size 0x0 ++int dimen notification_top_pad 0x0 ++int dimen notification_top_pad_large_text 0x0 ++int dimen tooltip_corner_radius 0x0 ++int dimen tooltip_horizontal_padding 0x0 ++int dimen tooltip_margin 0x0 ++int dimen tooltip_precise_anchor_extra_offset 0x0 ++int dimen tooltip_precise_anchor_threshold 0x0 ++int dimen tooltip_vertical_padding 0x0 ++int dimen tooltip_y_offset_non_touch 0x0 ++int dimen tooltip_y_offset_touch 0x0 ++int drawable abc_ab_share_pack_mtrl_alpha 0x0 ++int drawable abc_action_bar_item_background_material 0x0 ++int drawable abc_btn_borderless_material 0x0 ++int drawable abc_btn_check_material 0x0 ++int drawable abc_btn_check_to_on_mtrl_000 0x0 ++int drawable abc_btn_check_to_on_mtrl_015 0x0 ++int drawable abc_btn_colored_material 0x0 ++int drawable abc_btn_default_mtrl_shape 0x0 ++int drawable abc_btn_radio_material 0x0 ++int drawable abc_btn_radio_to_on_mtrl_000 0x0 ++int drawable abc_btn_radio_to_on_mtrl_015 0x0 ++int drawable abc_btn_switch_to_on_mtrl_00001 0x0 ++int drawable abc_btn_switch_to_on_mtrl_00012 0x0 ++int drawable abc_cab_background_internal_bg 0x0 ++int drawable abc_cab_background_top_material 0x0 ++int drawable abc_cab_background_top_mtrl_alpha 0x0 ++int drawable abc_control_background_material 0x0 ++int drawable abc_dialog_material_background 0x0 ++int drawable abc_edit_text_material 0x0 ++int drawable abc_ic_ab_back_material 0x0 ++int drawable abc_ic_arrow_drop_right_black_24dp 0x0 ++int drawable abc_ic_clear_material 0x0 ++int drawable abc_ic_commit_search_api_mtrl_alpha 0x0 ++int drawable abc_ic_go_search_api_material 0x0 ++int drawable abc_ic_menu_copy_mtrl_am_alpha 0x0 ++int drawable abc_ic_menu_cut_mtrl_alpha 0x0 ++int drawable abc_ic_menu_overflow_material 0x0 ++int drawable abc_ic_menu_paste_mtrl_am_alpha 0x0 ++int drawable abc_ic_menu_selectall_mtrl_alpha 0x0 ++int drawable abc_ic_menu_share_mtrl_alpha 0x0 ++int drawable abc_ic_search_api_material 0x0 ++int drawable abc_ic_star_black_16dp 0x0 ++int drawable abc_ic_star_black_36dp 0x0 ++int drawable abc_ic_star_black_48dp 0x0 ++int drawable abc_ic_star_half_black_16dp 0x0 ++int drawable abc_ic_star_half_black_36dp 0x0 ++int drawable abc_ic_star_half_black_48dp 0x0 ++int drawable abc_ic_voice_search_api_material 0x0 ++int drawable abc_item_background_holo_dark 0x0 ++int drawable abc_item_background_holo_light 0x0 ++int drawable abc_list_divider_material 0x0 ++int drawable abc_list_divider_mtrl_alpha 0x0 ++int drawable abc_list_focused_holo 0x0 ++int drawable abc_list_longpressed_holo 0x0 ++int drawable abc_list_pressed_holo_dark 0x0 ++int drawable abc_list_pressed_holo_light 0x0 ++int drawable abc_list_selector_background_transition_holo_dark 0x0 ++int drawable abc_list_selector_background_transition_holo_light 0x0 ++int drawable abc_list_selector_disabled_holo_dark 0x0 ++int drawable abc_list_selector_disabled_holo_light 0x0 ++int drawable abc_list_selector_holo_dark 0x0 ++int drawable abc_list_selector_holo_light 0x0 ++int drawable abc_menu_hardkey_panel_mtrl_mult 0x0 ++int drawable abc_popup_background_mtrl_mult 0x0 ++int drawable abc_ratingbar_indicator_material 0x0 ++int drawable abc_ratingbar_material 0x0 ++int drawable abc_ratingbar_small_material 0x0 ++int drawable abc_scrubber_control_off_mtrl_alpha 0x0 ++int drawable abc_scrubber_control_to_pressed_mtrl_000 0x0 ++int drawable abc_scrubber_control_to_pressed_mtrl_005 0x0 ++int drawable abc_scrubber_primary_mtrl_alpha 0x0 ++int drawable abc_scrubber_track_mtrl_alpha 0x0 ++int drawable abc_seekbar_thumb_material 0x0 ++int drawable abc_seekbar_tick_mark_material 0x0 ++int drawable abc_seekbar_track_material 0x0 ++int drawable abc_spinner_mtrl_am_alpha 0x0 ++int drawable abc_spinner_textfield_background_material 0x0 ++int drawable abc_switch_thumb_material 0x0 ++int drawable abc_switch_track_mtrl_alpha 0x0 ++int drawable abc_tab_indicator_material 0x0 ++int drawable abc_tab_indicator_mtrl_alpha 0x0 ++int drawable abc_text_cursor_material 0x0 ++int drawable abc_text_select_handle_left_mtrl_dark 0x0 ++int drawable abc_text_select_handle_left_mtrl_light 0x0 ++int drawable abc_text_select_handle_middle_mtrl_dark 0x0 ++int drawable abc_text_select_handle_middle_mtrl_light 0x0 ++int drawable abc_text_select_handle_right_mtrl_dark 0x0 ++int drawable abc_text_select_handle_right_mtrl_light 0x0 ++int drawable abc_textfield_activated_mtrl_alpha 0x0 ++int drawable abc_textfield_default_mtrl_alpha 0x0 ++int drawable abc_textfield_search_activated_mtrl_alpha 0x0 ++int drawable abc_textfield_search_default_mtrl_alpha 0x0 ++int drawable abc_textfield_search_material 0x0 ++int drawable abc_vector_test 0x0 ++int drawable notification_action_background 0x0 ++int drawable notification_bg 0x0 ++int drawable notification_bg_low 0x0 ++int drawable notification_bg_low_normal 0x0 ++int drawable notification_bg_low_pressed 0x0 ++int drawable notification_bg_normal 0x0 ++int drawable notification_bg_normal_pressed 0x0 ++int drawable notification_icon_background 0x0 ++int drawable notification_template_icon_bg 0x0 ++int drawable notification_template_icon_low_bg 0x0 ++int drawable notification_tile_bg 0x0 ++int drawable notify_panel_notification_icon_bg 0x0 ++int drawable redbox_top_border_background 0x0 ++int drawable tooltip_frame_dark 0x0 ++int drawable tooltip_frame_light 0x0 ++int id accessibility_actions 0x0 ++int id accessibility_hint 0x0 ++int id accessibility_label 0x0 ++int id accessibility_role 0x0 ++int id accessibility_state 0x0 ++int id accessibility_value 0x0 ++int id action_bar 0x0 ++int id action_bar_activity_content 0x0 ++int id action_bar_container 0x0 ++int id action_bar_root 0x0 ++int id action_bar_spinner 0x0 ++int id action_bar_subtitle 0x0 ++int id action_bar_title 0x0 ++int id action_container 0x0 ++int id action_context_bar 0x0 ++int id action_divider 0x0 ++int id action_image 0x0 ++int id action_menu_divider 0x0 ++int id action_menu_presenter 0x0 ++int id action_mode_bar 0x0 ++int id action_mode_bar_stub 0x0 ++int id action_mode_close_button 0x0 ++int id action_text 0x0 ++int id actions 0x0 ++int id activity_chooser_view_content 0x0 ++int id add 0x0 ++int id alertTitle 0x0 ++int id async 0x0 ++int id blocking 0x0 ++int id bottom 0x0 ++int id buttonPanel 0x0 ++int id catalyst_redbox_title 0x0 ++int id center 0x0 ++int id centerCrop 0x0 ++int id centerInside 0x0 ++int id checkbox 0x0 ++int id chronometer 0x0 ++int id content 0x0 ++int id contentPanel 0x0 ++int id custom 0x0 ++int id customPanel 0x0 ++int id decor_content_parent 0x0 ++int id default_activity_button 0x0 ++int id edit_query 0x0 ++int id end 0x0 ++int id expand_activities_button 0x0 ++int id expanded_menu 0x0 ++int id fitBottomStart 0x0 ++int id fitCenter 0x0 ++int id fitEnd 0x0 ++int id fitStart 0x0 ++int id fitXY 0x0 ++int id focusCrop 0x0 ++int id forever 0x0 ++int id fps_text 0x0 ++int id ghost_view 0x0 ++int id ghost_view_holder 0x0 ++int id group_divider 0x0 ++int id home 0x0 ++int id icon 0x0 ++int id icon_group 0x0 ++int id image 0x0 ++int id info 0x0 ++int id italic 0x0 ++int id left 0x0 ++int id line1 0x0 ++int id line3 0x0 ++int id listMode 0x0 ++int id list_item 0x0 ++int id message 0x0 ++int id multiply 0x0 ++int id none 0x0 ++int id normal 0x0 ++int id notification_background 0x0 ++int id notification_main_column 0x0 ++int id notification_main_column_container 0x0 ++int id parentPanel 0x0 ++int id parent_matrix 0x0 ++int id progress_circular 0x0 ++int id progress_horizontal 0x0 ++int id radio 0x0 ++int id react_test_id 0x0 ++int id right 0x0 ++int id right_icon 0x0 ++int id right_side 0x0 ++int id rn_frame_file 0x0 ++int id rn_frame_method 0x0 ++int id rn_redbox_dismiss_button 0x0 ++int id rn_redbox_line_separator 0x0 ++int id rn_redbox_loading_indicator 0x0 ++int id rn_redbox_reload_button 0x0 ++int id rn_redbox_report_button 0x0 ++int id rn_redbox_report_label 0x0 ++int id rn_redbox_stack 0x0 ++int id save_non_transition_alpha 0x0 ++int id save_overlay_view 0x0 ++int id screen 0x0 ++int id scrollIndicatorDown 0x0 ++int id scrollIndicatorUp 0x0 ++int id scrollView 0x0 ++int id search_badge 0x0 ++int id search_bar 0x0 ++int id search_button 0x0 ++int id search_close_btn 0x0 ++int id search_edit_frame 0x0 ++int id search_go_btn 0x0 ++int id search_mag_icon 0x0 ++int id search_plate 0x0 ++int id search_src_text 0x0 ++int id search_voice_btn 0x0 ++int id select_dialog_listview 0x0 ++int id shortcut 0x0 ++int id spacer 0x0 ++int id split_action_bar 0x0 ++int id src_atop 0x0 ++int id src_in 0x0 ++int id src_over 0x0 ++int id start 0x0 ++int id submenuarrow 0x0 ++int id submit_area 0x0 ++int id tabMode 0x0 ++int id tag_transition_group 0x0 ++int id tag_unhandled_key_event_manager 0x0 ++int id tag_unhandled_key_listeners 0x0 ++int id text 0x0 ++int id text2 0x0 ++int id textSpacerNoButtons 0x0 ++int id textSpacerNoTitle 0x0 ++int id time 0x0 ++int id title 0x0 ++int id titleDividerNoCustom 0x0 ++int id title_template 0x0 ++int id top 0x0 ++int id topPanel 0x0 ++int id transition_current_scene 0x0 ++int id transition_layout_save 0x0 ++int id transition_position 0x0 ++int id transition_scene_layoutid_cache 0x0 ++int id transition_transform 0x0 ++int id uniform 0x0 ++int id up 0x0 ++int id view_tag_instance_handle 0x0 ++int id view_tag_native_id 0x0 ++int id wrap_content 0x0 ++int integer abc_config_activityDefaultDur 0x0 ++int integer abc_config_activityShortDur 0x0 ++int integer cancel_button_image_alpha 0x0 ++int integer config_tooltipAnimTime 0x0 ++int integer react_native_dev_server_port 0x0 ++int integer react_native_inspector_proxy_port 0x0 ++int integer status_bar_notification_info_maxnum 0x0 ++int layout abc_action_bar_title_item 0x0 ++int layout abc_action_bar_up_container 0x0 ++int layout abc_action_menu_item_layout 0x0 ++int layout abc_action_menu_layout 0x0 ++int layout abc_action_mode_bar 0x0 ++int layout abc_action_mode_close_item_material 0x0 ++int layout abc_activity_chooser_view 0x0 ++int layout abc_activity_chooser_view_list_item 0x0 ++int layout abc_alert_dialog_button_bar_material 0x0 ++int layout abc_alert_dialog_material 0x0 ++int layout abc_alert_dialog_title_material 0x0 ++int layout abc_cascading_menu_item_layout 0x0 ++int layout abc_dialog_title_material 0x0 ++int layout abc_expanded_menu_layout 0x0 ++int layout abc_list_menu_item_checkbox 0x0 ++int layout abc_list_menu_item_icon 0x0 ++int layout abc_list_menu_item_layout 0x0 ++int layout abc_list_menu_item_radio 0x0 ++int layout abc_popup_menu_header_item_layout 0x0 ++int layout abc_popup_menu_item_layout 0x0 ++int layout abc_screen_content_include 0x0 ++int layout abc_screen_simple 0x0 ++int layout abc_screen_simple_overlay_action_mode 0x0 ++int layout abc_screen_toolbar 0x0 ++int layout abc_search_dropdown_item_icons_2line 0x0 ++int layout abc_search_view 0x0 ++int layout abc_select_dialog_material 0x0 ++int layout abc_tooltip 0x0 ++int layout dev_loading_view 0x0 ++int layout fps_view 0x0 ++int layout notification_action 0x0 ++int layout notification_action_tombstone 0x0 ++int layout notification_template_custom_big 0x0 ++int layout notification_template_icon_group 0x0 ++int layout notification_template_part_chronometer 0x0 ++int layout notification_template_part_time 0x0 ++int layout redbox_item_frame 0x0 ++int layout redbox_item_title 0x0 ++int layout redbox_view 0x0 ++int layout select_dialog_item_material 0x0 ++int layout select_dialog_multichoice_material 0x0 ++int layout select_dialog_singlechoice_material 0x0 ++int layout support_simple_spinner_dropdown_item 0x0 ++int string abc_action_bar_home_description 0x0 ++int string abc_action_bar_up_description 0x0 ++int string abc_action_menu_overflow_description 0x0 ++int string abc_action_mode_done 0x0 ++int string abc_activity_chooser_view_see_all 0x0 ++int string abc_activitychooserview_choose_application 0x0 ++int string abc_capital_off 0x0 ++int string abc_capital_on 0x0 ++int string abc_font_family_body_1_material 0x0 ++int string abc_font_family_body_2_material 0x0 ++int string abc_font_family_button_material 0x0 ++int string abc_font_family_caption_material 0x0 ++int string abc_font_family_display_1_material 0x0 ++int string abc_font_family_display_2_material 0x0 ++int string abc_font_family_display_3_material 0x0 ++int string abc_font_family_display_4_material 0x0 ++int string abc_font_family_headline_material 0x0 ++int string abc_font_family_menu_material 0x0 ++int string abc_font_family_subhead_material 0x0 ++int string abc_font_family_title_material 0x0 ++int string abc_menu_alt_shortcut_label 0x0 ++int string abc_menu_ctrl_shortcut_label 0x0 ++int string abc_menu_delete_shortcut_label 0x0 ++int string abc_menu_enter_shortcut_label 0x0 ++int string abc_menu_function_shortcut_label 0x0 ++int string abc_menu_meta_shortcut_label 0x0 ++int string abc_menu_shift_shortcut_label 0x0 ++int string abc_menu_space_shortcut_label 0x0 ++int string abc_menu_sym_shortcut_label 0x0 ++int string abc_prepend_shortcut_label 0x0 ++int string abc_search_hint 0x0 ++int string abc_searchview_description_clear 0x0 ++int string abc_searchview_description_query 0x0 ++int string abc_searchview_description_search 0x0 ++int string abc_searchview_description_submit 0x0 ++int string abc_searchview_description_voice 0x0 ++int string abc_shareactionprovider_share_with 0x0 ++int string abc_shareactionprovider_share_with_application 0x0 ++int string abc_toolbar_collapse_description 0x0 ++int string alert_description 0x0 ++int string button_description 0x0 ++int string catalyst_change_bundle_location 0x0 ++int string catalyst_copy_button 0x0 ++int string catalyst_debug 0x0 ++int string catalyst_debug_chrome 0x0 ++int string catalyst_debug_chrome_stop 0x0 ++int string catalyst_debug_connecting 0x0 ++int string catalyst_debug_error 0x0 ++int string catalyst_debug_open 0x0 ++int string catalyst_debug_stop 0x0 ++int string catalyst_devtools_open 0x0 ++int string catalyst_dismiss_button 0x0 ++int string catalyst_heap_capture 0x0 ++int string catalyst_hot_reloading 0x0 ++int string catalyst_hot_reloading_auto_disable 0x0 ++int string catalyst_hot_reloading_auto_enable 0x0 ++int string catalyst_hot_reloading_stop 0x0 ++int string catalyst_inspector 0x0 ++int string catalyst_loading_from_url 0x0 ++int string catalyst_open_flipper_error 0x0 ++int string catalyst_perf_monitor 0x0 ++int string catalyst_perf_monitor_stop 0x0 ++int string catalyst_reload 0x0 ++int string catalyst_reload_button 0x0 ++int string catalyst_reload_error 0x0 ++int string catalyst_report_button 0x0 ++int string catalyst_sample_profiler_disable 0x0 ++int string catalyst_sample_profiler_enable 0x0 ++int string catalyst_settings 0x0 ++int string catalyst_settings_title 0x0 ++int string combobox_description 0x0 ++int string header_description 0x0 ++int string image_description 0x0 ++int string imagebutton_description 0x0 ++int string link_description 0x0 ++int string menu_description 0x0 ++int string menubar_description 0x0 ++int string menuitem_description 0x0 ++int string progressbar_description 0x0 ++int string radiogroup_description 0x0 ++int string rn_tab_description 0x0 ++int string scrollbar_description 0x0 ++int string search_description 0x0 ++int string search_menu_title 0x0 ++int string spinbutton_description 0x0 ++int string state_busy_description 0x0 ++int string state_collapsed_description 0x0 ++int string state_expanded_description 0x0 ++int string state_mixed_description 0x0 ++int string state_off_description 0x0 ++int string state_on_description 0x0 ++int string status_bar_notification_info_overflow 0x0 ++int string summary_description 0x0 ++int string tablist_description 0x0 ++int string timer_description 0x0 ++int string toolbar_description 0x0 ++int style AlertDialog_AppCompat 0x0 ++int style AlertDialog_AppCompat_Light 0x0 ++int style Animation_AppCompat_Dialog 0x0 ++int style Animation_AppCompat_DropDownUp 0x0 ++int style Animation_AppCompat_Tooltip 0x0 ++int style Animation_Catalyst_LogBox 0x0 ++int style Animation_Catalyst_RedBox 0x0 ++int style Base_AlertDialog_AppCompat 0x0 ++int style Base_AlertDialog_AppCompat_Light 0x0 ++int style Base_Animation_AppCompat_Dialog 0x0 ++int style Base_Animation_AppCompat_DropDownUp 0x0 ++int style Base_Animation_AppCompat_Tooltip 0x0 ++int style Base_DialogWindowTitleBackground_AppCompat 0x0 ++int style Base_DialogWindowTitle_AppCompat 0x0 ++int style Base_TextAppearance_AppCompat 0x0 ++int style Base_TextAppearance_AppCompat_Body1 0x0 ++int style Base_TextAppearance_AppCompat_Body2 0x0 ++int style Base_TextAppearance_AppCompat_Button 0x0 ++int style Base_TextAppearance_AppCompat_Caption 0x0 ++int style Base_TextAppearance_AppCompat_Display1 0x0 ++int style Base_TextAppearance_AppCompat_Display2 0x0 ++int style Base_TextAppearance_AppCompat_Display3 0x0 ++int style Base_TextAppearance_AppCompat_Display4 0x0 ++int style Base_TextAppearance_AppCompat_Headline 0x0 ++int style Base_TextAppearance_AppCompat_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Large 0x0 ++int style Base_TextAppearance_AppCompat_Large_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x0 ++int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x0 ++int style Base_TextAppearance_AppCompat_Medium 0x0 ++int style Base_TextAppearance_AppCompat_Medium_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Menu 0x0 ++int style Base_TextAppearance_AppCompat_SearchResult 0x0 ++int style Base_TextAppearance_AppCompat_SearchResult_Subtitle 0x0 ++int style Base_TextAppearance_AppCompat_SearchResult_Title 0x0 ++int style Base_TextAppearance_AppCompat_Small 0x0 ++int style Base_TextAppearance_AppCompat_Small_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Subhead 0x0 ++int style Base_TextAppearance_AppCompat_Subhead_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Title 0x0 ++int style Base_TextAppearance_AppCompat_Title_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Tooltip 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionBar_Menu 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x0 ++int style Base_TextAppearance_AppCompat_Widget_ActionMode_Title 0x0 ++int style Base_TextAppearance_AppCompat_Widget_Button 0x0 ++int style Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored 0x0 ++int style Base_TextAppearance_AppCompat_Widget_Button_Colored 0x0 ++int style Base_TextAppearance_AppCompat_Widget_Button_Inverse 0x0 ++int style Base_TextAppearance_AppCompat_Widget_DropDownItem 0x0 ++int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Header 0x0 ++int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Large 0x0 ++int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Small 0x0 ++int style Base_TextAppearance_AppCompat_Widget_Switch 0x0 ++int style Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x0 ++int style Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x0 ++int style Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x0 ++int style Base_TextAppearance_Widget_AppCompat_Toolbar_Title 0x0 ++int style Base_ThemeOverlay_AppCompat 0x0 ++int style Base_ThemeOverlay_AppCompat_ActionBar 0x0 ++int style Base_ThemeOverlay_AppCompat_Dark 0x0 ++int style Base_ThemeOverlay_AppCompat_Dark_ActionBar 0x0 ++int style Base_ThemeOverlay_AppCompat_Dialog 0x0 ++int style Base_ThemeOverlay_AppCompat_Dialog_Alert 0x0 ++int style Base_ThemeOverlay_AppCompat_Light 0x0 ++int style Base_Theme_AppCompat 0x0 ++int style Base_Theme_AppCompat_CompactMenu 0x0 ++int style Base_Theme_AppCompat_Dialog 0x0 ++int style Base_Theme_AppCompat_DialogWhenLarge 0x0 ++int style Base_Theme_AppCompat_Dialog_Alert 0x0 ++int style Base_Theme_AppCompat_Dialog_FixedSize 0x0 ++int style Base_Theme_AppCompat_Dialog_MinWidth 0x0 ++int style Base_Theme_AppCompat_Light 0x0 ++int style Base_Theme_AppCompat_Light_DarkActionBar 0x0 ++int style Base_Theme_AppCompat_Light_Dialog 0x0 ++int style Base_Theme_AppCompat_Light_DialogWhenLarge 0x0 ++int style Base_Theme_AppCompat_Light_Dialog_Alert 0x0 ++int style Base_Theme_AppCompat_Light_Dialog_FixedSize 0x0 ++int style Base_Theme_AppCompat_Light_Dialog_MinWidth 0x0 ++int style Base_V21_ThemeOverlay_AppCompat_Dialog 0x0 ++int style Base_V21_Theme_AppCompat 0x0 ++int style Base_V21_Theme_AppCompat_Dialog 0x0 ++int style Base_V21_Theme_AppCompat_Light 0x0 ++int style Base_V21_Theme_AppCompat_Light_Dialog 0x0 ++int style Base_V22_Theme_AppCompat 0x0 ++int style Base_V22_Theme_AppCompat_Light 0x0 ++int style Base_V23_Theme_AppCompat 0x0 ++int style Base_V23_Theme_AppCompat_Light 0x0 ++int style Base_V26_Theme_AppCompat 0x0 ++int style Base_V26_Theme_AppCompat_Light 0x0 ++int style Base_V26_Widget_AppCompat_Toolbar 0x0 ++int style Base_V28_Theme_AppCompat 0x0 ++int style Base_V28_Theme_AppCompat_Light 0x0 ++int style Base_V7_ThemeOverlay_AppCompat_Dialog 0x0 ++int style Base_V7_Theme_AppCompat 0x0 ++int style Base_V7_Theme_AppCompat_Dialog 0x0 ++int style Base_V7_Theme_AppCompat_Light 0x0 ++int style Base_V7_Theme_AppCompat_Light_Dialog 0x0 ++int style Base_V7_Widget_AppCompat_AutoCompleteTextView 0x0 ++int style Base_V7_Widget_AppCompat_EditText 0x0 ++int style Base_V7_Widget_AppCompat_Toolbar 0x0 ++int style Base_Widget_AppCompat_ActionBar 0x0 ++int style Base_Widget_AppCompat_ActionBar_Solid 0x0 ++int style Base_Widget_AppCompat_ActionBar_TabBar 0x0 ++int style Base_Widget_AppCompat_ActionBar_TabText 0x0 ++int style Base_Widget_AppCompat_ActionBar_TabView 0x0 ++int style Base_Widget_AppCompat_ActionButton 0x0 ++int style Base_Widget_AppCompat_ActionButton_CloseMode 0x0 ++int style Base_Widget_AppCompat_ActionButton_Overflow 0x0 ++int style Base_Widget_AppCompat_ActionMode 0x0 ++int style Base_Widget_AppCompat_ActivityChooserView 0x0 ++int style Base_Widget_AppCompat_AutoCompleteTextView 0x0 ++int style Base_Widget_AppCompat_Button 0x0 ++int style Base_Widget_AppCompat_ButtonBar 0x0 ++int style Base_Widget_AppCompat_ButtonBar_AlertDialog 0x0 ++int style Base_Widget_AppCompat_Button_Borderless 0x0 ++int style Base_Widget_AppCompat_Button_Borderless_Colored 0x0 ++int style Base_Widget_AppCompat_Button_ButtonBar_AlertDialog 0x0 ++int style Base_Widget_AppCompat_Button_Colored 0x0 ++int style Base_Widget_AppCompat_Button_Small 0x0 ++int style Base_Widget_AppCompat_CompoundButton_CheckBox 0x0 ++int style Base_Widget_AppCompat_CompoundButton_RadioButton 0x0 ++int style Base_Widget_AppCompat_CompoundButton_Switch 0x0 ++int style Base_Widget_AppCompat_DrawerArrowToggle 0x0 ++int style Base_Widget_AppCompat_DrawerArrowToggle_Common 0x0 ++int style Base_Widget_AppCompat_DropDownItem_Spinner 0x0 ++int style Base_Widget_AppCompat_EditText 0x0 ++int style Base_Widget_AppCompat_ImageButton 0x0 ++int style Base_Widget_AppCompat_Light_ActionBar 0x0 ++int style Base_Widget_AppCompat_Light_ActionBar_Solid 0x0 ++int style Base_Widget_AppCompat_Light_ActionBar_TabBar 0x0 ++int style Base_Widget_AppCompat_Light_ActionBar_TabText 0x0 ++int style Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x0 ++int style Base_Widget_AppCompat_Light_ActionBar_TabView 0x0 ++int style Base_Widget_AppCompat_Light_PopupMenu 0x0 ++int style Base_Widget_AppCompat_Light_PopupMenu_Overflow 0x0 ++int style Base_Widget_AppCompat_ListMenuView 0x0 ++int style Base_Widget_AppCompat_ListPopupWindow 0x0 ++int style Base_Widget_AppCompat_ListView 0x0 ++int style Base_Widget_AppCompat_ListView_DropDown 0x0 ++int style Base_Widget_AppCompat_ListView_Menu 0x0 ++int style Base_Widget_AppCompat_PopupMenu 0x0 ++int style Base_Widget_AppCompat_PopupMenu_Overflow 0x0 ++int style Base_Widget_AppCompat_PopupWindow 0x0 ++int style Base_Widget_AppCompat_ProgressBar 0x0 ++int style Base_Widget_AppCompat_ProgressBar_Horizontal 0x0 ++int style Base_Widget_AppCompat_RatingBar 0x0 ++int style Base_Widget_AppCompat_RatingBar_Indicator 0x0 ++int style Base_Widget_AppCompat_RatingBar_Small 0x0 ++int style Base_Widget_AppCompat_SearchView 0x0 ++int style Base_Widget_AppCompat_SearchView_ActionBar 0x0 ++int style Base_Widget_AppCompat_SeekBar 0x0 ++int style Base_Widget_AppCompat_SeekBar_Discrete 0x0 ++int style Base_Widget_AppCompat_Spinner 0x0 ++int style Base_Widget_AppCompat_Spinner_Underlined 0x0 ++int style Base_Widget_AppCompat_TextView_SpinnerItem 0x0 ++int style Base_Widget_AppCompat_Toolbar 0x0 ++int style Base_Widget_AppCompat_Toolbar_Button_Navigation 0x0 ++int style CalendarDatePickerDialog 0x0 ++int style CalendarDatePickerStyle 0x0 ++int style DialogAnimationFade 0x0 ++int style DialogAnimationSlide 0x0 ++int style Platform_AppCompat 0x0 ++int style Platform_AppCompat_Light 0x0 ++int style Platform_ThemeOverlay_AppCompat 0x0 ++int style Platform_ThemeOverlay_AppCompat_Dark 0x0 ++int style Platform_ThemeOverlay_AppCompat_Light 0x0 ++int style Platform_V21_AppCompat 0x0 ++int style Platform_V21_AppCompat_Light 0x0 ++int style Platform_V25_AppCompat 0x0 ++int style Platform_V25_AppCompat_Light 0x0 ++int style Platform_Widget_AppCompat_Spinner 0x0 ++int style RtlOverlay_DialogWindowTitle_AppCompat 0x0 ++int style RtlOverlay_Widget_AppCompat_ActionBar_TitleItem 0x0 ++int style RtlOverlay_Widget_AppCompat_DialogTitle_Icon 0x0 ++int style RtlOverlay_Widget_AppCompat_PopupMenuItem 0x0 ++int style RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup 0x0 ++int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut 0x0 ++int style RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow 0x0 ++int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Text 0x0 ++int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Title 0x0 ++int style RtlOverlay_Widget_AppCompat_SearchView_MagIcon 0x0 ++int style RtlOverlay_Widget_AppCompat_Search_DropDown 0x0 ++int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 0x0 ++int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 0x0 ++int style RtlOverlay_Widget_AppCompat_Search_DropDown_Query 0x0 ++int style RtlOverlay_Widget_AppCompat_Search_DropDown_Text 0x0 ++int style RtlUnderlay_Widget_AppCompat_ActionButton 0x0 ++int style RtlUnderlay_Widget_AppCompat_ActionButton_Overflow 0x0 ++int style SpinnerDatePickerDialog 0x0 ++int style SpinnerDatePickerStyle 0x0 ++int style TextAppearance_AppCompat 0x0 ++int style TextAppearance_AppCompat_Body1 0x0 ++int style TextAppearance_AppCompat_Body2 0x0 ++int style TextAppearance_AppCompat_Button 0x0 ++int style TextAppearance_AppCompat_Caption 0x0 ++int style TextAppearance_AppCompat_Display1 0x0 ++int style TextAppearance_AppCompat_Display2 0x0 ++int style TextAppearance_AppCompat_Display3 0x0 ++int style TextAppearance_AppCompat_Display4 0x0 ++int style TextAppearance_AppCompat_Headline 0x0 ++int style TextAppearance_AppCompat_Inverse 0x0 ++int style TextAppearance_AppCompat_Large 0x0 ++int style TextAppearance_AppCompat_Large_Inverse 0x0 ++int style TextAppearance_AppCompat_Light_SearchResult_Subtitle 0x0 ++int style TextAppearance_AppCompat_Light_SearchResult_Title 0x0 ++int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x0 ++int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x0 ++int style TextAppearance_AppCompat_Medium 0x0 ++int style TextAppearance_AppCompat_Medium_Inverse 0x0 ++int style TextAppearance_AppCompat_Menu 0x0 ++int style TextAppearance_AppCompat_SearchResult_Subtitle 0x0 ++int style TextAppearance_AppCompat_SearchResult_Title 0x0 ++int style TextAppearance_AppCompat_Small 0x0 ++int style TextAppearance_AppCompat_Small_Inverse 0x0 ++int style TextAppearance_AppCompat_Subhead 0x0 ++int style TextAppearance_AppCompat_Subhead_Inverse 0x0 ++int style TextAppearance_AppCompat_Title 0x0 ++int style TextAppearance_AppCompat_Title_Inverse 0x0 ++int style TextAppearance_AppCompat_Tooltip 0x0 ++int style TextAppearance_AppCompat_Widget_ActionBar_Menu 0x0 ++int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x0 ++int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x0 ++int style TextAppearance_AppCompat_Widget_ActionBar_Title 0x0 ++int style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x0 ++int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x0 ++int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse 0x0 ++int style TextAppearance_AppCompat_Widget_ActionMode_Title 0x0 ++int style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse 0x0 ++int style TextAppearance_AppCompat_Widget_Button 0x0 ++int style TextAppearance_AppCompat_Widget_Button_Borderless_Colored 0x0 ++int style TextAppearance_AppCompat_Widget_Button_Colored 0x0 ++int style TextAppearance_AppCompat_Widget_Button_Inverse 0x0 ++int style TextAppearance_AppCompat_Widget_DropDownItem 0x0 ++int style TextAppearance_AppCompat_Widget_PopupMenu_Header 0x0 ++int style TextAppearance_AppCompat_Widget_PopupMenu_Large 0x0 ++int style TextAppearance_AppCompat_Widget_PopupMenu_Small 0x0 ++int style TextAppearance_AppCompat_Widget_Switch 0x0 ++int style TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x0 ++int style TextAppearance_Compat_Notification 0x0 ++int style TextAppearance_Compat_Notification_Info 0x0 ++int style TextAppearance_Compat_Notification_Line2 0x0 ++int style TextAppearance_Compat_Notification_Time 0x0 ++int style TextAppearance_Compat_Notification_Title 0x0 ++int style TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x0 ++int style TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x0 ++int style TextAppearance_Widget_AppCompat_Toolbar_Title 0x0 ++int style Theme 0x0 ++int style ThemeOverlay_AppCompat 0x0 ++int style ThemeOverlay_AppCompat_ActionBar 0x0 ++int style ThemeOverlay_AppCompat_Dark 0x0 ++int style ThemeOverlay_AppCompat_Dark_ActionBar 0x0 ++int style ThemeOverlay_AppCompat_Dialog 0x0 ++int style ThemeOverlay_AppCompat_Dialog_Alert 0x0 ++int style ThemeOverlay_AppCompat_Light 0x0 ++int style Theme_AppCompat 0x0 ++int style Theme_AppCompat_CompactMenu 0x0 ++int style Theme_AppCompat_DayNight 0x0 ++int style Theme_AppCompat_DayNight_DarkActionBar 0x0 ++int style Theme_AppCompat_DayNight_Dialog 0x0 ++int style Theme_AppCompat_DayNight_DialogWhenLarge 0x0 ++int style Theme_AppCompat_DayNight_Dialog_Alert 0x0 ++int style Theme_AppCompat_DayNight_Dialog_MinWidth 0x0 ++int style Theme_AppCompat_DayNight_NoActionBar 0x0 ++int style Theme_AppCompat_Dialog 0x0 ++int style Theme_AppCompat_DialogWhenLarge 0x0 ++int style Theme_AppCompat_Dialog_Alert 0x0 ++int style Theme_AppCompat_Dialog_MinWidth 0x0 ++int style Theme_AppCompat_Light 0x0 ++int style Theme_AppCompat_Light_DarkActionBar 0x0 ++int style Theme_AppCompat_Light_Dialog 0x0 ++int style Theme_AppCompat_Light_DialogWhenLarge 0x0 ++int style Theme_AppCompat_Light_Dialog_Alert 0x0 ++int style Theme_AppCompat_Light_Dialog_MinWidth 0x0 ++int style Theme_AppCompat_Light_NoActionBar 0x0 ++int style Theme_AppCompat_NoActionBar 0x0 ++int style Theme_Catalyst 0x0 ++int style Theme_Catalyst_LogBox 0x0 ++int style Theme_Catalyst_RedBox 0x0 ++int style Theme_FullScreenDialog 0x0 ++int style Theme_FullScreenDialogAnimatedFade 0x0 ++int style Theme_FullScreenDialogAnimatedSlide 0x0 ++int style Theme_ReactNative_AppCompat_Light 0x0 ++int style Theme_ReactNative_AppCompat_Light_NoActionBar_FullScreen 0x0 ++int style Widget_AppCompat_ActionBar 0x0 ++int style Widget_AppCompat_ActionBar_Solid 0x0 ++int style Widget_AppCompat_ActionBar_TabBar 0x0 ++int style Widget_AppCompat_ActionBar_TabText 0x0 ++int style Widget_AppCompat_ActionBar_TabView 0x0 ++int style Widget_AppCompat_ActionButton 0x0 ++int style Widget_AppCompat_ActionButton_CloseMode 0x0 ++int style Widget_AppCompat_ActionButton_Overflow 0x0 ++int style Widget_AppCompat_ActionMode 0x0 ++int style Widget_AppCompat_ActivityChooserView 0x0 ++int style Widget_AppCompat_AutoCompleteTextView 0x0 ++int style Widget_AppCompat_Button 0x0 ++int style Widget_AppCompat_ButtonBar 0x0 ++int style Widget_AppCompat_ButtonBar_AlertDialog 0x0 ++int style Widget_AppCompat_Button_Borderless 0x0 ++int style Widget_AppCompat_Button_Borderless_Colored 0x0 ++int style Widget_AppCompat_Button_ButtonBar_AlertDialog 0x0 ++int style Widget_AppCompat_Button_Colored 0x0 ++int style Widget_AppCompat_Button_Small 0x0 ++int style Widget_AppCompat_CompoundButton_CheckBox 0x0 ++int style Widget_AppCompat_CompoundButton_RadioButton 0x0 ++int style Widget_AppCompat_CompoundButton_Switch 0x0 ++int style Widget_AppCompat_DrawerArrowToggle 0x0 ++int style Widget_AppCompat_DropDownItem_Spinner 0x0 ++int style Widget_AppCompat_EditText 0x0 ++int style Widget_AppCompat_ImageButton 0x0 ++int style Widget_AppCompat_Light_ActionBar 0x0 ++int style Widget_AppCompat_Light_ActionBar_Solid 0x0 ++int style Widget_AppCompat_Light_ActionBar_Solid_Inverse 0x0 ++int style Widget_AppCompat_Light_ActionBar_TabBar 0x0 ++int style Widget_AppCompat_Light_ActionBar_TabBar_Inverse 0x0 ++int style Widget_AppCompat_Light_ActionBar_TabText 0x0 ++int style Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x0 ++int style Widget_AppCompat_Light_ActionBar_TabView 0x0 ++int style Widget_AppCompat_Light_ActionBar_TabView_Inverse 0x0 ++int style Widget_AppCompat_Light_ActionButton 0x0 ++int style Widget_AppCompat_Light_ActionButton_CloseMode 0x0 ++int style Widget_AppCompat_Light_ActionButton_Overflow 0x0 ++int style Widget_AppCompat_Light_ActionMode_Inverse 0x0 ++int style Widget_AppCompat_Light_ActivityChooserView 0x0 ++int style Widget_AppCompat_Light_AutoCompleteTextView 0x0 ++int style Widget_AppCompat_Light_DropDownItem_Spinner 0x0 ++int style Widget_AppCompat_Light_ListPopupWindow 0x0 ++int style Widget_AppCompat_Light_ListView_DropDown 0x0 ++int style Widget_AppCompat_Light_PopupMenu 0x0 ++int style Widget_AppCompat_Light_PopupMenu_Overflow 0x0 ++int style Widget_AppCompat_Light_SearchView 0x0 ++int style Widget_AppCompat_Light_Spinner_DropDown_ActionBar 0x0 ++int style Widget_AppCompat_ListMenuView 0x0 ++int style Widget_AppCompat_ListPopupWindow 0x0 ++int style Widget_AppCompat_ListView 0x0 ++int style Widget_AppCompat_ListView_DropDown 0x0 ++int style Widget_AppCompat_ListView_Menu 0x0 ++int style Widget_AppCompat_PopupMenu 0x0 ++int style Widget_AppCompat_PopupMenu_Overflow 0x0 ++int style Widget_AppCompat_PopupWindow 0x0 ++int style Widget_AppCompat_ProgressBar 0x0 ++int style Widget_AppCompat_ProgressBar_Horizontal 0x0 ++int style Widget_AppCompat_RatingBar 0x0 ++int style Widget_AppCompat_RatingBar_Indicator 0x0 ++int style Widget_AppCompat_RatingBar_Small 0x0 ++int style Widget_AppCompat_SearchView 0x0 ++int style Widget_AppCompat_SearchView_ActionBar 0x0 ++int style Widget_AppCompat_SeekBar 0x0 ++int style Widget_AppCompat_SeekBar_Discrete 0x0 ++int style Widget_AppCompat_Spinner 0x0 ++int style Widget_AppCompat_Spinner_DropDown 0x0 ++int style Widget_AppCompat_Spinner_DropDown_ActionBar 0x0 ++int style Widget_AppCompat_Spinner_Underlined 0x0 ++int style Widget_AppCompat_TextView_SpinnerItem 0x0 ++int style Widget_AppCompat_Toolbar 0x0 ++int style Widget_AppCompat_Toolbar_Button_Navigation 0x0 ++int style Widget_Compat_NotificationActionContainer 0x0 ++int style Widget_Compat_NotificationActionText 0x0 ++int style Widget_Support_CoordinatorLayout 0x0 ++int style redboxButton 0x0 ++int[] styleable ActionBar { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable ActionBar_background 0 ++int styleable ActionBar_backgroundSplit 1 ++int styleable ActionBar_backgroundStacked 2 ++int styleable ActionBar_contentInsetEnd 3 ++int styleable ActionBar_contentInsetEndWithActions 4 ++int styleable ActionBar_contentInsetLeft 5 ++int styleable ActionBar_contentInsetRight 6 ++int styleable ActionBar_contentInsetStart 7 ++int styleable ActionBar_contentInsetStartWithNavigation 8 ++int styleable ActionBar_customNavigationLayout 9 ++int styleable ActionBar_displayOptions 10 ++int styleable ActionBar_divider 11 ++int styleable ActionBar_elevation 12 ++int styleable ActionBar_height 13 ++int styleable ActionBar_hideOnContentScroll 14 ++int styleable ActionBar_homeAsUpIndicator 15 ++int styleable ActionBar_homeLayout 16 ++int styleable ActionBar_icon 17 ++int styleable ActionBar_indeterminateProgressStyle 18 ++int styleable ActionBar_itemPadding 19 ++int styleable ActionBar_logo 20 ++int styleable ActionBar_navigationMode 21 ++int styleable ActionBar_popupTheme 22 ++int styleable ActionBar_progressBarPadding 23 ++int styleable ActionBar_progressBarStyle 24 ++int styleable ActionBar_subtitle 25 ++int styleable ActionBar_subtitleTextStyle 26 ++int styleable ActionBar_title 27 ++int styleable ActionBar_titleTextStyle 28 ++int[] styleable ActionBarLayout { 0x10100b3 } ++int styleable ActionBarLayout_android_layout_gravity 0 ++int[] styleable ActionMenuItemView { 0x101013f } ++int styleable ActionMenuItemView_android_minWidth 0 ++int[] styleable ActionMenuView { } ++int[] styleable ActionMode { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable ActionMode_background 0 ++int styleable ActionMode_backgroundSplit 1 ++int styleable ActionMode_closeItemLayout 2 ++int styleable ActionMode_height 3 ++int styleable ActionMode_subtitleTextStyle 4 ++int styleable ActionMode_titleTextStyle 5 ++int[] styleable ActivityChooserView { 0x0, 0x0 } ++int styleable ActivityChooserView_expandActivityOverflowButtonDrawable 0 ++int styleable ActivityChooserView_initialActivityCount 1 ++int[] styleable AlertDialog { 0x10100f2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable AlertDialog_android_layout 0 ++int styleable AlertDialog_buttonIconDimen 1 ++int styleable AlertDialog_buttonPanelSideLayout 2 ++int styleable AlertDialog_listItemLayout 3 ++int styleable AlertDialog_listLayout 4 ++int styleable AlertDialog_multiChoiceItemLayout 5 ++int styleable AlertDialog_showTitle 6 ++int styleable AlertDialog_singleChoiceItemLayout 7 ++int[] styleable AnimatedStateListDrawableCompat { 0x1010196, 0x101011c, 0x101030c, 0x101030d, 0x1010195, 0x1010194 } ++int styleable AnimatedStateListDrawableCompat_android_constantSize 0 ++int styleable AnimatedStateListDrawableCompat_android_dither 1 ++int styleable AnimatedStateListDrawableCompat_android_enterFadeDuration 2 ++int styleable AnimatedStateListDrawableCompat_android_exitFadeDuration 3 ++int styleable AnimatedStateListDrawableCompat_android_variablePadding 4 ++int styleable AnimatedStateListDrawableCompat_android_visible 5 ++int[] styleable AnimatedStateListDrawableItem { 0x1010199, 0x10100d0 } ++int styleable AnimatedStateListDrawableItem_android_drawable 0 ++int styleable AnimatedStateListDrawableItem_android_id 1 ++int[] styleable AnimatedStateListDrawableTransition { 0x1010199, 0x101044a, 0x101044b, 0x1010449 } ++int styleable AnimatedStateListDrawableTransition_android_drawable 0 ++int styleable AnimatedStateListDrawableTransition_android_fromId 1 ++int styleable AnimatedStateListDrawableTransition_android_reversible 2 ++int styleable AnimatedStateListDrawableTransition_android_toId 3 ++int[] styleable AppCompatImageView { 0x1010119, 0x0, 0x0, 0x0 } ++int styleable AppCompatImageView_android_src 0 ++int styleable AppCompatImageView_srcCompat 1 ++int styleable AppCompatImageView_tint 2 ++int styleable AppCompatImageView_tintMode 3 ++int[] styleable AppCompatSeekBar { 0x1010142, 0x0, 0x0, 0x0 } ++int styleable AppCompatSeekBar_android_thumb 0 ++int styleable AppCompatSeekBar_tickMark 1 ++int styleable AppCompatSeekBar_tickMarkTint 2 ++int styleable AppCompatSeekBar_tickMarkTintMode 3 ++int[] styleable AppCompatTextHelper { 0x101016e, 0x1010393, 0x101016f, 0x1010170, 0x1010392, 0x101016d, 0x1010034 } ++int styleable AppCompatTextHelper_android_drawableBottom 0 ++int styleable AppCompatTextHelper_android_drawableEnd 1 ++int styleable AppCompatTextHelper_android_drawableLeft 2 ++int styleable AppCompatTextHelper_android_drawableRight 3 ++int styleable AppCompatTextHelper_android_drawableStart 4 ++int styleable AppCompatTextHelper_android_drawableTop 5 ++int styleable AppCompatTextHelper_android_textAppearance 6 ++int[] styleable AppCompatTextView { 0x1010034, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable AppCompatTextView_android_textAppearance 0 ++int styleable AppCompatTextView_autoSizeMaxTextSize 1 ++int styleable AppCompatTextView_autoSizeMinTextSize 2 ++int styleable AppCompatTextView_autoSizePresetSizes 3 ++int styleable AppCompatTextView_autoSizeStepGranularity 4 ++int styleable AppCompatTextView_autoSizeTextType 5 ++int styleable AppCompatTextView_firstBaselineToTopHeight 6 ++int styleable AppCompatTextView_fontFamily 7 ++int styleable AppCompatTextView_lastBaselineToBottomHeight 8 ++int styleable AppCompatTextView_lineHeight 9 ++int styleable AppCompatTextView_textAllCaps 10 ++int[] styleable AppCompatTheme { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10100ae, 0x1010057, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable AppCompatTheme_actionBarDivider 0 ++int styleable AppCompatTheme_actionBarItemBackground 1 ++int styleable AppCompatTheme_actionBarPopupTheme 2 ++int styleable AppCompatTheme_actionBarSize 3 ++int styleable AppCompatTheme_actionBarSplitStyle 4 ++int styleable AppCompatTheme_actionBarStyle 5 ++int styleable AppCompatTheme_actionBarTabBarStyle 6 ++int styleable AppCompatTheme_actionBarTabStyle 7 ++int styleable AppCompatTheme_actionBarTabTextStyle 8 ++int styleable AppCompatTheme_actionBarTheme 9 ++int styleable AppCompatTheme_actionBarWidgetTheme 10 ++int styleable AppCompatTheme_actionButtonStyle 11 ++int styleable AppCompatTheme_actionDropDownStyle 12 ++int styleable AppCompatTheme_actionMenuTextAppearance 13 ++int styleable AppCompatTheme_actionMenuTextColor 14 ++int styleable AppCompatTheme_actionModeBackground 15 ++int styleable AppCompatTheme_actionModeCloseButtonStyle 16 ++int styleable AppCompatTheme_actionModeCloseDrawable 17 ++int styleable AppCompatTheme_actionModeCopyDrawable 18 ++int styleable AppCompatTheme_actionModeCutDrawable 19 ++int styleable AppCompatTheme_actionModeFindDrawable 20 ++int styleable AppCompatTheme_actionModePasteDrawable 21 ++int styleable AppCompatTheme_actionModePopupWindowStyle 22 ++int styleable AppCompatTheme_actionModeSelectAllDrawable 23 ++int styleable AppCompatTheme_actionModeShareDrawable 24 ++int styleable AppCompatTheme_actionModeSplitBackground 25 ++int styleable AppCompatTheme_actionModeStyle 26 ++int styleable AppCompatTheme_actionModeWebSearchDrawable 27 ++int styleable AppCompatTheme_actionOverflowButtonStyle 28 ++int styleable AppCompatTheme_actionOverflowMenuStyle 29 ++int styleable AppCompatTheme_activityChooserViewStyle 30 ++int styleable AppCompatTheme_alertDialogButtonGroupStyle 31 ++int styleable AppCompatTheme_alertDialogCenterButtons 32 ++int styleable AppCompatTheme_alertDialogStyle 33 ++int styleable AppCompatTheme_alertDialogTheme 34 ++int styleable AppCompatTheme_android_windowAnimationStyle 35 ++int styleable AppCompatTheme_android_windowIsFloating 36 ++int styleable AppCompatTheme_autoCompleteTextViewStyle 37 ++int styleable AppCompatTheme_borderlessButtonStyle 38 ++int styleable AppCompatTheme_buttonBarButtonStyle 39 ++int styleable AppCompatTheme_buttonBarNegativeButtonStyle 40 ++int styleable AppCompatTheme_buttonBarNeutralButtonStyle 41 ++int styleable AppCompatTheme_buttonBarPositiveButtonStyle 42 ++int styleable AppCompatTheme_buttonBarStyle 43 ++int styleable AppCompatTheme_buttonStyle 44 ++int styleable AppCompatTheme_buttonStyleSmall 45 ++int styleable AppCompatTheme_checkboxStyle 46 ++int styleable AppCompatTheme_checkedTextViewStyle 47 ++int styleable AppCompatTheme_colorAccent 48 ++int styleable AppCompatTheme_colorBackgroundFloating 49 ++int styleable AppCompatTheme_colorButtonNormal 50 ++int styleable AppCompatTheme_colorControlActivated 51 ++int styleable AppCompatTheme_colorControlHighlight 52 ++int styleable AppCompatTheme_colorControlNormal 53 ++int styleable AppCompatTheme_colorError 54 ++int styleable AppCompatTheme_colorPrimary 55 ++int styleable AppCompatTheme_colorPrimaryDark 56 ++int styleable AppCompatTheme_colorSwitchThumbNormal 57 ++int styleable AppCompatTheme_controlBackground 58 ++int styleable AppCompatTheme_dialogCornerRadius 59 ++int styleable AppCompatTheme_dialogPreferredPadding 60 ++int styleable AppCompatTheme_dialogTheme 61 ++int styleable AppCompatTheme_dividerHorizontal 62 ++int styleable AppCompatTheme_dividerVertical 63 ++int styleable AppCompatTheme_dropDownListViewStyle 64 ++int styleable AppCompatTheme_dropdownListPreferredItemHeight 65 ++int styleable AppCompatTheme_editTextBackground 66 ++int styleable AppCompatTheme_editTextColor 67 ++int styleable AppCompatTheme_editTextStyle 68 ++int styleable AppCompatTheme_homeAsUpIndicator 69 ++int styleable AppCompatTheme_imageButtonStyle 70 ++int styleable AppCompatTheme_listChoiceBackgroundIndicator 71 ++int styleable AppCompatTheme_listDividerAlertDialog 72 ++int styleable AppCompatTheme_listMenuViewStyle 73 ++int styleable AppCompatTheme_listPopupWindowStyle 74 ++int styleable AppCompatTheme_listPreferredItemHeight 75 ++int styleable AppCompatTheme_listPreferredItemHeightLarge 76 ++int styleable AppCompatTheme_listPreferredItemHeightSmall 77 ++int styleable AppCompatTheme_listPreferredItemPaddingLeft 78 ++int styleable AppCompatTheme_listPreferredItemPaddingRight 79 ++int styleable AppCompatTheme_panelBackground 80 ++int styleable AppCompatTheme_panelMenuListTheme 81 ++int styleable AppCompatTheme_panelMenuListWidth 82 ++int styleable AppCompatTheme_popupMenuStyle 83 ++int styleable AppCompatTheme_popupWindowStyle 84 ++int styleable AppCompatTheme_radioButtonStyle 85 ++int styleable AppCompatTheme_ratingBarStyle 86 ++int styleable AppCompatTheme_ratingBarStyleIndicator 87 ++int styleable AppCompatTheme_ratingBarStyleSmall 88 ++int styleable AppCompatTheme_searchViewStyle 89 ++int styleable AppCompatTheme_seekBarStyle 90 ++int styleable AppCompatTheme_selectableItemBackground 91 ++int styleable AppCompatTheme_selectableItemBackgroundBorderless 92 ++int styleable AppCompatTheme_spinnerDropDownItemStyle 93 ++int styleable AppCompatTheme_spinnerStyle 94 ++int styleable AppCompatTheme_switchStyle 95 ++int styleable AppCompatTheme_textAppearanceLargePopupMenu 96 ++int styleable AppCompatTheme_textAppearanceListItem 97 ++int styleable AppCompatTheme_textAppearanceListItemSecondary 98 ++int styleable AppCompatTheme_textAppearanceListItemSmall 99 ++int styleable AppCompatTheme_textAppearancePopupMenuHeader 100 ++int styleable AppCompatTheme_textAppearanceSearchResultSubtitle 101 ++int styleable AppCompatTheme_textAppearanceSearchResultTitle 102 ++int styleable AppCompatTheme_textAppearanceSmallPopupMenu 103 ++int styleable AppCompatTheme_textColorAlertDialogListItem 104 ++int styleable AppCompatTheme_textColorSearchUrl 105 ++int styleable AppCompatTheme_toolbarNavigationButtonStyle 106 ++int styleable AppCompatTheme_toolbarStyle 107 ++int styleable AppCompatTheme_tooltipForegroundColor 108 ++int styleable AppCompatTheme_tooltipFrameBackground 109 ++int styleable AppCompatTheme_viewInflaterClass 110 ++int styleable AppCompatTheme_windowActionBar 111 ++int styleable AppCompatTheme_windowActionBarOverlay 112 ++int styleable AppCompatTheme_windowActionModeOverlay 113 ++int styleable AppCompatTheme_windowFixedHeightMajor 114 ++int styleable AppCompatTheme_windowFixedHeightMinor 115 ++int styleable AppCompatTheme_windowFixedWidthMajor 116 ++int styleable AppCompatTheme_windowFixedWidthMinor 117 ++int styleable AppCompatTheme_windowMinWidthMajor 118 ++int styleable AppCompatTheme_windowMinWidthMinor 119 ++int styleable AppCompatTheme_windowNoTitle 120 ++int[] styleable ButtonBarLayout { 0x0 } ++int styleable ButtonBarLayout_allowStacking 0 ++int[] styleable ColorStateListItem { 0x0, 0x101031f, 0x10101a5 } ++int styleable ColorStateListItem_alpha 0 ++int styleable ColorStateListItem_android_alpha 1 ++int styleable ColorStateListItem_android_color 2 ++int[] styleable CompoundButton { 0x1010107, 0x0, 0x0 } ++int styleable CompoundButton_android_button 0 ++int styleable CompoundButton_buttonTint 1 ++int styleable CompoundButton_buttonTintMode 2 ++int[] styleable CoordinatorLayout { 0x0, 0x0 } ++int styleable CoordinatorLayout_keylines 0 ++int styleable CoordinatorLayout_statusBarBackground 1 ++int[] styleable CoordinatorLayout_Layout { 0x10100b3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable CoordinatorLayout_Layout_android_layout_gravity 0 ++int styleable CoordinatorLayout_Layout_layout_anchor 1 ++int styleable CoordinatorLayout_Layout_layout_anchorGravity 2 ++int styleable CoordinatorLayout_Layout_layout_behavior 3 ++int styleable CoordinatorLayout_Layout_layout_dodgeInsetEdges 4 ++int styleable CoordinatorLayout_Layout_layout_insetEdge 5 ++int styleable CoordinatorLayout_Layout_layout_keyline 6 ++int[] styleable DrawerArrowToggle { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable DrawerArrowToggle_arrowHeadLength 0 ++int styleable DrawerArrowToggle_arrowShaftLength 1 ++int styleable DrawerArrowToggle_barLength 2 ++int styleable DrawerArrowToggle_color 3 ++int styleable DrawerArrowToggle_drawableSize 4 ++int styleable DrawerArrowToggle_gapBetweenBars 5 ++int styleable DrawerArrowToggle_spinBars 6 ++int styleable DrawerArrowToggle_thickness 7 ++int[] styleable FontFamily { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable FontFamily_fontProviderAuthority 0 ++int styleable FontFamily_fontProviderCerts 1 ++int styleable FontFamily_fontProviderFetchStrategy 2 ++int styleable FontFamily_fontProviderFetchTimeout 3 ++int styleable FontFamily_fontProviderPackage 4 ++int styleable FontFamily_fontProviderQuery 5 ++int[] styleable FontFamilyFont { 0x1010532, 0x101053f, 0x1010570, 0x1010533, 0x101056f, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable FontFamilyFont_android_font 0 ++int styleable FontFamilyFont_android_fontStyle 1 ++int styleable FontFamilyFont_android_fontVariationSettings 2 ++int styleable FontFamilyFont_android_fontWeight 3 ++int styleable FontFamilyFont_android_ttcIndex 4 ++int styleable FontFamilyFont_font 5 ++int styleable FontFamilyFont_fontStyle 6 ++int styleable FontFamilyFont_fontVariationSettings 7 ++int styleable FontFamilyFont_fontWeight 8 ++int styleable FontFamilyFont_ttcIndex 9 ++int[] styleable GenericDraweeHierarchy { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable GenericDraweeHierarchy_actualImageScaleType 0 ++int styleable GenericDraweeHierarchy_backgroundImage 1 ++int styleable GenericDraweeHierarchy_fadeDuration 2 ++int styleable GenericDraweeHierarchy_failureImage 3 ++int styleable GenericDraweeHierarchy_failureImageScaleType 4 ++int styleable GenericDraweeHierarchy_overlayImage 5 ++int styleable GenericDraweeHierarchy_placeholderImage 6 ++int styleable GenericDraweeHierarchy_placeholderImageScaleType 7 ++int styleable GenericDraweeHierarchy_pressedStateOverlayImage 8 ++int styleable GenericDraweeHierarchy_progressBarAutoRotateInterval 9 ++int styleable GenericDraweeHierarchy_progressBarImage 10 ++int styleable GenericDraweeHierarchy_progressBarImageScaleType 11 ++int styleable GenericDraweeHierarchy_retryImage 12 ++int styleable GenericDraweeHierarchy_retryImageScaleType 13 ++int styleable GenericDraweeHierarchy_roundAsCircle 14 ++int styleable GenericDraweeHierarchy_roundBottomEnd 15 ++int styleable GenericDraweeHierarchy_roundBottomLeft 16 ++int styleable GenericDraweeHierarchy_roundBottomRight 17 ++int styleable GenericDraweeHierarchy_roundBottomStart 18 ++int styleable GenericDraweeHierarchy_roundTopEnd 19 ++int styleable GenericDraweeHierarchy_roundTopLeft 20 ++int styleable GenericDraweeHierarchy_roundTopRight 21 ++int styleable GenericDraweeHierarchy_roundTopStart 22 ++int styleable GenericDraweeHierarchy_roundWithOverlayColor 23 ++int styleable GenericDraweeHierarchy_roundedCornerRadius 24 ++int styleable GenericDraweeHierarchy_roundingBorderColor 25 ++int styleable GenericDraweeHierarchy_roundingBorderPadding 26 ++int styleable GenericDraweeHierarchy_roundingBorderWidth 27 ++int styleable GenericDraweeHierarchy_viewAspectRatio 28 ++int[] styleable GradientColor { 0x101020b, 0x10101a2, 0x10101a3, 0x101019e, 0x1010512, 0x1010513, 0x10101a4, 0x101019d, 0x1010510, 0x1010511, 0x1010201, 0x10101a1 } ++int styleable GradientColor_android_centerColor 0 ++int styleable GradientColor_android_centerX 1 ++int styleable GradientColor_android_centerY 2 ++int styleable GradientColor_android_endColor 3 ++int styleable GradientColor_android_endX 4 ++int styleable GradientColor_android_endY 5 ++int styleable GradientColor_android_gradientRadius 6 ++int styleable GradientColor_android_startColor 7 ++int styleable GradientColor_android_startX 8 ++int styleable GradientColor_android_startY 9 ++int styleable GradientColor_android_tileMode 10 ++int styleable GradientColor_android_type 11 ++int[] styleable GradientColorItem { 0x10101a5, 0x1010514 } ++int styleable GradientColorItem_android_color 0 ++int styleable GradientColorItem_android_offset 1 ++int[] styleable LinearLayoutCompat { 0x1010126, 0x1010127, 0x10100af, 0x10100c4, 0x1010128, 0x0, 0x0, 0x0, 0x0 } ++int styleable LinearLayoutCompat_android_baselineAligned 0 ++int styleable LinearLayoutCompat_android_baselineAlignedChildIndex 1 ++int styleable LinearLayoutCompat_android_gravity 2 ++int styleable LinearLayoutCompat_android_orientation 3 ++int styleable LinearLayoutCompat_android_weightSum 4 ++int styleable LinearLayoutCompat_divider 5 ++int styleable LinearLayoutCompat_dividerPadding 6 ++int styleable LinearLayoutCompat_measureWithLargestChild 7 ++int styleable LinearLayoutCompat_showDividers 8 ++int[] styleable LinearLayoutCompat_Layout { 0x10100b3, 0x10100f5, 0x1010181, 0x10100f4 } ++int styleable LinearLayoutCompat_Layout_android_layout_gravity 0 ++int styleable LinearLayoutCompat_Layout_android_layout_height 1 ++int styleable LinearLayoutCompat_Layout_android_layout_weight 2 ++int styleable LinearLayoutCompat_Layout_android_layout_width 3 ++int[] styleable ListPopupWindow { 0x10102ac, 0x10102ad } ++int styleable ListPopupWindow_android_dropDownHorizontalOffset 0 ++int styleable ListPopupWindow_android_dropDownVerticalOffset 1 ++int[] styleable MenuGroup { 0x10101e0, 0x101000e, 0x10100d0, 0x10101de, 0x10101df, 0x1010194 } ++int styleable MenuGroup_android_checkableBehavior 0 ++int styleable MenuGroup_android_enabled 1 ++int styleable MenuGroup_android_id 2 ++int styleable MenuGroup_android_menuCategory 3 ++int styleable MenuGroup_android_orderInCategory 4 ++int styleable MenuGroup_android_visible 5 ++int[] styleable MenuItem { 0x0, 0x0, 0x0, 0x0, 0x10101e3, 0x10101e5, 0x1010106, 0x101000e, 0x1010002, 0x10100d0, 0x10101de, 0x10101e4, 0x101026f, 0x10101df, 0x10101e1, 0x10101e2, 0x1010194, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable MenuItem_actionLayout 0 ++int styleable MenuItem_actionProviderClass 1 ++int styleable MenuItem_actionViewClass 2 ++int styleable MenuItem_alphabeticModifiers 3 ++int styleable MenuItem_android_alphabeticShortcut 4 ++int styleable MenuItem_android_checkable 5 ++int styleable MenuItem_android_checked 6 ++int styleable MenuItem_android_enabled 7 ++int styleable MenuItem_android_icon 8 ++int styleable MenuItem_android_id 9 ++int styleable MenuItem_android_menuCategory 10 ++int styleable MenuItem_android_numericShortcut 11 ++int styleable MenuItem_android_onClick 12 ++int styleable MenuItem_android_orderInCategory 13 ++int styleable MenuItem_android_title 14 ++int styleable MenuItem_android_titleCondensed 15 ++int styleable MenuItem_android_visible 16 ++int styleable MenuItem_contentDescription 17 ++int styleable MenuItem_iconTint 18 ++int styleable MenuItem_iconTintMode 19 ++int styleable MenuItem_numericModifiers 20 ++int styleable MenuItem_showAsAction 21 ++int styleable MenuItem_tooltipText 22 ++int[] styleable MenuView { 0x101012f, 0x101012d, 0x1010130, 0x1010131, 0x101012c, 0x101012e, 0x10100ae, 0x0, 0x0 } ++int styleable MenuView_android_headerBackground 0 ++int styleable MenuView_android_horizontalDivider 1 ++int styleable MenuView_android_itemBackground 2 ++int styleable MenuView_android_itemIconDisabledAlpha 3 ++int styleable MenuView_android_itemTextAppearance 4 ++int styleable MenuView_android_verticalDivider 5 ++int styleable MenuView_android_windowAnimationStyle 6 ++int styleable MenuView_preserveIconSpacing 7 ++int styleable MenuView_subMenuArrow 8 ++int[] styleable PopupWindow { 0x10102c9, 0x1010176, 0x0 } ++int styleable PopupWindow_android_popupAnimationStyle 0 ++int styleable PopupWindow_android_popupBackground 1 ++int styleable PopupWindow_overlapAnchor 2 ++int[] styleable PopupWindowBackgroundState { 0x0 } ++int styleable PopupWindowBackgroundState_state_above_anchor 0 ++int[] styleable RecycleListView { 0x0, 0x0 } ++int styleable RecycleListView_paddingBottomNoButtons 0 ++int styleable RecycleListView_paddingTopNoTitle 1 ++int[] styleable SearchView { 0x10100da, 0x1010264, 0x1010220, 0x101011f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable SearchView_android_focusable 0 ++int styleable SearchView_android_imeOptions 1 ++int styleable SearchView_android_inputType 2 ++int styleable SearchView_android_maxWidth 3 ++int styleable SearchView_closeIcon 4 ++int styleable SearchView_commitIcon 5 ++int styleable SearchView_defaultQueryHint 6 ++int styleable SearchView_goIcon 7 ++int styleable SearchView_iconifiedByDefault 8 ++int styleable SearchView_layout 9 ++int styleable SearchView_queryBackground 10 ++int styleable SearchView_queryHint 11 ++int styleable SearchView_searchHintIcon 12 ++int styleable SearchView_searchIcon 13 ++int styleable SearchView_submitBackground 14 ++int styleable SearchView_suggestionRowLayout 15 ++int styleable SearchView_voiceIcon 16 ++int[] styleable SimpleDraweeView { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable SimpleDraweeView_actualImageResource 0 ++int styleable SimpleDraweeView_actualImageScaleType 1 ++int styleable SimpleDraweeView_actualImageUri 2 ++int styleable SimpleDraweeView_backgroundImage 3 ++int styleable SimpleDraweeView_fadeDuration 4 ++int styleable SimpleDraweeView_failureImage 5 ++int styleable SimpleDraweeView_failureImageScaleType 6 ++int styleable SimpleDraweeView_overlayImage 7 ++int styleable SimpleDraweeView_placeholderImage 8 ++int styleable SimpleDraweeView_placeholderImageScaleType 9 ++int styleable SimpleDraweeView_pressedStateOverlayImage 10 ++int styleable SimpleDraweeView_progressBarAutoRotateInterval 11 ++int styleable SimpleDraweeView_progressBarImage 12 ++int styleable SimpleDraweeView_progressBarImageScaleType 13 ++int styleable SimpleDraweeView_retryImage 14 ++int styleable SimpleDraweeView_retryImageScaleType 15 ++int styleable SimpleDraweeView_roundAsCircle 16 ++int styleable SimpleDraweeView_roundBottomEnd 17 ++int styleable SimpleDraweeView_roundBottomLeft 18 ++int styleable SimpleDraweeView_roundBottomRight 19 ++int styleable SimpleDraweeView_roundBottomStart 20 ++int styleable SimpleDraweeView_roundTopEnd 21 ++int styleable SimpleDraweeView_roundTopLeft 22 ++int styleable SimpleDraweeView_roundTopRight 23 ++int styleable SimpleDraweeView_roundTopStart 24 ++int styleable SimpleDraweeView_roundWithOverlayColor 25 ++int styleable SimpleDraweeView_roundedCornerRadius 26 ++int styleable SimpleDraweeView_roundingBorderColor 27 ++int styleable SimpleDraweeView_roundingBorderPadding 28 ++int styleable SimpleDraweeView_roundingBorderWidth 29 ++int styleable SimpleDraweeView_viewAspectRatio 30 ++int[] styleable Spinner { 0x1010262, 0x10100b2, 0x1010176, 0x101017b, 0x0 } ++int styleable Spinner_android_dropDownWidth 0 ++int styleable Spinner_android_entries 1 ++int styleable Spinner_android_popupBackground 2 ++int styleable Spinner_android_prompt 3 ++int styleable Spinner_popupTheme 4 ++int[] styleable StateListDrawable { 0x1010196, 0x101011c, 0x101030c, 0x101030d, 0x1010195, 0x1010194 } ++int styleable StateListDrawable_android_constantSize 0 ++int styleable StateListDrawable_android_dither 1 ++int styleable StateListDrawable_android_enterFadeDuration 2 ++int styleable StateListDrawable_android_exitFadeDuration 3 ++int styleable StateListDrawable_android_variablePadding 4 ++int styleable StateListDrawable_android_visible 5 ++int[] styleable StateListDrawableItem { 0x1010199 } ++int styleable StateListDrawableItem_android_drawable 0 ++int[] styleable SwitchCompat { 0x1010125, 0x1010124, 0x1010142, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable SwitchCompat_android_textOff 0 ++int styleable SwitchCompat_android_textOn 1 ++int styleable SwitchCompat_android_thumb 2 ++int styleable SwitchCompat_showText 3 ++int styleable SwitchCompat_splitTrack 4 ++int styleable SwitchCompat_switchMinWidth 5 ++int styleable SwitchCompat_switchPadding 6 ++int styleable SwitchCompat_switchTextAppearance 7 ++int styleable SwitchCompat_thumbTextPadding 8 ++int styleable SwitchCompat_thumbTint 9 ++int styleable SwitchCompat_thumbTintMode 10 ++int styleable SwitchCompat_track 11 ++int styleable SwitchCompat_trackTint 12 ++int styleable SwitchCompat_trackTintMode 13 ++int[] styleable TextAppearance { 0x10103ac, 0x1010161, 0x1010162, 0x1010163, 0x1010164, 0x1010098, 0x101009a, 0x101009b, 0x1010095, 0x1010097, 0x1010096, 0x0, 0x0 } ++int styleable TextAppearance_android_fontFamily 0 ++int styleable TextAppearance_android_shadowColor 1 ++int styleable TextAppearance_android_shadowDx 2 ++int styleable TextAppearance_android_shadowDy 3 ++int styleable TextAppearance_android_shadowRadius 4 ++int styleable TextAppearance_android_textColor 5 ++int styleable TextAppearance_android_textColorHint 6 ++int styleable TextAppearance_android_textColorLink 7 ++int styleable TextAppearance_android_textSize 8 ++int styleable TextAppearance_android_textStyle 9 ++int styleable TextAppearance_android_typeface 10 ++int styleable TextAppearance_fontFamily 11 ++int styleable TextAppearance_textAllCaps 12 ++int[] styleable Toolbar { 0x10100af, 0x1010140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } ++int styleable Toolbar_android_gravity 0 ++int styleable Toolbar_android_minHeight 1 ++int styleable Toolbar_buttonGravity 2 ++int styleable Toolbar_collapseContentDescription 3 ++int styleable Toolbar_collapseIcon 4 ++int styleable Toolbar_contentInsetEnd 5 ++int styleable Toolbar_contentInsetEndWithActions 6 ++int styleable Toolbar_contentInsetLeft 7 ++int styleable Toolbar_contentInsetRight 8 ++int styleable Toolbar_contentInsetStart 9 ++int styleable Toolbar_contentInsetStartWithNavigation 10 ++int styleable Toolbar_logo 11 ++int styleable Toolbar_logoDescription 12 ++int styleable Toolbar_maxButtonHeight 13 ++int styleable Toolbar_navigationContentDescription 14 ++int styleable Toolbar_navigationIcon 15 ++int styleable Toolbar_popupTheme 16 ++int styleable Toolbar_subtitle 17 ++int styleable Toolbar_subtitleTextAppearance 18 ++int styleable Toolbar_subtitleTextColor 19 ++int styleable Toolbar_title 20 ++int styleable Toolbar_titleMargin 21 ++int styleable Toolbar_titleMarginBottom 22 ++int styleable Toolbar_titleMarginEnd 23 ++int styleable Toolbar_titleMarginStart 24 ++int styleable Toolbar_titleMarginTop 25 ++int styleable Toolbar_titleMargins 26 ++int styleable Toolbar_titleTextAppearance 27 ++int styleable Toolbar_titleTextColor 28 ++int[] styleable View { 0x10100da, 0x1010000, 0x0, 0x0, 0x0 } ++int styleable View_android_focusable 0 ++int styleable View_android_theme 1 ++int styleable View_paddingEnd 2 ++int styleable View_paddingStart 3 ++int styleable View_theme 4 ++int[] styleable ViewBackgroundHelper { 0x10100d4, 0x0, 0x0 } ++int styleable ViewBackgroundHelper_android_background 0 ++int styleable ViewBackgroundHelper_backgroundTint 1 ++int styleable ViewBackgroundHelper_backgroundTintMode 2 ++int[] styleable ViewStubCompat { 0x10100d0, 0x10100f3, 0x10100f2 } ++int styleable ViewStubCompat_android_id 0 ++int styleable ViewStubCompat_android_inflatedId 1 ++int styleable ViewStubCompat_android_layout 2 ++int xml rn_dev_preferences 0x0 +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jars/classes.jar b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jars/classes.jar +new file mode 100644 +index 0000000..52fe1a9 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jars/classes.jar differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/arm64-v8a/libreanimated.so b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/arm64-v8a/libreanimated.so +new file mode 100644 +index 0000000..ae3ae27 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/arm64-v8a/libreanimated.so differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/armeabi-v7a/libreanimated.so b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/armeabi-v7a/libreanimated.so +new file mode 100644 +index 0000000..afeaf70 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/armeabi-v7a/libreanimated.so differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/x86/libreanimated.so b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/x86/libreanimated.so +new file mode 100644 +index 0000000..8b7e106 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/x86/libreanimated.so differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/x86_64/libreanimated.so b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/x86_64/libreanimated.so +new file mode 100644 +index 0000000..cfb18af +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/3dc66eaffffc4a1b2013533ca5514c4f/jetified-react-native-reanimated-64-hermes/jni/x86_64/libreanimated.so differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/4f11b85642437dd25277d88e044df570.bin b/node_modules/react-native-reanimated/android/build/.transforms/4f11b85642437dd25277d88e044df570.bin +new file mode 100644 +index 0000000..14943b4 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/4f11b85642437dd25277d88e044df570.bin +@@ -0,0 +1 @@ ++o/jetified-react-native-reanimated-64-hermes.aar +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/4f11b85642437dd25277d88e044df570/jetified-react-native-reanimated-64-hermes.aar b/node_modules/react-native-reanimated/android/build/.transforms/4f11b85642437dd25277d88e044df570/jetified-react-native-reanimated-64-hermes.aar +new file mode 100644 +index 0000000..695759a +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/4f11b85642437dd25277d88e044df570/jetified-react-native-reanimated-64-hermes.aar differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/5c2807702f3678faf4cc7573e2b611ce.bin b/node_modules/react-native-reanimated/android/build/.transforms/5c2807702f3678faf4cc7573e2b611ce.bin +new file mode 100644 +index 0000000..5d66879 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/5c2807702f3678faf4cc7573e2b611ce.bin +@@ -0,0 +1 @@ ++o/com.swmansion.reanimated +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/5e119b631fe7a97752431963ddaeb250.bin b/node_modules/react-native-reanimated/android/build/.transforms/5e119b631fe7a97752431963ddaeb250.bin +new file mode 100644 +index 0000000..199366a +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/5e119b631fe7a97752431963ddaeb250.bin +@@ -0,0 +1 @@ ++i/jni +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/6bf78b54df5d87e632b0431671adef20.bin b/node_modules/react-native-reanimated/android/build/.transforms/6bf78b54df5d87e632b0431671adef20.bin +new file mode 100644 +index 0000000..f183a66 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/6bf78b54df5d87e632b0431671adef20.bin +@@ -0,0 +1 @@ ++o/com.swmansion.reanimated-r.txt +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/6bf78b54df5d87e632b0431671adef20/com.swmansion.reanimated-r.txt b/node_modules/react-native-reanimated/android/build/.transforms/6bf78b54df5d87e632b0431671adef20/com.swmansion.reanimated-r.txt +new file mode 100644 +index 0000000..dd7bcf9 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/6bf78b54df5d87e632b0431671adef20/com.swmansion.reanimated-r.txt +@@ -0,0 +1,1325 @@ ++com.swmansion.reanimated ++anim abc_fade_in ++anim abc_fade_out ++anim abc_grow_fade_in_from_bottom ++anim abc_popup_enter ++anim abc_popup_exit ++anim abc_shrink_fade_out_from_bottom ++anim abc_slide_in_bottom ++anim abc_slide_in_top ++anim abc_slide_out_bottom ++anim abc_slide_out_top ++anim abc_tooltip_enter ++anim abc_tooltip_exit ++anim catalyst_fade_in ++anim catalyst_fade_out ++anim catalyst_push_up_in ++anim catalyst_push_up_out ++anim catalyst_slide_down ++anim catalyst_slide_up ++attr actionBarDivider ++attr actionBarItemBackground ++attr actionBarPopupTheme ++attr actionBarSize ++attr actionBarSplitStyle ++attr actionBarStyle ++attr actionBarTabBarStyle ++attr actionBarTabStyle ++attr actionBarTabTextStyle ++attr actionBarTheme ++attr actionBarWidgetTheme ++attr actionButtonStyle ++attr actionDropDownStyle ++attr actionLayout ++attr actionMenuTextAppearance ++attr actionMenuTextColor ++attr actionModeBackground ++attr actionModeCloseButtonStyle ++attr actionModeCloseDrawable ++attr actionModeCopyDrawable ++attr actionModeCutDrawable ++attr actionModeFindDrawable ++attr actionModePasteDrawable ++attr actionModePopupWindowStyle ++attr actionModeSelectAllDrawable ++attr actionModeShareDrawable ++attr actionModeSplitBackground ++attr actionModeStyle ++attr actionModeWebSearchDrawable ++attr actionOverflowButtonStyle ++attr actionOverflowMenuStyle ++attr actionProviderClass ++attr actionViewClass ++attr activityChooserViewStyle ++attr actualImageResource ++attr actualImageScaleType ++attr actualImageUri ++attr alertDialogButtonGroupStyle ++attr alertDialogCenterButtons ++attr alertDialogStyle ++attr alertDialogTheme ++attr allowStacking ++attr alpha ++attr alphabeticModifiers ++attr arrowHeadLength ++attr arrowShaftLength ++attr autoCompleteTextViewStyle ++attr autoSizeMaxTextSize ++attr autoSizeMinTextSize ++attr autoSizePresetSizes ++attr autoSizeStepGranularity ++attr autoSizeTextType ++attr background ++attr backgroundImage ++attr backgroundSplit ++attr backgroundStacked ++attr backgroundTint ++attr backgroundTintMode ++attr barLength ++attr borderlessButtonStyle ++attr buttonBarButtonStyle ++attr buttonBarNegativeButtonStyle ++attr buttonBarNeutralButtonStyle ++attr buttonBarPositiveButtonStyle ++attr buttonBarStyle ++attr buttonGravity ++attr buttonIconDimen ++attr buttonPanelSideLayout ++attr buttonStyle ++attr buttonStyleSmall ++attr buttonTint ++attr buttonTintMode ++attr checkboxStyle ++attr checkedTextViewStyle ++attr closeIcon ++attr closeItemLayout ++attr collapseContentDescription ++attr collapseIcon ++attr color ++attr colorAccent ++attr colorBackgroundFloating ++attr colorButtonNormal ++attr colorControlActivated ++attr colorControlHighlight ++attr colorControlNormal ++attr colorError ++attr colorPrimary ++attr colorPrimaryDark ++attr colorSwitchThumbNormal ++attr commitIcon ++attr contentDescription ++attr contentInsetEnd ++attr contentInsetEndWithActions ++attr contentInsetLeft ++attr contentInsetRight ++attr contentInsetStart ++attr contentInsetStartWithNavigation ++attr controlBackground ++attr coordinatorLayoutStyle ++attr customNavigationLayout ++attr defaultQueryHint ++attr dialogCornerRadius ++attr dialogPreferredPadding ++attr dialogTheme ++attr displayOptions ++attr divider ++attr dividerHorizontal ++attr dividerPadding ++attr dividerVertical ++attr drawableSize ++attr drawerArrowStyle ++attr dropDownListViewStyle ++attr dropdownListPreferredItemHeight ++attr editTextBackground ++attr editTextColor ++attr editTextStyle ++attr elevation ++attr expandActivityOverflowButtonDrawable ++attr fadeDuration ++attr failureImage ++attr failureImageScaleType ++attr firstBaselineToTopHeight ++attr font ++attr fontFamily ++attr fontProviderAuthority ++attr fontProviderCerts ++attr fontProviderFetchStrategy ++attr fontProviderFetchTimeout ++attr fontProviderPackage ++attr fontProviderQuery ++attr fontStyle ++attr fontVariationSettings ++attr fontWeight ++attr gapBetweenBars ++attr goIcon ++attr height ++attr hideOnContentScroll ++attr homeAsUpIndicator ++attr homeLayout ++attr icon ++attr iconTint ++attr iconTintMode ++attr iconifiedByDefault ++attr imageButtonStyle ++attr indeterminateProgressStyle ++attr initialActivityCount ++attr isLightTheme ++attr itemPadding ++attr keylines ++attr lastBaselineToBottomHeight ++attr layout ++attr layout_anchor ++attr layout_anchorGravity ++attr layout_behavior ++attr layout_dodgeInsetEdges ++attr layout_insetEdge ++attr layout_keyline ++attr lineHeight ++attr listChoiceBackgroundIndicator ++attr listDividerAlertDialog ++attr listItemLayout ++attr listLayout ++attr listMenuViewStyle ++attr listPopupWindowStyle ++attr listPreferredItemHeight ++attr listPreferredItemHeightLarge ++attr listPreferredItemHeightSmall ++attr listPreferredItemPaddingLeft ++attr listPreferredItemPaddingRight ++attr logo ++attr logoDescription ++attr maxButtonHeight ++attr measureWithLargestChild ++attr multiChoiceItemLayout ++attr navigationContentDescription ++attr navigationIcon ++attr navigationMode ++attr numericModifiers ++attr overlapAnchor ++attr overlayImage ++attr paddingBottomNoButtons ++attr paddingEnd ++attr paddingStart ++attr paddingTopNoTitle ++attr panelBackground ++attr panelMenuListTheme ++attr panelMenuListWidth ++attr placeholderImage ++attr placeholderImageScaleType ++attr popupMenuStyle ++attr popupTheme ++attr popupWindowStyle ++attr preserveIconSpacing ++attr pressedStateOverlayImage ++attr progressBarAutoRotateInterval ++attr progressBarImage ++attr progressBarImageScaleType ++attr progressBarPadding ++attr progressBarStyle ++attr queryBackground ++attr queryHint ++attr radioButtonStyle ++attr ratingBarStyle ++attr ratingBarStyleIndicator ++attr ratingBarStyleSmall ++attr retryImage ++attr retryImageScaleType ++attr roundAsCircle ++attr roundBottomEnd ++attr roundBottomLeft ++attr roundBottomRight ++attr roundBottomStart ++attr roundTopEnd ++attr roundTopLeft ++attr roundTopRight ++attr roundTopStart ++attr roundWithOverlayColor ++attr roundedCornerRadius ++attr roundingBorderColor ++attr roundingBorderPadding ++attr roundingBorderWidth ++attr searchHintIcon ++attr searchIcon ++attr searchViewStyle ++attr seekBarStyle ++attr selectableItemBackground ++attr selectableItemBackgroundBorderless ++attr showAsAction ++attr showDividers ++attr showText ++attr showTitle ++attr singleChoiceItemLayout ++attr spinBars ++attr spinnerDropDownItemStyle ++attr spinnerStyle ++attr splitTrack ++attr srcCompat ++attr state_above_anchor ++attr statusBarBackground ++attr subMenuArrow ++attr submitBackground ++attr subtitle ++attr subtitleTextAppearance ++attr subtitleTextColor ++attr subtitleTextStyle ++attr suggestionRowLayout ++attr switchMinWidth ++attr switchPadding ++attr switchStyle ++attr switchTextAppearance ++attr textAllCaps ++attr textAppearanceLargePopupMenu ++attr textAppearanceListItem ++attr textAppearanceListItemSecondary ++attr textAppearanceListItemSmall ++attr textAppearancePopupMenuHeader ++attr textAppearanceSearchResultSubtitle ++attr textAppearanceSearchResultTitle ++attr textAppearanceSmallPopupMenu ++attr textColorAlertDialogListItem ++attr textColorSearchUrl ++attr theme ++attr thickness ++attr thumbTextPadding ++attr thumbTint ++attr thumbTintMode ++attr tickMark ++attr tickMarkTint ++attr tickMarkTintMode ++attr tint ++attr tintMode ++attr title ++attr titleMargin ++attr titleMarginBottom ++attr titleMarginEnd ++attr titleMarginStart ++attr titleMarginTop ++attr titleMargins ++attr titleTextAppearance ++attr titleTextColor ++attr titleTextStyle ++attr toolbarNavigationButtonStyle ++attr toolbarStyle ++attr tooltipForegroundColor ++attr tooltipFrameBackground ++attr tooltipText ++attr track ++attr trackTint ++attr trackTintMode ++attr ttcIndex ++attr viewAspectRatio ++attr viewInflaterClass ++attr voiceIcon ++attr windowActionBar ++attr windowActionBarOverlay ++attr windowActionModeOverlay ++attr windowFixedHeightMajor ++attr windowFixedHeightMinor ++attr windowFixedWidthMajor ++attr windowFixedWidthMinor ++attr windowMinWidthMajor ++attr windowMinWidthMinor ++attr windowNoTitle ++bool abc_action_bar_embed_tabs ++bool abc_allow_stacked_button_bar ++bool abc_config_actionMenuItemAllCaps ++color abc_background_cache_hint_selector_material_dark ++color abc_background_cache_hint_selector_material_light ++color abc_btn_colored_borderless_text_material ++color abc_btn_colored_text_material ++color abc_color_highlight_material ++color abc_hint_foreground_material_dark ++color abc_hint_foreground_material_light ++color abc_input_method_navigation_guard ++color abc_primary_text_disable_only_material_dark ++color abc_primary_text_disable_only_material_light ++color abc_primary_text_material_dark ++color abc_primary_text_material_light ++color abc_search_url_text ++color abc_search_url_text_normal ++color abc_search_url_text_pressed ++color abc_search_url_text_selected ++color abc_secondary_text_material_dark ++color abc_secondary_text_material_light ++color abc_tint_btn_checkable ++color abc_tint_default ++color abc_tint_edittext ++color abc_tint_seek_thumb ++color abc_tint_spinner ++color abc_tint_switch_track ++color accent_material_dark ++color accent_material_light ++color background_floating_material_dark ++color background_floating_material_light ++color background_material_dark ++color background_material_light ++color bright_foreground_disabled_material_dark ++color bright_foreground_disabled_material_light ++color bright_foreground_inverse_material_dark ++color bright_foreground_inverse_material_light ++color bright_foreground_material_dark ++color bright_foreground_material_light ++color button_material_dark ++color button_material_light ++color catalyst_logbox_background ++color catalyst_redbox_background ++color dim_foreground_disabled_material_dark ++color dim_foreground_disabled_material_light ++color dim_foreground_material_dark ++color dim_foreground_material_light ++color error_color_material_dark ++color error_color_material_light ++color foreground_material_dark ++color foreground_material_light ++color highlighted_text_material_dark ++color highlighted_text_material_light ++color material_blue_grey_800 ++color material_blue_grey_900 ++color material_blue_grey_950 ++color material_deep_teal_200 ++color material_deep_teal_500 ++color material_grey_100 ++color material_grey_300 ++color material_grey_50 ++color material_grey_600 ++color material_grey_800 ++color material_grey_850 ++color material_grey_900 ++color notification_action_color_filter ++color notification_icon_bg_color ++color primary_dark_material_dark ++color primary_dark_material_light ++color primary_material_dark ++color primary_material_light ++color primary_text_default_material_dark ++color primary_text_default_material_light ++color primary_text_disabled_material_dark ++color primary_text_disabled_material_light ++color ripple_material_dark ++color ripple_material_light ++color secondary_text_default_material_dark ++color secondary_text_default_material_light ++color secondary_text_disabled_material_dark ++color secondary_text_disabled_material_light ++color switch_thumb_disabled_material_dark ++color switch_thumb_disabled_material_light ++color switch_thumb_material_dark ++color switch_thumb_material_light ++color switch_thumb_normal_material_dark ++color switch_thumb_normal_material_light ++color tooltip_background_dark ++color tooltip_background_light ++dimen abc_action_bar_content_inset_material ++dimen abc_action_bar_content_inset_with_nav ++dimen abc_action_bar_default_height_material ++dimen abc_action_bar_default_padding_end_material ++dimen abc_action_bar_default_padding_start_material ++dimen abc_action_bar_elevation_material ++dimen abc_action_bar_icon_vertical_padding_material ++dimen abc_action_bar_overflow_padding_end_material ++dimen abc_action_bar_overflow_padding_start_material ++dimen abc_action_bar_stacked_max_height ++dimen abc_action_bar_stacked_tab_max_width ++dimen abc_action_bar_subtitle_bottom_margin_material ++dimen abc_action_bar_subtitle_top_margin_material ++dimen abc_action_button_min_height_material ++dimen abc_action_button_min_width_material ++dimen abc_action_button_min_width_overflow_material ++dimen abc_alert_dialog_button_bar_height ++dimen abc_alert_dialog_button_dimen ++dimen abc_button_inset_horizontal_material ++dimen abc_button_inset_vertical_material ++dimen abc_button_padding_horizontal_material ++dimen abc_button_padding_vertical_material ++dimen abc_cascading_menus_min_smallest_width ++dimen abc_config_prefDialogWidth ++dimen abc_control_corner_material ++dimen abc_control_inset_material ++dimen abc_control_padding_material ++dimen abc_dialog_corner_radius_material ++dimen abc_dialog_fixed_height_major ++dimen abc_dialog_fixed_height_minor ++dimen abc_dialog_fixed_width_major ++dimen abc_dialog_fixed_width_minor ++dimen abc_dialog_list_padding_bottom_no_buttons ++dimen abc_dialog_list_padding_top_no_title ++dimen abc_dialog_min_width_major ++dimen abc_dialog_min_width_minor ++dimen abc_dialog_padding_material ++dimen abc_dialog_padding_top_material ++dimen abc_dialog_title_divider_material ++dimen abc_disabled_alpha_material_dark ++dimen abc_disabled_alpha_material_light ++dimen abc_dropdownitem_icon_width ++dimen abc_dropdownitem_text_padding_left ++dimen abc_dropdownitem_text_padding_right ++dimen abc_edit_text_inset_bottom_material ++dimen abc_edit_text_inset_horizontal_material ++dimen abc_edit_text_inset_top_material ++dimen abc_floating_window_z ++dimen abc_list_item_padding_horizontal_material ++dimen abc_panel_menu_list_width ++dimen abc_progress_bar_height_material ++dimen abc_search_view_preferred_height ++dimen abc_search_view_preferred_width ++dimen abc_seekbar_track_background_height_material ++dimen abc_seekbar_track_progress_height_material ++dimen abc_select_dialog_padding_start_material ++dimen abc_switch_padding ++dimen abc_text_size_body_1_material ++dimen abc_text_size_body_2_material ++dimen abc_text_size_button_material ++dimen abc_text_size_caption_material ++dimen abc_text_size_display_1_material ++dimen abc_text_size_display_2_material ++dimen abc_text_size_display_3_material ++dimen abc_text_size_display_4_material ++dimen abc_text_size_headline_material ++dimen abc_text_size_large_material ++dimen abc_text_size_medium_material ++dimen abc_text_size_menu_header_material ++dimen abc_text_size_menu_material ++dimen abc_text_size_small_material ++dimen abc_text_size_subhead_material ++dimen abc_text_size_subtitle_material_toolbar ++dimen abc_text_size_title_material ++dimen abc_text_size_title_material_toolbar ++dimen compat_button_inset_horizontal_material ++dimen compat_button_inset_vertical_material ++dimen compat_button_padding_horizontal_material ++dimen compat_button_padding_vertical_material ++dimen compat_control_corner_material ++dimen compat_notification_large_icon_max_height ++dimen compat_notification_large_icon_max_width ++dimen disabled_alpha_material_dark ++dimen disabled_alpha_material_light ++dimen highlight_alpha_material_colored ++dimen highlight_alpha_material_dark ++dimen highlight_alpha_material_light ++dimen hint_alpha_material_dark ++dimen hint_alpha_material_light ++dimen hint_pressed_alpha_material_dark ++dimen hint_pressed_alpha_material_light ++dimen notification_action_icon_size ++dimen notification_action_text_size ++dimen notification_big_circle_margin ++dimen notification_content_margin_start ++dimen notification_large_icon_height ++dimen notification_large_icon_width ++dimen notification_main_column_padding_top ++dimen notification_media_narrow_margin ++dimen notification_right_icon_size ++dimen notification_right_side_padding_top ++dimen notification_small_icon_background_padding ++dimen notification_small_icon_size_as_large ++dimen notification_subtext_size ++dimen notification_top_pad ++dimen notification_top_pad_large_text ++dimen tooltip_corner_radius ++dimen tooltip_horizontal_padding ++dimen tooltip_margin ++dimen tooltip_precise_anchor_extra_offset ++dimen tooltip_precise_anchor_threshold ++dimen tooltip_vertical_padding ++dimen tooltip_y_offset_non_touch ++dimen tooltip_y_offset_touch ++drawable abc_ab_share_pack_mtrl_alpha ++drawable abc_action_bar_item_background_material ++drawable abc_btn_borderless_material ++drawable abc_btn_check_material ++drawable abc_btn_check_to_on_mtrl_000 ++drawable abc_btn_check_to_on_mtrl_015 ++drawable abc_btn_colored_material ++drawable abc_btn_default_mtrl_shape ++drawable abc_btn_radio_material ++drawable abc_btn_radio_to_on_mtrl_000 ++drawable abc_btn_radio_to_on_mtrl_015 ++drawable abc_btn_switch_to_on_mtrl_00001 ++drawable abc_btn_switch_to_on_mtrl_00012 ++drawable abc_cab_background_internal_bg ++drawable abc_cab_background_top_material ++drawable abc_cab_background_top_mtrl_alpha ++drawable abc_control_background_material ++drawable abc_dialog_material_background ++drawable abc_edit_text_material ++drawable abc_ic_ab_back_material ++drawable abc_ic_arrow_drop_right_black_24dp ++drawable abc_ic_clear_material ++drawable abc_ic_commit_search_api_mtrl_alpha ++drawable abc_ic_go_search_api_material ++drawable abc_ic_menu_copy_mtrl_am_alpha ++drawable abc_ic_menu_cut_mtrl_alpha ++drawable abc_ic_menu_overflow_material ++drawable abc_ic_menu_paste_mtrl_am_alpha ++drawable abc_ic_menu_selectall_mtrl_alpha ++drawable abc_ic_menu_share_mtrl_alpha ++drawable abc_ic_search_api_material ++drawable abc_ic_star_black_16dp ++drawable abc_ic_star_black_36dp ++drawable abc_ic_star_black_48dp ++drawable abc_ic_star_half_black_16dp ++drawable abc_ic_star_half_black_36dp ++drawable abc_ic_star_half_black_48dp ++drawable abc_ic_voice_search_api_material ++drawable abc_item_background_holo_dark ++drawable abc_item_background_holo_light ++drawable abc_list_divider_material ++drawable abc_list_divider_mtrl_alpha ++drawable abc_list_focused_holo ++drawable abc_list_longpressed_holo ++drawable abc_list_pressed_holo_dark ++drawable abc_list_pressed_holo_light ++drawable abc_list_selector_background_transition_holo_dark ++drawable abc_list_selector_background_transition_holo_light ++drawable abc_list_selector_disabled_holo_dark ++drawable abc_list_selector_disabled_holo_light ++drawable abc_list_selector_holo_dark ++drawable abc_list_selector_holo_light ++drawable abc_menu_hardkey_panel_mtrl_mult ++drawable abc_popup_background_mtrl_mult ++drawable abc_ratingbar_indicator_material ++drawable abc_ratingbar_material ++drawable abc_ratingbar_small_material ++drawable abc_scrubber_control_off_mtrl_alpha ++drawable abc_scrubber_control_to_pressed_mtrl_000 ++drawable abc_scrubber_control_to_pressed_mtrl_005 ++drawable abc_scrubber_primary_mtrl_alpha ++drawable abc_scrubber_track_mtrl_alpha ++drawable abc_seekbar_thumb_material ++drawable abc_seekbar_tick_mark_material ++drawable abc_seekbar_track_material ++drawable abc_spinner_mtrl_am_alpha ++drawable abc_spinner_textfield_background_material ++drawable abc_switch_thumb_material ++drawable abc_switch_track_mtrl_alpha ++drawable abc_tab_indicator_material ++drawable abc_tab_indicator_mtrl_alpha ++drawable abc_text_cursor_material ++drawable abc_text_select_handle_left_mtrl_dark ++drawable abc_text_select_handle_left_mtrl_light ++drawable abc_text_select_handle_middle_mtrl_dark ++drawable abc_text_select_handle_middle_mtrl_light ++drawable abc_text_select_handle_right_mtrl_dark ++drawable abc_text_select_handle_right_mtrl_light ++drawable abc_textfield_activated_mtrl_alpha ++drawable abc_textfield_default_mtrl_alpha ++drawable abc_textfield_search_activated_mtrl_alpha ++drawable abc_textfield_search_default_mtrl_alpha ++drawable abc_textfield_search_material ++drawable abc_vector_test ++drawable notification_action_background ++drawable notification_bg ++drawable notification_bg_low ++drawable notification_bg_low_normal ++drawable notification_bg_low_pressed ++drawable notification_bg_normal ++drawable notification_bg_normal_pressed ++drawable notification_icon_background ++drawable notification_template_icon_bg ++drawable notification_template_icon_low_bg ++drawable notification_tile_bg ++drawable notify_panel_notification_icon_bg ++drawable redbox_top_border_background ++drawable tooltip_frame_dark ++drawable tooltip_frame_light ++id accessibility_actions ++id accessibility_hint ++id accessibility_label ++id accessibility_role ++id accessibility_state ++id accessibility_value ++id action_bar ++id action_bar_activity_content ++id action_bar_container ++id action_bar_root ++id action_bar_spinner ++id action_bar_subtitle ++id action_bar_title ++id action_container ++id action_context_bar ++id action_divider ++id action_image ++id action_menu_divider ++id action_menu_presenter ++id action_mode_bar ++id action_mode_bar_stub ++id action_mode_close_button ++id action_text ++id actions ++id activity_chooser_view_content ++id add ++id alertTitle ++id async ++id blocking ++id bottom ++id buttonPanel ++id catalyst_redbox_title ++id center ++id centerCrop ++id centerInside ++id checkbox ++id chronometer ++id content ++id contentPanel ++id custom ++id customPanel ++id decor_content_parent ++id default_activity_button ++id edit_query ++id end ++id expand_activities_button ++id expanded_menu ++id fitBottomStart ++id fitCenter ++id fitEnd ++id fitStart ++id fitXY ++id focusCrop ++id forever ++id fps_text ++id ghost_view ++id ghost_view_holder ++id group_divider ++id home ++id icon ++id icon_group ++id image ++id info ++id italic ++id left ++id line1 ++id line3 ++id listMode ++id list_item ++id message ++id multiply ++id none ++id normal ++id notification_background ++id notification_main_column ++id notification_main_column_container ++id parentPanel ++id parent_matrix ++id progress_circular ++id progress_horizontal ++id radio ++id react_test_id ++id right ++id right_icon ++id right_side ++id rn_frame_file ++id rn_frame_method ++id rn_redbox_dismiss_button ++id rn_redbox_line_separator ++id rn_redbox_loading_indicator ++id rn_redbox_reload_button ++id rn_redbox_report_button ++id rn_redbox_report_label ++id rn_redbox_stack ++id save_non_transition_alpha ++id save_overlay_view ++id screen ++id scrollIndicatorDown ++id scrollIndicatorUp ++id scrollView ++id search_badge ++id search_bar ++id search_button ++id search_close_btn ++id search_edit_frame ++id search_go_btn ++id search_mag_icon ++id search_plate ++id search_src_text ++id search_voice_btn ++id select_dialog_listview ++id shortcut ++id spacer ++id split_action_bar ++id src_atop ++id src_in ++id src_over ++id start ++id submenuarrow ++id submit_area ++id tabMode ++id tag_transition_group ++id tag_unhandled_key_event_manager ++id tag_unhandled_key_listeners ++id text ++id text2 ++id textSpacerNoButtons ++id textSpacerNoTitle ++id time ++id title ++id titleDividerNoCustom ++id title_template ++id top ++id topPanel ++id transition_current_scene ++id transition_layout_save ++id transition_position ++id transition_scene_layoutid_cache ++id transition_transform ++id uniform ++id up ++id view_tag_instance_handle ++id view_tag_native_id ++id wrap_content ++integer abc_config_activityDefaultDur ++integer abc_config_activityShortDur ++integer cancel_button_image_alpha ++integer config_tooltipAnimTime ++integer react_native_dev_server_port ++integer react_native_inspector_proxy_port ++integer status_bar_notification_info_maxnum ++layout abc_action_bar_title_item ++layout abc_action_bar_up_container ++layout abc_action_menu_item_layout ++layout abc_action_menu_layout ++layout abc_action_mode_bar ++layout abc_action_mode_close_item_material ++layout abc_activity_chooser_view ++layout abc_activity_chooser_view_list_item ++layout abc_alert_dialog_button_bar_material ++layout abc_alert_dialog_material ++layout abc_alert_dialog_title_material ++layout abc_cascading_menu_item_layout ++layout abc_dialog_title_material ++layout abc_expanded_menu_layout ++layout abc_list_menu_item_checkbox ++layout abc_list_menu_item_icon ++layout abc_list_menu_item_layout ++layout abc_list_menu_item_radio ++layout abc_popup_menu_header_item_layout ++layout abc_popup_menu_item_layout ++layout abc_screen_content_include ++layout abc_screen_simple ++layout abc_screen_simple_overlay_action_mode ++layout abc_screen_toolbar ++layout abc_search_dropdown_item_icons_2line ++layout abc_search_view ++layout abc_select_dialog_material ++layout abc_tooltip ++layout dev_loading_view ++layout fps_view ++layout notification_action ++layout notification_action_tombstone ++layout notification_template_custom_big ++layout notification_template_icon_group ++layout notification_template_part_chronometer ++layout notification_template_part_time ++layout redbox_item_frame ++layout redbox_item_title ++layout redbox_view ++layout select_dialog_item_material ++layout select_dialog_multichoice_material ++layout select_dialog_singlechoice_material ++layout support_simple_spinner_dropdown_item ++string abc_action_bar_home_description ++string abc_action_bar_up_description ++string abc_action_menu_overflow_description ++string abc_action_mode_done ++string abc_activity_chooser_view_see_all ++string abc_activitychooserview_choose_application ++string abc_capital_off ++string abc_capital_on ++string abc_font_family_body_1_material ++string abc_font_family_body_2_material ++string abc_font_family_button_material ++string abc_font_family_caption_material ++string abc_font_family_display_1_material ++string abc_font_family_display_2_material ++string abc_font_family_display_3_material ++string abc_font_family_display_4_material ++string abc_font_family_headline_material ++string abc_font_family_menu_material ++string abc_font_family_subhead_material ++string abc_font_family_title_material ++string abc_menu_alt_shortcut_label ++string abc_menu_ctrl_shortcut_label ++string abc_menu_delete_shortcut_label ++string abc_menu_enter_shortcut_label ++string abc_menu_function_shortcut_label ++string abc_menu_meta_shortcut_label ++string abc_menu_shift_shortcut_label ++string abc_menu_space_shortcut_label ++string abc_menu_sym_shortcut_label ++string abc_prepend_shortcut_label ++string abc_search_hint ++string abc_searchview_description_clear ++string abc_searchview_description_query ++string abc_searchview_description_search ++string abc_searchview_description_submit ++string abc_searchview_description_voice ++string abc_shareactionprovider_share_with ++string abc_shareactionprovider_share_with_application ++string abc_toolbar_collapse_description ++string alert_description ++string button_description ++string catalyst_change_bundle_location ++string catalyst_copy_button ++string catalyst_debug ++string catalyst_debug_chrome ++string catalyst_debug_chrome_stop ++string catalyst_debug_connecting ++string catalyst_debug_error ++string catalyst_debug_open ++string catalyst_debug_stop ++string catalyst_devtools_open ++string catalyst_dismiss_button ++string catalyst_heap_capture ++string catalyst_hot_reloading ++string catalyst_hot_reloading_auto_disable ++string catalyst_hot_reloading_auto_enable ++string catalyst_hot_reloading_stop ++string catalyst_inspector ++string catalyst_loading_from_url ++string catalyst_open_flipper_error ++string catalyst_perf_monitor ++string catalyst_perf_monitor_stop ++string catalyst_reload ++string catalyst_reload_button ++string catalyst_reload_error ++string catalyst_report_button ++string catalyst_sample_profiler_disable ++string catalyst_sample_profiler_enable ++string catalyst_settings ++string catalyst_settings_title ++string combobox_description ++string header_description ++string image_description ++string imagebutton_description ++string link_description ++string menu_description ++string menubar_description ++string menuitem_description ++string progressbar_description ++string radiogroup_description ++string rn_tab_description ++string scrollbar_description ++string search_description ++string search_menu_title ++string spinbutton_description ++string state_busy_description ++string state_collapsed_description ++string state_expanded_description ++string state_mixed_description ++string state_off_description ++string state_on_description ++string status_bar_notification_info_overflow ++string summary_description ++string tablist_description ++string timer_description ++string toolbar_description ++style AlertDialog_AppCompat ++style AlertDialog_AppCompat_Light ++style Animation_AppCompat_Dialog ++style Animation_AppCompat_DropDownUp ++style Animation_AppCompat_Tooltip ++style Animation_Catalyst_LogBox ++style Animation_Catalyst_RedBox ++style Base_AlertDialog_AppCompat ++style Base_AlertDialog_AppCompat_Light ++style Base_Animation_AppCompat_Dialog ++style Base_Animation_AppCompat_DropDownUp ++style Base_Animation_AppCompat_Tooltip ++style Base_DialogWindowTitleBackground_AppCompat ++style Base_DialogWindowTitle_AppCompat ++style Base_TextAppearance_AppCompat ++style Base_TextAppearance_AppCompat_Body1 ++style Base_TextAppearance_AppCompat_Body2 ++style Base_TextAppearance_AppCompat_Button ++style Base_TextAppearance_AppCompat_Caption ++style Base_TextAppearance_AppCompat_Display1 ++style Base_TextAppearance_AppCompat_Display2 ++style Base_TextAppearance_AppCompat_Display3 ++style Base_TextAppearance_AppCompat_Display4 ++style Base_TextAppearance_AppCompat_Headline ++style Base_TextAppearance_AppCompat_Inverse ++style Base_TextAppearance_AppCompat_Large ++style Base_TextAppearance_AppCompat_Large_Inverse ++style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large ++style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small ++style Base_TextAppearance_AppCompat_Medium ++style Base_TextAppearance_AppCompat_Medium_Inverse ++style Base_TextAppearance_AppCompat_Menu ++style Base_TextAppearance_AppCompat_SearchResult ++style Base_TextAppearance_AppCompat_SearchResult_Subtitle ++style Base_TextAppearance_AppCompat_SearchResult_Title ++style Base_TextAppearance_AppCompat_Small ++style Base_TextAppearance_AppCompat_Small_Inverse ++style Base_TextAppearance_AppCompat_Subhead ++style Base_TextAppearance_AppCompat_Subhead_Inverse ++style Base_TextAppearance_AppCompat_Title ++style Base_TextAppearance_AppCompat_Title_Inverse ++style Base_TextAppearance_AppCompat_Tooltip ++style Base_TextAppearance_AppCompat_Widget_ActionBar_Menu ++style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle ++style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse ++style Base_TextAppearance_AppCompat_Widget_ActionBar_Title ++style Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse ++style Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle ++style Base_TextAppearance_AppCompat_Widget_ActionMode_Title ++style Base_TextAppearance_AppCompat_Widget_Button ++style Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored ++style Base_TextAppearance_AppCompat_Widget_Button_Colored ++style Base_TextAppearance_AppCompat_Widget_Button_Inverse ++style Base_TextAppearance_AppCompat_Widget_DropDownItem ++style Base_TextAppearance_AppCompat_Widget_PopupMenu_Header ++style Base_TextAppearance_AppCompat_Widget_PopupMenu_Large ++style Base_TextAppearance_AppCompat_Widget_PopupMenu_Small ++style Base_TextAppearance_AppCompat_Widget_Switch ++style Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem ++style Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item ++style Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle ++style Base_TextAppearance_Widget_AppCompat_Toolbar_Title ++style Base_ThemeOverlay_AppCompat ++style Base_ThemeOverlay_AppCompat_ActionBar ++style Base_ThemeOverlay_AppCompat_Dark ++style Base_ThemeOverlay_AppCompat_Dark_ActionBar ++style Base_ThemeOverlay_AppCompat_Dialog ++style Base_ThemeOverlay_AppCompat_Dialog_Alert ++style Base_ThemeOverlay_AppCompat_Light ++style Base_Theme_AppCompat ++style Base_Theme_AppCompat_CompactMenu ++style Base_Theme_AppCompat_Dialog ++style Base_Theme_AppCompat_DialogWhenLarge ++style Base_Theme_AppCompat_Dialog_Alert ++style Base_Theme_AppCompat_Dialog_FixedSize ++style Base_Theme_AppCompat_Dialog_MinWidth ++style Base_Theme_AppCompat_Light ++style Base_Theme_AppCompat_Light_DarkActionBar ++style Base_Theme_AppCompat_Light_Dialog ++style Base_Theme_AppCompat_Light_DialogWhenLarge ++style Base_Theme_AppCompat_Light_Dialog_Alert ++style Base_Theme_AppCompat_Light_Dialog_FixedSize ++style Base_Theme_AppCompat_Light_Dialog_MinWidth ++style Base_V21_ThemeOverlay_AppCompat_Dialog ++style Base_V21_Theme_AppCompat ++style Base_V21_Theme_AppCompat_Dialog ++style Base_V21_Theme_AppCompat_Light ++style Base_V21_Theme_AppCompat_Light_Dialog ++style Base_V22_Theme_AppCompat ++style Base_V22_Theme_AppCompat_Light ++style Base_V23_Theme_AppCompat ++style Base_V23_Theme_AppCompat_Light ++style Base_V26_Theme_AppCompat ++style Base_V26_Theme_AppCompat_Light ++style Base_V26_Widget_AppCompat_Toolbar ++style Base_V28_Theme_AppCompat ++style Base_V28_Theme_AppCompat_Light ++style Base_V7_ThemeOverlay_AppCompat_Dialog ++style Base_V7_Theme_AppCompat ++style Base_V7_Theme_AppCompat_Dialog ++style Base_V7_Theme_AppCompat_Light ++style Base_V7_Theme_AppCompat_Light_Dialog ++style Base_V7_Widget_AppCompat_AutoCompleteTextView ++style Base_V7_Widget_AppCompat_EditText ++style Base_V7_Widget_AppCompat_Toolbar ++style Base_Widget_AppCompat_ActionBar ++style Base_Widget_AppCompat_ActionBar_Solid ++style Base_Widget_AppCompat_ActionBar_TabBar ++style Base_Widget_AppCompat_ActionBar_TabText ++style Base_Widget_AppCompat_ActionBar_TabView ++style Base_Widget_AppCompat_ActionButton ++style Base_Widget_AppCompat_ActionButton_CloseMode ++style Base_Widget_AppCompat_ActionButton_Overflow ++style Base_Widget_AppCompat_ActionMode ++style Base_Widget_AppCompat_ActivityChooserView ++style Base_Widget_AppCompat_AutoCompleteTextView ++style Base_Widget_AppCompat_Button ++style Base_Widget_AppCompat_ButtonBar ++style Base_Widget_AppCompat_ButtonBar_AlertDialog ++style Base_Widget_AppCompat_Button_Borderless ++style Base_Widget_AppCompat_Button_Borderless_Colored ++style Base_Widget_AppCompat_Button_ButtonBar_AlertDialog ++style Base_Widget_AppCompat_Button_Colored ++style Base_Widget_AppCompat_Button_Small ++style Base_Widget_AppCompat_CompoundButton_CheckBox ++style Base_Widget_AppCompat_CompoundButton_RadioButton ++style Base_Widget_AppCompat_CompoundButton_Switch ++style Base_Widget_AppCompat_DrawerArrowToggle ++style Base_Widget_AppCompat_DrawerArrowToggle_Common ++style Base_Widget_AppCompat_DropDownItem_Spinner ++style Base_Widget_AppCompat_EditText ++style Base_Widget_AppCompat_ImageButton ++style Base_Widget_AppCompat_Light_ActionBar ++style Base_Widget_AppCompat_Light_ActionBar_Solid ++style Base_Widget_AppCompat_Light_ActionBar_TabBar ++style Base_Widget_AppCompat_Light_ActionBar_TabText ++style Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse ++style Base_Widget_AppCompat_Light_ActionBar_TabView ++style Base_Widget_AppCompat_Light_PopupMenu ++style Base_Widget_AppCompat_Light_PopupMenu_Overflow ++style Base_Widget_AppCompat_ListMenuView ++style Base_Widget_AppCompat_ListPopupWindow ++style Base_Widget_AppCompat_ListView ++style Base_Widget_AppCompat_ListView_DropDown ++style Base_Widget_AppCompat_ListView_Menu ++style Base_Widget_AppCompat_PopupMenu ++style Base_Widget_AppCompat_PopupMenu_Overflow ++style Base_Widget_AppCompat_PopupWindow ++style Base_Widget_AppCompat_ProgressBar ++style Base_Widget_AppCompat_ProgressBar_Horizontal ++style Base_Widget_AppCompat_RatingBar ++style Base_Widget_AppCompat_RatingBar_Indicator ++style Base_Widget_AppCompat_RatingBar_Small ++style Base_Widget_AppCompat_SearchView ++style Base_Widget_AppCompat_SearchView_ActionBar ++style Base_Widget_AppCompat_SeekBar ++style Base_Widget_AppCompat_SeekBar_Discrete ++style Base_Widget_AppCompat_Spinner ++style Base_Widget_AppCompat_Spinner_Underlined ++style Base_Widget_AppCompat_TextView_SpinnerItem ++style Base_Widget_AppCompat_Toolbar ++style Base_Widget_AppCompat_Toolbar_Button_Navigation ++style CalendarDatePickerDialog ++style CalendarDatePickerStyle ++style DialogAnimationFade ++style DialogAnimationSlide ++style Platform_AppCompat ++style Platform_AppCompat_Light ++style Platform_ThemeOverlay_AppCompat ++style Platform_ThemeOverlay_AppCompat_Dark ++style Platform_ThemeOverlay_AppCompat_Light ++style Platform_V21_AppCompat ++style Platform_V21_AppCompat_Light ++style Platform_V25_AppCompat ++style Platform_V25_AppCompat_Light ++style Platform_Widget_AppCompat_Spinner ++style RtlOverlay_DialogWindowTitle_AppCompat ++style RtlOverlay_Widget_AppCompat_ActionBar_TitleItem ++style RtlOverlay_Widget_AppCompat_DialogTitle_Icon ++style RtlOverlay_Widget_AppCompat_PopupMenuItem ++style RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup ++style RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut ++style RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow ++style RtlOverlay_Widget_AppCompat_PopupMenuItem_Text ++style RtlOverlay_Widget_AppCompat_PopupMenuItem_Title ++style RtlOverlay_Widget_AppCompat_SearchView_MagIcon ++style RtlOverlay_Widget_AppCompat_Search_DropDown ++style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 ++style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 ++style RtlOverlay_Widget_AppCompat_Search_DropDown_Query ++style RtlOverlay_Widget_AppCompat_Search_DropDown_Text ++style RtlUnderlay_Widget_AppCompat_ActionButton ++style RtlUnderlay_Widget_AppCompat_ActionButton_Overflow ++style SpinnerDatePickerDialog ++style SpinnerDatePickerStyle ++style TextAppearance_AppCompat ++style TextAppearance_AppCompat_Body1 ++style TextAppearance_AppCompat_Body2 ++style TextAppearance_AppCompat_Button ++style TextAppearance_AppCompat_Caption ++style TextAppearance_AppCompat_Display1 ++style TextAppearance_AppCompat_Display2 ++style TextAppearance_AppCompat_Display3 ++style TextAppearance_AppCompat_Display4 ++style TextAppearance_AppCompat_Headline ++style TextAppearance_AppCompat_Inverse ++style TextAppearance_AppCompat_Large ++style TextAppearance_AppCompat_Large_Inverse ++style TextAppearance_AppCompat_Light_SearchResult_Subtitle ++style TextAppearance_AppCompat_Light_SearchResult_Title ++style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large ++style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small ++style TextAppearance_AppCompat_Medium ++style TextAppearance_AppCompat_Medium_Inverse ++style TextAppearance_AppCompat_Menu ++style TextAppearance_AppCompat_SearchResult_Subtitle ++style TextAppearance_AppCompat_SearchResult_Title ++style TextAppearance_AppCompat_Small ++style TextAppearance_AppCompat_Small_Inverse ++style TextAppearance_AppCompat_Subhead ++style TextAppearance_AppCompat_Subhead_Inverse ++style TextAppearance_AppCompat_Title ++style TextAppearance_AppCompat_Title_Inverse ++style TextAppearance_AppCompat_Tooltip ++style TextAppearance_AppCompat_Widget_ActionBar_Menu ++style TextAppearance_AppCompat_Widget_ActionBar_Subtitle ++style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse ++style TextAppearance_AppCompat_Widget_ActionBar_Title ++style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse ++style TextAppearance_AppCompat_Widget_ActionMode_Subtitle ++style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse ++style TextAppearance_AppCompat_Widget_ActionMode_Title ++style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse ++style TextAppearance_AppCompat_Widget_Button ++style TextAppearance_AppCompat_Widget_Button_Borderless_Colored ++style TextAppearance_AppCompat_Widget_Button_Colored ++style TextAppearance_AppCompat_Widget_Button_Inverse ++style TextAppearance_AppCompat_Widget_DropDownItem ++style TextAppearance_AppCompat_Widget_PopupMenu_Header ++style TextAppearance_AppCompat_Widget_PopupMenu_Large ++style TextAppearance_AppCompat_Widget_PopupMenu_Small ++style TextAppearance_AppCompat_Widget_Switch ++style TextAppearance_AppCompat_Widget_TextView_SpinnerItem ++style TextAppearance_Compat_Notification ++style TextAppearance_Compat_Notification_Info ++style TextAppearance_Compat_Notification_Line2 ++style TextAppearance_Compat_Notification_Time ++style TextAppearance_Compat_Notification_Title ++style TextAppearance_Widget_AppCompat_ExpandedMenu_Item ++style TextAppearance_Widget_AppCompat_Toolbar_Subtitle ++style TextAppearance_Widget_AppCompat_Toolbar_Title ++style Theme ++style ThemeOverlay_AppCompat ++style ThemeOverlay_AppCompat_ActionBar ++style ThemeOverlay_AppCompat_Dark ++style ThemeOverlay_AppCompat_Dark_ActionBar ++style ThemeOverlay_AppCompat_Dialog ++style ThemeOverlay_AppCompat_Dialog_Alert ++style ThemeOverlay_AppCompat_Light ++style Theme_AppCompat ++style Theme_AppCompat_CompactMenu ++style Theme_AppCompat_DayNight ++style Theme_AppCompat_DayNight_DarkActionBar ++style Theme_AppCompat_DayNight_Dialog ++style Theme_AppCompat_DayNight_DialogWhenLarge ++style Theme_AppCompat_DayNight_Dialog_Alert ++style Theme_AppCompat_DayNight_Dialog_MinWidth ++style Theme_AppCompat_DayNight_NoActionBar ++style Theme_AppCompat_Dialog ++style Theme_AppCompat_DialogWhenLarge ++style Theme_AppCompat_Dialog_Alert ++style Theme_AppCompat_Dialog_MinWidth ++style Theme_AppCompat_Light ++style Theme_AppCompat_Light_DarkActionBar ++style Theme_AppCompat_Light_Dialog ++style Theme_AppCompat_Light_DialogWhenLarge ++style Theme_AppCompat_Light_Dialog_Alert ++style Theme_AppCompat_Light_Dialog_MinWidth ++style Theme_AppCompat_Light_NoActionBar ++style Theme_AppCompat_NoActionBar ++style Theme_Catalyst ++style Theme_Catalyst_LogBox ++style Theme_Catalyst_RedBox ++style Theme_FullScreenDialog ++style Theme_FullScreenDialogAnimatedFade ++style Theme_FullScreenDialogAnimatedSlide ++style Theme_ReactNative_AppCompat_Light ++style Theme_ReactNative_AppCompat_Light_NoActionBar_FullScreen ++style Widget_AppCompat_ActionBar ++style Widget_AppCompat_ActionBar_Solid ++style Widget_AppCompat_ActionBar_TabBar ++style Widget_AppCompat_ActionBar_TabText ++style Widget_AppCompat_ActionBar_TabView ++style Widget_AppCompat_ActionButton ++style Widget_AppCompat_ActionButton_CloseMode ++style Widget_AppCompat_ActionButton_Overflow ++style Widget_AppCompat_ActionMode ++style Widget_AppCompat_ActivityChooserView ++style Widget_AppCompat_AutoCompleteTextView ++style Widget_AppCompat_Button ++style Widget_AppCompat_ButtonBar ++style Widget_AppCompat_ButtonBar_AlertDialog ++style Widget_AppCompat_Button_Borderless ++style Widget_AppCompat_Button_Borderless_Colored ++style Widget_AppCompat_Button_ButtonBar_AlertDialog ++style Widget_AppCompat_Button_Colored ++style Widget_AppCompat_Button_Small ++style Widget_AppCompat_CompoundButton_CheckBox ++style Widget_AppCompat_CompoundButton_RadioButton ++style Widget_AppCompat_CompoundButton_Switch ++style Widget_AppCompat_DrawerArrowToggle ++style Widget_AppCompat_DropDownItem_Spinner ++style Widget_AppCompat_EditText ++style Widget_AppCompat_ImageButton ++style Widget_AppCompat_Light_ActionBar ++style Widget_AppCompat_Light_ActionBar_Solid ++style Widget_AppCompat_Light_ActionBar_Solid_Inverse ++style Widget_AppCompat_Light_ActionBar_TabBar ++style Widget_AppCompat_Light_ActionBar_TabBar_Inverse ++style Widget_AppCompat_Light_ActionBar_TabText ++style Widget_AppCompat_Light_ActionBar_TabText_Inverse ++style Widget_AppCompat_Light_ActionBar_TabView ++style Widget_AppCompat_Light_ActionBar_TabView_Inverse ++style Widget_AppCompat_Light_ActionButton ++style Widget_AppCompat_Light_ActionButton_CloseMode ++style Widget_AppCompat_Light_ActionButton_Overflow ++style Widget_AppCompat_Light_ActionMode_Inverse ++style Widget_AppCompat_Light_ActivityChooserView ++style Widget_AppCompat_Light_AutoCompleteTextView ++style Widget_AppCompat_Light_DropDownItem_Spinner ++style Widget_AppCompat_Light_ListPopupWindow ++style Widget_AppCompat_Light_ListView_DropDown ++style Widget_AppCompat_Light_PopupMenu ++style Widget_AppCompat_Light_PopupMenu_Overflow ++style Widget_AppCompat_Light_SearchView ++style Widget_AppCompat_Light_Spinner_DropDown_ActionBar ++style Widget_AppCompat_ListMenuView ++style Widget_AppCompat_ListPopupWindow ++style Widget_AppCompat_ListView ++style Widget_AppCompat_ListView_DropDown ++style Widget_AppCompat_ListView_Menu ++style Widget_AppCompat_PopupMenu ++style Widget_AppCompat_PopupMenu_Overflow ++style Widget_AppCompat_PopupWindow ++style Widget_AppCompat_ProgressBar ++style Widget_AppCompat_ProgressBar_Horizontal ++style Widget_AppCompat_RatingBar ++style Widget_AppCompat_RatingBar_Indicator ++style Widget_AppCompat_RatingBar_Small ++style Widget_AppCompat_SearchView ++style Widget_AppCompat_SearchView_ActionBar ++style Widget_AppCompat_SeekBar ++style Widget_AppCompat_SeekBar_Discrete ++style Widget_AppCompat_Spinner ++style Widget_AppCompat_Spinner_DropDown ++style Widget_AppCompat_Spinner_DropDown_ActionBar ++style Widget_AppCompat_Spinner_Underlined ++style Widget_AppCompat_TextView_SpinnerItem ++style Widget_AppCompat_Toolbar ++style Widget_AppCompat_Toolbar_Button_Navigation ++style Widget_Compat_NotificationActionContainer ++style Widget_Compat_NotificationActionText ++style Widget_Support_CoordinatorLayout ++style redboxButton ++styleable ActionBar background backgroundSplit backgroundStacked contentInsetEnd contentInsetEndWithActions contentInsetLeft contentInsetRight contentInsetStart contentInsetStartWithNavigation customNavigationLayout displayOptions divider elevation height hideOnContentScroll homeAsUpIndicator homeLayout icon indeterminateProgressStyle itemPadding logo navigationMode popupTheme progressBarPadding progressBarStyle subtitle subtitleTextStyle title titleTextStyle ++styleable ActionBarLayout android_layout_gravity ++styleable ActionMenuItemView android_minWidth ++styleable ActionMenuView ++styleable ActionMode background backgroundSplit closeItemLayout height subtitleTextStyle titleTextStyle ++styleable ActivityChooserView expandActivityOverflowButtonDrawable initialActivityCount ++styleable AlertDialog android_layout buttonIconDimen buttonPanelSideLayout listItemLayout listLayout multiChoiceItemLayout showTitle singleChoiceItemLayout ++styleable AnimatedStateListDrawableCompat android_constantSize android_dither android_enterFadeDuration android_exitFadeDuration android_variablePadding android_visible ++styleable AnimatedStateListDrawableItem android_drawable android_id ++styleable AnimatedStateListDrawableTransition android_drawable android_fromId android_reversible android_toId ++styleable AppCompatImageView android_src srcCompat tint tintMode ++styleable AppCompatSeekBar android_thumb tickMark tickMarkTint tickMarkTintMode ++styleable AppCompatTextHelper android_drawableBottom android_drawableEnd android_drawableLeft android_drawableRight android_drawableStart android_drawableTop android_textAppearance ++styleable AppCompatTextView android_textAppearance autoSizeMaxTextSize autoSizeMinTextSize autoSizePresetSizes autoSizeStepGranularity autoSizeTextType firstBaselineToTopHeight fontFamily lastBaselineToBottomHeight lineHeight textAllCaps ++styleable AppCompatTheme actionBarDivider actionBarItemBackground actionBarPopupTheme actionBarSize actionBarSplitStyle actionBarStyle actionBarTabBarStyle actionBarTabStyle actionBarTabTextStyle actionBarTheme actionBarWidgetTheme actionButtonStyle actionDropDownStyle actionMenuTextAppearance actionMenuTextColor actionModeBackground actionModeCloseButtonStyle actionModeCloseDrawable actionModeCopyDrawable actionModeCutDrawable actionModeFindDrawable actionModePasteDrawable actionModePopupWindowStyle actionModeSelectAllDrawable actionModeShareDrawable actionModeSplitBackground actionModeStyle actionModeWebSearchDrawable actionOverflowButtonStyle actionOverflowMenuStyle activityChooserViewStyle alertDialogButtonGroupStyle alertDialogCenterButtons alertDialogStyle alertDialogTheme android_windowAnimationStyle android_windowIsFloating autoCompleteTextViewStyle borderlessButtonStyle buttonBarButtonStyle buttonBarNegativeButtonStyle buttonBarNeutralButtonStyle buttonBarPositiveButtonStyle buttonBarStyle buttonStyle buttonStyleSmall checkboxStyle checkedTextViewStyle colorAccent colorBackgroundFloating colorButtonNormal colorControlActivated colorControlHighlight colorControlNormal colorError colorPrimary colorPrimaryDark colorSwitchThumbNormal controlBackground dialogCornerRadius dialogPreferredPadding dialogTheme dividerHorizontal dividerVertical dropDownListViewStyle dropdownListPreferredItemHeight editTextBackground editTextColor editTextStyle homeAsUpIndicator imageButtonStyle listChoiceBackgroundIndicator listDividerAlertDialog listMenuViewStyle listPopupWindowStyle listPreferredItemHeight listPreferredItemHeightLarge listPreferredItemHeightSmall listPreferredItemPaddingLeft listPreferredItemPaddingRight panelBackground panelMenuListTheme panelMenuListWidth popupMenuStyle popupWindowStyle radioButtonStyle ratingBarStyle ratingBarStyleIndicator ratingBarStyleSmall searchViewStyle seekBarStyle selectableItemBackground selectableItemBackgroundBorderless spinnerDropDownItemStyle spinnerStyle switchStyle textAppearanceLargePopupMenu textAppearanceListItem textAppearanceListItemSecondary textAppearanceListItemSmall textAppearancePopupMenuHeader textAppearanceSearchResultSubtitle textAppearanceSearchResultTitle textAppearanceSmallPopupMenu textColorAlertDialogListItem textColorSearchUrl toolbarNavigationButtonStyle toolbarStyle tooltipForegroundColor tooltipFrameBackground viewInflaterClass windowActionBar windowActionBarOverlay windowActionModeOverlay windowFixedHeightMajor windowFixedHeightMinor windowFixedWidthMajor windowFixedWidthMinor windowMinWidthMajor windowMinWidthMinor windowNoTitle ++styleable ButtonBarLayout allowStacking ++styleable ColorStateListItem alpha android_alpha android_color ++styleable CompoundButton android_button buttonTint buttonTintMode ++styleable CoordinatorLayout keylines statusBarBackground ++styleable CoordinatorLayout_Layout android_layout_gravity layout_anchor layout_anchorGravity layout_behavior layout_dodgeInsetEdges layout_insetEdge layout_keyline ++styleable DrawerArrowToggle arrowHeadLength arrowShaftLength barLength color drawableSize gapBetweenBars spinBars thickness ++styleable FontFamily fontProviderAuthority fontProviderCerts fontProviderFetchStrategy fontProviderFetchTimeout fontProviderPackage fontProviderQuery ++styleable FontFamilyFont android_font android_fontStyle android_fontVariationSettings android_fontWeight android_ttcIndex font fontStyle fontVariationSettings fontWeight ttcIndex ++styleable GenericDraweeHierarchy actualImageScaleType backgroundImage fadeDuration failureImage failureImageScaleType overlayImage placeholderImage placeholderImageScaleType pressedStateOverlayImage progressBarAutoRotateInterval progressBarImage progressBarImageScaleType retryImage retryImageScaleType roundAsCircle roundBottomEnd roundBottomLeft roundBottomRight roundBottomStart roundTopEnd roundTopLeft roundTopRight roundTopStart roundWithOverlayColor roundedCornerRadius roundingBorderColor roundingBorderPadding roundingBorderWidth viewAspectRatio ++styleable GradientColor android_centerColor android_centerX android_centerY android_endColor android_endX android_endY android_gradientRadius android_startColor android_startX android_startY android_tileMode android_type ++styleable GradientColorItem android_color android_offset ++styleable LinearLayoutCompat android_baselineAligned android_baselineAlignedChildIndex android_gravity android_orientation android_weightSum divider dividerPadding measureWithLargestChild showDividers ++styleable LinearLayoutCompat_Layout android_layout_gravity android_layout_height android_layout_weight android_layout_width ++styleable ListPopupWindow android_dropDownHorizontalOffset android_dropDownVerticalOffset ++styleable MenuGroup android_checkableBehavior android_enabled android_id android_menuCategory android_orderInCategory android_visible ++styleable MenuItem actionLayout actionProviderClass actionViewClass alphabeticModifiers android_alphabeticShortcut android_checkable android_checked android_enabled android_icon android_id android_menuCategory android_numericShortcut android_onClick android_orderInCategory android_title android_titleCondensed android_visible contentDescription iconTint iconTintMode numericModifiers showAsAction tooltipText ++styleable MenuView android_headerBackground android_horizontalDivider android_itemBackground android_itemIconDisabledAlpha android_itemTextAppearance android_verticalDivider android_windowAnimationStyle preserveIconSpacing subMenuArrow ++styleable PopupWindow android_popupAnimationStyle android_popupBackground overlapAnchor ++styleable PopupWindowBackgroundState state_above_anchor ++styleable RecycleListView paddingBottomNoButtons paddingTopNoTitle ++styleable SearchView android_focusable android_imeOptions android_inputType android_maxWidth closeIcon commitIcon defaultQueryHint goIcon iconifiedByDefault layout queryBackground queryHint searchHintIcon searchIcon submitBackground suggestionRowLayout voiceIcon ++styleable SimpleDraweeView actualImageResource actualImageScaleType actualImageUri backgroundImage fadeDuration failureImage failureImageScaleType overlayImage placeholderImage placeholderImageScaleType pressedStateOverlayImage progressBarAutoRotateInterval progressBarImage progressBarImageScaleType retryImage retryImageScaleType roundAsCircle roundBottomEnd roundBottomLeft roundBottomRight roundBottomStart roundTopEnd roundTopLeft roundTopRight roundTopStart roundWithOverlayColor roundedCornerRadius roundingBorderColor roundingBorderPadding roundingBorderWidth viewAspectRatio ++styleable Spinner android_dropDownWidth android_entries android_popupBackground android_prompt popupTheme ++styleable StateListDrawable android_constantSize android_dither android_enterFadeDuration android_exitFadeDuration android_variablePadding android_visible ++styleable StateListDrawableItem android_drawable ++styleable SwitchCompat android_textOff android_textOn android_thumb showText splitTrack switchMinWidth switchPadding switchTextAppearance thumbTextPadding thumbTint thumbTintMode track trackTint trackTintMode ++styleable TextAppearance android_fontFamily android_shadowColor android_shadowDx android_shadowDy android_shadowRadius android_textColor android_textColorHint android_textColorLink android_textSize android_textStyle android_typeface fontFamily textAllCaps ++styleable Toolbar android_gravity android_minHeight buttonGravity collapseContentDescription collapseIcon contentInsetEnd contentInsetEndWithActions contentInsetLeft contentInsetRight contentInsetStart contentInsetStartWithNavigation logo logoDescription maxButtonHeight navigationContentDescription navigationIcon popupTheme subtitle subtitleTextAppearance subtitleTextColor title titleMargin titleMarginBottom titleMarginEnd titleMarginStart titleMarginTop titleMargins titleTextAppearance titleTextColor ++styleable View android_focusable android_theme paddingEnd paddingStart theme ++styleable ViewBackgroundHelper android_background backgroundTint backgroundTintMode ++styleable ViewStubCompat android_id android_inflatedId android_layout ++xml rn_dev_preferences +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/9b2cc9dc5260a635b099a9fc9e4c00c6.bin b/node_modules/react-native-reanimated/android/build/.transforms/9b2cc9dc5260a635b099a9fc9e4c00c6.bin +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/9f58999073bf850246fe92ed3b192c92.bin b/node_modules/react-native-reanimated/android/build/.transforms/9f58999073bf850246fe92ed3b192c92.bin +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/a75698f55b2732ab4a4eb9f5a9c2bfe2.bin b/node_modules/react-native-reanimated/android/build/.transforms/a75698f55b2732ab4a4eb9f5a9c2bfe2.bin +new file mode 100644 +index 0000000..abab530 +--- /dev/null ++++ b/node_modules/react-native-reanimated/android/build/.transforms/a75698f55b2732ab4a4eb9f5a9c2bfe2.bin +@@ -0,0 +1 @@ ++o/jetified-react-native-reanimated-64-hermes-runtime +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/a75698f55b2732ab4a4eb9f5a9c2bfe2/jetified-react-native-reanimated-64-hermes-runtime/classes.dex b/node_modules/react-native-reanimated/android/build/.transforms/a75698f55b2732ab4a4eb9f5a9c2bfe2/jetified-react-native-reanimated-64-hermes-runtime/classes.dex +new file mode 100644 +index 0000000..6c6af16 +Binary files /dev/null and b/node_modules/react-native-reanimated/android/build/.transforms/a75698f55b2732ab4a4eb9f5a9c2bfe2/jetified-react-native-reanimated-64-hermes-runtime/classes.dex differ +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/be7577e299e7cadc317864fac57e68b7.bin b/node_modules/react-native-reanimated/android/build/.transforms/be7577e299e7cadc317864fac57e68b7.bin +new file mode 100644 +index 0000000..e69de29 +diff --git a/node_modules/react-native-reanimated/android/build/.transforms/c14b39947b717193365b5983a5474303.bin b/node_modules/react-native-reanimated/android/build/.transforms/c14b39947b717193365b5983a5474303.bin +new file mode 100644 +index 0000000..e69de29 diff --git a/react-native.config.js b/react-native.config.js index f90e1e797..6f2362f43 100644 --- a/react-native.config.js +++ b/react-native.config.js @@ -5,12 +5,6 @@ module.exports = { android: null } }, - '@nozbe/watermelondb': { - platforms: { - android: null, - ios: null - } - }, '@react-native-firebase/app': { platforms: { android: null diff --git a/storybook/stories/Markdown.js b/storybook/stories/Markdown.js index 4f4cb2955..c00aaa78c 100644 --- a/storybook/stories/Markdown.js +++ b/storybook/stories/Markdown.js @@ -80,6 +80,24 @@ stories.add('Preview', () => ( username='rocket.cat' /> <Markdown msg='Testing: 😃 :+1: :marioparty:' getCustomEmoji={getCustomEmoji} theme={theme} numberOfLines={1} preview /> + <Markdown + msg='Fallback from new md to old' + getCustomEmoji={getCustomEmoji} + theme={theme} + numberOfLines={1} + preview + md={[ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: 'This is Rocket.Chat' + } + ] + } + ]} + /> </View> )); diff --git a/storybook/stories/NewMarkdown.js b/storybook/stories/NewMarkdown.js new file mode 100644 index 000000000..e6d6be320 --- /dev/null +++ b/storybook/stories/NewMarkdown.js @@ -0,0 +1,693 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; +import { storiesOf } from '@storybook/react-native'; + +import NewMarkdown from '../../app/containers/markdown/new'; +import { themes } from '../../app/constants/colors'; +import { longText } from '../utils'; + +const stories = storiesOf('NewMarkdown', module); + +const theme = 'light'; + +const styles = StyleSheet.create({ + container: { + marginHorizontal: 15, + backgroundColor: themes[theme].backgroundColor, + marginVertical: 50 + }, + separator: { + marginHorizontal: 10, + marginVertical: 10 + } +}); + +const getCustomEmoji = content => { + const customEmoji = { + marioparty: { name: content, extension: 'gif' }, + nyan_rocket: { name: content, extension: 'png' } + }[content]; + return customEmoji; +}; +const baseUrl = 'https://open.rocket.chat'; + +const simpleTextMsg = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: 'This is Rocket.Chat' + } + ] + } +]; + +const longTextMsg = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: longText + } + ] + } +]; + +const lineBreakMsg = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: 'a' + }, + { + type: 'PLAIN_TEXT', + value: 'b' + }, + { + type: 'PLAIN_TEXT', + value: 'c' + }, + { + type: 'PLAIN_TEXT', + value: '' + }, + { + type: 'PLAIN_TEXT', + value: 'd' + }, + { + type: 'PLAIN_TEXT', + value: '' + }, + { + type: 'PLAIN_TEXT', + value: '' + }, + { + type: 'PLAIN_TEXT', + value: 'e' + } + ] + } +]; + +const sequentialEmptySpacesMsg = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: 'a b c' + } + ] + } +]; + +stories.add('Text', () => ( + <View style={styles.container}> + <NewMarkdown tokens={simpleTextMsg} /> + <NewMarkdown tokens={longTextMsg} /> + <NewMarkdown tokens={lineBreakMsg} /> + <NewMarkdown tokens={sequentialEmptySpacesMsg} /> + <NewMarkdown tokens={[...simpleTextMsg, ...longTextMsg]} /> + </View> +)); + +const allMentionTokens = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'MENTION_USER', + value: { + type: 'PLAIN_TEXT', + value: 'rocket.cat' + } + } + ] + } +]; + +const multipleMentionTokens = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'MENTION_USER', + value: { + type: 'PLAIN_TEXT', + value: 'name' + } + }, + { + type: 'PLAIN_TEXT', + value: ' ' + }, + { + type: 'MENTION_USER', + value: { + type: 'PLAIN_TEXT', + value: 'rocket.cat' + } + }, + { + type: 'PLAIN_TEXT', + value: ' ' + }, + { + type: 'MENTION_USER', + value: { + type: 'PLAIN_TEXT', + value: 'here' + } + }, + { + type: 'PLAIN_TEXT', + value: ' ' + }, + { + type: 'MENTION_USER', + value: { + type: 'PLAIN_TEXT', + value: 'all' + } + } + ] + } +]; + +const allMentions = [ + { + _id: 'rocket.cat', + username: 'rocket.cat' + } +]; + +const multipleMentions = [ + { + _id: 'name', + username: 'name' + }, + { + _id: 'rocket.cat', + username: 'rocket.cat' + }, + { + _id: 'here', + username: 'here' + }, + { + _id: 'all', + username: 'all' + } +]; + +stories.add('Mentions', () => ( + <View style={styles.container}> + <NewMarkdown tokens={allMentionTokens} mentions={allMentions} navToRoomInfo={() => {}} style={[]} /> + <NewMarkdown + tokens={multipleMentionTokens} + mentions={multipleMentions} + navToRoomInfo={() => {}} + style={[]} + username='rocket.cat' + /> + </View> +)); + +const channelTokens = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'MENTION_CHANNEL', + value: { + type: 'PLAIN_TEXT', + value: 'text_channel' + } + }, + { + type: 'PLAIN_TEXT', + value: ' and ' + }, + { + type: 'MENTION_CHANNEL', + value: { + type: 'PLAIN_TEXT', + value: 'not_a_channel' + } + } + ] + } +]; + +const channelMention = [ + { + _id: 'text_channel', + name: 'text_channel' + } +]; + +stories.add('Hashtag', () => ( + <View style={styles.container}> + <NewMarkdown tokens={channelTokens} channels={channelMention} navToRoomInfo={() => {}} /> + </View> +)); + +const bigEmojiTokens = [ + { + type: 'BIG_EMOJI', + value: [ + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'green_heart' + } + }, + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'joy' + } + }, + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'grin' + } + } + ] + } +]; + +const emojiTokens = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'rocket' + } + }, + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'facepalm' + } + }, + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'nyan_rocket' + } + }, + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'marioparty' + } + } + ] + } +]; + +stories.add('Emoji', () => ( + <View style={styles.container}> + <NewMarkdown tokens={bigEmojiTokens} /> + <NewMarkdown tokens={emojiTokens} getCustomEmoji={getCustomEmoji} baseUrl={baseUrl} /> + </View> +)); + +const blockQuoteTokens = [ + { + type: 'QUOTE', + value: [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: 'Rocket.Chat to the moon' + } + ] + } + ] + }, + { + type: 'QUOTE', + value: [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'PLAIN_TEXT', + value: longText + } + ] + } + ] + } +]; + +stories.add('Block quote', () => ( + <View style={styles.container}> + <NewMarkdown tokens={blockQuoteTokens} /> + </View> +)); + +const rocketChatLink = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'LINK', + value: { + src: { + type: 'PLAIN_TEXT', + value: 'https://rocket.chat' + }, + label: { + type: 'PLAIN_TEXT', + value: 'https://rocket.chat' + } + } + } + ] + } +]; + +const markdownLink = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'LINK', + value: { + src: { + type: 'PLAIN_TEXT', + value: 'https://rocket.chat' + }, + label: { + type: 'PLAIN_TEXT', + value: 'Markdown link' + } + } + } + ] + } +]; + +stories.add('Links', () => ( + <View style={styles.container}> + <NewMarkdown tokens={rocketChatLink} /> + <NewMarkdown tokens={markdownLink} /> + </View> +)); + +stories.add('Headers', () => ( + <View style={styles.container}> + <NewMarkdown + tokens={[ + { + type: 'HEADING', + value: [ + { + type: 'PLAIN_TEXT', + value: '# Header 1' + } + ], + level: 1 + } + ]} + /> + <NewMarkdown + tokens={[ + { + type: 'HEADING', + value: [ + { + type: 'PLAIN_TEXT', + value: '## Header 2' + } + ], + level: 2 + } + ]} + /> + <NewMarkdown + tokens={[ + { + type: 'HEADING', + value: [ + { + type: 'PLAIN_TEXT', + value: '### Header 3' + } + ], + level: 3 + } + ]} + /> + <NewMarkdown + tokens={[ + { + type: 'HEADING', + value: [ + { + type: 'PLAIN_TEXT', + value: '#### Header 4' + } + ], + level: 4 + } + ]} + /> + <NewMarkdown + tokens={[ + { + type: 'HEADING', + value: [ + { + type: 'PLAIN_TEXT', + value: '##### Header 5' + } + ], + level: 5 + } + ]} + /> + <NewMarkdown + tokens={[ + { + type: 'HEADING', + value: [ + { + type: 'PLAIN_TEXT', + value: '###### Header 6' + } + ], + level: 6 + } + ]} + /> + </View> +)); + +const inlineCodeToken = [ + { + type: 'PARAGRAPH', + value: [ + { + type: 'INLINE_CODE', + value: { + type: 'PLAIN_TEXT', + value: 'inline code' + } + } + ] + } +]; + +const multilineCodeToken = [ + { + type: 'CODE', + language: 'none', + value: [ + { + type: 'CODE_LINE', + value: { + type: 'PLAIN_TEXT', + value: 'Multi \nLine \nCode' + } + } + ] + } +]; + +stories.add('Code', () => ( + <View style={styles.container}> + <NewMarkdown tokens={inlineCodeToken} style={[]} /> + <NewMarkdown tokens={multilineCodeToken} style={[]} /> + </View> +)); + +const items = [ + [ + { + type: 'PLAIN_TEXT', + value: 'Plain text ' + }, + { + type: 'EMOJI', + value: { + type: 'PLAIN_TEXT', + value: 'bulb' + } + }, + { + type: 'ITALIC', + value: [ + { + type: 'PLAIN_TEXT', + value: ' italic ' + } + ] + }, + { + type: 'BOLD', + value: [ + { + type: 'PLAIN_TEXT', + value: ' bold ' + } + ] + }, + { + type: 'STRIKE', + value: [ + { + type: 'PLAIN_TEXT', + value: ' strike ' + } + ] + }, + { + type: 'MENTION_CHANNEL', + value: { + type: 'PLAIN_TEXT', + value: 'general' + } + }, + { + type: 'LINK', + value: { + src: { + type: 'PLAIN_TEXT', + value: 'https://google.com' + }, + label: { + type: 'PLAIN_TEXT', + value: ' link ' + } + } + }, + { + type: 'MENTION_USER', + value: { + type: 'PLAIN_TEXT', + value: 'rocket.cat' + } + }, + { + type: 'INLINE_CODE', + value: { + type: 'PLAIN_TEXT', + value: ' inline code' + } + } + ], + [ + { + type: 'PLAIN_TEXT', + value: longText + } + ] +]; + +const listItems = [ + { + type: 'LIST_ITEM', + value: items[0] + }, + { + type: 'LIST_ITEM', + value: items[1] + } +]; + +const unorederedListToken = [ + { + type: 'UNORDERED_LIST', + value: listItems + } +]; + +const orderedListToken = [ + { + type: 'ORDERED_LIST', + value: listItems + } +]; + +const listMentions = [ + { + _id: 'rocket.cat', + username: 'rocket.cat' + } +]; + +const listChannels = [ + { + _id: 'general', + name: 'general' + } +]; + +const tasks = [ + { + type: 'TASKS', + value: [ + { + type: 'TASK', + status: true, + value: items[0] + }, + { + type: 'TASK', + status: false, + value: items[1] + } + ] + } +]; + +stories.add('Lists', () => ( + <View style={styles.container}> + <NewMarkdown tokens={unorederedListToken} mentions={listMentions} channels={listChannels} /> + <NewMarkdown tokens={orderedListToken} mentions={listMentions} channels={listChannels} /> + <NewMarkdown tokens={tasks} mentions={listMentions} channels={listChannels} /> + </View> +)); diff --git a/storybook/stories/RoomItem.js b/storybook/stories/RoomItem.js index 5baeb9f95..1538c118a 100644 --- a/storybook/stories/RoomItem.js +++ b/storybook/stories/RoomItem.js @@ -7,6 +7,7 @@ import { Provider } from 'react-redux'; import { themes } from '../../app/constants/colors'; import RoomItemComponent from '../../app/presentation/RoomItem/RoomItem'; import { longText } from '../utils'; +import { DISPLAY_MODE_CONDENSED, DISPLAY_MODE_EXPANDED } from '../../app/constants/constantDisplayMode'; import { store } from './index'; const baseUrl = 'https://open.rocket.chat'; @@ -30,6 +31,8 @@ const RoomItem = props => ( baseUrl={baseUrl} width={width} theme={_theme} + showAvatar + displayMode={DISPLAY_MODE_EXPANDED} {...updatedAt} {...props} /> @@ -126,3 +129,57 @@ stories.add('Last Message', () => ( <RoomItem showLastMessage alert tunread={[1]} lastMessage={lastMessage} /> </> )); + +stories.add('Condensed Room Item', () => ( + <> + <RoomItem showLastMessage alert tunread={[1]} lastMessage={lastMessage} displayMode={DISPLAY_MODE_CONDENSED} /> + <RoomItem showLastMessage alert name='unread' unread={1000} displayMode={DISPLAY_MODE_CONDENSED} /> + + <RoomItem type='c' displayMode={DISPLAY_MODE_CONDENSED} autoJoin /> + </> +)); + +stories.add('Condensed Room Item without Avatar', () => ( + <> + <RoomItem + showLastMessage + alert + tunread={[1]} + lastMessage={lastMessage} + displayMode={DISPLAY_MODE_CONDENSED} + showAvatar={false} + /> + <RoomItem type='p' displayMode={DISPLAY_MODE_CONDENSED} showAvatar={false} /> + <RoomItem name={longText} autoJoin displayMode={DISPLAY_MODE_CONDENSED} showAvatar={false} /> + </> +)); + +stories.add('Expanded Room Item without Avatar', () => ( + <> + <RoomItem + showLastMessage + alert + tunread={[1]} + lastMessage={lastMessage} + displayMode={DISPLAY_MODE_EXPANDED} + showAvatar={false} + /> + <RoomItem + status='online' + showLastMessage + alert + tunread={[1]} + lastMessage={lastMessage} + displayMode={DISPLAY_MODE_EXPANDED} + showAvatar={false} + /> + <RoomItem + status='online' + showLastMessage + alert + lastMessage={lastMessage} + displayMode={DISPLAY_MODE_EXPANDED} + showAvatar={false} + /> + </> +)); diff --git a/storybook/stories/index.js b/storybook/stories/index.js index 4ff6450b0..c8209d6f6 100644 --- a/storybook/stories/index.js +++ b/storybook/stories/index.js @@ -12,6 +12,7 @@ import './HeaderButtons'; import './UnreadBadge'; import '../../app/views/ThreadMessagesView/Item.stories.js'; import './Avatar'; +import './NewMarkdown'; import '../../app/containers/BackgroundContainer/index.stories.js'; import '../../app/containers/RoomHeader/RoomHeader.stories.js'; import '../../app/views/RoomView/LoadMore/LoadMore.stories'; diff --git a/yarn.lock b/yarn.lock index ef839c91b..f4ad938a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,7 +23,7 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/code-frame@^7.10.4": +"@babel/code-frame@^7.10.4", "@babel/code-frame@~7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== @@ -37,6 +37,11 @@ dependencies: "@babel/highlight" "^7.14.5" +"@babel/compat-data@^7.12.13", "@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz#8ef4c18e58e801c5c95d3c1c0f2874a2680fadea" @@ -47,6 +52,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== +"@babel/core@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/core@^7.0.0", "@babel/core@^7.1.0": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" @@ -177,6 +204,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.15.4", "@babel/generator@^7.9.0": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1" + integrity sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g== + dependencies: + "@babel/types" "^7.15.6" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/generator@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43" @@ -194,6 +230,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-annotate-as-pure@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" + integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-annotate-as-pure@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" @@ -234,6 +277,16 @@ "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/types" "^7.9.0" +"@babel/helper-compilation-targets@^7.12.17", "@babel/helper-compilation-targets@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" + integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" @@ -244,6 +297,18 @@ browserslist "^4.16.6" semver "^6.3.0" +"@babel/helper-create-class-features-plugin@^7.12.13", "@babel/helper-create-class-features-plugin@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz#7f977c17bd12a5fba363cb19bea090394bf37d2e" + integrity sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-create-class-features-plugin@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz#8842ec495516dd1ed8f6c572be92ba78b1e9beef" @@ -353,6 +418,15 @@ "@babel/template" "^7.14.5" "@babel/types" "^7.14.5" +"@babel/helper-function-name@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" + integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== + dependencies: + "@babel/helper-get-function-arity" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" @@ -376,6 +450,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-get-function-arity@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" + integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-get-function-arity@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" @@ -390,6 +471,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-hoist-variables@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" + integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-member-expression-to-functions@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" @@ -411,6 +499,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-member-expression-to-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" + integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-member-expression-to-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" @@ -439,6 +534,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-module-imports@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" + integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-module-transforms@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz#ca1f01fdb84e48c24d7506bb818c961f1da8805d" @@ -480,6 +582,20 @@ "@babel/traverse" "^7.14.8" "@babel/types" "^7.14.8" +"@babel/helper-module-transforms@^7.15.4": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz#d8c0e75a87a52e374a8f25f855174786a09498b2" + integrity sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg== + dependencies: + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" + "@babel/helper-module-transforms@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" @@ -507,6 +623,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-optimise-call-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" + integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-optimise-call-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" @@ -545,6 +668,15 @@ "@babel/helper-wrap-function" "^7.14.5" "@babel/types" "^7.14.5" +"@babel/helper-remap-async-to-generator@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f" + integrity sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-wrap-function" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/helper-replace-supers@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" @@ -565,6 +697,16 @@ "@babel/traverse" "^7.14.5" "@babel/types" "^7.14.5" +"@babel/helper-replace-supers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" + integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" @@ -597,6 +739,13 @@ dependencies: "@babel/types" "^7.14.8" +"@babel/helper-simple-access@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" + integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-simple-access@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" @@ -612,6 +761,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-skip-transparent-expression-wrappers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz#707dbdba1f4ad0fa34f9114fc8197aec7d5da2eb" + integrity sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-split-export-declaration@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" @@ -626,6 +782,13 @@ dependencies: "@babel/types" "^7.14.5" +"@babel/helper-split-export-declaration@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" + integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== + dependencies: + "@babel/types" "^7.15.4" + "@babel/helper-split-export-declaration@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" @@ -648,12 +811,17 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== +"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + "@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== -"@babel/helper-validator-option@^7.14.5": +"@babel/helper-validator-option@^7.12.17", "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== @@ -668,6 +836,16 @@ "@babel/traverse" "^7.14.5" "@babel/types" "^7.14.5" +"@babel/helper-wrap-function@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz#6f754b2446cfaf3d612523e6ab8d79c27c3a3de7" + integrity sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw== + dependencies: + "@babel/helper-function-name" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/helpers@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" @@ -695,6 +873,15 @@ "@babel/traverse" "^7.14.8" "@babel/types" "^7.14.8" +"@babel/helpers@^7.9.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" + integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== + dependencies: + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/helpers@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" @@ -761,6 +948,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595" integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== +"@babel/parser@^7.15.4", "@babel/parser@^7.9.0": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016" + integrity sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA== + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" @@ -770,6 +962,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-proposal-optional-chaining" "^7.14.5" +"@babel/plugin-proposal-async-generator-functions@^7.12.13": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz#a3100f785fab4357987c4223ab1b02b599048403" + integrity sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.15.4" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-async-generator-functions@^7.14.7": version "7.14.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz#784a48c3d8ed073f65adcf30b57bcbf6c8119ace" @@ -787,7 +988,7 @@ "@babel/helper-create-class-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.7.0": +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.13", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.7.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== @@ -795,6 +996,14 @@ "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-proposal-class-properties@~7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" + integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-proposal-class-static-block@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681" @@ -813,7 +1022,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.14.5": +"@babel/plugin-proposal-dynamic-import@^7.12.17", "@babel/plugin-proposal-dynamic-import@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== @@ -829,7 +1038,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-export-default-from" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.14.5": +"@babel/plugin-proposal-export-namespace-from@^7.12.13", "@babel/plugin-proposal-export-namespace-from@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== @@ -837,7 +1046,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.14.5": +"@babel/plugin-proposal-json-strings@^7.12.13", "@babel/plugin-proposal-json-strings@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== @@ -845,7 +1054,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": +"@babel/plugin-proposal-logical-assignment-operators@^7.12.13", "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== @@ -861,7 +1070,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.13", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== @@ -869,7 +1078,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.14.5": +"@babel/plugin-proposal-numeric-separator@^7.12.13", "@babel/plugin-proposal-numeric-separator@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== @@ -886,6 +1095,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.9.5" +"@babel/plugin-proposal-object-rest-spread@^7.12.13": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz#ef68050c8703d07b25af402cb96cf7f34a68ed11" + integrity sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.15.4" + "@babel/plugin-proposal-object-rest-spread@^7.14.7", "@babel/plugin-proposal-object-rest-spread@^7.6.2": version "7.14.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" @@ -905,7 +1125,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-catch-binding@^7.14.5": +"@babel/plugin-proposal-optional-catch-binding@^7.12.13", "@babel/plugin-proposal-optional-catch-binding@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== @@ -921,7 +1141,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.1.0", "@babel/plugin-proposal-optional-chaining@^7.14.5": +"@babel/plugin-proposal-optional-chaining@^7.1.0", "@babel/plugin-proposal-optional-chaining@^7.12.17", "@babel/plugin-proposal-optional-chaining@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== @@ -930,7 +1150,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.14.5": +"@babel/plugin-proposal-private-methods@^7.12.13", "@babel/plugin-proposal-private-methods@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== @@ -948,7 +1168,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.14.5": +"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== @@ -964,7 +1184,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.8" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-async-generators@^7.8.4": +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== @@ -1006,7 +1226,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -1048,7 +1268,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-json-strings@^7.8.3": +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== @@ -1132,7 +1352,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== @@ -1160,14 +1380,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-arrow-functions@^7.14.5": +"@babel/plugin-transform-arrow-functions@^7.12.13", "@babel/plugin-transform-arrow-functions@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.14.5": +"@babel/plugin-transform-async-to-generator@^7.12.13", "@babel/plugin-transform-async-to-generator@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== @@ -1176,7 +1396,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.14.5" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.14.5": +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.12.13", "@babel/plugin-transform-block-scoped-functions@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== @@ -1191,6 +1411,13 @@ "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" +"@babel/plugin-transform-block-scoping@^7.12.13": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" + integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-block-scoping@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz#8cc63e61e50f42e078e6f09be775a75f23ef9939" @@ -1212,6 +1439,19 @@ "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.12.13": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz#50aee17aaf7f332ae44e3bce4c2e10534d5d3bf1" + integrity sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + globals "^11.1.0" + "@babel/plugin-transform-classes@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz#0e98e82097b38550b03b483f9b51a78de0acb2cf" @@ -1232,7 +1472,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-computed-properties@^7.14.5": +"@babel/plugin-transform-computed-properties@^7.12.13", "@babel/plugin-transform-computed-properties@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== @@ -1246,14 +1486,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-destructuring@^7.14.7": +"@babel/plugin-transform-destructuring@^7.12.13", "@babel/plugin-transform-destructuring@^7.14.7": version "7.14.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.14.5": +"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== @@ -1269,7 +1509,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-duplicate-keys@^7.14.5": +"@babel/plugin-transform-duplicate-keys@^7.12.13", "@babel/plugin-transform-duplicate-keys@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== @@ -1284,7 +1524,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.14.5": +"@babel/plugin-transform-exponentiation-operator@^7.12.13", "@babel/plugin-transform-exponentiation-operator@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== @@ -1315,6 +1555,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-for-of@^7.12.13": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz#25c62cce2718cfb29715f416e75d5263fb36a8c2" + integrity sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-for-of@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" @@ -1330,7 +1577,7 @@ "@babel/helper-function-name" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-function-name@^7.14.5": +"@babel/plugin-transform-function-name@^7.12.13", "@babel/plugin-transform-function-name@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== @@ -1345,21 +1592,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-literals@^7.14.5": +"@babel/plugin-transform-literals@^7.12.13", "@babel/plugin-transform-literals@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.14.5": +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.12.13", "@babel/plugin-transform-member-expression-literals@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.14.5": +"@babel/plugin-transform-modules-amd@^7.12.13", "@babel/plugin-transform-modules-amd@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== @@ -1388,6 +1635,27 @@ "@babel/helper-simple-access" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.12.13": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz#8201101240eabb5a76c08ef61b2954f767b6b4c1" + integrity sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA== + dependencies: + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.15.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.12.13": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz#b42890c7349a78c827719f1d2d0cd38c7d268132" + integrity sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw== + dependencies: + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.9" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-systemjs@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" @@ -1399,7 +1667,7 @@ "@babel/helper-validator-identifier" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.14.5": +"@babel/plugin-transform-modules-umd@^7.12.13", "@babel/plugin-transform-modules-umd@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== @@ -1407,6 +1675,13 @@ "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" + integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex@^7.14.7": version "7.14.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz#60c06892acf9df231e256c24464bfecb0908fd4e" @@ -1414,7 +1689,7 @@ dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" -"@babel/plugin-transform-new-target@^7.14.5": +"@babel/plugin-transform-new-target@^7.12.13", "@babel/plugin-transform-new-target@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== @@ -1428,7 +1703,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.14.5": +"@babel/plugin-transform-object-assign@^7.10.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.14.5.tgz#62537d54b6d85de04f4df48bfdba2eebff17b760" + integrity sha512-lvhjk4UN9xJJYB1mI5KC0/o1D5EcJXdbhVe+4fSk08D6ZN+iuAIs7LJC+71h8av9Ew4+uRq9452v9R93SFmQlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.12.13", "@babel/plugin-transform-object-super@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== @@ -1444,6 +1726,13 @@ "@babel/helper-get-function-arity" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-parameters@^7.12.13", "@babel/plugin-transform-parameters@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz#5f2285cc3160bf48c8502432716b48504d29ed62" + integrity sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-parameters@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" @@ -1451,7 +1740,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.14.5": +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.12.13", "@babel/plugin-transform-property-literals@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== @@ -1505,14 +1794,14 @@ dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-regenerator@^7.14.5": +"@babel/plugin-transform-regenerator@^7.12.13", "@babel/plugin-transform-regenerator@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.14.5": +"@babel/plugin-transform-reserved-words@^7.12.13", "@babel/plugin-transform-reserved-words@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== @@ -1536,7 +1825,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-shorthand-properties@^7.14.5": +"@babel/plugin-transform-shorthand-properties@^7.12.13", "@babel/plugin-transform-shorthand-properties@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== @@ -1550,6 +1839,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-spread@^7.12.13": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz#79d5aa27f68d700449b2da07691dfa32d2f6d468" + integrity sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" + "@babel/plugin-transform-spread@^7.14.6": version "7.14.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" @@ -1566,7 +1863,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-regex" "^7.8.3" -"@babel/plugin-transform-sticky-regex@^7.14.5": +"@babel/plugin-transform-sticky-regex@^7.12.13", "@babel/plugin-transform-sticky-regex@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== @@ -1581,20 +1878,29 @@ "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-template-literals@^7.14.5": +"@babel/plugin-transform-template-literals@^7.12.13", "@babel/plugin-transform-template-literals@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.14.5": +"@babel/plugin-transform-typeof-symbol@^7.12.13", "@babel/plugin-transform-typeof-symbol@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-transform-typescript@^7.12.17": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.8.tgz#ff0e6a47de9b2d58652123ab5a879b2ff20665d8" + integrity sha512-ZXIkJpbaf6/EsmjeTbiJN/yMxWPFWvlr7sEG1P95Xb4S4IBcrf2n7s/fItIhsAmOf8oSh3VJPDppO6ExfAfKRQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.14.5" + "@babel/plugin-transform-typescript@^7.14.5": version "7.14.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c" @@ -1613,7 +1919,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-typescript" "^7.8.3" -"@babel/plugin-transform-unicode-escapes@^7.14.5": +"@babel/plugin-transform-unicode-escapes@^7.12.13", "@babel/plugin-transform-unicode-escapes@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== @@ -1628,7 +1934,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-unicode-regex@^7.14.5": +"@babel/plugin-transform-unicode-regex@^7.12.13", "@babel/plugin-transform-unicode-regex@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== @@ -1715,6 +2021,78 @@ core-js-compat "^3.15.0" semver "^6.3.0" +"@babel/preset-env@~7.12.13": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.17.tgz#94a3793ff089c32ee74d76a3c03a7597693ebaaa" + integrity sha512-9PMijx8zFbCwTHrd2P4PJR5nWGH3zWebx2OcpTjqQrHhCiL2ssSR2Sc9ko2BsI2VmVBfoaQmPrlMTCui4LmXQg== + dependencies: + "@babel/compat-data" "^7.12.13" + "@babel/helper-compilation-targets" "^7.12.17" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-proposal-async-generator-functions" "^7.12.13" + "@babel/plugin-proposal-class-properties" "^7.12.13" + "@babel/plugin-proposal-dynamic-import" "^7.12.17" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.12.13" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.13" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.12.13" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.12.17" + "@babel/plugin-proposal-private-methods" "^7.12.13" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.12.13" + "@babel/plugin-transform-async-to-generator" "^7.12.13" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.12.13" + "@babel/plugin-transform-classes" "^7.12.13" + "@babel/plugin-transform-computed-properties" "^7.12.13" + "@babel/plugin-transform-destructuring" "^7.12.13" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.12.13" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.12.13" + "@babel/plugin-transform-modules-commonjs" "^7.12.13" + "@babel/plugin-transform-modules-systemjs" "^7.12.13" + "@babel/plugin-transform-modules-umd" "^7.12.13" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.12.13" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.12.13" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.12.13" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.17" + core-js-compat "^3.8.0" + semver "^5.5.0" + "@babel/preset-flow@^7.0.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.14.5.tgz#a1810b0780c8b48ab0bece8e7ab8d0d37712751c" @@ -1724,7 +2102,7 @@ "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-transform-flow-strip-types" "^7.14.5" -"@babel/preset-modules@^0.1.4": +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4": version "0.1.4" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== @@ -1744,6 +2122,15 @@ "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-transform-typescript" "^7.14.5" +"@babel/preset-typescript@~7.12.13": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.17.tgz#8ecf04618956c268359dd9feab775dc14a666eb5" + integrity sha512-T513uT4VSThRcmWeqcLkITKJ1oGQho9wfWuhQm10paClQkp1qyd0Wf8mvC8Se7UYssMyRSj4tZYpVTkCmAK/mA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-typescript" "^7.12.17" + "@babel/register@^7.0.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.14.5.tgz#d0eac615065d9c2f1995842f85d6e56c345f3233" @@ -1792,6 +2179,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.11.2": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.12.1": version "7.14.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" @@ -1833,6 +2227,15 @@ "@babel/parser" "^7.14.5" "@babel/types" "^7.14.5" +"@babel/template@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" + "@babel/traverse@^7.0.0", "@babel/traverse@^7.14.8": version "7.14.8" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz#c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce" @@ -1893,6 +2296,21 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.15.4", "@babel/traverse@^7.9.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" + integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.2": version "7.14.7" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753" @@ -1926,6 +2344,14 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.12.17", "@babel/types@^7.15.4", "@babel/types@^7.15.6": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" + integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== + dependencies: + "@babel/helper-validator-identifier" "^7.14.9" + to-fast-properties "^2.0.0" + "@babel/types@^7.14.5", "@babel/types@^7.4.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" @@ -2202,6 +2628,111 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@expo/config-plugins@2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-2.0.4.tgz#955fd70a2aeefbe99ec71cecb1d7ea7b626dc79e" + integrity sha512-JGt/X2tFr7H8KBQrKfbGo9hmCubQraMxq5sj3bqDdKmDOLcE1a/EDCP9g0U4GHsa425J8VDIkQUHYz3h3ndEXQ== + dependencies: + "@expo/config-types" "^41.0.0" + "@expo/json-file" "8.2.30" + "@expo/plist" "0.0.13" + debug "^4.3.1" + find-up "~5.0.0" + fs-extra "9.0.0" + getenv "^1.0.0" + glob "7.1.6" + resolve-from "^5.0.0" + slash "^3.0.0" + xcode "^3.0.1" + xml2js "^0.4.23" + +"@expo/config-plugins@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-3.1.0.tgz#0752ff33c5eab21cf42034a44e79df97f0f867f8" + integrity sha512-V5qxaxCAExBM0TXmbU1QKiZcAGP3ecu7KXede8vByT15cro5PkcWu2sSdJCYbHQ/gw6Vf/i8sr8gKlN8V8TSLg== + dependencies: + "@expo/config-types" "^42.0.0" + "@expo/json-file" "8.2.33" + "@expo/plist" "0.0.14" + chalk "^4.1.2" + debug "^4.3.1" + find-up "~5.0.0" + fs-extra "9.0.0" + getenv "^1.0.0" + glob "7.1.6" + resolve-from "^5.0.0" + semver "^7.3.5" + slash "^3.0.0" + xcode "^3.0.1" + xml2js "^0.4.23" + +"@expo/config-types@^41.0.0": + version "41.0.0" + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-41.0.0.tgz#ffe1444c6c26e0e3a8f7149b4afe486e357536d1" + integrity sha512-Ax0pHuY5OQaSrzplOkT9DdpdmNzaVDnq9VySb4Ujq7UJ4U4jriLy8u93W98zunOXpcu0iiKubPsqD6lCiq0pig== + +"@expo/config-types@^42.0.0": + version "42.0.0" + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-42.0.0.tgz#3e3e125ec092c0c34dbfaf19be5480402de3d677" + integrity sha512-Rj02OMZke2MrGa/1Y/EScmR7VuWbDEHPJyvfFyyLbadUt+Yv6isCdeFzDt71I7gJlPR9T4fzixeYLrtXXOTq0w== + +"@expo/config@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@expo/config/-/config-4.0.4.tgz#48686c2b83bc00db469e01592e396e973e91e11d" + integrity sha512-O3xRlwMCidOgk1WHIy6eOjh2yp0h/kgBDRNKqPe21+YDiOufyTGGNvbWgHwoax8goa1iMg443WQO7GhvaH286g== + dependencies: + "@babel/core" "7.9.0" + "@babel/plugin-proposal-class-properties" "~7.12.13" + "@babel/preset-env" "~7.12.13" + "@babel/preset-typescript" "~7.12.13" + "@expo/config-plugins" "2.0.4" + "@expo/config-types" "^41.0.0" + "@expo/json-file" "8.2.30" + fs-extra "9.0.0" + getenv "^1.0.0" + glob "7.1.6" + require-from-string "^2.0.2" + resolve-from "^5.0.0" + semver "7.3.2" + slugify "^1.3.4" + +"@expo/json-file@8.2.30": + version "8.2.30" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.30.tgz#bd855b6416b5c3af7e55b43f6761c1e7d2b755b0" + integrity sha512-vrgGyPEXBoFI5NY70IegusCSoSVIFV3T3ry4tjJg1MFQKTUlR7E0r+8g8XR6qC705rc2PawaZQjqXMAVtV6s2A== + dependencies: + "@babel/code-frame" "~7.10.4" + fs-extra "9.0.0" + json5 "^1.0.1" + write-file-atomic "^2.3.0" + +"@expo/json-file@8.2.33": + version "8.2.33" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.33.tgz#78f56f33a2cfb807b23c81e00237a33159aa1f32" + integrity sha512-CDnhjdirUs6OdN5hOSTJ2y3i9EiJMk7Z5iDljC5xyCHCrUex7oyI8vbRsZEojAahxZccgL/PrO+CjakiFFWurg== + dependencies: + "@babel/code-frame" "~7.10.4" + json5 "^1.0.1" + write-file-atomic "^2.3.0" + +"@expo/plist@0.0.13": + version "0.0.13" + resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.13.tgz#700a48d9927aa2b0257c613e13454164e7371a96" + integrity sha512-zGPSq9OrCn7lWvwLLHLpHUUq2E40KptUFXn53xyZXPViI0k9lbApcR9KlonQZ95C+ELsf0BQ3gRficwK92Ivcw== + dependencies: + base64-js "^1.2.3" + xmlbuilder "^14.0.0" + xmldom "~0.5.0" + +"@expo/plist@0.0.14": + version "0.0.14" + resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.14.tgz#a756903bd28aabe0a961222df2e7858a39a218c9" + integrity sha512-bb4Ua1M/OdNgS8KiGdSDUjZ/bbPfv3xdPY/lz8Ctp/adlj/QgB8xA7tVPeqSSfJPZqFRwU0qLCnRhpUOnP51VQ== + dependencies: + "@xmldom/xmldom" "~0.7.0" + base64-js "^1.2.3" + xmlbuilder "^14.0.0" + "@hapi/hoek@^9.0.0": version "9.2.0" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" @@ -2840,23 +3371,37 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nozbe/simdjson@0.9.6-fix2": + version "0.9.6-fix2" + resolved "https://registry.yarnpkg.com/@nozbe/simdjson/-/simdjson-0.9.6-fix2.tgz#00d1c8ec76bfac25c022b07511c8fff4568b2973" + integrity sha512-xKzrhtH7elBUOOihtNwN4Jr0iVcI7+95NCzC2gLvBYkITiCYqqOUm+2badFMkWFEE9gKQLUJJaux4qtgPPItaQ== + "@nozbe/sqlite@3.31.1": version "3.31.1" resolved "https://registry.yarnpkg.com/@nozbe/sqlite/-/sqlite-3.31.1.tgz#ffd394ad7c188c6b73f89fd6e1ccb849a1b96dba" integrity sha512-z5+GdcHZl9OQ1g0pnygORAnwCYUlYw/gQxdW/8rS0HxD2Gnn/k3DBQOvqQIH4Z3Z3KWVMbGUYhcH1v4SqTAdwg== -"@nozbe/watermelondb@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@nozbe/watermelondb/-/watermelondb-0.19.0.tgz#70dae4bfca9dde8d61819a6092846e178a50e2f7" - integrity sha512-x7sclLu/4RDmLzANIYQioKjWdmoIxgqYw7OJnS7UtWEtJGn28l5Z69SWojll/RM0X2KOEem0BIcjqM46CA53GA== +"@nozbe/watermelondb@0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@nozbe/watermelondb/-/watermelondb-0.23.0.tgz#505b1dda6445c734708d1af0d82b10b7fcc58c07" + integrity sha512-nQCQCZe9jthWlVPDI5WfOPc9lx3hI+sxG74vlyDH3NXgzjJiLEkVmpV+zF71U6VQLHsFRE7pGntys4SdsuEmzg== dependencies: + "@babel/runtime" "^7.11.2" + "@nozbe/simdjson" "0.9.6-fix2" "@nozbe/sqlite" "3.31.1" - lokijs "npm:@nozbe/lokijs@1.5.10-wmelon0" - rambdax "2.15.0" - rxjs "^6.2.2" - rxjs-compat "^6.3.2" + "@nozbe/with-observables" "1.4.0" + hoist-non-react-statics "^3.3.2" + lokijs "npm:@nozbe/lokijs@1.5.12-wmelon2" + rxjs "^6.5.3" sql-escape-string "^1.1.0" +"@nozbe/with-observables@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@nozbe/with-observables/-/with-observables-1.4.0.tgz#38d91186c932d431b767302f9f31214335912c6a" + integrity sha512-vzc0QiYcXK/GmflBGBXTs02ayL25e1l4Cr9aYgSuYCZVqpyMfep9xp89RygNbiibAfVLbgEUa7thxlm3jw8hFw== + dependencies: + hoist-non-react-statics "^3.3.2" + "@reach/router@^1.2.1": version "1.3.3" resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.3.tgz#58162860dce6c9449d49be86b0561b5ef46d80db" @@ -3203,6 +3748,11 @@ dependencies: eslint-plugin-import "^2.17.2" +"@rocket.chat/message-parser@0.30.0": + version "0.30.0" + resolved "https://registry.yarnpkg.com/@rocket.chat/message-parser/-/message-parser-0.30.0.tgz#63a25aa7fa17724d55db80f95f7f8d6a99ae42ff" + integrity sha512-pI7ajaojv+GqhQBMnFiBOWerE7zIlJywWFaLzJlIC/wsJ9LgX6YaKY2wqc909nkr+E4qZY1luJ61ErXGGSF9Zw== + "@rocket.chat/react-native-fast-image@^8.2.0": version "8.2.0" resolved "https://registry.yarnpkg.com/@rocket.chat/react-native-fast-image/-/react-native-fast-image-8.2.0.tgz#4f48858f95f40afcb10b39cee9b1239c150d6c51" @@ -3956,6 +4506,11 @@ dependencies: source-map "^0.6.1" +"@types/url-parse@^1.4.4": + version "1.4.4" + resolved "https://registry.yarnpkg.com/@types/url-parse/-/url-parse-1.4.4.tgz#ebeb0ec8b581318739cf73e9f9b186f610764255" + integrity sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q== + "@types/webpack-env@^1.15.0": version "1.15.2" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.2.tgz#927997342bb9f4a5185a86e6579a0a18afc33b0a" @@ -4082,21 +4637,20 @@ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== -"@unimodules/core@~5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.3.0.tgz#c425e59b1f9c1e2c91b235b6192e5f622a47d833" - integrity sha512-uGpkYE2zI0F1LTv+p6drzCHAZo8UFITxedHUH6pjWQBHdpTtae5cU7l3F/CzQ4WYU6SWhkzaB90/Ydf3DNTuLw== +"@unimodules/core@~7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-7.1.2.tgz#5181b99586476a5d87afd0958f26a04714c47fa1" + integrity sha512-lY+e2TAFuebD3vshHMIRqru3X4+k7Xkba4Wa7QsDBd+ex4c4N2dHAO61E2SrGD9+TRBD8w/o7mzK6ljbqRnbyg== dependencies: compare-versions "^3.4.0" -"@unimodules/react-native-adapter@~5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.4.0.tgz#6639a2b6df74806bc886933c99bb18408e54f7f0" - integrity sha512-2c3hDWzfBAyDWNCkBziyXphmxRZvZ5J8oSMLRDohvj6DnQiHvnlgr/A4oberkjPSEve5fN4GA+eybcJrec08AA== +"@unimodules/react-native-adapter@~6.3.7": + version "6.3.9" + resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-6.3.9.tgz#2f4bef6b7532dce5bf9f236e69f96403d0243c30" + integrity sha512-i9/9Si4AQ8awls+YGAKkByFbeAsOPgUNeLoYeh2SQ3ddjxJ5ZJDtq/I74clDnpDcn8zS9pYlcDJ9fgVJa39Glw== dependencies: + expo-modules-autolinking "^0.0.3" invariant "^2.2.4" - lodash "^4.5.0" - prop-types "^15.6.1" "@webassemblyjs/ast@1.9.0": version "1.9.0" @@ -4243,6 +4797,11 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@xmldom/xmldom@~0.7.0": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" + integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A== + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -5288,7 +5847,7 @@ base64-js@^1.0.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== -base64-js@^1.1.2, base64-js@^1.3.0, base64-js@^1.5.1: +base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.0, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -5576,6 +6135,17 @@ browserslist@^4.16.6: escalade "^3.1.1" node-releases "^1.1.71" +browserslist@^4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" + integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== + dependencies: + caniuse-lite "^1.0.30001264" + electron-to-chromium "^1.3.857" + escalade "^3.1.1" + node-releases "^1.1.77" + picocolors "^0.2.1" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -5818,6 +6388,11 @@ caniuse-lite@^1.0.30001219: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz#0a80de4cdf62e1770bb46a30d884fc8d633e3958" integrity sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ== +caniuse-lite@^1.0.30001264: + version "1.0.30001265" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz#0613c9e6c922e422792e6fcefdf9a3afeee4f8c3" + integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -5866,6 +6441,14 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -6361,11 +6944,6 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== - connect@^3.6.5: version "3.7.0" resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" @@ -6475,6 +7053,14 @@ core-js-compat@^3.15.0: browserslist "^4.16.6" semver "7.0.0" +core-js-compat@^3.8.0: + version "3.18.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.18.2.tgz#e40c266fbd613948dd8d2d2156345da8ac03c142" + integrity sha512-25VJYCJtGjZwLguj7d66oiHfmnVw3TMOZ0zV8DyMJp/aeQ3OjR519iOOeck08HMyVVRAqXxafc2Hl+5QstJrsQ== + dependencies: + browserslist "^4.17.3" + semver "7.0.0" + core-js-pure@^3.0.0: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" @@ -6495,11 +7081,6 @@ core-js@^1.0.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= -core-js@^2.4.1: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== - core-js@^3.0.1, core-js@^3.0.4: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" @@ -7226,6 +7807,11 @@ electron-to-chromium@^1.3.723: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz#0728587f1b9b970ec9ffad932496429aef750d09" integrity sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A== +electron-to-chromium@^1.3.857: + version "1.3.862" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.862.tgz#c1c5d4382449e2c9b0e67fe1652f4fc451d6d8c0" + integrity sha512-o+FMbCD+hAUJ9S8bfz/FaqA0gE8OpCCm58KhhGogOEqiA1BLFSoVYLi+tW+S/ZavnqBn++n0XZm7HQiBVPs8Jg== + element-resize-detector@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.2.tgz#bf7c3ff915957e4e62e86241ed2f9c86b078892b" @@ -7477,24 +8063,6 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz#2ba4592dd6843258221d9bff2b6831bd77c874e4" - integrity sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw== - dependencies: - confusing-browser-globals "^1.0.9" - object.assign "^4.1.0" - object.entries "^1.1.1" - -eslint-config-airbnb@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz#724d7e93dadd2169492ff5363c5aaa779e01257d" - integrity sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw== - dependencies: - eslint-config-airbnb-base "^14.1.0" - object.assign "^4.1.0" - object.entries "^1.1.1" - eslint-config-prettier@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" @@ -7906,15 +8474,17 @@ expect@^27.0.6: jest-message-util "^27.0.6" jest-regex-util "^27.0.6" -expo-apple-authentication@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/expo-apple-authentication/-/expo-apple-authentication-2.2.1.tgz#4f515183a385bb2681d8f7bf1064251016d05b97" - integrity sha512-BD4tKhoUWm99RTbFjf8IZo/CIOKFhjUej54mci1djOao770TVXl4Eq8IYDgwHEqK5v8UAySVwxAzgJBmQl9XIw== +expo-apple-authentication@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/expo-apple-authentication/-/expo-apple-authentication-3.2.1.tgz#c35e2151163a590f91da07a450c6d0c2213cb407" + integrity sha512-BF98D5mszbbIVsdTEoo4AK4PaBbmpVaQ/MkseYY+kHKdiNl8BKAdlNrInnMYZZaOekPrKMJaJRaXZzrZH9CB3g== + dependencies: + "@expo/config-plugins" "^3.0.0" -expo-asset@~8.1.7: - version "8.1.7" - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.1.7.tgz#32618e51f85df56f1d7dd54c71eb486ae7f7674e" - integrity sha512-g0+a+Uc+GfOI7VtZ6d0WB78qq6Lu3vKqHN3TBfcsndcx893CSmo6ZVLcrlL9evdZwlbSO+9zLrLdzEw38a/gMA== +expo-asset@~8.3.3: + version "8.3.3" + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.3.3.tgz#b54ab9999efb3d2086329fc5b1bed04fede8f682" + integrity sha512-qCm5d14tzswY8DcmRJ+0WkY9tc3OiVikBAiw2hCMC+bFpK/bEdqy4Zwfd69MFIAJ0taJpHWhdUoBRO0byQLlfg== dependencies: blueimp-md5 "^2.10.0" invariant "^2.2.4" @@ -7922,66 +8492,82 @@ expo-asset@~8.1.7: path-browserify "^1.0.0" url-parse "^1.4.4" -expo-av@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-av/-/expo-av-8.2.1.tgz#cab16a5f0766b84a7c2e05e04523cb73a0cd4e9b" - integrity sha512-p1W6ta5yFLsyUUB4bH/Bm2gz/KEleYWRYkF7PR3aYXjtTjMX9Ud1gwzEfbMJMKZRSlJydSzy/ieQT8CVatd68A== +expo-av@9.2.3: + version "9.2.3" + resolved "https://registry.yarnpkg.com/expo-av/-/expo-av-9.2.3.tgz#aa54da9c0bc1c3eb0251c1da17f5123f15d4f82f" + integrity sha512-If6+JqB2mqMKJxHgN8UAx75CWH4kPAzx2EyP+MFmcPVpcSBJZ/Fj+EfI+GJnk3tHPSB2Eld1IFEYOIJCkN/26Q== dependencies: - lodash "^4.17.15" - nullthrows "^1.1.0" - prop-types "15.7.2" + "@expo/config-plugins" "^3.0.0" + expo-modules-core "~0.2.0" -expo-constants@~9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.1.1.tgz#bca141ee3d4550e308798128f66c6d9c6a206ca1" - integrity sha512-zCa/wRARODHd6BSwxjBhidmao0AqQnKmLkl0tsVIoZlRyPDHsEaxNR/m+7wqGC7qiC+UpG1qRnvLOLwCGt2ihg== +expo-constants@~11.0.2: + version "11.0.2" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-11.0.2.tgz#069930145908fef7d76bf72a1a874a1d4621af82" + integrity sha512-CVjM+FbOMe/nFOSly5lnj0seMAYsjjc6+q3X8nIXG+gtw9iNBLwMX3Fz308rxiaPRJw+TBdd5/mcGJdNfoS+ew== dependencies: - fbjs "1.0.0" + "@expo/config" "^4.0.0" + expo-modules-core "~0.2.0" uuid "^3.3.2" -expo-file-system@9.0.1, expo-file-system@~9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-9.0.1.tgz#50a6a0b29fbc45413de9f7d38c0695503bf03d7e" - integrity sha512-xZKv7g0dhFNMjp49+XiZBnApOUu/WlLzwWaruNbBnSgi/HGnSwbHNyk7zuK1RdQ9NndvXu6uT4uW2i67pIrKig== +expo-file-system@11.1.3, expo-file-system@~11.1.3: + version "11.1.3" + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-11.1.3.tgz#f344bd175a5f65e2a97d2d6a1fd4c8da06386639" + integrity sha512-FBRcD6ojrkrZiTZ8O7Fbo833HhZtkhKtLDj4RNZIMpF1i+ZBD2bmeMcfLMeRHNYcBeJno9C4AVXoNQFqDCGQDg== dependencies: + "@expo/config-plugins" "^3.0.0" + expo-modules-core "~0.2.0" uuid "^3.4.0" -expo-haptics@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-8.2.1.tgz#e4723cc6f25280631841ef178cb732b4cf637267" - integrity sha512-isw7ocEK1lNZ5dFfgyiJMj9s6jYIqfOKyEUYwhFP8KPOIDYVZJ2N5RPwvS95MRGprwrVetxbbGNEqZOELyhZKg== +expo-haptics@10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-10.1.0.tgz#2ef5f0c3442f57844f7a7a961d922872e4ea9a71" + integrity sha512-2rpixkP3LSCwaJAmbbs0CSqbY7lSk7Ytay4UAYWg3YiJ05My7+MGMPbQJARyAMI5JQNuzcdsZN74btSusBvgYQ== -expo-image-loader@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-1.1.1.tgz#6c65bd1a41761c8acb91575060579e4864b93394" - integrity sha512-qI4opRO2D1MGRAbHxYnMBJ4LzKT17KfqbM5oTxNoMZCRNpzB0xsuJrWy5C+0UOkV0vnqQyjvCtynTSawhWnl9A== +expo-image-loader@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-2.2.0.tgz#b5d49ec65e576c033823050b223ef462c5ec5711" + integrity sha512-kTs/lW8LUXYFQ5t8wkdJs0A41zd7dIB8uRRC0a9L0EurSGUvQWiVTbHQoLo/GYWL7nM85OaPAe2qkHfcz5KeyA== -expo-keep-awake@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.2.1.tgz#a7956ad0fa80eb6ac6a28bb7242408e87c493677" - integrity sha512-m644YH7R/3n6dcn03aZcmHGTk4hDDIiEiImTKsSjbXIIRuW5tfdRqLCHnja5DwBT+4sxUn58wTpK6QnTfXichA== - -expo-local-authentication@9.2.0: +expo-keep-awake@9.2.0: version "9.2.0" - resolved "https://registry.yarnpkg.com/expo-local-authentication/-/expo-local-authentication-9.2.0.tgz#7e52c34aba156c59b28b3833d93763e4dd0ca951" - integrity sha512-bg3yNx5E0AX7r3oJ6BdHMReNv1LX6ZfDqiDuugOxOgzycP+1oIY/LwU8nET6O3gSk4JiVogwjg3hFrtI+ksFJQ== + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-9.2.0.tgz#9cbdcc8264c943ef29a58326236cd34267e98f43" + integrity sha512-R5jAx5j3MqrhKFB307FBpaHtYSYeVIFX/rVforBF5inKonYjXRWVhjGoBjolF4geAryNamC3NKhMfxyaaB0W6Q== + +expo-local-authentication@11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/expo-local-authentication/-/expo-local-authentication-11.1.1.tgz#ef9de3f74e504c14ab4459d6c0c825f87d3c0c18" + integrity sha512-58uXDa8kkcsITrWtDJL24F+VNVXpIlN1X4xQDI0BHrWxIobRLTkhDhYwV78X+gJj3WKMBv3d2mkd2fmg2koT5Q== dependencies: + "@expo/config-plugins" "^3.0.0" invariant "^2.2.4" -expo-permissions@~9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.0.1.tgz#dc10b58654bbe39bbbed5827369942b01b08055e" - integrity sha512-CosJgy8XQRN/OFG2JTQDcFxz3XTGi27coCMym/hVXWtQfk0z6PwdRG5IXHfLGuSckwIcgmirrwm2+Zc0X3MmNg== +expo-modules-autolinking@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-0.0.3.tgz#45ba8cb1798f9339347ae35e96e9cc70eafb3727" + integrity sha512-azkCRYj/DxbK4udDuDxA9beYzQTwpJ5a9QA0bBgha2jHtWdFGF4ZZWSY+zNA5mtU3KqzYt8jWHfoqgSvKyu1Aw== + dependencies: + chalk "^4.1.0" + commander "^7.2.0" + fast-glob "^3.2.5" + find-up "~5.0.0" + fs-extra "^9.1.0" -expo-video-thumbnails@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/expo-video-thumbnails/-/expo-video-thumbnails-5.1.0.tgz#7227698977b1496a076c1a71149a372d14827311" - integrity sha512-Ggtud9tieWu+iCvm5QZfJKw//3tmXAX68SR0IZ9WPQ9MKePGSyOWpMY/PSxOXJMSbkCDQJY48rQMqiloXlaLmg== +expo-modules-core@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-0.2.0.tgz#68e5b6e53d0afbf8d131578831aed657589a2d42" + integrity sha512-inpfZ5X/BaTtbj2wG9PA9AC0MN8VyId6KSRlVuEg7+ziurHBy/kKDFxpOddUokhwiln2uhoYPSStJjR/tKypdw== -expo-web-browser@8.3.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-8.3.1.tgz#c88cc349dfa1db31cfdbe365753b6840054d0152" - integrity sha512-mDxSNpc/Ww/RX6MhmPRUWo2xNi8HGZ1TDMqIjTvUzrL7pGG9VerX0EDMhfLgo6c7KVOY1ngbTyybApZTXgPCOQ== +expo-video-thumbnails@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/expo-video-thumbnails/-/expo-video-thumbnails-5.2.1.tgz#d7f9853117671a09acc24e70df84b6c7c3e38114" + integrity sha512-0ttnCbQJrhqs0sFLHjIXb7wZ/z4hfT6GGkmfWOoNiNYcgY9mShASv5domn82llz8/S4lLE9KpNUl9rrt90JsJg== + dependencies: + expo-modules-core "~0.2.0" + +expo-web-browser@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-9.2.0.tgz#34c1355552c4c6eaae515340a0761939a9bf6152" + integrity sha512-Gy9tkIw/JplfiTiOR/pdEbLdyuzeQBYFuU27TXSfLOn/tDRcOghOcJ+vNH2FX3iZqReBHMJEINjcWxpOpOvpFw== dependencies: compare-urls "^2.0.0" @@ -8086,7 +8672,7 @@ fast-glob@^2.0.2: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.1.1: +fast-glob@^3.1.1, fast-glob@^3.2.5: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== @@ -8147,20 +8733,6 @@ fbjs-css-vars@^1.0.0: resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== -fbjs@1.0.0, fbjs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a" - integrity sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA== - dependencies: - core-js "^2.4.1" - fbjs-css-vars "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" - fbjs@^0.8.4, fbjs@^0.8.9: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" @@ -8332,7 +8904,7 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@5.0.0: +find-up@5.0.0, find-up@~5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== @@ -8480,6 +9052,16 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +fs-extra@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3" + integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -8690,6 +9272,11 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +getenv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31" + integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg== + gifwrap@^0.9.2: version "0.9.2" resolved "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.9.2.tgz#348e286e67d7cf57942172e1e6f05a71cee78489" @@ -8752,6 +9339,18 @@ glob@7.0.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.1.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@7.1.7, glob@^7.0.0, glob@^7.1.6: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -8775,18 +9374,6 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-modules@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -11173,7 +11760,7 @@ lodash@^4.0.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.5.0: +lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -11212,10 +11799,10 @@ logkitty@^0.7.1: dayjs "^1.8.15" yargs "^15.1.0" -"lokijs@npm:@nozbe/lokijs@1.5.10-wmelon0": - version "1.5.10-wmelon0" - resolved "https://registry.yarnpkg.com/@nozbe/lokijs/-/lokijs-1.5.10-wmelon0.tgz#dcad682083b85c238d14cdcd1f016125fff54336" - integrity sha512-GSLyRUTxCPwWLLKxMxA8/Pujm2xAgPGSehze9ICHZDG9yyMMfuWYae+qY+fQctgA1HuKiwoRUEvrrKBCQj9jzA== +"lokijs@npm:@nozbe/lokijs@1.5.12-wmelon2": + version "1.5.12-wmelon2" + resolved "https://registry.yarnpkg.com/@nozbe/lokijs/-/lokijs-1.5.12-wmelon2.tgz#31bc7b2d0c62edc1ccabd50ba795635d40e3e8c9" + integrity sha512-/YkZghPWKmyXgVpZ2MaIe3y/t/IYm/wQxXyEoi0G8JrjTrO9tlrAs2uiHUhbdY/2ZSPMLKbw1q9EqXZxA8ZqnQ== long@~3: version "3.2.0" @@ -11904,6 +12491,11 @@ mocha@9.0.1: yargs-parser "20.2.4" yargs-unparser "2.0.0" +mockdate@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/mockdate/-/mockdate-3.0.5.tgz#789be686deb3149e7df2b663d2bc4392bc3284fb" + integrity sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ== + moment@2.29.1, moment@^2.19.3, moment@^2.24.0: version "2.29.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" @@ -12109,6 +12701,11 @@ node-releases@^1.1.53: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.56.tgz#bc054a417d316e3adac90eafb7e1932802f28705" integrity sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw== +node-releases@^1.1.77: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + node-stream-zip@^1.9.1: version "1.13.6" resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.13.6.tgz#8abdfdbc4bc96ee11e9438d94cc8c93c7df28959" @@ -12200,7 +12797,7 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -nullthrows@^1.1.0, nullthrows@^1.1.1: +nullthrows@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== @@ -12289,7 +12886,7 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.0, object.entries@^1.1.1: +object.entries@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== @@ -12835,6 +13432,11 @@ phin@^2.9.1: resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -13394,11 +13996,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -rambdax@2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/rambdax/-/rambdax-2.15.0.tgz#34fb481cea1a88e64a25e3a25e34a258fa18ca12" - integrity sha512-9ScXRMAcLaiist63yYDeDTRSIbL9DFY5yaIkoWyodaHS94PUL1ECQxQkxPP+h76oXG6bLo9b/ML+yvIRd78qeg== - ramda@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" @@ -13674,8 +14271,8 @@ react-native-gesture-handler@^1.10.3: prop-types "^15.7.2" react-native-image-crop-picker@RocketChat/react-native-image-crop-picker: - version "0.31.1" - resolved "https://codeload.github.com/RocketChat/react-native-image-crop-picker/tar.gz/db1040b57e8536bd64db699897361167009b359c" + version "0.36.3" + resolved "https://codeload.github.com/RocketChat/react-native-image-crop-picker/tar.gz/f347776247afb5cbd1400dde215689d7ca8fd6f2" react-native-image-progress@^1.1.1: version "1.1.1" @@ -13782,12 +14379,15 @@ react-native-prompt-android@^1.1.0: resolved "https://registry.yarnpkg.com/react-native-prompt-android/-/react-native-prompt-android-1.1.0.tgz#3c5168029075cb9f72549fd5f92403372fb234e9" integrity sha512-4JoyEaT2ZnK9IH+tDFpbTiQBgva8UIFGQf4/Uw/tnEVWBERlVlzcs5B82T9BkeEhEqXhp89JaiSBnLWj30lciw== -react-native-reanimated@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.9.0.tgz#38676c99dd585504fdc7331efb45e5f48ec7339a" - integrity sha512-Aj+spgIHRiVv7ezGADxnSH1EoKrQRD2+XaSiGY0MiB/pvRNNrZPSJ+3NVpvLwWf9lZMOP7dwqqyJIzoZgBDt8w== +react-native-reanimated@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.2.2.tgz#8bc81c7ee93d599991507bb826050a5eeee1e7f2" + integrity sha512-Lfv4ogbNLU9x3DqhXUFza9pnzyTvPrw5xGC1wWA6aGXqZgyaikNLgC5dNWzxVbfEwRdOuLPFsai3LAcIM92TCg== dependencies: - fbjs "^1.0.0" + "@babel/plugin-transform-object-assign" "^7.10.4" + fbjs "^3.0.0" + mockdate "^3.0.2" + string-hash-64 "^1.0.3" react-native-redash@^12.0.3: version "12.6.1" @@ -13879,30 +14479,22 @@ react-native-ui-lib@RocketChat/react-native-ui-lib#minor-improvements: semver "^5.5.0" url-parse "^1.2.0" -react-native-unimodules@0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.10.1.tgz#05a5ef248e88589528e7ef925137a345dde96ca4" - integrity sha512-U/GexLJWwDOXhsvSSz197gPVRoNVK4tY1cjvZC+748Q4mvc9v4ztB7niKaoaEbNdTjB/pE2NYlZW4013d1wQNw== +react-native-unimodules@^0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.14.8.tgz#8bf859ac1a4e06122e0331ddf9dec62019884432" + integrity sha512-yL6yaG6rq0dYb9/rN3KyZtOPxc0mt69GsWavAZBnhwN1v4uMi50DiHFdfACTPmPnz420woITmBpKK0juWRZOew== dependencies: - "@unimodules/core" "~5.3.0" - "@unimodules/react-native-adapter" "~5.4.0" + "@unimodules/core" "~7.1.2" + "@unimodules/react-native-adapter" "~6.3.7" chalk "^2.4.2" - expo-asset "~8.1.7" - expo-constants "~9.1.1" - expo-file-system "~9.0.1" - expo-image-loader "~1.1.1" - expo-permissions "~9.0.1" - unimodules-app-loader "~1.2.0" - unimodules-barcode-scanner-interface "~5.2.1" - unimodules-camera-interface "~5.2.1" - unimodules-constants-interface "~5.2.1" - unimodules-face-detector-interface "~5.2.1" - unimodules-file-system-interface "~5.2.1" - unimodules-font-interface "~5.2.1" - unimodules-image-loader-interface "~5.2.1" - unimodules-permissions-interface "~5.2.1" - unimodules-sensors-interface "~5.2.1" - unimodules-task-manager-interface "~5.2.1" + expo-asset "~8.3.3" + expo-constants "~11.0.2" + expo-file-system "~11.1.3" + expo-image-loader "~2.2.0" + expo-modules-core "~0.2.0" + find-up "~5.0.0" + unimodules-app-loader "~2.2.0" + unimodules-task-manager-interface "~6.2.0" react-native-vector-icons@8.1.0: version "8.1.0" @@ -14599,18 +15191,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs-compat@^6.3.2: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.5.5.tgz#073c40510f29c45a2a5fc02dde87f8c3ad75f2c2" - integrity sha512-F42sssVbUyWH4vJswEo6m+Eh02xHv3q93n8S7nUJO58R7sbc3CvJIOts605zdaBhWa1xMB9aVSyqPqhQ5q3eXg== - -rxjs@^6.2.2, rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== - dependencies: - tslib "^1.9.0" - rxjs@^6.4.0, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" @@ -14618,6 +15198,13 @@ rxjs@^6.4.0, rxjs@^6.6.7: dependencies: tslib "^1.9.0" +rxjs@^6.5.3: + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -14746,6 +15333,11 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + semver@7.3.5, semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" @@ -14958,7 +15550,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -simple-plist@^1.0.0: +simple-plist@^1.0.0, simple-plist@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.1.1.tgz#54367ca28bc5996a982c325c1c4a4c1a05f4047c" integrity sha512-pKMCVKvZbZTsqYR6RKgLfBHkh2cV89GXcA/0CVPje3sOiNOnXA8+rp/ciAMZ7JRaUdLzlEM6JFfUn+fS6Nt3hg== @@ -15041,6 +15633,11 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slugify@^1.3.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.1.tgz#a5fcaef29f4e57c6e932ce7044b6ffd9cf81b641" + integrity sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA== + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -15337,6 +15934,11 @@ string-argv@0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-hash-64@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string-hash-64/-/string-hash-64-1.0.3.tgz#0deb56df58678640db5c479ccbbb597aaa0de322" + integrity sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw== + string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -16230,60 +16832,15 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== -unimodules-app-loader@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.2.0.tgz#e3ab8942000b0a0ee3bef2faff7e7e276d84c86a" - integrity sha512-TZCFuyOfX/iVJf3uhy2WmGnQFUGgsfkVRzUb7mCxPTqqdyvqT7aXxCGM3gY+3Y8dPdCRGoG+EA2vrOe3aLU0qw== +unimodules-app-loader@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-2.2.0.tgz#8f8543630ada0f9092ce95050d05738990d1f4ab" + integrity sha512-porQWVWu7meIrCJ+c+H7eJyeC2rHioLUZiv4UcOs33SAyUhR4X05tCC8NIOuQJsF08Fj3a0ck7HUsd5xq+LqKA== -unimodules-barcode-scanner-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.2.1.tgz#95b90ed96b7c97b2ce48925f28e478781e9165ea" - integrity sha512-7gLHsZ4vkQ5utDmsiBK4jgqBd2+9V7y/iHqi7P2Aqz21RomJF9ruWJMo6R6k2+14IayFbtZGU2+aRx2w/1SAGg== - -unimodules-camera-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.2.1.tgz#c46bb4319ab71751275fd581e88e7f93892a34f2" - integrity sha512-ugdWuv1FO6BZTGMIzE2KvA6x5h1CHguRKWJBeYfO8Ih/S51eE7jEyV+kO+xXROFNzWhkcKRJdQp1AutiJBDLtg== - -unimodules-constants-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.2.1.tgz#fa8af66276fa6784bba0a8c7d7235bdab9f88ce8" - integrity sha512-rQCtVHUVXcjMQWdDlWmOTiKMPNygagq/73U/jt6LqfQLVglx7wMjPWSndgjp3xyM34f6hrydeWXYP6rUgDY0lg== - -unimodules-face-detector-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.2.1.tgz#19b909771bd413e525e5d3934be64f513dfca560" - integrity sha512-6FQQCKzEE2FyVW2HrfJfQTipaBWEi7yV6Fpor9aNj362kzbiEewrDH6b6XT3eBR3xiPbAHzNu6FIfA93X/jfWA== - -unimodules-file-system-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.2.1.tgz#8ce9ca10bc1de91a5824b324bff879e344c6d183" - integrity sha512-Z+hMrWIbTxPiOF7B7x+1bNelsJxxt/qpG3hg/bZjeC5LG6tfiqDHqnMg/Fp1U+ykeV8RoqkHBgzIMJ8seSEdFg== - -unimodules-font-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.2.1.tgz#7f16100a693a42fc5190bdf11c79158183a5226d" - integrity sha512-dRtXGySUqGeGNRd49rc9GYXjxf/c370mAhdDIxDLWUy+HcQfBRwawweAdpSpTmqC9ksXMbsS0X3CyjY1fv0ufQ== - -unimodules-image-loader-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.2.1.tgz#e9fb5aab55c6cd38cf2d67840d83856ca636c74c" - integrity sha512-e1yFtuVeVgwlsxWtuE+8uuThAERjB8d3VKF4XUtmOqTGV3+r1MxuV4/R5PmHLmfCa0vJlCpXITi9GeknWE0Yvg== - -unimodules-permissions-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.2.1.tgz#97e3259d6322f4e2200685eb4b235275378e8b87" - integrity sha512-uBbcriIBdY2kMmVKgSZePDKkM2fviSCKcHnje8wBPK6O/n2UlocVpq4DJjt13KK3YcEMHUAK+D73b12zbfOUTw== - -unimodules-sensors-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.2.1.tgz#00ac952f30de8b4e486afbb01d81c72ece474298" - integrity sha512-GsBJkk+LSpCJ6WIl3Ik5zk1LfflOVE2RYvH7I9XOJsJP7X8Y1urUOFtldjtwWai6nNhlMyXKAFIF4aoBOQii/A== - -unimodules-task-manager-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.2.1.tgz#85cd7dcbcc152a65a56594b8fb8398ee1473a66d" - integrity sha512-GEjay8yVO5aoh1oNGENVU4F28q2XVPOHYSoz7ZFWlg4maKg5qSNqIAwY9I4fVyd60vbFusq3zjeTPK5fGp0dWg== +unimodules-task-manager-interface@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-6.2.0.tgz#e9e19ca5b28b2dfafa5768baf9da6c71bf6940d8" + integrity sha512-DrRVWF46TI93GbaDWAJ+bKd3vHjZq9pS8oJ6pZQN96qUTWkJ3yqa92yF118JxdGll+YtymxF/ZWCugBFMtISbA== union-value@^1.0.0: version "1.0.1" @@ -16326,6 +16883,11 @@ universalify@^0.1.0, universalify@^0.1.2: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -16517,6 +17079,11 @@ uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== + uuid@^8.0.0: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -16925,6 +17492,14 @@ xcode@^2.0.0: simple-plist "^1.0.0" uuid "^3.3.2" +xcode@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" + integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== + dependencies: + simple-plist "^1.1.0" + uuid "^7.0.3" + xhr@^2.0.1: version "2.5.0" resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" @@ -16945,7 +17520,7 @@ xml-parse-from-string@^1.0.0: resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= -xml2js@^0.4.5: +xml2js@^0.4.23, xml2js@^0.4.5: version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== @@ -16953,6 +17528,11 @@ xml2js@^0.4.5: sax ">=0.6.0" xmlbuilder "~11.0.0" +xmlbuilder@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-14.0.0.tgz#876b5aec4f05ffd5feb97b0a871c855d16fbeb8c" + integrity sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg== + xmlbuilder@^9.0.7: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" @@ -16975,7 +17555,7 @@ xmldoc@^1.1.2: dependencies: sax "^1.2.1" -xmldom@^0.5.0: +xmldom@^0.5.0, xmldom@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e" integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==