Merge branch 'develop' into chore.update-detox

This commit is contained in:
Diego Mello 2020-05-19 16:15:00 -03:00
commit 557590b54c
6 changed files with 156 additions and 67 deletions

View File

@ -1,5 +1,3 @@
import I18n from '../i18n';
export const PASSCODE_KEY = 'kPasscode'; export const PASSCODE_KEY = 'kPasscode';
export const LOCKED_OUT_TIMER_KEY = 'kLockedOutTimer'; export const LOCKED_OUT_TIMER_KEY = 'kLockedOutTimer';
export const ATTEMPTS_KEY = 'kAttempts'; export const ATTEMPTS_KEY = 'kAttempts';
@ -12,26 +10,3 @@ export const MAX_ATTEMPTS = 6;
export const TIME_TO_LOCK = 30000; export const TIME_TO_LOCK = 30000;
export const DEFAULT_AUTO_LOCK = 1800; export const DEFAULT_AUTO_LOCK = 1800;
export const DEFAULT_AUTO_LOCK_OPTIONS = [
{
title: I18n.t('Local_authentication_auto_lock_60'),
value: 60
},
{
title: I18n.t('Local_authentication_auto_lock_300'),
value: 300
},
{
title: I18n.t('Local_authentication_auto_lock_900'),
value: 900
},
{
title: I18n.t('Local_authentication_auto_lock_1800'),
value: 1800
},
{
title: I18n.t('Local_authentication_auto_lock_3600'),
value: 3600
}
];

View File

