chore: Merge 4.40.0 into master (#5191)

This commit is contained in:
Diego Mello 2023-08-29 11:25:52 -03:00 committed by GitHub
commit 394387600e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
245 changed files with 5901 additions and 5589 deletions

View File

@ -4,8 +4,10 @@ export class MMKVLoader {
} }
setProcessingMode = jest.fn().mockImplementation(() => ({ setProcessingMode = jest.fn().mockImplementation(() => ({
withEncryption: jest.fn().mockImplementation(() => ({ setAccessibleIOS: jest.fn().mockImplementation(() => ({
initialize: jest.fn().mockImplementation(() => {}) withEncryption: jest.fn().mockImplementation(() => ({
initialize: jest.fn().mockImplementation(() => {})
}))
})) }))
})); }));
} }
@ -14,4 +16,8 @@ export const ProcessingModes = {
MULTI_PROCESS: '' MULTI_PROCESS: ''
}; };
export const IOSAccessibleStates = {
AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY: ''
};
export const create = jest.fn(); export const create = jest.fn();

View File

@ -1,5 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Storyshots Avatar Avatar External Provider Url 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://hips.hearstapps.com/hmg-prod/images/dog-puppy-on-garden-royalty-free-image-1586966191.jpg?crop=0.752xw:1.00xh;0.175xw,0&resize=1200:*&format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
exports[`Storyshots Avatar Avatar Path 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`; exports[`Storyshots Avatar Avatar Path 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
exports[`Storyshots Avatar Avatar Room Id 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/room/devWBbYr7inwupPqK?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`; exports[`Storyshots Avatar Avatar Room Id 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/room/devWBbYr7inwupPqK?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
@ -20,6 +22,8 @@ exports[`Storyshots Avatar Direct 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\
exports[`Storyshots Avatar Emoji 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/troll.jpg\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}"`; exports[`Storyshots Avatar Emoji 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},[{\\"width\\":30,\\"height\\":30}]]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/emoji-custom/troll.jpg\\",\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"contain\\"},\\"children\\":null}]}]}"`;
exports[`Storyshots Avatar Room Avatar External Provider Url 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://cdn.pensador.com/img/authors/ho/me/homer-simpson-l.jpg?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
exports[`Storyshots Avatar Static 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`; exports[`Storyshots Avatar Static 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
exports[`Storyshots Avatar Touchable 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}"`; exports[`Storyshots Avatar Touchable 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}"`;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Storyshots SwitchItem Switch 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"alignItems\\":\\"flex-start\\",\\"padding\\":16}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"minHeight\\":54,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"space-between\\",\\"flexDirection\\":\\"row\\",\\"maxHeight\\":80,\\"marginBottom\\":12},{\\"backgroundColor\\":\\"#ffffff\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Welcome to Rocket.Chat\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"testID\\":\\"create-channel-switch-id-hint\\",\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Only authorized users can write new messages\\"]}]},{\\"type\\":\\"RCTSwitch\\",\\"props\\":{\\"testID\\":\\"create-channel-switch-id\\",\\"disabled\\":false,\\"onTintColor\\":\\"#2de0a5\\",\\"style\\":{\\"height\\":31,\\"width\\":51},\\"tintColor\\":\\"#f5455c\\",\\"value\\":false,\\"accessibilityRole\\":\\"switch\\"},\\"children\\":null}]}]}"`; exports[`Storyshots SwitchItem Switch 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"alignItems\\":\\"flex-start\\",\\"padding\\":16}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"minHeight\\":54,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"space-between\\",\\"flexDirection\\":\\"row\\",\\"maxHeight\\":80,\\"marginBottom\\":12},{\\"backgroundColor\\":\\"#ffffff\\"}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"marginRight\\":8}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"[missing \\\\\\"en.Onboarding_title\\\\\\" translation]\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"testID\\":\\"create-channel-switch-id-hint\\",\\"style\\":[{\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"Only authorized users can write new messages\\"]}]},{\\"type\\":\\"RCTSwitch\\",\\"props\\":{\\"testID\\":\\"create-channel-switch-id\\",\\"disabled\\":false,\\"onTintColor\\":\\"#2de0a5\\",\\"style\\":{\\"height\\":31,\\"width\\":51},\\"tintColor\\":\\"#f5455c\\",\\"value\\":false,\\"accessibilityRole\\":\\"switch\\"},\\"children\\":null}]}]}"`;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -147,7 +147,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode VERSIONCODE as Integer versionCode VERSIONCODE as Integer
versionName "4.39.0" versionName "4.40.0"
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
if (!isFoss) { if (!isFoss) {
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String] manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]

View File

@ -0,0 +1,24 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="731.4286"
android:viewportHeight="731.4286">
<group android:translateX="109.71429"
android:translateY="109.71429">
<group>
<clip-path android:pathData="M0,0h512v512h-512z M 0,0"/>
<path
android:pathData="M404.999,208.068C396.342,194.624 384.207,182.722 368.953,172.683C339.479,153.318 300.753,142.65 259.908,142.65C246.261,142.65 232.816,143.837 219.765,146.187C211.667,138.391 202.2,131.378 192.173,125.836C154.971,107.29 122.187,114.196 105.623,120.152C100.181,122.11 98.502,128.993 102.527,133.146C114.209,145.202 133.536,169.029 128.785,190.696C110.315,209.551 100.3,232.287 100.3,255.959C100.3,280.083 110.315,302.818 128.785,321.674C133.536,343.341 114.209,367.18 102.527,379.236C98.514,383.377 100.181,390.259 105.623,392.217C122.187,398.174 154.971,405.092 192.185,386.545C202.212,381.004 211.679,373.991 219.777,366.195C232.828,368.544 246.273,369.731 259.92,369.731C300.777,369.731 339.503,359.075 368.965,339.71C384.219,329.671 396.354,317.782 405.011,304.325C414.657,289.35 419.539,273.225 419.539,256.422C419.527,239.169 414.645,223.055 404.999,208.068ZM258.241,341.787C240.58,341.787 223.742,339.508 208.392,335.391L197.174,346.177C191.077,352.039 183.932,357.343 176.478,361.52C166.606,366.349 156.853,368.995 147.207,369.79C147.755,368.806 148.255,367.809 148.791,366.812C160.032,346.165 163.069,327.607 157.889,311.148C139.502,296.707 128.475,278.22 128.475,258.083C128.475,211.865 186.576,174.392 258.241,174.392C329.905,174.392 388.018,211.865 388.018,258.083C388.018,304.314 329.917,341.787 258.241,341.787Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M196.162,238.837C185.6,238.837 177.038,247.333 177.038,257.811C177.038,268.288 185.6,276.784 196.162,276.784C206.725,276.784 215.287,268.288 215.287,257.811C215.287,247.333 206.725,238.837 196.162,238.837Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M257.717,238.837C247.154,238.837 238.592,247.333 238.592,257.811C238.592,268.288 247.154,276.784 257.717,276.784C268.279,276.784 276.842,268.288 276.842,257.811C276.842,247.333 268.279,238.837 257.717,238.837Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M319.282,238.837C308.72,238.837 300.158,247.333 300.158,257.811C300.158,268.288 308.72,276.784 319.282,276.784C329.845,276.784 338.407,268.288 338.407,257.811C338.407,247.333 329.845,238.837 319.282,238.837Z"
android:fillColor="#ffffff"/>
</group>
</group>
</vector>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon> </adaptive-icon>

View File

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon> <monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@ -13,7 +13,10 @@
<!-- permissions related to jitsi call --> <!-- permissions related to jitsi call -->
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" />
<!-- android 13 notifications -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<application <application
android:name="chat.rocket.reactnative.MainApplication" android:name="chat.rocket.reactnative.MainApplication"
android:allowBackup="false" android:allowBackup="false"

View File

@ -0,0 +1,24 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="731.4286"
android:viewportHeight="731.4286">
<group android:translateX="109.71429"
android:translateY="109.71429">
<group>
<clip-path android:pathData="M0,0h512v512h-512z M 0,0"/>
<path
android:pathData="M404.999,208.068C396.342,194.624 384.207,182.722 368.953,172.683C339.479,153.318 300.753,142.65 259.908,142.65C246.261,142.65 232.816,143.837 219.765,146.187C211.667,138.391 202.2,131.378 192.173,125.836C154.971,107.29 122.187,114.196 105.623,120.152C100.181,122.11 98.502,128.993 102.527,133.146C114.209,145.202 133.536,169.029 128.785,190.696C110.315,209.551 100.3,232.287 100.3,255.959C100.3,280.083 110.315,302.818 128.785,321.674C133.536,343.341 114.209,367.18 102.527,379.236C98.514,383.377 100.181,390.259 105.623,392.217C122.187,398.174 154.971,405.092 192.185,386.545C202.212,381.004 211.679,373.991 219.777,366.195C232.828,368.544 246.273,369.731 259.92,369.731C300.777,369.731 339.503,359.075 368.965,339.71C384.219,329.671 396.354,317.782 405.011,304.325C414.657,289.35 419.539,273.225 419.539,256.422C419.527,239.169 414.645,223.055 404.999,208.068ZM258.241,341.787C240.58,341.787 223.742,339.508 208.392,335.391L197.174,346.177C191.077,352.039 183.932,357.343 176.478,361.52C166.606,366.349 156.853,368.995 147.207,369.79C147.755,368.806 148.255,367.809 148.791,366.812C160.032,346.165 163.069,327.607 157.889,311.148C139.502,296.707 128.475,278.22 128.475,258.083C128.475,211.865 186.576,174.392 258.241,174.392C329.905,174.392 388.018,211.865 388.018,258.083C388.018,304.314 329.917,341.787 258.241,341.787Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M196.162,238.837C185.6,238.837 177.038,247.333 177.038,257.811C177.038,268.288 185.6,276.784 196.162,276.784C206.725,276.784 215.287,268.288 215.287,257.811C215.287,247.333 206.725,238.837 196.162,238.837Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M257.717,238.837C247.154,238.837 238.592,247.333 238.592,257.811C238.592,268.288 247.154,276.784 257.717,276.784C268.279,276.784 276.842,268.288 276.842,257.811C276.842,247.333 268.279,238.837 257.717,238.837Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M319.282,238.837C308.72,238.837 300.158,247.333 300.158,257.811C300.158,268.288 308.72,276.784 319.282,276.784C329.845,276.784 338.407,268.288 338.407,257.811C338.407,247.333 329.845,238.837 319.282,238.837Z"
android:fillColor="#ffffff"/>
</group>
</group>
</vector>

View File

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon> </adaptive-icon>

View File

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon> <monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@ -34,6 +34,8 @@ public class Ejson {
String senderName; String senderName;
String msg; String msg;
String tmid;
private MMKV mmkv; private MMKV mmkv;
private String TOKEN_KEY = "reactnativemeteor_usertoken-"; private String TOKEN_KEY = "reactnativemeteor_usertoken-";

View File

@ -123,7 +123,9 @@ public class ReplyBroadcast extends BroadcastReceiver {
if (msg != message) { if (msg != message) {
msgMap.put("t", "e2e"); msgMap.put("t", "e2e");
} }
msgMap.put("tmid", null); if(ejson.tmid != null) {
msgMap.put("tmid", ejson.tmid);
}
Map m = new HashMap(); Map m = new HashMap();
m.put("message", msgMap); m.put("message", msgMap);

View File

@ -6,10 +6,10 @@ buildscript {
def isPlay = !taskRequests.contains("foss") def isPlay = !taskRequests.contains("foss")
ext { ext {
buildToolsVersion = "31.0.0" buildToolsVersion = "33.0.0"
minSdkVersion = 23 minSdkVersion = 23
compileSdkVersion = 31 compileSdkVersion = 33
targetSdkVersion = 31 targetSdkVersion = 33
if (System.properties['os.arch'] == "aarch64") { if (System.properties['os.arch'] == "aarch64") {
// For M1 Users we need to use the NDK 24 which added support for aarch64 // For M1 Users we need to use the NDK 24 which added support for aarch64
ndkVersion = "24.0.8215888" ndkVersion = "24.0.8215888"
@ -62,6 +62,11 @@ allprojects {
url "$rootDir/../node_modules/detox/Detox-android" url "$rootDir/../node_modules/detox/Detox-android"
} }
maven {
// expo-camera bundles a custom com.google.android:cameraview
url "$rootDir/../node_modules/expo-camera/android/maven"
}
mavenCentral { mavenCentral {
content { content {
excludeGroup "com.facebook.react" excludeGroup "com.facebook.react"

View File

@ -46,7 +46,8 @@ export const APP = createRequestTypes('APP', [
'INIT', 'INIT',
'INIT_LOCAL_SETTINGS', 'INIT_LOCAL_SETTINGS',
'SET_MASTER_DETAIL', 'SET_MASTER_DETAIL',
'SET_NOTIFICATION_PRESENCE_CAP' 'SET_NOTIFICATION_PRESENCE_CAP',
'SET_NET_INFO_STATE'
]); ]);
export const MESSAGES = createRequestTypes('MESSAGES', ['REPLY_BROADCAST']); export const MESSAGES = createRequestTypes('MESSAGES', ['REPLY_BROADCAST']);
export const CREATE_CHANNEL = createRequestTypes('CREATE_CHANNEL', [...defaultTypes]); export const CREATE_CHANNEL = createRequestTypes('CREATE_CHANNEL', [...defaultTypes]);
@ -84,3 +85,14 @@ export const ENCRYPTION = createRequestTypes('ENCRYPTION', ['INIT', 'STOP', 'DEC
export const PERMISSIONS = createRequestTypes('PERMISSIONS', ['SET', 'UPDATE']); export const PERMISSIONS = createRequestTypes('PERMISSIONS', ['SET', 'UPDATE']);
export const ROLES = createRequestTypes('ROLES', ['SET', 'UPDATE', 'REMOVE']); export const ROLES = createRequestTypes('ROLES', ['SET', 'UPDATE', 'REMOVE']);
export const USERS_ROLES = createRequestTypes('USERS_ROLES', ['SET']);
export const VIDEO_CONF = createRequestTypes('VIDEO_CONF', [
'HANDLE_INCOMING_WEBSOCKET_MESSAGES',
'SET',
'REMOVE',
'CLEAR',
'INIT_CALL',
'CANCEL_CALL',
'ACCEPT_CALL',
'SET_CALLING'
]);

View File

@ -1,4 +1,5 @@
import { Action } from 'redux'; import { Action } from 'redux';
import { NetInfoStateType } from '@react-native-community/netinfo';
import { RootEnum } from '../definitions'; import { RootEnum } from '../definitions';
import { APP } from './actionsTypes'; import { APP } from './actionsTypes';
@ -16,7 +17,11 @@ interface ISetNotificationPresenceCap extends Action {
show: boolean; show: boolean;
} }
export type TActionApp = IAppStart & ISetMasterDetail & ISetNotificationPresenceCap; interface ISetNetInfoState extends Action {
netInfoState: NetInfoStateType;
}
export type TActionApp = IAppStart & ISetMasterDetail & ISetNotificationPresenceCap & ISetNetInfoState;
interface Params { interface Params {
root: RootEnum; root: RootEnum;
@ -62,3 +67,10 @@ export function setNotificationPresenceCap(show: boolean): ISetNotificationPrese
show show
}; };
} }
export function setNetInfoState(netInfoState: NetInfoStateType): ISetNetInfoState {
return {
type: APP.SET_NET_INFO_STATE,
netInfoState
};
}

13
app/actions/usersRoles.ts Normal file
View File

@ -0,0 +1,13 @@
import { Action } from 'redux';
import { TUsersRoles } from '../reducers/usersRoles';
import { USERS_ROLES } from './actionsTypes';
export type TActionUsersRoles = Action & { usersRoles: TUsersRoles };
export function setUsersRoles(usersRoles: TUsersRoles): Action & { usersRoles: TUsersRoles } {
return {
type: USERS_ROLES.SET,
usersRoles
};
}

81
app/actions/videoConf.ts Normal file
View File

@ -0,0 +1,81 @@
import { Action } from 'redux';
import { ICallInfo } from '../reducers/videoConf';
import { VIDEO_CONF } from './actionsTypes';
interface IHandleVideoConfIncomingWebsocketMessages extends Action {
data: any;
}
export type TCallProps = { mic: boolean; cam: boolean; direct: boolean; rid: string; uid: string };
type TInitCallAction = Action & { payload: TCallProps };
type TSetCallingAction = Action & { payload: boolean };
type TCancelCallAction = Action & { payload: { callId?: string } };
type TAcceptCallAction = Action & { payload: { callId: string } };
export interface IVideoConfGenericAction extends Action {
payload: ICallInfo;
}
export type TActionVideoConf = IHandleVideoConfIncomingWebsocketMessages &
IVideoConfGenericAction &
TSetCallingAction &
Action &
TInitCallAction &
TCancelCallAction &
TAcceptCallAction;
export function handleVideoConfIncomingWebsocketMessages(data: any): IHandleVideoConfIncomingWebsocketMessages {
return {
type: VIDEO_CONF.HANDLE_INCOMING_WEBSOCKET_MESSAGES,
data
};
}
export function setVideoConfCall(payload: ICallInfo): IVideoConfGenericAction {
return {
type: VIDEO_CONF.SET,
payload
};
}
export function removeVideoConfCall(payload: ICallInfo): IVideoConfGenericAction {
return {
type: VIDEO_CONF.REMOVE,
payload
};
}
export function clearVideoConfCalls(): Action {
return {
type: VIDEO_CONF.CLEAR
};
}
export function initVideoCall(payload: TCallProps): TInitCallAction {
return {
type: VIDEO_CONF.INIT_CALL,
payload
};
}
export function cancelCall(payload: { callId?: string }): TCancelCallAction {
return {
type: VIDEO_CONF.CANCEL_CALL,
payload
};
}
export function acceptCall(payload: { callId: string }): TAcceptCallAction {
return {
type: VIDEO_CONF.ACCEPT_CALL,
payload
};
}
export function setCalling(payload: boolean): TSetCallingAction {
return {
type: VIDEO_CONF.SET_CALLING,
payload
};
}

View File

@ -1,5 +1,5 @@
import hoistNonReactStatics from 'hoist-non-react-statics'; import hoistNonReactStatics from 'hoist-non-react-statics';
import React, { ForwardedRef, forwardRef, useContext, useRef } from 'react'; import React, { createRef, ForwardedRef, forwardRef, useContext } from 'react';
import { TIconsName } from '../CustomIcon'; import { TIconsName } from '../CustomIcon';
import ActionSheet from './ActionSheet'; import ActionSheet from './ActionSheet';
@ -47,23 +47,27 @@ export const withActionSheet = (Component: React.ComponentType<any>): typeof Com
return WithActionSheetComponent; return WithActionSheetComponent;
}; };
export const ActionSheetProvider = React.memo(({ children }: { children: React.ReactElement | React.ReactElement[] }) => { const actionSheetRef: React.Ref<IActionSheetProvider> = createRef();
const ref: ForwardedRef<IActionSheetProvider> = useRef(null);
export const ActionSheetProvider = React.memo(({ children }: { children: React.ReactElement | React.ReactElement[] }) => {
const getContext = () => ({ const getContext = () => ({
showActionSheet: (options: TActionSheetOptions) => { showActionSheet: (options: TActionSheetOptions) => {
ref.current?.showActionSheet(options); actionSheetRef.current?.showActionSheet(options);
}, },
hideActionSheet: () => { hideActionSheet: () => {
ref.current?.hideActionSheet(); actionSheetRef.current?.hideActionSheet();
} }
}); });
return ( return (
<Provider value={getContext()}> <Provider value={getContext()}>
<ActionSheet ref={ref}> <ActionSheet ref={actionSheetRef}>
<>{children}</> <>{children}</>
</ActionSheet> </ActionSheet>
</Provider> </Provider>
); );
}); });
export const hideActionSheetRef = (): void => {
actionSheetRef?.current?.hideActionSheet();
};

View File

@ -67,3 +67,26 @@ export const Children = () => (
export const WrongServer = () => <Avatar text='Avatar' server='https://google.com' size={56} />; export const WrongServer = () => <Avatar text='Avatar' server='https://google.com' size={56} />;
export const CustomStyle = () => <Avatar text='Avatar' server={server} size={56} style={styles.custom} />; export const CustomStyle = () => <Avatar text='Avatar' server={server} size={56} style={styles.custom} />;
export const AvatarExternalProviderUrl = () => (
<Avatar
text='Avatar'
server={server}
size={56}
avatarExternalProviderUrl={
'https://hips.hearstapps.com/hmg-prod/images/dog-puppy-on-garden-royalty-free-image-1586966191.jpg?crop=0.752xw:1.00xh;0.175xw,0&resize=1200:*'
}
/>
);
export const RoomAvatarExternalProviderUrl = () => (
<Avatar
server={server}
size={56}
roomAvatarExternalProviderUrl={'https://cdn.pensador.com/img/authors/ho/me/homer-simpson-l.jpg'}
// obligatory pass type, serverVersion and rid
type='c'
serverVersion={'3.8.0'}
rid='devWBbYr7inwupPqK'
/>
);

View File

@ -29,7 +29,8 @@ const Avatar = React.memo(
size = 25, size = 25,
borderRadius = 4, borderRadius = 4,
type = SubscriptionType.DIRECT, type = SubscriptionType.DIRECT,
externalProviderUrl avatarExternalProviderUrl,
roomAvatarExternalProviderUrl
}: IAvatar) => { }: IAvatar) => {
if ((!text && !avatar && !emoji && !rid) || !server) { if ((!text && !avatar && !emoji && !rid) || !server) {
return null; return null;
@ -59,7 +60,8 @@ const Avatar = React.memo(
serverVersion, serverVersion,
rid, rid,
blockUnauthenticatedAccess, blockUnauthenticatedAccess,
externalProviderUrl avatarExternalProviderUrl,
roomAvatarExternalProviderUrl
}); });
} }

View File

@ -32,9 +32,10 @@ const AvatarContainer = ({
shallowEqual shallowEqual
); );
const externalProviderUrl = useSelector( const { avatarExternalProviderUrl, roomAvatarExternalProviderUrl } = useSelector((state: IApplicationState) => ({
(state: IApplicationState) => state.settings.Accounts_AvatarExternalProviderUrl as string avatarExternalProviderUrl: state.settings.Accounts_AvatarExternalProviderUrl as string,
); roomAvatarExternalProviderUrl: state.settings.Accounts_RoomAvatarExternalProviderUrl as string
}));
const blockUnauthenticatedAccess = useSelector( const blockUnauthenticatedAccess = useSelector(
(state: IApplicationState) => (state: IApplicationState) =>
(state.share.settings?.Accounts_AvatarBlockUnauthenticatedAccess as boolean) ?? (state.share.settings?.Accounts_AvatarBlockUnauthenticatedAccess as boolean) ??
@ -62,7 +63,8 @@ const AvatarContainer = ({
isStatic={isStatic} isStatic={isStatic}
rid={rid} rid={rid}
blockUnauthenticatedAccess={blockUnauthenticatedAccess} blockUnauthenticatedAccess={blockUnauthenticatedAccess}
externalProviderUrl={externalProviderUrl} avatarExternalProviderUrl={avatarExternalProviderUrl}
roomAvatarExternalProviderUrl={roomAvatarExternalProviderUrl}
avatarETag={avatarETag} avatarETag={avatarETag}
serverVersion={serverVersion} serverVersion={serverVersion}
/> />

View File

@ -22,5 +22,6 @@ export interface IAvatar {
rid?: string; rid?: string;
blockUnauthenticatedAccess?: boolean; blockUnauthenticatedAccess?: boolean;
serverVersion?: string | null; serverVersion?: string | null;
externalProviderUrl?: string; avatarExternalProviderUrl?: string;
roomAvatarExternalProviderUrl?: string;
} }

View File

@ -0,0 +1,107 @@
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import Touchable from 'react-native-platform-touchable';
import { useAppSelector } from '../lib/hooks';
import { useTheme } from '../theme';
import sharedStyles from '../views/Styles';
import { CustomIcon } from './CustomIcon';
import { BUTTON_HIT_SLOP } from './message/utils';
import AvatarContainer from './Avatar';
import StatusContainer from './Status';
import DotsLoader from './DotsLoader';
type TCallHeader = {
mic: boolean;
cam: boolean;
setCam: Function;
setMic: Function;
title: string;
avatar: string;
uid: string;
name: string;
direct: boolean;
};
export const CallHeader = ({ mic, cam, setCam, setMic, title, avatar, uid, name, direct }: TCallHeader): React.ReactElement => {
const style = useStyle();
const { colors } = useTheme();
const calling = useAppSelector(state => state.videoConf.calling);
const handleColors = (enabled: boolean) => {
if (calling) {
if (enabled) return { button: colors.conferenceCallCallBackButton, icon: colors.gray300 };
return { button: 'transparent', icon: colors.gray100 };
}
if (enabled) return { button: colors.conferenceCallEnabledIconBackground, icon: colors.conferenceCallEnabledIcon };
return { button: 'transparent', icon: colors.conferenceCallDisabledIcon };
};
return (
<View>
<View style={style.actionSheetHeader}>
<View style={style.rowContainer}>
<Text style={style.actionSheetHeaderTitle}>{title}</Text>
{calling && direct ? <DotsLoader /> : null}
</View>
<View style={style.actionSheetHeaderButtons}>
<Touchable
onPress={() => setCam(!cam)}
style={[style.iconCallContainerRight, { backgroundColor: handleColors(cam).button }]}
hitSlop={BUTTON_HIT_SLOP}
disabled={calling}
>
<CustomIcon name={cam ? 'camera' : 'camera-disabled'} size={24} color={handleColors(cam).icon} />
</Touchable>
<Touchable
onPress={() => setMic(!mic)}
style={[style.iconCallContainer, { backgroundColor: handleColors(mic).button }]}
hitSlop={BUTTON_HIT_SLOP}
disabled={calling}
>
<CustomIcon name={mic ? 'microphone' : 'microphone-disabled'} size={24} color={handleColors(mic).icon} />
</Touchable>
</View>
</View>
<View style={style.actionSheetUsernameContainer}>
<AvatarContainer text={avatar} size={36} />
{direct ? <StatusContainer size={16} id={uid} style={style.statusContainerMargin} /> : null}
<Text style={{ ...style.actionSheetUsername, marginLeft: !direct ? 8 : 0 }} numberOfLines={1}>
{name}
</Text>
</View>
</View>
);
};
function useStyle() {
const { colors } = useTheme();
const style = StyleSheet.create({
actionSheetHeader: { flexDirection: 'row', alignItems: 'center' },
actionSheetHeaderTitle: {
fontSize: 14,
...sharedStyles.textBold,
color: colors.n900
},
actionSheetHeaderButtons: { flex: 1, alignItems: 'center', flexDirection: 'row', justifyContent: 'flex-end' },
iconCallContainer: {
padding: 6,
borderRadius: 4
},
iconCallContainerRight: {
padding: 6,
borderRadius: 4,
marginRight: 6
},
actionSheetUsernameContainer: { flexDirection: 'row', paddingTop: 8, alignItems: 'center' },
actionSheetUsername: {
fontSize: 16,
...sharedStyles.textBold,
color: colors.passcodePrimary,
flexShrink: 1
},
rowContainer: { flexDirection: 'row' },
statusContainerMargin: { marginLeft: 8, marginRight: 6 }
});
return style;
}

View File

@ -1,44 +1,8 @@
export const mappedIcons = { export const mappedIcons = {
'status-disabled': 59837, 'add': 59872,
'lamp-bulb': 59836,
'phone-in': 59835,
'basketball': 59776,
'percentage': 59777,
'glasses': 59812,
'burger': 59813,
'leaf': 59814,
'airplane': 59815,
'rocket': 59816,
'directory': 59648,
'directory-disabled': 59649,
'directory-error': 59650,
'federation-disabled': 59651,
'federation': 59652,
'attach': 59676,
'link': 59752,
'status-away': 59741,
'status-busy': 59742,
'status-loading': 59743,
'status-offline': 59744,
'status-online': 59745,
'teams-private': 59750,
'channel-auto-join': 59746,
'channel-move-to-team': 59747,
'lock-filled': 59748,
'locker': 59749,
'teams': 59751,
'shield': 59661,
'ignore': 59740,
'checkbox-unchecked': 59653,
'checkbox-checked': 59654,
'github-monochromatic': 59655,
'gitlab-monochromatic': 59656,
'google-monochromatic': 59657,
'linkedin-monochromatic': 59658,
'meteor-monochromatic': 59659,
'twitter-monochromatic': 59660,
'administration': 59662, 'administration': 59662,
'adobe-reader-monochromatic': 59663, 'adobe-reader-monochromatic': 59663,
'airplane': 59815,
'all-contacts-in-channels': 59664, 'all-contacts-in-channels': 59664,
'all-contacts-in-queue': 59665, 'all-contacts-in-queue': 59665,
'apple-monochromatic': 59666, 'apple-monochromatic': 59666,
@ -46,41 +10,50 @@ export const mappedIcons = {
'arrow-back': 59668, 'arrow-back': 59668,
'arrow-collapse': 59669, 'arrow-collapse': 59669,
'arrow-decrease': 59670, 'arrow-decrease': 59670,
'arrow-down': 59673,
'arrow-down-box': 59671, 'arrow-down-box': 59671,
'arrow-down-circle': 59672, 'arrow-down-circle': 59672,
'arrow-down': 59673,
'arrow-expand': 59674, 'arrow-expand': 59674,
'arrow-forward': 59841,
'arrow-increase': 59675, 'arrow-increase': 59675,
'arrow-looping': 59677, 'arrow-looping': 59677,
'arrow-return': 59678, 'arrow-return': 59678,
'arrow-up-box': 59679, 'arrow-right': 59838,
'arrow-up': 59680, 'arrow-up': 59680,
'arrow-up-box': 59679,
'attach': 59676,
'audio': 59683,
'audio-disabled': 59681, 'audio-disabled': 59681,
'audio-unavailable': 59682, 'audio-unavailable': 59682,
'audio': 59683,
'auditing': 59684, 'auditing': 59684,
'auth': 59685, 'auth': 59685,
'avatar': 59686, 'avatar': 59686,
'backspace': 59687, 'backspace': 59687,
'basketball': 59776,
'bold': 59688, 'bold': 59688,
'book': 59689, 'book': 59689,
'burger': 59813,
'business': 59690, 'business': 59690,
'calendar': 59691, 'calendar': 59691,
'camera': 59696,
'camera-disabled': 59692, 'camera-disabled': 59692,
'camera-filled': 59693, 'camera-filled': 59693,
'camera-photo': 59694, 'camera-photo': 59694,
'camera-unavailable': 59695, 'camera-unavailable': 59695,
'camera': 59696,
'canned-response': 59697, 'canned-response': 59697,
'card': 59698, 'card': 59698,
'channel-auto-join': 59746,
'channel-move-to-team': 59747,
'channel-private': 59699, 'channel-private': 59699,
'channel-public': 59700, 'channel-public': 59700,
'chat-close': 59701, 'chat-close': 59701,
'chat-forward': 59702, 'chat-forward': 59702,
'check': 59703, 'check': 59703,
'checkbox-checked': 59654,
'checkbox-unchecked': 59653,
'chevron-down': 59704, 'chevron-down': 59704,
'chevron-left-big': 59705,
'chevron-left': 59706, 'chevron-left': 59706,
'chevron-left-big': 59705,
'chevron-right': 59707, 'chevron-right': 59707,
'chevron-up': 59708, 'chevron-up': 59708,
'circle-check': 59709, 'circle-check': 59709,
@ -89,6 +62,7 @@ export const mappedIcons = {
'close': 59712, 'close': 59712,
'cloud-connectivity': 59713, 'cloud-connectivity': 59713,
'code': 59714, 'code': 59714,
'code-block': 59840,
'contacts': 59715, 'contacts': 59715,
'copy': 59716, 'copy': 59716,
'create': 59717, 'create': 59717,
@ -96,18 +70,23 @@ export const mappedIcons = {
'delete': 59719, 'delete': 59719,
'desktop': 59720, 'desktop': 59720,
'dialpad': 59721, 'dialpad': 59721,
'directory': 59648,
'directory-disabled': 59649,
'directory-error': 59650,
'discussions': 59722, 'discussions': 59722,
'document': 59723, 'document': 59723,
'donner': 59724, 'donner': 59724,
'download': 59725, 'download': 59725,
'edit': 59726, 'edit': 59726,
'emoji': 59729,
'emoji-bad-mood': 59727, 'emoji-bad-mood': 59727,
'emoji-neutral-mood': 59728, 'emoji-neutral-mood': 59728,
'emoji': 59729,
'encrypted': 59730, 'encrypted': 59730,
'engagement-dashboard': 59731, 'engagement-dashboard': 59731,
'enterprise-feature': 59732, 'enterprise-feature': 59732,
'facebook-monochromatic': 59733, 'facebook-monochromatic': 59733,
'federation': 59652,
'federation-disabled': 59651,
'file-document': 59734, 'file-document': 59734,
'file-sheet': 59735, 'file-sheet': 59735,
'filter': 59736, 'filter': 59736,
@ -116,11 +95,16 @@ export const mappedIcons = {
'folder': 59739, 'folder': 59739,
'game': 59753, 'game': 59753,
'giphy-monochromatic': 59754, 'giphy-monochromatic': 59754,
'github-monochromatic': 59655,
'gitlab-monochromatic': 59656,
'glasses': 59812,
'google-drive-monochromatic': 59756, 'google-drive-monochromatic': 59756,
'google-monochromatic': 59657,
'group-by-type': 59757, 'group-by-type': 59757,
'hamburguer': 59758, 'hamburguer': 59758,
'history': 59759, 'history': 59759,
'home': 59760, 'home': 59760,
'ignore': 59740,
'image': 59761, 'image': 59761,
'info': 59762, 'info': 59762,
'input-clear': 59763, 'input-clear': 59763,
@ -131,10 +115,16 @@ export const mappedIcons = {
'jump-to-message': 59768, 'jump-to-message': 59768,
'kebab': 59769, 'kebab': 59769,
'keyboard': 59770, 'keyboard': 59770,
'lamp-bulb': 59836,
'language': 59771, 'language': 59771,
'live-streaming': 59773, 'leaf': 59814,
'link': 59752,
'linkedin-monochromatic': 59658,
'live': 59774, 'live': 59774,
'live-streaming': 59773,
'livechat-monochromatic': 59775, 'livechat-monochromatic': 59775,
'lock-filled': 59748,
'locker': 59749,
'log-view': 59778, 'log-view': 59778,
'login': 59779, 'login': 59779,
'logout': 59780, 'logout': 59780,
@ -142,65 +132,80 @@ export const mappedIcons = {
'marketplace': 59782, 'marketplace': 59782,
'meatballs': 59783, 'meatballs': 59783,
'mention': 59784, 'mention': 59784,
'message-disabled': 59785,
'message': 59786, 'message': 59786,
'microphone-disabled': 59787, 'message-disabled': 59785,
'meteor-monochromatic': 59659,
'microphone': 59788, 'microphone': 59788,
'microphone-disabled': 59787,
'mobile': 59789, 'mobile': 59789,
'moon': 59790, 'moon': 59790,
'move-to-the-queue': 59791, 'move-to-the-queue': 59791,
'musical-note': 59792, 'musical-note': 59792,
'new-window': 59793, 'new-window': 59793,
'notification-disabled': 59794,
'notification': 59795, 'notification': 59795,
'notification-disabled': 59794,
'omnichannel': 59796, 'omnichannel': 59796,
'order': 59797, 'order': 59797,
'ordering-ascending': 59798, 'ordering-ascending': 59798,
'ordering-descending': 59800, 'ordering-descending': 59800,
'pause-filled': 59802,
'pause': 59803, 'pause': 59803,
'pause-filled': 59802,
'percentage': 59777,
'phone': 59806,
'phone-disabled': 59804, 'phone-disabled': 59804,
'phone-end': 59805, 'phone-end': 59805,
'phone': 59806, 'phone-in': 59809,
'pin-map': 59807, 'phone-issue': 59835,
'pin': 59808, 'pin': 59808,
'Pipe': 59809, 'pin-map': 59807,
'play-filled': 59810,
'play': 59811, 'play': 59811,
'play-filled': 59810,
'prune': 59817, 'prune': 59817,
'queue': 59818, 'queue': 59818,
'quote': 59819, 'quote': 59819,
'reaction-add': 59820, 'reaction-add': 59820,
'record': 59821, 'record': 59821,
'refresh': 59822, 'refresh': 59822,
'rocket': 59816,
'search': 59823, 'search': 59823,
'send-filled': 59824,
'send': 59825, 'send': 59825,
'send-filled': 59824,
'settings': 59826, 'settings': 59826,
'share': 59827, 'share': 59827,
'shield-check': 59828, 'shield': 59661,
'shield-alt': 59829, 'shield-alt': 59829,
'shield-check': 59828,
'signal': 59830, 'signal': 59830,
'sort-az': 59831, 'sms': 59772,
'sort': 59832, 'sort': 59832,
'star-filled': 59833, 'sort-az': 59831,
'star': 59834, 'star': 59834,
'star-filled': 59833,
'status-away': 59741,
'status-busy': 59742,
'status-disabled': 59837,
'status-loading': 59743,
'status-offline': 59744,
'status-online': 59745,
'strike': 59846, 'strike': 59846,
'sun': 59847, 'sun': 59847,
'support': 59848, 'support': 59848,
'team': 59849, 'team': 59849,
'teams': 59751,
'teams-private': 59750,
'text-format': 59839,
'threads': 59850, 'threads': 59850,
'total': 59851, 'total': 59851,
'transcript': 59852, 'transcript': 59852,
'twitter-monochromatic': 59660,
'underline': 59853, 'underline': 59853,
'undo': 59854, 'undo': 59854,
'Unlimited': 59855,
'unread-on-top-disabled': 59856,
'unread-on-top': 59857, 'unread-on-top': 59857,
'unread-on-top-disabled': 59856,
'upload': 59858, 'upload': 59858,
'user': 59861,
'user-add': 59859, 'user-add': 59859,
'user-forward': 59860, 'user-forward': 59860,
'user': 59861,
'view-condensed': 59862, 'view-condensed': 59862,
'view-extended': 59863, 'view-extended': 59863,
'view-medium': 59864, 'view-medium': 59864,
@ -209,7 +214,5 @@ export const mappedIcons = {
'whatsapp-monochromatic': 59868, 'whatsapp-monochromatic': 59868,
'wordpress-monochromatic': 59755, 'wordpress-monochromatic': 59755,
'workspaces': 59870, 'workspaces': 59870,
'zip': 59871, 'zip': 59871
'add': 59872,
'sms': 59772
}; };

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,65 @@
import React, { useEffect, useState } from 'react';
import { StyleProp, View, ViewStyle, StyleSheet } from 'react-native';
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
import { useTheme } from '../../theme';
const SIZE = 8;
const MARGIN = 4;
const dots = [1, 2, 3];
const INTERVAL = 300;
const ANIMATION_DURATION = 400;
const ANIMATION_SCALE = 1.4;
function Dot({ active }: { active: boolean }): JSX.Element {
const scale = useSharedValue(1);
useEffect(() => {
scale.value = withTiming(active ? ANIMATION_SCALE : 1, {
duration: ANIMATION_DURATION
});
}, [active]);
const animatedStyle = useAnimatedStyle(() => ({
transform: [{ scale: scale.value }]
}));
const { colors } = useTheme();
const style: StyleProp<ViewStyle> = {
height: SIZE,
width: SIZE,
borderRadius: SIZE / 2,
marginHorizontal: MARGIN,
backgroundColor: active ? colors.dotActiveBg : colors.dotBg
};
return <Animated.View style={[style, animatedStyle]} />;
}
function DotsLoader(): JSX.Element {
const [active, setActive] = useState(1);
useEffect(() => {
const interval = setInterval(() => {
setActive(prevActive => (prevActive > 2 ? 1 : prevActive + 1));
}, INTERVAL);
return () => {
clearInterval(interval);
};
}, []);
return (
<View style={styles.dotsContainer}>
{dots.map(i => (
<Dot key={i} active={i === active} />
))}
</View>
);
}
const styles = StyleSheet.create({
dotsContainer: { flexDirection: 'row', justifyContent: 'center', alignItems: 'center', marginLeft: 6 }
});
export default DotsLoader;

View File

@ -13,6 +13,7 @@ export interface IHeaderButtonItem extends Omit<ICustomIcon, 'name' | 'size' | '
testID?: string; testID?: string;
badge?(): void; badge?(): void;
color?: string; color?: string;
disabled?: boolean;
} }
export const BUTTON_HIT_SLOP = { export const BUTTON_HIT_SLOP = {
@ -39,10 +40,10 @@ const styles = StyleSheet.create({
} }
}); });
const Item = ({ title, iconName, onPress, testID, badge, color, ...props }: IHeaderButtonItem): React.ReactElement => { const Item = ({ title, iconName, onPress, testID, badge, color, disabled, ...props }: IHeaderButtonItem): React.ReactElement => {
const { colors } = useTheme(); const { colors } = useTheme();
return ( return (
<PlatformPressable onPress={onPress} testID={testID} hitSlop={BUTTON_HIT_SLOP} style={styles.container}> <PlatformPressable onPress={onPress} testID={testID} hitSlop={BUTTON_HIT_SLOP} disabled={disabled} style={styles.container}>
<> <>
{iconName ? ( {iconName ? (
<CustomIcon name={iconName} size={24} color={color || colors.headerTintColor} {...props} /> <CustomIcon name={iconName} size={24} color={color || colors.headerTintColor} {...props} />

View File

@ -3,10 +3,17 @@ import { Image } from 'react-native';
import { FastImageProps } from 'react-native-fast-image'; import { FastImageProps } from 'react-native-fast-image';
import { types } from './types'; import { types } from './types';
import { LOCAL_DOCUMENT_DIRECTORY } from '../../lib/methods/handleMediaDownload';
export const ImageComponent = (type?: string): React.ComponentType<Partial<Image> | FastImageProps> => { export function ImageComponent({
type,
uri
}: {
type?: string;
uri: string;
}): React.ComponentType<Partial<Image> | FastImageProps> {
let Component; let Component;
if (type === types.REACT_NATIVE_IMAGE) { if (type === types.REACT_NATIVE_IMAGE || (LOCAL_DOCUMENT_DIRECTORY && uri.startsWith(LOCAL_DOCUMENT_DIRECTORY))) {
const { Image } = require('react-native'); const { Image } = require('react-native');
Component = Image; Component = Image;
} else { } else {
@ -14,4 +21,4 @@ export const ImageComponent = (type?: string): React.ComponentType<Partial<Image
Component = FastImage; Component = FastImage;
} }
return Component; return Component;
}; }

View File

@ -109,7 +109,7 @@ export const ImageViewer = ({ uri = '', imageComponentType, width, height, ...pr
const gesture = Gesture.Simultaneous(pinchGesture, panGesture, doubleTapGesture); const gesture = Gesture.Simultaneous(pinchGesture, panGesture, doubleTapGesture);
const Component = ImageComponent(imageComponentType); const Component = ImageComponent({ type: imageComponentType, uri });
const { colors } = useTheme(); const { colors } = useTheme();

View File

@ -0,0 +1,117 @@
import React, { useState } from 'react';
import { Text, View, useWindowDimensions } from 'react-native';
import Touchable from 'react-native-platform-touchable';
import { useSafeAreaInsets } from 'react-native-safe-area-context';
import { useDispatch } from 'react-redux';
import { acceptCall, cancelCall } from '../../../actions/videoConf';
import { ISubscription, SubscriptionType } from '../../../definitions';
import i18n from '../../../i18n';
import { useAppSelector } from '../../../lib/hooks';
import { useEndpointData } from '../../../lib/hooks/useEndpointData';
import { hideNotification } from '../../../lib/methods/helpers/notifications';
import { useTheme } from '../../../theme';
import { CustomIcon } from '../../CustomIcon';
import { CallHeader } from '../../CallHeader';
import { useStyle } from './style';
import useUserData from '../../../lib/hooks/useUserData';
import Ringer, { ERingerSounds } from '../../Ringer';
export interface INotifierComponent {
notification: {
text: string;
payload: {
sender: { username: string };
type: SubscriptionType;
} & Pick<ISubscription, '_id' | 'name' | 'rid' | 'prid'>;
title: string;
avatar: string;
};
isMasterDetail: boolean;
}
const BUTTON_HIT_SLOP = { top: 12, right: 12, bottom: 12, left: 12 };
const IncomingCallHeader = React.memo(
({ uid, callId, avatar, roomName }: { callId: string; avatar: string; uid: string; roomName: string }) => {
const [mic, setMic] = useState(true);
const [cam, setCam] = useState(false);
const dispatch = useDispatch();
const isMasterDetail = useAppSelector(state => state.app.isMasterDetail);
const styles = useStyle();
const insets = useSafeAreaInsets();
const { height, width } = useWindowDimensions();
const isLandscape = width > height;
const { colors } = useTheme();
return (
<View
style={[
styles.container,
(isMasterDetail || isLandscape) && styles.small,
{
marginTop: insets.top
}
]}
>
<CallHeader
title={i18n.t('Incoming_call_from')}
cam={cam}
setCam={setCam}
mic={mic}
setMic={setMic}
avatar={avatar}
name={roomName}
uid={uid}
direct={true}
/>
<View style={styles.row}>
<Touchable hitSlop={BUTTON_HIT_SLOP} onPress={hideNotification} style={styles.closeButton}>
<CustomIcon name='close' size={20} color={colors.gray300} />
</Touchable>
<Touchable
hitSlop={BUTTON_HIT_SLOP}
onPress={() => {
hideNotification();
dispatch(cancelCall({ callId }));
}}
style={styles.cancelButton}
>
<Text style={styles.buttonText}>{i18n.t('decline')}</Text>
</Touchable>
<Touchable
hitSlop={BUTTON_HIT_SLOP}
onPress={() => {
hideNotification();
dispatch(acceptCall({ callId }));
}}
style={styles.acceptButton}
>
<Text style={styles.buttonText}>{i18n.t('accept')}</Text>
</Touchable>
</View>
<Ringer ringer={ERingerSounds.RINGTONE} />
</View>
);
}
);
const IncomingCallNotification = ({
notification: { rid, callId }
}: {
notification: { rid: string; callId: string };
}): React.ReactElement | null => {
const { result } = useEndpointData('video-conference.info', { callId });
const user = useUserData(rid);
if (result?.success && user.username) {
return <IncomingCallHeader callId={callId} avatar={user.avatar} roomName={user.username} uid={user.uid} />;
}
return null;
};
export default IncomingCallNotification;

View File

@ -0,0 +1,57 @@
import { PixelRatio, StyleSheet } from 'react-native';
import { useTheme } from '../../../theme';
import sharedStyles from '../../../views/Styles';
export const useStyle = () => {
const { colors } = useTheme();
return StyleSheet.create({
container: {
height: 160 * PixelRatio.getFontScale(),
paddingHorizontal: 24,
paddingVertical: 18,
marginHorizontal: 10,
borderWidth: StyleSheet.hairlineWidth,
borderRadius: 4,
backgroundColor: colors.focusedBackground,
borderColor: colors.separatorColor,
flex: 1
},
small: {
width: '50%',
alignSelf: 'center'
},
row: {
flexDirection: 'row',
marginTop: 12
},
closeButton: {
backgroundColor: colors.passcodeButtonActive,
marginRight: 8,
alignItems: 'center',
justifyContent: 'center',
borderRadius: 4,
width: 36,
height: 36
},
cancelButton: {
borderRadius: 4,
backgroundColor: colors.cancelCallButton,
marginRight: 8,
flex: 2,
alignItems: 'center',
justifyContent: 'center'
},
buttonText: {
...sharedStyles.textMedium,
color: 'white'
},
acceptButton: {
borderRadius: 4,
backgroundColor: colors.acceptCallButton,
flex: 2,
alignItems: 'center',
justifyContent: 'center'
}
});
};

View File

@ -2,7 +2,6 @@ import React from 'react';
import { StyleSheet, Text, View } from 'react-native'; import { StyleSheet, Text, View } from 'react-native';
import Touchable from 'react-native-platform-touchable'; import Touchable from 'react-native-platform-touchable';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { Notifier } from 'react-native-notifier';
import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { useSafeAreaInsets } from 'react-native-safe-area-context';
import Avatar from '../Avatar'; import Avatar from '../Avatar';
@ -14,6 +13,7 @@ import { ROW_HEIGHT } from '../RoomItem';
import { goRoom } from '../../lib/methods/helpers/goRoom'; import { goRoom } from '../../lib/methods/helpers/goRoom';
import { useOrientation } from '../../dimensions'; import { useOrientation } from '../../dimensions';
import { IApplicationState, ISubscription, SubscriptionType } from '../../definitions'; import { IApplicationState, ISubscription, SubscriptionType } from '../../definitions';
import { hideNotification } from '../../lib/methods/helpers/notifications';
export interface INotifierComponent { export interface INotifierComponent {
notification: { notification: {
@ -21,6 +21,7 @@ export interface INotifierComponent {
payload: { payload: {
sender: { username: string }; sender: { username: string };
type: SubscriptionType; type: SubscriptionType;
message?: { message: string; t?: string };
} & Pick<ISubscription, '_id' | 'name' | 'rid' | 'prid'>; } & Pick<ISubscription, '_id' | 'name' | 'rid' | 'prid'>;
title: string; title: string;
avatar: string; avatar: string;
@ -72,8 +73,6 @@ const styles = StyleSheet.create({
} }
}); });
const hideNotification = () => Notifier.hideNotification();
const NotifierComponent = React.memo(({ notification, isMasterDetail }: INotifierComponent) => { const NotifierComponent = React.memo(({ notification, isMasterDetail }: INotifierComponent) => {
const { theme } = useTheme(); const { theme } = useTheme();
const insets = useSafeAreaInsets(); const insets = useSafeAreaInsets();

View File

@ -1,4 +1,4 @@
import React, { memo, useEffect } from 'react'; import React, { ElementType, memo, useEffect } from 'react';
import { Easing, Notifier, NotifierRoot } from 'react-native-notifier'; import { Easing, Notifier, NotifierRoot } from 'react-native-notifier';
import NotifierComponent, { INotifierComponent } from './NotifierComponent'; import NotifierComponent, { INotifierComponent } from './NotifierComponent';
@ -15,24 +15,32 @@ const InAppNotification = memo(() => {
appState: state.app.ready && state.app.foreground ? 'foreground' : 'background' appState: state.app.ready && state.app.foreground ? 'foreground' : 'background'
})); }));
const show = (notification: INotifierComponent['notification']) => { const show = (
if (appState !== 'foreground') { notification: INotifierComponent['notification'] & {
return; customComponent?: ElementType;
customTime?: number;
customNotification?: boolean;
hideOnPress?: boolean;
swipeEnabled?: boolean;
} }
) => {
if (appState !== 'foreground') return;
const { payload } = notification; const { payload } = notification;
const state = Navigation.navigationRef.current?.getRootState(); const state = Navigation.navigationRef.current?.getRootState();
const route = getActiveRoute(state); const route = getActiveRoute(state);
if (payload.rid) { if (payload?.rid || notification.customNotification) {
if (payload.rid === subscribedRoom || route?.name === 'JitsiMeetView') { if (payload?.rid === subscribedRoom || route?.name === 'JitsiMeetView' || payload?.message?.t === 'videoconf') return;
return;
}
Notifier.showNotification({ Notifier.showNotification({
showEasing: Easing.inOut(Easing.quad), showEasing: Easing.inOut(Easing.quad),
Component: NotifierComponent, Component: notification.customComponent || NotifierComponent,
componentProps: { componentProps: {
notification notification
} },
duration: notification.customTime || 3000, // default 3s,
hideOnPress: notification.hideOnPress ?? true,
swipeEnabled: notification.swipeEnabled ?? true
}); });
} }
}; };

View File

@ -17,7 +17,7 @@ import Header, { HEADER_HEIGHT, IHeader } from './Header';
import events from '../../lib/methods/helpers/log/events'; import events from '../../lib/methods/helpers/log/events';
import { IApplicationState, IEmoji, ILoggedUser, TAnyMessageModel, TSubscriptionModel } from '../../definitions'; import { IApplicationState, IEmoji, ILoggedUser, TAnyMessageModel, TSubscriptionModel } from '../../definitions';
import { getPermalinkMessage } from '../../lib/methods'; import { getPermalinkMessage } from '../../lib/methods';
import { getRoomTitle, getUidDirectMessage, hasPermission } from '../../lib/methods/helpers'; import { compareServerVersion, getRoomTitle, getUidDirectMessage, hasPermission } from '../../lib/methods/helpers';
import { Services } from '../../lib/services'; import { Services } from '../../lib/services';
export interface IMessageActionsProps { export interface IMessageActionsProps {
@ -30,6 +30,7 @@ export interface IMessageActionsProps {
replyInit: (message: TAnyMessageModel, mention: boolean) => void; replyInit: (message: TAnyMessageModel, mention: boolean) => void;
isMasterDetail: boolean; isMasterDetail: boolean;
isReadOnly: boolean; isReadOnly: boolean;
serverVersion?: string | null;
Message_AllowDeleting?: boolean; Message_AllowDeleting?: boolean;
Message_AllowDeleting_BlockDeleteInMinutes?: number; Message_AllowDeleting_BlockDeleteInMinutes?: number;
Message_AllowEditing?: boolean; Message_AllowEditing?: boolean;
@ -74,7 +75,8 @@ const MessageActions = React.memo(
forceDeleteMessagePermission, forceDeleteMessagePermission,
deleteOwnMessagePermission, deleteOwnMessagePermission,
pinMessagePermission, pinMessagePermission,
createDirectMessagePermission createDirectMessagePermission,
serverVersion
}, },
ref ref
) => { ) => {
@ -188,6 +190,15 @@ const MessageActions = React.memo(
} }
}; };
const handleShareMessage = (message: TAnyMessageModel) => {
const params = { message };
if (isMasterDetail) {
Navigation.navigate('ModalStackNavigator', { screen: 'ForwardMessageView', params });
} else {
Navigation.navigate('NewMessageStackNavigator', { screen: 'ForwardMessageView', params });
}
};
const handleUnread = async (message: TAnyMessageModel) => { const handleUnread = async (message: TAnyMessageModel) => {
logEvent(events.ROOM_MSG_ACTION_UNREAD); logEvent(events.ROOM_MSG_ACTION_UNREAD);
const { id: messageId, ts } = message; const { id: messageId, ts } = message;
@ -311,7 +322,7 @@ const MessageActions = React.memo(
const db = database.active; const db = database.active;
await db.write(async () => { await db.write(async () => {
await message.update(m => { await message.update(m => {
m.autoTranslate = !m.autoTranslate; m.autoTranslate = m.autoTranslate !== null ? !m.autoTranslate : false;
m._updatedAt = new Date(); m._updatedAt = new Date();
}); });
}); });
@ -389,6 +400,14 @@ const MessageActions = React.memo(
onPress: () => handleCreateDiscussion(message) onPress: () => handleCreateDiscussion(message)
}); });
if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '6.2.0') && !videoConfBlock) {
options.push({
title: I18n.t('Forward'),
icon: 'arrow-forward',
onPress: () => handleShareMessage(message)
});
}
// Permalink // Permalink
options.push({ options.push({
title: I18n.t('Get_link'), title: I18n.t('Get_link'),
@ -460,7 +479,7 @@ const MessageActions = React.memo(
// Toggle Auto-translate // Toggle Auto-translate
if (room.autoTranslate && message.u && message.u._id !== user.id) { if (room.autoTranslate && message.u && message.u._id !== user.id) {
options.push({ options.push({
title: I18n.t(message.autoTranslate ? 'View_Original' : 'Translate'), title: I18n.t(message.autoTranslate !== false ? 'View_Original' : 'Translate'),
icon: 'language', icon: 'language',
onPress: () => handleToggleTranslation(message) onPress: () => handleToggleTranslation(message)
}); });
@ -508,6 +527,7 @@ const MessageActions = React.memo(
); );
const mapStateToProps = (state: IApplicationState) => ({ const mapStateToProps = (state: IApplicationState) => ({
server: state.server.server, server: state.server.server,
serverVersion: state.server.version,
Message_AllowDeleting: state.settings.Message_AllowDeleting as boolean, Message_AllowDeleting: state.settings.Message_AllowDeleting as boolean,
Message_AllowDeleting_BlockDeleteInMinutes: state.settings.Message_AllowDeleting_BlockDeleteInMinutes as number, Message_AllowDeleting_BlockDeleteInMinutes: state.settings.Message_AllowDeleting_BlockDeleteInMinutes as number,
Message_AllowEditing: state.settings.Message_AllowEditing as boolean, Message_AllowEditing: state.settings.Message_AllowEditing as boolean,

View File

@ -164,7 +164,7 @@ export default class RecordAudio extends React.PureComponent<IMessageBoxRecordAu
type: 'audio/aac', type: 'audio/aac',
store: 'Uploads', store: 'Uploads',
path: fileURI, path: fileURI,
size: fileData.size size: fileData.exists ? fileData.size : null
}; };
onFinish(fileInfo); onFinish(fileInfo);

Binary file not shown.

View File

@ -0,0 +1,43 @@
import { Audio } from 'expo-av';
import React, { useEffect, useRef } from 'react';
import { View } from 'react-native';
export enum ERingerSounds {
DIALTONE = 'dialtone',
RINGTONE = 'ringtone'
}
const Ringer = React.memo(({ ringer }: { ringer: ERingerSounds }) => {
console.log('Ringer', ringer);
const sound = useRef<Audio.Sound | null>(null);
useEffect(() => {
(async () => {
let expo = null;
switch (ringer) {
case ERingerSounds.DIALTONE:
expo = await Audio.Sound.createAsync(require(`./dialtone.mp3`));
break;
case ERingerSounds.RINGTONE:
expo = await Audio.Sound.createAsync(require(`./ringtone.mp3`));
break;
default:
expo = await Audio.Sound.createAsync(require(`./dialtone.mp3`));
break;
}
sound.current = expo.sound;
await sound.current.playAsync();
await sound.current.setIsLoopingAsync(true);
})();
}, []);
useEffect(() => () => stopSound(), []);
const stopSound = () => {
sound?.current?.unloadAsync();
};
return <View />;
});
export default Ringer;

Binary file not shown.

View File

@ -50,6 +50,11 @@ const formatMsg = ({ lastMessage, type, showLastMessage, username, useRealName }
prefix = `${useRealName ? name : lastMessage.u.username}: `; prefix = `${useRealName ? name : lastMessage.u.username}: `;
} }
if (lastMessage.t === 'videoconf') {
prefix = '';
lastMessage.msg = I18n.t('Call_started');
}
return `${prefix}${lastMessage.msg}`; return `${prefix}${lastMessage.msg}`;
}; };
@ -68,7 +73,6 @@ const LastMessage = React.memo(({ lastMessage, type, showLastMessage, username,
})} })}
style={[styles.markdownText, { color: alert ? colors.bodyText : colors.auxiliaryText }]} style={[styles.markdownText, { color: alert ? colors.bodyText : colors.auxiliaryText }]}
numberOfLines={2} numberOfLines={2}
testID='room-item-last-message'
/> />
); );
}, arePropsEqual); }, arePropsEqual);

View File

@ -101,7 +101,7 @@ const RoomItem = ({
{autoJoin ? <Tag testID='auto-join-tag' name={I18n.t('Auto-join')} /> : null} {autoJoin ? <Tag testID='auto-join-tag' name={I18n.t('Auto-join')} /> : null}
<UpdatedAt date={date} hideUnreadStatus={hideUnreadStatus} alert={alert} /> <UpdatedAt date={date} hideUnreadStatus={hideUnreadStatus} alert={alert} />
</View> </View>
<View style={styles.row}> <View style={styles.row} testID='room-item-last-message-container'>
<LastMessage <LastMessage
lastMessage={lastMessage} lastMessage={lastMessage}
type={type} type={type}

View File

@ -1,7 +1,6 @@
import React from 'react'; import React from 'react';
import { StatusBar as StatusBarRN } from 'react-native'; import { StatusBar as StatusBarRN } from 'react-native';
import { themes } from '../lib/constants';
import { useTheme } from '../theme'; import { useTheme } from '../theme';
const supportedStyles = { const supportedStyles = {
@ -14,15 +13,15 @@ interface IStatusBar {
backgroundColor?: string; backgroundColor?: string;
} }
const StatusBar = React.memo(({ barStyle, backgroundColor }: IStatusBar) => { const StatusBar = ({ barStyle, backgroundColor }: IStatusBar) => {
const { theme } = useTheme(); const { theme, colors } = useTheme();
if (!barStyle) { if (!barStyle) {
barStyle = 'light-content'; barStyle = 'light-content';
if (theme === 'light') { if (theme === 'light') {
barStyle = 'dark-content'; barStyle = 'dark-content';
} }
} }
return <StatusBarRN backgroundColor={backgroundColor ?? themes[theme].headerBackground} barStyle={barStyle} animated />; return <StatusBarRN backgroundColor={backgroundColor ?? colors.headerBackground} barStyle={barStyle} animated />;
}); };
export default StatusBar; export default StatusBar;

View File

@ -31,6 +31,7 @@ const Chip = ({ item, onSelect, style }: IChip) => {
onPress={() => onSelect(item)} onPress={() => onSelect(item)}
style={[styles.chip, { backgroundColor: colors.auxiliaryBackground }, style]} style={[styles.chip, { backgroundColor: colors.auxiliaryBackground }, style]}
background={Touchable.Ripple(colors.bannerBackground)} background={Touchable.Ripple(colors.bannerBackground)}
testID={`multi-select-chip-${item.value}`}
> >
<> <>
{item.imageUrl ? <FastImage style={styles.chipImage} source={{ uri: item.imageUrl }} /> : null} {item.imageUrl ? <FastImage style={styles.chipImage} source={{ uri: item.imageUrl }} /> : null}

View File

@ -13,13 +13,13 @@ import { CustomIcon } from '../../CustomIcon';
interface IItem { interface IItem {
item: IItemData; item: IItemData;
selected?: string; selected: boolean;
onSelect: Function; onSelect: Function;
} }
interface IItems { interface IItems {
items: IItemData[]; items: IItemData[];
selected: string[]; selected: IItemData[];
onSelect: Function; onSelect: Function;
} }
@ -54,7 +54,7 @@ const Items = ({ items, selected, onSelect }: IItems) => (
keyboardShouldPersistTaps='always' keyboardShouldPersistTaps='always'
ItemSeparatorComponent={List.Separator} ItemSeparatorComponent={List.Separator}
keyExtractor={keyExtractor} keyExtractor={keyExtractor}
renderItem={({ item }) => <Item item={item} onSelect={onSelect} selected={selected.find(s => s === item.value)} />} renderItem={({ item }) => <Item item={item} onSelect={onSelect} selected={!!selected.find(s => s.value === item.value)} />}
/> />
); );

View File

@ -17,16 +17,16 @@ interface IMultiSelectContentProps {
options?: IItemData[]; options?: IItemData[];
multiselect: boolean; multiselect: boolean;
select: React.Dispatch<any>; select: React.Dispatch<any>;
onChange: Function; onChange: ({ value }: { value: string[] }) => void;
setCurrentValue: React.Dispatch<React.SetStateAction<string>>; setCurrentValue: React.Dispatch<React.SetStateAction<string>>;
onHide: Function; onHide: Function;
selectedItems: string[]; selectedItems: IItemData[];
} }
export const MultiSelectContent = React.memo( export const MultiSelectContent = React.memo(
({ onSearch, options, multiselect, select, onChange, setCurrentValue, onHide, selectedItems }: IMultiSelectContentProps) => { ({ onSearch, options, multiselect, select, onChange, setCurrentValue, onHide, selectedItems }: IMultiSelectContentProps) => {
const { colors } = useTheme(); const { colors } = useTheme();
const [selected, setSelected] = useState<string[]>(Array.isArray(selectedItems) ? selectedItems : []); const [selected, setSelected] = useState<IItemData[]>(Array.isArray(selectedItems) ? selectedItems : []);
const [items, setItems] = useState<IItemData[] | undefined>(options); const [items, setItems] = useState<IItemData[] | undefined>(options);
const { hideActionSheet } = useActionSheet(); const { hideActionSheet } = useActionSheet();
@ -37,14 +37,14 @@ export const MultiSelectContent = React.memo(
} = item; } = item;
if (multiselect) { if (multiselect) {
let newSelect = []; let newSelect = [];
if (!selected.includes(value)) { if (!selected.find(s => s.value === value)) {
newSelect = [...selected, value]; newSelect = [...selected, item];
} else { } else {
newSelect = selected.filter((s: any) => s !== value); newSelect = selected.filter((s: any) => s.value !== value);
} }
setSelected(newSelect); setSelected(newSelect);
select(newSelect); select(newSelect);
onChange({ value: newSelect }); onChange({ value: newSelect.map(s => s.value) });
} else { } else {
onChange({ value }); onChange({ value });
setCurrentValue(text); setCurrentValue(text);

View File

@ -17,13 +17,21 @@ export interface IItemData {
imageUrl?: string; imageUrl?: string;
} }
interface IMultiSelectWithMultiSelect extends IMultiSelect {
multiselect: true;
onChange: ({ value }: { value: string[] }) => void;
}
interface IMultiSelectWithoutMultiSelect extends IMultiSelect {
multiselect?: false;
onChange: ({ value }: { value: any }) => void;
}
interface IMultiSelect { interface IMultiSelect {
options?: IItemData[]; options?: IItemData[];
onChange: Function;
placeholder?: IText; placeholder?: IText;
context?: BlockContext; context?: BlockContext;
loading?: boolean; loading?: boolean;
multiselect?: boolean;
onSearch?: (keyword: string) => IItemData[] | Promise<IItemData[] | undefined>; onSearch?: (keyword: string) => IItemData[] | Promise<IItemData[] | undefined>;
onClose?: () => void; onClose?: () => void;
inputStyle?: TextStyle; inputStyle?: TextStyle;
@ -46,9 +54,9 @@ export const MultiSelect = React.memo(
disabled, disabled,
inputStyle, inputStyle,
innerInputStyle innerInputStyle
}: IMultiSelect) => { }: IMultiSelectWithMultiSelect | IMultiSelectWithoutMultiSelect) => {
const { colors } = useTheme(); const { colors } = useTheme();
const [selected, select] = useState<string[]>(Array.isArray(values) ? values : []); const [selected, select] = useState<IItemData[]>(Array.isArray(values) ? values : []);
const [currentValue, setCurrentValue] = useState(''); const [currentValue, setCurrentValue] = useState('');
const { showActionSheet, hideActionSheet } = useActionSheet(); const { showActionSheet, hideActionSheet } = useActionSheet();
@ -57,7 +65,7 @@ export const MultiSelect = React.memo(
if (Array.isArray(values)) { if (Array.isArray(values)) {
select(values); select(values);
} }
}, [values]); }, []);
useEffect(() => { useEffect(() => {
if (values && values.length && !multiselect) { if (values && values.length && !multiselect) {
@ -95,13 +103,13 @@ export const MultiSelect = React.memo(
} = item; } = item;
if (multiselect) { if (multiselect) {
let newSelect = []; let newSelect = [];
if (!selected.includes(value)) { if (!selected.find(s => s.value === value)) {
newSelect = [...selected, value]; newSelect = [...selected, item];
} else { } else {
newSelect = selected.filter((s: any) => s !== value); newSelect = selected.filter((s: any) => s.value !== value);
} }
select(newSelect); select(newSelect);
onChange({ value: newSelect }); onChange({ value: newSelect.map(s => s.value) });
} else { } else {
onChange({ value }); onChange({ value });
setCurrentValue(text); setCurrentValue(text);
@ -119,12 +127,10 @@ export const MultiSelect = React.memo(
); );
if (context === BlockContext.FORM) { if (context === BlockContext.FORM) {
const items: any = options.filter((option: any) => selected.includes(option.value));
button = ( button = (
<Input onPress={onShow} loading={loading} disabled={disabled} inputStyle={inputStyle} innerInputStyle={innerInputStyle}> <Input onPress={onShow} loading={loading} disabled={disabled} inputStyle={inputStyle} innerInputStyle={innerInputStyle}>
{items.length ? ( {selected.length ? (
<Chips items={items} onSelect={(item: any) => (disabled ? {} : onSelect(item))} /> <Chips items={selected} onSelect={(item: any) => (disabled ? {} : onSelect(item))} />
) : ( ) : (
<Text style={[styles.pickerText, { color: colors.auxiliaryText }]}>{placeholder.text}</Text> <Text style={[styles.pickerText, { color: colors.auxiliaryText }]}>{placeholder.text}</Text>
)} )}

View File

@ -1,4 +1,4 @@
import React, { useState } from 'react'; import React, { useMemo, useState } from 'react';
import { StyleSheet } from 'react-native'; import { StyleSheet } from 'react-native';
import RNPickerSelect from 'react-native-picker-select'; import RNPickerSelect from 'react-native-picker-select';
@ -55,6 +55,14 @@ export const Select = ({ options = [], placeholder, onChange, loading, disabled,
backgroundColor: themes[theme].backgroundColor backgroundColor: themes[theme].backgroundColor
}; };
const placeholderObject = useMemo(
() =>
placeholder && !items.some(item => item.label === textParser([placeholder]))
? { label: textParser([placeholder]), value: null }
: {},
[items.length, placeholder?.text]
);
const Icon = () => const Icon = () =>
loading ? ( loading ? (
<ActivityIndicator style={styles.loading} /> <ActivityIndicator style={styles.loading} />
@ -65,7 +73,7 @@ export const Select = ({ options = [], placeholder, onChange, loading, disabled,
return ( return (
<RNPickerSelect <RNPickerSelect
items={items} items={items}
placeholder={placeholder ? { label: textParser([placeholder]), value: null } : {}} placeholder={placeholderObject}
useNativeAndroidPickerStyle={false} useNativeAndroidPickerStyle={false}
value={selected} value={selected}
disabled={disabled} disabled={disabled}

View File

@ -220,36 +220,37 @@ export const SectionMultiSelect = () =>
}, },
accessory: { accessory: {
type: 'multi_static_select', type: 'multi_static_select',
appId: 'app-id',
blockId: 'block-id',
actionId: 'action-id',
initialValue: ['option_1', 'option_2'],
options: [ options: [
{ {
value: 'option_1',
text: { text: {
type: 'plain_text', type: 'plain_text',
text: 'button' text: 'lorem ipsum 🚀',
}, emoji: true
value: 1 }
}, },
{ {
value: 'option_2',
text: { text: {
type: 'plain_text', type: 'plain_text',
text: 'opt 1' text: 'lorem ipsum 🚀',
}, emoji: true
value: 2 }
},
{
text: {
type: 'plain_text',
text: 'opt 2'
},
value: 3
},
{
text: {
type: 'plain_text',
text: 'opt 3'
},
value: 4
} }
] ],
placeholder: {
type: 'plain_text',
text: 'Select an item'
},
label: {
type: 'plain_text',
text: 'Label',
emoji: true
}
} }
} }
]); ]);

View File

@ -1,103 +0,0 @@
import React, { useEffect, useState } from 'react';
import { Text, View } from 'react-native';
import Touchable from 'react-native-platform-touchable';
import i18n from '../../../../i18n';
import { getSubscriptionByRoomId } from '../../../../lib/database/services/Subscription';
import { useAppSelector } from '../../../../lib/hooks';
import { getRoomAvatar, getUidDirectMessage } from '../../../../lib/methods/helpers';
import { Services } from '../../../../lib/services';
import { useTheme } from '../../../../theme';
import { useActionSheet } from '../../../ActionSheet';
import AvatarContainer from '../../../Avatar';
import Button from '../../../Button';
import { CustomIcon } from '../../../CustomIcon';
import StatusContainer from '../../../Status';
import { BUTTON_HIT_SLOP } from '../../../message/utils';
import useStyle from './styles';
const useUserData = (rid: string) => {
const [user, setUser] = useState({ username: '', avatar: '', uid: '', type: '' });
useEffect(() => {
(async () => {
const room = await getSubscriptionByRoomId(rid);
if (room) {
const uid = (await getUidDirectMessage(room)) as string;
const avt = getRoomAvatar(room);
setUser({ uid, username: room?.name || '', avatar: avt, type: room?.t || '' });
} else {
try {
const result = await Services.getUserInfo(rid);
if (result.success) {
setUser({
username: result.user.name || result.user.username,
avatar: result.user.username,
uid: result.user._id,
type: 'd'
});
}
} catch (error) {
//
}
}
})();
}, []);
return user;
};
export default function StartACallActionSheet({ rid, initCall }: { rid: string; initCall: Function }): React.ReactElement {
const style = useStyle();
const { colors } = useTheme();
const [mic, setMic] = useState(true);
const [cam, setCam] = useState(false);
const username = useAppSelector(state => state.login.user.username);
const { hideActionSheet } = useActionSheet();
const user = useUserData(rid);
const handleColor = (enabled: boolean) => (enabled ? colors.conferenceCallEnabledIcon : colors.conferenceCallDisabledIcon);
return (
<View style={style.actionSheetContainer}>
<View style={style.actionSheetHeader}>
<Text style={style.actionSheetHeaderTitle}>{i18n.t('Start_a_call')}</Text>
<View style={style.actionSheetHeaderButtons}>
<Touchable
onPress={() => setCam(!cam)}
style={[style.iconCallContainer, cam && style.enabledBackground, { marginRight: 6 }]}
hitSlop={BUTTON_HIT_SLOP}
>
<CustomIcon name={cam ? 'camera' : 'camera-disabled'} size={20} color={handleColor(cam)} />
</Touchable>
<Touchable
onPress={() => setMic(!mic)}
style={[style.iconCallContainer, mic && style.enabledBackground]}
hitSlop={BUTTON_HIT_SLOP}
>
<CustomIcon name={mic ? 'microphone' : 'microphone-disabled'} size={20} color={handleColor(mic)} />
</Touchable>
</View>
</View>
<View style={style.actionSheetUsernameContainer}>
<AvatarContainer text={user.avatar} size={36} rid={rid} type={user.type} />
<StatusContainer size={16} id={user.uid} style={{ marginLeft: 8, marginRight: 6 }} />
<Text style={style.actionSheetUsername} numberOfLines={1}>
{user.username}
</Text>
</View>
<View style={style.actionSheetPhotoContainer}>
<AvatarContainer size={62} text={username} />
</View>
<Button
onPress={() => {
hideActionSheet();
setTimeout(() => {
initCall({ cam, mic });
}, 100);
}}
title={i18n.t('Call')}
/>
</View>
);
}

View File

@ -7,7 +7,7 @@ import { CustomIcon, TIconsName } from '../../../CustomIcon';
import useStyle from './styles'; import useStyle from './styles';
type VideoConfMessageIconProps = { type VideoConfMessageIconProps = {
variant: 'ended' | 'incoming' | 'outgoing'; variant: 'ended' | 'incoming' | 'outgoing' | 'issue';
children: React.ReactElement | React.ReactElement[]; children: React.ReactElement | React.ReactElement[];
}; };
@ -33,6 +33,12 @@ export const VideoConferenceBaseContainer = ({ variant, children }: VideoConfMes
color: colors.conferenceCallOngoingPhoneIcon, color: colors.conferenceCallOngoingPhoneIcon,
backgroundColor: colors.conferenceCallOngoingPhoneBackground, backgroundColor: colors.conferenceCallOngoingPhoneBackground,
label: i18n.t('Call_ongoing') label: i18n.t('Call_ongoing')
},
issue: {
icon: 'phone-issue',
color: colors.statusFontOnWarning,
backgroundColor: colors.statusBackgroundWarning,
label: i18n.t('Call_issue')
} }
}; };
@ -45,7 +51,7 @@ export const VideoConferenceBaseContainer = ({ variant, children }: VideoConfMes
backgroundColor: iconStyle[variant].backgroundColor backgroundColor: iconStyle[variant].backgroundColor
}} }}
> >
<CustomIcon name={iconStyle[variant].icon} size={variant === 'incoming' ? 16 : 24} color={iconStyle[variant].color} /> <CustomIcon name={iconStyle[variant].icon} size={24} color={iconStyle[variant].color} />
</View> </View>
<Text style={style.infoContainerText}>{iconStyle[variant].label}</Text> <Text style={style.infoContainerText}>{iconStyle[variant].label}</Text>
</View> </View>

View File

@ -1,20 +1,15 @@
import React from 'react'; import React from 'react';
import { Text } from 'react-native'; import { Text } from 'react-native';
import Touchable from 'react-native-platform-touchable';
import i18n from '../../../../i18n'; import i18n from '../../../../i18n';
import { videoConfJoin } from '../../../../lib/methods/videoConf';
import useStyle from './styles'; import useStyle from './styles';
import { VideoConferenceBaseContainer } from './VideoConferenceBaseContainer'; import { VideoConferenceBaseContainer } from './VideoConferenceBaseContainer';
const VideoConferenceDirect = React.memo(({ blockId }: { blockId: string }) => { const VideoConferenceDirect = React.memo(() => {
const style = useStyle(); const style = useStyle();
return ( return (
<VideoConferenceBaseContainer variant='incoming'> <VideoConferenceBaseContainer variant='incoming'>
<Touchable style={style.callToActionButton} onPress={() => videoConfJoin(blockId)}>
<Text style={style.callToActionButtonText}>{i18n.t('Join')}</Text>
</Touchable>
<Text style={style.callBack}>{i18n.t('Waiting_for_answer')}</Text> <Text style={style.callBack}>{i18n.t('Waiting_for_answer')}</Text>
</VideoConferenceBaseContainer> </VideoConferenceBaseContainer>
); );

View File

@ -0,0 +1,18 @@
import React from 'react';
import { Text } from 'react-native';
import i18n from '../../../../i18n';
import useStyle from './styles';
import { VideoConferenceBaseContainer } from './VideoConferenceBaseContainer';
const VideoConferenceIssue = React.memo(() => {
const style = useStyle();
return (
<VideoConferenceBaseContainer variant='issue'>
<Text style={style.callBack}>{i18n.t('Waiting_for_server_connection')}</Text>
</VideoConferenceBaseContainer>
);
});
export default VideoConferenceIssue;

View File

@ -5,7 +5,7 @@ import sharedStyles from '../../../../views/Styles';
export default function useStyle() { export default function useStyle() {
const { colors } = useTheme(); const { colors } = useTheme();
return StyleSheet.create({ const style = StyleSheet.create({
container: { height: 108, flex: 1, borderWidth: 1, borderRadius: 4, marginTop: 8, borderColor: colors.conferenceCallBorder }, container: { height: 108, flex: 1, borderWidth: 1, borderRadius: 4, marginTop: 8, borderColor: colors.conferenceCallBorder },
callInfoContainer: { flex: 1, alignItems: 'center', paddingLeft: 16, flexDirection: 'row' }, callInfoContainer: { flex: 1, alignItems: 'center', paddingLeft: 16, flexDirection: 'row' },
infoContainerText: { infoContainerText: {
@ -88,40 +88,10 @@ export default function useStyle() {
...sharedStyles.textRegular, ...sharedStyles.textRegular,
color: colors.passcodeSecondary color: colors.passcodeSecondary
}, },
actionSheetContainer: {
paddingHorizontal: 24,
flex: 1
},
actionSheetHeaderTitle: {
fontSize: 14,
...sharedStyles.textBold,
color: colors.passcodePrimary
},
actionSheetUsername: {
fontSize: 16,
...sharedStyles.textBold,
color: colors.passcodePrimary,
flexShrink: 1
},
enabledBackground: { enabledBackground: {
backgroundColor: colors.conferenceCallEnabledIconBackground backgroundColor: colors.conferenceCallEnabledIconBackground
},
iconCallContainer: {
padding: 6,
borderRadius: 4
},
actionSheetHeader: { flexDirection: 'row', alignItems: 'center' },
actionSheetHeaderButtons: { flex: 1, alignItems: 'center', flexDirection: 'row', justifyContent: 'flex-end' },
actionSheetUsernameContainer: { flexDirection: 'row', paddingTop: 8, alignItems: 'center' },
actionSheetPhotoContainer: {
height: 220,
width: 148,
backgroundColor: colors.conferenceCallPhotoBackground,
borderRadius: 8,
margin: 24,
alignSelf: 'center',
justifyContent: 'center',
alignItems: 'center'
} }
}); });
return style;
} }

View File

@ -5,19 +5,22 @@ import VideoConferenceDirect from './components/VideoConferenceDirect';
import VideoConferenceEnded from './components/VideoConferenceEnded'; import VideoConferenceEnded from './components/VideoConferenceEnded';
import VideoConferenceOutgoing from './components/VideoConferenceOutgoing'; import VideoConferenceOutgoing from './components/VideoConferenceOutgoing';
import VideoConferenceSkeletonLoading from './components/VideoConferenceSkeletonLoading'; import VideoConferenceSkeletonLoading from './components/VideoConferenceSkeletonLoading';
import VideoConferenceIssue from './components/VideoConferenceIssue';
export default function VideoConferenceBlock({ callId, blockId }: { callId: string; blockId: string }): React.ReactElement { export default function VideoConferenceBlock({ callId, blockId }: { callId: string; blockId: string }): React.ReactElement {
const { result } = useEndpointData('video-conference.info', { callId }); const { result, error } = useEndpointData('video-conference.info', { callId });
if (result?.success) { if (result?.success) {
const { users, type, status, createdBy, rid } = result; const { users, type, status, createdBy, rid } = result;
if ('endedAt' in result) return <VideoConferenceEnded createdBy={createdBy} rid={rid} type={type} users={users} />; if ('endedAt' in result) return <VideoConferenceEnded createdBy={createdBy} rid={rid} type={type} users={users} />;
if (type === 'direct' && status === 0) return <VideoConferenceDirect blockId={blockId} />; if (type === 'direct' && status === 0) return <VideoConferenceDirect />;
return <VideoConferenceOutgoing blockId={blockId} users={users} />; return <VideoConferenceOutgoing blockId={blockId} users={users} />;
} }
if (result?.error || error) return <VideoConferenceIssue />;
return <VideoConferenceSkeletonLoading />; return <VideoConferenceSkeletonLoading />;
} }

View File

@ -138,7 +138,8 @@ class MessageParser extends UiKitParserMessage<React.ReactElement> {
multiStaticSelect(element: IElement, context: BlockContext) { multiStaticSelect(element: IElement, context: BlockContext) {
const [{ loading, value }, action] = useBlockContext(element, context); const [{ loading, value }, action] = useBlockContext(element, context);
return <MultiSelect {...element} value={value} onChange={action} context={context} loading={loading} multiselect />; const valueFiltered = element.options?.filter(option => value.includes(option.value));
return <MultiSelect {...element} value={valueFiltered} onChange={action} context={context} loading={loading} multiselect />;
} }
staticSelect(element: IElement, context: BlockContext) { staticSelect(element: IElement, context: BlockContext) {

View File

@ -1,13 +1,10 @@
import React from 'react'; import React from 'react';
import { Text, TextStyle } from 'react-native'; import { Text, TextStyle } from 'react-native';
import removeMarkdown from 'remove-markdown';
import shortnameToUnicode from '../../lib/methods/helpers/shortnameToUnicode';
import { themes } from '../../lib/constants'; import { themes } from '../../lib/constants';
import { formatText } from './formatText';
import { useTheme } from '../../theme'; import { useTheme } from '../../theme';
import styles from './styles'; import styles from './styles';
import { formatHyperlink } from './formatHyperlink'; import { previewFormatText } from './previewFormatText';
interface IMarkdownPreview { interface IMarkdownPreview {
msg?: string; msg?: string;
@ -16,26 +13,20 @@ interface IMarkdownPreview {
style?: TextStyle[]; style?: TextStyle[];
} }
const MarkdownPreview = ({ msg, numberOfLines = 1, testID, style = [] }: IMarkdownPreview) => { const MarkdownPreview = ({ msg, numberOfLines = 1, style = [], testID }: IMarkdownPreview) => {
const { theme } = useTheme(); const { theme } = useTheme();
if (!msg) { if (!msg) {
return null; return null;
} }
let m = formatText(msg); const m = previewFormatText(msg);
m = formatHyperlink(m);
m = shortnameToUnicode(m);
// Removes sequential empty spaces
m = m.replace(/\s+/g, ' ');
m = removeMarkdown(m);
m = m.replace(/\n+/g, ' ');
return ( return (
<Text <Text
accessibilityLabel={m} accessibilityLabel={m}
style={[styles.text, { color: themes[theme].bodyText }, ...style]} style={[styles.text, { color: themes[theme].bodyText }, ...style]}
numberOfLines={numberOfLines} numberOfLines={numberOfLines}
testID={testID} testID={testID || `markdown-preview-${m}`}
> >
{m} {m}
</Text> </Text>

View File

@ -2,8 +2,10 @@ import React from 'react';
import { KaTeX as KaTeXProps } from '@rocket.chat/message-parser'; import { KaTeX as KaTeXProps } from '@rocket.chat/message-parser';
// eslint-disable-next-line import/no-unresolved // eslint-disable-next-line import/no-unresolved
import MathView, { MathText } from 'react-native-math-view'; import MathView, { MathText } from 'react-native-math-view';
import Katex from 'react-native-katex';
import { useTheme } from '../../../theme'; import { useTheme } from '../../../theme';
import { DEFAULT_MESSAGE_HEIGHT } from '../../message/utils';
interface IKaTeXProps { interface IKaTeXProps {
value: KaTeXProps['value']; value: KaTeXProps['value'];
@ -11,7 +13,13 @@ interface IKaTeXProps {
export const KaTeX = ({ value }: IKaTeXProps): React.ReactElement | null => { export const KaTeX = ({ value }: IKaTeXProps): React.ReactElement | null => {
const { colors } = useTheme(); const { colors } = useTheme();
return <MathView math={value} style={{ color: colors.bodyText }} />; return (
<MathView
math={value}
style={{ color: colors.bodyText }}
renderError={() => <Katex expression={value} style={{ flex: 1, height: DEFAULT_MESSAGE_HEIGHT }} />}
/>
);
}; };
export const InlineKaTeX = ({ value }: IKaTeXProps): React.ReactElement | null => { export const InlineKaTeX = ({ value }: IKaTeXProps): React.ReactElement | null => {

View File

@ -0,0 +1,28 @@
import { previewFormatText } from './previewFormatText';
describe('Format preview message', () => {
test('empty to be empty', () => {
expect(previewFormatText('')).toBe('');
});
test('A123 to be A123', () => {
expect(previewFormatText('A123')).toBe('A123');
});
test('Format <http://link|Text> to be Text', () => {
expect(previewFormatText('<http://link|Text>')).toBe('Text');
});
test('Format "[ ](https://open.rocket.chat/) Test" to be Test', () => {
expect(previewFormatText('[ ](https://open.rocket.chat/) Test')).toEqual('Test');
});
test('Format "[Open](https://open.rocket.chat/) Test" to be Test', () => {
expect(previewFormatText('[Open](https://open.rocket.chat/) Test')).toBe('Open Test');
});
test('render test (arabic)', () => {
expect(previewFormatText('[ ](https://open.rocket.chat/) اختبا')).toBe('اختبا');
});
test('render test (russian)', () => {
expect(previewFormatText('[ ](https://open.rocket.chat/) тест123')).toBe(ест123');
});
test('Format a quote message as last message "You: [ ](https://open.rocket.chat/group/channel?msg=nrTDSw96IhtF3iN4K) \nTest"', () => {
expect(previewFormatText('You: [ ](https://open.rocket.chat/group/channel?msg=nrTDSw96IhtF3iN4K) \nTest')).toBe('You: Test');
});
});

View File

@ -0,0 +1,19 @@
import removeMarkdown from 'remove-markdown';
import shortnameToUnicode from '../../lib/methods/helpers/shortnameToUnicode';
import { formatText } from './formatText';
import { formatHyperlink } from './formatHyperlink';
export const previewFormatText = (msg: string) => {
let m = formatText(msg);
m = formatHyperlink(m);
m = shortnameToUnicode(m);
// Removes sequential empty spaces before to use removeMarkdown,
// because with some edge cases the library takes a long time to finish the process
m = m.replace(/\s+/g, ' ');
m = removeMarkdown(m);
// Removes sequential empty spaces to remove leading empty space on quotes at the rooms list view
m = m.replace(/\s+/g, ' ');
m = m.replace(/\n+/g, ' ');
return m;
};

View File

@ -13,6 +13,7 @@ import { IAttachment, TGetCustomEmoji } from '../../definitions';
import CollapsibleQuote from './Components/CollapsibleQuote'; import CollapsibleQuote from './Components/CollapsibleQuote';
import openLink from '../../lib/methods/helpers/openLink'; import openLink from '../../lib/methods/helpers/openLink';
import Markdown from '../markdown'; import Markdown from '../markdown';
import { getMessageFromAttachment } from './utils';
export type TElement = { export type TElement = {
type: string; type: string;
@ -54,14 +55,16 @@ const AttachedActions = ({ attachment, getCustomEmoji }: { attachment: IAttachme
}; };
const Attachments: React.FC<IMessageAttachments> = React.memo( const Attachments: React.FC<IMessageAttachments> = React.memo(
({ attachments, timeFormat, showAttachment, style, getCustomEmoji, isReply, id }: IMessageAttachments) => { ({ attachments, timeFormat, showAttachment, style, getCustomEmoji, isReply, author }: IMessageAttachments) => {
const { theme } = useTheme(); const { theme } = useTheme();
const { translateLanguage } = useContext(MessageContext);
if (!attachments || attachments.length === 0) { if (!attachments || attachments.length === 0) {
return null; return null;
} }
const attachmentsElements = attachments.map((file: IAttachment, index: number) => { const attachmentsElements = attachments.map((file: IAttachment, index: number) => {
const msg = getMessageFromAttachment(file, translateLanguage);
if (file && file.image_url) { if (file && file.image_url) {
return ( return (
<Image <Image
@ -71,6 +74,8 @@ const Attachments: React.FC<IMessageAttachments> = React.memo(
getCustomEmoji={getCustomEmoji} getCustomEmoji={getCustomEmoji}
style={style} style={style}
isReply={isReply} isReply={isReply}
author={author}
msg={msg}
/> />
); );
} }
@ -84,7 +89,8 @@ const Attachments: React.FC<IMessageAttachments> = React.memo(
isReply={isReply} isReply={isReply}
style={style} style={style}
theme={theme} theme={theme}
messageId={id} author={author}
msg={msg}
/> />
); );
} }
@ -98,6 +104,7 @@ const Attachments: React.FC<IMessageAttachments> = React.memo(
getCustomEmoji={getCustomEmoji} getCustomEmoji={getCustomEmoji}
style={style} style={style}
isReply={isReply} isReply={isReply}
msg={msg}
/> />
); );
} }
@ -112,14 +119,7 @@ const Attachments: React.FC<IMessageAttachments> = React.memo(
} }
return ( return (
<Reply <Reply key={index} index={index} attachment={file} timeFormat={timeFormat} getCustomEmoji={getCustomEmoji} msg={msg} />
key={index}
index={index}
attachment={file}
timeFormat={timeFormat}
getCustomEmoji={getCustomEmoji}
messageId={id}
/>
); );
}); });
return <>{attachmentsElements}</>; return <>{attachmentsElements}</>;

View File

@ -17,18 +17,19 @@ import MessageContext from './Context';
import ActivityIndicator from '../ActivityIndicator'; import ActivityIndicator from '../ActivityIndicator';
import { withDimensions } from '../../dimensions'; import { withDimensions } from '../../dimensions';
import { TGetCustomEmoji } from '../../definitions/IEmoji'; import { TGetCustomEmoji } from '../../definitions/IEmoji';
import { IAttachment } from '../../definitions'; import { IAttachment, IUserMessage } from '../../definitions';
import { TSupportedThemes } from '../../theme'; import { TSupportedThemes, useTheme } from '../../theme';
import { downloadAudioFile } from '../../lib/methods/audioFile'; import { downloadMediaFile, getMediaCache } from '../../lib/methods/handleMediaDownload';
import EventEmitter from '../../lib/methods/helpers/events'; import EventEmitter from '../../lib/methods/helpers/events';
import { PAUSE_AUDIO } from './constants'; import { PAUSE_AUDIO } from './constants';
import { fetchAutoDownloadEnabled } from '../../lib/methods/autoDownloadPreference';
interface IButton { interface IButton {
loading: boolean; loading: boolean;
paused: boolean; paused: boolean;
theme: TSupportedThemes;
disabled?: boolean; disabled?: boolean;
onPress: () => void; onPress: () => void;
cached: boolean;
} }
interface IMessageAudioProps { interface IMessageAudioProps {
@ -38,7 +39,8 @@ interface IMessageAudioProps {
theme: TSupportedThemes; theme: TSupportedThemes;
getCustomEmoji: TGetCustomEmoji; getCustomEmoji: TGetCustomEmoji;
scale?: number; scale?: number;
messageId: string; author?: IUserMessage;
msg?: string;
} }
interface IMessageAudioState { interface IMessageAudioState {
@ -46,6 +48,7 @@ interface IMessageAudioState {
currentTime: number; currentTime: number;
duration: number; duration: number;
paused: boolean; paused: boolean;
cached: boolean;
} }
const mode = { const mode = {
@ -90,25 +93,29 @@ const formatTime = (seconds: number) => moment.utc(seconds * 1000).format('mm:ss
const BUTTON_HIT_SLOP = { top: 12, right: 12, bottom: 12, left: 12 }; const BUTTON_HIT_SLOP = { top: 12, right: 12, bottom: 12, left: 12 };
const Button = React.memo(({ loading, paused, onPress, disabled, theme }: IButton) => ( const Button = React.memo(({ loading, paused, onPress, disabled, cached }: IButton) => {
<Touchable const { colors } = useTheme();
style={styles.playPauseButton}
disabled={disabled} let customIconName: 'arrow-down-circle' | 'play-filled' | 'pause-filled' = 'arrow-down-circle';
onPress={onPress} if (cached) {
hitSlop={BUTTON_HIT_SLOP} customIconName = paused ? 'play-filled' : 'pause-filled';
background={Touchable.SelectableBackgroundBorderless()} }
> return (
{loading ? ( <Touchable
<ActivityIndicator style={[styles.playPauseButton, styles.audioLoading]} /> style={styles.playPauseButton}
) : ( disabled={disabled}
<CustomIcon onPress={onPress}
name={paused ? 'play-filled' : 'pause-filled'} hitSlop={BUTTON_HIT_SLOP}
size={36} background={Touchable.SelectableBackgroundBorderless()}
color={disabled ? themes[theme].tintDisabled : themes[theme].tintColor} >
/> {loading ? (
)} <ActivityIndicator style={[styles.playPauseButton, styles.audioLoading]} />
</Touchable> ) : (
)); <CustomIcon name={customIconName} size={36} color={disabled ? colors.tintDisabled : colors.tintColor} />
)}
</Touchable>
);
});
Button.displayName = 'MessageAudioButton'; Button.displayName = 'MessageAudioButton';
@ -120,10 +127,11 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
constructor(props: IMessageAudioProps) { constructor(props: IMessageAudioProps) {
super(props); super(props);
this.state = { this.state = {
loading: false, loading: true,
currentTime: 0, currentTime: 0,
duration: 0, duration: 0,
paused: true paused: true,
cached: false
}; };
this.sound = new Audio.Sound(); this.sound = new Audio.Sound();
@ -136,28 +144,26 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
}; };
async componentDidMount() { async componentDidMount() {
const { file, messageId } = this.props; const { file, isReply } = this.props;
const { baseUrl, user } = this.context; const cachedAudioResult = await getMediaCache({
type: 'audio',
let url = file.audio_url; mimeType: file.audio_type,
if (url && !url.startsWith('http')) { urlToCache: this.getUrl()
url = `${baseUrl}${file.audio_url}`; });
if (cachedAudioResult?.exists) {
await this.sound.loadAsync({ uri: cachedAudioResult.uri });
this.setState({ loading: false, cached: true });
return;
} }
if (isReply) {
this.setState({ loading: true }); this.setState({ loading: false });
try { return;
if (url) {
const audio = await downloadAudioFile(`${url}?rc_uid=${user.id}&rc_token=${user.token}`, url, messageId);
await this.sound.loadAsync({ uri: audio });
}
} catch {
// Do nothing
} }
this.setState({ loading: false }); await this.handleAutoDownload();
} }
shouldComponentUpdate(nextProps: IMessageAudioProps, nextState: IMessageAudioState) { shouldComponentUpdate(nextProps: IMessageAudioProps, nextState: IMessageAudioState) {
const { currentTime, duration, paused, loading } = this.state; const { currentTime, duration, paused, loading, cached } = this.state;
const { file, theme } = this.props; const { file, theme } = this.props;
if (nextProps.theme !== theme) { if (nextProps.theme !== theme) {
return true; return true;
@ -177,6 +183,9 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
if (nextState.loading !== loading) { if (nextState.loading !== loading) {
return true; return true;
} }
if (nextState.cached !== cached) {
return true;
}
return false; return false;
} }
@ -198,6 +207,39 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
} }
} }
getUrl = () => {
const { file } = this.props;
// @ts-ignore can't use declare to type this
const { baseUrl } = this.context;
let url = file.audio_url;
if (url && !url.startsWith('http')) {
url = `${baseUrl}${file.audio_url}`;
}
return url;
};
handleAutoDownload = async () => {
const { author } = this.props;
// @ts-ignore can't use declare to type this
const { user } = this.context;
const url = this.getUrl();
try {
if (url) {
const isCurrentUserAuthor = author?._id === user.id;
const isAutoDownloadEnabled = fetchAutoDownloadEnabled('audioPreferenceDownload');
if (isAutoDownloadEnabled || isCurrentUserAuthor) {
await this.handleDownload();
return;
}
this.setState({ loading: false, cached: false });
}
} catch {
// Do nothing
}
};
onPlaybackStatusUpdate = (status: AVPlaybackStatus) => { onPlaybackStatusUpdate = (status: AVPlaybackStatus) => {
if (status) { if (status) {
this.onLoad(status); this.onLoad(status);
@ -247,6 +289,39 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
this.setState({ paused: !paused }, this.playPause); this.setState({ paused: !paused }, this.playPause);
}; };
handleDownload = async () => {
const { file } = this.props;
// @ts-ignore can't use declare to type this
const { user } = this.context;
this.setState({ loading: true });
try {
const url = this.getUrl();
if (url) {
const audio = await downloadMediaFile({
downloadUrl: `${url}?rc_uid=${user.id}&rc_token=${user.token}`,
type: 'audio',
mimeType: file.audio_type
});
await this.sound.loadAsync({ uri: audio });
this.setState({ loading: false, cached: true });
}
} catch {
this.setState({ loading: false, cached: false });
}
};
onPress = () => {
const { cached, loading } = this.state;
if (loading) {
return;
}
if (cached) {
this.togglePlayPause();
return;
}
this.handleDownload();
};
playPause = async () => { playPause = async () => {
const { paused } = this.state; const { paused } = this.state;
try { try {
@ -274,9 +349,9 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
}; };
render() { render() {
const { loading, paused, currentTime, duration } = this.state; const { loading, paused, currentTime, duration, cached } = this.state;
const { file, getCustomEmoji, theme, scale, isReply, style } = this.props; const { msg, getCustomEmoji, theme, scale, isReply, style } = this.props;
const { description } = file; // @ts-ignore can't use declare to type this
const { baseUrl, user } = this.context; const { baseUrl, user } = this.context;
if (!baseUrl) { if (!baseUrl) {
@ -292,20 +367,14 @@ class MessageAudio extends React.Component<IMessageAudioProps, IMessageAudioStat
return ( return (
<> <>
<Markdown <Markdown msg={msg} style={[isReply && style]} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} />
msg={description}
style={[isReply && style]}
username={user.username}
getCustomEmoji={getCustomEmoji}
theme={theme}
/>
<View <View
style={[ style={[
styles.audioContainer, styles.audioContainer,
{ backgroundColor: themes[theme].chatComponentBackground, borderColor: themes[theme].borderColor } { backgroundColor: themes[theme].chatComponentBackground, borderColor: themes[theme].borderColor }
]} ]}
> >
<Button disabled={isReply} loading={loading} paused={paused} onPress={this.togglePlayPause} theme={theme} /> <Button disabled={isReply} loading={loading} paused={paused} cached={cached} onPress={this.onPress} />
<Slider <Slider
disabled={isReply} disabled={isReply}
style={styles.slider} style={styles.slider}

View File

@ -0,0 +1,37 @@
import React from 'react';
import { StyleProp, View, ViewStyle } from 'react-native';
import { BlurView } from '@react-native-community/blur';
import styles from '../../styles';
import { useTheme } from '../../../../theme';
import RCActivityIndicator from '../../../ActivityIndicator';
import { CustomIcon, TIconsName } from '../../../CustomIcon';
const BlurComponent = ({
loading = false,
style = {},
iconName,
showOverlay = false
}: {
loading: boolean;
style: StyleProp<ViewStyle>;
iconName: TIconsName;
showOverlay?: boolean;
}) => {
const { colors } = useTheme();
return (
<>
{!showOverlay ? (
<BlurView style={[style, styles.blurView]} blurType={'dark'} blurAmount={2} />
) : (
<View style={[style, styles.blurView, { backgroundColor: colors.overlayColor }]} />
)}
<View style={[style, styles.blurIndicator]}>
{loading ? <RCActivityIndicator size={54} /> : <CustomIcon color={colors.buttonText} name={iconName} size={54} />}
</View>
</>
);
};
export default BlurComponent;

View File

@ -1,25 +1,23 @@
import React, { useContext } from 'react'; import React, { useContext, useEffect, useState } from 'react';
import { StyleProp, TextStyle, View } from 'react-native'; import { StyleProp, TextStyle, View } from 'react-native';
import FastImage from 'react-native-fast-image'; import FastImage from 'react-native-fast-image';
import { dequal } from 'dequal';
import { createImageProgress } from 'react-native-image-progress';
import * as Progress from 'react-native-progress';
import Touchable from './Touchable'; import { IAttachment, IUserMessage } from '../../definitions';
import Markdown from '../markdown';
import styles from './styles';
import { themes } from '../../lib/constants';
import MessageContext from './Context';
import { TGetCustomEmoji } from '../../definitions/IEmoji'; import { TGetCustomEmoji } from '../../definitions/IEmoji';
import { IAttachment } from '../../definitions'; import { fetchAutoDownloadEnabled } from '../../lib/methods/autoDownloadPreference';
import { TSupportedThemes, useTheme } from '../../theme'; import { cancelDownload, downloadMediaFile, getMediaCache, isDownloadActive } from '../../lib/methods/handleMediaDownload';
import { formatAttachmentUrl } from '../../lib/methods/helpers/formatAttachmentUrl'; import { formatAttachmentUrl } from '../../lib/methods/helpers/formatAttachmentUrl';
import { useTheme } from '../../theme';
import Markdown from '../markdown';
import BlurComponent from './Components/BlurComponent';
import MessageContext from './Context';
import Touchable from './Touchable';
import styles from './styles';
interface IMessageButton { interface IMessageButton {
children: React.ReactElement; children: React.ReactElement;
disabled?: boolean; disabled?: boolean;
onPress: () => void; onPress: () => void;
theme: TSupportedThemes;
} }
interface IMessageImage { interface IMessageImage {
@ -29,76 +27,158 @@ interface IMessageImage {
style?: StyleProp<TextStyle>[]; style?: StyleProp<TextStyle>[];
isReply?: boolean; isReply?: boolean;
getCustomEmoji?: TGetCustomEmoji; getCustomEmoji?: TGetCustomEmoji;
author?: IUserMessage;
msg?: string;
} }
const ImageProgress = createImageProgress(FastImage); const Button = React.memo(({ children, onPress, disabled }: IMessageButton) => {
const { colors } = useTheme();
return (
<Touchable
disabled={disabled}
onPress={onPress}
style={[styles.imageContainer, styles.mustWrapBlur]}
background={Touchable.Ripple(colors.bannerBackground)}
>
{children}
</Touchable>
);
});
const Button = React.memo(({ children, onPress, disabled, theme }: IMessageButton) => ( export const MessageImage = React.memo(({ imgUri, cached, loading }: { imgUri: string; cached: boolean; loading: boolean }) => {
<Touchable const { colors } = useTheme();
disabled={disabled} return (
onPress={onPress} <>
style={styles.imageContainer} <FastImage
background={Touchable.Ripple(themes[theme].bannerBackground)} style={[styles.image, { borderColor: colors.borderColor }]}
> source={{ uri: encodeURI(imgUri) }}
{children} resizeMode={FastImage.resizeMode.cover}
</Touchable> />
)); {!cached ? (
<BlurComponent loading={loading} style={[styles.image, styles.imageBlurContainer]} iconName='arrow-down-circle' />
) : null}
</>
);
});
export const MessageImage = React.memo(({ imgUri, theme }: { imgUri: string; theme: TSupportedThemes }) => ( const ImageContainer = ({
<ImageProgress file,
style={[styles.image, { borderColor: themes[theme].borderColor }]} imageUrl,
source={{ uri: encodeURI(imgUri) }} showAttachment,
resizeMode={FastImage.resizeMode.cover} getCustomEmoji,
indicator={Progress.Pie} style,
indicatorProps={{ isReply,
color: themes[theme].actionTintColor author,
}} msg
/> }: IMessageImage): React.ReactElement | null => {
)); const [imageCached, setImageCached] = useState(file);
const [cached, setCached] = useState(false);
const [loading, setLoading] = useState(true);
const { theme } = useTheme();
const { baseUrl, user } = useContext(MessageContext);
const getUrl = (link?: string) => imageUrl || formatAttachmentUrl(link, user.id, user.token, baseUrl);
const img = getUrl(file.image_url);
// The param file.title_link is the one that point to image with best quality, however we still need to test the imageUrl
// And we cannot be certain whether the file.title_link actually exists.
const imgUrlToCache = getUrl(imageCached.title_link || imageCached.image_url);
const ImageContainer = React.memo( useEffect(() => {
({ file, imageUrl, showAttachment, getCustomEmoji, style, isReply }: IMessageImage) => { const handleCache = async () => {
const { theme } = useTheme(); if (img) {
const { baseUrl, user } = useContext(MessageContext); const cachedImageResult = await getMediaCache({
const img = imageUrl || formatAttachmentUrl(file.image_url, user.id, user.token, baseUrl); type: 'image',
mimeType: imageCached.image_type,
if (!img) { urlToCache: imgUrlToCache
return null; });
} if (cachedImageResult?.exists) {
setImageCached(prev => ({
const onPress = () => { ...prev,
if (!showAttachment) { title_link: cachedImageResult?.uri
return; }));
setLoading(false);
setCached(true);
return;
}
if (isReply) {
setLoading(false);
return;
}
if (isDownloadActive(imgUrlToCache)) {
return;
}
setLoading(false);
await handleAutoDownload();
} }
return showAttachment(file);
}; };
handleCache();
}, []);
if (file.description) { if (!img) {
return ( return null;
<Button disabled={isReply} theme={theme} onPress={onPress}> }
<View>
<Markdown const handleAutoDownload = async () => {
msg={file.description} const isCurrentUserAuthor = author?._id === user.id;
style={[isReply && style]} const isAutoDownloadEnabled = fetchAutoDownloadEnabled('imagesPreferenceDownload');
username={user.username} if (isAutoDownloadEnabled || isCurrentUserAuthor) {
getCustomEmoji={getCustomEmoji} await handleDownload();
theme={theme}
/>
<MessageImage imgUri={img} theme={theme} />
</View>
</Button>
);
} }
};
const handleDownload = async () => {
try {
setLoading(true);
const imageUri = await downloadMediaFile({
downloadUrl: imgUrlToCache,
type: 'image',
mimeType: imageCached.image_type
});
setImageCached(prev => ({
...prev,
title_link: imageUri
}));
setCached(true);
} catch (e) {
setCached(false);
} finally {
setLoading(false);
}
};
const onPress = () => {
if (loading && isDownloadActive(imgUrlToCache)) {
cancelDownload(imgUrlToCache);
setLoading(false);
setCached(false);
return;
}
if (!cached && !loading) {
handleDownload();
return;
}
if (!showAttachment) {
return;
}
showAttachment(imageCached);
};
if (msg) {
return ( return (
<Button disabled={isReply} theme={theme} onPress={onPress}> <View>
<MessageImage imgUri={img} theme={theme} /> <Markdown msg={msg} style={[isReply && style]} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} />
</Button> <Button disabled={isReply} onPress={onPress}>
<MessageImage imgUri={img} cached={cached} loading={loading} />
</Button>
</View>
); );
}, }
(prevProps, nextProps) => dequal(prevProps.file, nextProps.file)
); return (
<Button disabled={isReply} onPress={onPress}>
<MessageImage imgUri={img} cached={cached} loading={loading} />
</Button>
);
};
ImageContainer.displayName = 'MessageImageContainer'; ImageContainer.displayName = 'MessageImageContainer';
MessageImage.displayName = 'MessageImage'; MessageImage.displayName = 'MessageImage';

View File

@ -22,6 +22,19 @@ import { useTheme } from '../../theme';
import RightIcons from './Components/RightIcons'; import RightIcons from './Components/RightIcons';
const MessageInner = React.memo((props: IMessageInner) => { const MessageInner = React.memo((props: IMessageInner) => {
if (props.isPreview) {
return (
<>
<User {...props} />
<>
<Content {...props} />
<Attachments {...props} />
</>
<Urls {...props} />
</>
);
}
if (props.type === 'discussion-created') { if (props.type === 'discussion-created') {
return ( return (
<> <>

View File

@ -0,0 +1,35 @@
import React from 'react';
import Message from './index';
import { useAppSelector } from '../../lib/hooks';
import { getUserSelector } from '../../selectors/login';
import { TAnyMessageModel, TGetCustomEmoji } from '../../definitions';
const MessagePreview = ({ message }: { message: TAnyMessageModel }) => {
const { user, baseUrl, Message_TimeFormat, customEmojis, useRealName } = useAppSelector(state => ({
user: getUserSelector(state),
baseUrl: state.server.server,
Message_TimeFormat: state.settings.Message_TimeFormat as string,
customEmojis: state.customEmojis,
useRealName: state.settings.UI_Use_Real_Name as boolean
}));
const getCustomEmoji: TGetCustomEmoji = name => {
const emoji = customEmojis[name];
return emoji ?? null;
};
return (
<Message
item={message}
user={user}
rid={message.rid}
baseUrl={baseUrl}
getCustomEmoji={getCustomEmoji}
timeFormat={Message_TimeFormat}
useRealName={useRealName}
isPreview
/>
);
};
export default MessagePreview;

View File

@ -91,7 +91,7 @@ interface IMessageReply {
timeFormat?: string; timeFormat?: string;
index: number; index: number;
getCustomEmoji: TGetCustomEmoji; getCustomEmoji: TGetCustomEmoji;
messageId: string; msg?: string;
} }
const Title = React.memo( const Title = React.memo(
@ -198,7 +198,7 @@ const Fields = React.memo(
); );
const Reply = React.memo( const Reply = React.memo(
({ attachment, timeFormat, index, getCustomEmoji, messageId }: IMessageReply) => { ({ attachment, timeFormat, index, getCustomEmoji, msg }: IMessageReply) => {
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const { theme } = useTheme(); const { theme } = useTheme();
const { baseUrl, user, jumpToMessage } = useContext(MessageContext); const { baseUrl, user, jumpToMessage } = useContext(MessageContext);
@ -239,7 +239,7 @@ const Reply = React.memo(
style={[ style={[
styles.button, styles.button,
index > 0 && styles.marginTop, index > 0 && styles.marginTop,
attachment.description && styles.marginBottom, msg && styles.marginBottom,
{ {
borderColor borderColor
} }
@ -257,7 +257,6 @@ const Reply = React.memo(
timeFormat={timeFormat} timeFormat={timeFormat}
style={[{ color: themes[theme].auxiliaryTintColor, fontSize: 14, marginBottom: 8 }]} style={[{ color: themes[theme].auxiliaryTintColor, fontSize: 14, marginBottom: 8 }]}
isReply isReply
id={messageId}
/> />
<Fields attachment={attachment} getCustomEmoji={getCustomEmoji} theme={theme} /> <Fields attachment={attachment} getCustomEmoji={getCustomEmoji} theme={theme} />
{loading ? ( {loading ? (
@ -273,7 +272,7 @@ const Reply = React.memo(
) : null} ) : null}
</View> </View>
</Touchable> </Touchable>
<Markdown msg={attachment.description} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} /> <Markdown msg={msg} username={user.username} getCustomEmoji={getCustomEmoji} theme={theme} />
</> </>
); );
}, },

View File

@ -14,6 +14,7 @@ import EventEmitter from '../../lib/methods/helpers/events';
import I18n from '../../i18n'; import I18n from '../../i18n';
import MessageContext from './Context'; import MessageContext from './Context';
import { IUrl } from '../../definitions'; import { IUrl } from '../../definitions';
import { DEFAULT_MESSAGE_HEIGHT } from './utils';
const styles = StyleSheet.create({ const styles = StyleSheet.create({
button: { button: {
@ -45,7 +46,7 @@ const styles = StyleSheet.create({
}, },
image: { image: {
width: '100%', width: '100%',
height: 150, height: DEFAULT_MESSAGE_HEIGHT,
borderTopLeftRadius: 4, borderTopLeftRadius: 4,
borderTopRightRadius: 4 borderTopRightRadius: 4
}, },

View File

@ -1,22 +1,26 @@
import React, { useContext, useState } from 'react'; import React, { useContext, useEffect, useState } from 'react';
import { StyleProp, StyleSheet, TextStyle } from 'react-native'; import { StyleProp, StyleSheet, Text, TextStyle, View } from 'react-native';
import { dequal } from 'dequal'; import FastImage from 'react-native-fast-image';
import Touchable from './Touchable';
import Markdown from '../markdown';
import { isIOS } from '../../lib/methods/helpers';
import { CustomIcon } from '../CustomIcon';
import { themes } from '../../lib/constants';
import MessageContext from './Context';
import { fileDownload } from './helpers/fileDownload';
import EventEmitter from '../../lib/methods/helpers/events';
import { LISTENER } from '../Toast';
import I18n from '../../i18n';
import { IAttachment } from '../../definitions/IAttachment'; import { IAttachment } from '../../definitions/IAttachment';
import RCActivityIndicator from '../ActivityIndicator';
import { TGetCustomEmoji } from '../../definitions/IEmoji'; import { TGetCustomEmoji } from '../../definitions/IEmoji';
import { useTheme } from '../../theme'; import I18n from '../../i18n';
import { themes } from '../../lib/constants';
import { fetchAutoDownloadEnabled } from '../../lib/methods/autoDownloadPreference';
import { cancelDownload, downloadMediaFile, getMediaCache, isDownloadActive } from '../../lib/methods/handleMediaDownload';
import { isIOS } from '../../lib/methods/helpers';
import EventEmitter from '../../lib/methods/helpers/events';
import { formatAttachmentUrl } from '../../lib/methods/helpers/formatAttachmentUrl'; import { formatAttachmentUrl } from '../../lib/methods/helpers/formatAttachmentUrl';
import { useTheme } from '../../theme';
import sharedStyles from '../../views/Styles';
import { LISTENER } from '../Toast';
import Markdown from '../markdown';
import BlurComponent from './Components/BlurComponent';
import MessageContext from './Context';
import Touchable from './Touchable';
import { fileDownload } from './helpers/fileDownload';
import messageStyles from './styles';
import { DEFAULT_MESSAGE_HEIGHT } from './utils';
const SUPPORTED_TYPES = ['video/quicktime', 'video/mp4', ...(isIOS ? [] : ['video/3gp', 'video/mkv'])]; const SUPPORTED_TYPES = ['video/quicktime', 'video/mp4', ...(isIOS ? [] : ['video/3gp', 'video/mkv'])];
const isTypeSupported = (type: string) => SUPPORTED_TYPES.indexOf(type) !== -1; const isTypeSupported = (type: string) => SUPPORTED_TYPES.indexOf(type) !== -1;
@ -25,10 +29,24 @@ const styles = StyleSheet.create({
button: { button: {
flex: 1, flex: 1,
borderRadius: 4, borderRadius: 4,
height: 150, height: DEFAULT_MESSAGE_HEIGHT,
marginBottom: 6, marginBottom: 6,
alignItems: 'center', alignItems: 'center',
justifyContent: 'center' justifyContent: 'center'
},
cancelContainer: {
position: 'absolute',
top: 8,
right: 8
},
text: {
...sharedStyles.textRegular,
fontSize: 12
},
thumbnailImage: {
borderRadius: 4,
width: '100%',
height: '100%'
} }
}); });
@ -38,64 +56,156 @@ interface IMessageVideo {
getCustomEmoji: TGetCustomEmoji; getCustomEmoji: TGetCustomEmoji;
style?: StyleProp<TextStyle>[]; style?: StyleProp<TextStyle>[];
isReply?: boolean; isReply?: boolean;
msg?: string;
} }
const Video = React.memo( const CancelIndicator = () => {
({ file, showAttachment, getCustomEmoji, style, isReply }: IMessageVideo) => { const { colors } = useTheme();
const { baseUrl, user } = useContext(MessageContext); return (
const [loading, setLoading] = useState(false); <View style={styles.cancelContainer}>
const { theme } = useTheme(); <Text style={[styles.text, { color: colors.auxiliaryText }]}>{I18n.t('Cancel')}</Text>
</View>
);
};
if (!baseUrl) { // TODO: Wait backend send the thumbnailUrl as prop
return null; const Thumbnail = ({ loading, thumbnailUrl, cached }: { loading: boolean; thumbnailUrl?: string; cached: boolean }) => (
} <>
{thumbnailUrl ? <FastImage style={styles.thumbnailImage} source={{ uri: thumbnailUrl }} /> : null}
const onPress = async () => { <BlurComponent
if (file.video_type && isTypeSupported(file.video_type) && showAttachment) { iconName={cached ? 'play-filled' : 'arrow-down-circle'}
return showAttachment(file); loading={loading}
} style={styles.button}
showOverlay={cached}
if (!isIOS && file.video_url) { />
const uri = formatAttachmentUrl(file.video_url, user.id, user.token, baseUrl); {loading ? <CancelIndicator /> : null}
await downloadVideo(uri); </>
return;
}
EventEmitter.emit(LISTENER, { message: I18n.t('Unsupported_format') });
};
const downloadVideo = async (uri: string) => {
setLoading(true);
const fileDownloaded = await fileDownload(uri, file);
setLoading(false);
if (fileDownloaded) {
EventEmitter.emit(LISTENER, { message: I18n.t('saved_to_gallery') });
return;
}
EventEmitter.emit(LISTENER, { message: I18n.t('error-save-video') });
};
return (
<>
<Markdown
msg={file.description}
username={user.username}
getCustomEmoji={getCustomEmoji}
style={[isReply && style]}
theme={theme}
/>
<Touchable
disabled={isReply}
onPress={onPress}
style={[styles.button, { backgroundColor: themes[theme].videoBackground }]}
background={Touchable.Ripple(themes[theme].bannerBackground)}
>
{loading ? <RCActivityIndicator /> : <CustomIcon name='play-filled' size={54} color={themes[theme].buttonText} />}
</Touchable>
</>
);
},
(prevProps, nextProps) => dequal(prevProps.file, nextProps.file)
); );
const Video = ({ file, showAttachment, getCustomEmoji, style, isReply, msg }: IMessageVideo): React.ReactElement | null => {
const [videoCached, setVideoCached] = useState(file);
const [loading, setLoading] = useState(true);
const [cached, setCached] = useState(false);
const { baseUrl, user } = useContext(MessageContext);
const { theme } = useTheme();
const video = formatAttachmentUrl(file.video_url, user.id, user.token, baseUrl);
useEffect(() => {
const handleVideoSearchAndDownload = async () => {
if (video) {
const cachedVideoResult = await getMediaCache({
type: 'video',
mimeType: file.video_type,
urlToCache: video
});
const downloadActive = isDownloadActive(video);
if (cachedVideoResult?.exists) {
setVideoCached(prev => ({
...prev,
video_url: cachedVideoResult?.uri
}));
setLoading(false);
setCached(true);
if (downloadActive) {
cancelDownload(video);
}
return;
}
if (isReply) {
setLoading(false);
return;
}
await handleAutoDownload();
}
};
handleVideoSearchAndDownload();
}, []);
if (!baseUrl) {
return null;
}
const handleAutoDownload = async () => {
const isAutoDownloadEnabled = fetchAutoDownloadEnabled('videoPreferenceDownload');
if (isAutoDownloadEnabled && file.video_type && isTypeSupported(file.video_type)) {
await handleDownload();
return;
}
setLoading(false);
};
const handleDownload = async () => {
setLoading(true);
try {
const videoUri = await downloadMediaFile({
downloadUrl: video,
type: 'video',
mimeType: file.video_type
});
setVideoCached(prev => ({
...prev,
video_url: videoUri
}));
setCached(true);
} catch {
setCached(false);
} finally {
setLoading(false);
}
};
const onPress = async () => {
if (file.video_type && cached && isTypeSupported(file.video_type) && showAttachment) {
showAttachment(videoCached);
return;
}
if (!loading && !cached && file.video_type && isTypeSupported(file.video_type)) {
handleDownload();
return;
}
if (loading && !cached) {
handleCancelDownload();
return;
}
if (!isIOS && file.video_url) {
await downloadVideoToGallery(video);
return;
}
EventEmitter.emit(LISTENER, { message: I18n.t('Unsupported_format') });
};
const handleCancelDownload = () => {
if (loading) {
cancelDownload(video);
setLoading(false);
}
};
const downloadVideoToGallery = async (uri: string) => {
setLoading(true);
const fileDownloaded = await fileDownload(uri, file);
setLoading(false);
if (fileDownloaded) {
EventEmitter.emit(LISTENER, { message: I18n.t('saved_to_gallery') });
return;
}
EventEmitter.emit(LISTENER, { message: I18n.t('error-save-video') });
};
return (
<>
<Markdown msg={msg} username={user.username} getCustomEmoji={getCustomEmoji} style={[isReply && style]} theme={theme} />
<Touchable
disabled={isReply}
onPress={onPress}
style={[styles.button, messageStyles.mustWrapBlur, { backgroundColor: themes[theme].videoBackground }]}
background={Touchable.Ripple(themes[theme].bannerBackground)}
>
<Thumbnail loading={loading} cached={cached} />
</Touchable>
</>
);
};
export default Video; export default Video;

View File

@ -28,7 +28,7 @@ interface IMessageContainerProps {
baseUrl: string; baseUrl: string;
Message_GroupingPeriod?: number; Message_GroupingPeriod?: number;
isReadReceiptEnabled?: boolean; isReadReceiptEnabled?: boolean;
isThreadRoom: boolean; isThreadRoom?: boolean;
isSystemMessage?: boolean; isSystemMessage?: boolean;
useRealName?: boolean; useRealName?: boolean;
autoTranslateRoom?: boolean; autoTranslateRoom?: boolean;
@ -46,9 +46,9 @@ interface IMessageContainerProps {
replyBroadcast?: (item: TAnyMessageModel) => void; replyBroadcast?: (item: TAnyMessageModel) => void;
reactionInit?: (item: TAnyMessageModel) => void; reactionInit?: (item: TAnyMessageModel) => void;
fetchThreadName?: (tmid: string, id: string) => Promise<string | undefined>; fetchThreadName?: (tmid: string, id: string) => Promise<string | undefined>;
showAttachment: (file: IAttachment) => void; showAttachment?: (file: IAttachment) => void;
onReactionLongPress?: (item: TAnyMessageModel) => void; onReactionLongPress?: (item: TAnyMessageModel) => void;
navToRoomInfo: (navParam: IRoomInfoParam) => void; navToRoomInfo?: (navParam: IRoomInfoParam) => void;
handleEnterCall?: () => void; handleEnterCall?: () => void;
blockAction?: (params: { actionId: string; appId: string; value: string; blockId: string; rid: string; mid: string }) => void; blockAction?: (params: { actionId: string; appId: string; value: string; blockId: string; rid: string; mid: string }) => void;
onAnswerButtonPress?: (message: string, tmid?: string, tshow?: boolean) => void; onAnswerButtonPress?: (message: string, tmid?: string, tshow?: boolean) => void;
@ -56,8 +56,9 @@ interface IMessageContainerProps {
toggleFollowThread?: (isFollowingThread: boolean, tmid?: string) => Promise<void>; toggleFollowThread?: (isFollowingThread: boolean, tmid?: string) => Promise<void>;
jumpToMessage?: (link: string) => void; jumpToMessage?: (link: string) => void;
onPress?: () => void; onPress?: () => void;
theme: TSupportedThemes; theme?: TSupportedThemes;
closeEmojiAndAction?: (action?: Function, params?: any) => void; closeEmojiAndAction?: (action?: Function, params?: any) => void;
isPreview?: boolean;
} }
interface IMessageContainerState { interface IMessageContainerState {
@ -94,7 +95,8 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
shouldComponentUpdate(nextProps: IMessageContainerProps, nextState: IMessageContainerState) { shouldComponentUpdate(nextProps: IMessageContainerProps, nextState: IMessageContainerState) {
const { isManualUnignored } = this.state; const { isManualUnignored } = this.state;
const { threadBadgeColor, isIgnored, highlighted, previousItem } = this.props; const { threadBadgeColor, isIgnored, highlighted, previousItem, autoTranslateRoom, autoTranslateLanguage } = this.props;
if (nextProps.highlighted !== highlighted) { if (nextProps.highlighted !== highlighted) {
return true; return true;
} }
@ -110,6 +112,12 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
if (nextProps.previousItem?._id !== previousItem?._id) { if (nextProps.previousItem?._id !== previousItem?._id) {
return true; return true;
} }
if (nextProps.autoTranslateRoom !== autoTranslateRoom) {
return true;
}
if (nextProps.autoTranslateRoom !== autoTranslateRoom || nextProps.autoTranslateLanguage !== autoTranslateLanguage) {
return true;
}
return false; return false;
} }
@ -336,7 +344,7 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
isReadReceiptEnabled, isReadReceiptEnabled,
autoTranslateRoom, autoTranslateRoom,
autoTranslateLanguage, autoTranslateLanguage,
navToRoomInfo, navToRoomInfo = () => {},
getCustomEmoji, getCustomEmoji,
isThreadRoom, isThreadRoom,
handleEnterCall, handleEnterCall,
@ -345,7 +353,8 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
threadBadgeColor, threadBadgeColor,
toggleFollowThread, toggleFollowThread,
jumpToMessage, jumpToMessage,
highlighted highlighted,
isPreview
} = this.props; } = this.props;
const { const {
id, id,
@ -380,14 +389,17 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
let message = msg; let message = msg;
let isTranslated = false; let isTranslated = false;
const otherUserMessage = u.username !== user.username;
// "autoTranslateRoom" and "autoTranslateLanguage" are properties from the subscription // "autoTranslateRoom" and "autoTranslateLanguage" are properties from the subscription
// "autoTranslateMessage" is a toggle between "View Original" and "Translate" state // "autoTranslateMessage" is a toggle between "View Original" and "Translate" state
if (autoTranslateRoom && autoTranslateMessage && autoTranslateLanguage) { if (autoTranslateRoom && autoTranslateMessage && autoTranslateLanguage && otherUserMessage) {
const messageTranslated = getMessageTranslation(item, autoTranslateLanguage); const messageTranslated = getMessageTranslation(item, autoTranslateLanguage);
isTranslated = !!messageTranslated; isTranslated = !!messageTranslated;
message = messageTranslated || message; message = messageTranslated || message;
} }
const canTranslateMessage = autoTranslateRoom && autoTranslateLanguage && autoTranslateMessage !== false && otherUserMessage;
return ( return (
<MessageContext.Provider <MessageContext.Provider
value={{ value={{
@ -407,7 +419,8 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
jumpToMessage, jumpToMessage,
threadBadgeColor, threadBadgeColor,
toggleFollowThread, toggleFollowThread,
replies replies,
translateLanguage: canTranslateMessage ? autoTranslateLanguage : undefined
}} }}
> >
{/* @ts-ignore*/} {/* @ts-ignore*/}
@ -449,7 +462,7 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
isHeader={this.isHeader} isHeader={this.isHeader}
isThreadReply={this.isThreadReply} isThreadReply={this.isThreadReply}
isThreadSequential={this.isThreadSequential} isThreadSequential={this.isThreadSequential}
isThreadRoom={isThreadRoom} isThreadRoom={!!isThreadRoom}
isInfo={this.isInfo} isInfo={this.isInfo}
isTemp={this.isTemp} isTemp={this.isTemp}
isEncrypted={this.isEncrypted} isEncrypted={this.isEncrypted}
@ -462,6 +475,7 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
highlighted={highlighted} highlighted={highlighted}
comment={comment} comment={comment}
isTranslated={isTranslated} isTranslated={isTranslated}
isPreview={isPreview}
/> />
</MessageContext.Provider> </MessageContext.Provider>
); );

View File

@ -14,7 +14,7 @@ export interface IMessageAttachments {
isReply?: boolean; isReply?: boolean;
showAttachment?: (file: IAttachment) => void; showAttachment?: (file: IAttachment) => void;
getCustomEmoji: TGetCustomEmoji; getCustomEmoji: TGetCustomEmoji;
id: string; author?: IUserMessage;
} }
export interface IMessageAvatar { export interface IMessageAvatar {
@ -108,6 +108,7 @@ export interface IMessageInner
type: MessageType; type: MessageType;
blocks: []; blocks: [];
urls?: IUrl[]; urls?: IUrl[];
isPreview?: boolean;
} }
export interface IMessage extends IMessageRepliedThread, IMessageInner, IMessageAvatar { export interface IMessage extends IMessageRepliedThread, IMessageInner, IMessageAvatar {

View File

@ -1,7 +1,7 @@
import { StyleSheet } from 'react-native'; import { StyleSheet } from 'react-native';
import sharedStyles from '../../views/Styles'; import sharedStyles from '../../views/Styles';
import { isTablet } from '../../lib/methods/helpers'; import { isAndroid, isTablet } from '../../lib/methods/helpers';
export default StyleSheet.create({ export default StyleSheet.create({
root: { root: {
@ -105,6 +105,9 @@ export default StyleSheet.create({
borderWidth: 1, borderWidth: 1,
overflow: 'hidden' overflow: 'hidden'
}, },
imageBlurContainer: {
height: '100%'
},
imagePressed: { imagePressed: {
opacity: 0.5 opacity: 0.5
}, },
@ -168,5 +171,22 @@ export default StyleSheet.create({
threadDetails: { threadDetails: {
flex: 1, flex: 1,
marginLeft: 12 marginLeft: 12
},
blurView: {
position: 'absolute',
borderWidth: 0,
top: 0,
left: 0,
bottom: 0,
right: 0
},
blurIndicator: {
position: 'absolute',
justifyContent: 'center',
alignItems: 'center'
},
mustWrapBlur: {
// https://github.com/Kureev/react-native-blur/issues/520#issuecomment-1378339192 Fix BlurView
overflow: isAndroid ? 'hidden' : 'visible'
} }
}); });

View File

@ -1,8 +1,11 @@
/* eslint-disable complexity */ /* eslint-disable complexity */
import { IAttachment } from '../../definitions';
import { MessageTypesValues, TMessageModel } from '../../definitions/IMessage'; import { MessageTypesValues, TMessageModel } from '../../definitions/IMessage';
import I18n from '../../i18n'; import I18n from '../../i18n';
import { DISCUSSION } from './constants'; import { DISCUSSION } from './constants';
export const DEFAULT_MESSAGE_HEIGHT = 150;
export const formatMessageCount = (count?: number, type?: string): string | null => { export const formatMessageCount = (count?: number, type?: string): string | null => {
const discussion = type === DISCUSSION; const discussion = type === DISCUSSION;
let text = discussion ? I18n.t('No_messages_yet') : null; let text = discussion ? I18n.t('No_messages_yet') : null;
@ -194,3 +197,14 @@ export const getMessageTranslation = (message: TMessageModel, autoTranslateLangu
} }
return null; return null;
}; };
export const getMessageFromAttachment = (attachment: IAttachment, translateLanguage?: string): string | undefined => {
let msg = attachment.description;
if (translateLanguage) {
const translatedMessage = attachment.translations?.[translateLanguage];
if (translatedMessage) {
msg = translatedMessage;
}
}
return msg;
};

View File

@ -1,4 +1,5 @@
import { IUser } from './IUser'; import { IUser } from './IUser';
import { IAttachmentTranslations } from './IMessage';
export interface IAttachment { export interface IAttachment {
ts?: string | Date; ts?: string | Date;
@ -28,6 +29,8 @@ export interface IAttachment {
color?: string; color?: string;
thumb_url?: string; thumb_url?: string;
collapsed?: boolean; collapsed?: boolean;
audio_type?: string;
translations?: IAttachmentTranslations;
} }
export interface IServerAttachment { export interface IServerAttachment {

View File

@ -22,6 +22,8 @@ export interface ILoggedUser {
isFromWebView?: boolean; isFromWebView?: boolean;
enableMessageParserEarlyAdoption: boolean; enableMessageParserEarlyAdoption: boolean;
alsoSendThreadToChannel: 'default' | 'always' | 'never'; alsoSendThreadToChannel: 'default' | 'always' | 'never';
bio?: string;
nickname?: string;
} }
export interface ILoggedUserResultFromServer export interface ILoggedUserResultFromServer

View File

@ -41,7 +41,7 @@ export interface IEditedBy {
export type TOnLinkPress = (link: string) => void; export type TOnLinkPress = (link: string) => void;
export interface ITranslations { export interface IMessageTranslations {
_id: string; _id: string;
language: string; language: string;
value: string; value: string;
@ -136,7 +136,7 @@ export interface IMessage extends IMessageFromServer {
replies?: string[]; replies?: string[];
unread?: boolean; unread?: boolean;
autoTranslate?: boolean; autoTranslate?: boolean;
translations?: ITranslations[]; translations?: IMessageTranslations[];
tmsg?: string; tmsg?: string;
blocks?: any; blocks?: any;
e2e?: E2EType; e2e?: E2EType;
@ -243,3 +243,7 @@ export type MessageTypesValues =
| 'message_pinned' | 'message_pinned'
| 'message_snippeted' | 'message_snippeted'
| 'jitsi_call_started'; | 'jitsi_call_started';
export interface IAttachmentTranslations {
[k: string]: string;
}

View File

@ -7,6 +7,8 @@ export interface IProfileParams {
email: string | null; email: string | null;
newPassword: string; newPassword: string;
currentPassword: string; currentPassword: string;
bio?: string;
nickname?: string;
} }
export interface IAvatarButton { export interface IAvatarButton {

View File

@ -107,3 +107,5 @@ export type VideoConfListProps = {
}; };
export type VideoConfInfoProps = { callId: string }; export type VideoConfInfoProps = { callId: string };
export type VideoConfCall = VideoConference & { capabilities: VideoConferenceCapabilities };

View File

@ -2,37 +2,40 @@ import { RouteProp } from '@react-navigation/native';
import { StackNavigationProp } from '@react-navigation/stack'; import { StackNavigationProp } from '@react-navigation/stack';
import { Dispatch } from 'redux'; import { Dispatch } from 'redux';
import { TNavigation } from '../stacks/stackType';
import { TColors, TSupportedThemes } from '../theme'; import { TColors, TSupportedThemes } from '../theme';
export * from './ERoomType';
export * from './IAttachment'; export * from './IAttachment';
export * from './INotification';
export * from './IPreferences';
export * from './ISubscription';
export * from './IRoom';
export * from './IMessage';
export * from './IThread';
export * from './IThreadMessage';
export * from './IEmoji';
export * from './IUpload';
export * from './ISettings';
export * from './IRole';
export * from './IPermission';
export * from './ISlashCommand';
export * from './IUser';
export * from './IServer';
export * from './ILoggedUser';
export * from './IServerHistory';
export * from './ICertificate'; export * from './ICertificate';
export * from './IUrl';
export * from './ICredentials'; export * from './ICredentials';
export * from './ISearch'; export * from './IEmoji';
export * from './TUserStatus'; export * from './ILoggedUser';
export * from './IMessage';
export * from './INotification';
export * from './IPermission';
export * from './IPreferences';
export * from './IProfile'; export * from './IProfile';
export * from './IReaction'; export * from './IReaction';
export * from './ERoomType'; export * from './IRole';
export * from './IRoom';
export * from './ISearch';
export * from './IServer';
export * from './IServerHistory';
export * from './ISettings';
export * from './ISlashCommand';
export * from './ISubscription';
export * from './IThread';
export * from './IThreadMessage';
export * from './IUpload';
export * from './IUrl';
export * from './IUser';
export * from './redux';
export * from './redux/TRootEnum';
export * from './TUserStatus';
export interface IBaseScreen<T extends Record<string, object | undefined>, S extends string> { export interface IBaseScreen<T extends Record<string, object | undefined>, S extends string> {
navigation: StackNavigationProp<T, S>; navigation: StackNavigationProp<T & TNavigation, S>;
route: RouteProp<T, S>; route: RouteProp<T, S>;
dispatch: Dispatch; dispatch: Dispatch;
isMasterDetail: boolean; isMasterDetail: boolean;
@ -40,6 +43,3 @@ export interface IBaseScreen<T extends Record<string, object | undefined>, S ext
theme: TSupportedThemes; theme: TSupportedThemes;
colors: TColors; colors: TColors;
} }
export * from './redux';
export * from './redux/TRootEnum';

View File

@ -16,6 +16,7 @@ import { TActionSortPreferences } from '../../actions/sortPreferences';
import { TActionUserTyping } from '../../actions/usersTyping'; import { TActionUserTyping } from '../../actions/usersTyping';
import { TActionPermissions } from '../../actions/permissions'; import { TActionPermissions } from '../../actions/permissions';
import { TActionEnterpriseModules } from '../../actions/enterpriseModules'; import { TActionEnterpriseModules } from '../../actions/enterpriseModules';
import { TActionVideoConf } from '../../actions/videoConf';
// REDUCERS // REDUCERS
import { IActiveUsers } from '../../reducers/activeUsers'; import { IActiveUsers } from '../../reducers/activeUsers';
import { IApp } from '../../reducers/app'; import { IApp } from '../../reducers/app';
@ -34,6 +35,9 @@ import { IShare } from '../../reducers/share';
import { IInquiry } from '../../ee/omnichannel/reducers/inquiry'; import { IInquiry } from '../../ee/omnichannel/reducers/inquiry';
import { IPermissionsState } from '../../reducers/permissions'; import { IPermissionsState } from '../../reducers/permissions';
import { IEnterpriseModules } from '../../reducers/enterpriseModules'; import { IEnterpriseModules } from '../../reducers/enterpriseModules';
import { IVideoConf } from '../../reducers/videoConf';
import { TActionUsersRoles } from '../../actions/usersRoles';
import { TUsersRoles } from '../../reducers/usersRoles';
export interface IApplicationState { export interface IApplicationState {
settings: TSettingsState; settings: TSettingsState;
@ -57,6 +61,8 @@ export interface IApplicationState {
encryption: IEncryption; encryption: IEncryption;
permissions: IPermissionsState; permissions: IPermissionsState;
roles: IRoles; roles: IRoles;
videoConf: IVideoConf;
usersRoles: TUsersRoles;
} }
export type TApplicationActions = TActionActiveUsers & export type TApplicationActions = TActionActiveUsers &
@ -75,4 +81,6 @@ export type TApplicationActions = TActionActiveUsers &
TActionApp & TActionApp &
TActionInquiry & TActionInquiry &
TActionPermissions & TActionPermissions &
TActionEnterpriseModules; TActionEnterpriseModules &
TActionVideoConf &
TActionUsersRoles;

View File

@ -52,7 +52,9 @@ export type ChannelsEndpoints = {
}; };
}; };
'channels.convertToTeam': { 'channels.convertToTeam': {
POST: (params: { channelId: string; channelName: string }) => { team: ITeam }; POST: (params: { channelId: string } | { channelName: string } | { channelId: string; channelName: string }) => {
team: ITeam;
};
}; };
'channels.info': { 'channels.info': {
GET: (params: { roomId: string }) => { channel: IServerRoom }; GET: (params: { roomId: string }) => { channel: IServerRoom };

View File

@ -82,4 +82,10 @@ export type ChatEndpoints = {
'chat.getMessageReadReceipts': { 'chat.getMessageReadReceipts': {
GET: (params: { messageId: string }) => { receipts: IReadReceipts[] }; GET: (params: { messageId: string }) => { receipts: IReadReceipts[] };
}; };
'chat.postMessage': {
POST: (params: { roomId: string; text: string }) => {
message: IMessage;
success: boolean;
};
};
}; };

View File

@ -1,4 +1,5 @@
import { import {
VideoConfCall,
VideoConfCancelProps, VideoConfCancelProps,
VideoConference, VideoConference,
VideoConferenceCapabilities, VideoConferenceCapabilities,
@ -24,7 +25,7 @@ export type VideoConferenceEndpoints = {
}; };
'video-conference.info': { 'video-conference.info': {
GET: (params: VideoConfInfoProps) => VideoConference & { capabilities: VideoConferenceCapabilities }; GET: (params: VideoConfInfoProps) => VideoConfCall;
}; };
'video-conference.list': { 'video-conference.list': {

View File

@ -1,87 +1,21 @@
{ {
"1_person_reacted": "تفاعل شخص واحد", "1_person_reacted": "تفاعل شخص واحد",
"1_user": "مستخدم واحد",
"error-action-not-allowed": "غير مسموح بالإجراء {{action}}", "error-action-not-allowed": "غير مسموح بالإجراء {{action}}",
"error-application-not-found": "لم يتم العثور على التطبيق",
"error-archived-duplicate-name": "هناك قناة مؤرشفة باسم {{room_name}}",
"error-avatar-invalid-url": "عنوان الصورة الرمزية غير صحيح: {{url}}", "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-duplicate-channel-name": "القناة {{room_name}} موجودة مسبقاً",
"error-email-domain-blacklisted": "عنوان اﻹيميل محظور",
"error-email-send-failed": "خطأ في إرسال البريد اﻹلكتروني: {{message}}", "error-email-send-failed": "خطأ في إرسال البريد اﻹلكتروني: {{message}}",
"error-save-image": "خطأ عند حفظ الصورة", "error-save-image": "خطأ عند حفظ الصورة",
"error-save-video": "خطأ عند حفظ الفيديو", "error-save-video": "خطأ عند حفظ الفيديو",
"error-field-unavailable": "{{field}} مستخدم بالفعل :(",
"error-file-too-large": "حجم الملف كبير جداً", "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": "عنوان البريد اﻹلكتروني غير صالح {{email}}",
"error-invalid-email-address": "عنوان البريد اﻹلكتروني غير صالح",
"error-invalid-file-height": "ارتفاع الملف غير صالح",
"error-invalid-file-type": "نوع الملف غير صالح", "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-password": "كلمة مرور خاطئة",
"error-invalid-redirectUri": "رابط إعادة توجيه غير صحيح",
"error-invalid-role": "دور غير صالح",
"error-invalid-room": "غرفة غير صالحة",
"error-invalid-room-name": "{{room_name}} اسم الغرفة غير صالح", "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-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-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-you-are-last-owner": "أنت المالك الأخير. يرجى تعيين مالك جديد قبل مغادرة الغرفة",
"error-status-not-allowed": "تم تعطيل الحلة غير المرئية",
"Actions": "الإجراءات", "Actions": "الإجراءات",
"Activity": "النشاط", "Activity": "النشاط",
"Add_Reaction": "إضافة تفاعل",
"Add_Server": "إضافة خادم", "Add_Server": "إضافة خادم",
"Add_users": "إضافة مستخدمين", "Add_users": "إضافة مستخدمين",
"Admin_Panel": "لوحة الإدارة", "Admin_Panel": "لوحة الإدارة",
@ -95,8 +29,6 @@
"All": "الكل", "All": "الكل",
"All_Messages": "كل الرسائل", "All_Messages": "كل الرسائل",
"Allow_Reactions": "السماح للتفاعلات", "Allow_Reactions": "السماح للتفاعلات",
"Alphabetical": "أبجدي",
"and_more": "وأكثر",
"and": "و", "and": "و",
"announcement": "إعلان", "announcement": "إعلان",
"Announcement": "إعلان", "Announcement": "إعلان",
@ -106,19 +38,15 @@
"are_typing": "يكتب", "are_typing": "يكتب",
"Are_you_sure_question_mark": "هل أنت متأكد؟", "Are_you_sure_question_mark": "هل أنت متأكد؟",
"Are_you_sure_you_want_to_leave_the_room": "متأكد من مغادرة الغرفة {{room}}؟", "Are_you_sure_you_want_to_leave_the_room": "متأكد من مغادرة الغرفة {{room}}؟",
"Audio": "صوت",
"Authenticating": "تتم المصادقة",
"Automatic": "تلقائي", "Automatic": "تلقائي",
"Auto_Translate": "ترجمة تلقائية", "Auto_Translate": "ترجمة تلقائية",
"Avatar_changed_successfully": "تم تغيير الصورة الرمزية بنجاح!", "Avatar_changed_successfully": "تم تغيير الصورة الرمزية بنجاح!",
"Avatar_Url": "عنوان ويب الصورة الرمزية", "Avatar_Url": "عنوان ويب الصورة الرمزية",
"Away": "غير متواجد", "Away": "غير متواجد",
"Back": "عودة",
"Black": "أسود", "Black": "أسود",
"Block_user": "حظر المستخدم", "Block_user": "حظر المستخدم",
"Browser": "المتصفح", "Browser": "المتصفح",
"Busy": "مشغول", "Busy": "مشغول",
"By_proceeding_you_are_agreeing": "من خلال المتابعة، أنت توافق على",
"Cancel_editing": "إلغاء التعديل", "Cancel_editing": "إلغاء التعديل",
"Cancel_recording": "إلغاء التسجيل الصوتي", "Cancel_recording": "إلغاء التسجيل الصوتي",
"Cancel": "إلغاء", "Cancel": "إلغاء",
@ -136,20 +64,16 @@
"Click_to_join": "انقر للانضمام!", "Click_to_join": "انقر للانضمام!",
"Close": "إغلاق", "Close": "إغلاق",
"Close_emoji_selector": "إغلاق محدد الرموز التعبيرية", "Close_emoji_selector": "إغلاق محدد الرموز التعبيرية",
"Closing_chat": "إغلاق المحادثة",
"Change_language_loading": "تغيير اللغة", "Change_language_loading": "تغيير اللغة",
"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_or_password_invalid": "الرمز أو كلمة المرور خاطئة", "Code_or_password_invalid": "الرمز أو كلمة المرور خاطئة",
"Collaborative": "تعاونية", "Collaborative": "تعاونية",
"Confirm": "تأكيد", "Confirm": "تأكيد",
"Connect": "اتصال", "Connect": "اتصال",
"Connected": "متصل",
"connecting_server": "يتم الاتصال بالخادم",
"Connecting": "جار الاتصال...", "Connecting": "جار الاتصال...",
"Contact_us": "تواصل معنا", "Contact_us": "تواصل معنا",
"Contact_your_server_admin": "اتصل بمسؤول الخادم", "Contact_your_server_admin": "اتصل بمسؤول الخادم",
@ -168,7 +92,6 @@
"Created_snippet": "إنشاء مقتطف", "Created_snippet": "إنشاء مقتطف",
"Create_a_new_workspace": "إنشاء مساحة عمل جديدة", "Create_a_new_workspace": "إنشاء مساحة عمل جديدة",
"Create": "إنشاء", "Create": "إنشاء",
"Custom_Status": "حالة مخصصة",
"Dark": "داكن", "Dark": "داكن",
"Dark_level": "مستوى السمة الداكنة", "Dark_level": "مستوى السمة الداكنة",
"Default": "افتراضي", "Default": "افتراضي",
@ -182,16 +105,13 @@
"deleting_room": "حذف الغرفة", "deleting_room": "حذف الغرفة",
"description": "وصف", "description": "وصف",
"Description": "وصف", "Description": "وصف",
"Desktop_Options": "خيارات سطح المكتب",
"Desktop_Notifications": "إخطارات سطح المكتب", "Desktop_Notifications": "إخطارات سطح المكتب",
"Desktop_Alert_info": "هذه الإشعارات ترسل لسطح المكتب", "Desktop_Alert_info": "هذه الإشعارات ترسل لسطح المكتب",
"Directory": "مجلد", "Directory": "مجلد",
"Direct_Messages": "رسالة مباشرة", "Direct_Messages": "رسالة مباشرة",
"Disable_notifications": "أوقف الإشعارات",
"Discussions": "مناقشات", "Discussions": "مناقشات",
"Discussion_Desc": "ساهم بإعطاء نظرة عامة لما يجري. عند إنشاء مناقشة يتم إنشاء قناة فرعية وربطها بالقناة المحددة", "Discussion_Desc": "ساهم بإعطاء نظرة عامة لما يجري. عند إنشاء مناقشة يتم إنشاء قناة فرعية وربطها بالقناة المحددة",
"Discussion_name": "اسم النقاش", "Discussion_name": "اسم النقاش",
"Done": "تم",
"Dont_Have_An_Account": "ليس لديك حساب؟", "Dont_Have_An_Account": "ليس لديك حساب؟",
"Do_you_have_an_account": "هل لديك حساب؟", "Do_you_have_an_account": "هل لديك حساب؟",
"Do_you_have_a_certificate": "هل لديك شهادة؟", "Do_you_have_a_certificate": "هل لديك شهادة؟",
@ -200,21 +120,14 @@
"E2E_How_It_Works_info2": "التشفير يتم بين الطرفيات بمعنى أن المفتاح سيستخدم لتشفير وفك تشفير رسائلك ولن يتم حفظه في الخادم. لذلك يترتب عليك حفظ كلمة المرور هذه في مكان آمن", "E2E_How_It_Works_info2": "التشفير يتم بين الطرفيات بمعنى أن المفتاح سيستخدم لتشفير وفك تشفير رسائلك ولن يتم حفظه في الخادم. لذلك يترتب عليك حفظ كلمة المرور هذه في مكان آمن",
"E2E_How_It_Works_info3": "حين الاستمرار سيتم إنشاء كلمة المرور بين الطرفيات", "E2E_How_It_Works_info3": "حين الاستمرار سيتم إنشاء كلمة المرور بين الطرفيات",
"E2E_How_It_Works_info4": "بإمكانك أيضاً إنشاء كلمة مرور جديدة لمفتاح التشفير في أي وقت عند دخولك بكلمة المرور الحالية لمفتاح التشفير", "E2E_How_It_Works_info4": "بإمكانك أيضاً إنشاء كلمة مرور جديدة لمفتاح التشفير في أي وقت عند دخولك بكلمة المرور الحالية لمفتاح التشفير",
"edit": "تعديل",
"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": "تشفير بين الطرفيات",
"Email_Notification_Mode_All": "لكل إشارة أو رسالة مباشرة", "Email_Notification_Mode_All": "لكل إشارة أو رسالة مباشرة",
"Email_Notification_Mode_Disabled": "معطل", "Email_Notification_Mode_Disabled": "معطل",
"Email_or_password_field_is_empty": "حقل البريد الإلكتروني أو كلمة المرور فارغ",
"Email": "البريد الإلكتروني", "Email": "البريد الإلكتروني",
"email": "البريد الإلكتروني",
"Empty_title": "عنوان فارغ",
"Enable_Auto_Translate": "تمكين الترجمة التلقائية", "Enable_Auto_Translate": "تمكين الترجمة التلقائية",
"Enable_notifications": "تفعيل الإشعارات",
"Encrypted": "مشفر", "Encrypted": "مشفر",
"Encrypted_message": "رسالة مشفرة", "Encrypted_message": "رسالة مشفرة",
"Enter_Your_E2E_Password": "أدخل كلمة المرور بين الطرفيات", "Enter_Your_E2E_Password": "أدخل كلمة المرور بين الطرفيات",
@ -229,13 +142,11 @@
"Favorites": "مفضلات", "Favorites": "مفضلات",
"Files": "ملفات", "Files": "ملفات",
"File_description": "وصف الملف", "File_description": "وصف الملف",
"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": "إن كان البريد الإلكتروني مسجلاً، فسنرسل تعليمات إعادة تعيين كلمة المرور الخاصة بك. إذا لم تتلق بريداً إلكترونياً قريباً، فيرجى العودة والمحاولة مرة أخرى", "Forgot_password_If_this_email_is_registered": "إن كان البريد الإلكتروني مسجلاً، فسنرسل تعليمات إعادة تعيين كلمة المرور الخاصة بك. إذا لم تتلق بريداً إلكترونياً قريباً، فيرجى العودة والمحاولة مرة أخرى",
"Forgot_password": "هل نسيت كلمة المرور؟", "Forgot_password": "هل نسيت كلمة المرور؟",
"Forgot_Password": "نسيت كلمة المرور",
"Forward": "إعادة توجيه", "Forward": "إعادة توجيه",
"Forward_Chat": "إعادة توجيه المحادثة", "Forward_Chat": "إعادة توجيه المحادثة",
"Forward_to_department": "إعادة توجيه للقسم", "Forward_to_department": "إعادة توجيه للقسم",
@ -264,9 +175,6 @@
"In_App_And_Desktop": "تطبيق داخلي وسطح المكتب", "In_App_And_Desktop": "تطبيق داخلي وسطح المكتب",
"In_App_and_Desktop_Alert_info": "يعرض شعاراً أعلى الشاشة عندما يكون التطبيق مفتوحًا، ويعرض إشعاراً على سطح المكتب", "In_App_and_Desktop_Alert_info": "يعرض شعاراً أعلى الشاشة عندما يكون التطبيق مفتوحًا، ويعرض إشعاراً على سطح المكتب",
"Invisible": "غير مرئي", "Invisible": "غير مرئي",
"Invite": "دعوة",
"is_a_valid_RocketChat_instance": "خادم Rocket.Chat صالح",
"is_not_a_valid_RocketChat_instance": "خادم Rocket.Chat غير صالح",
"is_typing": "يكتب", "is_typing": "يكتب",
"Invalid_or_expired_invite_token": "رمز الدعوة غير صالح أو منتهي الصلاحية", "Invalid_or_expired_invite_token": "رمز الدعوة غير صالح أو منتهي الصلاحية",
"Invalid_server_version": "الخادم الذي تحاول الاتصال به يستخدم إصدارا لم يعد مدعوماً: {{currentVersion}}.\n\n النسخ المدعومة تبدأ من {{minVersion}}", "Invalid_server_version": "الخادم الذي تحاول الاتصال به يستخدم إصدارا لم يعد مدعوماً: {{currentVersion}}.\n\n النسخ المدعومة تبدأ من {{minVersion}}",
@ -276,47 +184,36 @@
"Join_Code": "رمز الانضمام", "Join_Code": "رمز الانضمام",
"Insert_Join_Code": "ضع رمز الانضمام", "Insert_Join_Code": "ضع رمز الانضمام",
"Join_our_open_workspace": "انضم لمساحة عملنا المفتوحة", "Join_our_open_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": "مغادرة القناة",
"leaving_room": "مغادرة الغرفة", "leaving_room": "مغادرة الغرفة",
"Leave": "مغادرة الغرفة", "Leave": "مغادرة الغرفة",
"leave": "مغادرة", "leave": "مغادرة",
"Legal": "قانوني", "Legal": "قانوني",
"Light": "ساطع", "Light": "ساطع",
"License": "رخصة", "License": "رخصة",
"Livechat": "محادثة مباشرة",
"Livechat_edit": "تعديل المحادثة المباشرة",
"Login": "تسجيل الدخول", "Login": "تسجيل الدخول",
"Login_error": "تم رفض تسجيل الدخول الرجاء المحاولة مرة أخرى", "Login_error": "تم رفض تسجيل الدخول الرجاء المحاولة مرة أخرى",
"Login_with": "تسجيل الدخول بـ",
"Logging_out": "تسجيل الخروج", "Logging_out": "تسجيل الخروج",
"Logout": "تسجيل الخروج", "Logout": "تسجيل الخروج",
"Max_number_of_uses": "أقصى عدد للاستخدام", "Max_number_of_uses": "أقصى عدد للاستخدام",
"Max_number_of_users_allowed_is_number": "أقصى عدد للمستخدمين {{maxUsers}}", "Max_number_of_users_allowed_is_number": "أقصى عدد للمستخدمين {{maxUsers}}",
"members": "أفراد", "members": "أفراد",
"Members": "أفراد", "Members": "أفراد",
"Mentioned_Messages": "الرسائل المذكورة",
"mentioned": "مشار",
"Mentions": "الإشارات", "Mentions": "الإشارات",
"Message_accessibility": "الرسالة من {{user}} في {{time}}: {{message}}",
"Message_actions": "إجراءات الرسالة", "Message_actions": "إجراءات الرسالة",
"Message_pinned": "الرسالة مثبتة", "Message_pinned": "الرسالة مثبتة",
"Message_removed": "الرسالة حذفت",
"Message_starred": "الرسالة مميزة", "Message_starred": "الرسالة مميزة",
"Message_unstarred": "الرسالة غير مميزة", "Message_unstarred": "الرسالة غير مميزة",
"message": "رسالة", "message": "رسالة",
"messages": "رسائل", "messages": "رسائل",
"Message": "الرسالة", "Message": "الرسالة",
"Messages": "الرسائل",
"Message_Reported": "تم التبليغ على الرسالة", "Message_Reported": "تم التبليغ على الرسالة",
"Microphone_Permission_Message": "يحتاج Rocket.Chat للوصول إلى الميكروفون الخاص بك حتى تتمكن من إرسال رسالة صوتية",
"Microphone_Permission": "إذن الميكروفون",
"Mute": "كتم", "Mute": "كتم",
"muted": "مكتوم", "muted": "مكتوم",
"My_servers": "الخوادم",
"N_people_reacted": "{{n}} تفاعل الناس", "N_people_reacted": "{{n}} تفاعل الناس",
"N_users": "{{n}} مستخدمين", "N_users": "{{n}} مستخدمين",
"N_channels": "{{n}} القنوات", "N_channels": "{{n}} القنوات",
@ -324,7 +221,6 @@
"Never": "أبداً", "Never": "أبداً",
"New_Message": "رسالة جديدة", "New_Message": "رسالة جديدة",
"New_Password": "كلمة مرور جديدة", "New_Password": "كلمة مرور جديدة",
"New_Server": "خادم جديد",
"Next": "التالي", "Next": "التالي",
"No_files": "لا ملفات", "No_files": "لا ملفات",
"No_limit": "لا حدود", "No_limit": "لا حدود",
@ -332,30 +228,23 @@
"No_pinned_messages": "لا رسائل مثبتة", "No_pinned_messages": "لا رسائل مثبتة",
"No_results_found": "لا نتائج", "No_results_found": "لا نتائج",
"No_starred_messages": "لا رسائل مميزة", "No_starred_messages": "لا رسائل مميزة",
"No_thread_messages": "لا رسائل للموضوع",
"No_label_provided": "لا {{label}} معطى", "No_label_provided": "لا {{label}} معطى",
"No_Message": "لا رسائل", "No_Message": "لا رسائل",
"No_messages_yet": "لا رسائل حتى اﻵن", "No_messages_yet": "لا رسائل حتى اﻵن",
"No_Reactions": "لا تفاعل", "No_Reactions": "لا تفاعل",
"No_Read_Receipts": "لا إيصالات قراءة", "No_Read_Receipts": "لا إيصالات قراءة",
"Not_logged": "غير مسجل الدخول",
"Not_RC_Server": "هذا ليس بخادم Rocket.Chat.\n{{contact}}", "Not_RC_Server": "هذا ليس بخادم Rocket.Chat.\n{{contact}}",
"Nothing": "لا شيء", "Nothing": "لا شيء",
"Nothing_to_save": "لا شيء للحفظ!", "Nothing_to_save": "لا شيء للحفظ!",
"Notify_active_in_this_room": "أبلغ المستخدمين النشطين في هذه الغرفة", "Notify_active_in_this_room": "أبلغ المستخدمين النشطين في هذه الغرفة",
"Notify_all_in_this_room": "أبلغ الجميع في الغرفة", "Notify_all_in_this_room": "أبلغ الجميع في الغرفة",
"Notifications": "الإشعارات", "Notifications": "الإشعارات",
"Notification_Duration": "زمن الإشعار",
"Notification_Preferences": "تفضيلات الإشعار", "Notification_Preferences": "تفضيلات الإشعار",
"No_available_agents_to_transfer": "المندوبين غير متوفرين حالياً", "No_available_agents_to_transfer": "المندوبين غير متوفرين حالياً",
"Offline": "غير متصل",
"Oops": "عفوًا!", "Oops": "عفوًا!",
"Omnichannel": "القنوات الموحدة", "Omnichannel": "القنوات الموحدة",
"Omnichannel_enable_alert": "أنت غير متاح ", "Omnichannel_enable_alert": "أنت غير متاح ",
"Onboarding_description": "مساحة عمل هي مساحة لفريقك ومنظمتك للتعاون. اطلب من المشرف العنوان للانضمام أو أنشئ لفريقك",
"Onboarding_join_workspace": "انضم لمساحة عمل",
"Onboarding_subtitle": "ما بعد بيئة فريق تعاونية", "Onboarding_subtitle": "ما بعد بيئة فريق تعاونية",
"Onboarding_title": "مرحبا بك في Rocket.Chat",
"Onboarding_join_open_description": "انضم لمساحة عملنا للتواصل مع فريق Rocket.Chat ومع المجتمع", "Onboarding_join_open_description": "انضم لمساحة عملنا للتواصل مع فريق Rocket.Chat ومع المجتمع",
"Onboarding_agree_terms": "بالمواصلة أنت توافق على Rocket.Chat", "Onboarding_agree_terms": "بالمواصلة أنت توافق على Rocket.Chat",
"Onboarding_less_options": "خيارات أقل", "Onboarding_less_options": "خيارات أقل",
@ -363,7 +252,6 @@
"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_your_authentication_app_and_enter_the_code": "افتح تطبيق المصادقة الخاص بك وأدخل الرمز", "Open_your_authentication_app_and_enter_the_code": "افتح تطبيق المصادقة الخاص بك وأدخل الرمز",
"OR": "أو", "OR": "أو",
"OS": "نظام التشغيل", "OS": "نظام التشغيل",
@ -373,26 +261,21 @@
"Permalink_copied_to_clipboard": "تم نسخ الرابط الثابت إلى الحافظة!", "Permalink_copied_to_clipboard": "تم نسخ الرابط الثابت إلى الحافظة!",
"Phone": "الهاتف", "Phone": "الهاتف",
"Pin": "ثبت", "Pin": "ثبت",
"Pinned_Messages": "رسائل مثبتة",
"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": "تم حفظ التفضيلات",
"Privacy_Policy": "سياسة الخصوصية", "Privacy_Policy": "سياسة الخصوصية",
"Private": "خاص", "Private": "خاص",
"Processing": "جار معالجة...", "Processing": "جار معالجة...",
"Profile_saved_successfully": "تم حفظ الملف الشخصي بنجاح!", "Profile_saved_successfully": "تم حفظ الملف الشخصي بنجاح!",
"Profile": "الملف الشخصي", "Profile": "الملف الشخصي",
"Public_Channel": "قناة عامة",
"Public": "عام", "Public": "عام",
"Push_Notifications_Alert_Info": "يتم إرسال هذه الإشعارات إليك عندما لا يكون التطبيق مفتوحاً", "Push_Notifications_Alert_Info": "يتم إرسال هذه الإشعارات إليك عندما لا يكون التطبيق مفتوحاً",
"Quote": "اقتباس", "Quote": "اقتباس",
"Reactions_are_disabled": "التفاعل معطل", "Reactions_are_disabled": "التفاعل معطل",
"Reactions_are_enabled": "التفاعل مفعل", "Reactions_are_enabled": "التفاعل مفعل",
"Reactions": "التفاعلات",
"Read_External_Permission_Message": "يحتاج Rocket.chat للوصول إلى الصور والملفات الموجودة على الجهاز", "Read_External_Permission_Message": "يحتاج Rocket.chat للوصول إلى الصور والملفات الموجودة على الجهاز",
"Read_External_Permission": "صلاحية قراءة الوسائط", "Read_External_Permission": "صلاحية قراءة الوسائط",
"Read_Only": "قراءة فقط", "Read_Only": "قراءة فقط",
@ -400,8 +283,6 @@
"Receive_Group_Mentions": "تلقي إشارات المجموعة", "Receive_Group_Mentions": "تلقي إشارات المجموعة",
"Receive_Group_Mentions_Info": "تلقي @all و @here للإشعارات", "Receive_Group_Mentions_Info": "تلقي @all و @here للإشعارات",
"Register": "تسجيل", "Register": "تسجيل",
"Repeat_Password": "أعد كلمة المرور",
"Replied_on": "تم الرد على:",
"replies": "ردود", "replies": "ردود",
"reply": "رد", "reply": "رد",
"Reply": "رد", "Reply": "رد",
@ -422,13 +303,8 @@
"Remove": "حذف", "Remove": "حذف",
"remove": "حذف", "remove": "حذف",
"Roles": "أدوار", "Roles": "أدوار",
"Room_actions": "إجراءات الغرفة",
"Room_changed_announcement": "تم تغيير إعلان الغرفة إلى: {{announcement}} من قبل {{userBy}}",
"Room_changed_description": "تم تغيير وصف الغرفة إلى: {{description}} من قبل {{userBy}}",
"Room_Files": "ملفات الغرفة",
"Room_Info_Edit": "تعديل معلومات الغرفة", "Room_Info_Edit": "تعديل معلومات الغرفة",
"Room_Info": "معلومات الغرفة", "Room_Info": "معلومات الغرفة",
"Room_Members": "أعضاء الغرفة",
"SAVE": "حفظ", "SAVE": "حفظ",
"Save_Changes": "حفظ التغيرات", "Save_Changes": "حفظ التغيرات",
"Save": "حفظ", "Save": "حفظ",
@ -446,9 +322,7 @@
"Search_by": "بحث حسب", "Search_by": "بحث حسب",
"Search_global_users": "بحث عام عن المستخدمين", "Search_global_users": "بحث عام عن المستخدمين",
"Search_global_users_description": "إذا قمت بالتفعيل، فسيمكنك البحث عن أي مستخدم في شركات أو خوادم أخرى", "Search_global_users_description": "إذا قمت بالتفعيل، فسيمكنك البحث عن أي مستخدم في شركات أو خوادم أخرى",
"Seconds": "{{second}} ثواني",
"Security_and_privacy": "الأمن والخصوصية", "Security_and_privacy": "الأمن والخصوصية",
"Select_Avatar": "حدد الصورة الرمزية",
"Select_Server": "حدد خادم", "Select_Server": "حدد خادم",
"Select_Users": "حدد مستخدمين", "Select_Users": "حدد مستخدمين",
"Select_a_Channel": "حدد قناة", "Select_a_Channel": "حدد قناة",
@ -462,13 +336,9 @@
"Send_me_the_code_again": "أرسل الرمز مرة أخرى", "Send_me_the_code_again": "أرسل الرمز مرة أخرى",
"Send_to": "إرسال إلى...", "Send_to": "إرسال إلى...",
"Sending_to": "يتم الإرسال إلى", "Sending_to": "يتم الإرسال إلى",
"Sent_an_attachment": "تم إرسال المرفق",
"Server": "سرفر", "Server": "سرفر",
"Servers": "سرفرات",
"Server_version": "نسخة الخادم: {{version}}", "Server_version": "نسخة الخادم: {{version}}",
"Set_username_subtitle": "يتم استخدام اسم المستخدم للسماح للآخرين بذكرك في الرسائل", "Set_username_subtitle": "يتم استخدام اسم المستخدم للسماح للآخرين بذكرك في الرسائل",
"Set_custom_status": "حدد حالة خاصة",
"Set_status": "حدد حالة",
"Status_saved_successfully": "تم حفظ الحالة بنجاح!", "Status_saved_successfully": "تم حفظ الحالة بنجاح!",
"Settings": "الإعدادات", "Settings": "الإعدادات",
"Settings_succesfully_changed": "تم تعديل الإعدادات بنجاح!", "Settings_succesfully_changed": "تم تعديل الإعدادات بنجاح!",
@ -476,44 +346,30 @@
"Share_Link": "مشاركة رابط", "Share_Link": "مشاركة رابط",
"Share_this_app": "مشاركة هذا البرنامج", "Share_this_app": "مشاركة هذا البرنامج",
"Show_more": "إظهار أكثر..", "Show_more": "إظهار أكثر..",
"Sign_in_your_server": "تسجيل الدخول إلى الخادم الخاص بك",
"Sign_Up": "تسجيل جديد", "Sign_Up": "تسجيل جديد",
"Some_field_is_invalid_or_empty": "بعض الحقول غير صالحة أو فارغة",
"Sound": "الصوت", "Sound": "الصوت",
"Star_room": "تمييز الغرفة",
"Star": "تمييز", "Star": "تمييز",
"Starred_Messages": "رسائل مميزة",
"starred": "مميزة",
"Starred": "مميزة", "Starred": "مميزة",
"Start_of_conversation": "بداية المحادثة",
"Start_a_Discussion": "ابدأ نقاش", "Start_a_Discussion": "ابدأ نقاش",
"Started_discussion": "بدأ النقاش", "Started_discussion": "بدأ النقاش",
"Started_call": "أجرى الاتصال {{userBy}}", "Started_call": "أجرى الاتصال {{userBy}}",
"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_view_servers_list": "انقر لعرض قائمة الخوادم",
"Terms_of_Service": " شروط الخدمة ", "Terms_of_Service": " شروط الخدمة ",
"Theme": "سمة", "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}}!", "There_was_an_error_while_action": "حدث خطأ أثناء {{action}}!",
"This_room_is_blocked": "هذه الغرفة محظورة", "This_room_is_blocked": "هذه الغرفة محظورة",
"This_room_is_read_only": "هذه الغرفة للقراءة فقط", "This_room_is_read_only": "هذه الغرفة للقراءة فقط",
"Thread": "موضوع",
"Threads": "مواضيع", "Threads": "مواضيع",
"Timezone": "المنطقة الزمنية", "Timezone": "المنطقة الزمنية",
"To": "إلى",
"topic": "عنوان", "topic": "عنوان",
"Topic": "عنوان", "Topic": "عنوان",
"Translate": "ترجمة", "Translate": "ترجمة",
"Try_again": "حاول مجدداً", "Try_again": "حاول مجدداً",
"Two_Factor_Authentication": "المصادقة الثنائية", "Two_Factor_Authentication": "المصادقة الثنائية",
"Type_the_channel_name_here": "اكتب اسم القناة هنا",
"unarchive": "إلغاء الأرشفة", "unarchive": "إلغاء الأرشفة",
"UNARCHIVE": "إلغاء الأرشفة", "UNARCHIVE": "إلغاء الأرشفة",
"Unblock_user": "إلغاء حظر عن مستخدم", "Unblock_user": "إلغاء حظر عن مستخدم",
@ -527,31 +383,21 @@
"Unstar": "إلغاء التمييز", "Unstar": "إلغاء التمييز",
"Updating": "جار التحديث...", "Updating": "جار التحديث...",
"Uploading": "جار الرفع", "Uploading": "جار الرفع",
"Upload_file_question_mark": "رفع الملف؟",
"User": "مستخدم", "User": "مستخدم",
"Users": "مستخدمين", "Users": "مستخدمين",
"User_Info": "معلومات المستخدم", "User_Info": "معلومات المستخدم",
"User_has_been_key": "تمت {{key}} المستخدم!", "User_has_been_key": "تمت {{key}} المستخدم!",
"User_is_no_longer_role_by_": "تم إزالة الدور {{role}} عن المستخدم {{user}} من قبل {{userBy}}",
"User_sent_an_attachment": "{{user}} أرسل مرفقًا", "User_sent_an_attachment": "{{user}} أرسل مرفقًا",
"Username_is_empty": "اسم المستخدم فارغ",
"Username": "اسم المستخدم", "Username": "اسم المستخدم",
"Username_or_email": "اسم المستخدم أو البريد الالكتروني", "Username_or_email": "اسم المستخدم أو البريد الالكتروني",
"Uses_server_configuration": "يستخدم إعداد الخادم", "Uses_server_configuration": "يستخدم إعداد الخادم",
"Validating": "يتم التحقق",
"Registration_Succeeded": "تم التسجيل بنجاح", "Registration_Succeeded": "تم التسجيل بنجاح",
"Verify": "تحقق",
"Verify_email_title": "تم التسجيل!",
"Verify_email_desc": "لقد أرسلنا إليك بريداً إلكترونياً لتأكيد تسجيلك. إذا لم تتلق البريد الإلكتروني قريباً، فيرجى العودة والمحاولة مرة أخرى", "Verify_email_desc": "لقد أرسلنا إليك بريداً إلكترونياً لتأكيد تسجيلك. إذا لم تتلق البريد الإلكتروني قريباً، فيرجى العودة والمحاولة مرة أخرى",
"Verify_your_email_for_the_code_we_sent": "يرجى تأكيد البريد الإلكتروني عبر الرمز المرسل", "Verify_your_email_for_the_code_we_sent": "يرجى تأكيد البريد الإلكتروني عبر الرمز المرسل",
"Video_call": "مكالمة فيديو",
"View_Original": "عرض المحتوى الأصلي", "View_Original": "عرض المحتوى الأصلي",
"Voice_call": "مكالمة صوتية",
"Waiting_for_network": "بانتظار توفر شبكة...", "Waiting_for_network": "بانتظار توفر شبكة...",
"Websocket_disabled": "تم تعطيل Websocket لهذا الخادم.\n{{contact}}", "Websocket_disabled": "تم تعطيل Websocket لهذا الخادم.\n{{contact}}",
"Welcome": "مرحبا",
"What_are_you_doing_right_now": "ما الذي تفعله حالياً؟", "What_are_you_doing_right_now": "ما الذي تفعله حالياً؟",
"Whats_your_2fa": "ما هو رمز التحقق الثنائي؟",
"Without_Servers": "بدون خوادم", "Without_Servers": "بدون خوادم",
"Workspaces": "مساحات العمل", "Workspaces": "مساحات العمل",
"Would_you_like_to_return_the_inquiry": "هل ترغب بالرد على السؤال؟", "Would_you_like_to_return_the_inquiry": "هل ترغب بالرد على السؤال؟",
@ -561,7 +407,6 @@
"Yes_action_it": "نعم، {{action}}!", "Yes_action_it": "نعم، {{action}}!",
"Yesterday": "أمس", "Yesterday": "أمس",
"You_are_in_preview_mode": "أنت في وضع المعاينة", "You_are_in_preview_mode": "أنت في وضع المعاينة",
"You_are_offline": "أنت غير متصل",
"You_can_search_using_RegExp_eg": "يمكنك استخدام RegExp. مثال: `/^text$/i`", "You_can_search_using_RegExp_eg": "يمكنك استخدام RegExp. مثال: `/^text$/i`",
"You_colon": "أنت: ", "You_colon": "أنت: ",
"you_were_mentioned": "تمت الإشارة إليك", "you_were_mentioned": "تمت الإشارة إليك",
@ -584,20 +429,9 @@
"Change_Language": "تغيير اللغة", "Change_Language": "تغيير اللغة",
"Crash_report_disclaimer": "نحن لا نتتبع محتوى محادثاتك أبداً. يحتوي تقرير الأعطال فقط على المعلومات ذات الصلة لنا من أجل تحديد المشاكل وإصلاحها", "Crash_report_disclaimer": "نحن لا نتتبع محتوى محادثاتك أبداً. يحتوي تقرير الأعطال فقط على المعلومات ذات الصلة لنا من أجل تحديد المشاكل وإصلاحها",
"Type_message": "اكتب رسالة", "Type_message": "اكتب رسالة",
"Room_search": "البحث عن الغرف",
"Room_selection": "اختيار الغرفة 1...9",
"Next_room": "الغرفة المجاورة",
"Previous_room": "الغرفة السابقة",
"New_room": "غرفة جديدة",
"Upload_room": "تحميل إلى الغرفة",
"Search_messages": "رسائل البحث", "Search_messages": "رسائل البحث",
"Scroll_messages": "تمرير الرسائل",
"Reply_latest": "الرد على الأحدث",
"Reply_in_Thread": "الرد في موضوع", "Reply_in_Thread": "الرد في موضوع",
"Server_selection": "اختيار الخادم",
"Server_selection_numbers": "اختيار الخادم 1...9",
"Add_server": "إضافة خادم", "Add_server": "إضافة خادم",
"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": "سيؤدي هذا إلى محو جميع بياناتك في وضع عدم الاتصال.",
@ -633,7 +467,7 @@
"Logged_out_of_other_clients_successfully": "تم تسجيل الخروج من الأماكن الأخرى بنجاح", "Logged_out_of_other_clients_successfully": "تم تسجيل الخروج من الأماكن الأخرى بنجاح",
"Logout_failed": "فشل تسجيل الخروج!", "Logout_failed": "فشل تسجيل الخروج!",
"Log_analytics_events": "تحليلات سجل الأحداث", "Log_analytics_events": "تحليلات سجل الأحداث",
"invalid-room": "غرفة غير صالحة", "Open_Livechats": "محادثات مباشرة جارية",
"Broadcast_hint": "يمكن فقط للمستخدمين المصرح لهم كتابة رسائل جديدة، ولكن سيتمكن المستخدمون الآخرون من الرد", "Broadcast_hint": "يمكن فقط للمستخدمين المصرح لهم كتابة رسائل جديدة، ولكن سيتمكن المستخدمون الآخرون من الرد",
"and_N_more": "و{{count}} آخرين" "and_N_more": "و{{count}} آخرين"
} }

View File

@ -2,93 +2,25 @@
"__count__empty_rooms_will_be_removed_automatically": "{{count}} leere Räume werden gelöscht.", "__count__empty_rooms_will_be_removed_automatically": "{{count}} leere Räume werden gelöscht.",
"__count__empty_room_will_be_removed_automatically": "{{count}} leerer Raum wird gelöscht.", "__count__empty_room_will_be_removed_automatically": "{{count}} leerer Raum wird gelöscht.",
"1_person_reacted": "1 Person hat reagiert", "1_person_reacted": "1 Person hat reagiert",
"1_user": "1 Benutzer",
"error-action-not-allowed": "{{action}} ist nicht erlaubt", "error-action-not-allowed": "{{action}} ist nicht erlaubt",
"error-application-not-found": "Anwendung nicht gefunden",
"error-archived-duplicate-name": "Es gibt bereits einen archivierten Channel mit dem Namen {{room_name}}",
"error-avatar-invalid-url": "Ungültige Avatar-URL: {{url}}", "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 Rooms 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 Channel mit dem Namen {{room_name}} ist bereits vorhanden", "error-duplicate-channel-name": "Ein Channel 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-email-send-failed": "Fehler beim Versuch, eine E-Mail zu senden: {{message}}",
"error-save-image": "Fehler beim Speichern des Bildes", "error-save-image": "Fehler beim Speichern des Bildes",
"error-save-video": "Fehler beim Speichern des Videos", "error-save-video": "Fehler beim Speichern des Videos",
"error-field-unavailable": "{{field}} wird bereits verwendet :(",
"error-file-too-large": "Datei ist zu groß", "error-file-too-large": "Datei ist zu groß",
"error-not-permission-to-upload-file": "Sie haben keine Berechtigung zum Hochladen von Dateien", "error-not-permission-to-upload-file": "Sie haben keine Berechtigung zum Hochladen von Dateien",
"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 Channel",
"error-invalid-channel-start-with-chars": "Ungültiger Channel. Beginne mit @ oder #",
"error-invalid-custom-field": "Ungültiges benutzerdefiniertes Feld",
"error-invalid-custom-field-name": "Ungültiger benutzerdefinierter Feldname. Verwenden Sie 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": "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-type": "Ungültiger Dateityp",
"error-invalid-file-width": "Ungültige Dateibreite",
"error-invalid-from-address": "Sie haben 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-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 Room-Name", "error-invalid-room-name": "{{room_name}} ist kein gültiger Room-Name",
"error-invalid-room-type": "{{type}} ist kein gültiger Room-Typ.",
"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": "Sie müssen den Link [abbestellen] angeben.",
"error-no-owner-channel": "Dieser Room gehört Ihnen nicht",
"error-no-tokens-for-this-user": "Für diesen Benutzer gibt es keine Token",
"error-not-allowed": "Nicht erlaubt", "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 legen Sie einen neuen Besitzer fest, bevor Sie diesen entfernen.",
"error-role-in-use": "Rolle kann nicht gelöscht werden, da sie gerade verwendet wird",
"error-role-name-required": "Der Rollenname ist erforderlich",
"error-password-same-as-current": "Eingegebenes Passwort gleich dem aktuellen Passwort.",
"error-the-field-is-required": "Das Feld {{field}} ist erforderlich.",
"error-too-many-requests": "Fehler, zu viele Anfragen. Sie müssen {{seconds}} Sekunden warten, bevor Sie es erneut versuchen.", "error-too-many-requests": "Fehler, zu viele Anfragen. Sie müssen {{seconds}} Sekunden warten, bevor Sie es erneut versuchen.",
"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 Sie zu #channel_name einladen möchten, überschreitet die vom Administrator festgelegte Grenze",
"error-user-not-in-room": "Benutzer ist nicht in diesem Room",
"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": "Sie sind der letzte Besitzer. Bitte setzen Sie einen neuen Besitzer, bevor Sie den Raum verlassen.", "error-you-are-last-owner": "Sie sind der letzte Besitzer. Bitte setzen Sie einen neuen Besitzer, bevor Sie den Raum verlassen.",
"error-status-not-allowed": "Unsichtbar-Status ist deaktiviert",
"A_new_owner_will_be_assigned_automatically_to__count__rooms": "Ein neuer Besitzer wird automatisch zu {{count}} Räumen zugeordnet.", "A_new_owner_will_be_assigned_automatically_to__count__rooms": "Ein neuer Besitzer wird automatisch zu {{count}} Räumen zugeordnet.",
"A_new_owner_will_be_assigned_automatically_to__count__room": "Ein neuer Besitzer wird automatisch zu {{count}} Raum zugeordnet.", "A_new_owner_will_be_assigned_automatically_to__count__room": "Ein neuer Besitzer wird automatisch zu {{count}} Raum zugeordnet.",
"Actions": "Aktionen", "Actions": "Aktionen",
"Activity": "Aktivität", "Activity": "Aktivität",
"Add_Reaction": "Reaktion hinzufügen",
"Add_Server": "Server hinzufügen", "Add_Server": "Server hinzufügen",
"Add_users": "Benutzer hinzufügen", "Add_users": "Benutzer hinzufügen",
"Admin_Panel": "Admin-Panel", "Admin_Panel": "Admin-Panel",
@ -102,8 +34,6 @@
"All": "alle", "All": "alle",
"All_Messages": "Alle Nachrichten", "All_Messages": "Alle Nachrichten",
"Allow_Reactions": "Reaktionen zulassen", "Allow_Reactions": "Reaktionen zulassen",
"Alphabetical": "Alphabetisch",
"and_more": "und mehr",
"and": "und", "and": "und",
"announcement": "Ankündigung", "announcement": "Ankündigung",
"Announcement": "Ankündigung", "Announcement": "Ankündigung",
@ -115,19 +45,15 @@
"Are_you_sure_you_want_to_delete_your_account": "Sind Sie sicher, dass Sie Ihr Konto löschen möchten?", "Are_you_sure_you_want_to_delete_your_account": "Sind Sie sicher, dass Sie Ihr Konto löschen möchten?",
"Deleting_a_user_will_delete_all_messages": "Wenn Sie einen Benutzer löschen, werden auch alle Nachrichten, Räume und Teams dieses Benutzers gelöscht. Dies kann nicht rückgängig gemacht werden.", "Deleting_a_user_will_delete_all_messages": "Wenn Sie einen Benutzer löschen, werden auch alle Nachrichten, Räume und Teams dieses Benutzers gelöscht. Dies kann nicht rückgängig gemacht werden.",
"Are_you_sure_you_want_to_leave_the_room": "Möchten Sie den Room {{room}} wirklich verlassen?", "Are_you_sure_you_want_to_leave_the_room": "Möchten Sie den Room {{room}} wirklich verlassen?",
"Audio": "Audio",
"Authenticating": "Authentifizierung",
"Automatic": "Automatisch", "Automatic": "Automatisch",
"Auto_Translate": "Automatische Übersetzung", "Auto_Translate": "Automatische Übersetzung",
"Avatar_changed_successfully": "Avatar erfolgreich geändert!", "Avatar_changed_successfully": "Avatar erfolgreich geändert!",
"Avatar_Url": "Avatar-URL", "Avatar_Url": "Avatar-URL",
"Away": "Abwesend", "Away": "Abwesend",
"Back": "Zurück",
"Black": "Schwarz", "Black": "Schwarz",
"Block_user": "Benutzer blockieren", "Block_user": "Benutzer blockieren",
"Browser": "Browser", "Browser": "Browser",
"Busy": "Beschäftigt", "Busy": "Beschäftigt",
"By_proceeding_you_are_agreeing": "Indem Sie fortfahren, akzeptieren Sie unsere",
"Cancel_editing": "Bearbeitung abbrechen", "Cancel_editing": "Bearbeitung abbrechen",
"Cancel_recording": "Aufnahme abbrechen", "Cancel_recording": "Aufnahme abbrechen",
"Cancel": "Abbrechen", "Cancel": "Abbrechen",
@ -146,21 +72,17 @@
"Click_to_join": "Klicken um beizutreten!", "Click_to_join": "Klicken um beizutreten!",
"Close": "Schließen", "Close": "Schließen",
"Close_emoji_selector": "Emoji-Auswahl schließen", "Close_emoji_selector": "Emoji-Auswahl schließen",
"Closing_chat": "Chat schließen",
"Change_language_loading": "Ändere Sprache.", "Change_language_loading": "Ändere Sprache.",
"Chat_closed_by_agent": "Chat durch den Agenten geschlossen", "Chat_closed_by_agent": "Chat durch den Agenten geschlossen",
"Choose": "Wählen", "Choose": "Wählen",
"Choose_from_library": "Aus der Bibliothek auswählen", "Choose_from_library": "Aus der Bibliothek auswählen",
"Choose_file": "Datei auswählen", "Choose_file": "Datei auswählen",
"Choose_where_you_want_links_be_opened": "Entscheiden, wie Links geöffnet werden sollen", "Choose_where_you_want_links_be_opened": "Entscheiden, wie Links geöffnet werden sollen",
"Code": "Code",
"Code_or_password_invalid": "Code oder Passwort sind falsch", "Code_or_password_invalid": "Code oder Passwort sind falsch",
"Conversation_closed": "Unterhaltung geschlossen", "Conversation_closed": "Unterhaltung geschlossen",
"Collaborative": "Kollaborativ", "Collaborative": "Kollaborativ",
"Confirm": "Bestätigen", "Confirm": "Bestätigen",
"Connect": "Verbinden", "Connect": "Verbinden",
"Connected": "Verbunden",
"connecting_server": "verbinde zum Server",
"Connecting": "Verbinden ...", "Connecting": "Verbinden ...",
"Contact_us": "Kontaktieren Sie uns", "Contact_us": "Kontaktieren Sie uns",
"Contact_your_server_admin": "Kontaktieren Sie Ihren Server-Administrator.", "Contact_your_server_admin": "Kontaktieren Sie Ihren Server-Administrator.",
@ -179,7 +101,6 @@
"Created_snippet": "ein Snippet erstellt", "Created_snippet": "ein Snippet erstellt",
"Create_a_new_workspace": "Einen neuen Arbeitsbereich erstellen", "Create_a_new_workspace": "Einen neuen Arbeitsbereich erstellen",
"Create": "Erstellen", "Create": "Erstellen",
"Custom_Status": "Eigener Status",
"Dark": "Dunkel", "Dark": "Dunkel",
"Dark_level": "Dunkelstufe", "Dark_level": "Dunkelstufe",
"Default": "Standard", "Default": "Standard",
@ -195,16 +116,13 @@
"deleting_room": "lösche Raum", "deleting_room": "lösche Raum",
"description": "Beschreibung", "description": "Beschreibung",
"Description": "Beschreibung", "Description": "Beschreibung",
"Desktop_Options": "Desktop-Einstellungen",
"Desktop_Notifications": "Desktop-Benachrichtigungen", "Desktop_Notifications": "Desktop-Benachrichtigungen",
"Desktop_Alert_info": "Diese Benachrichtigungen werden auf dem Desktop angezeigt", "Desktop_Alert_info": "Diese Benachrichtigungen werden auf dem Desktop angezeigt",
"Directory": "Verzeichnis", "Directory": "Verzeichnis",
"Direct_Messages": "Direktnachrichten", "Direct_Messages": "Direktnachrichten",
"Disable_notifications": "Benachrichtigungen deaktiveren",
"Discussions": "Diskussionen", "Discussions": "Diskussionen",
"Discussion_Desc": "Hilft, die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Channel im ausgewählten Room erzeugt und beide verknüpft.", "Discussion_Desc": "Hilft, die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Channel im ausgewählten Room erzeugt und beide verknüpft.",
"Discussion_name": "Diskussions-Name", "Discussion_name": "Diskussions-Name",
"Done": "Erledigt",
"Dont_Have_An_Account": "Sie haben noch kein Konto?", "Dont_Have_An_Account": "Sie haben noch kein Konto?",
"Do_you_have_an_account": "Sie haben schon ein Konto?", "Do_you_have_an_account": "Sie haben schon ein Konto?",
"Do_you_have_a_certificate": "Haben Sie ein Zertifikat?", "Do_you_have_a_certificate": "Haben Sie ein Zertifikat?",
@ -214,21 +132,14 @@
"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 müssen Sie dieses Passwort an einem sicheren Ort speichern, sodass Sie später bei Bedarf darauf zugreifen können.", "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 müssen Sie dieses Passwort an einem sicheren Ort speichern, sodass Sie später bei Bedarf darauf zugreifen können.",
"E2E_How_It_Works_info3": "Wenn Sie fortfahren, wird automatisch ein ein E2E-Passwort erzeugt.", "E2E_How_It_Works_info3": "Wenn Sie fortfahren, wird automatisch ein ein E2E-Passwort erzeugt.",
"E2E_How_It_Works_info4": "Sie können außerdem jederzeit, in jedem Browser, in dem Sie das bestehende Passwort eingegeben haben, ein neues Passwort setzen.", "E2E_How_It_Works_info4": "Sie können außerdem jederzeit, in jedem Browser, in dem Sie das bestehende Passwort eingegeben haben, ein neues Passwort setzen.",
"edit": "bearbeiten",
"edited": "bearbeitet",
"Edit": "Bearbeiten", "Edit": "Bearbeiten",
"Edit_Status": "Status ändern", "Edit_Status": "Status ändern",
"Edit_Invite": "Einladung bearbeiten", "Edit_Invite": "Einladung bearbeiten",
"End_to_end_encrypted_room": "Ende-zu-Ende-verschlüsselter Raum", "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_All": "Jede Erwähnung/Direktnachricht",
"Email_Notification_Mode_Disabled": "Deaktiviert", "Email_Notification_Mode_Disabled": "Deaktiviert",
"Email_or_password_field_is_empty": "Das E-Mail- oder Passwortfeld ist leer",
"Email": "E-mail", "Email": "E-mail",
"email": "E-mail",
"Empty_title": "leerer Titel",
"Enable_Auto_Translate": "Automatische Übersetzung aktivieren", "Enable_Auto_Translate": "Automatische Übersetzung aktivieren",
"Enable_notifications": "Benachrichtigungen aktivieren",
"Encrypted": "Verschlüsselt", "Encrypted": "Verschlüsselt",
"Encrypted_message": "Verschlüsselte Nachricht", "Encrypted_message": "Verschlüsselte Nachricht",
"Enter_Your_E2E_Password": "Geben Sie Ihr Ende-zu-Ende-Passwort ein", "Enter_Your_E2E_Password": "Geben Sie Ihr Ende-zu-Ende-Passwort ein",
@ -243,13 +154,11 @@
"Favorites": "Favoriten", "Favorites": "Favoriten",
"Files": "Dateien", "Files": "Dateien",
"File_description": "Dateibeschreibung", "File_description": "Dateibeschreibung",
"File_name": "Dateiname",
"Finish_recording": "Aufnahme neenden", "Finish_recording": "Aufnahme neenden",
"Following_thread": "Thread folgen", "Following_thread": "Thread folgen",
"For_your_security_you_must_enter_your_current_password_to_continue": "Zu Ihrer Sicherheit müssen Sie Ihr aktuelles Passwort eingeben, um fortzufahren", "For_your_security_you_must_enter_your_current_password_to_continue": "Zu Ihrer Sicherheit müssen Sie Ihr aktuelles Passwort eingeben, um fortzufahren",
"Forgot_password_If_this_email_is_registered": "Wenn es sich um eine registrierte E-Mail-Adresse handelt, werden wir an diese eine Anleitung zum Zurücksetzen des Passworts senden. Sollten Sie in Kürzen keine E-Mail erhalten, kommen Sie wieder und versuchen Sie es noch einmal.", "Forgot_password_If_this_email_is_registered": "Wenn es sich um eine registrierte E-Mail-Adresse handelt, werden wir an diese eine Anleitung zum Zurücksetzen des Passworts senden. Sollten Sie in Kürzen keine E-Mail erhalten, kommen Sie wieder und versuchen Sie es noch einmal.",
"Forgot_password": "Passwort vergessen", "Forgot_password": "Passwort vergessen",
"Forgot_Password": "Passwort vergessen",
"Forward": "Weiterleiten", "Forward": "Weiterleiten",
"Forward_Chat": "Chat weiterleiten", "Forward_Chat": "Chat weiterleiten",
"Forward_to_department": "Weiterleiten an Abteilung", "Forward_to_department": "Weiterleiten an Abteilung",
@ -284,9 +193,6 @@
"In_App_And_Desktop": "In-App und Desktop", "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.", "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", "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", "is_typing": "schreibt",
"Invalid_or_expired_invite_token": "Ungültiger oder abgelaufener Einladungscode", "Invalid_or_expired_invite_token": "Ungültiger oder abgelaufener Einladungscode",
"Invalid_server_version": "Der Server, mit dem Sie sich verbinden möchten, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{minVersion}}.", "Invalid_server_version": "Der Server, mit dem Sie sich verbinden möchten, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{minVersion}}.",
@ -296,34 +202,26 @@
"Join_Code": "Beitrittscode", "Join_Code": "Beitrittscode",
"Insert_Join_Code": "Beitrittscode eingeben", "Insert_Join_Code": "Beitrittscode eingeben",
"Join_our_open_workspace": "Treten Sie unserem offenen Arbeitsbereich bei", "Join_our_open_workspace": "Treten Sie unserem offenen Arbeitsbereich bei",
"Join_your_workspace": "Treten Sie Ihrem Arbeitsbereich bei",
"Just_invited_people_can_access_this_channel": "Nur eingeladene Personen können auf diesen Kanal zugreifen", "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", "Just_invited_people_can_access_this_team": "Nur eingeladene Personen können auf das Team zugreifen",
"Language": "Sprache", "Language": "Sprache",
"last_message": "letzte Nachricht", "last_message": "letzte Nachricht",
"Leave_channel": "Kanal verlassen",
"leaving_room": "Raum verlassen", "leaving_room": "Raum verlassen",
"Leave": "Raum verlassen", "Leave": "Raum verlassen",
"leave": "verlassen", "leave": "verlassen",
"Legal": "Rechtliches", "Legal": "Rechtliches",
"Light": "Hell", "Light": "Hell",
"License": "Lizenz", "License": "Lizenz",
"Livechat": "Live-Chat",
"Livechat_edit": "Live-Chat bearbeiten",
"Livechat_transfer_return_to_the_queue": "Chat an die Warteschlange zurückgegeben", "Livechat_transfer_return_to_the_queue": "Chat an die Warteschlange zurückgegeben",
"Login": "Anmeldung", "Login": "Anmeldung",
"Login_error": "Ihre Zugangsdaten wurden abgelehnt! Bitte versuchen Sie es erneut.", "Login_error": "Ihre Zugangsdaten wurden abgelehnt! Bitte versuchen Sie es erneut.",
"Login_with": "Anmelden mit",
"Logging_out": "Abmelden.", "Logging_out": "Abmelden.",
"Logout": "Abmelden", "Logout": "Abmelden",
"Max_number_of_uses": "Maximale Anzahl der Benutzungen", "Max_number_of_uses": "Maximale Anzahl der Benutzungen",
"Max_number_of_users_allowed_is_number": "Maximale Anzahl von erlaubten Benutzern ist {{maxUsers}}", "Max_number_of_users_allowed_is_number": "Maximale Anzahl von erlaubten Benutzern ist {{maxUsers}}",
"members": "Mitglieder", "members": "Mitglieder",
"Members": "Mitglieder", "Members": "Mitglieder",
"Mentioned_Messages": "Erwähnte Nachrichten",
"mentioned": "erwähnt",
"Mentions": "Erwähnungen", "Mentions": "Erwähnungen",
"Message_accessibility": "Nachricht von {{user}} um {{time}}: {{message}}",
"Message_actions": "Nachrichtenaktionen", "Message_actions": "Nachrichtenaktionen",
"Message_pinned": "Eine Nachricht wurde angeheftet", "Message_pinned": "Eine Nachricht wurde angeheftet",
"Message_removed": "Nachricht entfernt", "Message_removed": "Nachricht entfernt",
@ -332,13 +230,9 @@
"message": "Nachricht", "message": "Nachricht",
"messages": "Nachrichten", "messages": "Nachrichten",
"Message": "Nachricht", "Message": "Nachricht",
"Messages": "Mitteilungen",
"Message_Reported": "Nachricht gemeldet", "Message_Reported": "Nachricht gemeldet",
"Microphone_Permission_Message": "Rocket.Chat benötigt Zugriff auf das Mikrofon, damit Sie eine Audionachricht senden können.",
"Microphone_Permission": "Mikrofonberechtigung",
"Mute": "Diesem Benutzer das Chatten verbieten", "Mute": "Diesem Benutzer das Chatten verbieten",
"muted": "stummgeschaltet", "muted": "stummgeschaltet",
"My_servers": "Meine Server",
"N_people_reacted": "{{n}} Leute haben reagiert", "N_people_reacted": "{{n}} Leute haben reagiert",
"N_users": "{{n}} Benutzer", "N_users": "{{n}} Benutzer",
"N_channels": "{{n}} Kanäle", "N_channels": "{{n}} Kanäle",
@ -347,7 +241,6 @@
"New_chat_transfer": "Neue Chat-Übertragung: {{agent}} hat den Chat an die Warteschlange zurückgegeben", "New_chat_transfer": "Neue Chat-Übertragung: {{agent}} hat den Chat an die Warteschlange zurückgegeben",
"New_Message": "Neue Nachricht", "New_Message": "Neue Nachricht",
"New_Password": "Neues Kennwort", "New_Password": "Neues Kennwort",
"New_Server": "Neuer Server",
"Next": "Nächster", "Next": "Nächster",
"No_files": "Keine Dateien", "No_files": "Keine Dateien",
"No_limit": "Kein Limit", "No_limit": "Kein Limit",
@ -356,30 +249,23 @@
"No_results_found": "Keine Ergebnisse gefunden", "No_results_found": "Keine Ergebnisse gefunden",
"No_members_found": "Keine Mitglieder gefunden", "No_members_found": "Keine Mitglieder gefunden",
"No_starred_messages": "Keine markierten Nachrichten", "No_starred_messages": "Keine markierten Nachrichten",
"No_thread_messages": "Keine Threadnachrichten",
"No_label_provided": "Kein(e) {{label}} gesetzt.", "No_label_provided": "Kein(e) {{label}} gesetzt.",
"No_Message": "Keine Nachricht", "No_Message": "Keine Nachricht",
"No_messages_yet": "Noch keine Nachrichten", "No_messages_yet": "Noch keine Nachrichten",
"No_Reactions": "Keine Reaktionen", "No_Reactions": "Keine Reaktionen",
"No_Read_Receipts": "Keine Lesebestätigungen", "No_Read_Receipts": "Keine Lesebestätigungen",
"Not_logged": "Nicht protokolliert",
"Not_RC_Server": "Dies ist kein Rocket.Chat-Server.\n{{contact}}", "Not_RC_Server": "Dies ist kein Rocket.Chat-Server.\n{{contact}}",
"Nothing": "Nichts", "Nothing": "Nichts",
"Nothing_to_save": "Nichts zu speichern!", "Nothing_to_save": "Nichts zu speichern!",
"Notify_active_in_this_room": "Aktive Benutzer in diesem Room benachrichtigen", "Notify_active_in_this_room": "Aktive Benutzer in diesem Room benachrichtigen",
"Notify_all_in_this_room": "Alle in diesem Room nenachrichtigen", "Notify_all_in_this_room": "Alle in diesem Room nenachrichtigen",
"Notifications": "Benachrichtigungen", "Notifications": "Benachrichtigungen",
"Notification_Duration": "Benachrichtigungsdauer",
"Notification_Preferences": "Benachrichtigungseinstellungen", "Notification_Preferences": "Benachrichtigungseinstellungen",
"No_available_agents_to_transfer": "Keine Agenten für den Transfer verfügbar", "No_available_agents_to_transfer": "Keine Agenten für den Transfer verfügbar",
"Offline": "Offline",
"Oops": "Hoppla!", "Oops": "Hoppla!",
"Omnichannel": "Omnichannel", "Omnichannel": "Omnichannel",
"Omnichannel_enable_alert": "Sie sind in Omnichannel nicht verfügbar. Möchten Sie erreichbar sein?", "Omnichannel_enable_alert": "Sie sind in Omnichannel nicht verfügbar. Möchten Sie erreichbar sein?",
"Onboarding_description": "Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitten Sie den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstellen Sie einen Arbeitsbereich für Ihr Team.",
"Onboarding_join_workspace": "Einem Arbeitsbereich beiteten",
"Onboarding_subtitle": "Mehr als Team-Zusammenarbeit", "Onboarding_subtitle": "Mehr als Team-Zusammenarbeit",
"Onboarding_title": "Willkommen bei Rocket.Chat",
"Onboarding_join_open_description": "Treten Sie unserem Arbeitsbereich bei, um mit dem Rocket.Chat-Team oder der Community zu chatten.", "Onboarding_join_open_description": "Treten Sie unserem Arbeitsbereich bei, um mit dem Rocket.Chat-Team oder der Community zu chatten.",
"Onboarding_agree_terms": "Durch fortfahren stimmen Sie Rocket.Chats Bedingungen zu", "Onboarding_agree_terms": "Durch fortfahren stimmen Sie Rocket.Chats Bedingungen zu",
"Onboarding_less_options": "Weniger Optionen", "Onboarding_less_options": "Weniger Optionen",
@ -387,7 +273,6 @@
"Online": "Online", "Online": "Online",
"Only_authorized_users_can_write_new_messages": "Nur autorisierte Benutzer können neue Nachrichten schreiben", "Only_authorized_users_can_write_new_messages": "Nur autorisierte Benutzer können neue Nachrichten schreiben",
"Open_emoji_selector": "Emoji-Auswahl öffnen", "Open_emoji_selector": "Emoji-Auswahl öffnen",
"Open_Source_Communication": "Open-Source-Kommunikation",
"Open_your_authentication_app_and_enter_the_code": "Öffnen Sie Ihre Authentifizierungsanwendung und geben Sie den Code ein.", "Open_your_authentication_app_and_enter_the_code": "Öffnen Sie Ihre Authentifizierungsanwendung und geben Sie den Code ein.",
"OR": "ODER", "OR": "ODER",
"OS": "OS", "OS": "OS",
@ -397,27 +282,22 @@
"Permalink_copied_to_clipboard": "Permalink in die Zwischenablage kopiert!", "Permalink_copied_to_clipboard": "Permalink in die Zwischenablage kopiert!",
"Phone": "Telefon", "Phone": "Telefon",
"Pin": "Anheften", "Pin": "Anheften",
"Pinned_Messages": "Angeheftete Nachrichten",
"pinned": "angeheftet",
"Pinned": "Angeheftet", "Pinned": "Angeheftet",
"Please_add_a_comment": "Bitte Kommentar hinzufügen", "Please_add_a_comment": "Bitte Kommentar hinzufügen",
"Please_enter_your_password": "Geben Sie bitte Ihr Passwort ein", "Please_enter_your_password": "Geben Sie bitte Ihr Passwort ein",
"Please_wait": "Bitte warten.", "Please_wait": "Bitte warten.",
"Preferences": "Einstellungen", "Preferences": "Einstellungen",
"Preferences_saved": "Einstellungen gespeichert!",
"Privacy_Policy": " Datenschutzbestimmungen", "Privacy_Policy": " Datenschutzbestimmungen",
"Private": "Privat", "Private": "Privat",
"Processing": "Bearbeite …", "Processing": "Bearbeite …",
"Profile_saved_successfully": "Profil erfolgreich gespeichert!", "Profile_saved_successfully": "Profil erfolgreich gespeichert!",
"Profile": "Profil", "Profile": "Profil",
"Public_Channel": "Öffentlicher Channel",
"Public": "Öffentlich", "Public": "Öffentlich",
"Push_Notifications": "Push-Benachrichtigungen", "Push_Notifications": "Push-Benachrichtigungen",
"Push_Notifications_Alert_Info": "Diese Benachrichtigungen werden Ihnen zugestellt, wenn die App nicht geöffnet ist.", "Push_Notifications_Alert_Info": "Diese Benachrichtigungen werden Ihnen zugestellt, wenn die App nicht geöffnet ist.",
"Quote": "Zitat", "Quote": "Zitat",
"Reactions_are_disabled": "Reaktionen sind deaktiviert", "Reactions_are_disabled": "Reaktionen sind deaktiviert",
"Reactions_are_enabled": "Reaktionen sind aktiviert", "Reactions_are_enabled": "Reaktionen sind aktiviert",
"Reactions": "Reaktionen",
"Read_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf Ihre Fotos, Medien und Dateien auf Ihrem Gerät", "Read_External_Permission_Message": "Rocket.Chat benötigt Zugriff auf Ihre Fotos, Medien und Dateien auf Ihrem Gerät",
"Read_External_Permission": "Lese-Zugriff auf Medien", "Read_External_Permission": "Lese-Zugriff auf Medien",
"Read_Only": "Schreibgeschützt", "Read_Only": "Schreibgeschützt",
@ -425,8 +305,6 @@
"Receive_Group_Mentions": "Gruppen-Benachrichtigungen erhalten", "Receive_Group_Mentions": "Gruppen-Benachrichtigungen erhalten",
"Receive_Group_Mentions_Info": "@all- und @here-Erwähnungen empfangen", "Receive_Group_Mentions_Info": "@all- und @here-Erwähnungen empfangen",
"Register": "Registrieren", "Register": "Registrieren",
"Repeat_Password": "Passwort wiederholen",
"Replied_on": "Antwortete am:",
"replies": "Antworten", "replies": "Antworten",
"reply": "Antworten", "reply": "Antworten",
"Reply": "Antworten", "Reply": "Antworten",
@ -448,18 +326,13 @@
"Remove": "Entfernen", "Remove": "Entfernen",
"remove": "entfernen", "remove": "entfernen",
"Roles": "Rollen", "Roles": "Rollen",
"Room_actions": "Room-Aktionen",
"Room_changed_announcement": "Room-Ansage geändert in: {{announcement}} von {{userBy}}",
"room_avatar_changed": "hat den Raum-Avatar geändert", "room_avatar_changed": "hat den Raum-Avatar geändert",
"Room_changed_description": "Room-beschreibung geändert in: {{description}} von {{userBy}}",
"changed_room_description": "hat die Raumbeschreibung geändert zu: {{description}}", "changed_room_description": "hat die Raumbeschreibung geändert zu: {{description}}",
"changed_room_announcement": "hat die Ankündigung des Raumes geändert zu: {{announcement}}", "changed_room_announcement": "hat die Ankündigung des Raumes geändert zu: {{announcement}}",
"room_changed_type": "hat den Raum geändert zu {{type}}", "room_changed_type": "hat den Raum geändert zu {{type}}",
"room_changed_topic_to": "hat das Thema des Raumes geändert zu: {{topic}}", "room_changed_topic_to": "hat das Thema des Raumes geändert zu: {{topic}}",
"Room_Files": "Room-Dateien",
"Room_Info_Edit": "Room-Info bearbeiten", "Room_Info_Edit": "Room-Info bearbeiten",
"Room_Info": "Room-Info", "Room_Info": "Room-Info",
"Room_Members": "Room-Mitglieder",
"Room_name_changed_to": "hat den Namen des Raumes geändert zu: {{name}}", "Room_name_changed_to": "hat den Namen des Raumes geändert zu: {{name}}",
"room_disallowed_reactions": "hat Reaktionen untersagt", "room_disallowed_reactions": "hat Reaktionen untersagt",
"room_allowed_reactions": "hat Reaktionen erlaubt", "room_allowed_reactions": "hat Reaktionen erlaubt",
@ -483,9 +356,7 @@
"Search_emoji": "Emoji suchen", "Search_emoji": "Emoji suchen",
"Search_global_users": "Nach globalen Benutzern suchen", "Search_global_users": "Nach globalen Benutzern suchen",
"Search_global_users_description": "Wenn aktiviert, Können Sie nach Benutzern von anderen Unternehmen oder Servern suchen.", "Search_global_users_description": "Wenn aktiviert, Können Sie nach Benutzern von anderen Unternehmen oder Servern suchen.",
"Seconds": "{{second}} Sekunden",
"Security_and_privacy": "Sicherheit und Datenschutz", "Security_and_privacy": "Sicherheit und Datenschutz",
"Select_Avatar": "Avatar auswählen",
"Select_Server": "Server auswählen", "Select_Server": "Server auswählen",
"Select_Users": "Benutzer auswählen", "Select_Users": "Benutzer auswählen",
"Select_a_Channel": "Channel auswählen", "Select_a_Channel": "Channel auswählen",
@ -499,13 +370,9 @@
"Send_me_the_code_again": "Den Code neu versenden", "Send_me_the_code_again": "Den Code neu versenden",
"Send_to": "Senden an …", "Send_to": "Senden an …",
"Sending_to": "Sende an", "Sending_to": "Sende an",
"Sent_an_attachment": "Anhang senden",
"Server": "Server", "Server": "Server",
"Servers": "Server",
"Server_version": "Server version: {{version}}", "Server_version": "Server version: {{version}}",
"Set_username_subtitle": "Der Benutzername wird verwendet, damit andere Personen Sie in Nachrichten erwähnen können", "Set_username_subtitle": "Der Benutzername wird verwendet, damit andere Personen Sie in Nachrichten erwähnen können",
"Set_custom_status": "Individuellen Status setzen",
"Set_status": "Status setzen",
"Status_saved_successfully": "Status erfolgreich gesetzt!", "Status_saved_successfully": "Status erfolgreich gesetzt!",
"Settings": "Einstellungen", "Settings": "Einstellungen",
"Settings_succesfully_changed": "Einstellungen erfolgreich geändert!", "Settings_succesfully_changed": "Einstellungen erfolgreich geändert!",
@ -513,44 +380,30 @@
"Share_Link": "Link teilen", "Share_Link": "Link teilen",
"Share_this_app": "App teilen", "Share_this_app": "App teilen",
"Show_more": "Mehr anzeigen …", "Show_more": "Mehr anzeigen …",
"Sign_in_your_server": "Melden Sie sich bei Ihrem Server an",
"Sign_Up": "Anmelden", "Sign_Up": "Anmelden",
"Some_field_is_invalid_or_empty": "Ein Feld ist ungültig oder leer",
"Sound": "Ton", "Sound": "Ton",
"Star_room": "Favorisierter Room",
"Star": "Favoriten", "Star": "Favoriten",
"Starred_Messages": "Favorisierte Nachrichten",
"starred": "favorisiert",
"Starred": "Favorisiert", "Starred": "Favorisiert",
"Start_of_conversation": "Beginn des Gesprächs",
"Start_a_Discussion": "Beginne eine Diskussion", "Start_a_Discussion": "Beginne eine Diskussion",
"Started_discussion": "Hat eine Diskussion gestartet:", "Started_discussion": "Hat eine Diskussion gestartet:",
"Started_call": "Anruf gestartet von {{userBy}}", "Started_call": "Anruf gestartet von {{userBy}}",
"Submit": "einreichen",
"Table": "Tabelle", "Table": "Tabelle",
"Tags": "Tags", "Tags": "Tags",
"Take_a_photo": "Foto aufnehmen", "Take_a_photo": "Foto aufnehmen",
"Take_a_video": "Video aufnehmen", "Take_a_video": "Video aufnehmen",
"Take_it": "Annehmen!", "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", "Terms_of_Service": " Nutzungsbedingungen",
"Theme": "Erscheinungsbild", "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!", "There_was_an_error_while_action": "Während {{action}} ist ein Fehler aufgetreten!",
"This_room_is_blocked": "Dieser Room ist gesperrt", "This_room_is_blocked": "Dieser Room ist gesperrt",
"This_room_is_read_only": "Dieser Room kann nur gelesen werden", "This_room_is_read_only": "Dieser Room kann nur gelesen werden",
"Thread": "Thread",
"Threads": "Threads", "Threads": "Threads",
"Timezone": "Zeitzone", "Timezone": "Zeitzone",
"To": "An",
"topic": "Thema", "topic": "Thema",
"Topic": "Thema", "Topic": "Thema",
"Translate": "Übersetzen", "Translate": "Übersetzen",
"Try_again": "Versuchen Sie es nochmal", "Try_again": "Versuchen Sie es nochmal",
"Two_Factor_Authentication": "Zwei-Faktor-Authentifizierung", "Two_Factor_Authentication": "Zwei-Faktor-Authentifizierung",
"Type_the_channel_name_here": "Geben Sie hier den Kanalnamen ein",
"unarchive": "wiederherstellen", "unarchive": "wiederherstellen",
"UNARCHIVE": "WIEDERHERSTELLEN", "UNARCHIVE": "WIEDERHERSTELLEN",
"Unblock_user": "Benutzer entsperren", "Unblock_user": "Benutzer entsperren",
@ -567,37 +420,27 @@
"Uploading": "Hochladen", "Uploading": "Hochladen",
"FileUpload_Error": "Fehler bei Datei-Upload", "FileUpload_Error": "Fehler bei Datei-Upload",
"Upload_in_progress": "Upload in Bearbeitung", "Upload_in_progress": "Upload in Bearbeitung",
"Upload_file_question_mark": "Datei hochladen?",
"User": "Benutzer", "User": "Benutzer",
"Users": "Benutzer", "Users": "Benutzer",
"User_added_to": "hat {{userAdded}} hinzugefügt", "User_added_to": "hat {{userAdded}} hinzugefügt",
"User_Info": "Benutzerinfo", "User_Info": "Benutzerinfo",
"User_has_been_key": "Benutzer wurde {{key}}", "User_has_been_key": "Benutzer wurde {{key}}",
"User_is_no_longer_role_by_": "{{user}} ist nicht länger {{role}} von {{userBy}}",
"User_has_been_muted": "hat {{userMuted}} stumm gestellt", "User_has_been_muted": "hat {{userMuted}} stumm gestellt",
"User_has_been_removed": "hat {{userRemoved}} entfernt", "User_has_been_removed": "hat {{userRemoved}} entfernt",
"User_sent_an_attachment": "{{user}}: eine Datei gesendet", "User_sent_an_attachment": "{{user}}: eine Datei gesendet",
"User_has_been_unmuted": "hat {{userUnmuted}} nicht mehr auf stumm gestellt", "User_has_been_unmuted": "hat {{userUnmuted}} nicht mehr auf stumm gestellt",
"Defined_user_as_role": "hat {{user}} als {{role}} gesetzt", "Defined_user_as_role": "hat {{user}} als {{role}} gesetzt",
"Removed_user_as_role": "hat {{user}} als {{role}} entfernt", "Removed_user_as_role": "hat {{user}} als {{role}} entfernt",
"Username_is_empty": "Der Benutzername ist leer",
"Username": "Benutzername", "Username": "Benutzername",
"Username_or_email": "Benutzername oder E-Mail-Adresse", "Username_or_email": "Benutzername oder E-Mail-Adresse",
"Uses_server_configuration": "Nutzt Servereinstellungen", "Uses_server_configuration": "Nutzt Servereinstellungen",
"Validating": "Validierung",
"Registration_Succeeded": "Registrierung erfolgreich!", "Registration_Succeeded": "Registrierung erfolgreich!",
"Verify": "Überprüfen",
"Verify_email_title": "Registrierung erfolgreich!",
"Verify_email_desc": "Wir haben Ihnen eine Email geschickt um Ihre Anmeldung zu bestätigen. Wenn Sie keine Email erhalten, versuchen Sie es später noch einmal.", "Verify_email_desc": "Wir haben Ihnen eine Email geschickt um Ihre Anmeldung zu bestätigen. Wenn Sie keine Email erhalten, versuchen Sie es später noch einmal.",
"Verify_your_email_for_the_code_we_sent": "Prüfen Sie Ihre Mails auf den Code, den wir Ihnen eben geschickt haben.", "Verify_your_email_for_the_code_we_sent": "Prüfen Sie Ihre Mails auf den Code, den wir Ihnen eben geschickt haben.",
"Video_call": "Videoanruf",
"View_Original": "Original anzeigen", "View_Original": "Original anzeigen",
"Voice_call": "Sprachanruf",
"Waiting_for_network": "Warte auf das Netzwerk …", "Waiting_for_network": "Warte auf das Netzwerk …",
"Websocket_disabled": "Websockets sind auf diesem Server nicht aktiviert.\n{{contact}}", "Websocket_disabled": "Websockets sind auf diesem Server nicht aktiviert.\n{{contact}}",
"Welcome": "Herzlich willkommen",
"What_are_you_doing_right_now": "Was machen Sie gerade?", "What_are_you_doing_right_now": "Was machen Sie gerade?",
"Whats_your_2fa": "Wie lautet Ihr 2FA-Code?",
"Without_Servers": "Ohne Server", "Without_Servers": "Ohne Server",
"Workspaces": "Arbeitsbereiche", "Workspaces": "Arbeitsbereiche",
"Would_you_like_to_return_the_inquiry": "Wollen Sie zur Anfrage zurück?", "Would_you_like_to_return_the_inquiry": "Wollen Sie zur Anfrage zurück?",
@ -607,7 +450,6 @@
"Yes_action_it": "Ja, {{action}}!", "Yes_action_it": "Ja, {{action}}!",
"Yesterday": "Gestern", "Yesterday": "Gestern",
"You_are_in_preview_mode": "Sie befinden dich im Vorschaumodus", "You_are_in_preview_mode": "Sie befinden dich im Vorschaumodus",
"You_are_offline": "Sie sind offline",
"You_can_search_using_RegExp_eg": "Sie können mit RegExp suchen. z.B. `/ ^ text $ / i`", "You_can_search_using_RegExp_eg": "Sie können mit RegExp suchen. z.B. `/ ^ text $ / i`",
"You_colon": "Sie: ", "You_colon": "Sie: ",
"you_were_mentioned": "Sie wurden erwähnt", "you_were_mentioned": "Sie wurden erwähnt",
@ -631,20 +473,9 @@
"Change_Language": "Sprache ändern", "Change_Language": "Sprache ändern",
"Crash_report_disclaimer": "Wir verfolgen niemals den Inhalt Ihrer Chats. Der Crash-Report enthält nur für uns relevante Informationen um das Problem zu erkennen und zu beheben.", "Crash_report_disclaimer": "Wir verfolgen niemals den Inhalt Ihrer Chats. Der Crash-Report enthält nur für uns relevante Informationen um das Problem zu erkennen und zu beheben.",
"Type_message": "Nachricht schreiben", "Type_message": "Nachricht schreiben",
"Room_search": "Room-Suche",
"Room_selection": "Room-Auswahl 1...9",
"Next_room": "Nächster Room",
"Previous_room": "Voriger Room",
"New_room": "Neuer Room",
"Upload_room": "Zu einem Room hochladen",
"Search_messages": "Nachrichten durchsuchen", "Search_messages": "Nachrichten durchsuchen",
"Scroll_messages": "Nachrichten durchblättern",
"Reply_latest": "Auf die letzte Nachricht antworten",
"Reply_in_Thread": "Im Thread antworten", "Reply_in_Thread": "Im Thread antworten",
"Server_selection": "Server-Auswahl",
"Server_selection_numbers": "Server-Auswahl 1...9",
"Add_server": "Server hinzufügen", "Add_server": "Server hinzufügen",
"New_line": "Zeilenumbruch",
"You_will_be_logged_out_of_this_application": "Sie werden in dieser Anwendung vom Server abgemeldet.", "You_will_be_logged_out_of_this_application": "Sie werden in dieser Anwendung vom Server abgemeldet.",
"Clear": "Löschen", "Clear": "Löschen",
"This_will_clear_all_your_offline_data": "Dies wird Ihre Offline-Daten löschen.", "This_will_clear_all_your_offline_data": "Dies wird Ihre Offline-Daten löschen.",
@ -739,7 +570,6 @@
"Auto-join": "Automatischer Beitritt", "Auto-join": "Automatischer Beitritt",
"Remove_Team_Room_Warning": "Möchten Sie diesen Kanal aus dem Team entfernen? Der Kanal wird zurück in den Arbeitsbereich verschoben.", "Remove_Team_Room_Warning": "Möchten Sie diesen Kanal aus dem Team entfernen? Der Kanal wird zurück in den Arbeitsbereich verschoben.",
"Confirmation": "Bestätigung", "Confirmation": "Bestätigung",
"invalid-room": "Ungültiger Raum",
"You_are_leaving_the_team": "Sie verlassen das Team '{{team}}'", "You_are_leaving_the_team": "Sie verlassen das Team '{{team}}'",
"Leave_Team": "Team verlassen", "Leave_Team": "Team verlassen",
"Select_Team": "Team auswählen", "Select_Team": "Team auswählen",
@ -749,7 +579,6 @@
"Cannot_delete": "Kann nicht gelöscht werden", "Cannot_delete": "Kann nicht gelöscht werden",
"Last_owner_team_room": "Sie sind der letzte Eigner dieses Channels. Wenn Sie das Team verlassen haben, bleibt der Channel im Team, aber Sie werden ihn von außen verwalten.", "Last_owner_team_room": "Sie sind der letzte Eigner dieses Channels. Wenn Sie das Team verlassen haben, bleibt der Channel im Team, aber Sie werden ihn von außen verwalten.",
"last-owner-can-not-be-removed": "Letzter Besitzer kann nicht entfernt werden", "last-owner-can-not-be-removed": "Letzter Besitzer kann nicht entfernt werden",
"Remove_User_Teams": "Die Channels auswählen, aus denen der Benutzer entfernt werden soll",
"Deleting_account": "Konto löschen", "Deleting_account": "Konto löschen",
"Delete_my_account": "Mein Konto löschen", "Delete_my_account": "Mein Konto löschen",
"Delete_Team": "Team löschen", "Delete_Team": "Team löschen",
@ -758,11 +587,9 @@
"Removing_user_from_this_team": "Sie entfernen {{user}} aus diesem Team", "Removing_user_from_this_team": "Sie entfernen {{user}} aus diesem Team",
"Remove_User_Team_Channels": "Wählen Sie die Kanäle aus, aus denen der Benutzer entfernt werden soll.", "Remove_User_Team_Channels": "Wählen Sie die Kanäle aus, aus denen der Benutzer entfernt werden soll.",
"Remove_Member": "Mitglied entfernen", "Remove_Member": "Mitglied entfernen",
"leaving_team": "Team verlassen",
"removing_team": "Aus dem Team entfernen", "removing_team": "Aus dem Team entfernen",
"moving_channel_to_team": "Channel zu Team verschieben", "moving_channel_to_team": "Channel zu Team verschieben",
"deleting_team": "Team löschen", "deleting_team": "Team löschen",
"member-does-not-exist": "Mitglied existiert nicht",
"Convert": "Konvertieren", "Convert": "Konvertieren",
"Convert_to_Team": "Zu Team konvertieren", "Convert_to_Team": "Zu Team konvertieren",
"Convert_to_Team_Warning": "Dies kann nicht rückgängig gemacht werden. Sobald Sie einen Channel in ein Team umgewandelt haben, können Sie ihn nicht mehr zurück in einen Channel verwandeln.", "Convert_to_Team_Warning": "Dies kann nicht rückgängig gemacht werden. Sobald Sie einen Channel in ein Team umgewandelt haben, können Sie ihn nicht mehr zurück in einen Channel verwandeln.",
@ -808,7 +635,6 @@
"Error_Download_file": "Fehler beim Herunterladen der Datei", "Error_Download_file": "Fehler beim Herunterladen der Datei",
"added__roomName__to_this_team": "hat #{{roomName}} diesem Team hinzugefügt", "added__roomName__to_this_team": "hat #{{roomName}} diesem Team hinzugefügt",
"Added__username__to_this_team": "hat @{{user_added}} zu einem Team hinzugefügt", "Added__username__to_this_team": "hat @{{user_added}} zu einem Team hinzugefügt",
"Converting_team_to_channel": "Team in Channel umwandeln",
"Converted__roomName__to_a_team": "hat #{{roomName}} in ein Team umgewandelt", "Converted__roomName__to_a_team": "hat #{{roomName}} in ein Team umgewandelt",
"Converted__roomName__to_a_channel": "hat #{{roomName}} in einen Kanal umgewandelt", "Converted__roomName__to_a_channel": "hat #{{roomName}} in einen Kanal umgewandelt",
"Deleted__roomName__": "#{{roomName}} gelöscht", "Deleted__roomName__": "#{{roomName}} gelöscht",
@ -823,8 +649,6 @@
"Message_HideType_user_removed_room_from_team": "Nachrichten \"Benutzer hat Room aus Team entfernt\" ausblenden", "Message_HideType_user_removed_room_from_team": "Nachrichten \"Benutzer hat Room aus Team entfernt\" ausblenden",
"Removed__roomName__from_the_team": "hat #{{roomName}} aus diesem Team entfernt", "Removed__roomName__from_the_team": "hat #{{roomName}} aus diesem Team entfernt",
"Removed__username__from_the_team": "hat @{{userRemoved}} aus diesem Team entfernt", "Removed__username__from_the_team": "hat @{{userRemoved}} aus diesem Team entfernt",
"User_joined_team": "ist dem Team beigetreten",
"User_left_team": "hat das Team verlassen",
"Place_chat_on_hold": "Chat in die Warteschleife stellen", "Place_chat_on_hold": "Chat in die Warteschleife stellen",
"Would_like_to_place_on_hold": "Möchten Sie diesen Chat in die Warteschleife legen?", "Would_like_to_place_on_hold": "Möchten Sie diesen Chat in die Warteschleife legen?",
"Open_Livechats": "Offene Livechats", "Open_Livechats": "Offene Livechats",
@ -859,5 +683,46 @@
"Channel_hint_encrypted_not_available": "Nicht verfügbar in öffentlichen Kanälen", "Channel_hint_encrypted_not_available": "Nicht verfügbar in öffentlichen Kanälen",
"Read_only_hint": "Nur autorisierte Benutzer können neue Nachrichten schreiben", "Read_only_hint": "Nur autorisierte Benutzer können neue Nachrichten schreiben",
"Discussion": "Diskussion", "Discussion": "Diskussion",
"Channel": "Kanal",
"Team": "Team",
"Select_Members": "Mitglieder auswählen",
"Also_send_thread_message_to_channel_behavior": "Die Nachricht auch an den Kanal senden",
"Accounts_Default_User_Preferences_alsoSendThreadToChannel_Description": "Nutzern erlauben das Verhalten für \"auch an den Kanal senden\" zu bestimmen.",
"Waiting_for_answer": "Warten auf Antwort",
"Call_ended": "Anruf beendet",
"Call_was_not_answered": "Anruf wurde nicht beantwortet",
"Call_back": "Rückruf",
"Call_again": "Erneut anrufen",
"Call_ongoing": "Aufruf laufend",
"Joined": "Beigetreten",
"Calling": "Rufe …",
"Start_a_call": "Anruf starten",
"Call": "Anruf",
"Reply_in_direct_message": "Mit einer Direktnachricht antworten",
"room_archived": "hat den Raum archiviert",
"room_unarchived": "hat den Raum nicht mehr archiviert",
"Upload_image": "Bild hochladen",
"Delete_image": "Bild löschen",
"Images_uploaded": "Hochgeladene Bilder",
"Avatar": "Profilbild",
"insert_Avatar_URL": "Bild-URL hier einfügen",
"Discard_changes": "Änderungen verwerfen?",
"Discard": "Verwerfen",
"Discard_changes_description": "Alle Änderungen werden verworfen, wenn Sie zurück gehen ohne zu speichern.",
"no-videoconf-provider-app-header": "Telefonkonferenz nicht verfügbar",
"no-videoconf-provider-app-body": "Telefonkonferenz-Apps können auf dem Rocket.Chat-Marktplatz von einem Arbeitsbereich-Administrator installiert werden.",
"admin-no-videoconf-provider-app-header": "Telefonkonferenz nicht aktiviert",
"admin-no-videoconf-provider-app-body": "Apps für Telefonkonferenzen sind auf dem Rocket.Chat-Marktplatz erhältlich.",
"no-active-video-conf-provider-header": "Telefonkonferenz nicht aktiviert",
"no-active-video-conf-provider-body": "Ein Arbeitsbereich-Administrator muss zuerst die Funktion für Telefonkonferenzen aktivieren.",
"admin-no-active-video-conf-provider-header": "Telefonkonferenz nicht aktiviert",
"admin-no-active-video-conf-provider-body": "Konfigurieren Sie Telefonkonferenzen, um sie auf diesem Arbeitsbereich verfügbar zu machen.",
"video-conf-provider-not-configured-header": "Telefonkonferenz nicht aktiviert",
"video-conf-provider-not-configured-body": "Ein Arbeitsbereich-Administrator muss die Funktion für Telefonkonferenzen zuerst aktivieren.",
"admin-video-conf-provider-not-configured-header": "Telefonkonferenz nicht aktiviert",
"admin-video-conf-provider-not-configured-body": "Konfigurieren Sie Telefonkonferenzen, um sie auf diesem Arbeitsbereich verfügbar zu machen.",
"Presence_Cap_Warning_Title": "Benutzerstatus vorübergehend deaktiviert",
"Presence_Cap_Warning_Description": "Die Anzahl der aktiven Verbindungen hat das Limit für den Arbeitsbereich erreicht. Daher ist der Dienst, der den Benutzerstatus verwaltet, deaktiviert. Er kann in den Arbeitsbereichseinstellungen manuell wieder aktiviert werden.",
"Learn_more": "Mehr erfahren",
"and_N_more": "und {{count}} weitere" "and_N_more": "und {{count}} weitere"
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,83 +1,19 @@
{ {
"1_person_reacted": "1 persona reaccionó", "1_person_reacted": "1 persona reaccionó",
"1_user": "1 usuario",
"error-action-not-allowed": "{{action}} no permitida", "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-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-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-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-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": "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-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-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-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-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-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.", "error-you-are-last-owner": "Eres el único propietario existente. Debes establecer un nuevo propietario antes de abandonar la sala.",
"Actions": "Acciones", "Actions": "Acciones",
"Activity": "Actividad", "Activity": "Actividad",
"Add_Reaction": "Añadir reacción",
"Add_Server": "Añadir servidor", "Add_Server": "Añadir servidor",
"Admin_Panel": "Panel de Control", "Admin_Panel": "Panel de Control",
"Alert": "Alerta", "Alert": "Alerta",
@ -87,8 +23,6 @@
"All": "Todos", "All": "Todos",
"All_Messages": "Todos los mensajes", "All_Messages": "Todos los mensajes",
"Allow_Reactions": "Permitir reacciones", "Allow_Reactions": "Permitir reacciones",
"Alphabetical": "Alfabético",
"and_more": "y más",
"and": "y", "and": "y",
"announcement": "anuncio", "announcement": "anuncio",
"Announcement": "Anuncio", "Announcement": "Anuncio",
@ -98,18 +32,14 @@
"are_typing": "están escribiendo", "are_typing": "están escribiendo",
"Are_you_sure_question_mark": "¿Estás seguro?", "Are_you_sure_question_mark": "¿Estás seguro?",
"Are_you_sure_you_want_to_leave_the_room": "¿Deseas salir de la sala {{room}}?", "Are_you_sure_you_want_to_leave_the_room": "¿Deseas salir de la sala {{room}}?",
"Audio": "Audio",
"Authenticating": "Autenticando",
"Automatic": "Automático", "Automatic": "Automático",
"Auto_Translate": "Traducción automática", "Auto_Translate": "Traducción automática",
"Avatar_changed_successfully": "¡Avatar modificado correctamente!", "Avatar_changed_successfully": "¡Avatar modificado correctamente!",
"Avatar_Url": "URL del Avatar", "Avatar_Url": "URL del Avatar",
"Away": "Ausente", "Away": "Ausente",
"Back": "Volver",
"Black": "Negro", "Black": "Negro",
"Block_user": "Bloquear usuario", "Block_user": "Bloquear usuario",
"Busy": "Ocupado", "Busy": "Ocupado",
"By_proceeding_you_are_agreeing": "Al proceder estarás de acuerdo",
"Cancel_editing": "Cancelar edición", "Cancel_editing": "Cancelar edición",
"Cancel_recording": "Cancelar grabación", "Cancel_recording": "Cancelar grabación",
"Cancel": "Cancelar", "Cancel": "Cancelar",
@ -125,12 +55,9 @@
"Choose": "Seleccionar", "Choose": "Seleccionar",
"Choose_from_library": "Seleccionar desde galería", "Choose_from_library": "Seleccionar desde galería",
"Choose_file": "Seleccionar archivo", "Choose_file": "Seleccionar archivo",
"Code": "Código",
"Collaborative": "Colaborativo", "Collaborative": "Colaborativo",
"Confirm": "Confirmar", "Confirm": "Confirmar",
"Connect": "Conectar", "Connect": "Conectar",
"Connected": "Conectado",
"connecting_server": "conectando al servidor",
"Connecting": "Conectando...", "Connecting": "Conectando...",
"Contact_us": "Contacta con nosotros", "Contact_us": "Contacta con nosotros",
"Contact_your_server_admin": "Contacta con el administrador.", "Contact_your_server_admin": "Contacta con el administrador.",
@ -154,139 +81,103 @@
"deleting_room": "eliminando sala", "deleting_room": "eliminando sala",
"description": "descripción", "description": "descripción",
"Description": "Descripción", "Description": "Descripción",
"Desktop_Options": "Opciones de escritorio",
"Directory": "Directorio", "Directory": "Directorio",
"Direct_Messages": "Mensajes directos", "Direct_Messages": "Mensajes directos",
"Disable_notifications": "Desactivar notificaciones",
"Discussions": "Conversaciones", "Discussions": "Conversaciones",
"Dont_Have_An_Account": "¿Todavía no tienes una cuenta?", "Dont_Have_An_Account": "¿Todavía no tienes una cuenta?",
"Do_you_have_a_certificate": "¿Tienes un certificado?", "Do_you_have_a_certificate": "¿Tienes un certificado?",
"Do_you_really_want_to_key_this_room_question_mark": "¿Deseas {{key}} de esta sala?", "Do_you_really_want_to_key_this_room_question_mark": "¿Deseas {{key}} de esta sala?",
"edit": "editar",
"edited": "editado",
"Edit": "Editar", "Edit": "Editar",
"Email_or_password_field_is_empty": "El email o la contraseña están vacíos",
"Email": "E-mail", "Email": "E-mail",
"email": "e-mail",
"Enable_Auto_Translate": "Permitir Auto-Translate", "Enable_Auto_Translate": "Permitir Auto-Translate",
"Enable_notifications": "Permitir notificaciones",
"Everyone_can_access_this_channel": "Todos los usuarios pueden acceder a este canal", "Everyone_can_access_this_channel": "Todos los usuarios pueden acceder a este canal",
"Error_uploading": "Error en la subida", "Error_uploading": "Error en la subida",
"Favorites": "Favoritos", "Favorites": "Favoritos",
"Files": "Archivos", "Files": "Archivos",
"File_description": "Descripción del archivo", "File_description": "Descripción del archivo",
"File_name": "Nombre del archivo",
"Finish_recording": "Finalizar grabación", "Finish_recording": "Finalizar grabación",
"Following_thread": "Siguiendo hilo", "Following_thread": "Siguiendo hilo",
"For_your_security_you_must_enter_your_current_password_to_continue": "Por seguridad, debes introducir tu contraseña para continuar", "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_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": "¿Ha olvidado su contraseña?",
"Forgot_Password": "Olvidé la contraseña",
"Full_table": "Click para ver la tabla completa", "Full_table": "Click para ver la tabla completa",
"Get_link": "Obtener enlace", "Get_link": "Obtener enlace",
"In_App_And_Desktop": "En la aplicación y en el escritorio", "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", "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", "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", "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}}.", "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", "Join": "Conectar",
"Just_invited_people_can_access_this_channel": "Sólo gente invitada puede acceder a este canal.", "Just_invited_people_can_access_this_channel": "Sólo gente invitada puede acceder a este canal.",
"Language": "Idioma", "Language": "Idioma",
"last_message": "último mensaje", "last_message": "último mensaje",
"Leave_channel": "Abandonar el canal",
"leaving_room": "abandonando sala", "leaving_room": "abandonando sala",
"leave": "abandonar", "leave": "abandonar",
"Legal": "Legal", "Legal": "Legal",
"Light": "Claro", "Light": "Claro",
"License": "Licencia", "License": "Licencia",
"Livechat": "LiveChat",
"Login": "Inicio de sesión", "Login": "Inicio de sesión",
"Login_error": "¡Sus credenciales fueron rechazadas! Por favor, inténtelo de nuevo.", "Login_error": "¡Sus credenciales fueron rechazadas! Por favor, inténtelo de nuevo.",
"Login_with": "Iniciar sesión con",
"Logout": "Cerrar sesión", "Logout": "Cerrar sesión",
"members": "miembros", "members": "miembros",
"Members": "Miembros", "Members": "Miembros",
"Mentioned_Messages": "Mensajes mencionados",
"mentioned": "mencionado",
"Mentions": "Menciones", "Mentions": "Menciones",
"Message_accessibility": "Mensaje de {{user}} a las {{time}}: {{message}}",
"Message_actions": "Acciones de mensaje", "Message_actions": "Acciones de mensaje",
"Message_pinned": "Mensaje fijado", "Message_pinned": "Mensaje fijado",
"Message_removed": "Mensaje eliminado", "Message_removed": "Mensaje eliminado",
"message": "mensaje", "message": "mensaje",
"messages": "mensajes", "messages": "mensajes",
"Messages": "Mensajes",
"Message_Reported": "Mensaje notificado", "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", "Mute": "Mutear",
"muted": "muteado", "muted": "muteado",
"My_servers": "Mis servidores",
"N_people_reacted": "Han reaccionado {{n}} personas", "N_people_reacted": "Han reaccionado {{n}} personas",
"N_users": "{{n}} usuarios", "N_users": "{{n}} usuarios",
"Name": "Nombre", "Name": "Nombre",
"New_Message": "Nuevo mensaje", "New_Message": "Nuevo mensaje",
"New_Password": "Nueva contraseña", "New_Password": "Nueva contraseña",
"New_Server": "Nuevo servidor",
"Next": "Siguiente", "Next": "Siguiente",
"No_files": "No hay archivos", "No_files": "No hay archivos",
"No_mentioned_messages": "No hay mensajes mencionados", "No_mentioned_messages": "No hay mensajes mencionados",
"No_pinned_messages": "No hay mensajes fijados", "No_pinned_messages": "No hay mensajes fijados",
"No_results_found": "No hay resultados", "No_results_found": "No hay resultados",
"No_starred_messages": "No hay mensajes destacados", "No_starred_messages": "No hay mensajes destacados",
"No_thread_messages": "No hay hilos",
"No_Message": "Sin mensajes", "No_Message": "Sin mensajes",
"No_messages_yet": "No hay mensajes todavía", "No_messages_yet": "No hay mensajes todavía",
"No_Reactions": "No hay reacciones", "No_Reactions": "No hay reacciones",
"No_Read_Receipts": "No hay confirmaciones de lectura", "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}}", "Not_RC_Server": "Esto no es un servidor de Rocket.Chat.\n{{contact}}",
"Nothing": "Nada", "Nothing": "Nada",
"Nothing_to_save": "¡No hay nada por guardar!", "Nothing_to_save": "¡No hay nada por guardar!",
"Notify_active_in_this_room": "Notificar a los usuarios activos en esta sala", "Notify_active_in_this_room": "Notificar a los usuarios activos en esta sala",
"Notify_all_in_this_room": "Notificar a todos en esta sala", "Notify_all_in_this_room": "Notificar a todos en esta sala",
"Notifications": "Notificaciones", "Notifications": "Notificaciones",
"Notification_Duration": "Duración de la notificación",
"Notification_Preferences": "Configuración de notificaciones", "Notification_Preferences": "Configuración de notificaciones",
"Offline": "Sin conexión",
"Oops": "Oops!", "Oops": "Oops!",
"Onboarding_title": "Bienvenido a Rocket.Chat",
"Online": "Conectado", "Online": "Conectado",
"Only_authorized_users_can_write_new_messages": "Sólo pueden escribir mensajes usuarios autorizados", "Only_authorized_users_can_write_new_messages": "Sólo pueden escribir mensajes usuarios autorizados",
"Open_emoji_selector": "Abrir selector de emojis", "Open_emoji_selector": "Abrir selector de emojis",
"Open_Source_Communication": "Comunicación Open Source",
"Password": "Contraseña", "Password": "Contraseña",
"Permalink_copied_to_clipboard": "¡Enlace permanente copiado al portapapeles!", "Permalink_copied_to_clipboard": "¡Enlace permanente copiado al portapapeles!",
"Pin": "Fijar", "Pin": "Fijar",
"Pinned_Messages": "Mensajes fijados",
"pinned": "fijado",
"Pinned": "Fijado", "Pinned": "Fijado",
"Please_enter_your_password": "Por favor introduce la contraseña", "Please_enter_your_password": "Por favor introduce la contraseña",
"Preferences": "Preferencias", "Preferences": "Preferencias",
"Preferences_saved": "¡Preferencias guardadas!",
"Privacy_Policy": "Política de privacidad", "Privacy_Policy": "Política de privacidad",
"Private": "Privado", "Private": "Privado",
"Processing": "Procesando...", "Processing": "Procesando...",
"Profile_saved_successfully": "¡Perfil guardado correctamente!", "Profile_saved_successfully": "¡Perfil guardado correctamente!",
"Profile": "Perfil", "Profile": "Perfil",
"Public_Channel": "Canal público",
"Public": "Público", "Public": "Público",
"Push_Notifications": "Notificaciones Push", "Push_Notifications": "Notificaciones Push",
"Push_Notifications_Alert_Info": "Estas notificaciones se le entregan cuando la aplicación no está abierta", "Push_Notifications_Alert_Info": "Estas notificaciones se le entregan cuando la aplicación no está abierta",
"Quote": "Citar", "Quote": "Citar",
"Reactions_are_disabled": "Las reacciones están desactivadas", "Reactions_are_disabled": "Las reacciones están desactivadas",
"Reactions_are_enabled": "Las reacciones están activadas", "Reactions_are_enabled": "Las reacciones están activadas",
"Reactions": "Reacciones",
"Read_Only": "Sólo lectura ", "Read_Only": "Sólo lectura ",
"Read_Receipt": "Comprobante de lectura", "Read_Receipt": "Comprobante de lectura",
"Receive_Group_Mentions": "Recibir menciones de grupo", "Receive_Group_Mentions": "Recibir menciones de grupo",
"Receive_Group_Mentions_Info": "Recibir menciones @all y @here", "Receive_Group_Mentions_Info": "Recibir menciones @all y @here",
"Register": "Registrar", "Register": "Registrar",
"Repeat_Password": "Repetir contraseña",
"Replied_on": "Respondido el:",
"replies": "respuestas", "replies": "respuestas",
"reply": "respuesta", "reply": "respuesta",
"Reply": "Respuesta", "Reply": "Respuesta",
@ -298,13 +189,8 @@
"resetting_password": "reseteando contraseña", "resetting_password": "reseteando contraseña",
"RESET": "RESET", "RESET": "RESET",
"Roles": "Roles", "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_Files": "Archivos",
"Room_Info_Edit": "Editar información de la sala", "Room_Info_Edit": "Editar información de la sala",
"Room_Info": "Información de la sala", "Room_Info": "Información de la sala",
"Room_Members": "Miembros de la sala",
"SAVE": "GUARDAR", "SAVE": "GUARDAR",
"Save_Changes": "Guardar cambios", "Save_Changes": "Guardar cambios",
"Save": "Guardar", "Save": "Guardar",
@ -316,8 +202,6 @@
"Search_by": "Buscar por", "Search_by": "Buscar por",
"Search_global_users": "Buscar por usuarios globales", "Search_global_users": "Buscar por usuarios globales",
"Search_global_users_description": "Si lo activas, puedes buscar cualquier usuario de otras empresas o servidores.", "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_Server": "Selecciona servidor",
"Select_Users": "Selecciona usuarios", "Select_Users": "Selecciona usuarios",
"Send": "Enviar", "Send": "Enviar",
@ -325,48 +209,34 @@
"Send_crash_report": "Enviar informe errores", "Send_crash_report": "Enviar informe errores",
"Send_message": "Enviar mensaje", "Send_message": "Enviar mensaje",
"Send_to": "Enviar a..", "Send_to": "Enviar a..",
"Sent_an_attachment": "Enviar un adjunto",
"Server": "Servidor", "Server": "Servidor",
"Servers": "Servidores",
"Server_version": "Versión servidor: {{version}}", "Server_version": "Versión servidor: {{version}}",
"Set_username_subtitle": "El nombre de usuario se utiliza para permitir que otros le mencionen en los mensajes", "Set_username_subtitle": "El nombre de usuario se utiliza para permitir que otros le mencionen en los mensajes",
"Settings": "Configuración", "Settings": "Configuración",
"Settings_succesfully_changed": "¡Configuración cambiada correctamente!", "Settings_succesfully_changed": "¡Configuración cambiada correctamente!",
"Share": "Compartir", "Share": "Compartir",
"Share_this_app": "Compartir esta aplicación", "Share_this_app": "Compartir esta aplicación",
"Sign_in_your_server": "Accede a tu servidor",
"Sign_Up": "Registrarse", "Sign_Up": "Registrarse",
"Some_field_is_invalid_or_empty": "Algún campo no es correcto o está vacío",
"Sound": "Sonido", "Sound": "Sonido",
"Star_room": "Destacar sala",
"Star": "Destacar", "Star": "Destacar",
"Starred_Messages": "Mensajes destacados",
"starred": "destacado",
"Starred": "Destacado", "Starred": "Destacado",
"Start_of_conversation": "Comienzo de la conversación",
"Started_discussion": "Comenzar una conversación:", "Started_discussion": "Comenzar una conversación:",
"Started_call": "Llamada iniciada por {{userBy}}", "Started_call": "Llamada iniciada por {{userBy}}",
"Submit": "Enviar",
"Table": "Tabla", "Table": "Tabla",
"Take_a_photo": "Enviar una foto", "Take_a_photo": "Enviar una foto",
"Take_a_video": "Enviar un vídeo", "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", "Terms_of_Service": "Términos de servicio",
"Theme": "Tema", "Theme": "Tema",
"There_was_an_error_while_action": "¡Ha habido un error mientras {{action}}!", "There_was_an_error_while_action": "¡Ha habido un error mientras {{action}}!",
"This_room_is_blocked": "La sala está bloqueada", "This_room_is_blocked": "La sala está bloqueada",
"This_room_is_read_only": "Esta sala es de sólo lectura", "This_room_is_read_only": "Esta sala es de sólo lectura",
"Thread": "Hilo",
"Threads": "Hilos", "Threads": "Hilos",
"Timezone": "Zona horaria", "Timezone": "Zona horaria",
"To": "Para",
"topic": "asunto", "topic": "asunto",
"Topic": "Asunto", "Topic": "Asunto",
"Translate": "Traducir", "Translate": "Traducir",
"Try_again": "Intentar de nuevo", "Try_again": "Intentar de nuevo",
"Two_Factor_Authentication": "Autenticación de doble factor", "Two_Factor_Authentication": "Autenticación de doble factor",
"Type_the_channel_name_here": "Escribe el nombre del canal aquí",
"unarchive": "desarchivar", "unarchive": "desarchivar",
"UNARCHIVE": "DESARCHIVAR", "UNARCHIVE": "DESARCHIVAR",
"Unblock_user": "Desbloquear usuario", "Unblock_user": "Desbloquear usuario",
@ -380,26 +250,17 @@
"Unstar": "Quitar destacado", "Unstar": "Quitar destacado",
"Updating": "Actualizando...", "Updating": "Actualizando...",
"Uploading": "Subiendo", "Uploading": "Subiendo",
"Upload_file_question_mark": "¿Subir fichero?",
"Users": "Usuarios", "Users": "Usuarios",
"User_has_been_key": "El usuario ha sido {{key}}", "User_has_been_key": "El usuario ha sido {{key}}",
"User_is_no_longer_role_by_": "{{user}} ha dejado de ser {{role}} por {{userBy}}",
"User_sent_an_attachment": "{{user}} envío un adjunto", "User_sent_an_attachment": "{{user}} envío un adjunto",
"Username_is_empty": "Nombre de usuario está vacío",
"Username": "Nombre de usuario", "Username": "Nombre de usuario",
"Username_or_email": "Nombre de usuario o email", "Username_or_email": "Nombre de usuario o email",
"Validating": "Validando",
"Video_call": "Vídeo llamada",
"View_Original": "Ver original", "View_Original": "Ver original",
"Voice_call": "Llamada de voz",
"Websocket_disabled": "Websocket está deshabilitado para este servidor.\n{{contact}}", "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", "Without_Servers": "Sin servidores",
"Yes_action_it": "Sí, ¡{{action}}!", "Yes_action_it": "Sí, ¡{{action}}!",
"Yesterday": "Ayer", "Yesterday": "Ayer",
"You_are_in_preview_mode": "Estás en modo vista previa", "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_can_search_using_RegExp_eg": "Puedes usar expresiones regulares. Por ejemplo, `/^text$/i`",
"You_colon": "Tú: ", "You_colon": "Tú: ",
"you_were_mentioned": "has sido mencionado", "you_were_mentioned": "has sido mencionado",
@ -412,19 +273,8 @@
"Change_Language": "Cambiar idioma", "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.", "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", "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", "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", "Add_server": "Añadir servidor",
"New_line": "Nueva línea",
"Broadcast_hint": "Sólo los usuarios autorizados pueden escribir nuevos mensajes, el resto podrán responder sobre los mismos.", "Broadcast_hint": "Sólo los usuarios autorizados pueden escribir nuevos mensajes, el resto podrán responder sobre los mismos.",
"and_N_more": "y {{count}} más" "and_N_more": "y {{count}} más"
} }

View File

@ -2,93 +2,25 @@
"__count__empty_rooms_will_be_removed_automatically": "{{count}} tyhjää huonetta poistetaan.", "__count__empty_rooms_will_be_removed_automatically": "{{count}} tyhjää huonetta poistetaan.",
"__count__empty_room_will_be_removed_automatically": "{{count}} tyhjä huone poistetaan.", "__count__empty_room_will_be_removed_automatically": "{{count}} tyhjä huone poistetaan.",
"1_person_reacted": "1 henkilö reagoi", "1_person_reacted": "1 henkilö reagoi",
"1_user": "1 käyttäjä",
"error-action-not-allowed": "{{action}} ei ole sallittu", "error-action-not-allowed": "{{action}} ei ole sallittu",
"error-application-not-found": "Sovellusta ei löydy",
"error-archived-duplicate-name": "Nimellä {{room_name}} on arkistoitu kanava",
"error-avatar-invalid-url": "Virheellinen avatarin URL-osoite: {{url}}", "error-avatar-invalid-url": "Virheellinen avatarin URL-osoite: {{url}}",
"error-avatar-url-handling": "Virhe käsiteltäessä avatarin asetusta URL-osoitteesta ({{url}}) käyttäjälle {{username}}",
"error-cant-invite-for-direct-room": "Et voi kutsua käyttäjää suoriin huoneisiin",
"error-could-not-change-email": "Ei voitu vaihtaa sähköpostia",
"error-could-not-change-name": "Ei voitu vaihtaa nimeä",
"error-could-not-change-username": "Ei voitu vaihtaa käyttäjätunnusta",
"error-could-not-change-status": "Ei voitu vaihtaa tilaa",
"error-delete-protected-role": "Ei voi poistaa suojattua roolia",
"error-department-not-found": "Osastoa ei löydy",
"error-direct-message-file-upload-not-allowed": "Tiedostojen jakaminen ei ole sallittua suorissa viesteissä",
"error-duplicate-channel-name": "Kanava nimeltä {{room_name}} on jo olemassa", "error-duplicate-channel-name": "Kanava nimeltä {{room_name}} on jo olemassa",
"error-email-domain-blacklisted": "Sähköpostin toimialue on estettyjen luettelossa",
"error-email-send-failed": "Virhe yritettäessä lähettää sähköpostia: {{message}}", "error-email-send-failed": "Virhe yritettäessä lähettää sähköpostia: {{message}}",
"error-save-image": "Virhe tallennettaessa kuvaa", "error-save-image": "Virhe tallennettaessa kuvaa",
"error-save-video": "Virhe tallennettaessa videota", "error-save-video": "Virhe tallennettaessa videota",
"error-field-unavailable": "{{field}} on jo käytössä :(",
"error-file-too-large": "Tiedosto on liian suuri", "error-file-too-large": "Tiedosto on liian suuri",
"error-not-permission-to-upload-file": "Sinulla ei ole oikeutta ladata tiedostoja", "error-not-permission-to-upload-file": "Sinulla ei ole oikeutta ladata tiedostoja",
"error-importer-not-defined": "Tuontia ei ole määritetty oikein, siitä puuttuu Import-luokka.",
"error-input-is-not-a-valid-field": "{{input}} ei ole kelvollinen {{field}}",
"error-invalid-actionlink": "Virheellinen toimintalinkki",
"error-invalid-arguments": "Virheelliset argumentit",
"error-invalid-asset": "Virheellinen resurssi",
"error-invalid-channel": "Virheellinen kanava.",
"error-invalid-channel-start-with-chars": "Virheellinen kanava. Aloita @- tai #-merkillä",
"error-invalid-custom-field": "Virheellinen mukautettu kenttä",
"error-invalid-custom-field-name": "Virheellinen mukautetun kentän nimi. Käytä vain kirjaimia, numeroita, yhdysviivoja ja alaviivoja.",
"error-invalid-date": "Virheellinen päivämäärä.",
"error-invalid-description": "Virheellinen kuvaus",
"error-invalid-domain": "Virheellinen toimialue",
"error-invalid-email": "Virheellinen sähköposti {{email}}", "error-invalid-email": "Virheellinen sähköposti {{email}}",
"error-invalid-email-address": "Virheellinen sähköpostiosoite",
"error-invalid-file-height": "Virheellinen tiedoston korkeus",
"error-invalid-file-type": "Virheellinen tiedostotyyppi", "error-invalid-file-type": "Virheellinen tiedostotyyppi",
"error-invalid-file-width": "Virheellinen tiedoston leveys",
"error-invalid-from-address": "Virheellinen lähettäjän osoite.",
"error-invalid-integration": "Virheellinen integraatio",
"error-invalid-message": "Virheellinen viesti",
"error-invalid-method": "Virheellinen tapa",
"error-invalid-name": "Virheellinen nimi",
"error-invalid-password": "Virheellinen salasana", "error-invalid-password": "Virheellinen salasana",
"error-invalid-redirectUri": "Virheellinen redirectUri",
"error-invalid-role": "Virheellinen rooli",
"error-invalid-room": "Virheellinen huone",
"error-invalid-room-name": "{{room_name}} ei ole kelvollinen huoneen nimi", "error-invalid-room-name": "{{room_name}} ei ole kelvollinen huoneen nimi",
"error-invalid-room-type": "{{type}} ei ole kelvollinen huoneen tyyppi.",
"error-invalid-settings": "Asetukset ovat virheelliset",
"error-invalid-subscription": "Virheellinen tilaus",
"error-invalid-token": "Virheellinen tunnus",
"error-invalid-triggerWords": "Virheelliset triggerWords-sanat",
"error-invalid-urls": "Virheelliset URL-osoitteet",
"error-invalid-user": "Virheellinen käyttäjä",
"error-invalid-username": "Virheellinen käyttäjätunnus",
"error-invalid-webhook-response": "Webhook-URL ilmoitti muun tilan kuin 200",
"error-message-deleting-blocked": "Viestin poistaminen on estetty",
"error-message-editing-blocked": "Viestin muokkaus on estetty",
"error-message-size-exceeded": "Viestin koko on yli Message_MaxAllowedSize",
"error-missing-unsubscribe-link": "Sinun on annettava [unsubscribe] -linkki.",
"error-no-owner-channel": "Et omista kanavaa",
"error-no-tokens-for-this-user": "Käyttäjällä ei ole tunnuksia",
"error-not-allowed": "Ei sallittu", "error-not-allowed": "Ei sallittu",
"error-not-authorized": "Ei valtuutettu",
"error-push-disabled": "Push-ilmoitukset ovat poissa käytöstä",
"error-remove-last-owner": "Tämä on viimeinen omistaja. Aseta uusi omistaja ennen kuin poistat tämän.",
"error-role-in-use": "Roolia ei voi poistaa, koska se on käytössä",
"error-role-name-required": "Roolin nimi on pakollinen",
"error-password-same-as-current": "Annettu salasana sama kuin nykyinen salasana",
"error-the-field-is-required": "Kenttä {{field}} on pakollinen.",
"error-too-many-requests": "Virhe, liikaa pyyntöjä. Hidasta vähän. Odota {{seconds}} sekuntia ennen uutta yritystä.", "error-too-many-requests": "Virhe, liikaa pyyntöjä. Hidasta vähän. Odota {{seconds}} sekuntia ennen uutta yritystä.",
"error-user-is-not-activated": "Käyttäjää ei ole aktivoitu",
"error-user-has-no-roles": "Käyttäjällä ei ole rooleja",
"error-user-limit-exceeded": "Käyttäjien määrä, jonka yrität kutsua kanavalle #channel_name, ylittää järjestelmänvalvojan asettaman rajan",
"error-user-not-in-room": "Käyttäjä ei ole tässä huoneessa",
"error-user-registration-custom-field": "error-user-registration-custom-field",
"error-user-registration-disabled": "Käyttäjän rekisteröinti on poissa käytöstä",
"error-user-registration-secret": "Käyttäjän rekisteröinti on sallittu ainoastaan salaisen URL-osoitteen kautta",
"error-you-are-last-owner": "Olet viimeinen omistaja. Aseta uusi omistaja ennen huoneesta lähtöä.", "error-you-are-last-owner": "Olet viimeinen omistaja. Aseta uusi omistaja ennen huoneesta lähtöä.",
"error-status-not-allowed": "Näkymätön tila on poistettu käytöstä",
"A_new_owner_will_be_assigned_automatically_to__count__rooms": "Uusi omistaja liitetään automaattisesti {{count}} huoneeseen.", "A_new_owner_will_be_assigned_automatically_to__count__rooms": "Uusi omistaja liitetään automaattisesti {{count}} huoneeseen.",
"A_new_owner_will_be_assigned_automatically_to__count__room": "Uusi omistaja liitetään automaattisesti {{count}} huoneeseen.", "A_new_owner_will_be_assigned_automatically_to__count__room": "Uusi omistaja liitetään automaattisesti {{count}} huoneeseen.",
"Actions": "Toimet", "Actions": "Toimet",
"Activity": "Toiminta", "Activity": "Toiminta",
"Add_Reaction": "Lisää reaktio",
"Add_Server": "Lisää palvelin", "Add_Server": "Lisää palvelin",
"Add_users": "Lisää käyttäjiä", "Add_users": "Lisää käyttäjiä",
"Admin_Panel": "Hallintapaneeli", "Admin_Panel": "Hallintapaneeli",
@ -102,8 +34,6 @@
"All": "Kaikki", "All": "Kaikki",
"All_Messages": "Kaikki viestit", "All_Messages": "Kaikki viestit",
"Allow_Reactions": "Salli reaktiot", "Allow_Reactions": "Salli reaktiot",
"Alphabetical": "Aakkosjärjestys",
"and_more": "ja muuta",
"and": "ja", "and": "ja",
"announcement": "ilmoitus", "announcement": "ilmoitus",
"Announcement": "Ilmoitus", "Announcement": "Ilmoitus",
@ -115,19 +45,15 @@
"Are_you_sure_you_want_to_delete_your_account": "Haluatko varmasti poistaa tilisi?", "Are_you_sure_you_want_to_delete_your_account": "Haluatko varmasti poistaa tilisi?",
"Deleting_a_user_will_delete_all_messages": "Käyttäjän poistaminen poistaa myös kaikki kyseisen käyttäjän viestit, huoneet ja tiimit. Tätä ei voi kumota.", "Deleting_a_user_will_delete_all_messages": "Käyttäjän poistaminen poistaa myös kaikki kyseisen käyttäjän viestit, huoneet ja tiimit. Tätä ei voi kumota.",
"Are_you_sure_you_want_to_leave_the_room": "Haluatko varmasti poistua huoneesta {{room}}?", "Are_you_sure_you_want_to_leave_the_room": "Haluatko varmasti poistua huoneesta {{room}}?",
"Audio": "Ääni",
"Authenticating": "Todennetaan",
"Automatic": "Automaattinen", "Automatic": "Automaattinen",
"Auto_Translate": "Automaattikäännös", "Auto_Translate": "Automaattikäännös",
"Avatar_changed_successfully": "Avatar on vaihdettu!", "Avatar_changed_successfully": "Avatar on vaihdettu!",
"Avatar_Url": "Avatarin URL-osoite", "Avatar_Url": "Avatarin URL-osoite",
"Away": "Poissa", "Away": "Poissa",
"Back": "Takaisin",
"Black": "Musta", "Black": "Musta",
"Block_user": "Estä käyttäjä", "Block_user": "Estä käyttäjä",
"Browser": "Selain", "Browser": "Selain",
"Busy": "Varattu", "Busy": "Varattu",
"By_proceeding_you_are_agreeing": "Jatkamalla hyväksyt",
"Cancel_editing": "Peruuta muokkaus", "Cancel_editing": "Peruuta muokkaus",
"Cancel_recording": "Peruuta tallennus", "Cancel_recording": "Peruuta tallennus",
"Cancel": "Peruuta", "Cancel": "Peruuta",
@ -146,21 +72,17 @@
"Click_to_join": "Liity napsauttamalla!", "Click_to_join": "Liity napsauttamalla!",
"Close": "Sulje", "Close": "Sulje",
"Close_emoji_selector": "Sulje emojien valitsin", "Close_emoji_selector": "Sulje emojien valitsin",
"Closing_chat": "Suljetaan keskustelua",
"Change_language_loading": "Vaihdetaan kieltä.", "Change_language_loading": "Vaihdetaan kieltä.",
"Chat_closed_by_agent": "Agentti sulki keskustelun", "Chat_closed_by_agent": "Agentti sulki keskustelun",
"Choose": "Valitse", "Choose": "Valitse",
"Choose_from_library": "Valitse kirjastosta", "Choose_from_library": "Valitse kirjastosta",
"Choose_file": "Valitse tiedosto", "Choose_file": "Valitse tiedosto",
"Choose_where_you_want_links_be_opened": "Valitse, missä linkit avataan", "Choose_where_you_want_links_be_opened": "Valitse, missä linkit avataan",
"Code": "Koodi",
"Code_or_password_invalid": "Koodi tai salasana virheellinen", "Code_or_password_invalid": "Koodi tai salasana virheellinen",
"Conversation_closed": "Keskustelu suljettu", "Conversation_closed": "Keskustelu suljettu",
"Collaborative": "Yhteistyö", "Collaborative": "Yhteistyö",
"Confirm": "Vahvista", "Confirm": "Vahvista",
"Connect": "Yhdistä", "Connect": "Yhdistä",
"Connected": "Yhdistetty",
"connecting_server": "yhdistää palvelimeen",
"Connecting": "Yhdistetään...", "Connecting": "Yhdistetään...",
"Contact_us": "Ota yhteyttä", "Contact_us": "Ota yhteyttä",
"Contact_your_server_admin": "Ota yhteys palvelimen järjestelmänvalvojaan.", "Contact_your_server_admin": "Ota yhteys palvelimen järjestelmänvalvojaan.",
@ -179,7 +101,6 @@
"Created_snippet": "loi katkelman", "Created_snippet": "loi katkelman",
"Create_a_new_workspace": "Luo uusi työtila", "Create_a_new_workspace": "Luo uusi työtila",
"Create": "Luo", "Create": "Luo",
"Custom_Status": "Mukautettu tila",
"Dark": "Tumma", "Dark": "Tumma",
"Dark_level": "Tumman taso", "Dark_level": "Tumman taso",
"Default": "Oletus", "Default": "Oletus",
@ -195,16 +116,13 @@
"deleting_room": "poistaa huonetta", "deleting_room": "poistaa huonetta",
"description": "kuvaus", "description": "kuvaus",
"Description": "Kuvaus", "Description": "Kuvaus",
"Desktop_Options": "Työpöytäasetukset",
"Desktop_Notifications": "Työpöytäilmoitukset", "Desktop_Notifications": "Työpöytäilmoitukset",
"Desktop_Alert_info": "Nämä ilmoitukset näkyvät työpöydällä", "Desktop_Alert_info": "Nämä ilmoitukset näkyvät työpöydällä",
"Directory": "Hakemisto", "Directory": "Hakemisto",
"Direct_Messages": "Suorat viestit", "Direct_Messages": "Suorat viestit",
"Disable_notifications": "Poista käytöstä ilmoitukset",
"Discussions": "Keskustelut", "Discussions": "Keskustelut",
"Discussion_Desc": "Pysy selvillä tapahtumista! Luomalla keskustelun luot valitsemasi kanavan alikanavan, ja keskustelut liitetään yhteen.", "Discussion_Desc": "Pysy selvillä tapahtumista! Luomalla keskustelun luot valitsemasi kanavan alikanavan, ja keskustelut liitetään yhteen.",
"Discussion_name": "Keskustelun nimi", "Discussion_name": "Keskustelun nimi",
"Done": "Valmis",
"Dont_Have_An_Account": "Eikö sinulla ole tiliä?", "Dont_Have_An_Account": "Eikö sinulla ole tiliä?",
"Do_you_have_an_account": "Onko sinulla tili?", "Do_you_have_an_account": "Onko sinulla tili?",
"Do_you_have_a_certificate": "Onko sinulla varmenne?", "Do_you_have_a_certificate": "Onko sinulla varmenne?",
@ -214,21 +132,14 @@
"E2E_How_It_Works_info2": "Tämä on *täysi salaus*, joten viestiesi salaamiseen ja salauksen purkuun käytettävää avainta ei tallenneta palvelimeen. Siksi *sinun on tallennettava tämä salasana turvalliseen paikkaan*, johon pääset myöhemmin tarvittaessa.", "E2E_How_It_Works_info2": "Tämä on *täysi salaus*, joten viestiesi salaamiseen ja salauksen purkuun käytettävää avainta ei tallenneta palvelimeen. Siksi *sinun on tallennettava tämä salasana turvalliseen paikkaan*, johon pääset myöhemmin tarvittaessa.",
"E2E_How_It_Works_info3": "Jos jatkat, täyden salauksen salasana luodaan automaattisesti.", "E2E_How_It_Works_info3": "Jos jatkat, täyden salauksen salasana luodaan automaattisesti.",
"E2E_How_It_Works_info4": "Voit myös määrittää uuden salasanan salausavaimellesi milloin tahansa missä tahansa selaimessa, jossa olet antanut nykyisen täyden salauksen salasanan.", "E2E_How_It_Works_info4": "Voit myös määrittää uuden salasanan salausavaimellesi milloin tahansa missä tahansa selaimessa, jossa olet antanut nykyisen täyden salauksen salasanan.",
"edit": "muokkaa",
"edited": "muokkasi",
"Edit": "Muokkaa", "Edit": "Muokkaa",
"Edit_Status": "Muokkaa tilaa", "Edit_Status": "Muokkaa tilaa",
"Edit_Invite": "Muokkaa kutsua", "Edit_Invite": "Muokkaa kutsua",
"End_to_end_encrypted_room": "Täysin salattu huone", "End_to_end_encrypted_room": "Täysin salattu huone",
"end_to_end_encryption": "täysi salaus",
"Email_Notification_Mode_All": "Jokainen maininta/SV", "Email_Notification_Mode_All": "Jokainen maininta/SV",
"Email_Notification_Mode_Disabled": "Ei käytössä", "Email_Notification_Mode_Disabled": "Ei käytössä",
"Email_or_password_field_is_empty": "Sähköposti- tai salasanakenttä on tyhjä",
"Email": "Sähköposti", "Email": "Sähköposti",
"email": "sähköposti",
"Empty_title": "Tyhjä otsikko",
"Enable_Auto_Translate": "Ota käyttöön automaattikäännös", "Enable_Auto_Translate": "Ota käyttöön automaattikäännös",
"Enable_notifications": "Ota käyttöön ilmoitukset",
"Encrypted": "Salattu", "Encrypted": "Salattu",
"Encrypted_message": "Salattu viesti", "Encrypted_message": "Salattu viesti",
"Enter_Your_E2E_Password": "Anna täyden salauksen salasanasi", "Enter_Your_E2E_Password": "Anna täyden salauksen salasanasi",
@ -243,13 +154,11 @@
"Favorites": "Suosikit", "Favorites": "Suosikit",
"Files": "Tiedostot", "Files": "Tiedostot",
"File_description": "Tiedoston kuvaus", "File_description": "Tiedoston kuvaus",
"File_name": "Tiedostonimi",
"Finish_recording": "Lopeta tallennus", "Finish_recording": "Lopeta tallennus",
"Following_thread": "Seurataan ketjua", "Following_thread": "Seurataan ketjua",
"For_your_security_you_must_enter_your_current_password_to_continue": "Jatka antamalla nykyinen salasanasi turvallisuussyistä", "For_your_security_you_must_enter_your_current_password_to_continue": "Jatka antamalla nykyinen salasanasi turvallisuussyistä",
"Forgot_password_If_this_email_is_registered": "Jos tämä sähköpostiosoite on rekisteröity, lähetämme salasanan nollausohjeet. Jos et saa sähköpostia pian, palaa ja yritä uudelleen.", "Forgot_password_If_this_email_is_registered": "Jos tämä sähköpostiosoite on rekisteröity, lähetämme salasanan nollausohjeet. Jos et saa sähköpostia pian, palaa ja yritä uudelleen.",
"Forgot_password": "Unohditko salasanasi?", "Forgot_password": "Unohditko salasanasi?",
"Forgot_Password": "Unohtunut salasana",
"Forward": "Välitä", "Forward": "Välitä",
"Forward_Chat": "Välitä keskustelu", "Forward_Chat": "Välitä keskustelu",
"Forward_to_department": "Välitä osastolle", "Forward_to_department": "Välitä osastolle",
@ -284,9 +193,6 @@
"In_App_And_Desktop": "Sovelluksessa ja työpöydällä", "In_App_And_Desktop": "Sovelluksessa ja työpöydällä",
"In_App_and_Desktop_Alert_info": "Näyttää bannerin näytön yläreunassa, kun sovellus on avoinna, ja näyttää ilmoituksen työpöydällä", "In_App_and_Desktop_Alert_info": "Näyttää bannerin näytön yläreunassa, kun sovellus on avoinna, ja näyttää ilmoituksen työpöydällä",
"Invisible": "Näkymätön", "Invisible": "Näkymätön",
"Invite": "Kutsu",
"is_a_valid_RocketChat_instance": "on kelvollinen Rocket.Chat-esiintymä",
"is_not_a_valid_RocketChat_instance": "ei ole kelvollinen Rocket.Chat-esiintymä",
"is_typing": "kirjoittaa", "is_typing": "kirjoittaa",
"Invalid_or_expired_invite_token": "Virheellinen tai vanhentunut kutsutunnus", "Invalid_or_expired_invite_token": "Virheellinen tai vanhentunut kutsutunnus",
"Invalid_server_version": "Palvelin, johon yrität muodostaa yhteyttä, käyttää versiota, jota sovellus ei enää tue: {{currentVersion}}.\n\nEdellytämme versiota {{minVersion}}", "Invalid_server_version": "Palvelin, johon yrität muodostaa yhteyttä, käyttää versiota, jota sovellus ei enää tue: {{currentVersion}}.\n\nEdellytämme versiota {{minVersion}}",
@ -296,34 +202,26 @@
"Join_Code": "Liittymiskoodi", "Join_Code": "Liittymiskoodi",
"Insert_Join_Code": "Lisää liittymiskoodi", "Insert_Join_Code": "Lisää liittymiskoodi",
"Join_our_open_workspace": "Liity avoimeen työtilaamme", "Join_our_open_workspace": "Liity avoimeen työtilaamme",
"Join_your_workspace": "Liity työtilaasi",
"Just_invited_people_can_access_this_channel": "Vain kutsutut ihmiset voivat käyttää tätä kanavaa", "Just_invited_people_can_access_this_channel": "Vain kutsutut ihmiset voivat käyttää tätä kanavaa",
"Just_invited_people_can_access_this_team": "Vain kutsutut ihmiset voivat käyttää tätä tiimiä", "Just_invited_people_can_access_this_team": "Vain kutsutut ihmiset voivat käyttää tätä tiimiä",
"Language": "Kieli", "Language": "Kieli",
"last_message": "viimeinen viesti", "last_message": "viimeinen viesti",
"Leave_channel": "Poistu kanavalta",
"leaving_room": "poistuu huoneesta", "leaving_room": "poistuu huoneesta",
"Leave": "Poistu", "Leave": "Poistu",
"leave": "poistu", "leave": "poistu",
"Legal": "Oikeudellinen", "Legal": "Oikeudellinen",
"Light": "Vaalea", "Light": "Vaalea",
"License": "Käyttöoikeus", "License": "Käyttöoikeus",
"Livechat": "Livechat",
"Livechat_edit": "Livechat-muokkaus",
"Livechat_transfer_return_to_the_queue": "palautti keskustelun jonoon", "Livechat_transfer_return_to_the_queue": "palautti keskustelun jonoon",
"Login": "Kirjaudu", "Login": "Kirjaudu",
"Login_error": "Tunnistetietojasi ei hyväksytty! Yritä uudelleen.", "Login_error": "Tunnistetietojasi ei hyväksytty! Yritä uudelleen.",
"Login_with": "Kirjaudu:",
"Logging_out": "Kirjaudutaan ulos.", "Logging_out": "Kirjaudutaan ulos.",
"Logout": "Kirjaudu ulos", "Logout": "Kirjaudu ulos",
"Max_number_of_uses": "Käyttökertojen enimmäismäärä", "Max_number_of_uses": "Käyttökertojen enimmäismäärä",
"Max_number_of_users_allowed_is_number": "Suurin sallittu käyttäjämäärä on {{maxUsers}}", "Max_number_of_users_allowed_is_number": "Suurin sallittu käyttäjämäärä on {{maxUsers}}",
"members": "jäsentä", "members": "jäsentä",
"Members": "Jäsenet", "Members": "Jäsenet",
"Mentioned_Messages": "Mainitut viestit",
"mentioned": "mainitsi",
"Mentions": "Maininnat", "Mentions": "Maininnat",
"Message_accessibility": "Viesti käyttäjältä {{user}} klo {{time}}: {{message}}",
"Message_actions": "Viestitoimet", "Message_actions": "Viestitoimet",
"Message_pinned": "Viesti kiinnitetty", "Message_pinned": "Viesti kiinnitetty",
"Message_removed": "viesti poistettu", "Message_removed": "viesti poistettu",
@ -332,13 +230,9 @@
"message": "viesti", "message": "viesti",
"messages": "viestiä", "messages": "viestiä",
"Message": "Viesti", "Message": "Viesti",
"Messages": "Viestit",
"Message_Reported": "Viestistä ilmoitettu", "Message_Reported": "Viestistä ilmoitettu",
"Microphone_Permission_Message": "Rocket.Chat tarvitsee mikrofonin käyttöoikeuden, jotta voit lähettää ääniviestejä.",
"Microphone_Permission": "Mikrofonin oikeus",
"Mute": "Mykistä", "Mute": "Mykistä",
"muted": "mykistetty", "muted": "mykistetty",
"My_servers": "Omat palvelimet",
"N_people_reacted": "{{n}} henkilöä reagoi", "N_people_reacted": "{{n}} henkilöä reagoi",
"N_users": "{{n}} käyttäjää", "N_users": "{{n}} käyttäjää",
"N_channels": "{{n}} kanavaa", "N_channels": "{{n}} kanavaa",
@ -347,7 +241,6 @@
"New_chat_transfer": "Uuden keskustelun siirto: {{agent}} palautti keskustelun jonoon", "New_chat_transfer": "Uuden keskustelun siirto: {{agent}} palautti keskustelun jonoon",
"New_Message": "Uusi viesti", "New_Message": "Uusi viesti",
"New_Password": "Uusi salasana", "New_Password": "Uusi salasana",
"New_Server": "Uusi palvelin",
"Next": "Seuraava", "Next": "Seuraava",
"No_files": "Ei tiedostoja", "No_files": "Ei tiedostoja",
"No_limit": "Ei rajoitusta", "No_limit": "Ei rajoitusta",
@ -356,30 +249,23 @@
"No_results_found": "Tuloksia ei löydy", "No_results_found": "Tuloksia ei löydy",
"No_members_found": "Jäseniä ei löydy", "No_members_found": "Jäseniä ei löydy",
"No_starred_messages": "Ei tähdellä merkittyjä viestejä", "No_starred_messages": "Ei tähdellä merkittyjä viestejä",
"No_thread_messages": "Ei ketjuviestejä",
"No_label_provided": "Ei merkintää {{label}} provided.", "No_label_provided": "Ei merkintää {{label}} provided.",
"No_Message": "Ei viestiä", "No_Message": "Ei viestiä",
"No_messages_yet": "Ei vielä viestejä", "No_messages_yet": "Ei vielä viestejä",
"No_Reactions": "Ei reaktioita", "No_Reactions": "Ei reaktioita",
"No_Read_Receipts": "Ei lukukuittauksia", "No_Read_Receipts": "Ei lukukuittauksia",
"Not_logged": "Ei kirjautunut",
"Not_RC_Server": "Tämä ei ole Rocket.Chat-palvelin.\n{{contact}}", "Not_RC_Server": "Tämä ei ole Rocket.Chat-palvelin.\n{{contact}}",
"Nothing": "Ei mitään", "Nothing": "Ei mitään",
"Nothing_to_save": "Ei tallennettavaa!", "Nothing_to_save": "Ei tallennettavaa!",
"Notify_active_in_this_room": "Ilmoita tämän huoneen aktiivisille käyttäjille", "Notify_active_in_this_room": "Ilmoita tämän huoneen aktiivisille käyttäjille",
"Notify_all_in_this_room": "Ilmoita kaikille tässä huoneessa", "Notify_all_in_this_room": "Ilmoita kaikille tässä huoneessa",
"Notifications": "Ilmoitukset", "Notifications": "Ilmoitukset",
"Notification_Duration": "Ilmoituksen kesto",
"Notification_Preferences": "Ilmoitusasetukset", "Notification_Preferences": "Ilmoitusasetukset",
"No_available_agents_to_transfer": "Ei vapaita agentteja siirrettäviksi", "No_available_agents_to_transfer": "Ei vapaita agentteja siirrettäviksi",
"Offline": "Offline",
"Oops": "Oho!", "Oops": "Oho!",
"Omnichannel": "Omnichannel", "Omnichannel": "Omnichannel",
"Omnichannel_enable_alert": "Et ole saavutettavissa Omnichannelissa. Haluatko olla saavutettavissa?", "Omnichannel_enable_alert": "Et ole saavutettavissa Omnichannelissa. Haluatko olla saavutettavissa?",
"Onboarding_description": "Työtila on tiimisi tai organisaatiosi tila yhteistyölle. Pyydä työtilan järjestelmänvalvojalta osoite, jotta voit liittyä työtilaan tai luoda sellaisen tiimillesi.",
"Onboarding_join_workspace": "Liity työtilaan",
"Onboarding_subtitle": "Enemmän kuin ryhmäyhteistyötä", "Onboarding_subtitle": "Enemmän kuin ryhmäyhteistyötä",
"Onboarding_title": "Tervetuloa Rocket.Chatiin",
"Onboarding_join_open_description": "Liity avoimeen työtilaamme keskustelemaan Rocket.Chat-tiimin ja -yhteisön kanssa.", "Onboarding_join_open_description": "Liity avoimeen työtilaamme keskustelemaan Rocket.Chat-tiimin ja -yhteisön kanssa.",
"Onboarding_agree_terms": "Jatkamalla hyväksyt Rocket.Chatin", "Onboarding_agree_terms": "Jatkamalla hyväksyt Rocket.Chatin",
"Onboarding_less_options": "Vähemmän vaihtoehtoja", "Onboarding_less_options": "Vähemmän vaihtoehtoja",
@ -387,7 +273,6 @@
"Online": "Online", "Online": "Online",
"Only_authorized_users_can_write_new_messages": "Vain valtuutetut käyttäjät voivat kirjoittaa uusia viestejä", "Only_authorized_users_can_write_new_messages": "Vain valtuutetut käyttäjät voivat kirjoittaa uusia viestejä",
"Open_emoji_selector": "Avaa emojien valitsin", "Open_emoji_selector": "Avaa emojien valitsin",
"Open_Source_Communication": "Avoimen lähdekoodin viestintä",
"Open_your_authentication_app_and_enter_the_code": "Avaa todennussovellus ja anna koodi.", "Open_your_authentication_app_and_enter_the_code": "Avaa todennussovellus ja anna koodi.",
"OR": "TAI", "OR": "TAI",
"OS": "Käyttöjärjestelmä", "OS": "Käyttöjärjestelmä",
@ -397,27 +282,22 @@
"Permalink_copied_to_clipboard": "Pysyvä linkki kopioitu leikepöydälle!", "Permalink_copied_to_clipboard": "Pysyvä linkki kopioitu leikepöydälle!",
"Phone": "Puhelin", "Phone": "Puhelin",
"Pin": "Kiinnitä", "Pin": "Kiinnitä",
"Pinned_Messages": "Kiinnitetyt viestit",
"pinned": "kiinnitetty",
"Pinned": "Kiinnitetty", "Pinned": "Kiinnitetty",
"Please_add_a_comment": "Lisää kommentti", "Please_add_a_comment": "Lisää kommentti",
"Please_enter_your_password": "Anna salasana", "Please_enter_your_password": "Anna salasana",
"Please_wait": "Odota.", "Please_wait": "Odota.",
"Preferences": "Asetukset", "Preferences": "Asetukset",
"Preferences_saved": "Asetukset tallennettu!",
"Privacy_Policy": "Tietosuojakäytäntö", "Privacy_Policy": "Tietosuojakäytäntö",
"Private": "Yksityinen", "Private": "Yksityinen",
"Processing": "Käsitellään...", "Processing": "Käsitellään...",
"Profile_saved_successfully": "Profiili on tallennettu!", "Profile_saved_successfully": "Profiili on tallennettu!",
"Profile": "Profiili", "Profile": "Profiili",
"Public_Channel": "Julkinen kanava",
"Public": "Julkinen", "Public": "Julkinen",
"Push_Notifications": "Push-ilmoitukset", "Push_Notifications": "Push-ilmoitukset",
"Push_Notifications_Alert_Info": "Saat näitä ilmoituksia, kun sovellus ei ole auki", "Push_Notifications_Alert_Info": "Saat näitä ilmoituksia, kun sovellus ei ole auki",
"Quote": "Lainaus", "Quote": "Lainaus",
"Reactions_are_disabled": "Reaktiot eivät ole käytössä", "Reactions_are_disabled": "Reaktiot eivät ole käytössä",
"Reactions_are_enabled": "Reaktiot ovat käytössä", "Reactions_are_enabled": "Reaktiot ovat käytössä",
"Reactions": "Reaktiot",
"Read_External_Permission_Message": "Rocket.Chat tarvitsee pääsyn laitteesi valokuviin, mediaan ja tiedostoihin", "Read_External_Permission_Message": "Rocket.Chat tarvitsee pääsyn laitteesi valokuviin, mediaan ja tiedostoihin",
"Read_External_Permission": "Median lukuoikeus", "Read_External_Permission": "Median lukuoikeus",
"Read_Only": "Vain luku", "Read_Only": "Vain luku",
@ -425,8 +305,6 @@
"Receive_Group_Mentions": "Vastaanota ryhmämainintoja", "Receive_Group_Mentions": "Vastaanota ryhmämainintoja",
"Receive_Group_Mentions_Info": "Vastaanota @all- ja @here-maininnat", "Receive_Group_Mentions_Info": "Vastaanota @all- ja @here-maininnat",
"Register": "Rekisteröi", "Register": "Rekisteröi",
"Repeat_Password": "Toista salasana",
"Replied_on": "Vastasi:",
"replies": "vastausta", "replies": "vastausta",
"reply": "vastaus", "reply": "vastaus",
"Reply": "Vastaa", "Reply": "Vastaa",
@ -448,18 +326,13 @@
"Remove": "Poista", "Remove": "Poista",
"remove": "poista", "remove": "poista",
"Roles": "Roolit", "Roles": "Roolit",
"Room_actions": "Huoneen toimet",
"Room_changed_announcement": "Huoneen ilmoitukseksi vaihdettu: {{announcement}} käyttäjä: {{userBy}}",
"room_avatar_changed": "vaihtoi huoneen avatarin", "room_avatar_changed": "vaihtoi huoneen avatarin",
"Room_changed_description": "Huoneen kuvaukseksi vaihdettu: {{description}} käyttäjä: {{userBy}}",
"changed_room_description": "vaihtoi huoneen kuvaukseksi: {{description}}", "changed_room_description": "vaihtoi huoneen kuvaukseksi: {{description}}",
"changed_room_announcement": "vaihtoi huoneen ilmoitukseksi: {{announcement}}", "changed_room_announcement": "vaihtoi huoneen ilmoitukseksi: {{announcement}}",
"room_changed_type": "vaihtoi huoneen tyypiksi {{type}}", "room_changed_type": "vaihtoi huoneen tyypiksi {{type}}",
"room_changed_topic_to": "vaihtoi huoneen aiheeksi: {{topic}}", "room_changed_topic_to": "vaihtoi huoneen aiheeksi: {{topic}}",
"Room_Files": "Huoneen tiedostot",
"Room_Info_Edit": "Huoneen tietojen muokkaus", "Room_Info_Edit": "Huoneen tietojen muokkaus",
"Room_Info": "Huoneen tiedot", "Room_Info": "Huoneen tiedot",
"Room_Members": "Huoneen jäsenet",
"Room_name_changed_to": "vaihtoi huoneen nimeksi: {{name}}", "Room_name_changed_to": "vaihtoi huoneen nimeksi: {{name}}",
"room_disallowed_reactions": "kielsi reaktiot", "room_disallowed_reactions": "kielsi reaktiot",
"room_allowed_reactions": "salli reaktiot", "room_allowed_reactions": "salli reaktiot",
@ -483,9 +356,7 @@
"Search_emoji": "Hae emojia", "Search_emoji": "Hae emojia",
"Search_global_users": "Hae käyttäjiä kaikkialta", "Search_global_users": "Hae käyttäjiä kaikkialta",
"Search_global_users_description": "Jos otat tämän käyttöön, voit etsiä käyttäjiä muista yrityksistä tai palvelimista.", "Search_global_users_description": "Jos otat tämän käyttöön, voit etsiä käyttäjiä muista yrityksistä tai palvelimista.",
"Seconds": "{{second}} sekuntia",
"Security_and_privacy": "Turvallisuus ja yksityisyys", "Security_and_privacy": "Turvallisuus ja yksityisyys",
"Select_Avatar": "Valitse avatar",
"Select_Server": "Valitse palvelin", "Select_Server": "Valitse palvelin",
"Select_Users": "Valitse käyttäjät", "Select_Users": "Valitse käyttäjät",
"Select_a_Channel": "Valitse kanava", "Select_a_Channel": "Valitse kanava",
@ -499,13 +370,9 @@
"Send_me_the_code_again": "Lähetä koodi uudelleen", "Send_me_the_code_again": "Lähetä koodi uudelleen",
"Send_to": "Lähetä kohteeseen...", "Send_to": "Lähetä kohteeseen...",
"Sending_to": "Lähetetään kohteeseen", "Sending_to": "Lähetetään kohteeseen",
"Sent_an_attachment": "Lähetettiin liite",
"Server": "Palvelin", "Server": "Palvelin",
"Servers": "Palvelimet",
"Server_version": "Palvelimen versio: {{version}}", "Server_version": "Palvelimen versio: {{version}}",
"Set_username_subtitle": "Käyttäjätunnuksen avulla muut voivat mainita sinut viesteissä", "Set_username_subtitle": "Käyttäjätunnuksen avulla muut voivat mainita sinut viesteissä",
"Set_custom_status": "Aseta mukautettu tila",
"Set_status": "Aseta tila",
"Status_saved_successfully": "Tila on tallennettu!", "Status_saved_successfully": "Tila on tallennettu!",
"Settings": "Asetukset", "Settings": "Asetukset",
"Settings_succesfully_changed": "Asetukset on muutettu!", "Settings_succesfully_changed": "Asetukset on muutettu!",
@ -513,44 +380,30 @@
"Share_Link": "Jaa linkki", "Share_Link": "Jaa linkki",
"Share_this_app": "Jaa tämä sovellus", "Share_this_app": "Jaa tämä sovellus",
"Show_more": "Näytä lisää...", "Show_more": "Näytä lisää...",
"Sign_in_your_server": "Kirjaudu palvelimeesi",
"Sign_Up": "Rekisteröidy", "Sign_Up": "Rekisteröidy",
"Some_field_is_invalid_or_empty": "Jokin kenttä on virheellinen tai tyhjä",
"Sound": "Ääni", "Sound": "Ääni",
"Star_room": "Tähdellinen huone",
"Star": "Tähti", "Star": "Tähti",
"Starred_Messages": "Tähdellä merkityt viestit",
"starred": "tähdellä merkittyä",
"Starred": "Tähdellä merkityt", "Starred": "Tähdellä merkityt",
"Start_of_conversation": "Keskustelun alku",
"Start_a_Discussion": "Aloita keskustelu", "Start_a_Discussion": "Aloita keskustelu",
"Started_discussion": "Aloitettiin keskustelu:", "Started_discussion": "Aloitettiin keskustelu:",
"Started_call": "Puhelun aloitti {{userBy}}", "Started_call": "Puhelun aloitti {{userBy}}",
"Submit": "Lähetä",
"Table": "Taulukko", "Table": "Taulukko",
"Tags": "Tunnisteet", "Tags": "Tunnisteet",
"Take_a_photo": "Ota valokuva", "Take_a_photo": "Ota valokuva",
"Take_a_video": "Kuvaa video", "Take_a_video": "Kuvaa video",
"Take_it": "Ota!", "Take_it": "Ota!",
"tap_to_change_status": "vaihda tilaa napauttamalla",
"Tap_to_view_servers_list": "Näytä palvelinluettelo napauttamalla",
"Terms_of_Service": "Käyttöehdot", "Terms_of_Service": "Käyttöehdot",
"Theme": "Teema", "Theme": "Teema",
"The_user_wont_be_able_to_type_in_roomName": "Käyttäjä ei voi kirjoittaa huoneessa {{roomName}}",
"The_user_will_be_able_to_type_in_roomName": "Käyttäjä voi kirjoittaa huoneessa {{roomName}}",
"There_was_an_error_while_action": "Virhe toiminnon {{action}} aikana!", "There_was_an_error_while_action": "Virhe toiminnon {{action}} aikana!",
"This_room_is_blocked": "Huone on estetty", "This_room_is_blocked": "Huone on estetty",
"This_room_is_read_only": "Huone on vain luku -tilassa", "This_room_is_read_only": "Huone on vain luku -tilassa",
"Thread": "Ketju",
"Threads": "Ketjut", "Threads": "Ketjut",
"Timezone": "Aikavyöhyke", "Timezone": "Aikavyöhyke",
"To": "Osoitteeseen",
"topic": "aihe", "topic": "aihe",
"Topic": "Aihe", "Topic": "Aihe",
"Translate": "Käännä", "Translate": "Käännä",
"Try_again": "Yritä uudelleen", "Try_again": "Yritä uudelleen",
"Two_Factor_Authentication": "Kaksivaiheinen tunnistautuminen", "Two_Factor_Authentication": "Kaksivaiheinen tunnistautuminen",
"Type_the_channel_name_here": "Kirjoita kanavan nimi tähän",
"unarchive": "palauta arkistosta", "unarchive": "palauta arkistosta",
"UNARCHIVE": "PALAUTA ARKISTOSTA", "UNARCHIVE": "PALAUTA ARKISTOSTA",
"Unblock_user": "Poista käyttäjän esto", "Unblock_user": "Poista käyttäjän esto",
@ -567,37 +420,27 @@
"Uploading": "Ladataan", "Uploading": "Ladataan",
"FileUpload_Error": "Tiedoston latausvirhe", "FileUpload_Error": "Tiedoston latausvirhe",
"Upload_in_progress": "Lataus käynnissä", "Upload_in_progress": "Lataus käynnissä",
"Upload_file_question_mark": "Ladataanko tiedosto?",
"User": "Käyttäjä", "User": "Käyttäjä",
"Users": "Käyttäjät", "Users": "Käyttäjät",
"User_added_to": "lisäsi käyttäjän {{userAdded}}", "User_added_to": "lisäsi käyttäjän {{userAdded}}",
"User_Info": "Käyttäjän tiedot", "User_Info": "Käyttäjän tiedot",
"User_has_been_key": "Käyttäjä on {{key}}", "User_has_been_key": "Käyttäjä on {{key}}",
"User_is_no_longer_role_by_": "{{user}} ei ole enää {{role}}, muutti {{userBy}}",
"User_has_been_muted": "mykisti käyttäjän {{userMuted}}", "User_has_been_muted": "mykisti käyttäjän {{userMuted}}",
"User_has_been_removed": "poisti käyttäjän {{userRemoved}}", "User_has_been_removed": "poisti käyttäjän {{userRemoved}}",
"User_sent_an_attachment": "{{user}} lähetti liitteen", "User_sent_an_attachment": "{{user}} lähetti liitteen",
"User_has_been_unmuted": "poisti käyttäjän {{userUnmuted}} mykistyksen", "User_has_been_unmuted": "poisti käyttäjän {{userUnmuted}} mykistyksen",
"Defined_user_as_role": "määritti käyttäjän {{user}} rooliin {{role}}", "Defined_user_as_role": "määritti käyttäjän {{user}} rooliin {{role}}",
"Removed_user_as_role": "poisti käyttäjän {{user}} roolista {{role}}", "Removed_user_as_role": "poisti käyttäjän {{user}} roolista {{role}}",
"Username_is_empty": "Käyttäjätunnus on tyhjä",
"Username": "Käyttäjätunnus", "Username": "Käyttäjätunnus",
"Username_or_email": "Sähköpostiosoite tai käyttäjätunnus", "Username_or_email": "Sähköpostiosoite tai käyttäjätunnus",
"Uses_server_configuration": "Käyttää palvelimen määrityksiä", "Uses_server_configuration": "Käyttää palvelimen määrityksiä",
"Validating": "Vahvistetaan",
"Registration_Succeeded": "Rekisteröinti onnistui!", "Registration_Succeeded": "Rekisteröinti onnistui!",
"Verify": "Varmista",
"Verify_email_title": "Rekisteröinti onnistui!",
"Verify_email_desc": "Lähetimme rekisteröitymisvahvistuksen sähköpostiisi. Jos et saa sähköpostia pian, yritä uudelleen.", "Verify_email_desc": "Lähetimme rekisteröitymisvahvistuksen sähköpostiisi. Jos et saa sähköpostia pian, yritä uudelleen.",
"Verify_your_email_for_the_code_we_sent": "Vahvista sähköpostiosoitteesi lähettämällämme koodilla", "Verify_your_email_for_the_code_we_sent": "Vahvista sähköpostiosoitteesi lähettämällämme koodilla",
"Video_call": "Videopuhelu",
"View_Original": "Näytä alkuperäinen", "View_Original": "Näytä alkuperäinen",
"Voice_call": "Äänipuhelu",
"Waiting_for_network": "Odotetaan verkkoa...", "Waiting_for_network": "Odotetaan verkkoa...",
"Websocket_disabled": "Websocket ei ole käytössä tässä palvelimessa.\n{{contact}}", "Websocket_disabled": "Websocket ei ole käytössä tässä palvelimessa.\n{{contact}}",
"Welcome": "Tervetuloa",
"What_are_you_doing_right_now": "Mitä teet juuri nyt?", "What_are_you_doing_right_now": "Mitä teet juuri nyt?",
"Whats_your_2fa": "Mikä on 2FA-koodisi?",
"Without_Servers": "Ilman palvelimia", "Without_Servers": "Ilman palvelimia",
"Workspaces": "Työtilat", "Workspaces": "Työtilat",
"Would_you_like_to_return_the_inquiry": "Haluatko palauttaa kyselyn?", "Would_you_like_to_return_the_inquiry": "Haluatko palauttaa kyselyn?",
@ -607,7 +450,6 @@
"Yes_action_it": "Kyllä, {{action}} se!", "Yes_action_it": "Kyllä, {{action}} se!",
"Yesterday": "Eilen", "Yesterday": "Eilen",
"You_are_in_preview_mode": "Olet esikatselutilassa", "You_are_in_preview_mode": "Olet esikatselutilassa",
"You_are_offline": "Olet offline-tilassa",
"You_can_search_using_RegExp_eg": "Voit käyttää säännöllisiä lausekkeita, esim. `/^teksti$/i`", "You_can_search_using_RegExp_eg": "Voit käyttää säännöllisiä lausekkeita, esim. `/^teksti$/i`",
"You_colon": "Sinä:", "You_colon": "Sinä:",
"you_were_mentioned": "sinut mainittiin", "you_were_mentioned": "sinut mainittiin",
@ -631,20 +473,9 @@
"Change_Language": "Vaihda kieltä", "Change_Language": "Vaihda kieltä",
"Crash_report_disclaimer": "Keskustelujesi sisältöä ei seurata. Kaatumisraportti ja analytiikkatapahtumat sisältävät vain olennaiset tiedot, jotta pystymme tunnistamaan ja korjaamaan ongelmat.", "Crash_report_disclaimer": "Keskustelujesi sisältöä ei seurata. Kaatumisraportti ja analytiikkatapahtumat sisältävät vain olennaiset tiedot, jotta pystymme tunnistamaan ja korjaamaan ongelmat.",
"Type_message": "Kirjoita viesti", "Type_message": "Kirjoita viesti",
"Room_search": "Huonehaku",
"Room_selection": "Huoneen valinta 1...9",
"Next_room": "Seuraava huone",
"Previous_room": "Edellinen huone",
"New_room": "Uusi huone",
"Upload_room": "Lataa huoneeseen",
"Search_messages": "Hae viestejä", "Search_messages": "Hae viestejä",
"Scroll_messages": "Vieritä viestejä",
"Reply_latest": "Vastaa uusimpaan",
"Reply_in_Thread": "Vastaa viestiketjussa", "Reply_in_Thread": "Vastaa viestiketjussa",
"Server_selection": "Palvelimen valinta",
"Server_selection_numbers": "Palvelimen valinta 1...9",
"Add_server": "Lisää palvelin", "Add_server": "Lisää palvelin",
"New_line": "Uusi rivi",
"You_will_be_logged_out_of_this_application": "Sinut kirjataan ulos tästä sovelluksesta.", "You_will_be_logged_out_of_this_application": "Sinut kirjataan ulos tästä sovelluksesta.",
"Clear": "Tyhjennä", "Clear": "Tyhjennä",
"This_will_clear_all_your_offline_data": "Tämä poistaa kaikki offline-tietosi.", "This_will_clear_all_your_offline_data": "Tämä poistaa kaikki offline-tietosi.",
@ -739,7 +570,6 @@
"Auto-join": "Automaattinen liittyminen", "Auto-join": "Automaattinen liittyminen",
"Remove_Team_Room_Warning": "Haluatko poistaa tämän kanavan tiimiltä? Kanava siirretään takaisin työtilaan", "Remove_Team_Room_Warning": "Haluatko poistaa tämän kanavan tiimiltä? Kanava siirretään takaisin työtilaan",
"Confirmation": "Vahvistus", "Confirmation": "Vahvistus",
"invalid-room": "Virheellinen huone",
"You_are_leaving_the_team": "Poistut tiimistä {{team}}", "You_are_leaving_the_team": "Poistut tiimistä {{team}}",
"Leave_Team": "Poistu tiimistä", "Leave_Team": "Poistu tiimistä",
"Select_Team": "Valitse tiimi", "Select_Team": "Valitse tiimi",
@ -749,7 +579,6 @@
"Cannot_delete": "Ei voi poistaa", "Cannot_delete": "Ei voi poistaa",
"Last_owner_team_room": "Olet tämän kanavan viimeinen omistaja. Kun lähdet tiimistä, kanava säilyy tiimin sisällä, mutta hallinnoit sitä ulkopuolelta.", "Last_owner_team_room": "Olet tämän kanavan viimeinen omistaja. Kun lähdet tiimistä, kanava säilyy tiimin sisällä, mutta hallinnoit sitä ulkopuolelta.",
"last-owner-can-not-be-removed": "Viimeistä omistajaa ei voi poistaa", "last-owner-can-not-be-removed": "Viimeistä omistajaa ei voi poistaa",
"Remove_User_Teams": "Valitse kanavat, joilta haluat poistaa käyttäjän.",
"Deleting_account": "Poistetaan tiliä", "Deleting_account": "Poistetaan tiliä",
"Delete_my_account": "Poista tilini", "Delete_my_account": "Poista tilini",
"Delete_Team": "Poista tiimi", "Delete_Team": "Poista tiimi",
@ -758,11 +587,9 @@
"Removing_user_from_this_team": "Poistat käyttäjää {{user}} tästä tiimistä", "Removing_user_from_this_team": "Poistat käyttäjää {{user}} tästä tiimistä",
"Remove_User_Team_Channels": "Valitse kanavat, joilta haluat poistaa käyttäjän.", "Remove_User_Team_Channels": "Valitse kanavat, joilta haluat poistaa käyttäjän.",
"Remove_Member": "Poista jäsen", "Remove_Member": "Poista jäsen",
"leaving_team": "poistuu tiimistä",
"removing_team": "poistaa tiimistä", "removing_team": "poistaa tiimistä",
"moving_channel_to_team": "siirtää kanavaa tiimille", "moving_channel_to_team": "siirtää kanavaa tiimille",
"deleting_team": "poistaa tiimiä", "deleting_team": "poistaa tiimiä",
"member-does-not-exist": "Jäsentä ei ole",
"Convert": "Muunna", "Convert": "Muunna",
"Convert_to_Team": "Muunna tiimiksi", "Convert_to_Team": "Muunna tiimiksi",
"Convert_to_Team_Warning": "Muunnat tätä kanavaa tiimiksi. Kaikki jäsenet säilytetään.", "Convert_to_Team_Warning": "Muunnat tätä kanavaa tiimiksi. Kaikki jäsenet säilytetään.",
@ -808,7 +635,6 @@
"Error_Download_file": "Virhe ladattaessa tiedostoa", "Error_Download_file": "Virhe ladattaessa tiedostoa",
"added__roomName__to_this_team": "lisäsi huoneen #{{roomName}} tähän tiimiin", "added__roomName__to_this_team": "lisäsi huoneen #{{roomName}} tähän tiimiin",
"Added__username__to_this_team": "lisäsi käyttäjän @{{user_added}} tähän tiimiin", "Added__username__to_this_team": "lisäsi käyttäjän @{{user_added}} tähän tiimiin",
"Converting_team_to_channel": "Muunnetaan tiimiä kanavaksi",
"Converted__roomName__to_a_team": "muunsi huoneen #{{roomName}} tiimiksi", "Converted__roomName__to_a_team": "muunsi huoneen #{{roomName}} tiimiksi",
"Converted__roomName__to_a_channel": "muunsi huoneen #{{roomName}} kanavaksi", "Converted__roomName__to_a_channel": "muunsi huoneen #{{roomName}} kanavaksi",
"Deleted__roomName__": "poisti huoneen #{{roomName}}", "Deleted__roomName__": "poisti huoneen #{{roomName}}",
@ -823,8 +649,6 @@
"Message_HideType_user_removed_room_from_team": "Piilota Käyttäjä poisti huoneen tiimiltä -ilmoitukset", "Message_HideType_user_removed_room_from_team": "Piilota Käyttäjä poisti huoneen tiimiltä -ilmoitukset",
"Removed__roomName__from_the_team": "poisti huoneen #{{roomName}} tästä tiimistä", "Removed__roomName__from_the_team": "poisti huoneen #{{roomName}} tästä tiimistä",
"Removed__username__from_the_team": "poisti käyttäjän @{{userRemoved}} tästä tiimistä", "Removed__username__from_the_team": "poisti käyttäjän @{{userRemoved}} tästä tiimistä",
"User_joined_team": "liittyi tähän tiimiin",
"User_left_team": "poistui tästä tiimistä",
"Place_chat_on_hold": "Aseta keskustelu pitoon", "Place_chat_on_hold": "Aseta keskustelu pitoon",
"Would_like_to_place_on_hold": "Haluatko asettaa tämän keskustelun pitoon?", "Would_like_to_place_on_hold": "Haluatko asettaa tämän keskustelun pitoon?",
"Open_Livechats": "Meneillään olevat Omnichannel-keskustelut", "Open_Livechats": "Meneillään olevat Omnichannel-keskustelut",
@ -871,7 +695,7 @@
"Call_again": "Soita uudelleen", "Call_again": "Soita uudelleen",
"Call_ongoing": "Puhelu käynnissä", "Call_ongoing": "Puhelu käynnissä",
"Joined": "Liitytty", "Joined": "Liitytty",
"Calling": "Soitetaan...", "Calling": "Soitetaan",
"Start_a_call": "Aloita puhelu", "Start_a_call": "Aloita puhelu",
"Call": "Soita", "Call": "Soita",
"Reply_in_direct_message": "Vastaa suoralla viestillä", "Reply_in_direct_message": "Vastaa suoralla viestillä",

View File

@ -1,89 +1,22 @@
{ {
"1_person_reacted": "1 personne a réagi", "1_person_reacted": "1 personne a réagi",
"1_user": "1 utilisateur",
"error-action-not-allowed": "{{action}} n'est pas autorisé", "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-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-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-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-image": "Erreur lors de l'enregistrement de l'image",
"error-save-video": "Erreur en sauvegardant la vidéo", "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-file-too-large": "Le fichier est trop grand",
"error-not-permission-to-upload-file": "Vous n'êtes pas autorisé à envoyer des fichiers", "error-not-permission-to-upload-file": "Vous n'êtes pas autorisé à envoyer des fichiers",
"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": "Élé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": "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-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-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-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-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-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-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", "Actions": "Actions",
"Activity": "Activité", "Activity": "Activité",
"Add_Reaction": "Ajouter une réaction",
"Add_Server": "Ajouter un serveur", "Add_Server": "Ajouter un serveur",
"Add_users": "Ajouter des utilisateurs", "Add_users": "Ajouter des utilisateurs",
"Admin_Panel": "Panneau d'administration", "Admin_Panel": "Panneau d'administration",
@ -97,8 +30,6 @@
"All": "Tout", "All": "Tout",
"All_Messages": "Tous les messages", "All_Messages": "Tous les messages",
"Allow_Reactions": "Autoriser les réactions", "Allow_Reactions": "Autoriser les réactions",
"Alphabetical": "Alphabétique",
"and_more": "et plus",
"and": "et", "and": "et",
"announcement": "annonce", "announcement": "annonce",
"Announcement": "Annonce", "Announcement": "Annonce",
@ -108,19 +39,15 @@
"are_typing": "sont en train d'écrire", "are_typing": "sont en train d'écrire",
"Are_you_sure_question_mark": "Êtes-vous sûr ?", "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}} ?", "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", "Automatic": "Automatique",
"Auto_Translate": "Traduction automatique", "Auto_Translate": "Traduction automatique",
"Avatar_changed_successfully": "Avatar changé avec succès !", "Avatar_changed_successfully": "Avatar changé avec succès !",
"Avatar_Url": "URL de l'avatar", "Avatar_Url": "URL de l'avatar",
"Away": "Absent", "Away": "Absent",
"Back": "Retour",
"Black": "Noir", "Black": "Noir",
"Block_user": "Bloquer l'utilisateur", "Block_user": "Bloquer l'utilisateur",
"Browser": "Navigateur", "Browser": "Navigateur",
"Busy": "Occupé", "Busy": "Occupé",
"By_proceeding_you_are_agreeing": "En poursuivant, vous acceptez nos",
"Cancel_editing": "Annuler la modification", "Cancel_editing": "Annuler la modification",
"Cancel_recording": "Annuler l'enregistrement", "Cancel_recording": "Annuler l'enregistrement",
"Cancel": "Annuler", "Cancel": "Annuler",
@ -139,21 +66,17 @@
"Click_to_join": "Cliquez pour rejoindre !", "Click_to_join": "Cliquez pour rejoindre !",
"Close": "Fermer", "Close": "Fermer",
"Close_emoji_selector": "Fermer le sélecteur d'émoji", "Close_emoji_selector": "Fermer le sélecteur d'émoji",
"Closing_chat": "Fermeture du chat",
"Change_language_loading": "Changement de la langue.", "Change_language_loading": "Changement de la langue.",
"Chat_closed_by_agent": "Chat fermé par l'agent", "Chat_closed_by_agent": "Chat fermé par l'agent",
"Choose": "Choisir", "Choose": "Choisir",
"Choose_from_library": "Choisissez dans la bibliothèque", "Choose_from_library": "Choisissez dans la bibliothèque",
"Choose_file": "Choisir le fichier", "Choose_file": "Choisir le fichier",
"Choose_where_you_want_links_be_opened": "Choisissez oµ vous souhaitez ouvrir les liens", "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", "Code_or_password_invalid": "Code ou mot de passe invalide",
"Conversation_closed": "Conversation fermée", "Conversation_closed": "Conversation fermée",
"Collaborative": "Collaboratif", "Collaborative": "Collaboratif",
"Confirm": "Confirmer", "Confirm": "Confirmer",
"Connect": "Connecter", "Connect": "Connecter",
"Connected": "Connecté",
"connecting_server": "connexion en cours au serveur",
"Connecting": "Connexion...", "Connecting": "Connexion...",
"Contact_us": "Contactez-nous", "Contact_us": "Contactez-nous",
"Contact_your_server_admin": "Contactez votre administrateur de serveur.", "Contact_your_server_admin": "Contactez votre administrateur de serveur.",
@ -172,7 +95,6 @@
"Created_snippet": "créé un extrait", "Created_snippet": "créé un extrait",
"Create_a_new_workspace": "Créer un nouvel espace de travail", "Create_a_new_workspace": "Créer un nouvel espace de travail",
"Create": "Créer", "Create": "Créer",
"Custom_Status": "Statut personnalisé",
"Dark": "Sombre", "Dark": "Sombre",
"Dark_level": "Niveau d'obscurité", "Dark_level": "Niveau d'obscurité",
"Default": "Défaut", "Default": "Défaut",
@ -186,16 +108,13 @@
"deleting_room": "suppression du salon", "deleting_room": "suppression du salon",
"description": "la description", "description": "la description",
"Description": "La description", "Description": "La description",
"Desktop_Options": "Options de bureau",
"Desktop_Notifications": "Notifications de bureau", "Desktop_Notifications": "Notifications de bureau",
"Desktop_Alert_info": "Ces notifications sont transmises sur le bureau", "Desktop_Alert_info": "Ces notifications sont transmises sur le bureau",
"Directory": "Répertoire", "Directory": "Répertoire",
"Direct_Messages": "Messages directs", "Direct_Messages": "Messages directs",
"Disable_notifications": "Désactiver les notifications",
"Discussions": "Discussions", "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_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", "Discussion_name": "Nom de la discussion",
"Done": "Fait",
"Dont_Have_An_Account": "Vous n'avez pas de compte ?", "Dont_Have_An_Account": "Vous n'avez pas de compte ?",
"Do_you_have_an_account": "Avez-vous un compte ?", "Do_you_have_an_account": "Avez-vous un compte ?",
"Do_you_have_a_certificate": "Avez-vous un certificat ?", "Do_you_have_a_certificate": "Avez-vous un certificat ?",
@ -205,21 +124,14 @@
"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_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_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.", "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": "Modifier",
"Edit_Status": "Modifier le statut", "Edit_Status": "Modifier le statut",
"Edit_Invite": "Modifier l'invitation", "Edit_Invite": "Modifier l'invitation",
"End_to_end_encrypted_room": "Salon crypté de bout en bout", "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_All": "Chaque mention/MD",
"Email_Notification_Mode_Disabled": "Désactivé", "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",
"email": "e-mail",
"Empty_title": "Titre vide",
"Enable_Auto_Translate": "Activer la traduction automatique", "Enable_Auto_Translate": "Activer la traduction automatique",
"Enable_notifications": "Activer les notifications",
"Encrypted": "Crypté", "Encrypted": "Crypté",
"Encrypted_message": "Message crypté", "Encrypted_message": "Message crypté",
"Enter_Your_E2E_Password": "Entrez votre mot de passe E2E", "Enter_Your_E2E_Password": "Entrez votre mot de passe E2E",
@ -234,13 +146,11 @@
"Favorites": "Favoris", "Favorites": "Favoris",
"Files": "Fichiers", "Files": "Fichiers",
"File_description": "Description du fichier", "File_description": "Description du fichier",
"File_name": "Nom de fichier",
"Finish_recording": "Terminer l'enregistrement", "Finish_recording": "Terminer l'enregistrement",
"Following_thread": "Suivre le fil", "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.", "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_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é ?",
"Forgot_Password": "Mot de passe oublié",
"Forward": "Transmettre", "Forward": "Transmettre",
"Forward_Chat": "Transmettre la conversation", "Forward_Chat": "Transmettre la conversation",
"Forward_to_department": "Transmettre au département", "Forward_to_department": "Transmettre au département",
@ -271,9 +181,6 @@
"In_App_And_Desktop": "Dans l'application et sur le bureau", "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", "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", "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", "is_typing": "est en train d'écrire",
"Invalid_or_expired_invite_token": "Jeton d'invitation non valide ou expiré", "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}}", "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}}",
@ -283,34 +190,26 @@
"Join_Code": "Code d'adhésion", "Join_Code": "Code d'adhésion",
"Insert_Join_Code": "Insérer le 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_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_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", "Just_invited_people_can_access_this_team": "Seules les personnes invitées peuvent accéder à cette équipe",
"Language": "Langue", "Language": "Langue",
"last_message": "dernier message", "last_message": "dernier message",
"Leave_channel": "Quitter le canal",
"leaving_room": "quittant le salon", "leaving_room": "quittant le salon",
"Leave": "Quitter", "Leave": "Quitter",
"leave": "quitter", "leave": "quitter",
"Legal": "Légal", "Legal": "Légal",
"Light": "Clair", "Light": "Clair",
"License": "Licence", "License": "Licence",
"Livechat": "Chat en direct",
"Livechat_edit": "Modifier le chat en direct",
"Livechat_transfer_return_to_the_queue": "a renvoyé le chat dans la file d'attente", "Livechat_transfer_return_to_the_queue": "a renvoyé le chat dans la file d'attente",
"Login": "Connexion", "Login": "Connexion",
"Login_error": "Vos identifiants ont été rejetés ! Veuillez réessayer.", "Login_error": "Vos identifiants ont été rejetés ! Veuillez réessayer.",
"Login_with": "Se connecter avec",
"Logging_out": "Déconnexion.", "Logging_out": "Déconnexion.",
"Logout": "Se déconnecter", "Logout": "Se déconnecter",
"Max_number_of_uses": "Nombre maximum d'utilisations", "Max_number_of_uses": "Nombre maximum d'utilisations",
"Max_number_of_users_allowed_is_number": "Le nombre maximum d'utilisateurs autorisés est {{maxUsers}}", "Max_number_of_users_allowed_is_number": "Le nombre maximum d'utilisateurs autorisés est {{maxUsers}}",
"members": "membres", "members": "membres",
"Members": "Membres", "Members": "Membres",
"Mentioned_Messages": "Messages mentionnés",
"mentioned": "mentionné",
"Mentions": "Mentions", "Mentions": "Mentions",
"Message_accessibility": "Message de {{user}} à {{time}} : {{message}}",
"Message_actions": "Actions de message", "Message_actions": "Actions de message",
"Message_pinned": "Message épinglé", "Message_pinned": "Message épinglé",
"Message_removed": "Message supprimé", "Message_removed": "Message supprimé",
@ -319,13 +218,9 @@
"message": "message", "message": "message",
"messages": "messages", "messages": "messages",
"Message": "Message", "Message": "Message",
"Messages": "Messages",
"Message_Reported": "Message signalé", "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", "Mute": "Rendre muet",
"muted": "muet", "muted": "muet",
"My_servers": "Mes serveurs",
"N_people_reacted": "{{n}} personnes ont réagi", "N_people_reacted": "{{n}} personnes ont réagi",
"N_users": "{{n}} utilisateurs", "N_users": "{{n}} utilisateurs",
"N_channels": "{{n}} canaux", "N_channels": "{{n}} canaux",
@ -334,7 +229,6 @@
"New_chat_transfer": "Nouveau transfert de chat : {{agent}} a renvoyé le chat dans la file d'attente", "New_chat_transfer": "Nouveau transfert de chat : {{agent}} a renvoyé le chat dans la file d'attente",
"New_Message": "Nouveau message", "New_Message": "Nouveau message",
"New_Password": "Nouveau mot de passe", "New_Password": "Nouveau mot de passe",
"New_Server": "Nouveau serveur",
"Next": "Suivant", "Next": "Suivant",
"No_files": "Aucun fichier", "No_files": "Aucun fichier",
"No_limit": "Pas de limites", "No_limit": "Pas de limites",
@ -342,30 +236,23 @@
"No_pinned_messages": "Aucun message épinglé", "No_pinned_messages": "Aucun message épinglé",
"No_results_found": "Aucun résultat trouvé", "No_results_found": "Aucun résultat trouvé",
"No_starred_messages": "Aucun message suivi", "No_starred_messages": "Aucun message suivi",
"No_thread_messages": "Aucun message de fil de discussion",
"No_label_provided": "Aucun {{label}} fourni.", "No_label_provided": "Aucun {{label}} fourni.",
"No_Message": "Aucun message", "No_Message": "Aucun message",
"No_messages_yet": "Pas encore de messages", "No_messages_yet": "Pas encore de messages",
"No_Reactions": "Aucune réaction", "No_Reactions": "Aucune réaction",
"No_Read_Receipts": "Aucun accusé de lecture", "No_Read_Receipts": "Aucun accusé de lecture",
"Not_logged": "Non connecté",
"Not_RC_Server": "Ce n'est pas un serveur Rocket.Chat.\n{{contact}}", "Not_RC_Server": "Ce n'est pas un serveur Rocket.Chat.\n{{contact}}",
"Nothing": "Rien", "Nothing": "Rien",
"Nothing_to_save": "Rien à enregistrer !", "Nothing_to_save": "Rien à enregistrer !",
"Notify_active_in_this_room": "Notifier les utilisateurs actifs dans ce salon", "Notify_active_in_this_room": "Notifier les utilisateurs actifs dans ce salon",
"Notify_all_in_this_room": "Avertir tout le monde dans ce salon", "Notify_all_in_this_room": "Avertir tout le monde dans ce salon",
"Notifications": "Notifications", "Notifications": "Notifications",
"Notification_Duration": "Durée des notifications",
"Notification_Preferences": "Préférences de notification", "Notification_Preferences": "Préférences de notification",
"No_available_agents_to_transfer": "Aucun agent disponible pour le transfert", "No_available_agents_to_transfer": "Aucun agent disponible pour le transfert",
"Offline": "Hors ligne",
"Oops": "Oups !", "Oops": "Oups !",
"Omnichannel": "Omnicanal", "Omnichannel": "Omnicanal",
"Omnichannel_enable_alert": "Vous n'êtes pas disponible sur Omnicanal. Souhaitez-vous être disponible ?", "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_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_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_agree_terms": "En continuant, vous acceptez Rocket.Chat",
"Onboarding_less_options": "Moins d'options", "Onboarding_less_options": "Moins d'options",
@ -373,7 +260,6 @@
"Online": "En ligne", "Online": "En ligne",
"Only_authorized_users_can_write_new_messages": "Seuls les utilisateurs autorisés peuvent écrire de nouveaux messages.", "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_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.", "Open_your_authentication_app_and_enter_the_code": "Ouvrez votre application d'authentification et entrez le code.",
"OR": "OU", "OR": "OU",
"OS": "OS", "OS": "OS",
@ -383,27 +269,22 @@
"Permalink_copied_to_clipboard": "Lien permanent copié dans le presse-papiers !", "Permalink_copied_to_clipboard": "Lien permanent copié dans le presse-papiers !",
"Phone": "Téléphone", "Phone": "Téléphone",
"Pin": "Épingler", "Pin": "Épingler",
"Pinned_Messages": "Messages épinglés",
"pinned": "épinglé",
"Pinned": "Épinglé", "Pinned": "Épinglé",
"Please_add_a_comment": "Veuillez ajouter un commentaire", "Please_add_a_comment": "Veuillez ajouter un commentaire",
"Please_enter_your_password": "Veuillez entrer votre mot de passe", "Please_enter_your_password": "Veuillez entrer votre mot de passe",
"Please_wait": "Veuillez patienter.", "Please_wait": "Veuillez patienter.",
"Preferences": "Préférences", "Preferences": "Préférences",
"Preferences_saved": "Préférences sauvegardées !",
"Privacy_Policy": " Politique de confidentialité", "Privacy_Policy": " Politique de confidentialité",
"Private": "Privé", "Private": "Privé",
"Processing": "Traitement...", "Processing": "Traitement...",
"Profile_saved_successfully": "Profil enregistré avec succès !", "Profile_saved_successfully": "Profil enregistré avec succès !",
"Profile": "Profil", "Profile": "Profil",
"Public_Channel": "Canal public",
"Public": "Public", "Public": "Public",
"Push_Notifications": "Notifications Push", "Push_Notifications": "Notifications Push",
"Push_Notifications_Alert_Info": "Ces notifications vous sont envoyées lorsque l'application n'est pas ouverte", "Push_Notifications_Alert_Info": "Ces notifications vous sont envoyées lorsque l'application n'est pas ouverte",
"Quote": "Citation", "Quote": "Citation",
"Reactions_are_disabled": "Les réactions sont désactivées", "Reactions_are_disabled": "Les réactions sont désactivées",
"Reactions_are_enabled": "Les réactions sont activé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_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_External_Permission": "Permission de lecture des fichiers",
"Read_Only": "Lecture seule", "Read_Only": "Lecture seule",
@ -411,8 +292,6 @@
"Receive_Group_Mentions": "Recevoir des mentions de groupe", "Receive_Group_Mentions": "Recevoir des mentions de groupe",
"Receive_Group_Mentions_Info": "Recevoir des mentions @all et @here", "Receive_Group_Mentions_Info": "Recevoir des mentions @all et @here",
"Register": "S'inscrire", "Register": "S'inscrire",
"Repeat_Password": "Répéter le mot de passe",
"Replied_on": "A répondu le :",
"replies": "réponses", "replies": "réponses",
"reply": "répondre", "reply": "répondre",
"Reply": "Répondre", "Reply": "Répondre",
@ -433,13 +312,8 @@
"Remove": "Supprimer", "Remove": "Supprimer",
"remove": "supprimer", "remove": "supprimer",
"Roles": "Rôles", "Roles": "Rôles",
"Room_actions": "Actions du salon",
"Room_changed_announcement": "Annonce du salon changé en : {{announcement}} par {{userBy}}",
"Room_changed_description": "Description du salon changé en : {{description}} par {{userBy}}",
"Room_Files": "Fichiers du salon",
"Room_Info_Edit": "Modifier les informations du salon", "Room_Info_Edit": "Modifier les informations du salon",
"Room_Info": "Info sur le salon", "Room_Info": "Info sur le salon",
"Room_Members": "Membres du salon",
"SAVE": "SAUVEGARDER", "SAVE": "SAUVEGARDER",
"Save_Changes": "Sauvegarder les modifications", "Save_Changes": "Sauvegarder les modifications",
"Save": "Sauvegarder", "Save": "Sauvegarder",
@ -457,9 +331,7 @@
"Search_by": "Rechercher par", "Search_by": "Rechercher par",
"Search_global_users": "Rechercher des utilisateurs mondiaux", "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.", "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", "Security_and_privacy": "Sécurité et vie privée",
"Select_Avatar": "Sélectionnez un avatar",
"Select_Server": "Sélectionnez un serveur", "Select_Server": "Sélectionnez un serveur",
"Select_Users": "Sélectionner les utilisateurs", "Select_Users": "Sélectionner les utilisateurs",
"Select_a_Channel": "Sélectionnez un canal", "Select_a_Channel": "Sélectionnez un canal",
@ -473,13 +345,9 @@
"Send_me_the_code_again": "Envoyez-moi à nouveau le code", "Send_me_the_code_again": "Envoyez-moi à nouveau le code",
"Send_to": "Envoyer à...", "Send_to": "Envoyer à...",
"Sending_to": "Envoi à", "Sending_to": "Envoi à",
"Sent_an_attachment": "Envoyé une pièce jointe",
"Server": "Serveur", "Server": "Serveur",
"Servers": "Serveurs",
"Server_version": "Version du serveur : {{version}}", "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_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 !", "Status_saved_successfully": "Statut enregistré avec succès !",
"Settings": "Paramètres", "Settings": "Paramètres",
"Settings_succesfully_changed": "Paramètres modifiés avec succès !", "Settings_succesfully_changed": "Paramètres modifiés avec succès !",
@ -487,44 +355,30 @@
"Share_Link": "Partager le lien", "Share_Link": "Partager le lien",
"Share_this_app": "Partager cette application", "Share_this_app": "Partager cette application",
"Show_more": "Afficher plus..", "Show_more": "Afficher plus..",
"Sign_in_your_server": "Connectez-vous à votre serveur",
"Sign_Up": "S'inscrire", "Sign_Up": "S'inscrire",
"Some_field_is_invalid_or_empty": "Certains champs sont invalides ou vides",
"Sound": "Son", "Sound": "Son",
"Star_room": "Canal favoris",
"Star": "Mettre en favoris", "Star": "Mettre en favoris",
"Starred_Messages": "Les messages favoris",
"starred": "favoris",
"Starred": "Favoris", "Starred": "Favoris",
"Start_of_conversation": "Début de conversation",
"Start_a_Discussion": "Lancer une discussion", "Start_a_Discussion": "Lancer une discussion",
"Started_discussion": "A commencé une discussion :", "Started_discussion": "A commencé une discussion :",
"Started_call": "Appel lancé par {{userBy}}", "Started_call": "Appel lancé par {{userBy}}",
"Submit": "Soumettre",
"Table": "Tableau", "Table": "Tableau",
"Tags": "Mots clés", "Tags": "Mots clés",
"Take_a_photo": "Prendre une photo", "Take_a_photo": "Prendre une photo",
"Take_a_video": "Prendre une vidéo", "Take_a_video": "Prendre une vidéo",
"Take_it": "Prends-le !", "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 ", "Terms_of_Service": " Conditions d'utilisation ",
"Theme": "Thème", "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}} !", "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_blocked": "Ce salon est bloqué",
"This_room_is_read_only": "Ce salon est en lecture seule", "This_room_is_read_only": "Ce salon est en lecture seule",
"Thread": "Fil de discussion",
"Threads": "Fils de discussions", "Threads": "Fils de discussions",
"Timezone": "Fuseau horaire", "Timezone": "Fuseau horaire",
"To": "A",
"topic": "sujet", "topic": "sujet",
"Topic": "Sujet", "Topic": "Sujet",
"Translate": "Traduire", "Translate": "Traduire",
"Try_again": "Réessayer", "Try_again": "Réessayer",
"Two_Factor_Authentication": "Authentification à deux facteurs", "Two_Factor_Authentication": "Authentification à deux facteurs",
"Type_the_channel_name_here": "Tapez le nom de canal ici",
"unarchive": "désarchiver", "unarchive": "désarchiver",
"UNARCHIVE": "DÉSARCHIVER", "UNARCHIVE": "DÉSARCHIVER",
"Unblock_user": "Débloquer l'utilisateur", "Unblock_user": "Débloquer l'utilisateur",
@ -539,31 +393,21 @@
"Unsupported_system_message": "Message système non pris en charge", "Unsupported_system_message": "Message système non pris en charge",
"Updating": "Mise à jour...", "Updating": "Mise à jour...",
"Uploading": "Envoyer", "Uploading": "Envoyer",
"Upload_file_question_mark": "Téléverser un fichier ?",
"User": "Utilisateur", "User": "Utilisateur",
"Users": "Utilisateurs", "Users": "Utilisateurs",
"User_Info": "Info d'utilisateur", "User_Info": "Info d'utilisateur",
"User_has_been_key": "L'utilisateur a été {{key}}", "User_has_been_key": "L'utilisateur a été {{key}}",
"User_is_no_longer_role_by_": "{{user}} n'est plus {{role}} par {{userBy}}",
"User_sent_an_attachment": "{{user}} a envoyé une pièce jointe", "User_sent_an_attachment": "{{user}} a envoyé une pièce jointe",
"Username_is_empty": "Nom d'utilisateur est vide",
"Username": "Nom d'utilisateur", "Username": "Nom d'utilisateur",
"Username_or_email": "Nom d'utilisateur ou e-mail", "Username_or_email": "Nom d'utilisateur ou e-mail",
"Uses_server_configuration": "Utilise la configuration du serveur", "Uses_server_configuration": "Utilise la configuration du serveur",
"Validating": "Validation",
"Registration_Succeeded": "Inscription réussie !", "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_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é", "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", "View_Original": "Voir l'original",
"Voice_call": "Appel vocal",
"Waiting_for_network": "En attente du réseau...", "Waiting_for_network": "En attente du réseau...",
"Websocket_disabled": "Le Websocket est désactivé pour ce serveur.\n{{contact}}", "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 ?", "What_are_you_doing_right_now": "Que fais-tu en ce moment ?",
"Whats_your_2fa": "Quel est votre code 2FA ?",
"Without_Servers": "Sans serveurs", "Without_Servers": "Sans serveurs",
"Workspaces": "Espaces de travail", "Workspaces": "Espaces de travail",
"Would_you_like_to_return_the_inquiry": "Souhaitez-vous retourner la demande ?", "Would_you_like_to_return_the_inquiry": "Souhaitez-vous retourner la demande ?",
@ -573,7 +417,6 @@
"Yes_action_it": "Oui, {{action}} le !", "Yes_action_it": "Oui, {{action}} le !",
"Yesterday": "Hier", "Yesterday": "Hier",
"You_are_in_preview_mode": "Vous êtes en mode aperçu", "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_can_search_using_RegExp_eg": "Vous pouvez utiliser RegExp., par exemple `/^texte$/i`",
"You_colon": "Vous: ", "You_colon": "Vous: ",
"you_were_mentioned": "vous avez été mentionné", "you_were_mentioned": "vous avez été mentionné",
@ -597,20 +440,9 @@
"Change_Language": "Changer la langue", "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.", "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", "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", "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", "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", "Add_server": "Ajouter un serveur",
"New_line": "Nouvelle ligne",
"You_will_be_logged_out_of_this_application": "Vous serez déconnecté de cette application.", "You_will_be_logged_out_of_this_application": "Vous serez déconnecté de cette application.",
"Clear": "Effacer", "Clear": "Effacer",
"This_will_clear_all_your_offline_data": "Cela effacera toutes vos données hors ligne.", "This_will_clear_all_your_offline_data": "Cela effacera toutes vos données hors ligne.",
@ -703,7 +535,6 @@
"Auto-join": "Rejoindre automatiquement", "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", "Remove_Team_Room_Warning": "Souhaitez-vous supprimer ce canal de l'équipe ? Le canal sera déplacé vers l'espace de travail",
"Confirmation": "Confirmation", "Confirmation": "Confirmation",
"invalid-room": "Salon invalide",
"You_are_leaving_the_team": "Vous quittez l'équipe '{{team}}'", "You_are_leaving_the_team": "Vous quittez l'équipe '{{team}}'",
"Leave_Team": "Quitter l'équipe", "Leave_Team": "Quitter l'équipe",
"Select_Team": "Sélectionnez l'équipe", "Select_Team": "Sélectionnez l'équipe",
@ -713,18 +544,15 @@
"Cannot_delete": "Impossible de supprimer", "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_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é", "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", "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.", "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.", "You_are_deleting_the_team": "Vous supprimez cette équipe.",
"Removing_user_from_this_team": "Vous supprimez {{user}} de 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_User_Team_Channels": "Sélectionnez les canaux dont vous souhaitez supprimer l'utilisateur.",
"Remove_Member": "Supprimer un membre", "Remove_Member": "Supprimer un membre",
"leaving_team": "quitter l'équipe",
"removing_team": "retirer de l'équipe", "removing_team": "retirer de l'équipe",
"moving_channel_to_team": "transfert de canal à l'équipe", "moving_channel_to_team": "transfert de canal à l'équipe",
"deleting_team": "suppression de l'équipe", "deleting_team": "suppression de l'équipe",
"member-does-not-exist": "Le membre n'existe pas",
"Convert": "Convertir", "Convert": "Convertir",
"Convert_to_Team": "Convertir en équipe", "Convert_to_Team": "Convertir en équipe",
"Convert_to_Team_Warning": "Vous convertissez ce canal en équipe. Tous les membres seront conservés.", "Convert_to_Team_Warning": "Vous convertissez ce canal en équipe. Tous les membres seront conservés.",
@ -768,7 +596,6 @@
"Unsupported_format": "Format non supporté", "Unsupported_format": "Format non supporté",
"Downloaded_file": "Fichier téléchargé", "Downloaded_file": "Fichier téléchargé",
"Error_Download_file": "Erreur lors du téléchargement du fichier", "Error_Download_file": "Erreur lors du téléchargement du fichier",
"Converting_team_to_channel": "Conversion d'équipe en canal",
"Deleted__roomName__": "#{{roomName}} supprimé", "Deleted__roomName__": "#{{roomName}} supprimé",
"Message_HideType_added_user_to_team": "Masquer les messages \"Utilisateur ajouté à l'équipe\"", "Message_HideType_added_user_to_team": "Masquer les messages \"Utilisateur ajouté à l'équipe\"",
"Message_HideType_removed_user_from_team": "Masquer les messages \"Utilisateur supprimé de l'équipe\"", "Message_HideType_removed_user_from_team": "Masquer les messages \"Utilisateur supprimé de l'équipe\"",
@ -779,8 +606,6 @@
"Message_HideType_user_converted_to_team": "Masquer les messages \"L'utilisateur a converti le canal en équipe\"", "Message_HideType_user_converted_to_team": "Masquer les messages \"L'utilisateur a converti le canal en équipe\"",
"Message_HideType_user_deleted_room_from_team": "Masquer les messages \"L'utilisateur a supprimé le salon de l'équipe\"", "Message_HideType_user_deleted_room_from_team": "Masquer les messages \"L'utilisateur a supprimé le salon de l'équipe\"",
"Message_HideType_user_removed_room_from_team": "Masquer les messages \"L'utilisateur a enlevé le salon de l'équipe\"", "Message_HideType_user_removed_room_from_team": "Masquer les messages \"L'utilisateur a enlevé le salon de l'équipe\"",
"User_joined_team": "a rejoint cette équipe",
"User_left_team": "a quitté cette équipe",
"Place_chat_on_hold": "Mettre le chat en attente", "Place_chat_on_hold": "Mettre le chat en attente",
"Would_like_to_place_on_hold": "Souhaitez-vous mettre ce chat en attente ?", "Would_like_to_place_on_hold": "Souhaitez-vous mettre ce chat en attente ?",
"Open_Livechats": "Chats omnicanaux en cours", "Open_Livechats": "Chats omnicanaux en cours",

View File

@ -2,93 +2,25 @@
"__count__empty_rooms_will_be_removed_automatically": "{{count}} stanze vuote verranno eliminate.", "__count__empty_rooms_will_be_removed_automatically": "{{count}} stanze vuote verranno eliminate.",
"__count__empty_room_will_be_removed_automatically": "{{count}} stanza vuota verrà eliminata.", "__count__empty_room_will_be_removed_automatically": "{{count}} stanza vuota verrà eliminata.",
"1_person_reacted": "1 persona ha reagito", "1_person_reacted": "1 persona ha reagito",
"1_user": "1 utente",
"error-action-not-allowed": "{{action}} non autorizzata", "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-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-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-email-send-failed": "Errore nel tentativo di invio e-mail: {{message}}",
"error-save-image": "Errore nel salvataggio dell'immagine", "error-save-image": "Errore nel salvataggio dell'immagine",
"error-save-video": "Errore nel salvataggio del video", "error-save-video": "Errore nel salvataggio del video",
"error-field-unavailable": "{{field}} è già in uso :(",
"error-file-too-large": "File troppo grande", "error-file-too-large": "File troppo grande",
"error-not-permission-to-upload-file": "Non hai l'autorizzazione per caricare file", "error-not-permission-to-upload-file": "Non hai l'autorizzazione per caricare file",
"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": "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-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-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-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-owner-channel": "Non sei il proprietario del canale",
"error-no-tokens-for-this-user": "Non ci sono token per questo utente",
"error-not-allowed": "Non permesso", "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-password-same-as-current": "La password inserita è uguale a quella attuale",
"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-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.", "error-you-are-last-owner": "Sei l'ultimo proprietario rimasto. Imposta un nuovo proprietario prima di lasciare la stanza.",
"error-status-not-allowed": "Lo stato invisibile è disabilitato",
"A_new_owner_will_be_assigned_automatically_to__count__rooms": "Un nuovo proprietario verrà assegnato automaticamente a {{count}} stanze.", "A_new_owner_will_be_assigned_automatically_to__count__rooms": "Un nuovo proprietario verrà assegnato automaticamente a {{count}} stanze.",
"A_new_owner_will_be_assigned_automatically_to__count__room": "Un nuovo proprietario verrà assegnato automaticamente alla stanza {{count}}.", "A_new_owner_will_be_assigned_automatically_to__count__room": "Un nuovo proprietario verrà assegnato automaticamente alla stanza {{count}}.",
"Actions": "Azioni", "Actions": "Azioni",
"Activity": "Attività", "Activity": "Attività",
"Add_Reaction": "Aggiungi reazione",
"Add_Server": "Aggiungi server", "Add_Server": "Aggiungi server",
"Add_users": "Aggiungi utenti", "Add_users": "Aggiungi utenti",
"Admin_Panel": "Amministrazione", "Admin_Panel": "Amministrazione",
@ -102,8 +34,6 @@
"All": "Tutti", "All": "Tutti",
"All_Messages": "Tutti i messaggi", "All_Messages": "Tutti i messaggi",
"Allow_Reactions": "Permetti reazioni", "Allow_Reactions": "Permetti reazioni",
"Alphabetical": "Alfabetico",
"and_more": "e altro",
"and": "e", "and": "e",
"announcement": "annuncio", "announcement": "annuncio",
"Announcement": "Annuncio", "Announcement": "Annuncio",
@ -115,19 +45,15 @@
"Are_you_sure_you_want_to_delete_your_account": "Sicuro di voler eliminare il tuo account?", "Are_you_sure_you_want_to_delete_your_account": "Sicuro di voler eliminare il tuo account?",
"Deleting_a_user_will_delete_all_messages": "L'eliminazione di un utente comporta l'eliminazione di tutti i messaggi, le stanze e i team di quell'utente. Questa operazione non può essere annullata.", "Deleting_a_user_will_delete_all_messages": "L'eliminazione di un utente comporta l'eliminazione di tutti i messaggi, le stanze e i team di quell'utente. Questa operazione non può essere annullata.",
"Are_you_sure_you_want_to_leave_the_room": "Sei sicuro di voler lasciare la stanza {{room}}?", "Are_you_sure_you_want_to_leave_the_room": "Sei sicuro di voler lasciare la stanza {{room}}?",
"Audio": "Audio",
"Authenticating": "Autenticazione",
"Automatic": "Automatico", "Automatic": "Automatico",
"Auto_Translate": "Traduzione automatica", "Auto_Translate": "Traduzione automatica",
"Avatar_changed_successfully": "Avatar aggiornato correttamente!", "Avatar_changed_successfully": "Avatar aggiornato correttamente!",
"Avatar_Url": "URL avatar", "Avatar_Url": "URL avatar",
"Away": "Assente", "Away": "Assente",
"Back": "Indietro",
"Black": "Nero", "Black": "Nero",
"Block_user": "Blocca utente", "Block_user": "Blocca utente",
"Browser": "Browser", "Browser": "Browser",
"Busy": "Occupato", "Busy": "Occupato",
"By_proceeding_you_are_agreeing": "Procedendo accetti i nostri",
"Cancel_editing": "Annulla modifica", "Cancel_editing": "Annulla modifica",
"Cancel_recording": "Annulla registrazione", "Cancel_recording": "Annulla registrazione",
"Cancel": "Annulla", "Cancel": "Annulla",
@ -146,21 +72,17 @@
"Click_to_join": "Clicca per unirti!", "Click_to_join": "Clicca per unirti!",
"Close": "Chiudi", "Close": "Chiudi",
"Close_emoji_selector": "Chiudi selettore emoji", "Close_emoji_selector": "Chiudi selettore emoji",
"Closing_chat": "Chiudendo la chat",
"Change_language_loading": "Cambiando la lingua.", "Change_language_loading": "Cambiando la lingua.",
"Chat_closed_by_agent": "Chat chiusa dall'agente", "Chat_closed_by_agent": "Chat chiusa dall'agente",
"Choose": "Scegli", "Choose": "Scegli",
"Choose_from_library": "Scegli dalla libreria", "Choose_from_library": "Scegli dalla libreria",
"Choose_file": "Scegli file", "Choose_file": "Scegli file",
"Choose_where_you_want_links_be_opened": "Scegli dove vuoi che vengano aperti i link", "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", "Code_or_password_invalid": "Codice o password non validi",
"Conversation_closed": "Conversazione chiusa", "Conversation_closed": "Conversazione chiusa",
"Collaborative": "Collaborativo", "Collaborative": "Collaborativo",
"Confirm": "Conferma", "Confirm": "Conferma",
"Connect": "Connetti", "Connect": "Connetti",
"Connected": "Connesso",
"connecting_server": "connessione al server",
"Connecting": "Connessione...", "Connecting": "Connessione...",
"Contact_us": "Contattaci", "Contact_us": "Contattaci",
"Contact_your_server_admin": "Contatta l'amministratore.", "Contact_your_server_admin": "Contatta l'amministratore.",
@ -179,7 +101,6 @@
"Created_snippet": "Snippet creato", "Created_snippet": "Snippet creato",
"Create_a_new_workspace": "Crea un nuovo workspace", "Create_a_new_workspace": "Crea un nuovo workspace",
"Create": "Crea", "Create": "Crea",
"Custom_Status": "Stato personalizzato",
"Dark": "Scuro", "Dark": "Scuro",
"Dark_level": "Contrasto", "Dark_level": "Contrasto",
"Default": "Predefinito", "Default": "Predefinito",
@ -195,16 +116,13 @@
"deleting_room": "cancellazione stanza", "deleting_room": "cancellazione stanza",
"description": "descrizione", "description": "descrizione",
"Description": "Descrizione", "Description": "Descrizione",
"Desktop_Options": "Opzioni Desktop",
"Desktop_Notifications": "Notifiche Desktop", "Desktop_Notifications": "Notifiche Desktop",
"Desktop_Alert_info": "Queste notifiche vengono inviate sul client desktop", "Desktop_Alert_info": "Queste notifiche vengono inviate sul client desktop",
"Directory": "Rubrica", "Directory": "Rubrica",
"Direct_Messages": "Messaggi diretti", "Direct_Messages": "Messaggi diretti",
"Disable_notifications": "Disabilita notifiche",
"Discussions": "Discussioni", "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_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", "Discussion_name": "Nome della discussione",
"Done": "Fatto",
"Dont_Have_An_Account": "Non hai un account?", "Dont_Have_An_Account": "Non hai un account?",
"Do_you_have_an_account": "Hai un account?", "Do_you_have_an_account": "Hai un account?",
"Do_you_have_a_certificate": "Hai un certificato?", "Do_you_have_a_certificate": "Hai un certificato?",
@ -214,21 +132,14 @@
"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_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_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.", "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": "Modifica",
"Edit_Status": "Modifica Stato", "Edit_Status": "Modifica Stato",
"Edit_Invite": "Modifica invito", "Edit_Invite": "Modifica invito",
"End_to_end_encrypted_room": "Stanza crittografata end to end", "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_All": "Ogni Menzione/Messaggio Privato",
"Email_Notification_Mode_Disabled": "Disabilitato", "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",
"email": "e-mail",
"Empty_title": "Titolo vuoto",
"Enable_Auto_Translate": "Abilita traduzione automatica", "Enable_Auto_Translate": "Abilita traduzione automatica",
"Enable_notifications": "Abilita notifiche",
"Encrypted": "Crittografato", "Encrypted": "Crittografato",
"Encrypted_message": "Messaggio crittografato", "Encrypted_message": "Messaggio crittografato",
"Enter_Your_E2E_Password": "Inserisci la tua password E2E", "Enter_Your_E2E_Password": "Inserisci la tua password E2E",
@ -243,13 +154,11 @@
"Favorites": "Preferiti", "Favorites": "Preferiti",
"Files": "File", "Files": "File",
"File_description": "Descrizione file", "File_description": "Descrizione file",
"File_name": "Nome file",
"Finish_recording": "Termina registrazione", "Finish_recording": "Termina registrazione",
"Following_thread": "Thread seguito", "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.", "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_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",
"Forgot_Password": "Password dimenticata",
"Forward": "Inoltra", "Forward": "Inoltra",
"Forward_Chat": "Inoltra Chat", "Forward_Chat": "Inoltra Chat",
"Forward_to_department": "Inoltra a dipartimento", "Forward_to_department": "Inoltra a dipartimento",
@ -280,9 +189,6 @@
"In_App_And_Desktop": "In-app e Desktop", "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", "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", "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", "is_typing": "sta scrivendo",
"Invalid_or_expired_invite_token": "Token di invito non valido o scaduto", "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}}", "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}}",
@ -292,33 +198,25 @@
"Join_Code": "Codice d'accesso", "Join_Code": "Codice d'accesso",
"Insert_Join_Code": "Inserisci il codice d'accesso", "Insert_Join_Code": "Inserisci il codice d'accesso",
"Join_our_open_workspace": "Unisciti al nostro workspace", "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", "Just_invited_people_can_access_this_channel": "Solo le persone invitate possono accedere a questo canale",
"Just_invited_people_can_access_this_team": "Solo le persone invitate possono accedere a questo team", "Just_invited_people_can_access_this_team": "Solo le persone invitate possono accedere a questo team",
"Language": "Lingua", "Language": "Lingua",
"last_message": "ultimo messaggio", "last_message": "ultimo messaggio",
"Leave_channel": "Abbandona canale",
"leaving_room": "abbandonando stanza", "leaving_room": "abbandonando stanza",
"Leave": "Lasciare il canale", "Leave": "Lasciare il canale",
"leave": "abbandona", "leave": "abbandona",
"Legal": "Informazioni", "Legal": "Informazioni",
"Light": "Chiaro", "Light": "Chiaro",
"License": "Licenza", "License": "Licenza",
"Livechat": "Livechat",
"Livechat_edit": "Modifica Livechat",
"Login": "Accedi", "Login": "Accedi",
"Login_error": "Le tue credenziali sono state rifiutate! Prova di nuovo.", "Login_error": "Le tue credenziali sono state rifiutate! Prova di nuovo.",
"Login_with": "Accedi con",
"Logging_out": "Disconnettendo.", "Logging_out": "Disconnettendo.",
"Logout": "Disconnetti", "Logout": "Disconnetti",
"Max_number_of_uses": "Max numero di utilizzi", "Max_number_of_uses": "Max numero di utilizzi",
"Max_number_of_users_allowed_is_number": "Il numero massimo di utenti ammessi è {{maxUsers}}", "Max_number_of_users_allowed_is_number": "Il numero massimo di utenti ammessi è {{maxUsers}}",
"members": "membri", "members": "membri",
"Members": "Membri", "Members": "Membri",
"Mentioned_Messages": "Messaggi menzionati",
"mentioned": "menzionato",
"Mentions": "Menzioni", "Mentions": "Menzioni",
"Message_accessibility": "Messaggio da {{user}} alle {{time}}: {{message}}",
"Message_actions": "Azioni messaggio", "Message_actions": "Azioni messaggio",
"Message_pinned": "Messaggio appuntato", "Message_pinned": "Messaggio appuntato",
"Message_removed": "Messaggio rimosso", "Message_removed": "Messaggio rimosso",
@ -327,13 +225,9 @@
"message": "messaggio", "message": "messaggio",
"messages": "messaggi", "messages": "messaggi",
"Message": "Messaggio", "Message": "Messaggio",
"Messages": "Messaggi",
"Message_Reported": "Messaggio segnalato", "Message_Reported": "Messaggio segnalato",
"Microphone_Permission_Message": "Rocket.Chat richiede l'accesso al microfono per inviare messaggi audio.",
"Microphone_Permission": "Permesso microfono",
"Mute": "Silenzia", "Mute": "Silenzia",
"muted": "silenziato", "muted": "silenziato",
"My_servers": "I miei server",
"N_people_reacted": "{{n}} persone hanno reagito", "N_people_reacted": "{{n}} persone hanno reagito",
"N_users": "{{n}} utenti", "N_users": "{{n}} utenti",
"N_channels": "{{n}} canali", "N_channels": "{{n}} canali",
@ -341,7 +235,6 @@
"Never": "Mai", "Never": "Mai",
"New_Message": "Nuovo messaggio", "New_Message": "Nuovo messaggio",
"New_Password": "Nuova password", "New_Password": "Nuova password",
"New_Server": "Nuovo server",
"Next": "Successivo", "Next": "Successivo",
"No_files": "Nessun file", "No_files": "Nessun file",
"No_limit": "Nessun limite", "No_limit": "Nessun limite",
@ -349,30 +242,23 @@
"No_pinned_messages": "Nessun messaggio attaccato", "No_pinned_messages": "Nessun messaggio attaccato",
"No_results_found": "Nessun risultato", "No_results_found": "Nessun risultato",
"No_starred_messages": "Nessun messaggio preferito", "No_starred_messages": "Nessun messaggio preferito",
"No_thread_messages": "Nessun messaggio thread",
"No_label_provided": "Nessun {{label}} fornito.", "No_label_provided": "Nessun {{label}} fornito.",
"No_Message": "Nessun messaggio", "No_Message": "Nessun messaggio",
"No_messages_yet": "Non ci sono ancora messaggi", "No_messages_yet": "Non ci sono ancora messaggi",
"No_Reactions": "Nessuna reazione", "No_Reactions": "Nessuna reazione",
"No_Read_Receipts": "Nessuna conferma di lettura", "No_Read_Receipts": "Nessuna conferma di lettura",
"Not_logged": "Non loggato",
"Not_RC_Server": "Questo non è un server di Rocket.Chat.\n{{contact}}", "Not_RC_Server": "Questo non è un server di Rocket.Chat.\n{{contact}}",
"Nothing": "Niente", "Nothing": "Niente",
"Nothing_to_save": "Niente da salvare!", "Nothing_to_save": "Niente da salvare!",
"Notify_active_in_this_room": "Notifica solo gli utenti attivi in questa stanza", "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", "Notify_all_in_this_room": "Notifica tutti gli utenti in questa stanza",
"Notifications": "Notifiche", "Notifications": "Notifiche",
"Notification_Duration": "Durata notifiche",
"Notification_Preferences": "Impostazioni notifiche", "Notification_Preferences": "Impostazioni notifiche",
"No_available_agents_to_transfer": "Nessun agente disponibile a cui trasferire", "No_available_agents_to_transfer": "Nessun agente disponibile a cui trasferire",
"Offline": "Offline",
"Oops": "Oops!", "Oops": "Oops!",
"Omnichannel": "Omnichannel", "Omnichannel": "Omnichannel",
"Omnichannel_enable_alert": "Non sei ancora su Onmichannel. Vuoi attivarlo?", "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_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_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_agree_terms": "Procedendo, accetti Rocket.Chat",
"Onboarding_less_options": "Meno opzioni", "Onboarding_less_options": "Meno opzioni",
@ -380,7 +266,6 @@
"Online": "Online", "Online": "Online",
"Only_authorized_users_can_write_new_messages": "Solo gli utenti autorizzati possono scrivere nuovi messaggi", "Only_authorized_users_can_write_new_messages": "Solo gli utenti autorizzati possono scrivere nuovi messaggi",
"Open_emoji_selector": "Apri selettore emoji", "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.", "Open_your_authentication_app_and_enter_the_code": "Apri l'app di autenticazione e inserisci il codice.",
"OR": "O", "OR": "O",
"OS": "SO", "OS": "SO",
@ -390,27 +275,22 @@
"Permalink_copied_to_clipboard": "Permalink copiato negli appunti!", "Permalink_copied_to_clipboard": "Permalink copiato negli appunti!",
"Phone": "Telefono", "Phone": "Telefono",
"Pin": "Appunta", "Pin": "Appunta",
"Pinned_Messages": "Messaggi appuntati",
"pinned": "appuntati",
"Pinned": "Appuntati", "Pinned": "Appuntati",
"Please_add_a_comment": "Per favore, aggiungi un commento", "Please_add_a_comment": "Per favore, aggiungi un commento",
"Please_enter_your_password": "Per favore, inserisci la tua password", "Please_enter_your_password": "Per favore, inserisci la tua password",
"Please_wait": "Si prega di attendere.", "Please_wait": "Si prega di attendere.",
"Preferences": "Impostazioni", "Preferences": "Impostazioni",
"Preferences_saved": "Impostazioni salvate!",
"Privacy_Policy": " Privacy Policy", "Privacy_Policy": " Privacy Policy",
"Private": "Privato", "Private": "Privato",
"Processing": "Elaborazione...", "Processing": "Elaborazione...",
"Profile_saved_successfully": "Profilo salvato correttamente!", "Profile_saved_successfully": "Profilo salvato correttamente!",
"Profile": "Profilo", "Profile": "Profilo",
"Public_Channel": "Canale pubblico",
"Public": "Pubblico", "Public": "Pubblico",
"Push_Notifications": "Notifiche Push", "Push_Notifications": "Notifiche Push",
"Push_Notifications_Alert_Info": "Queste notifiche ti vengono recapitate quando l'app non è aperta", "Push_Notifications_Alert_Info": "Queste notifiche ti vengono recapitate quando l'app non è aperta",
"Quote": "Cita", "Quote": "Cita",
"Reactions_are_disabled": "Le reazioni sono disabilitate", "Reactions_are_disabled": "Le reazioni sono disabilitate",
"Reactions_are_enabled": "Le reazioni sono abilitate", "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_Message": "Rocket.Chat deve accedere alle foto, media, e documenti sul tuo dispositivo",
"Read_External_Permission": "Permesso di Lettura della Memoria", "Read_External_Permission": "Permesso di Lettura della Memoria",
"Read_Only": "Sola lettura", "Read_Only": "Sola lettura",
@ -418,8 +298,6 @@
"Receive_Group_Mentions": "Ricevi menzioni di gruppo", "Receive_Group_Mentions": "Ricevi menzioni di gruppo",
"Receive_Group_Mentions_Info": "Ricevi menzioni @all e @here", "Receive_Group_Mentions_Info": "Ricevi menzioni @all e @here",
"Register": "Registrati", "Register": "Registrati",
"Repeat_Password": "Conferma password",
"Replied_on": "Risposto il:",
"replies": "risposte", "replies": "risposte",
"reply": "risposta", "reply": "risposta",
"Reply": "Rispondi", "Reply": "Rispondi",
@ -439,13 +317,8 @@
"Review_this_app": "Recensisci questa app", "Review_this_app": "Recensisci questa app",
"Remove": "Rimuovi", "Remove": "Rimuovi",
"Roles": "Ruoli", "Roles": "Ruoli",
"Room_actions": "Azioni stanza",
"Room_changed_announcement": "Annuncio stanza cambiato in: {{announcement}} da {{userBy}}",
"Room_changed_description": "Descrizione stanza cambiata in: {{description}} da {{userBy}}",
"Room_Files": "File stanza",
"Room_Info_Edit": "Modifica informazioni stanza", "Room_Info_Edit": "Modifica informazioni stanza",
"Room_Info": "Informazioni stanza", "Room_Info": "Informazioni stanza",
"Room_Members": "Membri stanza",
"SAVE": "SALVA", "SAVE": "SALVA",
"Save_Changes": "Salva cambiamenti", "Save_Changes": "Salva cambiamenti",
"Save": "Salva", "Save": "Salva",
@ -463,9 +336,7 @@
"Search_by": "Cerca per", "Search_by": "Cerca per",
"Search_global_users": "Cerca utenti globali", "Search_global_users": "Cerca utenti globali",
"Search_global_users_description": "Se attivi questa opzione, puoi cercare qualsiasi utente da altre aziende o server.", "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", "Security_and_privacy": "Sicurezza e privacy",
"Select_Avatar": "Seleziona avatar",
"Select_Server": "Seleziona server", "Select_Server": "Seleziona server",
"Select_Users": "Seleziona utenti", "Select_Users": "Seleziona utenti",
"Select_a_Channel": "Seleziona un Canale", "Select_a_Channel": "Seleziona un Canale",
@ -479,13 +350,9 @@
"Send_me_the_code_again": "Inviami nuovamente il codice", "Send_me_the_code_again": "Inviami nuovamente il codice",
"Send_to": "Invia a...", "Send_to": "Invia a...",
"Sending_to": "Invio a", "Sending_to": "Invio a",
"Sent_an_attachment": "Inviato un allegato",
"Server": "Server", "Server": "Server",
"Servers": "Servers",
"Server_version": "Versione server: {{version}}", "Server_version": "Versione server: {{version}}",
"Set_username_subtitle": "Il nome utente viene utilizzato per permettere ad altri di menzionarti nei messaggi", "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!", "Status_saved_successfully": "Stato salvato correttamente!",
"Settings": "Impostazioni", "Settings": "Impostazioni",
"Settings_succesfully_changed": "Impostazioni modificate correttamente!", "Settings_succesfully_changed": "Impostazioni modificate correttamente!",
@ -493,44 +360,30 @@
"Share_Link": "Condividi link", "Share_Link": "Condividi link",
"Share_this_app": "Condividi questa app", "Share_this_app": "Condividi questa app",
"Show_more": "Mostra altri..", "Show_more": "Mostra altri..",
"Sign_in_your_server": "Accedi al tuo server",
"Sign_Up": "Registrati", "Sign_Up": "Registrati",
"Some_field_is_invalid_or_empty": "Un campo non è valido o è vuoto",
"Sound": "Suono", "Sound": "Suono",
"Star_room": "Aggiungi stanza ai preferiti",
"Star": "Aggiungi ai preferiti", "Star": "Aggiungi ai preferiti",
"Starred_Messages": "Messaggi preferiti",
"starred": "preferiti",
"Starred": "Preferiti", "Starred": "Preferiti",
"Start_of_conversation": "Inizio della conversazione",
"Start_a_Discussion": "Avvia una Discussione", "Start_a_Discussion": "Avvia una Discussione",
"Started_discussion": "Discussione iniziata:", "Started_discussion": "Discussione iniziata:",
"Started_call": "Chiamata iniziata da {{userBy}}", "Started_call": "Chiamata iniziata da {{userBy}}",
"Submit": "Invia",
"Table": "Tabella", "Table": "Tabella",
"Tags": "Tag", "Tags": "Tag",
"Take_a_photo": "Scatta una foto", "Take_a_photo": "Scatta una foto",
"Take_a_video": "Registra un video", "Take_a_video": "Registra un video",
"Take_it": "Prendi!", "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 ", "Terms_of_Service": " Termini di servizio ",
"Theme": "Tema", "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}}!", "There_was_an_error_while_action": "Si è verificato un errore nel {{action}}!",
"This_room_is_blocked": "Questa stanza è bloccata", "This_room_is_blocked": "Questa stanza è bloccata",
"This_room_is_read_only": "Questa stanza è in sola lettura", "This_room_is_read_only": "Questa stanza è in sola lettura",
"Thread": "Thread",
"Threads": "Threads", "Threads": "Threads",
"Timezone": "Fuso orario", "Timezone": "Fuso orario",
"To": "A",
"topic": "argomento", "topic": "argomento",
"Topic": "Argomento", "Topic": "Argomento",
"Translate": "Traduci", "Translate": "Traduci",
"Try_again": "Riprova", "Try_again": "Riprova",
"Two_Factor_Authentication": "Autenticazione a due fattori", "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",
"UNARCHIVE": "RIMUOVI DALL'ARCHIVIO", "UNARCHIVE": "RIMUOVI DALL'ARCHIVIO",
"Unblock_user": "Sblocca utente", "Unblock_user": "Sblocca utente",
@ -544,31 +397,21 @@
"Unstar": "Rimuovi dai preferiti", "Unstar": "Rimuovi dai preferiti",
"Updating": "Aggiornamento...", "Updating": "Aggiornamento...",
"Uploading": "Caricamento", "Uploading": "Caricamento",
"Upload_file_question_mark": "Carica file?",
"User": "Utente", "User": "Utente",
"Users": "Utenti", "Users": "Utenti",
"User_Info": "Informazioni utente", "User_Info": "Informazioni utente",
"User_has_been_key": "Utente {{key}}", "User_has_been_key": "Utente {{key}}",
"User_is_no_longer_role_by_": "{{user}} non è più {{role}} da {{userBy}}",
"User_sent_an_attachment": "{{user}} ha inviato un allegato", "User_sent_an_attachment": "{{user}} ha inviato un allegato",
"Username_is_empty": "Username vuoto",
"Username": "Username", "Username": "Username",
"Username_or_email": "Username o email", "Username_or_email": "Username o email",
"Uses_server_configuration": "Usa la configurazione del server", "Uses_server_configuration": "Usa la configurazione del server",
"Validating": "Validazione",
"Registration_Succeeded": "Registrazione completata!", "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_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", "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", "View_Original": "Mostra originale",
"Voice_call": "Chiamata vocale",
"Waiting_for_network": "In attesa di connessione ...", "Waiting_for_network": "In attesa di connessione ...",
"Websocket_disabled": "Websocket disabilitata per questo server.\n{{contact}}", "Websocket_disabled": "Websocket disabilitata per questo server.\n{{contact}}",
"Welcome": "Benvenuto",
"What_are_you_doing_right_now": "Cosa stai facendo in questo momento?", "What_are_you_doing_right_now": "Cosa stai facendo in questo momento?",
"Whats_your_2fa": "Qual'è il tuo codice 2FA?",
"Without_Servers": "Senza server", "Without_Servers": "Senza server",
"Workspaces": "Workspace", "Workspaces": "Workspace",
"Would_you_like_to_return_the_inquiry": "Vorresti ritirare la tua domanda?", "Would_you_like_to_return_the_inquiry": "Vorresti ritirare la tua domanda?",
@ -578,7 +421,6 @@
"Yes_action_it": "Sì, {{action}}!", "Yes_action_it": "Sì, {{action}}!",
"Yesterday": "Ieri", "Yesterday": "Ieri",
"You_are_in_preview_mode": "Sei in modalità anteprima", "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_can_search_using_RegExp_eg": "Puoi usare espressioni regolari. es. `/^testo$/i`",
"You_colon": "Tu: ", "You_colon": "Tu: ",
"you_were_mentioned": "sei stato menzionato", "you_were_mentioned": "sei stato menzionato",
@ -601,20 +443,9 @@
"Change_Language": "Cambia lingua", "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.", "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", "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", "Search_messages": "Cerca messaggi",
"Scroll_messages": "Scorri i messaggi",
"Reply_latest": "Rispondi all'ultimo",
"Reply_in_Thread": "Rispondi nella discussione", "Reply_in_Thread": "Rispondi nella discussione",
"Server_selection": "Selezione server",
"Server_selection_numbers": "Selezione server 1...9",
"Add_server": "Aggiungi server", "Add_server": "Aggiungi server",
"New_line": "Nuova linea",
"You_will_be_logged_out_of_this_application": "Verrai disconnesso da questa applicazione.", "You_will_be_logged_out_of_this_application": "Verrai disconnesso da questa applicazione.",
"Clear": "Cancella", "Clear": "Cancella",
"This_will_clear_all_your_offline_data": "Questo cancellerà tutti i tuoi dati offline.", "This_will_clear_all_your_offline_data": "Questo cancellerà tutti i tuoi dati offline.",
@ -688,7 +519,6 @@
"Message_Ignored": "Messaggio ignorato. Tocca per visualizzarlo.", "Message_Ignored": "Messaggio ignorato. Tocca per visualizzarlo.",
"Enter_workspace_URL": "Inserisci la url del workspace", "Enter_workspace_URL": "Inserisci la url del workspace",
"Workspace_URL_Example": "Es. tua-azienda.rocket.chat", "Workspace_URL_Example": "Es. tua-azienda.rocket.chat",
"invalid-room": "Canale non valido",
"Open_Livechats": "Chat in corso", "Open_Livechats": "Chat in corso",
"Broadcast_hint": "Solo gli utenti autorizzati possono scrivere messaggi, ma gli altri utenti saranno in grado di rispondere", "Broadcast_hint": "Solo gli utenti autorizzati possono scrivere messaggi, ma gli altri utenti saranno in grado di rispondere",
"and_N_more": "e altri {{count}}" "and_N_more": "e altri {{count}}"

View File

@ -1,89 +1,22 @@
{ {
"1_person_reacted": "1人がリアクション", "1_person_reacted": "1人がリアクション",
"1_user": "1人",
"error-action-not-allowed": "{{action}}の権限がありません。", "error-action-not-allowed": "{{action}}の権限がありません。",
"error-application-not-found": "アプリケーションがありません。",
"error-archived-duplicate-name": "アーカイブ名が重複しています: {{room_name}}",
"error-avatar-invalid-url": "画像のURLが正しくありません: {{url}}", "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-duplicate-channel-name": "{{room_name}}と同名のチャンネルが存在します。",
"error-email-domain-blacklisted": "このドメインのメールアドレスはブラックリストに登録されています。",
"error-email-send-failed": "次のメールアドレスの送信に失敗しました: {{message}}", "error-email-send-failed": "次のメールアドレスの送信に失敗しました: {{message}}",
"error-save-image": "画像の保存に失敗しました。", "error-save-image": "画像の保存に失敗しました。",
"error-save-video": "動画の保存中にエラーが発生しました", "error-save-video": "動画の保存中にエラーが発生しました",
"error-field-unavailable": "{{field}}は既に使用されています。",
"error-file-too-large": "ファイルが大きすぎます。", "error-file-too-large": "ファイルが大きすぎます。",
"error-not-permission-to-upload-file": "ファイルをアップロードする権限がありません", "error-not-permission-to-upload-file": "ファイルをアップロードする権限がありません",
"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": "不正なメールアドレスです。 {{email}}",
"error-invalid-email-address": "不正なメールアドレスです",
"error-invalid-file-height": "ファイルの高さが不正です",
"error-invalid-file-type": "ファイルの種類が不正です", "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-password": "不正なパスワードです",
"error-invalid-redirectUri": "不正なリダイレクトURIです",
"error-invalid-role": "不正なロールです",
"error-invalid-room": "不正なルームです",
"error-invalid-room-name": "{{room_name}}は正しいルーム名ではありません。", "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-owner-channel": "チャンネルを所有していません",
"error-no-tokens-for-this-user": "このユーザーにはトークンがありません。",
"error-not-allowed": "許可されていません。", "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-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-you-are-last-owner": "あなたは最後のオーナーです。ルームを退出する前に別のオーナーを設定してください。",
"error-status-not-allowed": "ステータスの非表示が無効になっています",
"Actions": "アクション", "Actions": "アクション",
"Activity": "アクティビティ順", "Activity": "アクティビティ順",
"Add_Reaction": "リアクションを追加",
"Add_Server": "サーバーを追加", "Add_Server": "サーバーを追加",
"Add_users": "ユーザーを追加", "Add_users": "ユーザーを追加",
"Admin_Panel": "管理者パネル", "Admin_Panel": "管理者パネル",
@ -97,8 +30,6 @@
"All": "すべての", "All": "すべての",
"All_Messages": "全メッセージ", "All_Messages": "全メッセージ",
"Allow_Reactions": "リアクションを許可", "Allow_Reactions": "リアクションを許可",
"Alphabetical": "アルファベット順",
"and_more": "さらに表示",
"and": "と", "and": "と",
"announcement": "アナウンス", "announcement": "アナウンス",
"Announcement": "アナウンス", "Announcement": "アナウンス",
@ -108,19 +39,15 @@
"are_typing": "が入力中", "are_typing": "が入力中",
"Are_you_sure_question_mark": "よろしいですか?", "Are_you_sure_question_mark": "よろしいですか?",
"Are_you_sure_you_want_to_leave_the_room": "{{room}}を退出してもよろしいですか?", "Are_you_sure_you_want_to_leave_the_room": "{{room}}を退出してもよろしいですか?",
"Audio": "音声",
"Authenticating": "認証",
"Automatic": "自動", "Automatic": "自動",
"Auto_Translate": "自動翻訳", "Auto_Translate": "自動翻訳",
"Avatar_changed_successfully": "アバターを変更しました!", "Avatar_changed_successfully": "アバターを変更しました!",
"Avatar_Url": "アバターURL", "Avatar_Url": "アバターURL",
"Away": "退出中", "Away": "退出中",
"Back": "戻る",
"Black": "ブラック", "Black": "ブラック",
"Block_user": "ブロックしたユーザー", "Block_user": "ブロックしたユーザー",
"Browser": "ブラウザ", "Browser": "ブラウザ",
"Busy": "取り込み中", "Busy": "取り込み中",
"By_proceeding_you_are_agreeing": "続行することにより、私達を承認します",
"Cancel_editing": "編集をキャンセル", "Cancel_editing": "編集をキャンセル",
"Cancel_recording": "録音をキャンセル", "Cancel_recording": "録音をキャンセル",
"Cancel": "キャンセル", "Cancel": "キャンセル",
@ -138,20 +65,16 @@
"Click_to_join": "クリックして参加!", "Click_to_join": "クリックして参加!",
"Close": "閉じる", "Close": "閉じる",
"Close_emoji_selector": "絵文字ピッカーを閉じる", "Close_emoji_selector": "絵文字ピッカーを閉じる",
"Closing_chat": "チャットを閉じる",
"Change_language_loading": "言語の変更", "Change_language_loading": "言語の変更",
"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_or_password_invalid": "無効なコードまたはパスワード", "Code_or_password_invalid": "無効なコードまたはパスワード",
"Collaborative": "コラボ", "Collaborative": "コラボ",
"Confirm": "承認", "Confirm": "承認",
"Connect": "接続", "Connect": "接続",
"Connected": "接続しました",
"connecting_server": "サーバーに接続中",
"Connecting": "接続中...", "Connecting": "接続中...",
"Contact_us": "お問い合わせ", "Contact_us": "お問い合わせ",
"Contact_your_server_admin": "サーバー管理者にお問い合わせください。", "Contact_your_server_admin": "サーバー管理者にお問い合わせください。",
@ -170,7 +93,6 @@
"Created_snippet": "スニペットを作成", "Created_snippet": "スニペットを作成",
"Create_a_new_workspace": "新しいワークスペースを作成", "Create_a_new_workspace": "新しいワークスペースを作成",
"Create": "作成", "Create": "作成",
"Custom_Status": "カスタムステータス",
"Dark": "ダーク", "Dark": "ダーク",
"Dark_level": "ダークレベル", "Dark_level": "ダークレベル",
"Default": "デフォルト", "Default": "デフォルト",
@ -184,16 +106,13 @@
"deleting_room": "ルームを削除", "deleting_room": "ルームを削除",
"description": "概要", "description": "概要",
"Description": "概要", "Description": "概要",
"Desktop_Options": "デスクトップオプション",
"Desktop_Notifications": "デスクトップ通知", "Desktop_Notifications": "デスクトップ通知",
"Desktop_Alert_info": "これらの通知はデスクトップで配信されます", "Desktop_Alert_info": "これらの通知はデスクトップで配信されます",
"Directory": "ディレクトリ", "Directory": "ディレクトリ",
"Direct_Messages": "ダイレクトメッセージ", "Direct_Messages": "ダイレクトメッセージ",
"Disable_notifications": "通知を無効化",
"Discussions": "ディスカッション", "Discussions": "ディスカッション",
"Discussion_Desc": "状況の概要を把握するのに役立ちます。ディスカッションを作成すると、選択したチャンネルのサブチャンネルが作成され、両方のチャンネルがリンクされます。", "Discussion_Desc": "状況の概要を把握するのに役立ちます。ディスカッションを作成すると、選択したチャンネルのサブチャンネルが作成され、両方のチャンネルがリンクされます。",
"Discussion_name": "ディスカッション名", "Discussion_name": "ディスカッション名",
"Done": "完了",
"Dont_Have_An_Account": "アカウントがありませんか?", "Dont_Have_An_Account": "アカウントがありませんか?",
"Do_you_have_an_account": "アカウントをお持ちですか?", "Do_you_have_an_account": "アカウントをお持ちですか?",
"Do_you_have_a_certificate": "証明書を持っていますか?", "Do_you_have_a_certificate": "証明書を持っていますか?",
@ -203,21 +122,14 @@
"E2E_How_It_Works_info2": "これは*エンドツーエンド*の暗号化であり、メッセージをエンコード/デコードするためのキーであるため、サーバーには保存されません。そのため、必要に応じて後でアクセスできる*安全な場所にこのパスワードを保管する*必要があります。", "E2E_How_It_Works_info2": "これは*エンドツーエンド*の暗号化であり、メッセージをエンコード/デコードするためのキーであるため、サーバーには保存されません。そのため、必要に応じて後でアクセスできる*安全な場所にこのパスワードを保管する*必要があります。",
"E2E_How_It_Works_info3": "処理を進めると、E2Eパスワードが自動生成されます。", "E2E_How_It_Works_info3": "処理を進めると、E2Eパスワードが自動生成されます。",
"E2E_How_It_Works_info4": "既存のE2Eパスワードを入力した任意のブラウザから、暗号化キーの新しいパスワードをいつでも設定することもできます。", "E2E_How_It_Works_info4": "既存のE2Eパスワードを入力した任意のブラウザから、暗号化キーの新しいパスワードをいつでも設定することもできます。",
"edit": "編集",
"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": "エンドツーエンドの暗号化",
"Email_Notification_Mode_All": "すべてのメンション/DM", "Email_Notification_Mode_All": "すべてのメンション/DM",
"Email_Notification_Mode_Disabled": "無効", "Email_Notification_Mode_Disabled": "無効",
"Email_or_password_field_is_empty": "メールアドレスかパスワードの入力欄が空です",
"Email": "メールアドレス", "Email": "メールアドレス",
"email": "メールアドレス",
"Empty_title": "空のタイトル",
"Enable_Auto_Translate": "自動翻訳を有効にする", "Enable_Auto_Translate": "自動翻訳を有効にする",
"Enable_notifications": "通知を有効にする",
"Encrypted": "暗号化済み", "Encrypted": "暗号化済み",
"Encrypted_message": "暗号化されたメッセージ", "Encrypted_message": "暗号化されたメッセージ",
"Enter_Your_E2E_Password": "E2Eパスワードを入力してください", "Enter_Your_E2E_Password": "E2Eパスワードを入力してください",
@ -232,13 +144,11 @@
"Favorites": "お気に入り", "Favorites": "お気に入り",
"Files": "ファイル", "Files": "ファイル",
"File_description": "ファイルの説明", "File_description": "ファイルの説明",
"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": "送信したメールアドレスが登録されていれば、パスワードのリセット方法を送信しました。メールアドレスがすぐに来ない場合はやり直してください。", "Forgot_password_If_this_email_is_registered": "送信したメールアドレスが登録されていれば、パスワードのリセット方法を送信しました。メールアドレスがすぐに来ない場合はやり直してください。",
"Forgot_password": "パスワードを忘れた", "Forgot_password": "パスワードを忘れた",
"Forgot_Password": "パスワードを忘れた",
"Forward": "転送", "Forward": "転送",
"Forward_Chat": "チャットを転送する", "Forward_Chat": "チャットを転送する",
"Forward_to_department": "部署に転送する", "Forward_to_department": "部署に転送する",
@ -268,9 +178,6 @@
"In_App_And_Desktop": "アプリ内とデスクトップ", "In_App_And_Desktop": "アプリ内とデスクトップ",
"In_App_and_Desktop_Alert_info": "アプリを表示中にはバナーを上部に表示し、デスクトップには通知を送ります。", "In_App_and_Desktop_Alert_info": "アプリを表示中にはバナーを上部に表示し、デスクトップには通知を送ります。",
"Invisible": "状態を隠す", "Invisible": "状態を隠す",
"Invite": "招待",
"is_a_valid_RocketChat_instance": "は正しいRocket.Chatのインスタンスです",
"is_not_a_valid_RocketChat_instance": "はRocket.Chatのインスタンスではありません",
"is_typing": "が入力中", "is_typing": "が入力中",
"Invalid_or_expired_invite_token": "招待トークンが無効か、期限が切れています", "Invalid_or_expired_invite_token": "招待トークンが無効か、期限が切れています",
"Invalid_server_version": "接続しようとしているサーバーのバージョン({{currentVersion}})はサポートされていません。\n\nサポートする最低バージョンは {{minVersion}} です", "Invalid_server_version": "接続しようとしているサーバーのバージョン({{currentVersion}})はサポートされていません。\n\nサポートする最低バージョンは {{minVersion}} です",
@ -280,51 +187,39 @@
"Join_Code": "参加コード", "Join_Code": "参加コード",
"Insert_Join_Code": "参加コードを挿入する", "Insert_Join_Code": "参加コードを挿入する",
"Join_our_open_workspace": "開いているワークスペースに参加する", "Join_our_open_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": "チャンネルを退出",
"leaving_room": "チャンネルを退出", "leaving_room": "チャンネルを退出",
"Leave": "ルームを退出", "Leave": "ルームを退出",
"leave": "退出", "leave": "退出",
"Legal": "法的項目", "Legal": "法的項目",
"Light": "ライト", "Light": "ライト",
"License": "ライセンス", "License": "ライセンス",
"Livechat": "ライブチャット",
"Livechat_edit": "ライブチャット編集",
"Login": "ログイン", "Login": "ログイン",
"Login_error": "証明書が承認されませんでした。再度お試しください。", "Login_error": "証明書が承認されませんでした。再度お試しください。",
"Login_with": "次でログイン: ",
"Logging_out": "ログアウトしています。", "Logging_out": "ログアウトしています。",
"Logout": "ログアウト", "Logout": "ログアウト",
"Max_number_of_uses": "最大利用数", "Max_number_of_uses": "最大利用数",
"members": "メンバー", "members": "メンバー",
"Members": "メンバー", "Members": "メンバー",
"Mentioned_Messages": "メンションされたメッセージ",
"mentioned": "メンション",
"Mentions": "メンション", "Mentions": "メンション",
"Message_accessibility": "{{user}} から {{time}} にメッセージ: {{message}}",
"Message_actions": "メッセージアクション", "Message_actions": "メッセージアクション",
"Message_pinned": "メッセージをピン留め", "Message_pinned": "メッセージをピン留め",
"Message_removed": "メッセージを除く",
"message": "メッセージ", "message": "メッセージ",
"messages": "メッセージ", "messages": "メッセージ",
"Message": "メッセージ", "Message": "メッセージ",
"Messages": "メッセージ",
"Message_Reported": "メッセージを報告しました", "Message_Reported": "メッセージを報告しました",
"Microphone_Permission_Message": "Rocket.Chatは音声メッセージを送信するのにマイクのアクセスの許可が必要です。",
"Microphone_Permission": "マイクの許可",
"Mute": "ミュート", "Mute": "ミュート",
"muted": "ミュートした", "muted": "ミュートした",
"My_servers": "自分のサーバー",
"N_people_reacted": "{{n}}人がリアクションしました", "N_people_reacted": "{{n}}人がリアクションしました",
"N_users": "{{n}}人", "N_users": "{{n}}人",
"Name": "名前", "Name": "名前",
"Never": "ずっと受け取らない", "Never": "ずっと受け取らない",
"New_Message": "メッセージ", "New_Message": "メッセージ",
"New_Password": "新しいパスワード", "New_Password": "新しいパスワード",
"New_Server": "新規サーバー",
"Next": "次へ", "Next": "次へ",
"No_files": "ファイルがありません", "No_files": "ファイルがありません",
"No_limit": "制限なし", "No_limit": "制限なし",
@ -332,56 +227,43 @@
"No_pinned_messages": "ピン留めされたメッセージはありません", "No_pinned_messages": "ピン留めされたメッセージはありません",
"No_results_found": "結果なし", "No_results_found": "結果なし",
"No_starred_messages": "お気に入りされたメッセージはありません", "No_starred_messages": "お気に入りされたメッセージはありません",
"No_thread_messages": "スレッドのメッセージはありません",
"No_Message": "メッセージなし", "No_Message": "メッセージなし",
"No_messages_yet": "まだメッセージはありません", "No_messages_yet": "まだメッセージはありません",
"No_Reactions": "リアクションなし", "No_Reactions": "リアクションなし",
"No_Read_Receipts": "未読通知はありません", "No_Read_Receipts": "未読通知はありません",
"Not_logged": "ログされていません",
"Not_RC_Server": "Rocket.Chatサーバーではありません。\n{{contact}}", "Not_RC_Server": "Rocket.Chatサーバーではありません。\n{{contact}}",
"Nothing": "何もなし", "Nothing": "何もなし",
"Nothing_to_save": "保存するものはありません!", "Nothing_to_save": "保存するものはありません!",
"Notify_active_in_this_room": "このルームのアクティブなユーザーに通知する", "Notify_active_in_this_room": "このルームのアクティブなユーザーに通知する",
"Notify_all_in_this_room": "このルームのユーザー全員に通知する", "Notify_all_in_this_room": "このルームのユーザー全員に通知する",
"Notifications": "通知", "Notifications": "通知",
"Notification_Duration": "通知の期間",
"Notification_Preferences": "通知設定", "Notification_Preferences": "通知設定",
"Offline": "オフライン",
"Oops": "おっと!", "Oops": "おっと!",
"Onboarding_title": "Rocket.Chatへようこそ",
"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": "オープンソースコミュニケーション",
"Password": "パスワード", "Password": "パスワード",
"Permalink_copied_to_clipboard": "リンクをクリップボードにコピーしました!", "Permalink_copied_to_clipboard": "リンクをクリップボードにコピーしました!",
"Pin": "ピン留め", "Pin": "ピン留め",
"Pinned_Messages": "ピン留めされたメッセージ",
"pinned": "ピン留めされた",
"Pinned": "ピン留めされました", "Pinned": "ピン留めされました",
"Please_enter_your_password": "パスワードを入力してください", "Please_enter_your_password": "パスワードを入力してください",
"Preferences": "設定", "Preferences": "設定",
"Preferences_saved": "設定が保存されました。",
"Privacy_Policy": " プライバシーポリシー", "Privacy_Policy": " プライバシーポリシー",
"Private": "プライベート", "Private": "プライベート",
"Processing": "処理中...", "Processing": "処理中...",
"Profile_saved_successfully": "プロフィールが保存されました!", "Profile_saved_successfully": "プロフィールが保存されました!",
"Profile": "プロフィール", "Profile": "プロフィール",
"Public_Channel": "パブリックチャンネル",
"Public": "パブリック", "Public": "パブリック",
"Push_Notifications": "プッシュ通知", "Push_Notifications": "プッシュ通知",
"Push_Notifications_Alert_Info": "通知はアプリを開いていない時に送られます。", "Push_Notifications_Alert_Info": "通知はアプリを開いていない時に送られます。",
"Quote": "引用", "Quote": "引用",
"Reactions_are_disabled": "リアクションは無効化されています", "Reactions_are_disabled": "リアクションは無効化されています",
"Reactions_are_enabled": "リアクションは有効化されています", "Reactions_are_enabled": "リアクションは有効化されています",
"Reactions": "リアクション",
"Read_Only": "読み取り専用", "Read_Only": "読み取り専用",
"Read_Receipt": "レシートを見る", "Read_Receipt": "レシートを見る",
"Receive_Group_Mentions": "グループの通知を受け取る", "Receive_Group_Mentions": "グループの通知を受け取る",
"Receive_Group_Mentions_Info": "@all と @here の通知を受け取る", "Receive_Group_Mentions_Info": "@all と @here の通知を受け取る",
"Register": "登録", "Register": "登録",
"Repeat_Password": "パスワードを再入力",
"Replied_on": "返信:",
"replies": "返信", "replies": "返信",
"reply": "返信", "reply": "返信",
"Reply": "返信", "Reply": "返信",
@ -400,13 +282,8 @@
"Review_app_unable_store": "{{store}}を開けません。", "Review_app_unable_store": "{{store}}を開けません。",
"Review_this_app": "アプリをレビューする", "Review_this_app": "アプリをレビューする",
"Roles": "ロール", "Roles": "ロール",
"Room_actions": "ルームアクション",
"Room_changed_announcement": "{{userBy}}がアナウンスを変更しました: {{announcement}}",
"Room_changed_description": "{{userBy}}が概要を変更しました: {{description}}",
"Room_Files": "ルームのファイル",
"Room_Info_Edit": "ルーム情報を編集", "Room_Info_Edit": "ルーム情報を編集",
"Room_Info": "ルーム情報", "Room_Info": "ルーム情報",
"Room_Members": "ルームのメンバー",
"SAVE": "保存", "SAVE": "保存",
"Save_Changes": "変更を保存", "Save_Changes": "変更を保存",
"Save": "保存", "Save": "保存",
@ -419,8 +296,6 @@
"Search_by": "検索種別: ", "Search_by": "検索種別: ",
"Search_global_users": "グローバルユーザーのための検索", "Search_global_users": "グローバルユーザーのための検索",
"Search_global_users_description": "有効にした場合、他の会社やサーバーの誰もがあなたを検索可能になります。", "Search_global_users_description": "有効にした場合、他の会社やサーバーの誰もがあなたを検索可能になります。",
"Seconds": "{{second}} 秒",
"Select_Avatar": "アバターを選択",
"Select_Server": "サーバーを選択", "Select_Server": "サーバーを選択",
"Select_Users": "ユーザーを選択", "Select_Users": "ユーザーを選択",
"Send": "送信", "Send": "送信",
@ -428,9 +303,7 @@
"Send_crash_report": "クラッシュレポートを送信", "Send_crash_report": "クラッシュレポートを送信",
"Send_message": "メッセージを送信", "Send_message": "メッセージを送信",
"Send_to": "送信先...", "Send_to": "送信先...",
"Sent_an_attachment": "添付ファイルを送信しました",
"Server": "サーバー", "Server": "サーバー",
"Servers": "サーバー",
"Server_version": "サーバーバージョン: {{version}}", "Server_version": "サーバーバージョン: {{version}}",
"Set_username_subtitle": "ユーザー名はメッセージ中であなたにメンションするのに使われます。", "Set_username_subtitle": "ユーザー名はメッセージ中であなたにメンションするのに使われます。",
"Settings": "設定", "Settings": "設定",
@ -439,39 +312,27 @@
"Share_Link": "リンクをシェアする", "Share_Link": "リンクをシェアする",
"Share_this_app": "このアプリをシェアする", "Share_this_app": "このアプリをシェアする",
"Show_more": "Show more..", "Show_more": "Show more..",
"Sign_in_your_server": "サーバーに接続",
"Sign_Up": "登録", "Sign_Up": "登録",
"Some_field_is_invalid_or_empty": "不正、または空の入力欄があります。",
"Sound": "音", "Sound": "音",
"Star_room": "お気に入りルーム",
"Star": "お気に入り", "Star": "お気に入り",
"Starred_Messages": "お気に入りされたメッセージ",
"starred": "お気に入りされています",
"Starred": "お気に入りされています", "Starred": "お気に入りされています",
"Start_of_conversation": "会話を開始する",
"Started_discussion": "ディスカッションを開始する:", "Started_discussion": "ディスカッションを開始する:",
"Started_call": "{{userBy}}と通話する", "Started_call": "{{userBy}}と通話する",
"Submit": "送信",
"Table": "表", "Table": "表",
"Take_a_photo": "写真を撮影", "Take_a_photo": "写真を撮影",
"Take_a_video": "動画を撮影", "Take_a_video": "動画を撮影",
"tap_to_change_status": "タップしてステータスを変更",
"Tap_to_view_servers_list": "タップしてサーバーリストを見る",
"Terms_of_Service": " 利用規約 ", "Terms_of_Service": " 利用規約 ",
"Theme": "テーマ", "Theme": "テーマ",
"There_was_an_error_while_action": "{{action}}の最中にエラーが発生しました!", "There_was_an_error_while_action": "{{action}}の最中にエラーが発生しました!",
"This_room_is_blocked": "このルームはブロックされています。", "This_room_is_blocked": "このルームはブロックされています。",
"This_room_is_read_only": "このルームは読み取り専用です。", "This_room_is_read_only": "このルームは読み取り専用です。",
"Thread": "スレッド",
"Threads": "スレッド", "Threads": "スレッド",
"Timezone": "タイムゾーン", "Timezone": "タイムゾーン",
"To": "To",
"topic": "トピック", "topic": "トピック",
"Topic": "トピック", "Topic": "トピック",
"Translate": "翻訳", "Translate": "翻訳",
"Try_again": "再度お試しください。", "Try_again": "再度お試しください。",
"Two_Factor_Authentication": "2段階認証", "Two_Factor_Authentication": "2段階認証",
"Type_the_channel_name_here": "ここにチャンネル名を入力",
"unarchive": "アーカイブ解除", "unarchive": "アーカイブ解除",
"UNARCHIVE": "アーカイブ解除", "UNARCHIVE": "アーカイブ解除",
"Unblock_user": "ブロックを解除", "Unblock_user": "ブロックを解除",
@ -485,34 +346,23 @@
"Unstar": "お気に入り解除", "Unstar": "お気に入り解除",
"Updating": "更新中...", "Updating": "更新中...",
"Uploading": "アップロード中", "Uploading": "アップロード中",
"Upload_file_question_mark": "ファイルをアップロードしますか?",
"User": "ユーザー", "User": "ユーザー",
"Users": "ユーザー", "Users": "ユーザー",
"User_Info": "ユーザー情報", "User_Info": "ユーザー情報",
"User_has_been_key": "ユーザーは{{key}}", "User_has_been_key": "ユーザーは{{key}}",
"User_is_no_longer_role_by_": "{{userBy}} は {{user}} のロール {{role}} を削除しました。",
"User_sent_an_attachment": "{{user}}は添付ファイルを送信しました", "User_sent_an_attachment": "{{user}}は添付ファイルを送信しました",
"Username_is_empty": "ユーザー名が空です。",
"Username": "ユーザー名", "Username": "ユーザー名",
"Username_or_email": "ユーザー名かメールアドレス", "Username_or_email": "ユーザー名かメールアドレス",
"Uses_server_configuration": "サーバー構成を使用する", "Uses_server_configuration": "サーバー構成を使用する",
"Validating": "検証中",
"Registration_Succeeded": "登録が成功しました", "Registration_Succeeded": "登録が成功しました",
"Verify": "確認",
"Verify_email_title": "登録が成功しました",
"Video_call": "ビデオ通話",
"View_Original": "オリジナルを見る", "View_Original": "オリジナルを見る",
"Voice_call": "音声通話",
"Websocket_disabled": "Websocketはこのサーバーでは無効化されています。\n{{contact}}", "Websocket_disabled": "Websocketはこのサーバーでは無効化されています。\n{{contact}}",
"Welcome": "ようこそ",
"Whats_your_2fa": "2段階認証のコードを入力してください",
"Without_Servers": "サーバーを除く", "Without_Servers": "サーバーを除く",
"Write_External_Permission_Message": "Rocket.Chatは画像を保存するためにギャラリーへのアクセスを求めています。", "Write_External_Permission_Message": "Rocket.Chatは画像を保存するためにギャラリーへのアクセスを求めています。",
"Write_External_Permission": "ギャラリーへのアクセス許可", "Write_External_Permission": "ギャラリーへのアクセス許可",
"Yes_action_it": "はい、{{action}}します!", "Yes_action_it": "はい、{{action}}します!",
"Yesterday": "昨日", "Yesterday": "昨日",
"You_are_in_preview_mode": "プレビューモードです。", "You_are_in_preview_mode": "プレビューモードです。",
"You_are_offline": "オフラインです。",
"You_can_search_using_RegExp_eg": "正規表現を利用できます。 例: `/^text$/i`", "You_can_search_using_RegExp_eg": "正規表現を利用できます。 例: `/^text$/i`",
"You_colon": "あなた: ", "You_colon": "あなた: ",
"you_were_mentioned": "あなたがメンションしました", "you_were_mentioned": "あなたがメンションしました",
@ -530,23 +380,11 @@
"Change_Language": "言語を変更", "Change_Language": "言語を変更",
"Crash_report_disclaimer": "クラッシュレポートには問題を特定し、修正するために必要な情報のみが含まれます。チャット内のコンテンツは送信されません。", "Crash_report_disclaimer": "クラッシュレポートには問題を特定し、修正するために必要な情報のみが含まれます。チャット内のコンテンツは送信されません。",
"Type_message": "メッセージを入力", "Type_message": "メッセージを入力",
"Room_search": "ルームを検索",
"Room_selection": "ルームを選択 1...9",
"Next_room": "次のルーム",
"Previous_room": "前のルーム",
"New_room": "新しいルーム",
"Upload_room": "ルームにアップロード",
"Search_messages": "メッセージを検索", "Search_messages": "メッセージを検索",
"Scroll_messages": "メッセージをスクロール",
"Reply_latest": "最新のメッセージにリプライ",
"Server_selection": "サーバー選択",
"Server_selection_numbers": "サーバー選択 1...9",
"Add_server": "サーバーを追加", "Add_server": "サーバーを追加",
"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": "オフラインデータをすべて削除します。",
"invalid-room": "無効なルーム",
"Broadcast_hint": "許可されたユーザーのみが新しいメッセージを書き込めます。他のユーザーは返信することができます", "Broadcast_hint": "許可されたユーザーのみが新しいメッセージを書き込めます。他のユーザーは返信することができます",
"and_N_more": "さらに{{count}}つ" "and_N_more": "さらに{{count}}つ"
} }

View File

@ -1,89 +1,22 @@
{ {
"1_person_reacted": "1 persoon heeft gereageerd", "1_person_reacted": "1 persoon heeft gereageerd",
"1_user": "1 gebruiker",
"error-action-not-allowed": "{{action}} is niet toegestaan", "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-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-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-email-send-failed": "Fout bij het verzenden van e-mail: {{message}}",
"error-save-image": "Fout bij het opslaan van afbeelding", "error-save-image": "Fout bij het opslaan van afbeelding",
"error-save-video": "Fout bij het opslaan van video", "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-file-too-large": "Bestand is te groot",
"error-not-permission-to-upload-file": "Je hebt geen toestemming om bestanden up te loaden", "error-not-permission-to-upload-file": "Je hebt geen toestemming om bestanden up te loaden",
"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": "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-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-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-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-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-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-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", "Actions": "Acties",
"Activity": "Activiteit", "Activity": "Activiteit",
"Add_Reaction": "Reactie toevoegen",
"Add_Server": "Server toevoegen", "Add_Server": "Server toevoegen",
"Add_users": "Gebruikers toevoegen", "Add_users": "Gebruikers toevoegen",
"Admin_Panel": "Admin Paneel", "Admin_Panel": "Admin Paneel",
@ -97,8 +30,6 @@
"All": "Alle", "All": "Alle",
"All_Messages": "Alle berichten", "All_Messages": "Alle berichten",
"Allow_Reactions": "Reacties toestaan", "Allow_Reactions": "Reacties toestaan",
"Alphabetical": "Alfabetisch",
"and_more": "en meer",
"and": "en", "and": "en",
"announcement": "aankondiging", "announcement": "aankondiging",
"Announcement": "Aankondiging", "Announcement": "Aankondiging",
@ -108,19 +39,15 @@
"are_typing": "zijn aan het typen", "are_typing": "zijn aan het typen",
"Are_you_sure_question_mark": "Weet je het zeker?", "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?", "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", "Automatic": "Automatisch",
"Auto_Translate": "Automatisch vertalen", "Auto_Translate": "Automatisch vertalen",
"Avatar_changed_successfully": "Avatar succesvol gewijzigd!", "Avatar_changed_successfully": "Avatar succesvol gewijzigd!",
"Avatar_Url": "Avatar-URL", "Avatar_Url": "Avatar-URL",
"Away": "Afwezig", "Away": "Afwezig",
"Back": "Terug",
"Black": "Zwart", "Black": "Zwart",
"Block_user": "Blokkeer gebruiker", "Block_user": "Blokkeer gebruiker",
"Browser": "Browser", "Browser": "Browser",
"Busy": "Bezig", "Busy": "Bezig",
"By_proceeding_you_are_agreeing": "Door verder te gaan ga je akkoord met onze",
"Cancel_editing": "Bewerken annuleren", "Cancel_editing": "Bewerken annuleren",
"Cancel_recording": "Opname annuleren", "Cancel_recording": "Opname annuleren",
"Cancel": "Annuleren", "Cancel": "Annuleren",
@ -139,21 +66,17 @@
"Click_to_join": "Klik om mee te doen!", "Click_to_join": "Klik om mee te doen!",
"Close": "Sluiten", "Close": "Sluiten",
"Close_emoji_selector": "Emoji-kiezer sluiten", "Close_emoji_selector": "Emoji-kiezer sluiten",
"Closing_chat": "Chat sluiten",
"Change_language_loading": "Taal veranderen", "Change_language_loading": "Taal veranderen",
"Chat_closed_by_agent": "Chat gesloten door agent", "Chat_closed_by_agent": "Chat gesloten door agent",
"Choose": "Kies", "Choose": "Kies",
"Choose_from_library": "Kies uit bibliotheek", "Choose_from_library": "Kies uit bibliotheek",
"Choose_file": "Kies bestand", "Choose_file": "Kies bestand",
"Choose_where_you_want_links_be_opened": "Kies waar je links wilt openen", "Choose_where_you_want_links_be_opened": "Kies waar je links wilt openen",
"Code": "Code",
"Code_or_password_invalid": "Code of wachtwoord ongeldig", "Code_or_password_invalid": "Code of wachtwoord ongeldig",
"Conversation_closed": "Gesprek gesloten", "Conversation_closed": "Gesprek gesloten",
"Collaborative": "Samenwerkend", "Collaborative": "Samenwerkend",
"Confirm": "Bevestig", "Confirm": "Bevestig",
"Connect": "Verbinden", "Connect": "Verbinden",
"Connected": "Verbonden",
"connecting_server": "verbonden met de server",
"Connecting": "Aan het verbinden...", "Connecting": "Aan het verbinden...",
"Contact_us": "Neem contact op", "Contact_us": "Neem contact op",
"Contact_your_server_admin": "Neem contact op met je serverbeheerder.", "Contact_your_server_admin": "Neem contact op met je serverbeheerder.",
@ -172,7 +95,6 @@
"Created_snippet": "knipsel aangemaakt", "Created_snippet": "knipsel aangemaakt",
"Create_a_new_workspace": "Een nieuwe werkruimte aanmaken", "Create_a_new_workspace": "Een nieuwe werkruimte aanmaken",
"Create": "Aanmaken", "Create": "Aanmaken",
"Custom_Status": "Aangepaste status",
"Dark": "Donker", "Dark": "Donker",
"Dark_level": "Donker niveau", "Dark_level": "Donker niveau",
"Default": "Standaard", "Default": "Standaard",
@ -186,16 +108,13 @@
"deleting_room": "kamer verwijderen", "deleting_room": "kamer verwijderen",
"description": "omschrijving", "description": "omschrijving",
"Description": "Omschrijving", "Description": "Omschrijving",
"Desktop_Options": "Bureaubladopties",
"Desktop_Notifications": "Desktopmeldingen", "Desktop_Notifications": "Desktopmeldingen",
"Desktop_Alert_info": "Deze meldingen worden op desktop geleverd", "Desktop_Alert_info": "Deze meldingen worden op desktop geleverd",
"Directory": "Map", "Directory": "Map",
"Direct_Messages": "Directe berichten", "Direct_Messages": "Directe berichten",
"Disable_notifications": "Zet notificaties uit",
"Discussions": "Discussies", "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_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", "Discussion_name": "Discussienaam",
"Done": "Gedaan",
"Dont_Have_An_Account": "Heb je geen account?", "Dont_Have_An_Account": "Heb je geen account?",
"Do_you_have_an_account": "Heb je een account?", "Do_you_have_an_account": "Heb je een account?",
"Do_you_have_a_certificate": "Heb je een certificaat?", "Do_you_have_a_certificate": "Heb je een certificaat?",
@ -205,21 +124,14 @@
"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_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_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.", "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": "Bewerk",
"Edit_Status": "Status bewerken", "Edit_Status": "Status bewerken",
"Edit_Invite": "Bewerk uitnodiging", "Edit_Invite": "Bewerk uitnodiging",
"End_to_end_encrypted_room": "End-to-end versleutelde kamer", "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_All": "Elke vermelding/DM",
"Email_Notification_Mode_Disabled": "Uitgeschakeld", "Email_Notification_Mode_Disabled": "Uitgeschakeld",
"Email_or_password_field_is_empty": "E-mail of wachtwoordveld is leeg",
"Email": "E-mail", "Email": "E-mail",
"email": "e-mail",
"Empty_title": "Lege titel",
"Enable_Auto_Translate": "Automatisch vertalen inschakelen", "Enable_Auto_Translate": "Automatisch vertalen inschakelen",
"Enable_notifications": "Notificaties aanzetten",
"Encrypted": "Versleuteld", "Encrypted": "Versleuteld",
"Encrypted_message": "Versleuteld bericht", "Encrypted_message": "Versleuteld bericht",
"Enter_Your_E2E_Password": "Voer uw E2E-wachtwoord in", "Enter_Your_E2E_Password": "Voer uw E2E-wachtwoord in",
@ -234,13 +146,11 @@
"Favorites": "Favorieten", "Favorites": "Favorieten",
"Files": "Bestanden", "Files": "Bestanden",
"File_description": "Bestandsbeschrijving", "File_description": "Bestandsbeschrijving",
"File_name": "Bestandsnaam",
"Finish_recording": "Opname beëindigen", "Finish_recording": "Opname beëindigen",
"Following_thread": "Volg discussie", "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", "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_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?",
"Forgot_Password": "Wachtwoord vergeten",
"Forward": "Doorsturen", "Forward": "Doorsturen",
"Forward_Chat": "Chat doorsturen", "Forward_Chat": "Chat doorsturen",
"Forward_to_department": "Doorsturen naar afdeling", "Forward_to_department": "Doorsturen naar afdeling",
@ -271,9 +181,6 @@
"In_App_And_Desktop": "In-app en desktop", "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", "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", "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", "is_typing": "is aan het typen",
"Invalid_or_expired_invite_token": "Ongeldige of verlopen uitnodigingstoken", "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", "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",
@ -283,34 +190,26 @@
"Join_Code": "Deelnamecode", "Join_Code": "Deelnamecode",
"Insert_Join_Code": "Deelnamecode invoegen", "Insert_Join_Code": "Deelnamecode invoegen",
"Join_our_open_workspace": "Word lid van onze open werkruimte", "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_channel": "Alleen uitgenodigde mensen hebben toegang tot dit kanaal",
"Just_invited_people_can_access_this_team": "Alleen uitgenodigde mensen hebben toegang tot dit team", "Just_invited_people_can_access_this_team": "Alleen uitgenodigde mensen hebben toegang tot dit team",
"Language": "Taal", "Language": "Taal",
"last_message": "laatste bericht", "last_message": "laatste bericht",
"Leave_channel": "Kanaal verlaten",
"leaving_room": "ruimte verlaten", "leaving_room": "ruimte verlaten",
"Leave": "Verlaten", "Leave": "Verlaten",
"leave": "verlaten", "leave": "verlaten",
"Legal": "Legaal", "Legal": "Legaal",
"Light": "Licht", "Light": "Licht",
"License": "Licentie", "License": "Licentie",
"Livechat": "Livechat",
"Livechat_edit": "Livechat bewerken",
"Livechat_transfer_return_to_the_queue": "chat teruggezet in de wachtrij", "Livechat_transfer_return_to_the_queue": "chat teruggezet in de wachtrij",
"Login": "Inloggen", "Login": "Inloggen",
"Login_error": "Je inloggegevens zijn geweigerd! Probeer het opnieuw.", "Login_error": "Je inloggegevens zijn geweigerd! Probeer het opnieuw.",
"Login_with": "Inloggen met",
"Logging_out": "Uitloggen.", "Logging_out": "Uitloggen.",
"Logout": "Uitloggen", "Logout": "Uitloggen",
"Max_number_of_uses": "Max aantal toepassingen", "Max_number_of_uses": "Max aantal toepassingen",
"Max_number_of_users_allowed_is_number": "Max aantal toegestane gebruikers is {{maxUsers}}", "Max_number_of_users_allowed_is_number": "Max aantal toegestane gebruikers is {{maxUsers}}",
"members": "leden", "members": "leden",
"Members": "Leden", "Members": "Leden",
"Mentioned_Messages": "Vermelde berichten",
"mentioned": "vermeld",
"Mentions": "Vermeldingen", "Mentions": "Vermeldingen",
"Message_accessibility": "Bericht van {{user}} om {{time}}: {{message}}",
"Message_actions": "Berichtacties", "Message_actions": "Berichtacties",
"Message_pinned": "Bericht vastgezet", "Message_pinned": "Bericht vastgezet",
"Message_removed": "Bericht verwijderd", "Message_removed": "Bericht verwijderd",
@ -319,13 +218,9 @@
"message": "bericht", "message": "bericht",
"messages": "berichten", "messages": "berichten",
"Message": "Bericht", "Message": "Bericht",
"Messages": "Berichten",
"Message_Reported": "Bericht gerapporteerd", "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", "Mute": "Dempen",
"muted": "gedempt", "muted": "gedempt",
"My_servers": "Mijn servers",
"N_people_reacted": "{{n}} mensen hebben gereageerd", "N_people_reacted": "{{n}} mensen hebben gereageerd",
"N_users": "{{n}} gebruikers", "N_users": "{{n}} gebruikers",
"N_channels": "{{n}} kanalen", "N_channels": "{{n}} kanalen",
@ -334,7 +229,6 @@
"New_chat_transfer": "Nieuwe chatoverdracht: {{agent}} heeft de chat terug in de wachtrij gezet", "New_chat_transfer": "Nieuwe chatoverdracht: {{agent}} heeft de chat terug in de wachtrij gezet",
"New_Message": "Nieuw bericht", "New_Message": "Nieuw bericht",
"New_Password": "Nieuw wachtwoord", "New_Password": "Nieuw wachtwoord",
"New_Server": "Nieuwe server",
"Next": "Volgende", "Next": "Volgende",
"No_files": "Geen bestanden", "No_files": "Geen bestanden",
"No_limit": "Geen limiet", "No_limit": "Geen limiet",
@ -342,30 +236,23 @@
"No_pinned_messages": "Geen vastgezette berichten", "No_pinned_messages": "Geen vastgezette berichten",
"No_results_found": "Geen resultaten gevonden", "No_results_found": "Geen resultaten gevonden",
"No_starred_messages": "Geen berichten met ster gemarkeerd", "No_starred_messages": "Geen berichten met ster gemarkeerd",
"No_thread_messages": "Geen discussieberichten",
"No_label_provided": "Geen {{label}} opgegeven.", "No_label_provided": "Geen {{label}} opgegeven.",
"No_Message": "Geen bericht", "No_Message": "Geen bericht",
"No_messages_yet": "Nog geen berichten", "No_messages_yet": "Nog geen berichten",
"No_Reactions": "Geen reacties", "No_Reactions": "Geen reacties",
"No_Read_Receipts": "Geen leesbevestigingen", "No_Read_Receipts": "Geen leesbevestigingen",
"Not_logged": "Niet ingelogd",
"Not_RC_Server": "Dit is geen Rocket.Chat-server.\n{{contact}}", "Not_RC_Server": "Dit is geen Rocket.Chat-server.\n{{contact}}",
"Nothing": "Niets", "Nothing": "Niets",
"Nothing_to_save": "Niets om op te slaan!", "Nothing_to_save": "Niets om op te slaan!",
"Notify_active_in_this_room": "Waarschuw actieve gebruikers in deze kamer", "Notify_active_in_this_room": "Waarschuw actieve gebruikers in deze kamer",
"Notify_all_in_this_room": "Breng iedereen in deze kamer op de hoogte", "Notify_all_in_this_room": "Breng iedereen in deze kamer op de hoogte",
"Notifications": "Notificaties", "Notifications": "Notificaties",
"Notification_Duration": "Duur van de notificatie",
"Notification_Preferences": "Notificatievoorkeuren", "Notification_Preferences": "Notificatievoorkeuren",
"No_available_agents_to_transfer": "Geen beschikbare agenten om door te sturen", "No_available_agents_to_transfer": "Geen beschikbare agenten om door te sturen",
"Offline": "Offline",
"Oops": "Oeps!", "Oops": "Oeps!",
"Omnichannel": "Omnichannel", "Omnichannel": "Omnichannel",
"Omnichannel_enable_alert": "Je bent niet beschikbaar op Omnichannel. Wil je beschikbaar zijn?", "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_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_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_agree_terms": "Door verder te gaan, ga je akkoord met Rocket.Chat",
"Onboarding_less_options": "Minder opties", "Onboarding_less_options": "Minder opties",
@ -373,7 +260,6 @@
"Online": "Online", "Online": "Online",
"Only_authorized_users_can_write_new_messages": "Alleen geautoriseerde gebruikers kunnen nieuwe berichten schrijven", "Only_authorized_users_can_write_new_messages": "Alleen geautoriseerde gebruikers kunnen nieuwe berichten schrijven",
"Open_emoji_selector": "Emoji-kiezer openen", "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.", "Open_your_authentication_app_and_enter_the_code": "Open je authenticatie-app en voer de code in.",
"OR": "OF", "OR": "OF",
"OS": "OS", "OS": "OS",
@ -383,27 +269,22 @@
"Permalink_copied_to_clipboard": "Permalink gekopiëerd naar klembord!", "Permalink_copied_to_clipboard": "Permalink gekopiëerd naar klembord!",
"Phone": "Telefoon", "Phone": "Telefoon",
"Pin": "Vastzetten", "Pin": "Vastzetten",
"Pinned_Messages": "Vastgezette berichten",
"pinned": "vastgezet",
"Pinned": "Vastgezet", "Pinned": "Vastgezet",
"Please_add_a_comment": "Voeg een reactie toe", "Please_add_a_comment": "Voeg een reactie toe",
"Please_enter_your_password": "Voer je wachtwoord in", "Please_enter_your_password": "Voer je wachtwoord in",
"Please_wait": "Even geduld.", "Please_wait": "Even geduld.",
"Preferences": "Voorkeuren", "Preferences": "Voorkeuren",
"Preferences_saved": "Voorkeuren opgeslagen!",
"Privacy_Policy": " Privacybeleid", "Privacy_Policy": " Privacybeleid",
"Private": "Privé", "Private": "Privé",
"Processing": "Verwerking...", "Processing": "Verwerking...",
"Profile_saved_successfully": "Profiel succesvol opgeslagen!", "Profile_saved_successfully": "Profiel succesvol opgeslagen!",
"Profile": "Profiel", "Profile": "Profiel",
"Public_Channel": "Publiek kanaal",
"Public": "Publiek", "Public": "Publiek",
"Push_Notifications": "Pushmeldingen", "Push_Notifications": "Pushmeldingen",
"Push_Notifications_Alert_Info": "Deze notificaties worden aan jouw enkel geleverd als de app niet geopend is", "Push_Notifications_Alert_Info": "Deze notificaties worden aan jouw enkel geleverd als de app niet geopend is",
"Quote": "Citaat", "Quote": "Citaat",
"Reactions_are_disabled": "Reacties zijn uitgeschakeld", "Reactions_are_disabled": "Reacties zijn uitgeschakeld",
"Reactions_are_enabled": "Reacties zijn ingeschakeld", "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_Message": "Rocket.Chat heeft toegang nodig tot foto's, media en bestanden op je apparaat",
"Read_External_Permission": "Lees toestemming voor media", "Read_External_Permission": "Lees toestemming voor media",
"Read_Only": "Alleen lezen", "Read_Only": "Alleen lezen",
@ -411,8 +292,6 @@
"Receive_Group_Mentions": "Groepsvermeldingen ontvangen", "Receive_Group_Mentions": "Groepsvermeldingen ontvangen",
"Receive_Group_Mentions_Info": "Ontvang @all en @here vermeldingen", "Receive_Group_Mentions_Info": "Ontvang @all en @here vermeldingen",
"Register": "Registreren", "Register": "Registreren",
"Repeat_Password": "Herhaal wachtwoord",
"Replied_on": "Beantwoord op:",
"replies": "antwoordt", "replies": "antwoordt",
"reply": "antwoord", "reply": "antwoord",
"Reply": "Antwoord", "Reply": "Antwoord",
@ -433,13 +312,8 @@
"Remove": "Verwijderen", "Remove": "Verwijderen",
"remove": "verwijderen", "remove": "verwijderen",
"Roles": "Rollen", "Roles": "Rollen",
"Room_actions": "Kameracties",
"Room_changed_announcement": "Kameraankondiging gewijzigd in: {{announcement}} door {{userBy}}",
"Room_changed_description": "Kamerbeschrijving gewijzigd in: {{description}} door {{userBy}}",
"Room_Files": "Kamerbestanden",
"Room_Info_Edit": "Kamer info bewerken", "Room_Info_Edit": "Kamer info bewerken",
"Room_Info": "Kamer info", "Room_Info": "Kamer info",
"Room_Members": "Kamerleden",
"SAVE": "OPSLAAN", "SAVE": "OPSLAAN",
"Save_Changes": "Wijzigingen opslaan", "Save_Changes": "Wijzigingen opslaan",
"Save": "Opslaan", "Save": "Opslaan",
@ -457,9 +331,7 @@
"Search_by": "Zoeken op", "Search_by": "Zoeken op",
"Search_global_users": "Zoeken naar wereldwijde gebruikers", "Search_global_users": "Zoeken naar wereldwijde gebruikers",
"Search_global_users_description": "Als je dit inschakelt, kan je gebruikers van andere bedrijven en servers opzoeken.", "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", "Security_and_privacy": "Veiligheid en privacy",
"Select_Avatar": "Selecteer avatar",
"Select_Server": "Selecteer server", "Select_Server": "Selecteer server",
"Select_Users": "Selecteer gebruikers", "Select_Users": "Selecteer gebruikers",
"Select_a_Channel": "Selecteer een kanaal", "Select_a_Channel": "Selecteer een kanaal",
@ -473,13 +345,9 @@
"Send_me_the_code_again": "Stuur me de code opnieuw", "Send_me_the_code_again": "Stuur me de code opnieuw",
"Send_to": "Verzenden naar...", "Send_to": "Verzenden naar...",
"Sending_to": "Verzenden naar", "Sending_to": "Verzenden naar",
"Sent_an_attachment": "Een bijlage verzonden",
"Server": "Server", "Server": "Server",
"Servers": "Servers",
"Server_version": "Server versie: {{version}}", "Server_version": "Server versie: {{version}}",
"Set_username_subtitle": "De gebruikersnaam wordt gebruikt om anderen toe te staan jou in berichten te vermelden", "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!", "Status_saved_successfully": "Status succesvol opgeslagen!",
"Settings": "Instellingen", "Settings": "Instellingen",
"Settings_succesfully_changed": "Instellingen succesvol gewijzigd!", "Settings_succesfully_changed": "Instellingen succesvol gewijzigd!",
@ -487,44 +355,30 @@
"Share_Link": "Deel link", "Share_Link": "Deel link",
"Share_this_app": "Deel deze app", "Share_this_app": "Deel deze app",
"Show_more": "Meer tonen..", "Show_more": "Meer tonen..",
"Sign_in_your_server": "Log in op je server",
"Sign_Up": "Registreren", "Sign_Up": "Registreren",
"Some_field_is_invalid_or_empty": "Sommige velden zijn ongeldig of leeg",
"Sound": "Geluid", "Sound": "Geluid",
"Star_room": "Favoriete kanalen",
"Star": "Ster", "Star": "Ster",
"Starred_Messages": "Berichten met ster gemarkeerd",
"starred": "met ster gemarkeerd",
"Starred": "Met ster gemarkeerd", "Starred": "Met ster gemarkeerd",
"Start_of_conversation": "Begin van een gesprek",
"Start_a_Discussion": "Start een discussie", "Start_a_Discussion": "Start een discussie",
"Started_discussion": "Begin van een discussie:", "Started_discussion": "Begin van een discussie:",
"Started_call": "Oproep gestart door {{userBy}}", "Started_call": "Oproep gestart door {{userBy}}",
"Submit": "Verzenden",
"Table": "Tabel", "Table": "Tabel",
"Tags": "Tags", "Tags": "Tags",
"Take_a_photo": "Neem een foto", "Take_a_photo": "Neem een foto",
"Take_a_video": "Maak een video", "Take_a_video": "Maak een video",
"Take_it": "Pak het!", "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 ", "Terms_of_Service": " Servicevoorwaarden ",
"Theme": "Thema", "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}}!", "There_was_an_error_while_action": "Er is een fout opgetreden tijdens {{action}}!",
"This_room_is_blocked": "Deze kamer is geblokkeerd", "This_room_is_blocked": "Deze kamer is geblokkeerd",
"This_room_is_read_only": "Deze kamer is alleen-lezen", "This_room_is_read_only": "Deze kamer is alleen-lezen",
"Thread": "Draad",
"Threads": "Draden", "Threads": "Draden",
"Timezone": "Tijdzone", "Timezone": "Tijdzone",
"To": "Naar",
"topic": "onderwerp", "topic": "onderwerp",
"Topic": "Onderwerp", "Topic": "Onderwerp",
"Translate": "Vertalen", "Translate": "Vertalen",
"Try_again": "Probeer het opnieuw", "Try_again": "Probeer het opnieuw",
"Two_Factor_Authentication": "Twee-factor authenticatie", "Two_Factor_Authentication": "Twee-factor authenticatie",
"Type_the_channel_name_here": "Typ hier de kanaalnaam",
"unarchive": "dearchiveren", "unarchive": "dearchiveren",
"UNARCHIVE": "DEARCHIVEREN", "UNARCHIVE": "DEARCHIVEREN",
"Unblock_user": "Deblokkeer gebruiker", "Unblock_user": "Deblokkeer gebruiker",
@ -539,31 +393,21 @@
"Unsupported_system_message": "Niet-ondersteund systeembericht", "Unsupported_system_message": "Niet-ondersteund systeembericht",
"Updating": "Updaten...", "Updating": "Updaten...",
"Uploading": "Uploaden", "Uploading": "Uploaden",
"Upload_file_question_mark": "Bestand uploaden?",
"User": "Gebruiker", "User": "Gebruiker",
"Users": "Gebruikers", "Users": "Gebruikers",
"User_Info": "Gebruikers info", "User_Info": "Gebruikers info",
"User_has_been_key": "Gebruiker is {{key}}", "User_has_been_key": "Gebruiker is {{key}}",
"User_is_no_longer_role_by_": "{{user}} is niet langer {{role}} door {{userBy}}",
"User_sent_an_attachment": "{{user}} stuurde een bijlage", "User_sent_an_attachment": "{{user}} stuurde een bijlage",
"Username_is_empty": "Gebruikersnaam is leeg",
"Username": "Gebruikersnaam", "Username": "Gebruikersnaam",
"Username_or_email": "Gebruikersnaam of e-mail", "Username_or_email": "Gebruikersnaam of e-mail",
"Uses_server_configuration": "Gebruikt serverconfiguratie", "Uses_server_configuration": "Gebruikt serverconfiguratie",
"Validating": "Valideren",
"Registration_Succeeded": "Registratie geslaagd!", "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_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", "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", "View_Original": "Bekijk origineel",
"Voice_call": "Spraakoproep",
"Waiting_for_network": "Wachten op netwerk...", "Waiting_for_network": "Wachten op netwerk...",
"Websocket_disabled": "Websocket is uitgeschakeld voor deze server.\n{{contact}}", "Websocket_disabled": "Websocket is uitgeschakeld voor deze server.\n{{contact}}",
"Welcome": "Welkom",
"What_are_you_doing_right_now": "Wat doe je op dit moment?", "What_are_you_doing_right_now": "Wat doe je op dit moment?",
"Whats_your_2fa": "Wat is je 2FA code?",
"Without_Servers": "Zonder servers", "Without_Servers": "Zonder servers",
"Workspaces": "Werkruimten", "Workspaces": "Werkruimten",
"Would_you_like_to_return_the_inquiry": "Wil je de aanvraag retourneren?", "Would_you_like_to_return_the_inquiry": "Wil je de aanvraag retourneren?",
@ -573,7 +417,6 @@
"Yes_action_it": "Ja, {{action}} het!", "Yes_action_it": "Ja, {{action}} het!",
"Yesterday": "Gisteren", "Yesterday": "Gisteren",
"You_are_in_preview_mode": "Je bent in voorbeeldmodus", "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_can_search_using_RegExp_eg": "Je kan RegExp. gebruiken, bijv. `/^tekst$/i`",
"You_colon": "Jij: ", "You_colon": "Jij: ",
"you_were_mentioned": "je bent vermeld", "you_were_mentioned": "je bent vermeld",
@ -597,20 +440,9 @@
"Change_Language": "Taal veranderen", "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.", "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", "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", "Search_messages": "Berichten zoeken",
"Scroll_messages": "Berichten scrollen",
"Reply_latest": "Antwoord op laatste",
"Reply_in_Thread": "Reageer in discussie", "Reply_in_Thread": "Reageer in discussie",
"Server_selection": "Server selectie",
"Server_selection_numbers": "Server selectie 1...9",
"Add_server": "Server toevoegen", "Add_server": "Server toevoegen",
"New_line": "Nieuwe lijn",
"You_will_be_logged_out_of_this_application": "Je wordt uitgelogd van deze applicatie.", "You_will_be_logged_out_of_this_application": "Je wordt uitgelogd van deze applicatie.",
"Clear": "Wissen", "Clear": "Wissen",
"This_will_clear_all_your_offline_data": "Hiermee worden al jouw offline gegevens gewist.", "This_will_clear_all_your_offline_data": "Hiermee worden al jouw offline gegevens gewist.",
@ -703,7 +535,6 @@
"Auto-join": "Automatisch deelnemen", "Auto-join": "Automatisch deelnemen",
"Remove_Team_Room_Warning": "Wil je dit kanaal uit het team verwijderen? Het kanaal wordt terug naar de werkruimte verplaatst", "Remove_Team_Room_Warning": "Wil je dit kanaal uit het team verwijderen? Het kanaal wordt terug naar de werkruimte verplaatst",
"Confirmation": "Bevestiging", "Confirmation": "Bevestiging",
"invalid-room": "Ongeldige kamer",
"You_are_leaving_the_team": "Je verlaat het team '{{team}}'", "You_are_leaving_the_team": "Je verlaat het team '{{team}}'",
"Leave_Team": "Team verlaten", "Leave_Team": "Team verlaten",
"Select_Team": "Selecteer team", "Select_Team": "Selecteer team",
@ -713,18 +544,15 @@
"Cannot_delete": "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_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.", "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", "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.", "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.", "You_are_deleting_the_team": "Je verwijdert dit team.",
"Removing_user_from_this_team": "Je verwijdert {{user}} uit 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_User_Team_Channels": "Selecteer de kanalen waarvan je de gebruiker wilt verwijderen.",
"Remove_Member": "Lid verwijderen", "Remove_Member": "Lid verwijderen",
"leaving_team": "team verlaten",
"removing_team": "verwijderen uit team", "removing_team": "verwijderen uit team",
"moving_channel_to_team": "kanaal verplaatsen naar team", "moving_channel_to_team": "kanaal verplaatsen naar team",
"deleting_team": "team verwijderen", "deleting_team": "team verwijderen",
"member-does-not-exist": "Lid bestaat niet",
"Convert": "Converteren", "Convert": "Converteren",
"Convert_to_Team": "Converteren naar team", "Convert_to_Team": "Converteren naar team",
"Convert_to_Team_Warning": "Je converteert dit kanaal naar een team. Alle leden blijven behouden.", "Convert_to_Team_Warning": "Je converteert dit kanaal naar een team. Alle leden blijven behouden.",
@ -768,7 +596,6 @@
"Unsupported_format": "Niet ondersteund formaat", "Unsupported_format": "Niet ondersteund formaat",
"Downloaded_file": "Gedownload bestand", "Downloaded_file": "Gedownload bestand",
"Error_Download_file": "Fout tijdens het downloaden van bestand", "Error_Download_file": "Fout tijdens het downloaden van bestand",
"Converting_team_to_channel": "Team converteren naar kanaal",
"Deleted__roomName__": "#{{roomName}} verwijderd", "Deleted__roomName__": "#{{roomName}} verwijderd",
"Message_HideType_added_user_to_team": "Verberg \"Gebruiker toegevoegd aan team\" berichten", "Message_HideType_added_user_to_team": "Verberg \"Gebruiker toegevoegd aan team\" berichten",
"Message_HideType_removed_user_from_team": "Verberg \"Gebruiker verwijderd uit team\" berichten", "Message_HideType_removed_user_from_team": "Verberg \"Gebruiker verwijderd uit team\" berichten",
@ -779,8 +606,6 @@
"Message_HideType_user_converted_to_team": "Verberg \"Gebruiker heeft kanaal in team geconverteerd\" berichten", "Message_HideType_user_converted_to_team": "Verberg \"Gebruiker heeft kanaal in team geconverteerd\" berichten",
"Message_HideType_user_deleted_room_from_team": "Verberg \"Gebruiker heeft kamer uit team verwijderd\" berichten", "Message_HideType_user_deleted_room_from_team": "Verberg \"Gebruiker heeft kamer uit team verwijderd\" berichten",
"Message_HideType_user_removed_room_from_team": "Verberg \"Gebruiker heeft kamer uit team verwijderd\" berichten", "Message_HideType_user_removed_room_from_team": "Verberg \"Gebruiker heeft kamer uit team verwijderd\" berichten",
"User_joined_team": "is lid geworden van dit team",
"User_left_team": "heeft dit team verlaten",
"Place_chat_on_hold": "Chat in de wacht zetten", "Place_chat_on_hold": "Chat in de wacht zetten",
"Would_like_to_place_on_hold": "Wil je deze chat in de wacht zetten?", "Would_like_to_place_on_hold": "Wil je deze chat in de wacht zetten?",
"Open_Livechats": "Omnichannels-chats bezig", "Open_Livechats": "Omnichannels-chats bezig",

View File

@ -2,93 +2,26 @@
"__count__empty_rooms_will_be_removed_automatically": "{{count}} salas vazias serão excluídas.", "__count__empty_rooms_will_be_removed_automatically": "{{count}} salas vazias serão excluídas.",
"__count__empty_room_will_be_removed_automatically": "{{count}} sala vazia será excluída.", "__count__empty_room_will_be_removed_automatically": "{{count}} sala vazia será excluída.",
"1_person_reacted": "1 pessoa reagiu", "1_person_reacted": "1 pessoa reagiu",
"1_user": "1 usuário",
"error-action-not-allowed": "{{action}} não é permitido", "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-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-could-not-change-status": "Não foi possível alterar o status",
"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-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-email-send-failed": "Erro ao tentar enviar e-mail: {{message}}",
"error-save-image": "Erro ao salvar imagem", "error-save-image": "Erro ao salvar imagem",
"error-save-video": "Erro ao salvar vídeo", "error-save-video": "Erro ao salvar vídeo",
"error-field-unavailable": "{{field}} já está sendo usado :(",
"error-file-too-large": "Arquivo é muito grande", "error-file-too-large": "Arquivo é muito grande",
"error-not-permission-to-upload-file": "Você não tem permissão para enviar arquivos", "error-not-permission-to-upload-file": "Você não tem permissão para enviar arquivos",
"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": "{{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-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-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-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-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-password-same-as-current": "Senha digitada coincide com a senha atual",
"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-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-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",
"A_new_owner_will_be_assigned_automatically_to__count__rooms": "Um novo proprietário será atribuído automaticamente a {{count}} salas.", "A_new_owner_will_be_assigned_automatically_to__count__rooms": "Um novo proprietário será atribuído automaticamente a {{count}} salas.",
"A_new_owner_will_be_assigned_automatically_to__count__room": "Um novo proprietário será atribuído automaticamente a {{count}} sala.", "A_new_owner_will_be_assigned_automatically_to__count__room": "Um novo proprietário será atribuído automaticamente a {{count}} sala.",
"Actions": "Ações", "Actions": "Ações",
"Activity": "Atividade", "Activity": "Atividade",
"Add_Reaction": "Reagir", "Add_Server": "Adicionar workspace",
"Add_Server": "Adicionar servidor",
"Add_users": "Adicionar usuário", "Add_users": "Adicionar usuário",
"Admin_Panel": "Painel de admin", "Admin_Panel": "Painel de admin",
"Agent": "Agente", "Agent": "Agente",
@ -101,8 +34,6 @@
"All": "Todos", "All": "Todos",
"All_Messages": "Todas as mensagens", "All_Messages": "Todas as mensagens",
"Allow_Reactions": "Permitir reagir", "Allow_Reactions": "Permitir reagir",
"Alphabetical": "Alfabético",
"and_more": "e mais",
"and": "e", "and": "e",
"announcement": "anúncio", "announcement": "anúncio",
"Announcement": "Anúncio", "Announcement": "Anúncio",
@ -112,28 +43,24 @@
"are_typing": "estão digitando", "are_typing": "estão digitando",
"Are_you_sure_question_mark": "Você tem certeza?", "Are_you_sure_question_mark": "Você tem certeza?",
"Are_you_sure_you_want_to_delete_your_account": "Tem certeza de que deseja excluir sua conta?", "Are_you_sure_you_want_to_delete_your_account": "Tem certeza de que deseja excluir sua conta?",
"Deleting_a_user_will_delete_all_messages": "A exclusão de um usuário também excluirá todas as mensagens, salas e equipes desse usuário. Isto não pode ser desfeito.", "Deleting_a_user_will_delete_all_messages": "A exclusão de um usuário também excluirá todas as mensagens, salas e times desse usuário. Isto não pode ser desfeito.",
"Are_you_sure_you_want_to_leave_the_room": "Tem certeza de que deseja sair da sala {{room}}?", "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", "Automatic": "Automático",
"Auto_Translate": "Tradução automática", "Auto_Translate": "Tradução automática",
"Avatar_changed_successfully": "Avatar alterado com sucesso!", "Avatar_changed_successfully": "Avatar alterado com sucesso!",
"Avatar_Url": "Avatar URL", "Avatar_Url": "Avatar URL",
"Away": "Ausente", "Away": "Ausente",
"Back": "Voltar",
"Black": "Preto", "Black": "Preto",
"Block_user": "Bloquear usuário", "Block_user": "Bloquear usuário",
"Browser": "Navegador", "Browser": "Navegador",
"Busy": "Ocupado", "Busy": "Ocupado",
"By_proceeding_you_are_agreeing": "Ao prosseguir você está aceitando",
"Cancel_editing": "Cancelar edição", "Cancel_editing": "Cancelar edição",
"Cancel_recording": "Cancelar gravação", "Cancel_recording": "Cancelar gravação",
"Cancel": "Cancelar", "Cancel": "Cancelar",
"changing_avatar": "trocando avatar", "changing_avatar": "trocando avatar",
"creating_channel": "criando canal", "creating_channel": "criando canal",
"creating_invite": "criando convite", "creating_invite": "criando convite",
"Channel_Name": "Nome do Canal", "Channel_Name": "Nome do canal",
"Channels": "Canais", "Channels": "Canais",
"Chats": "Conversas", "Chats": "Conversas",
"Chat_started": "Conversa iniciada", "Chat_started": "Conversa iniciada",
@ -145,24 +72,20 @@
"Click_to_join": "Clique para participar!", "Click_to_join": "Clique para participar!",
"Close": "Fechar", "Close": "Fechar",
"Close_emoji_selector": "Fechar seletor de emojis", "Close_emoji_selector": "Fechar seletor de emojis",
"Closing_chat": "Fechando conversa",
"Change_language_loading": "Alterando idioma.", "Change_language_loading": "Alterando idioma.",
"Chat_closed_by_agent": "Conversa fechada por agente", "Chat_closed_by_agent": "Conversa fechada por agente",
"Choose": "Escolher", "Choose": "Escolher",
"Choose_from_library": "Escolha da biblioteca", "Choose_from_library": "Escolha da biblioteca",
"Choose_file": "Enviar arquivo", "Choose_file": "Enviar arquivo",
"Choose_where_you_want_links_be_opened": "Escolha onde deseja que os links sejam abertos", "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", "Code_or_password_invalid": "Código ou senha inválido",
"Conversation_closed": "Conversa encerrada", "Conversation_closed": "Conversa encerrada",
"Collaborative": "Colaborativo", "Collaborative": "Colaborativo",
"Confirm": "Confirmar", "Confirm": "Confirmar",
"Connect": "Conectar", "Connect": "Conectar",
"Connected": "Conectado",
"connecting_server": "conectando no servidor",
"Connecting": "Conectando...", "Connecting": "Conectando...",
"Contact_us": "Entre em contato", "Contact_us": "Entre em contato",
"Contact_your_server_admin": "Contate o administrador do servidor.", "Contact_your_server_admin": "Contate o administrador da workspace.",
"Continue_with": "Entrar com", "Continue_with": "Entrar com",
"Copied_to_clipboard": "Copiado para a área de transferência!", "Copied_to_clipboard": "Copiado para a área de transferência!",
"Copy": "Copiar", "Copy": "Copiar",
@ -172,13 +95,12 @@
"Clear_cache_loading": "Limpando cache.", "Clear_cache_loading": "Limpando cache.",
"Whats_the_password_for_your_certificate": "Qual é a senha para o seu certificado?", "Whats_the_password_for_your_certificate": "Qual é a senha para o seu certificado?",
"Create_account": "Criar conta", "Create_account": "Criar conta",
"Create_Channel": "Criar Canal", "Create_Channel": "Criar canal",
"Create_Direct_Messages": "Criar Mensagens Diretas", "Create_Direct_Messages": "Criar mensagens diretas",
"Create_Discussion": "Criar Discussão", "Create_Discussion": "Criar discussão",
"Created_snippet": "criou um snippet", "Created_snippet": "criou um snippet",
"Create_a_new_workspace": "Criar nova área de trabalho", "Create_a_new_workspace": "Criar nova área de trabalho",
"Create": "Criar", "Create": "Criar",
"Custom_Status": "Status personalizado",
"Dark": "Escuro", "Dark": "Escuro",
"Dark_level": "Nível escuro", "Dark_level": "Nível escuro",
"Default": "Padrão", "Default": "Padrão",
@ -194,47 +116,37 @@
"deleting_room": "excluindo sala", "deleting_room": "excluindo sala",
"description": "descrição", "description": "descrição",
"Description": "Descrição", "Description": "Descrição",
"Desktop_Options": "Opções De Área De Trabalho", "Desktop_Notifications": "Notificações da á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", "Desktop_Alert_info": "Essas notificações são entregues a você na área de trabalho",
"Directory": "Diretório", "Directory": "Diretório",
"Direct_Messages": "Mensagens Diretas", "Direct_Messages": "Mensagens diretas",
"Disable_notifications": "Desabilitar notificações",
"Discussions": "Discussõ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_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", "Discussion_name": "Nome da discussão",
"Done": "Pronto",
"Dont_Have_An_Account": "Não tem uma conta?", "Dont_Have_An_Account": "Não tem uma conta?",
"Do_you_have_an_account": "Você tem uma conta?", "Do_you_have_an_account": "Você tem uma conta?",
"Do_you_have_a_certificate": "Você tem um certificado?", "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?", "Do_you_really_want_to_key_this_room_question_mark": "Você quer realmente {{key}} esta sala?",
"E2E_Encryption": "Encriptação ponta a ponta", "E2E_Encryption": "Encriptação ponta a ponta (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_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_info2": "Esta é a criptografia *ponta a ponta (E2E)*, portanto, a chave para codificar/decodificar suas mensagens e elas não serão salvas na workspace. 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_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.", "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": "Editar",
"Edit_Status": "Editar Status", "Edit_Status": "Editar status",
"Edit_Invite": "Editar convite", "Edit_Invite": "Editar convite",
"End_to_end_encrypted_room": "Sala criptografada de ponta a ponta", "End_to_end_encrypted_room": "Sala criptografada de ponta a ponta",
"end_to_end_encryption": "criptografia de ponta a ponta", "Email_Notification_Mode_All": "Toda menção / mensagem direta",
"Email_Notification_Mode_All": "Cada Menção / Mensagem Direta",
"Email_Notification_Mode_Disabled": "Desativado", "Email_Notification_Mode_Disabled": "Desativado",
"Email_or_password_field_is_empty": "Email ou senha estão vazios",
"Email": "E-mail", "Email": "E-mail",
"email": "e-mail",
"Empty_title": "Título vazio",
"Enable_Auto_Translate": "Ativar a tradução automática", "Enable_Auto_Translate": "Ativar a tradução automática",
"Enable_notifications": "Habilitar notificações",
"Encrypted": "Criptografado", "Encrypted": "Criptografado",
"Encrypted_message": "Mensagem criptografada", "Encrypted_message": "Mensagem criptografada",
"Enter_Your_E2E_Password": "Digite Sua Senha E2E", "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_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.", "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_title": "Sua senha E2E parece errada",
"Encryption_error_desc": "Não foi possível decodificar sua chave de criptografia para ser importada.", "Encryption_error_desc": "Não foi possível decodificar sua chave E2E para ser importada.",
"Everyone_can_access_this_channel": "Todos podem acessar este canal", "Everyone_can_access_this_channel": "Todos podem acessar este canal",
"Everyone_can_access_this_team": "Todos podem acessar este canal", "Everyone_can_access_this_team": "Todos podem acessar este canal",
"Error_uploading": "Erro subindo", "Error_uploading": "Erro subindo",
@ -242,15 +154,13 @@
"Favorites": "Favoritos", "Favorites": "Favoritos",
"Files": "Arquivos", "Files": "Arquivos",
"File_description": "Descrição do arquivo", "File_description": "Descrição do arquivo",
"File_name": "Nome do arquivo",
"Finish_recording": "Encerrar gravação", "Finish_recording": "Encerrar gravação",
"Following_thread": "Começou a seguir tópico", "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", "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_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": "Esqueceu sua senha?",
"Forgot_Password": "Esqueci minha senha",
"Forward": "Encaminhar", "Forward": "Encaminhar",
"Forward_Chat": "Encaminhar Conversa", "Forward_Chat": "Encaminhar conversa",
"Forward_to_department": "Encaminhar para departamento", "Forward_to_department": "Encaminhar para departamento",
"Forward_to_user": "Encaminhar para usuário", "Forward_to_user": "Encaminhar para usuário",
"Full_table": "Clique para ver a tabela completa", "Full_table": "Clique para ver a tabela completa",
@ -258,71 +168,60 @@
"Get_link": "Obter link", "Get_link": "Obter link",
"User_joined_the_channel": "entrou no canal", "User_joined_the_channel": "entrou no canal",
"User_joined_the_conversation": "entrou na conversa", "User_joined_the_conversation": "entrou na conversa",
"User_joined_the_team": "entrou na equipe", "User_joined_the_team": "entrou no time",
"User_left_this_channel": "saiu da conversa", "User_left_this_channel": "saiu da conversa",
"Has_left_the_team": "saiu da equipe", "Has_left_the_team": "saiu do time",
"Hide_System_Messages": "Esconder mensagens do sistema", "Hide_System_Messages": "Esconder mensagens do sistema",
"Hide_type_messages": "Esconder mensagens de \"{{type}}\"", "Hide_type_messages": "Esconder mensagens de \"{{type}}\"",
"How_It_Works": "Como funciona", "How_It_Works": "Como funciona",
"Message_HideType_uj": "Utilizador Entrou", "Message_HideType_uj": "Usuário entrou",
"Message_HideType_ul": "Utilizador Saiu", "Message_HideType_ul": "Usuário saiu",
"Message_HideType_ru": "Utilizador Removido", "Message_HideType_ru": "Usuário removido",
"Message_HideType_au": "Utilizador adicionado", "Message_HideType_au": "Usuário adicionado",
"Message_HideType_mute_unmute": "Utilizador Silenciado", "Message_HideType_mute_unmute": "Usuário silenciado",
"Message_HideType_r": "Nome da sala alterado", "Message_HideType_r": "Nome da sala alterado",
"Message_HideType_ut": "Utilizador adicionado ao bate-papo", "Message_HideType_ut": "Usuário adicionado ao bate-papo",
"Message_HideType_wm": "Bem Vindo", "Message_HideType_wm": "Bem vindo",
"Message_HideType_rm": "Mensagem Removida", "Message_HideType_rm": "Mensagem removida",
"Message_HideType_subscription_role_added": "Papel atribuído", "Message_HideType_subscription_role_added": "Papel atribuído",
"Message_HideType_subscription_role_removed": "Papel removido", "Message_HideType_subscription_role_removed": "Papel removido",
"Message_HideType_room_archived": "Sala arquivada", "Message_HideType_room_archived": "Sala arquivada",
"Message_HideType_room_unarchived": "Sala desarquivada", "Message_HideType_room_unarchived": "Sala desarquivada",
"I_Saved_My_E2E_Password": "Salvei minha senha ponta-a-ponta", "I_Saved_My_E2E_Password": "Salvei minha senha E2E",
"IP": "IP", "IP": "IP",
"In_app": "No app", "In_app": "No app",
"In_App_And_Desktop": "In-app e área de trabalho", "In_App_And_Desktop": "In-app e área de trabalho",
"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", "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", "Invisible": "Invisível",
"Invite": "Convidar",
"is_a_valid_RocketChat_instance": "é uma instância Rocket.Chat",
"is_not_a_valid_RocketChat_instance": "não é uma instância Rocket.Chat",
"is_typing": "está digitando", "is_typing": "está digitando",
"Invalid_or_expired_invite_token": "Token de convite inválido ou vencido", "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.", "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}} da workspace para funcionar corretamente.",
"Invite_Link": "Link de Convite", "Invite_Link": "Link de convite",
"Invite_users": "Convidar usuários", "Invite_users": "Convidar usuários",
"Join": "Entrar", "Join": "Entrar",
"Join_Code": "Insira o Código da Sala", "Join_Code": "Insira o código da sala",
"Insert_Join_Code": "Insira o código para entrar na sala", "Insert_Join_Code": "Insira o código para entrar na sala",
"Join_our_open_workspace": "Entrar na nossa workspace pública", "Join_our_open_workspace": "Entrar 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_channel": "Apenas as pessoas convidadas podem acessar este canal",
"Just_invited_people_can_access_this_team": "Apenas as pessoas convidadas podem acessar este time", "Just_invited_people_can_access_this_team": "Apenas as pessoas convidadas podem acessar este time",
"Language": "Idioma", "Language": "Idioma",
"last_message": "última mensagem", "last_message": "última mensagem",
"Leave_channel": "Sair do canal",
"leaving_room": "saindo do canal", "leaving_room": "saindo do canal",
"Leave": "Sair da sala", "Leave": "Sair da sala",
"leave": "sair", "leave": "sair",
"Legal": "Legal", "Legal": "Legal",
"Light": "Claro", "Light": "Claro",
"License": "Licença", "License": "Licença",
"Livechat": "Livechat",
"Livechat_edit": "Editar livechat",
"Livechat_transfer_return_to_the_queue": "retornou conversa para a fila", "Livechat_transfer_return_to_the_queue": "retornou conversa para a fila",
"Login": "Entrar", "Login": "Entrar",
"Login_error": "Suas credenciais foram rejeitadas. Tente novamente por favor!", "Login_error": "Suas credenciais foram rejeitadas. Tente novamente por favor!",
"Login_with": "Login with",
"Logging_out": "Saindo.", "Logging_out": "Saindo.",
"Logout": "Sair", "Logout": "Sair",
"Max_number_of_uses": "Número máximo de usos", "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}}", "Max_number_of_users_allowed_is_number": "Número máximo de usuários é {{maxUsers}}",
"members": "membros", "members": "membros",
"Members": "Membros", "Members": "Membros",
"Mentioned_Messages": "Mensagens mencionadas",
"mentioned": "mencionado",
"Mentions": "Menções", "Mentions": "Menções",
"Message_accessibility": "Mensagem de {{user}} às {{time}}: {{message}}",
"Message_actions": "Ações", "Message_actions": "Ações",
"Message_pinned": "Fixou uma mensagem", "Message_pinned": "Fixou uma mensagem",
"Message_removed": "mensagem removida", "Message_removed": "mensagem removida",
@ -331,22 +230,17 @@
"message": "mensagem", "message": "mensagem",
"messages": "mensagens", "messages": "mensagens",
"Message": "Mensagem", "Message": "Mensagem",
"Messages": "Mensagens",
"Message_Reported": "Mensagem reportada", "Message_Reported": "Mensagem reportada",
"Microphone_Permission_Message": "Rocket.Chat precisa de acesso ao seu microfone para enviar mensagens de áudio.",
"Microphone_Permission": "Acesso ao Microfone",
"Mute": "Mudo", "Mute": "Mudo",
"muted": "mudo", "muted": "mudo",
"My_servers": "Minhas workspaces",
"N_people_reacted": "{{n}} pessoas reagiram", "N_people_reacted": "{{n}} pessoas reagiram",
"N_users": "{{n}} usuários", "N_users": "{{n}} usuários",
"N_channels": "{{n}} canais", "N_channels": "{{n}} canais",
"Name": "Nome", "Name": "Nome",
"Never": "Nunca", "Never": "Nunca",
"New_chat_transfer": "Nova transferência de conversa: {{agent}} retornou conversa para a fila", "New_chat_transfer": "Nova transferência de conversa: {{agent}} retornou conversa para a fila",
"New_Message": "Nova Mensagem", "New_Message": "Nova mensagem",
"New_Password": "Nova Senha", "New_Password": "Nova senha",
"New_Server": "Nova workspace",
"Next": "Próximo", "Next": "Próximo",
"No_files": "Não há arquivos", "No_files": "Não há arquivos",
"No_limit": "Sem limite", "No_limit": "Sem limite",
@ -355,30 +249,23 @@
"No_results_found": "Nenhum resultado encontrado", "No_results_found": "Nenhum resultado encontrado",
"No_members_found": "Nenhum usuário encontrado", "No_members_found": "Nenhum usuário encontrado",
"No_starred_messages": "Não há mensagens favoritas", "No_starred_messages": "Não há mensagens favoritas",
"No_thread_messages": "Não há tópicos",
"No_label_provided": "Sem {{label}}.", "No_label_provided": "Sem {{label}}.",
"No_Message": "Não há mensagens", "No_Message": "Não há mensagens",
"No_messages_yet": "Não há mensagens ainda", "No_messages_yet": "Não há mensagens ainda",
"No_Reactions": "Sem reações", "No_Reactions": "Sem reações",
"No_Read_Receipts": "Não lida", "No_Read_Receipts": "Não lida",
"Not_logged": "Desconectado", "Not_RC_Server": "Essa não é uma workspace Rocket.Chat.\n{{contact}}",
"Not_RC_Server": "Este não é um servidor Rocket.Chat.\n{{contact}}",
"Nothing": "Nada", "Nothing": "Nada",
"Nothing_to_save": "Nada para salvar!", "Nothing_to_save": "Nada para salvar!",
"Notify_active_in_this_room": "Notificar usuários ativos nesta sala", "Notify_active_in_this_room": "Notificar usuários ativos nesta sala",
"Notify_all_in_this_room": "Notificar todos nesta sala", "Notify_all_in_this_room": "Notificar todos nesta sala",
"Notifications": "Notificações", "Notifications": "Notificações",
"Notification_Duration": "Duração da notificação",
"Notification_Preferences": "Preferências de notificação", "Notification_Preferences": "Preferências de notificação",
"No_available_agents_to_transfer": "Nenhum agente disponível para transferência", "No_available_agents_to_transfer": "Nenhum agente disponível para transferência",
"Offline": "Offline",
"Oops": "Ops!", "Oops": "Ops!",
"Omnichannel": "Omnichannel", "Omnichannel": "Omnichannel",
"Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você quer ficar disponível?", "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_subtitle": "Além da colaboração em 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_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_agree_terms": "Ao continuar, você aceita nossos ",
"Onboarding_less_options": "Menos opções", "Onboarding_less_options": "Menos opções",
@ -386,51 +273,43 @@
"Online": "Online", "Online": "Online",
"Only_authorized_users_can_write_new_messages": "Somente usuários autorizados podem escrever novas mensagens", "Only_authorized_users_can_write_new_messages": "Somente usuários autorizados podem escrever novas mensagens",
"Open_emoji_selector": "Abrir seletor de emoji", "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.", "Open_your_authentication_app_and_enter_the_code": "Abra seu aplicativo de autenticação e digite o código.",
"OR": "OU", "OR": "OU",
"OS": "SO", "OS": "SO",
"Overwrites_the_server_configuration_and_use_room_config": "Substituir a configuração do servidor e usar a configuração da sala", "Overwrites_the_server_configuration_and_use_room_config": "Substituir a configuração da workspace e usar a configuração da sala",
"Password": "Senha", "Password": "Senha",
"Parent_channel_or_group": "Canal ou grupo pai", "Parent_channel_or_group": "Canal ou grupo pai",
"Permalink_copied_to_clipboard": "Link-permanente copiado para a área de transferência!", "Permalink_copied_to_clipboard": "Link-permanente copiado para a área de transferência!",
"Phone": "Telefone", "Phone": "Telefone",
"Pin": "Fixar", "Pin": "Fixar",
"Pinned_Messages": "Mensagens Fixadas",
"pinned": "fixada",
"Pinned": "Mensagens Fixadas", "Pinned": "Mensagens Fixadas",
"Please_add_a_comment": "Por favor, adicione um comentário", "Please_add_a_comment": "Por favor, adicione um comentário",
"Please_enter_your_password": "Por favor, digite sua senha", "Please_enter_your_password": "Por favor, digite sua senha",
"Please_wait": "Por favor, aguarde.", "Please_wait": "Por favor, aguarde.",
"Preferences": "Preferências", "Preferences": "Preferências",
"Preferences_saved": "Preferências salvas!", "Privacy_Policy": " Política de privacidade",
"Privacy_Policy": " Política de Privacidade",
"Private": "Privado", "Private": "Privado",
"Processing": "Processando...", "Processing": "Processando...",
"Profile_saved_successfully": "Perfil salvo com sucesso!", "Profile_saved_successfully": "Perfil salvo com sucesso!",
"Profile": "Perfil", "Profile": "Perfil",
"Public_Channel": "Canal Público",
"Public": "Público", "Public": "Público",
"Push_Notifications": "Notificações Push", "Push_Notifications": "Notificações push",
"Push_Notifications_Alert_Info": "Essas notificações são entregues a você quando o aplicativo não está aberto", "Push_Notifications_Alert_Info": "Essas notificações são entregues a você quando o aplicativo não está aberto",
"Quote": "Citar", "Quote": "Citar",
"Reactions_are_disabled": "Reagir está desabilitado", "Reactions_are_disabled": "Reagir está desabilitado",
"Reactions_are_enabled": "Reagir está habilitado", "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_Message": "Rocket.Chat precisa acessar fotos, mídia e arquivos no seu dispositivo",
"Read_External_Permission": "Permissão de acesso à arquivos", "Read_External_Permission": "Permissão de acesso à arquivos",
"Read_Only": "Somente Leitura", "Read_Only": "Somente leitura",
"Read_Receipt": "Lida por", "Read_Receipt": "Lida por",
"Receive_Group_Mentions": "Receber menções de grupo", "Receive_Group_Mentions": "Receber menções de grupo",
"Receive_Group_Mentions_Info": "Receber menções @all e @here", "Receive_Group_Mentions_Info": "Receber menções @all e @here",
"Register": "Registrar", "Register": "Registrar",
"Repeat_Password": "Repetir Senha",
"Replied_on": "Respondido em:",
"replies": "respostas", "replies": "respostas",
"reply": "resposta", "reply": "resposta",
"Reply": "Responder", "Reply": "Responder",
"Report": "Reportar", "Report": "Reportar",
"Receive_Notification": "Receber Notificação", "Receive_Notification": "Receber notificação",
"Receive_notifications_from": "Receber notificação de {{name}}", "Receive_notifications_from": "Receber notificação de {{name}}",
"Resend": "Reenviar", "Resend": "Reenviar",
"Reset_password": "Resetar senha", "Reset_password": "Resetar senha",
@ -447,25 +326,20 @@
"Remove": "Remover", "Remove": "Remover",
"remove": "remover", "remove": "remover",
"Roles": "Papéis", "Roles": "Papéis",
"Room_actions": "Ações",
"Room_changed_announcement": "O anúncio da sala foi alterado para: {{announcement}} por {{userBy}}",
"room_avatar_changed": "alterou avatar da sala", "room_avatar_changed": "alterou avatar da sala",
"Room_changed_description": "A descrição da sala foi alterada para: {{description}} por {{userBy}}",
"changed_room_description": "alterou a descrição da sala para: {{description}}", "changed_room_description": "alterou a descrição da sala para: {{description}}",
"changed_room_announcement": "alterou o anúncio da sala para: {{announcement}}", "changed_room_announcement": "alterou o anúncio da sala para: {{announcement}}",
"room_changed_type": "mudou sala para {{type}}", "room_changed_type": "mudou sala para {{type}}",
"room_changed_topic_to": "mudou tópico da sala para: {{topic}}", "room_changed_topic_to": "mudou tópico da sala para: {{topic}}",
"Room_Files": "Arquivos",
"Room_Info_Edit": "Editar", "Room_Info_Edit": "Editar",
"Room_Info": "Informações da Sala", "Room_Info": "Informações da sala",
"Room_Members": "Membros",
"Room_name_changed_to": "alterou o nome da sala para: {{name}}", "Room_name_changed_to": "alterou o nome da sala para: {{name}}",
"room_disallowed_reactions": "removeu a permissão de reagir", "room_disallowed_reactions": "removeu a permissão de reagir",
"room_allowed_reactions": "adicionou permissão de reagir", "room_allowed_reactions": "adicionou permissão de reagir",
"room_removed_read_only_permission": "removeu permissão de escrita da sala", "room_removed_read_only_permission": "removeu permissão de escrita da sala",
"room_set_read_only_permission": "adicionou permissão de escrita à sala", "room_set_read_only_permission": "adicionou permissão de escrita à sala",
"SAVE": "SALVAR", "SAVE": "SALVAR",
"Save_Changes": "Salvar Alterações", "Save_Changes": "Salvar alterações",
"Save": "Salvar", "Save": "Salvar",
"Saved": "Salvo", "Saved": "Salvo",
"saving_preferences": "salvando preferências", "saving_preferences": "salvando preferências",
@ -473,24 +347,22 @@
"saving_settings": "salvando configurações", "saving_settings": "salvando configurações",
"saved_to_gallery": "Salvo na galeria", "saved_to_gallery": "Salvo na galeria",
"Save_Your_E2E_Password": "Salve sua senha E2E", "Save_Your_E2E_Password": "Salve sua senha E2E",
"Save_Your_Encryption_Password": "Salve Sua Senha de Criptografia", "Save_Your_Encryption_Password": "Salve sua senha E2E",
"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_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.", "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_Messages": "Buscar mensagens",
"Search": "Buscar", "Search": "Buscar",
"Search_by": "Buscar por", "Search_by": "Buscar por",
"Search_emoji": "Buscar emoji", "Search_emoji": "Buscar emoji",
"Search_global_users": "Busca por usuários globais", "Search_global_users": "Busca por usuários globais",
"Search_global_users_description": "Caso ativado, busca por usuários de outras empresas ou servidores.", "Search_global_users_description": "Caso ativado, busca por usuários de outras empresas ou workspaces.",
"Seconds": "{{second}} segundos",
"Security_and_privacy": "Segurança e privacidade", "Security_and_privacy": "Segurança e privacidade",
"Select_Avatar": "Selecionar Avatar", "Select_Server": "Selecionar workspace",
"Select_Server": "Selecionar Servidor", "Select_Users": "Selecionar usuários",
"Select_Users": "Selecionar Usuários",
"Select_a_Channel": "Selecione um canal", "Select_a_Channel": "Selecione um canal",
"Select_a_Department": "Selecione um Departamento", "Select_a_Department": "Selecione um departamento",
"Select_an_option": "Selecione uma opção", "Select_an_option": "Selecione uma opção",
"Select_a_User": "Selecione um Usuário", "Select_a_User": "Selecione um usuário",
"Send": "Enviar", "Send": "Enviar",
"Send_audio_message": "Enviar mensagem de áudio", "Send_audio_message": "Enviar mensagem de áudio",
"Send_crash_report": "Enviar relatório de erros", "Send_crash_report": "Enviar relatório de erros",
@ -498,58 +370,40 @@
"Send_me_the_code_again": "Envie-me o código novamente", "Send_me_the_code_again": "Envie-me o código novamente",
"Send_to": "Enviar para...", "Send_to": "Enviar para...",
"Sending_to": "Envio para", "Sending_to": "Envio para",
"Sent_an_attachment": "Enviou um anexo", "Server": "Workspace",
"Server": "Servidor",
"Servers": "Workspaces",
"Server_version": "Versão da workspace: {{version}}", "Server_version": "Versão da workspace: {{version}}",
"Set_username_subtitle": "O usuário é utilizado para permitir que você seja mencionado em mensagens", "Set_username_subtitle": "O usuário é utilizado para permitir que você seja mencionado em mensagens",
"Set_custom_status": "Definir status personalizado",
"Set_status": "Definir status",
"Status_saved_successfully": "Status salvo com sucesso!", "Status_saved_successfully": "Status salvo com sucesso!",
"Settings": "Configurações", "Settings": "Configurações",
"Settings_succesfully_changed": "Configurações salvas com sucesso!", "Settings_succesfully_changed": "Configurações salvas com sucesso!",
"Share": "Compartilhar", "Share": "Compartilhar",
"Share_Link": "Share Link", "Share_Link": "Compartilhar convite",
"Share_this_app": "Compartilhar esse app", "Share_this_app": "Compartilhar esse app",
"Show_more": "Mostrar mais..", "Show_more": "Mostrar mais..",
"Sign_in_your_server": "Entrar no seu servidor",
"Sign_Up": "Registrar", "Sign_Up": "Registrar",
"Some_field_is_invalid_or_empty": "Algum campo está inválido ou vazio",
"Sound": "Som da notificação", "Sound": "Som da notificação",
"Star_room": "Favoritar sala",
"Star": "Favorito", "Star": "Favorito",
"Starred_Messages": "Mensagens Favoritas",
"starred": "favoritou",
"Starred": "Mensagens Favoritas", "Starred": "Mensagens Favoritas",
"Start_of_conversation": "Início da conversa", "Start_a_Discussion": "Iniciar uma discussão",
"Start_a_Discussion": "Iniciar uma Discussão",
"Started_discussion": "Iniciou uma discussão:", "Started_discussion": "Iniciou uma discussão:",
"Started_call": "Chamada iniciada por {{userBy}}", "Started_call": "Chamada iniciada por {{userBy}}",
"Submit": "Enviar",
"Table": "Tabela", "Table": "Tabela",
"Tags": "Tags", "Tags": "Tags",
"Take_a_photo": "Tirar uma foto", "Take_a_photo": "Tirar uma foto",
"Take_a_video": "Gravar um vídeo", "Take_a_video": "Gravar um vídeo",
"Take_it": "Pegue!", "Take_it": "Pegue!",
"tap_to_change_status": "toque para mudar de status", "Terms_of_Service": " Termos de serviço ",
"Tap_to_view_servers_list": "Toque para visualizar as workspaces",
"Terms_of_Service": " Termos de Serviço ",
"Theme": "Tema", "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}}!", "There_was_an_error_while_action": "Aconteceu um erro {{action}}!",
"This_room_is_blocked": "Esta sala está bloqueada", "This_room_is_blocked": "Esta sala está bloqueada",
"This_room_is_read_only": "Esta sala é somente leitura", "This_room_is_read_only": "Esta sala é somente leitura",
"Thread": "Tópico",
"Threads": "Tópicos", "Threads": "Tópicos",
"Timezone": "Fuso horário", "Timezone": "Fuso horário",
"To": "Para",
"topic": "tópico", "topic": "tópico",
"Topic": "Tópico", "Topic": "Tópico",
"Translate": "Traduzir", "Translate": "Traduzir",
"Try_again": "Tentar novamente", "Try_again": "Tentar novamente",
"Two_Factor_Authentication": "Autenticação de dois fatores", "Two_Factor_Authentication": "Autenticação de dois fatores",
"Type_the_channel_name_here": "Digite o nome do canal",
"unarchive": "desarquivar", "unarchive": "desarquivar",
"UNARCHIVE": "DESARQUIVAR", "UNARCHIVE": "DESARQUIVAR",
"Unblock_user": "Desbloquear usuário", "Unblock_user": "Desbloquear usuário",
@ -566,47 +420,36 @@
"Uploading": "Subindo arquivo", "Uploading": "Subindo arquivo",
"FileUpload_Error": "Erro de upload de arquivo", "FileUpload_Error": "Erro de upload de arquivo",
"Upload_in_progress": "Carregamento em andamento", "Upload_in_progress": "Carregamento em andamento",
"Upload_file_question_mark": "Enviar arquivo?",
"User": "Usuário", "User": "Usuário",
"Users": "Usuários", "Users": "Usuários",
"User_added_to": "adicionou o usuário {{userAdded}}", "User_added_to": "adicionou o usuário {{userAdded}}",
"User_Info": "Informações do usuário", "User_Info": "Informações do usuário",
"User_has_been_key": "Usuário foi {{key}}", "User_has_been_key": "Usuário foi {{key}}",
"User_is_no_longer_role_by_": "{{user}} não pertence mais à {{role}} por {{userBy}}",
"User_has_been_muted": "silenciou o usuário {{userMuted}}", "User_has_been_muted": "silenciou o usuário {{userMuted}}",
"User_has_been_removed": "removeu {{userRemoved}}", "User_has_been_removed": "removeu {{userRemoved}}",
"User_sent_an_attachment": "{{user}} enviou um anexo", "User_sent_an_attachment": "{{user}} enviou um anexo",
"User_has_been_unmuted": "permitiu que {{userUnmuted}} fale na sala", "User_has_been_unmuted": "permitiu que {{userUnmuted}} fale na sala",
"Defined_user_as_role": "definiu {{user}} como {{role}}", "Defined_user_as_role": "definiu {{user}} como {{role}}",
"Removed_user_as_role": "removeu {{user}} como {{role}}", "Removed_user_as_role": "removeu {{user}} como {{role}}",
"Username_is_empty": "Usuário está vazio",
"Username": "Usuário", "Username": "Usuário",
"Username_or_email": "Usuário ou email", "Username_or_email": "Usuário ou email",
"Uses_server_configuration": "Usar configuração do servidor", "Uses_server_configuration": "Usar configuração da workspace",
"Validating": "Validando...",
"Registration_Succeeded": "Registrado com sucesso!", "Registration_Succeeded": "Registrado com sucesso!",
"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_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", "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", "View_Original": "Visualizar original",
"Voice_call": "Chamada de voz",
"Waiting_for_network": "Aguardando rede...", "Waiting_for_network": "Aguardando rede...",
"Websocket_disabled": "Websocket está desativado para esse servidor.\n{{contact}}", "Websocket_disabled": "Websocket está desativado para essa workspace.\n{{contact}}",
"Welcome": "Bem vindo",
"What_are_you_doing_right_now": "O que você está fazendo agora?", "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 workspaces",
"Without_Servers": "Sem Servidores",
"Workspaces": "Workspaces", "Workspaces": "Workspaces",
"Would_you_like_to_return_the_inquiry": "Deseja retornar a consulta?", "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_Message": "Rocket.Chat precisa de acesso à sua galeria para salvar imagens",
"Write_External_Permission": "Acesso à Galeria", "Write_External_Permission": "Acesso à galeria",
"Yes": "Sim", "Yes": "Sim",
"Yes_action_it": "Sim, {{action}}!", "Yes_action_it": "Sim, {{action}}!",
"Yesterday": "Ontem", "Yesterday": "Ontem",
"You_are_in_preview_mode": "Está é uma prévia do canal", "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_can_search_using_RegExp_eg": "Você pode usar expressões regulares, por exemplo `/^text$/i`",
"You_colon": "Você: ", "You_colon": "Você: ",
"you_were_mentioned": "você foi mencionado", "you_were_mentioned": "você foi mencionado",
@ -626,28 +469,17 @@
"Your_password_is": "Sua senha é", "Your_password_is": "Sua senha é",
"Version_no": "Versão: {{version}}", "Version_no": "Versão: {{version}}",
"You_will_not_be_able_to_recover_this_message": "Você não será capaz de recuperar essa mensagem!", "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", "You_will_unset_a_certificate_for_this_server": "Você cancelará a configuração de um certificado para essa workspace",
"Change_Language": "Alterar idioma", "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.", "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", "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", "Search_messages": "Buscar mensagens",
"Scroll_messages": "Rolar mensagens", "Reply_in_Thread": "Responder no tópico",
"Reply_latest": "Responder para última mensagem", "Add_server": "Adicionar workspace",
"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.", "You_will_be_logged_out_of_this_application": "Você sairá deste aplicativo.",
"Clear": "Limpar", "Clear": "Limpar",
"This_will_clear_all_your_offline_data": "Isto limpará todos os seus dados offline.", "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.", "This_will_remove_all_data_from_this_server": "Isto removerá todos os dados dessa workspace.",
"Mark_unread": "Marcar como não Lida", "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.", "Wait_activation_warning": "Antes que você possa fazer o login, sua conta deve ser manualmente ativada por um administrador.",
"Screen_lock": "Bloqueio de Tela", "Screen_lock": "Bloqueio de Tela",
@ -679,22 +511,22 @@
"Logged_out_of_other_clients_successfully": "Desconectado de outros clientes com sucesso", "Logged_out_of_other_clients_successfully": "Desconectado de outros clientes com sucesso",
"Logout_failed": "Falha ao desconectar!", "Logout_failed": "Falha ao desconectar!",
"Log_analytics_events": "Logar eventos no analytics", "Log_analytics_events": "Logar eventos no analytics",
"E2E_encryption_change_password_title": "Alterar Senha de Criptografia", "E2E_encryption_change_password_title": "Alterar senha E2E",
"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_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 na workspace. 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_error": "Erro ao alterar senha E2E!",
"E2E_encryption_change_password_success": "Senha de criptografia alterada com sucesso!", "E2E_encryption_change_password_success": "Senha E2E alterada com sucesso!",
"E2E_encryption_change_password_message": "Certifique-se de tê-la guardado em local seguro.", "E2E_encryption_change_password_message": "Certifique-se de tê-la guardado em local seguro.",
"E2E_encryption_change_password_confirmation": "Sim, alterar", "E2E_encryption_change_password_confirmation": "Sim, alterar",
"E2E_encryption_reset_title": "Redefinir Chave de Criptografia", "E2E_encryption_reset_title": "Redefinir chave E2E",
"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_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. \nDevido à 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_button": "Redefinir",
"E2E_encryption_reset_error": "Erro ao redefinir chave!", "E2E_encryption_reset_error": "Erro ao redefinir chave!",
"E2E_encryption_reset_message": "Você será desconectado.", "E2E_encryption_reset_message": "Você será desconectado.",
"E2E_encryption_reset_confirmation": "Sim, redefinir", "E2E_encryption_reset_confirmation": "Sim, redefinir",
"Following": "Seguindo", "Following": "Seguindo",
"Threads_displaying_all": "Mostrando Tudo", "Threads_displaying_all": "Mostrando tudo",
"Threads_displaying_following": "Mostrando Seguindo", "Threads_displaying_following": "Mostrando seguindo",
"Threads_displaying_unread": "Mostrando Não Lidos", "Threads_displaying_unread": "Mostrando não lidos",
"No_threads": "Não há tópicos", "No_threads": "Não há tópicos",
"No_threads_following": "Você não está seguindo tópicos", "No_threads_following": "Você não está seguindo tópicos",
"No_threads_unread": "Não há tópicos não lidos", "No_threads_unread": "Não há tópicos não lidos",
@ -729,44 +561,40 @@
"Team_Name": "Nome do time", "Team_Name": "Nome do time",
"creating_team": "criando time", "creating_team": "criando time",
"team-name-already-exists": "Um time com esse nome já existe", "team-name-already-exists": "Um time com esse nome já existe",
"Add_Channel_to_Team": "Adicionar Canal ao Time", "Add_Channel_to_Team": "Adicionar canal ao time",
"Left_The_Team_Successfully": "Saiu do time com sucesso", "Left_The_Team_Successfully": "Saiu do time com sucesso",
"Create_New": "Criar", "Create_New": "Criar",
"Add_Existing": "Adicionar", "Add_Existing": "Adicionar",
"Add_Existing_Channel": "Adicionar Canal Existente", "Add_Existing_Channel": "Adicionar canal existente",
"Remove_from_Team": "Remover do time", "Remove_from_Team": "Remover do time",
"Auto-join": "Entrada Automática", "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", "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", "Confirmation": "Confirmação",
"invalid-room": "Sala inválida",
"You_are_leaving_the_team": "Você está deixando o time '{{team}}'", "You_are_leaving_the_team": "Você está deixando o time '{{team}}'",
"Leave_Team": "Sair do Time", "Leave_Team": "Sair do time",
"Select_Team": "Selecionar Time", "Select_Team": "Selecionar time",
"Select_Team_Channels": "Selecione os canais do time que você gostaria de deixar.", "Select_Team_Channels": "Selecione os canais do time que você gostaria de deixar.",
"Cannot_leave": "Não pode sair", "Cannot_leave": "Não pode sair",
"Cannot_remove": "Não é possível remover", "Cannot_remove": "Não é possível remover",
"Cannot_delete": "Não é possível apagar", "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_team_room": "Você é o último dono deste canal. Uma vez que você deixe o time, o canal será mantido dentro do time, mas você estará administrando-o de fora.",
"last-owner-can-not-be-removed": "O último dono não pode ser removido", "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.",
"Deleting_account": "Apagando conta", "Deleting_account": "Apagando conta",
"Delete_my_account": "Apagar minha conta", "Delete_my_account": "Apagar minha conta",
"Delete_Team": "Excluir Time", "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.", "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.", "You_are_deleting_the_team": "Você está apagando este time.",
"Removing_user_from_this_team": "Você está removendo {{user}} deste 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_User_Team_Channels": "Selecione os canais dos quais você deseja que o usuário seja removido.",
"Remove_Member": "Remover Membro", "Remove_Member": "Remover membro",
"leaving_team": "saindo do time",
"removing_team": "removendo do time", "removing_team": "removendo do time",
"moving_channel_to_team": "movendo canal do time", "moving_channel_to_team": "movendo canal do time",
"deleting_team": "apagando time", "deleting_team": "apagando time",
"member-does-not-exist": "Membro não existe",
"Convert": "Converter", "Convert": "Converter",
"Convert_to_Team": "Converter para Time", "Convert_to_Team": "Converter para time",
"Convert_to_Team_Warning": "Você está convertendo este Canal para um Time. Todos os Membros serão mantidos.", "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_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_Channel_Paragraph": "Mover um canal dentro de um time significa que este canal será adicionado no contexto do time, 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 do time. \n\nA gestão de todos os canais continuará a ser feita pelos proprietários deste canal.\n\nOs membros do time e até mesmo os proprietários do time, 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?", "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_More": "Carregar mais",
"Load_Newer": "Carregar mais novas", "Load_Newer": "Carregar mais novas",
@ -777,10 +605,10 @@
"Left_The_Room_Successfully": "Saiu da sala com sucesso", "Left_The_Room_Successfully": "Saiu da sala com sucesso",
"Deleted_The_Team_Successfully": "Time deletado com sucesso", "Deleted_The_Team_Successfully": "Time deletado com sucesso",
"Deleted_The_Room_Successfully": "Sala deletada com sucesso", "Deleted_The_Room_Successfully": "Sala deletada com sucesso",
"Convert_to_Channel": "Converter para um Canal", "Convert_to_Channel": "Converter para um canal",
"Converting_Team_To_Channel": "Convertendo Time para 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.", "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 a workspace.\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", "You_are_converting_the_team": "Você está convertendo este time para um canal",
"Display": "Display", "Display": "Display",
"Avatars": "Avatars", "Avatars": "Avatars",
"Sort_by": "Ordenar por", "Sort_by": "Ordenar por",
@ -789,7 +617,7 @@
"Expanded": "Estendido", "Expanded": "Estendido",
"Condensed": "Condensado", "Condensed": "Condensado",
"creating_discussion": "criando discussão", "creating_discussion": "criando discussão",
"Canned_Responses": "Respostas Predefinidas", "Canned_Responses": "Respostas predefinidas",
"No_match_found": "Nenhum resultado encontrado.", "No_match_found": "Nenhum resultado encontrado.",
"No_discussions": "Sem discussões", "No_discussions": "Sem discussões",
"Check_canned_responses": "Verifique nas respostas predefinidas", "Check_canned_responses": "Verifique nas respostas predefinidas",
@ -805,27 +633,24 @@
"Unsupported_format": "Formato não suportado", "Unsupported_format": "Formato não suportado",
"Downloaded_file": "Arquivo baixado", "Downloaded_file": "Arquivo baixado",
"Error_Download_file": "Erro ao baixar o arquivo", "Error_Download_file": "Erro ao baixar o arquivo",
"added__roomName__to_this_team": "adicionou #{{roomName}} a esta equipe", "added__roomName__to_this_team": "adicionou #{{roomName}} a este time",
"Added__username__to_this_team": "adicionou @{{user_added}} a esta equipe", "Added__username__to_this_team": "adicionou @{{user_added}} a este time",
"Converting_team_to_channel": "Convertendo equipe em canal", "Converted__roomName__to_a_team": "converteu #{{roomName}} em time",
"Converted__roomName__to_a_team": "converteu #{{roomName}} em equipe",
"Converted__roomName__to_a_channel": "converteu #{{roomName}} em canal", "Converted__roomName__to_a_channel": "converteu #{{roomName}} em canal",
"Deleted__roomName__": "#{{roomName}} apagada", "Deleted__roomName__": "#{{roomName}} apagada",
"Message_HideType_added_user_to_team": "Ocultar mensagens de \"Usuário adicionado à equipe\"", "Message_HideType_added_user_to_team": "Ocultar mensagens de \"Usuário adicionado ao time\"",
"Message_HideType_removed_user_from_team": "Ocultar mensagens de \"Usuário removido da equipe\"", "Message_HideType_removed_user_from_team": "Ocultar mensagens de \"Usuário removido do time\"",
"Message_HideType_ujt": "Ocultar mensagens de \"Usuário entrou na equipe\"", "Message_HideType_ujt": "Ocultar mensagens de \"Usuário entrou no time\"",
"Message_HideType_ult": "Ocultar mensagens de \"Usuário saiu da equipe\"", "Message_HideType_ult": "Ocultar mensagens de \"Usuário saiu do time\"",
"Message_HideType_user_added_room_to_team": "Ocultar mensagens de \"Usuário adicionou sala para a equipe\"", "Message_HideType_user_added_room_to_team": "Ocultar mensagens de \"Usuário adicionou sala para o time\"",
"Message_HideType_user_converted_to_channel": "Ocultar mensagens de \"Usuário converteu equipe em canal\"", "Message_HideType_user_converted_to_channel": "Ocultar mensagens de \"Usuário converteu time em canal\"",
"Message_HideType_user_converted_to_team": "Ocultar mensagens de \"Usuário converteu canal em equipe\"", "Message_HideType_user_converted_to_team": "Ocultar mensagens de \"Usuário converteu canal em time\"",
"Message_HideType_user_deleted_room_from_team": "Ocultar mensagens de \"Usuário apagou sala da equipe\"", "Message_HideType_user_deleted_room_from_team": "Ocultar mensagens de \"Usuário apagou sala do time\"",
"Message_HideType_user_removed_room_from_team": "Ocultar mensagens de \"Usuário removeu sala da equipe\"", "Message_HideType_user_removed_room_from_team": "Ocultar mensagens de \"Usuário removeu sala do time\"",
"Removed__roomName__from_the_team": "removeu #{{roomName}} desta equipe", "Removed__roomName__from_the_team": "removeu #{{roomName}} deste time",
"Removed__username__from_the_team": "removeu @{{userRemoved}} desta equipe", "Removed__username__from_the_team": "removeu @{{userRemoved}} deste time",
"User_joined_team": "entrou nesta equipe",
"User_left_team": "saiu desta equipe",
"Place_chat_on_hold": "Colocar conversa em espera", "Place_chat_on_hold": "Colocar conversa em espera",
"Would_like_to_place_on_hold": "Gostaria de colocar essa conversa Em Espera?", "Would_like_to_place_on_hold": "Gostaria de colocar essa conversa em espera?",
"Open_Livechats": "Bate-papos em Andamento", "Open_Livechats": "Bate-papos em Andamento",
"On_hold_Livechats": "Conversas Em Espera", "On_hold_Livechats": "Conversas Em Espera",
"Chat_is_on_hold": "Esta conversa está em espera devido à inatividade", "Chat_is_on_hold": "Esta conversa está em espera devido à inatividade",
@ -840,17 +665,17 @@
"Show_badge_for_mentions_Info": "Mostrar contador somente para menções diretas", "Show_badge_for_mentions_Info": "Mostrar contador somente para menções diretas",
"error-init-video-conf": "Erro ao iniciar chamada de video", "error-init-video-conf": "Erro ao iniciar chamada de video",
"totp-invalid": "Código ou senha inválida", "totp-invalid": "Código ou senha inválida",
"Close_Chat": "Fechar Conversa", "Close_Chat": "Fechar conversa",
"Select_tags": "Selecionar tag(s)", "Select_tags": "Selecionar tag(s)",
"Skip": "Pular", "Skip": "Pular",
"N_Selected_members": "{{n}} selecionados", "N_Selected_members": "{{n}} selecionados",
"Broadcast": "Transmissão", "Broadcast": "Transmissão",
"Broadcast_hint": "Somente usuários autorizados podem escrever novas mensagens, mas os outros usuários poderão responder", "Broadcast_hint": "Somente usuários autorizados podem escrever novas mensagens, mas os outros usuários poderão responder",
"Team_hint_private": "Apenas pessoas convidadas podem entrar", "Team_hint_private": "Apenas pessoas convidadas podem entrar",
"Team_hint_public": "Quando desativado, qualquer um pode entrar na equipe", "Team_hint_public": "Quando desativado, qualquer um pode entrar no time",
"Team_hint_not_read_only": "Todos os usuários nesta equipe podem escrever mensagens", "Team_hint_not_read_only": "Todos os usuários neste time podem escrever mensagens",
"Team_hint_encrypted": "Equipe criptografada de ponta a ponta. A pesquisa não funcionará com equipes criptografadas e as notificações poderão não exibir o conteúdo das mensagens.", "Team_hint_encrypted": "Time criptografado de ponta a ponta. A pesquisa não funcionará com times criptografadas e as notificações poderão não exibir o conteúdo das mensagens.",
"Team_hint_encrypted_not_available": "Disponível apenas para equipes privadas", "Team_hint_encrypted_not_available": "Disponível apenas para times privados",
"Channel_hint_private": "Apenas usuários convidados podem acessar este canal", "Channel_hint_private": "Apenas usuários convidados podem acessar este canal",
"Channel_hint_public": "Todos podem acessar este canal", "Channel_hint_public": "Todos podem acessar este canal",
"Channel_hint_encrypted": "Canal criptografado de ponta a ponta. A pesquisa não funcionará com canais criptografados e as notificações podem não mostrar o conteúdo das mensagens.", "Channel_hint_encrypted": "Canal criptografado de ponta a ponta. A pesquisa não funcionará com canais criptografados e as notificações podem não mostrar o conteúdo das mensagens.",
@ -860,31 +685,51 @@
"Discussion": "Discussão", "Discussion": "Discussão",
"Channel": "Canal", "Channel": "Canal",
"Team": "Time", "Team": "Time",
"Select_Members": "Selecionar Membros", "Select_Members": "Selecionar membros",
"Also_send_thread_message_to_channel_behavior": "Também enviar mensagem do tópico para o canal", "Also_send_thread_message_to_channel_behavior": "Também enviar mensagem do tópico para o canal",
"Accounts_Default_User_Preferences_alsoSendThreadToChannel_Description": "Permitir que os usuários selecionem o comportamento Também enviar para o canal", "Accounts_Default_User_Preferences_alsoSendThreadToChannel_Description": "Permitir que os usuários selecionem o comportamento Também enviar para o canal",
"Waiting_for_answer": "Esperando por resposta", "Waiting_for_answer": "Esperando por resposta",
"Waiting_for_server_connection": "Aguardando conexão com o servidor",
"Call_ended": "Chamada finalizada", "Call_ended": "Chamada finalizada",
"Call_was_not_answered": "A chamada não foi atendida", "Call_was_not_answered": "A chamada não foi atendida",
"Call_back": "Ligue de volta", "Call_back": "Ligue de volta",
"Call_again": "Ligue novamente", "Call_again": "Ligue novamente",
"Call_ongoing": "Chamada em andamento", "Call_ongoing": "Chamada em andamento",
"Call_issue": "Chamada com problemas",
"Joined": "Ingressou", "Joined": "Ingressou",
"Calling": "Chamando...", "Calling": "Chamando",
"Start_a_call": "Inicie uma chamada", "Start_a_call": "Inicie uma chamada",
"Call": "Ligar", "Call": "Ligar",
"Reply_in_direct_message": "Responder por mensagem direta", "Reply_in_direct_message": "Responder por mensagem direta",
"room_archived": "{{username}} arquivou a sala", "room_archived": "arquivou a sala",
"room_unarchived": "{{username}} desarquivou a sala", "room_unarchived": "desarquivou a sala",
"Upload_image": "Carregar imagem", "Upload_image": "Carregar imagem",
"Delete_image": "Deletar imagem", "Delete_image": "Excluir imagem",
"Images_uploaded": "Imagens carregadas", "Images_uploaded": "Imagens carregadas",
"Avatar": "Avatar", "Avatar": "Avatar",
"insert_Avatar_URL": "insira o URL da imagem aqui", "insert_Avatar_URL": "insira o URL da imagem aqui",
"Discard_changes":"Descartar alterações?", "Discard_changes": "Descartar alterações?",
"Discard":"Descartar", "Discard": "Descartar",
"Discard_changes_description":"Todas as alterações serão perdidas, se você sair sem salvar.", "Discard_changes_description": "Todas as alterações serão perdidas, se você sair sem salvar.",
"Presence_Cap_Warning_Title": "Status do usuário desabilitado temporariamente", "Presence_Cap_Warning_Title": "Status do usuário desabilitado temporariamente",
"Presence_Cap_Warning_Description": "O limite de conexões ativas para a workspace foi atingido, por isso o serviço responsável pela presença dos usuários está temporariamente desabilitado. Ele pode ser reabilitado manualmente nas configurações da workspace.", "Presence_Cap_Warning_Description": "O limite de conexões ativas para a workspace foi atingido, por isso o serviço responsável pela presença dos usuários está temporariamente desabilitado. Ele pode ser reabilitado manualmente nas configurações da workspace.",
"and_N_more": "e mais {{count}}" "Learn_more": "Saiba mais",
"and_N_more": "e mais {{count}}",
"Media_auto_download": "Download automático de mídia",
"Images": "Imagens",
"Video": "Vídeo",
"Wi_Fi_and_mobile_data":"Wi-Fi e dados móveis",
"Wi_Fi": "Wi-Fi",
"Off": "Desativado",
"Audio": "Áudio",
"decline": "Recusar",
"accept": "Aceitar",
"Incoming_call_from": "Chamada recebida de",
"Call_started": "Chamada Iniciada",
"Forward_message": "Encaminhar mensagem",
"Person_or_channel": "Pessoa ou canal",
"Select": "Selecionar",
"Nickname": "Apelido",
"Bio": "Biografia",
"Message_has_been_shared":"Menssagem foi compartilhada"
} }

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