@ -487,10 +487,20 @@ class MessageBox extends Component {
} }
setInput = (text) => { setInput = (text) => {
this.text = text;
if (this.component && this.component.setNativeProps) { if (this.component && this.component.setNativeProps) {
this.component.setNativeProps({ text }); const props = { text };
if (isAndroid) {
const diff = text.length - this.text?.length;
const selection = this.component?.lastNativeSelection;
const start = selection?.start + diff >= 0 ? selection?.start + diff : text.length;
const end = selection?.end + diff >= 0 ? selection?.start + diff : text.length;
props.selection = { start, end };
} }
this.component.setNativeProps(props);
}
this.text = text;
} }
setShowSend = (showSend) => { setShowSend = (showSend) => {

View File

@ -10,6 +10,7 @@ export default {
'error-could-not-change-email': 'E-Mail konnte nicht geändert 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-name': 'Name konnte nicht geändert werden',
'error-could-not-change-username': 'Benutzername 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-delete-protected-role': 'Eine geschützte Rolle kann nicht gelöscht werden',
'error-department-not-found': 'Abteilung nicht gefunden', 'error-department-not-found': 'Abteilung nicht gefunden',
'error-direct-message-file-upload-not-allowed': 'Dateifreigabe in direkten Nachrichten nicht zulässig', 'error-direct-message-file-upload-not-allowed': 'Dateifreigabe in direkten Nachrichten nicht zulässig',
@ -17,6 +18,7 @@ export default {
'error-email-domain-blacklisted': 'Die E-Mail-Domain wird auf die schwarze Liste gesetzt', '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-field-unavailable': '{{field}} wird bereits verwendet :(', 'error-field-unavailable': '{{field}} wird bereits verwendet :(',
'error-file-too-large': 'Datei ist zu groß', 'error-file-too-large': 'Datei ist zu groß',
'error-importer-not-defined': 'Der Import wurde nicht korrekt definiert, es fehlt die Importklasse.', 'error-importer-not-defined': 'Der Import wurde nicht korrekt definiert, es fehlt die Importklasse.',
@ -81,12 +83,14 @@ export default {
Activity: 'Aktivität', Activity: 'Aktivität',
Add_Reaction: 'Reaktion hinzufügen', Add_Reaction: 'Reaktion hinzufügen',
Add_Server: 'Server hinzufügen', Add_Server: 'Server hinzufügen',
Add_users: 'Nutzer hinzufügen', Add_users: 'Benutzer hinzufügen',
Admin_Panel: 'Admin-Panel', Admin_Panel: 'Admin-Panel',
Agent: 'Agent',
Alert: 'Benachrichtigung', Alert: 'Benachrichtigung',
alert: 'Benachrichtigung', alert: 'Benachrichtigung',
alerts: 'Benachrichtigungen', alerts: 'Benachrichtigungen',
All_users_in_the_channel_can_write_new_messages: 'Alle Benutzer im Kanal können neue Nachrichten schreiben', All_users_in_the_channel_can_write_new_messages: 'Alle Benutzer im Kanal können neue Nachrichten schreiben',
A_meaningful_name_for_the_discussion_room: 'Ein aussagekräftiger Name für den Diskussionsraum',
All: 'Alles', All: 'Alles',
All_Messages: 'Alle Nachrichten', All_Messages: 'Alle Nachrichten',
Allow_Reactions: 'Reaktionen zulassen', Allow_Reactions: 'Reaktionen zulassen',
@ -130,12 +134,15 @@ export default {
Click_to_join: 'Klicken um teilzunehmen!', Click_to_join: 'Klicken um teilzunehmen!',
Close: 'Schließen', Close: 'Schließen',
Close_emoji_selector: 'Schließen Sie die Emoji-Auswahl', Close_emoji_selector: 'Schließen Sie die Emoji-Auswahl',
Closing_chat: 'Chat schließen',
Change_language_loading: 'Ändere Sprache.', Change_language_loading: 'Ändere Sprache.',
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: 'Entscheide, wie Links geöffnet werden sollen', Choose_where_you_want_links_be_opened: 'Entscheide, wie Links geöffnet werden sollen',
Code: 'Code', Code: 'Code',
Code_or_password_invalid: 'Code oder Passwort sind falsch',
Collaborative: 'Kollaborativ', Collaborative: 'Kollaborativ',
Confirm: 'Bestätigen', Confirm: 'Bestätigen',
Connect: 'Verbinden', Connect: 'Verbinden',
@ -147,6 +154,7 @@ export default {
Continue_with: 'Weitermachen mit', Continue_with: 'Weitermachen mit',
Copied_to_clipboard: 'In die Zwischenablage kopiert!', Copied_to_clipboard: 'In die Zwischenablage kopiert!',
Copy: 'Kopieren', Copy: 'Kopieren',
Conversation: 'Konversationen',
Permalink: 'Permalink', Permalink: 'Permalink',
Certificate_password: 'Zertifikats-Passwort', Certificate_password: 'Zertifikats-Passwort',
Clear_cache: 'Lokalen Server-Cache leeren', Clear_cache: 'Lokalen Server-Cache leeren',
@ -154,14 +162,18 @@ export default {
Whats_the_password_for_your_certificate: 'Wie lautet das Passwort für Ihr Zertifikat?', Whats_the_password_for_your_certificate: 'Wie lautet das Passwort für Ihr Zertifikat?',
Create_account: 'Ein Konto erstellen', Create_account: 'Ein Konto erstellen',
Create_Channel: 'Kanal erstellen', Create_Channel: 'Kanal erstellen',
Create_Direct_Messages: 'Direkt-Nachricht erstellen',
Create_Discussion: 'Diskussion erstellen',
Created_snippet: 'Erstellt ein Snippet', Created_snippet: 'Erstellt ein Snippet',
Create_a_new_workspace: 'Erstellen Sie einen neuen Arbeitsbereich', Create_a_new_workspace: 'Erstellen Sie einen neuen Arbeitsbereich',
Create: 'Erstellen', Create: 'Erstellen',
Custom_Status: 'eigener Status',
Dark: 'Dunkel', Dark: 'Dunkel',
Dark_level: 'Dunkelstufe', Dark_level: 'Dunkelstufe',
Default: 'Standard', Default: 'Standard',
Default_browser: 'Standard-Browser', Default_browser: 'Standard-Browser',
Delete_Room_Warning: 'Durch das Löschen eines Raums werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.', Delete_Room_Warning: 'Durch das Löschen eines Raums werden alle Nachrichten gelöscht, die im Raum gepostet wurden. Das kann nicht rückgängig gemacht werden.',
Department: 'Abteilung',
delete: 'löschen', delete: 'löschen',
Delete: 'Löschen', Delete: 'Löschen',
DELETE: 'LÖSCHEN', DELETE: 'LÖSCHEN',
@ -173,17 +185,23 @@ export default {
Direct_Messages: 'Direkte Nachrichten', Direct_Messages: 'Direkte Nachrichten',
Disable_notifications: 'Benachrichtigungen deaktiveren', Disable_notifications: 'Benachrichtigungen deaktiveren',
Discussions: 'Diskussionen', Discussions: 'Diskussionen',
Dont_Have_An_Account: 'Sie haben noch kein Konto?', Discussion_Desc: 'Hilft dir die Übersicht zu behalten! Durch das Erstellen einer Diskussion wird ein Unter-Kanal im ausgewählten Raum erzeugt und beide verknüpft.',
Discussion_name: 'Diskussions-Name',
Done: 'Erledigt',
Dont_Have_An_Account: 'Du hast noch kein Konto?',
Do_you_have_an_account: 'Du hast schon ein Konto?',
Do_you_have_a_certificate: 'Haben Sie ein Zertifikat?', Do_you_have_a_certificate: 'Haben Sie ein Zertifikat?',
Do_you_really_want_to_key_this_room_question_mark: 'Möchten Sie diesen Raum wirklich {{key}}?', Do_you_really_want_to_key_this_room_question_mark: 'Möchten Sie diesen Raum wirklich {{key}}?',
edit: 'bearbeiten', edit: 'bearbeiten',
edited: 'bearbeitet', edited: 'bearbeitet',
Edit: 'Bearbeiten', Edit: 'Bearbeiten',
Edit_Status: 'Status ändern',
Edit_Invite: 'Einladung bearbeiten', Edit_Invite: 'Einladung bearbeiten',
Email_or_password_field_is_empty: 'Das E-Mail- oder Passwortfeld ist leer', Email_or_password_field_is_empty: 'Das E-Mail- oder Passwortfeld ist leer',
Email: 'Email', Email: 'Email',
EMAIL: 'EMAIL', EMAIL: 'EMAIL',
email: 'Email', email: 'Email',
Empty_title: 'leerer Titel',
Enable_Auto_Translate: 'Automatische Übersetzung aktivieren', Enable_Auto_Translate: 'Automatische Übersetzung aktivieren',
Enable_notifications: 'Benachrichtigungen aktivieren', Enable_notifications: 'Benachrichtigungen aktivieren',
Everyone_can_access_this_channel: 'Jeder kann auf diesen Kanal zugreifen', Everyone_can_access_this_channel: 'Jeder kann auf diesen Kanal zugreifen',
@ -200,6 +218,10 @@ export default {
Forgot_password_If_this_email_is_registered: 'Wenn diese E-Mail registriert ist, senden wir Anweisungen zum Zurücksetzen Ihres Passworts. Wenn Sie in Kürze keine E-Mail erhalten, kommen Sie bitte zurück und versuchen Sie es erneut.', Forgot_password_If_this_email_is_registered: 'Wenn diese E-Mail registriert ist, senden wir Anweisungen zum Zurücksetzen Ihres Passworts. Wenn Sie in Kürze keine E-Mail erhalten, kommen Sie bitte zurück und versuchen Sie es erneut.',
Forgot_password: 'Passwort vergessen', Forgot_password: 'Passwort vergessen',
Forgot_Password: 'Passwort vergessen', Forgot_Password: 'Passwort vergessen',
Forward: 'Weiterleiten',
Forward_Chat: 'Chat weiterleiten',
Forward_to_department: 'Weiterleiten an Abteilung',
Forward_to_user: 'Weiterleiten an Benutzer',
Full_table: 'Klicken um die ganze Tabelle anzuzeigen', Full_table: 'Klicken um die ganze Tabelle anzuzeigen',
Generate_New_Link: 'Neuen Link erstellen', Generate_New_Link: 'Neuen Link erstellen',
Group_by_favorites: 'Nach Favoriten gruppieren', Group_by_favorites: 'Nach Favoriten gruppieren',
@ -210,19 +232,20 @@ export default {
Has_left_the_channel: 'Hat den Kanal verlassen', Has_left_the_channel: 'Hat den Kanal verlassen',
Hide_System_Messages: 'Systemnachrichten verstecken', Hide_System_Messages: 'Systemnachrichten verstecken',
Hide_type_messages: 'Verstecke "{{type}}"-Nachrichten', Hide_type_messages: 'Verstecke "{{type}}"-Nachrichten',
Message_HideType_uj: 'Nutzer beigetreten', Message_HideType_uj: 'Benutzer beigetreten',
Message_HideType_ul: 'Nutzer verlassen', Message_HideType_ul: 'Benutzer verlassen',
Message_HideType_ru: 'Nutzer entfernt', Message_HideType_ru: 'Benutzer entfernt',
Message_HideType_au: 'Nutzer hinzugefügt', Message_HideType_au: 'Benutzer hinzugefügt',
Message_HideType_mute_unmute: 'Nutzer stummgeschaltet / freigegeben', Message_HideType_mute_unmute: 'Benutzer stummgeschaltet / freigegeben',
Message_HideType_r: 'Raumname geändert', Message_HideType_r: 'Raumname geändert',
Message_HideType_ut: 'Nutzer ist der Unterhaltung beigetreten', Message_HideType_ut: 'Benutzer ist der Unterhaltung beigetreten',
Message_HideType_wm: 'Willkommen', Message_HideType_wm: 'Willkommen',
Message_HideType_rm: 'Nachricht entfernt', Message_HideType_rm: 'Nachricht entfernt',
Message_HideType_subscription_role_added: 'Rolle wurde gesetzt', Message_HideType_subscription_role_added: 'Rolle wurde gesetzt',
Message_HideType_subscription_role_removed: 'Rolle nicht länger definiert', Message_HideType_subscription_role_removed: 'Rolle nicht länger definiert',
Message_HideType_room_archived: 'Raum archiviert', Message_HideType_room_archived: 'Raum archiviert',
Message_HideType_room_unarchived: 'Raum nicht mehr archiviert', Message_HideType_room_unarchived: 'Raum nicht mehr archiviert',
IP: 'IP',
In_app: 'In-App-Browser', In_app: 'In-App-Browser',
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.',
@ -230,12 +253,14 @@ export default {
Invite: 'Einladen', Invite: 'Einladen',
is_a_valid_RocketChat_instance: 'ist eine gültige Rocket.Chat-Instanz', 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_not_a_valid_RocketChat_instance: 'ist keine gültige Rocket.Chat-Instanz',
is_typing: 'tippt', 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, zu dem Sie eine Verbindung herstellen 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, zu dem Sie eine Verbindung herstellen möchten, verwendet eine Version, die von der App nicht mehr unterstützt wird: {{currentVersion}}.\n\nWir benötigen Version {{MinVersion}}.',
Invite_Link: 'Einladungs-Link', Invite_Link: 'Einladungs-Link',
Invite_users: 'Benutzer einladen', Invite_users: 'Benutzer einladen',
Join: 'Beitreten', Join: 'Beitreten',
Join_our_open_workspace: 'Tritt unserem offenen Arbeitsbereich bei',
Join_your_workspace: 'Tritt deinem Arbeitsbereich bei',
Just_invited_people_can_access_this_channel: 'Nur eingeladene Personen können auf diesen Kanal zugreifen', Just_invited_people_can_access_this_channel: 'Nur eingeladene Personen können auf diesen Kanal zugreifen',
Language: 'Sprache', Language: 'Sprache',
last_message: 'letzte Nachricht', last_message: 'letzte Nachricht',
@ -246,12 +271,14 @@ export default {
Light: 'Hell', Light: 'Hell',
License: 'Lizenz', License: 'Lizenz',
Livechat: 'Live-Chat', Livechat: 'Live-Chat',
Livechat_edit: 'Livechat bearbeiten',
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: 'Einloggen mit', Login_with: 'Einloggen 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}}',
members: 'Mitglieder', members: 'Mitglieder',
Members: 'Mitglieder', Members: 'Mitglieder',
Mentioned_Messages: 'Erwähnte Nachrichten', Mentioned_Messages: 'Erwähnte Nachrichten',
@ -277,6 +304,7 @@ export default {
N_users: '{{n}} Benutzer', N_users: '{{n}} Benutzer',
name: 'Name', name: 'Name',
Name: 'Name', Name: 'Name',
Navigation_history: 'Navigations-Verlauf',
Never: 'Niemals', Never: 'Niemals',
New_Message: 'Neue Nachricht', New_Message: 'Neue Nachricht',
New_Password: 'Neues Kennwort', New_Password: 'Neues Kennwort',
@ -303,20 +331,34 @@ export default {
Notifications: 'Benachrichtigungen', Notifications: 'Benachrichtigungen',
Notification_Duration: 'Benachrichtigungsdauer', Notification_Duration: 'Benachrichtigungsdauer',
Notification_Preferences: 'Benachrichtigungseinstellungen', Notification_Preferences: 'Benachrichtigungseinstellungen',
No_available_agents_to_transfer: 'Keine Agenten für den Transfer verfügbar',
Offline: 'Offline', Offline: 'Offline',
Oops: 'Hoppla!', Oops: 'Hoppla!',
Onboarding_description: 'Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitte den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstelle einen Arbeitsbereich für dein Team.',
Onboarding_join_workspace: 'Tritt einem Arbeitsbereich bei',
Onboarding_subtitle: 'Mehr als Team-Zusammenarbeit',
Onboarding_title: 'Willkommen bei Rocket.Chat', Onboarding_title: 'Willkommen bei Rocket.Chat',
Onboarding_join_open_description: 'Tritt unserem Arbeitsbereich bei um mit dem Rocket.Chat-Team oder der Gemeinschaft zu chatten.',
Onboarding_agree_terms: 'Durch fortfahren stimmst du Rocket.Chats Bedingungen zu',
Onboarding_less_options: 'Weniger Optionen',
Onboarding_more_options: 'Mehr Optionen',
Online: 'Online', 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: 'Öffne die Emoji-Auswahl', Open_emoji_selector: 'Öffne die Emoji-Auswahl',
Open_Source_Communication: 'Open-Source-Kommunikation', Open_Source_Communication: 'Open-Source-Kommunikation',
Open_your_authentication_app_and_enter_the_code: 'Öffne deine Authentifizierungsanwendung und gib den Code ein.',
OR: 'ODER',
OS: 'OS',
Overwrites_the_server_configuration_and_use_room_config: 'Übergeht die Servereinstellungen und nutzt Einstellung für den Raum', Overwrites_the_server_configuration_and_use_room_config: 'Übergeht die Servereinstellungen und nutzt Einstellung für den Raum',
Password: 'Passwort', Password: 'Passwort',
Parent_channel_or_group: 'Übergeordneter Kanal oder Gruppe',
Permalink_copied_to_clipboard: 'Permalink in die Zwischenablage kopiert!', Permalink_copied_to_clipboard: 'Permalink in die Zwischenablage kopiert!',
Phone: 'Telefon',
Pin: 'Anheften', Pin: 'Anheften',
Pinned_Messages: 'Angeheftete Nachrichten', Pinned_Messages: 'Angeheftete Nachrichten',
pinned: 'angeheftet', pinned: 'angeheftet',
Pinned: 'Angeheftet', Pinned: 'Angeheftet',
Please_add_a_comment: 'Bitte Kommentar hinzufügen',
Please_enter_your_password: 'Bitte geben Sie Ihr Passwort ein', Please_enter_your_password: 'Bitte geben Sie Ihr Passwort ein',
Please_wait: 'Bitte warten.', Please_wait: 'Bitte warten.',
Preferences: 'Einstellungen', Preferences: 'Einstellungen',
@ -355,6 +397,7 @@ export default {
Reset_password: 'Passwort zurücksetzen', Reset_password: 'Passwort zurücksetzen',
resetting_password: 'Passwort zurücksetzen', resetting_password: 'Passwort zurücksetzen',
RESET: 'ZURÜCKSETZEN', RESET: 'ZURÜCKSETZEN',
Return: 'Zurück',
Review_app_title: 'Gefällt dir diese App?', Review_app_title: 'Gefällt dir diese App?',
Review_app_desc: 'Gib uns 5 Sterne im {{store}}', Review_app_desc: 'Gib uns 5 Sterne im {{store}}',
Review_app_yes: 'Sicher!', Review_app_yes: 'Sicher!',
@ -375,7 +418,8 @@ export default {
Room_name_changed: 'Raumname geändert in {{name}} von {{userBy}}', Room_name_changed: 'Raumname geändert in {{name}} von {{userBy}}',
SAVE: 'SPEICHERN', SAVE: 'SPEICHERN',
Save_Changes: 'Änderungen speichern', Save_Changes: 'Änderungen speichern',
Save: 'sparen', Save: 'speichern',
Saved: 'gespeichert',
saving_preferences: 'Präferenzen speichern', saving_preferences: 'Präferenzen speichern',
saving_profile: 'Profil speichern', saving_profile: 'Profil speichern',
saving_settings: 'Einstellungen speichern', saving_settings: 'Einstellungen speichern',
@ -388,17 +432,25 @@ export default {
Seconds: '{{second}} Sekunden', Seconds: '{{second}} Sekunden',
Select_Avatar: 'Wählen Sie einen Avatar aus', Select_Avatar: 'Wählen Sie einen Avatar aus',
Select_Server: 'Server auswählen', Select_Server: 'Server auswählen',
Select_Users: 'Wählen Sie einen Benutzer aus', Select_Users: 'Benutzer auswählen',
Select_a_Channel: 'Kanal auswählen',
Select_a_Department: 'Abteilung auswählen',
Select_an_option: 'Option auswählen',
Select_a_User: 'Benutzer auswählen',
Send: 'Senden', Send: 'Senden',
Send_audio_message: 'Audio-Nachricht senden', Send_audio_message: 'Audio-Nachricht senden',
Send_crash_report: 'Absturzbericht senden', Send_crash_report: 'Absturzbericht senden',
Send_message: 'Nachricht senden', Send_message: 'Nachricht senden',
Send_me_the_code_again: 'Den Code neu versenden',
Send_to: 'Senden an …', Send_to: 'Senden an …',
Sent_an_attachment: 'Sende einen Anhang', Sent_an_attachment: 'Sende einen Anhang',
Server: 'Server', Server: 'Server',
Servers: '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!',
Settings: 'Einstellungen', Settings: 'Einstellungen',
Settings_succesfully_changed: 'Einstellungen erfolgreich geändert!', Settings_succesfully_changed: 'Einstellungen erfolgreich geändert!',
Share: 'Teilen', Share: 'Teilen',
@ -407,7 +459,7 @@ export default {
Show_more: 'Mehr anzeigen …', Show_more: 'Mehr anzeigen …',
Show_Unread_Counter: 'Zähler anzeigen', Show_Unread_Counter: 'Zähler anzeigen',
Show_Unread_Counter_Info: 'Anzahl der ungelesenen Nachrichten anzeigen', Show_Unread_Counter_Info: 'Anzahl der ungelesenen Nachrichten anzeigen',
Sign_in_your_server: 'Melden Sie sich bei Ihrem Server an', Sign_in_your_server: 'Melde dich bei deinem Server an',
Sign_Up: 'Anmelden', Sign_Up: 'Anmelden',
Some_field_is_invalid_or_empty: 'Ein Feld ist ungültig oder leer', Some_field_is_invalid_or_empty: 'Ein Feld ist ungültig oder leer',
Sorting_by: 'Sortierung nach {{key}}', Sorting_by: 'Sortierung nach {{key}}',
@ -422,6 +474,7 @@ export default {
Started_call: 'Anruf gestartet von {{userBy}}', Started_call: 'Anruf gestartet von {{userBy}}',
Submit: 'einreichen', Submit: 'einreichen',
Table: 'Tabelle', Table: 'Tabelle',
Tags: 'Tags',
Take_a_photo: 'Foto aufnehmen', Take_a_photo: 'Foto aufnehmen',
Take_a_video: 'Video aufnehmen', Take_a_video: 'Video aufnehmen',
tap_to_change_status: 'Tippen um den Status zu ändern', tap_to_change_status: 'Tippen um den Status zu ändern',
@ -441,10 +494,10 @@ export default {
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', Type_the_channel_name_here: 'Gib hier den Kanalnamen ein',
unarchive: 'wiederherstellen', unarchive: 'wiederherstellen',
UNARCHIVE: 'WIEDERHERSTELLEN', UNARCHIVE: 'WIEDERHERSTELLEN',
Unblock_user: 'Nutzer entsperren', Unblock_user: 'Benutzer entsperren',
Unfavorite: 'Nicht mehr favorisieren', Unfavorite: 'Nicht mehr favorisieren',
Unfollowed_thread: 'Thread nicht mehr folgen', Unfollowed_thread: 'Thread nicht mehr folgen',
Unmute: 'Stummschaltung aufheben', Unmute: 'Stummschaltung aufheben',
@ -457,9 +510,10 @@ export default {
Updating: 'Aktualisierung …', Updating: 'Aktualisierung …',
Uploading: 'Hochladen', Uploading: 'Hochladen',
Upload_file_question_mark: 'Datei hochladen?', Upload_file_question_mark: 'Datei hochladen?',
User: 'Benutzer',
Users: 'Benutzer', Users: 'Benutzer',
User_added_by: 'Benutzer {{userAdded}} hinzugefügt von {{userBy}}', User_added_by: 'Benutzer {{userAdded}} hinzugefügt von {{userBy}}',
User_Info: 'Nutzerinfo', 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_is_no_longer_role_by_: '{{user}} ist nicht länger {{role}} von {{userBy}}',
User_muted_by: 'Benutzer {{userMuted}} von {{userBy}} stummgeschaltet', User_muted_by: 'Benutzer {{userMuted}} von {{userBy}} stummgeschaltet',
@ -471,18 +525,26 @@ export default {
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',
Usually_a_discussion_starts_with_a_question_like_How_do_I_upload_a_picture: 'Üblicherweise beginnt eine Diskussion mit einer Frage, beispielsweise: "Wie lade ich ein Bild hoch?"',
Validating: 'Validierung', Validating: 'Validierung',
Registration_Succeeded: 'Registrierung erfolgreich!',
Verify: 'Überprüfen',
Verify_email_title: 'Registrierung erfolgreich!', Verify_email_title: 'Registrierung erfolgreich!',
Verify_email_desc: 'Wir haben dir eine Email geschickt um deine Anmeldung zu bestätigen. Wenn du keine Email erhältst, komme bitte wieder und versuche es noch einmal.', Verify_email_desc: 'Wir haben dir eine Email geschickt um deine Anmeldung zu bestätigen. Wenn du keine Email erhältst, komme bitte wieder und versuche es noch einmal.',
Verify_your_email_for_the_code_we_sent: 'Prüfe deine Mails für den Code, den wir dir eben geschickt haben.',
Video_call: 'Videoanruf', Video_call: 'Videoanruf',
View_Original: 'Original anzeigen', View_Original: 'Original anzeigen',
Voice_call: 'Sprachanruf', Voice_call: 'Sprachanruf',
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', Welcome: 'Herzlich willkommen',
What_are_you_doing_right_now: 'Was machst du gerade?',
Whats_your_2fa: 'Wie lautet Ihr 2FA-Code?', Whats_your_2fa: 'Wie lautet Ihr 2FA-Code?',
Without_Servers: 'Ohne Server', Without_Servers: 'Ohne Server',
Workspaces: 'Arbeitsbereiche',
Would_you_like_to_return_the_inquiry: 'Willst du zur Anfrage zurück?',
Write_External_Permission_Message: 'Rocket.Chat benötigt Zugriff auf Ihre Galerie um Bilder speichern zu können.', Write_External_Permission_Message: 'Rocket.Chat benötigt Zugriff auf Ihre Galerie um Bilder speichern zu können.',
Write_External_Permission: 'Galerie-Zugriff', Write_External_Permission: 'Galerie-Zugriff',
Yes: 'Ja',
Yes_action_it: 'Ja, {{action}}!', Yes_action_it: 'Ja, {{action}}!',
Yesterday: 'Gestern', Yesterday: 'Gestern',
You_are_in_preview_mode: 'Sie befinden sich im Vorschaumodus', You_are_in_preview_mode: 'Sie befinden sich im Vorschaumodus',
@ -495,11 +557,13 @@ export default {
You: 'Sie', You: 'Sie',
Logged_out_by_server: 'Du bist vom Server abgemeldet worden. Bitte melde dich wieder an.', Logged_out_by_server: 'Du bist vom Server abgemeldet worden. Bitte melde dich wieder an.',
You_need_to_access_at_least_one_RocketChat_server_to_share_something: 'Sie benötigen Zugang zu mindestens einem Rocket.Chat-Server um etwas zu teilen.', You_need_to_access_at_least_one_RocketChat_server_to_share_something: 'Sie benötigen Zugang zu mindestens einem Rocket.Chat-Server um etwas zu teilen.',
Your_certificate: 'Ihr Zertifikat', Your_certificate: 'Dein Zertifikat',
Your_message: 'Deine Nachricht',
Your_invite_link_will_expire_after__usesLeft__uses: 'Dein Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.', Your_invite_link_will_expire_after__usesLeft__uses: 'Dein Einladungs-Link wird nach {{usesLeft}} Benutzungen ablaufen.',
Your_invite_link_will_expire_on__date__or_after__usesLeft__uses: 'Dein Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.', Your_invite_link_will_expire_on__date__or_after__usesLeft__uses: 'Dein Einladungs-Link wird am {{date}} oder nach {{usesLeft}} Benutzungen ablaufen.',
Your_invite_link_will_expire_on__date__: 'Dein Einladungs-Link wird am {{date}} ablaufen.', Your_invite_link_will_expire_on__date__: 'Dein Einladungs-Link wird am {{date}} ablaufen.',
Your_invite_link_will_never_expire: 'Dein Einladungs-Link wird niemals ablaufen.', Your_invite_link_will_never_expire: 'Dein Einladungs-Link wird niemals ablaufen.',
Your_workspace: 'Dein Arbeitsbereich',
Version_no: 'Version: {{version}}', Version_no: 'Version: {{version}}',
You_will_not_be_able_to_recover_this_message: 'Sie können diese Nachricht nicht wiederherstellen!', You_will_not_be_able_to_recover_this_message: 'Sie können diese Nachricht nicht wiederherstellen!',
Change_Language: 'Sprache ändern', Change_Language: 'Sprache ändern',
@ -521,5 +585,30 @@ export default {
You_will_be_logged_out_of_this_application: 'Du wirst in dieser Anwendung vom Server abgemeldet.', You_will_be_logged_out_of_this_application: 'Du wirst in dieser Anwendung vom Server abgemeldet.',
Clear: 'Löschen', Clear: 'Löschen',
This_will_clear_all_your_offline_data: 'Dies wird deine Offline-Daten löschen.', This_will_clear_all_your_offline_data: 'Dies wird deine Offline-Daten löschen.',
Mark_unread: 'Als ungelesen markieren' This_will_remove_all_data_from_this_server: 'Dies wird alle Daten von diesem Server löschen.',
Mark_unread: 'Als ungelesen markieren',
Wait_activation_warning: 'Bevor du dich anmelden kannst, muss dein Konto durch einen Administrator freigeschaltet werden.',
Screen_lock: 'Zugriffs-Sperre',
Local_authentication_biometry_title: 'Authentifizieren',
Local_authentication_biometry_fallback: 'Sicherheitscode benutzen',
Local_authentication_unlock_option: 'Entsperren mit Sicherheitscode',
Local_authentication_change_passcode: 'Ändere Sicherheitscode',
Local_authentication_info: 'Anmerkung: Wenn du den Sicherheitscode vergisst, musst du diese App löschen und neu installieren.',
Local_authentication_facial_recognition: 'Gesichtserkennung',
Local_authentication_fingerprint: 'Fingerabdruck',
Local_authentication_unlock_with_label: 'Entsperren mit {{label}}',
Local_authentication_auto_lock_60: 'Nach 1 Minute',
Local_authentication_auto_lock_300: 'Nach 5 Minuten',
Local_authentication_auto_lock_900: 'Nach 15 Minuten',
Local_authentication_auto_lock_1800: 'Nach 30 Minuten',
Local_authentication_auto_lock_3600: 'Nach 1 Stunde',
Passcode_enter_title: 'Gib deinen Sicherheitscode ein',
Passcode_choose_title: 'Setze deinen neuen Sicherheitscode',
Passcode_choose_confirm_title: 'Bestätige deinen neuen Sicherheitscode',
Passcode_choose_error: 'Sicherheitscodes stimmen nicht überein. Probiere es noch einmal.',
Passcode_choose_force_set: 'Sicherheitscode wird vom Admin verlangt',
Passcode_app_locked_title: 'App gesperrt',
Passcode_app_locked_subtitle: 'Versuche es in {{timeLeft}} Sekunden noch einmal.',
After_seconds_set_by_admin: 'Nach {{seconds}} Sekunden (durch den Admin gesetzt)',
Dont_activate: 'Jetzt nicht aktivieren'
}; };

View File

@ -10,7 +10,7 @@ import log from '../../utils/log';
import database from '../database'; import database from '../database';
import protectedFunction from './helpers/protectedFunction'; import protectedFunction from './helpers/protectedFunction';
import fetch from '../../utils/fetch'; import fetch from '../../utils/fetch';
import { DEFAULT_AUTO_LOCK, DEFAULT_AUTO_LOCK_OPTIONS } from '../../constants/localAuthentication'; import { DEFAULT_AUTO_LOCK } from '../../constants/localAuthentication';
const serverInfoKeys = ['Site_Name', 'UI_Use_Real_Name', 'FileUpload_MediaTypeWhiteList', 'FileUpload_MaxFileSize', 'Force_Screen_Lock', 'Force_Screen_Lock_After']; const serverInfoKeys = ['Site_Name', 'UI_Use_Real_Name', 'FileUpload_MediaTypeWhiteList', 'FileUpload_MaxFileSize', 'Force_Screen_Lock', 'Force_Screen_Lock_After'];
@ -55,19 +55,6 @@ const serverInfoUpdate = async(serverInfo, iconSetting) => {
return { ...allSettings, autoLock }; return { ...allSettings, autoLock };
} }
if (setting._id === 'Force_Screen_Lock_After') { if (setting._id === 'Force_Screen_Lock_After') {
// Force_Screen_Lock from server
const forceScreenLock = serverInfo.find(item => item._id === 'Force_Screen_Lock')?.valueAsBoolean;
// if Force_Screen_Lock is disabled on server and Screen Lock is enabled on app
if (!forceScreenLock && server.autoLock) {
// if the current autoLockTime is one of our default options, we'll keep this value
if (DEFAULT_AUTO_LOCK_OPTIONS.find(option => option.value === server.autoLockTime)) {
return { ...allSettings, autoLockTime: server.autoLockTime };
}
// if the current autoLockTime is a value that isn't in our default options, we'll reset
return { ...allSettings, autoLockTime: DEFAULT_AUTO_LOCK };
}
// if Force_Screen_Lock_After === 0 and autoLockTime is null, set app's default value // if Force_Screen_Lock_After === 0 and autoLockTime is null, set app's default value
if (setting.valueAsNumber === 0 && !server.autoLockTime) { if (setting.valueAsNumber === 0 && !server.autoLockTime) {
return { ...allSettings, autoLockTime: DEFAULT_AUTO_LOCK }; return { ...allSettings, autoLockTime: DEFAULT_AUTO_LOCK };

View File

@ -225,13 +225,12 @@ const RocketChat = {
.catch((err) => { .catch((err) => {
console.log('connect error', err); console.log('connect error', err);
const { server: currentServer } = reduxStore.getState().server;
if (server === currentServer) {
// when `connect` raises an error, we try again in 10 seconds // when `connect` raises an error, we try again in 10 seconds
this.connectTimeout = setTimeout(() => { this.connectTimeout = setTimeout(() => {
if (this.sdk?.client?.host === server) {
sdkConnect(); sdkConnect();
}, 10000);
} }
}, 10000);
}); });
sdkConnect(); sdkConnect();

View File

@ -17,7 +17,7 @@ import { CustomIcon } from '../lib/Icons';
import database from '../lib/database'; import database from '../lib/database';
import { supportedBiometryLabel, changePasscode, checkHasPasscode } from '../utils/localAuthentication'; import { supportedBiometryLabel, changePasscode, checkHasPasscode } from '../utils/localAuthentication';
import { DisclosureImage } from '../containers/DisclosureIndicator'; import { DisclosureImage } from '../containers/DisclosureIndicator';
import { DEFAULT_AUTO_LOCK_OPTIONS, DEFAULT_AUTO_LOCK } from '../constants/localAuthentication'; import { DEFAULT_AUTO_LOCK } from '../constants/localAuthentication';
const styles = StyleSheet.create({ const styles = StyleSheet.create({
listPadding: { listPadding: {
@ -54,6 +54,29 @@ class ScreenLockConfigView extends React.Component {
this.init(); this.init();
} }
defaultAutoLockOptions = [
{
title: I18n.t('Local_authentication_auto_lock_60'),
value: 60
},
{
title: I18n.t('Local_authentication_auto_lock_300'),
value: 300
},
{
title: I18n.t('Local_authentication_auto_lock_900'),
value: 900
},
{
title: I18n.t('Local_authentication_auto_lock_1800'),
value: 1800
},
{
title: I18n.t('Local_authentication_auto_lock_3600'),
value: 3600
}
];
init = async() => { init = async() => {
const { server } = this.props; const { server } = this.props;
const serversDB = database.servers; const serversDB = database.servers;
@ -168,18 +191,24 @@ class ScreenLockConfigView extends React.Component {
} }
renderAutoLockItems = () => { renderAutoLockItems = () => {
const { autoLock } = this.state; const { autoLock, autoLockTime } = this.state;
const { theme, Force_Screen_Lock_After, Force_Screen_Lock } = this.props; const { theme, Force_Screen_Lock_After, Force_Screen_Lock } = this.props;
if (!autoLock) { if (!autoLock) {
return null; return null;
} }
let items = DEFAULT_AUTO_LOCK_OPTIONS; let items = this.defaultAutoLockOptions;
if (Force_Screen_Lock && Force_Screen_Lock_After > 0) { if (Force_Screen_Lock && Force_Screen_Lock_After > 0) {
items = [{ items = [{
title: I18n.t('After_seconds_set_by_admin', { seconds: Force_Screen_Lock_After }), title: I18n.t('After_seconds_set_by_admin', { seconds: Force_Screen_Lock_After }),
value: Force_Screen_Lock_After, value: Force_Screen_Lock_After,
disabled: true disabled: true
}]; }];
// if Force_Screen_Lock is disabled and autoLockTime is a value that isn't on our defaultOptions we'll show it
} else if (Force_Screen_Lock_After === autoLockTime && !items.find(item => item.value === autoLockTime)) {
items.push({
title: I18n.t('After_seconds_set_by_admin', { seconds: Force_Screen_Lock_After }),
value: Force_Screen_Lock_After
});
} }
return ( return (
<> <>