Browse Source

Added Deutsch langpack

Added new language select footer
master
Igor Zhukov 10 years ago
parent
commit
a9f080be75
  1. 23
      app/css/desktop.css
  2. 24
      app/js/controllers.js
  3. 19
      app/js/directives.js
  4. 3
      app/js/lib/config.js
  5. 555
      app/js/locales/de-de.json
  6. 5
      app/partials/desktop/confirm_modal.html
  7. 14
      app/partials/desktop/head.html
  8. 4
      app/partials/desktop/im.html
  9. 6
      app/partials/desktop/lang_footer.html
  10. 2
      app/partials/desktop/login.html
  11. 65
      app/partials/mobile/confirm_modal.html
  12. 1
      app/partials/mobile/confirm_modal.html
  13. 87
      app/partials/mobile/error_modal.html
  14. 1
      app/partials/mobile/error_modal.html

23
app/css/desktop.css

@ -101,22 +101,37 @@
} }
.im_page_footer { .footer_wrap {
font-size: 11px; font-size: 11px;
text-align: center; text-align: center;
color: #9cacb9; color: #9cacb9;
line-height: 40px; line-height: 40px;
} }
.im_page_footer_brand { .footer_brand {
color: #9cacb9; color: #9cacb9;
font-weight: bold; font-weight: bold;
} }
.im_page_footer_brand:hover, a.footer_lang_link {
.im_page_footer_brand:active { color: #9cacb9;
}
a.footer_lang_link.active {
font-weight: bold;
}
.footer_brand:hover,
.footer_brand:active,
a.footer_lang_link.active:hover,
a.footer_lang_link.active:active {
color: #8499aa; color: #8499aa;
text-decoration: none; text-decoration: none;
} }
.footer_link_divider {
padding: 0 5px;
}
/*.footer_link_divider:last-child {
display: none;
}*/
.im_dialogs_col { .im_dialogs_col {
margin-right: -7px; margin-right: -7px;
} }

24
app/js/controllers.js

@ -1455,6 +1455,20 @@ angular.module('myApp.controllers', ['myApp.i18n'])
} }
}) })
.controller('AppLangFooterController', function ($scope, _, Storage, ErrorService) {
$scope.supportedLangs = _.supported();
$scope.curLocale = _.locale();
$scope.localeSelect = function localeSelect (newLocale) {
Storage.set({i18n_locale: newLocale});
if ($scope.curLocale !== newLocale) {
ErrorService.confirm({type: 'APPLY_LANG_WITH_RELOAD'}).then(function () {
location.reload();
});
}
};
})
.controller('PhotoModalController', function ($q, $scope, $rootScope, $modalInstance, AppPhotosManager, AppMessagesManager, AppPeersManager, PeersSelectService, ErrorService) { .controller('PhotoModalController', function ($q, $scope, $rootScope, $modalInstance, AppPhotosManager, AppMessagesManager, AppPeersManager, PeersSelectService, ErrorService) {
$scope.photo = AppPhotosManager.wrapForFull($scope.photoID); $scope.photo = AppPhotosManager.wrapForFull($scope.photoID);
@ -2108,10 +2122,9 @@ angular.module('myApp.controllers', ['myApp.i18n'])
}); });
}; };
Storage.get('notify_nodesktop', 'notify_nosound', 'send_ctrlenter', 'notify_volume', 'notify_novibrate', 'i18n_locale').then(function (settings) { Storage.get('notify_nodesktop', 'notify_nosound', 'send_ctrlenter', 'notify_volume', 'notify_novibrate').then(function (settings) {
$scope.notify.desktop = !settings[0]; $scope.notify.desktop = !settings[0];
$scope.send.enter = settings[2] ? '' : '1'; $scope.send.enter = settings[2] ? '' : '1';
$scope.i18n.locale = settings[5];
if (settings[1]) { if (settings[1]) {
$scope.notify.volume = 0; $scope.notify.volume = 0;
@ -2183,13 +2196,6 @@ angular.module('myApp.controllers', ['myApp.i18n'])
} }
$rootScope.$broadcast('settings_changed'); $rootScope.$broadcast('settings_changed');
} }
$scope.$watch('i18n.locale', function (newValue, oldValue) {
Storage.set({i18n_locale: newValue});
ErrorService.confirm({type: 'APPLY_LANG_WITH_RELOAD'}).then(function () {
location.reload();
});
});
}); });
$scope.openChangelog = function () { $scope.openChangelog = function () {

19
app/js/directives.js

@ -19,6 +19,13 @@ angular.module('myApp.directives', ['myApp.filters'])
}; };
}) })
.directive('myLangFooter', function() {
return {
restrict: 'AE',
templateUrl: templateUrl('lang_footer')
};
})
.directive('myDialog', function() { .directive('myDialog', function() {
return { return {
restrict: 'AE', restrict: 'AE',
@ -373,7 +380,7 @@ angular.module('myApp.directives', ['myApp.filters'])
? '.mobile_modal_body .im_dialogs_panel' ? '.mobile_modal_body .im_dialogs_panel'
: '.im_dialogs_panel', : '.im_dialogs_panel',
panelWrap = $(panelWrapSelector)[0], panelWrap = $(panelWrapSelector)[0],
footer = $('.im_page_footer')[0], footer = $('.footer_wrap')[0],
hasTabs = false, hasTabs = false,
moreNotified = false; moreNotified = false;
@ -449,7 +456,7 @@ angular.module('myApp.directives', ['myApp.filters'])
headWrap = $('.tg_page_head')[0]; headWrap = $('.tg_page_head')[0];
} }
if (!footer || !footer.offsetHeight) { if (!footer || !footer.offsetHeight) {
footer = $('.im_page_footer')[0]; footer = $('.footer_wrap')[0];
} }
if (!dialogsColWrap || !dialogsColWrap.offsetHeight) { if (!dialogsColWrap || !dialogsColWrap.offsetHeight) {
@ -457,7 +464,7 @@ angular.module('myApp.directives', ['myApp.filters'])
} }
$(element).css({ $(element).css({
height: $($window).height() - height: $($window).height() -
footer.offsetHeight - (footer ? footer.offsetHeight : 0) -
(headWrap ? headWrap.offsetHeight : 44) - (headWrap ? headWrap.offsetHeight : 44) -
(panelWrap ? panelWrap.offsetHeight : 58) - (panelWrap ? panelWrap.offsetHeight : 58) -
parseInt($(dialogsColWrap).css('paddingBottom') || 0) parseInt($(dialogsColWrap).css('paddingBottom') || 0)
@ -558,7 +565,7 @@ angular.module('myApp.directives', ['myApp.filters'])
bottomPanelWrap = $('.im_bottom_panel_wrap', element)[0], bottomPanelWrap = $('.im_bottom_panel_wrap', element)[0],
sendFormWrap = $('.im_send_form_wrap', element)[0], sendFormWrap = $('.im_send_form_wrap', element)[0],
headWrap = $('.tg_page_head')[0], headWrap = $('.tg_page_head')[0],
footer = $('.im_page_footer')[0], footer = $('.footer_wrap')[0],
sendForm = $('.im_send_form', element)[0], sendForm = $('.im_send_form', element)[0],
moreNotified = false, moreNotified = false,
lessNotified = false; lessNotified = false;
@ -807,9 +814,9 @@ angular.module('myApp.directives', ['myApp.filters'])
headWrap = $('.tg_page_head')[0]; headWrap = $('.tg_page_head')[0];
} }
if (!footer || !footer.offsetHeight) { if (!footer || !footer.offsetHeight) {
footer = $('.im_page_footer')[0]; footer = $('.footer_wrap')[0];
} }
var historyH = $($window).height() - panelWrap.offsetHeight - bottomPanelWrap.offsetHeight - (headWrap ? headWrap.offsetHeight : 44) - footer.offsetHeight; var historyH = $($window).height() - panelWrap.offsetHeight - bottomPanelWrap.offsetHeight - (headWrap ? headWrap.offsetHeight : 44) - (footer ? footer.offsetHeight : 0);
$(historyWrap).css({ $(historyWrap).css({
height: historyH height: historyH
}); });

3
app/js/lib/config.js

@ -44,7 +44,8 @@ Config.Navigator = {
Config.I18n = { Config.I18n = {
locale: 'en-us', locale: 'en-us',
supported: { supported: {
'en-us': 'English' 'en-us': 'English',
'de-de': 'Deutsch'
}, },
aliases: { aliases: {
'en': 'en-us' 'en': 'en-us'

555
app/js/locales/de-de.json

@ -0,0 +1,555 @@
{
"modal_search": "Suchen",
"modal_cancel": "Abbrechen",
"modal_next": "Weiter",
"modal_ok": "OK",
"modal_done": "Fertig",
"group_modal_info": "Gruppeninfo",
"group_modal_pluralize_participants": "{'0': 'Keine Mitglieder', 'one': '1 Mitglied', 'other': '{} Mitglieder'}",
"group_modal_add_member": "Mitglied hinzufügen",
"group_modal_return": "Zurück zur Gruppe",
"group_modal_update_photo": "Bild aktualisieren",
"group_modal_update_active": "Aktualisiere",
"group_modal_menu_more": "Mehr",
"group_modal_menu_delete_photo": "Bild löschen",
"group_modal_menu_edit_group": "Gruppe bearbeiten",
"group_modal_menu_leave_group": "Gruppe verlassen",
"group_modal_menu_delete_chat": "Chat löschen",
"group_modal_settings": "Einstellungen",
"group_modal_notifications": "Benachrichtigungen",
"group_modal_members": "Mitglieder",
"group_modal_members_kick": "Kicken",
"group_modal_members_unavailable": "Liste der Gruppenmitglieder ist nicht verfügbar.",
"country_select_modal_title": "Land",
"settings_modal_title": "Einstellungen",
"settings_modal_menu_more": "Mehr",
"settings_modal_delete_photo": "Profilbild löschen",
"settings_modal_set_photo": "Profilbild setzen",
"settings_modal_photo_updating": "Aktualisiere",
"settings_modal_edit_profile": "Profil bearbeiten",
"settings_modal_terminate_sessions": "Alle Sitzungen beenden",
"settings_modal_settings": "Einstellungen",
"settings_modal_notification_alert": "Benachrichtigungen",
"settings_modal_vibrate": "Vibrieren",
"settings_modal_sounds": "Ton",
"settings_modal_language": "Spache",
"settings_modal_notifications": "Desktopbenachrichtigungen",
"settings_modal_sound": "Ton",
"settings_modal_enter_send_description_md": "**Enter** - Nachricht senden, **Shift + Enter** - Zeilenumbruch",
"settings_modal_ctrl_enter_send_description_md": "**Strg + Enter** - Nachricht senden, **Enter** - Zeilenumbruch",
"settings_modal_send_on_enter": "Senden mit Enter",
"settings_modal_phone": "Telefon",
"settings_modal_about": "Über",
"settings_modal_source_code_github": "Quellcode auf GitHub",
"settings_modal_follow_us_twitter": "Folge uns auf Twitter!",
"settings_modal_recent_updates": "neuste Updates (ver. {version})",
"profile_edit_modal_title": "Profil bearbeiten",
"profile_edit_first_name": "Vorname",
"profile_edit_last_name": "Nachname",
"profile_edit_submit": "Speichern",
"profile_edit_submit_active": "Speichere...",
"user_modal_menu_more": "Mehr",
"user_modal_send_message": "Nachricht senden",
"user_modal_edit_contact": "Kontakt bearbeiten",
"user_modal_delete_contact": "Kontakte Löschen",
"user_modal_add_contact": "Zu Kontakten hinzufügen",
"user_modal_share_contact": "Kontakt teilen",
"user_modal_delete_chat": "Chat löschen",
"user_modal_phone": "Telefon",
"user_modal_settings": "Einstellungen",
"user_modal_notifications": "Benachrichtigungen",
"user_modal_contact_info": "Kontaktdetails",
"media_modal_forward": "Weiterleiten",
"media_modal_download": "Download",
"media_modal_delete": "Löschen",
"error_browser_no_local_file_system_image_md": "Dein Browser unterstützt nicht die {moz-link: https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem | LocalFileSystem}-Funktion, welche zum Darstellen dieses Bildes benötigt wird.\nBitte installiere {chrome-link: http://google.com/chrome | Google Chrome} oder benutze stattdessen die {telegram-link: https://telegram.org/ | mobile App}.",
"error_image_download_failed": "Download fehlgeschlagen",
"error_browser_no_local_file_system_video_md": "Dein Browser unterstützt nicht die {moz-link: https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem | LocalFileSystem}-Funktion, welche zum Abspielen dieses Videos benötigt wird.\nBitte installiere {chrome-link: http://google.com/chrome | Google Chrome} oder benutze stattdessen die {telegram-link: https://telegram.org/ | mobile App}.",
"error_video_download_failed": "Videodownload fehlgeschlagen",
"user_name_deleted": "Gelöscht",
"user_first_name_deleted": "Gelöscht",
"user_status_offline": "offline",
"user_status_online": "online",
"user_status_last_seen": "zuletzt gesehen: {0}",
"chat_title_deleted": "Gelöscht",
"format_size_progress_mulitple": "{done} von {total} {parts}",
"format_size_progress": "{done} von {total}",
"relative_time_one_minute": "vor einer Minute",
"relative_time_many_minutes": "vor {minutes} minuten",
"relative_time_one_hour": "vor einer Stunde",
"relative_time_many_hours": "vor {hours} Stunden",
"relative_time_just_now": "gerade eben",
"changelog_modal_header_recent_updates_md": "neuste Updates in **Telegram Web**",
"changelog_modal_header_new_updates_md": "**Telegram Web** wurde aktualisiert!",
"changelog_modal_title_current_version": "aktuelle Version",
"group_create_contacts_modal_title": "Neue Gruppe",
"group_create_modal_title": "Gruppe erstellen",
"group_create_name": "Gruppenname",
"group_create_submit": "Gruppe erstellen",
"group_create_submit_active": "Erstelle...",
"group_edit_modal_title": "Gruppe bearbeiten",
"group_edit_name": "Gruppenname",
"group_edit_submit": "Speichern",
"group_edit_submit_active": "Speichere...",
"confirm_modal_logout": "Willst du dich wirklich abmelden?",
"confirm_modal_update_reload": "Eine neue Version von Webogram wurde heruntergeladen. Jetzt starten?",
"confirm_modal_history_flush": "Bist du sicher? Das kann nicht rückgängig gemacht werden!",
"confirm_modal_terminate_sessions": "Bist du sicher, dass du alle Geräte bis auf dieses hier abmelden willst?",
"confirm_modal_mixed_content_fail_http_redirect_md": "Dein Browser {moz-link: unterstützt nicht http und https gleichzeitig für Apps}, was jedoch für MTProto-Unterstützung über https nötig ist. {issue-link: Erfahre mehr}\n\n Willst du stattdessen die http-Version verwenden?",
"confirm_modal_clipboard_file_send": "Willst du wirklich die Datei(en) aus der Zwischenablage senden?",
"confirm_modal_clipboard_X_files_send": "{'one': 'Willst du wirklich die Datei aus der Zwischenablage senden?', 'other': 'Willst du wirklich die {} Dateien aus der Zwischenablage senden?'}",
"confirm_modal_message_delete": "Willst du diese Nachricht wirklich löschen?",
"confirm_modal_contacts_import": "Telegram wird nun deine Kontakte synchronisieren, um deine Freundesliste zusammenzustellen.",
"confirm_modal_login_phone_correct": "Ist diese Nummer korrekt?",
"confirm_modal_forward_to_peer": "An {peer} weiterleiten?",
"confirm_modal_send_to_peer": "An {peer} senden?",
"confirm_modal_share_file_peer": "Mit {peer} teilen?",
"confirm_modal_are_u_sure": "Bist du sicher?",
"confirm_modal_logout_submit": "Abmelden",
"confirm_modal_history_flush_submit": "Chat löschen",
"confirm_modal_clipboard_files_send_submit": "Senden",
"confirm_modal_clipboard_file_send_submit": "Senden",
"confirm_modal_message_delete_submit": "Löschen",
"confirm_modal_forward_message_submit": "Nachricht weiterleiten",
"confirm_modal_share_photo_submit": "Bild weiterleiten",
"confirm_modal_share_video_submit": "Video weiterleiten",
"confirm_modal_share_contact_submit": "Kontakt senden",
"confirm_modal_share_file_submit": "Kontakt senden",
"contacts_modal_edit_list": "Bearbeiten",
"contacts_modal_edit_cancel": "Abbrechen",
"contacts_modal_edit_delete": "Löschen",
"contacts_modal_pluralize_new_group_members": "{'one': '1 Teilnehmer', 'other': '{} Teilnehmer'}",
"contacts_modal_title": "Kontakte",
"contacts_modal_new_contact": "Neuer Kontakt",
"contacts_modal_empty_list": "Deine Kontaktliste ist leer. Du kannst {import-link: einen neuen Kontakt per Telefonnumer hinzufügen}.",
"contact_edit_modal_first_name": "Vorname",
"contact_edit_modal_last_name": "Nachname",
"contact_edit_modal_title": "Kontakt bearbeiten",
"contact_edit_modal_submit": "Speichern",
"contact_edit_modal_submit_active": "Speichere...",
"contact_import_modal_title": "Neuen Kontakt hinzufügen",
"contact_import_modal_phone": "Telefonnummer",
"contact_import_modal_phonebook": "Telefonbuch",
"contact_import_modal_submit": "Speichern",
"contact_import_modal_submit_active": "Importiere...",
"conversation_message_deleted": "gelöschte Nachricht",
"conversation_you": "Du",
"conversation_media_photo": "Bild",
"conversation_media_video": "Video",
"conversation_media_document": "Dokument",
"conversation_media_audio": "Audio",
"conversation_media_location": "Standort",
"conversation_media_contact": "Kontakt",
"conversation_media_attachment": "Anhang",
"conversation_group_created": "hat die Gruppe erstellt",
"conversation_group_renamed": "hat den Gruppennamen geändert",
"conversation_group_photo_updated": "hat das Gruppenbild geändert",
"conversation_group_photo_removed": "hat das Gruppenbild entfernt",
"conversation_returned_to_group": "ist zur Gruppe zurückgekehrt",
"conversation_invited_user": "hat {user} eingeladen",
"conversation_left_group": "hat die Gruppe verlassen",
"conversation_kicked_user": "hat {user} entfernt",
"conversation_invited_user_message": "hat Benutzer eingeladen",
"conversation_kicked_user_message": "hat Benutzer gekickt",
"conversation_unknown_user": "Jemand",
"conversation_unknown_chat": "Unbekannte Unterhaltung",
"message_service_created_group": "hat die Gruppe {group_name} erstellt",
"message_service_changed_group_name": "hat den Gruppennamen zu {group_name} geändert",
"message_service_changed_group_photo": "hat das Gruppenbild geändert",
"message_service_removed_group_photo": "hat das Gruppenbild entfernt",
"message_service_invited_user": "hat {user} eingeladen",
"message_service_returned_to_group": "ist zur Gruppe zurückgekehrt",
"message_service_kicked_user": "hat {user} entfernt",
"message_service_left_group": "hat die Gruppe verlassen",
"message_service_unsupported_action": "Nicht unterstützte Aktion {action}",
"error_modal_bad_request_title": "Fehler",
"error_modal_unauthorized_title": "Unautorisiert",
"error_modal_forbidden_title": "Zugang verweigert",
"error_modal_not_found_title": "Nicht gefunden",
"error_modal_network_title": "Netzwerkfehler",
"error_modal_flood_title": "Zu schnell",
"error_modal_internal_title": "Serverfehler",
"error_modal_alert": "Warnung",
"error_modal_network_description": "Bitte überprüfe deine Internetverbindung.",
"error_modal_firstname_invali_description": "Der eingegebene Vorname ist ungültig.",
"error_modal_lastname_invalid_description": "Der eingegebene Nachname ist ungültig.",
"error_modal_phone_invalid_description": "Die eingegebene Telefonnummer ist ungültig.",
"error_modal_users_too_much_description": "Du hast zu viele Benutzer ausgewählt.",
"error_modal_photo_dimensions_invalid_description": "Die Bildabmessungen sind ungültig, bitte wähle eine andere Datei aus.",
"error_modal_video_file_invalid_description": "Das Videoformat ist ungültig oder wird nicht unterstützt, bitte wähle eine andere Datei aus.",
"error_modal_photo_too_small_description": "Das Bild, das du ausgewählt hast, ist zu klein.",
"error_modal_no_phone_user_description_md": "Tut uns leid, aber es gibt keinen **Telegram** -Account mit der angegebenen Telefonnummer.",
"error_modal_no_phone_users_description_md": "Tut uns leid, aber es gibt keine **Telegram** -Accounts mit den angegebenen Telefonnummern.",
"error_modal_phonebook_required_description": "Telegram benötigt Zugriff auf das Telefonbuch, um Kontakte importieren zu können.",
"error_modal_bad_request_description": "Eine Parameter fehlt oder ist ungültig.",
"error_modal_unauthorized_description": "Diese Aktion benötigt autorisierten Zugriff. Bitte {login-link: melde dich an}.",
"error_modal_forbidden_description": "Diese Aktion ist für dich nicht erlaubt.",
"error_modal_not_found_description": "Die Seite wurde nicht gefunden.",
"error_modal_flood_description": "Du führst zu viele Anfragen durch. Bitte versuche es später wieder.",
"error_modal_internal_description": "Ein interner Serverfehler ist aufgetreten. Bitte versuche es später wieder.",
"error_modal_tech_details": "Hier gibt es die technischen Details",
"head_new_group": "Neue Gruppe",
"head_new_contact": "Neuer Kontakt",
"head_contacts": "Kontakte",
"head_contacts_title": "Kontakte",
"head_settings": "Einstellungen",
"head_log_out": "Abmelden",
"head_edit_messages": "Nachrichten bearbeiten",
"head_media_photos": "Bilder",
"head_media_video": "Videos",
"head_media_documents": "Dokumente",
"head_media_audio": "Sprachnachrichten",
"head_about": "Über",
"head_clear_all": "Alle löschen",
"head_edit": "Bearbeiten",
"head_typing": "schreibt",
"head_pluralize_participants": "{'0': 'Keine Mitglieder', 'one': '1 Mitglied', 'other': '{} Mitglieder'}",
"head_one_typing": "{name1} schreibt{dots}",
"head_two_typing": "{name1}, {name2}{dots}",
"head_many_typing": "{name1}+{names}{dots}",
"head_waiting_for_network": "Warte auf Verbindung",
"head_retry": "erneut versuchen",
"head_connecting": "Verbinde",
"im_new_group": "Neue Gruppe",
"im_new_contact": "Neuer Kontakt",
"im_contacts": "Kontakte",
"im_contacts_title": "Kontakte",
"im_settings": "Einstellungen",
"im_conversations": "Unterhaltungen",
"im_messages": "Nachrichten",
"im_no_contacts": "Noch keine Kontakte",
"im_get_started_long": "Beginne mit dem Hinzufügen von Kontakten:",
"im_add_contact": "Konktakt hinzufügen",
"im_import_phonebook": "Telefonbuch importieren",
"im_get_started": "Schnelleinstieg",
"im_welcome_text": "Willkommen bei Telegram Web. Du kannst jederzeit dein Profilbild und deinen Namen in den Einstellungen ändern.",
"im_open_settings": "Einstellungen öffnen",
"im_select_a_chat": "Bitte wähle einen Chat aus, um eine Unterhaltung zu beginnen",
"im_loading_history": "Lade Verlauf",
"im_info": "Info",
"im_edit": "Bearbeiten",
"im_media": "Medien",
"im_media_photos": "Bilder",
"im_media_video": "Videos",
"im_media_documents": "Dokumente",
"im_media_audio": "Sprachnachrichten",
"im_pluralize_participants": "{'0': 'Keine Mitglieder', 'one': '1 Mitglied', 'other': '{} Mitglieder'}",
"im_show_recent_messages": "Zeige aktuelle Nachrichten",
"im_show_all_messages": "Zeige alle Nachrichten",
"im_no_messages": "Noch keine Nachrichten vorhanden...",
"im_one_typing": "{name1} schreibt{dots}",
"im_two_typing": "{name1} und {name2} schreiben{dots}",
"im_many_typing": "{name1}, {name2} und {count} weiter schreiben{dots}",
"im_delete_chat": "Chat löschen",
"im_clear_history": "Verlauf löschen",
"im_delete": "Lösche {count}",
"im_forward": "{count} weiterleiten",
"im_photos_drop_text": "Bilder zum Senden hier ablegen",
"im_message_field_placeholder": "Schreibe eine Nachricht...",
"im_media_attach_title": "Medien senden",
"im_attach_file_title": "Datei senden",
"im_emoji_btn_title": "Emoticon einfügen",
"im_submit_message": "Senden",
"login_sign_in": "Anmelden",
"login_enter_number_description": "Bitte wähle dein Land aus und gib deine volle Telefonnumer ein.",
"login_incorrect_number": "Falsche Telefonnummer",
"login_tel_input_placeholder": "Telefonnumer eingeben",
"login_generating_key": "Generiere Schlüssel",
"login_generating_keys_info": "Die Schlüssel werden nur einmalig generiert. Dies kann auf langsamen Geräten eine Weile dauern, habe bitte etwas Geduld.",
"login_edit_number": "Telefonnummer bearbeiten",
"login_enter_code_label_md": "Bitte gebe den Code ein, den du gerade über deine andere **Telegram** App erhalten hast",
"login_code_not_received": "Keinen Code erhalten?",
"login_enter_sms_code_label_md": "Wir haben dir einen Code per SMS zugesendet.\nBitte gib diesen unten ein.",
"login_call_remaining": "Telegram wird dich in {remaining} anrufen",
"login_calling": "Telegram ruft dich an",
"login_number_dialed": "Telegram hat deine Nummer gewählt",
"login_incorrect_sms_code": "Falscher SMS-Code",
"login_number_input_placeholder": "Code eingeben",
"login_checking_code": "Überprüfe Code",
"login_your_info": "Deine Angaben",
"login_fulll_name_label": "Bitte gib denen vollen Namen an, um einen Telegram-Account einzurichten.",
"login_incorrect_first_name": "Falscher Vorname",
"login_first_name": "Vorname",
"login_incorrect_last_name": "Falscher Nachname",
"login_last_name": "Nachname",
"login_signing_up": "Registriere",
"login_sign_up": "Registrieren",
"login_controller_unknown_country": "Unbekannt",
"message_forwarded_message": "Weitergeleitete Nachricht",
"message_attach_audio_message": "Sprachnachricht",
"message_attach_audio_play": "Abspielen",
"message_attach_document_open": "Öffnen",
"message_attach_document_download": "Download",
"message_attach_video_video": "Video",
"message_attach_video_download": "Download",
"message_attach_video_play": "Video abspielen",
"conversation_select_modal_title": "Unterhaltung auswählen",
"conversation_select_modal_contacts": "Kontakte",
"phonebook_modal_title": "Telefonbuch",
"phonebook_modal_deselect_all": "Auswahl aufheben",
"phonebook_modal_select_all": "Alle auswählen",
"phonebook_modal_empty": "Dein Telefonbuch ist leer.",
"phonebook_modal_submit_active": "Importiere",
"phonebook_modal_submit": "Kontakte importieren",
"welcome_header_md": "**Telegram** Web",
"welcome_text_1_md": "Dies ist der inoffizielle Web-Client des **Telegram Messenger**.",
"welcome_text_2_md": "Es ist noch immer eine **alpha-Version** und ist noch nicht 200% zuverlässig",
"welcome_start_messaging": "Los legen",
"welcome_fast_messaging_header": "Schneller Nachrichtenversand",
"welcome_fast_messaging_text": "Sende Nachrichten mit umfangreicher Emoji-Unterstützung direkt von deinem Desktop oder Laptop",
"welcome_easy_sharing_header": "Einfache Dateiweitergabe",
"welcome_easy_sharing_text": "Teile Dateien jeder Art per Drag&Drop oder über das Anhangsymbol",
"welcome_powerful_tools_header": "Leistungsstarke Werkzeuge",
"welcome_powerful_tools_text_md": "Durchsuche geteilte Medien nach Typ \n und setze individuelle Benachrichtigungen",
"country_select_modal_country_ab": "Abchasien",
"country_select_modal_country_af": "Afghanistan",
"country_select_modal_country_ax": "Åland",
"country_select_modal_country_al": "Albanien",
"country_select_modal_country_dz": "Algerien",
"country_select_modal_country_as": "Amerikanisch-Samoa",
"country_select_modal_country_ad": "Andorra",
"country_select_modal_country_ao": "Angola",
"country_select_modal_country_ai": "Anguilla",
"country_select_modal_country_ag": "Antigua und Barbuda",
"country_select_modal_country_ar": "Argentinien",
"country_select_modal_country_am": "Armenien",
"country_select_modal_country_aw": "Aruba",
"country_select_modal_country_sh_ac": "Ascension",
"country_select_modal_country_au": "Australien",
"country_select_modal_country_au_et": "Australisches externes Territorium",
"country_select_modal_country_at": "Österreich",
"country_select_modal_country_az": "Aserbaidschan",
"country_select_modal_country_bs": "Bahamas",
"country_select_modal_country_bh": "Bahrain",
"country_select_modal_country_bd": "Bangladesch",
"country_select_modal_country_bb": "Barbados",
"country_select_modal_country_ag_bar": "Barbuda",
"country_select_modal_country_by": "Belarus",
"country_select_modal_country_be": "Belgien",
"country_select_modal_country_bz": "Belize",
"country_select_modal_country_bj": "Benin",
"country_select_modal_country_bm": "Bermuda",
"country_select_modal_country_bt": "Bhutan",
"country_select_modal_country_bo": "Bolivien",
"country_select_modal_country_bq": "Bonaire",
"country_select_modal_country_ba": "Bosnien und Herzegowina",
"country_select_modal_country_bw": "Botswana",
"country_select_modal_country_br": "Brasilien",
"country_select_modal_country_io": "Britisches Territorium im Indischen Ozean",
"country_select_modal_country_vg": "Britische Jungferninseln",
"country_select_modal_country_bn": "Brunei",
"country_select_modal_country_bg": "Bulgarien",
"country_select_modal_country_bf": "Burkina Faso",
"country_select_modal_country_mm": "Burma",
"country_select_modal_country_bi": "Burundi",
"country_select_modal_country_kh": "Kambodscha",
"country_select_modal_country_cm": "Kamerun",
"country_select_modal_country_ca": "Kanada",
"country_select_modal_country_cv": "Kap Verde",
"country_select_modal_country_ky": "Kaimaninseln",
"country_select_modal_country_cf": "Zentralafrikanische Republik",
"country_select_modal_country_td": "Tschad",
"country_select_modal_country_cl": "Chile",
"country_select_modal_country_cn": "China",
"country_select_modal_country_cx": "Weihnachtsinsel",
"country_select_modal_country_cc": "Kokosinseln",
"country_select_modal_country_co": "Kolumbien",
"country_select_modal_country_km": "Komoren",
"country_select_modal_country_cg": "Republik Kongo",
"country_select_modal_country_cd": "Demokratische Republik Kongo (Kinshasa, früheres Zaire)",
"country_select_modal_country_ck": "Cookinseln",
"country_select_modal_country_cr": "Costa Rica",
"country_select_modal_country_ci": "Elfenbeinküste (Côte d'Ivoire)",
"country_select_modal_country_hr": "Kroatien",
"country_select_modal_country_cu": "Kuba",
"country_select_modal_country_cw": "Curaçao",
"country_select_modal_country_cy": "Zypern",
"country_select_modal_country_cz": "Tschechien",
"country_select_modal_country_dk": "Dänemark",
"country_select_modal_country_dg": "Diego Garcia",
"country_select_modal_country_dj": "Dschibuti",
"country_select_modal_country_dm": "Dominica",
"country_select_modal_country_do": "Dominikanische Republik",
"country_select_modal_country_tl": "Osttimor",
"country_select_modal_country_ec": "Ecuador",
"country_select_modal_country_eg": "Ägypten",
"country_select_modal_country_sv": "El Salvador",
"country_select_modal_country_gq": "Äquatorialguinea",
"country_select_modal_country_er": "Eritrea",
"country_select_modal_country_ee": "Estland",
"country_select_modal_country_et": "Äthiopien",
"country_select_modal_country_fk": "Falklandinseln",
"country_select_modal_country_fo": "Färöer",
"country_select_modal_country_fj": "Fidschi",
"country_select_modal_country_fi": "Finnland",
"country_select_modal_country_fr": "Frankreich",
"country_select_modal_country_gf": "Französisch-Guayana",
"country_select_modal_country_pf": "Französisch-Polynesien",
"country_select_modal_country_ga": "Gabun",
"country_select_modal_country_gm": "Gambia",
"country_select_modal_country_ge": "Georgien",
"country_select_modal_country_de": "Deutschland",
"country_select_modal_country_gh": "Ghana",
"country_select_modal_country_gi": "Gibraltar",
"country_select_modal_country_gr": "Griechenland",
"country_select_modal_country_gl": "Grönland",
"country_select_modal_country_gd": "Grenada",
"country_select_modal_country_gp": "Guadeloupe",
"country_select_modal_country_gu": "Guam",
"country_select_modal_country_gt": "Guatemala",
"country_select_modal_country_gg": "Guernsey",
"country_select_modal_country_gn": "Guinea",
"country_select_modal_country_gw": "Guinea-Bissau",
"country_select_modal_country_gy": "Guyana",
"country_select_modal_country_ht": "Haiti",
"country_select_modal_country_hn": "Honduras",
"country_select_modal_country_hk": "Hongkong",
"country_select_modal_country_hu": "Ungarn",
"country_select_modal_country_is": "Island",
"country_select_modal_country_in": "Indien",
"country_select_modal_country_id": "Indonesien",
"country_select_modal_country_ir": "Iran",
"country_select_modal_country_iq": "Irak",
"country_select_modal_country_ie": "Irland",
"country_select_modal_country_il": "Israel",
"country_select_modal_country_it": "Italien",
"country_select_modal_country_jm": "Jamaika",
"country_select_modal_country_sj": "Jan Mayen",
"country_select_modal_country_jp": "Japan",
"country_select_modal_country_je": "Jersey",
"country_select_modal_country_jo": "Jordanien",
"country_select_modal_country_kz": "Kasachstan",
"country_select_modal_country_ke": "Kenia",
"country_select_modal_country_ki": "Kiribati (Gilbert Inseln)",
"country_select_modal_country_kp": "Nordkorea",
"country_select_modal_country_kr": "Südkorea",
"country_select_modal_country_kw": "Kuwait",
"country_select_modal_country_kg": "Kirgisistan",
"country_select_modal_country_la": "Laos",
"country_select_modal_country_lv": "Lettland",
"country_select_modal_country_lb": "Libanon",
"country_select_modal_country_ls": "Lesotho",
"country_select_modal_country_lr": "Liberia",
"country_select_modal_country_ly": "Libyen",
"country_select_modal_country_li": "Liechtenstein",
"country_select_modal_country_lt": "Litauen",
"country_select_modal_country_lu": "Luxemburg",
"country_select_modal_country_mo": "Macao",
"country_select_modal_country_mk": "Mazedonien",
"country_select_modal_country_mg": "Madagaskar",
"country_select_modal_country_mw": "Malawi",
"country_select_modal_country_my": "Malaysia",
"country_select_modal_country_mv": "Malediven",
"country_select_modal_country_ml": "Mali",
"country_select_modal_country_mt": "Malta",
"country_select_modal_country_mh": "Marshallinseln",
"country_select_modal_country_mq": "Martinique",
"country_select_modal_country_mr": "Mauritanien",
"country_select_modal_country_mu": "Mauritius",
"country_select_modal_country_yt": "Mayotte",
"country_select_modal_country_mx": "Mexiko",
"country_select_modal_country_fm": "Mikronesien",
"country_select_modal_country_md": "Moldawien",
"country_select_modal_country_mc": "Monaco",
"country_select_modal_country_mn": "Mongolei",
"country_select_modal_country_me": "Montenegro",
"country_select_modal_country_ms": "Montserrat",
"country_select_modal_country_ma": "Morokko",
"country_select_modal_country_mz": "Mosambik",
"country_select_modal_country_na": "Namibia",
"country_select_modal_country_nr": "Nauru",
"country_select_modal_country_np": "Nepal",
"country_select_modal_country_nl": "Niederlande",
"country_select_modal_country_nc": "Neukaledonien",
"country_select_modal_country_nz": "Neuseeland",
"country_select_modal_country_ni": "Nicaragua",
"country_select_modal_country_ne": "Niger",
"country_select_modal_country_ng": "Nigeria",
"country_select_modal_country_nu": "Niue",
"country_select_modal_country_nf": "Norfolkinsel",
"country_select_modal_country_mp": "Nördliche Marianen",
"country_select_modal_country_no": "Norwegen",
"country_select_modal_country_om": "Oman",
"country_select_modal_country_pk": "Pakistan",
"country_select_modal_country_pw": "Palau",
"country_select_modal_country_ps": "Palästinensische Autonomiegebiete",
"country_select_modal_country_pa": "Panama",
"country_select_modal_country_pg": "Papua-Neuguinea",
"country_select_modal_country_py": "Paraguay",
"country_select_modal_country_pe": "Peru",
"country_select_modal_country_ph": "Philippinen",
"country_select_modal_country_pn": "Pitcairninseln",
"country_select_modal_country_pl": "Polen",
"country_select_modal_country_pt": "Portugal",
"country_select_modal_country_pr": "Puerto Rico",
"country_select_modal_country_qa": "Katar",
"country_select_modal_country_re": "Réunion",
"country_select_modal_country_ro": "Romänien",
"country_select_modal_country_ru": "Russland",
"country_select_modal_country_rw": "Ruanda",
"country_select_modal_country_bl": "Saint Barthélemy",
"country_select_modal_country_sh": "St. Helena",
"country_select_modal_country_kn": "St. Kitts und Nevis",
"country_select_modal_country_lc": "St. Lucia",
"country_select_modal_country_mf": "St. Martin (Frankreich)",
"country_select_modal_country_pm": "Saint-Pierre und Miquelon",
"country_select_modal_country_vc": "St. Vincent und die Grenadinen",
"country_select_modal_country_ws": "Samoa",
"country_select_modal_country_sm": "San Marino",
"country_select_modal_country_st": "São Tomé und Príncipe",
"country_select_modal_country_sa": "Saudi-Arabien",
"country_select_modal_country_sn": "Senegal",
"country_select_modal_country_rs": "Serbien",
"country_select_modal_country_sc": "Seychellen",
"country_select_modal_country_sl": "Sierra Leone",
"country_select_modal_country_sg": "Singapur",
"country_select_modal_country_nl_bq3": "Sint Eustatius",
"country_select_modal_country_sx": "Sint Maarten (Niederlande)",
"country_select_modal_country_sk": "Slowakei",
"country_select_modal_country_si": "Slowenien",
"country_select_modal_country_sb": "Salomonen",
"country_select_modal_country_so": "Somalia",
"country_select_modal_country_za": "Südafrica",
"country_select_modal_country_gs": "Südgeorgien und die Südlichen Sandwichinseln",
"country_select_modal_country_ge_so": "Südossetien",
"country_select_modal_country_ss": "Südsudan",
"country_select_modal_country_es": "Spanien",
"country_select_modal_country_lk": "Sri Lanka",
"country_select_modal_country_sd": "Sudan",
"country_select_modal_country_sr": "Suriname",
"country_select_modal_country_sj_no": "Svalbard",
"country_select_modal_country_sz": "Swasiland",
"country_select_modal_country_se": "Schweden",
"country_select_modal_country_ch": "Schweiz",
"country_select_modal_country_sy": "Syrien",
"country_select_modal_country_tw": "Taiwan",
"country_select_modal_country_tj": "Tadschikistan",
"country_select_modal_country_tz": "Tansania",
"country_select_modal_country_th": "Thailand",
"country_select_modal_country_tg": "Togo",
"country_select_modal_country_tk": "Tokelau",
"country_select_modal_country_to": "Tonga",
"country_select_modal_country_tt": "Trinidad und Tobago",
"country_select_modal_country_tn": "Tunesien",
"country_select_modal_country_tr": "Türkei",
"country_select_modal_country_tm": "Turkmenistan",
"country_select_modal_country_tc": "Turks- und Caicosinseln",
"country_select_modal_country_tv": "Tuvalu",
"country_select_modal_country_ug": "Uganda",
"country_select_modal_country_ua": "Ukraine",
"country_select_modal_country_ae": "Vereinigte Arabische Emirate",
"country_select_modal_country_uk": "Vereinigtes Königreich",
"country_select_modal_country_us": "USA",
"country_select_modal_country_uy": "Uruguay",
"country_select_modal_country_vi": "Jungferninseln",
"country_select_modal_country_uz": "Usbekistan",
"country_select_modal_country_vu": "Vanuatu",
"country_select_modal_country_ve": "Venezuela",
"country_select_modal_country_va": "Vatikanstadt",
"country_select_modal_country_vn": "Vietnam",
"country_select_modal_country_wf": "Wallis und Futuna",
"country_select_modal_country_ye": "Jemen",
"country_select_modal_country_zm": "Sambia",
"country_select_modal_country_tz_uk": "Sansibar",
"country_select_modal_country_zw": "Simbabwe"
}

5
app/partials/desktop/confirm_modal.html

@ -39,7 +39,10 @@
</strong> </strong>
</my-i18n-param> </my-i18n-param>
</my-i18n> </my-i18n>
<span ng-switch-default ng-bind="message || {{'confirm_modal_are_u_sure' | i18n}}"></span> <span ng-switch-default ng-switch="message.length > 0">
<span ng-switch-when="true" ng-bind="message"></span>
<span ng-switch-default ng-bind="'confirm_modal_are_u_sure' | i18n"></span>
</span>
</div> </div>
</div> </div>

14
app/partials/desktop/head.html

@ -9,16 +9,16 @@
<div class="navbar-menu" ng-switch="offline"> <div class="navbar-menu" ng-switch="offline">
<ul ng-switch-when="true" class="nav navbar-nav navbar-offline"> <ul ng-switch-when="true" class="nav navbar-nav navbar-offline">
<li ng-show="!offlineConnecting"><span class="navbar-offline-text">Waiting for network<span my-loading-dots></span></span></li> <li ng-show="!offlineConnecting"><span class="navbar-offline-text"><my-i18n msgid="head_waiting_for_network"></my-i18n><span my-loading-dots></span></span></li>
<li ng-show="!offlineConnecting" class="hidden-xs"><a href="" ng-click="retryOnline()">Retry</a></li> <li ng-show="!offlineConnecting"><a href="" ng-click="retryOnline()" my-i18n="head_retry"></a></li>
<li ng-show="offlineConnecting"><span class="navbar-offline-text">Connecting<span my-loading-dots></span></span></li> <li ng-show="offlineConnecting"><span class="navbar-offline-text"><my-i18n msgid="head_connecting"></my-i18n><span my-loading-dots></span></span></li>
</ul> </ul>
<ul ng-switch-default class="nav navbar-nav navbar-right"> <ul ng-switch-default class="nav navbar-nav navbar-right">
<li ng-if="isLoggedIn &amp;&amp; !isEmpty.contacts"><a href="" ng-click="openContacts()">Contacts</a></li> <li ng-if="isLoggedIn &amp;&amp; !isEmpty.contacts"><a href="" ng-click="openContacts()" my-i18n="head_contacts"></a></li>
<li ng-if="isLoggedIn"><a href="" ng-click="openSettings()">Settings</a></li> <li ng-if="isLoggedIn"><a href="" ng-click="openSettings()" my-i18n="head_settings"></a></li>
<li ng-if="isLoggedIn"><a href="" ng-click="logOut()">Log Out</a></li> <li ng-if="isLoggedIn"><a href="" ng-click="logOut()" my-i18n="head_log_out"></a></li>
<li ng-if="!isLoggedIn"><a href="https://github.com/zhukov/webogram" target="_blank">About</a></li> <li ng-if="!isLoggedIn"><a href="https://github.com/zhukov/webogram" target="_blank" my-i18n="head_about"></a></li>
</ul> </ul>
</div> </div>

4
app/partials/desktop/im.html

@ -260,6 +260,4 @@
</div> </div>
<div class="im_page_footer"> <div my-lang-footer></div>
<a class="im_page_footer_brand" target="_blank" href="https://github.com/zhukov/webogram">Telegram beta</a> by izhukov &amp; toberg
</div>

6
app/partials/desktop/lang_footer.html

@ -0,0 +1,6 @@
<div class="footer_wrap" ng-controller="AppLangFooterController">
<span ng-repeat="(locale, lang) in supportedLangs">
<a class="footer_lang_link" ng-class="curLocale == locale ? 'active' : ''" ng-click="localeSelect(locale)" ng-bind="lang"></a>
<span ng-if="!$last" class="footer_link_divider">-</span>
</span>
</div>

2
app/partials/desktop/login.html

@ -82,3 +82,5 @@
</form> </form>
</div> </div>
<div my-lang-footer></div>

65
app/partials/mobile/confirm_modal.html

@ -1,65 +0,0 @@
<div class="confirm_modal_wrap" my-modal-position>
<a class="modal-close-button" ng-click="$dismiss()"><i></i></a>
<div class="modal-body">
<div class="confirm_modal_description" ng-switch="type">
<span ng-switch-when="LOGOUT">Are you sure you want to log out?</span>
<span ng-switch-when="WEBOGRAM_UPDATED_RELOAD">A new version of Webogram has been downloaded. Launch it?</span>
<span ng-switch-when="HISTORY_FLUSH">Are you sure? This can not be undone!</span>
<span ng-switch-when="TERMINATE_SESSIONS">Are you sure you want to log out all devices except for the current one?</span>
<span ng-switch-when="HTTPS_MIXED_FAIL">
Your browser <a href="http://mzl.la/13jCUSU" target="_blank">does not support</a> mixed content which is neccessary for MTProto support on https. <a href="https://github.com/zhukov/webogram/issues/237" target="_blank">Learn more &raquo;</a><br/><br/>
Would you like use http-version instead?
</span>
<span ng-switch-when="FILES_CLIPBOARD_PASTE">
<ng-pluralize count="files.length"
when="{'one': 'Are you sure to send file from clipboard?', 'other': 'Are you sure to send {} files from clipboard?'}">
</ng-pluralize>
</span>
<span ng-switch-when="FILE_CLIPBOARD_PASTE">Are you sure to send file(s) from clipboard?</span>
<span ng-switch-when="MESSAGE_DELETE">Are you sure you want to delete the message?</span>
<span ng-switch-when="CONTACTS_IMPORT_PERFORM">Telegram will now sync your contacts in order to find your friends.</span>
<div ng-switch-when="LOGIN_PHONE_CORRECT">
Is this phone number correct?
<div class="confirm_phone_number"> <span ng-bind="country_code"></span> <span ng-bind="phone_number"></span> </div>
</div>
<span ng-switch-when="FORWARD_PEER">Forward to <strong ng-switch="peer_id > 0">
<span ng-switch-when="true" ng-bind-html="peer_data.rFullName"></span>
<span ng-switch-default ng-bind-html="peer_data.rTitle"></span>
</strong>?</span>
<span ng-switch-when="SHARE_CONTACT_PEER">Send to <strong ng-switch="peer_id > 0">
<span ng-switch-when="true" ng-bind-html="peer_data.rFullName"></span>
<span ng-switch-default ng-bind-html="peer_data.rTitle"></span>
</strong>?</span>
<span ng-switch-when="EXT_SHARE_PEER">Share with <strong ng-switch="peer_id > 0">
<span ng-switch-when="true" ng-bind-html="peer_data.rFullName"></span>
<span ng-switch-default ng-bind-html="peer_data.rTitle"></span>
</strong>?</span>
<span ng-switch-default ng-bind="message || 'Are you sure?'"></span>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-link" ng-click="$dismiss()" ng-switch="type">
<span ng-switch-default>Cancel</span>
</a>
<button type="button" class="btn btn-primary" ng-switch="type" ng-click="$close()" my-focused>
<span ng-switch-when="LOGOUT">Log Out</span>
<span ng-switch-when="HISTORY_FLUSH">Delete Chat</span>
<span ng-switch-when="FILES_CLIPBOARD_PASTE">Send</span>
<span ng-switch-when="FILE_CLIPBOARD_PASTE">Send</span>
<span ng-switch-when="MESSAGE_DELETE">Delete</span>
<span ng-switch-when="FORWARD_PEER">Forward message</span>
<span ng-switch-when="PHOTO_SHARE_PEER">Forward photo</span>
<span ng-switch-when="VIDEO_SHARE_PEER">Forward video</span>
<span ng-switch-when="SHARE_CONTACT_PEER">Send contact</span>
<span ng-switch-when="EXT_SHARE_PEER">Share file</span>
<span ng-switch-default>OK</span>
</button>
</div>
</div>

1
app/partials/mobile/confirm_modal.html

@ -0,0 +1 @@
../desktop/confirm_modal.html

87
app/partials/mobile/error_modal.html

@ -1,87 +0,0 @@
<div class="error_modal_wrap" my-modal-position>
<a class="modal-close-button" ng-click="$close()"><i></i></a>
<div class="modal-body">
<h4 ng-if="error" class="modal_simple_header" ng-switch="error.type">
<span ng-switch-when="ACCOUNT_REQUIRED">No account</span>
<span ng-switch-default ng-switch="error.code">
<span ng-switch-when="400">Error</span>
<span ng-switch-when="401">Unauthorized</span>
<span ng-switch-when="403">Access denied</span>
<span ng-switch-when="404">Not found</span>
<span ng-switch-when="406">Network error</span>
<span ng-switch-when="420">Too fast</span>
<span ng-switch-default>Server error</span>
</span>
</h4>
<h4 ng-if="!error" class="modal_simple_header" ng-bind="title || 'Alert'"></h4>
<div ng-if="error" class="error_modal_description" ng-switch="error.type">
<span ng-switch-when="NETWORK_BAD_REQUEST">
Please check your internet connection.
</span>
<span ng-switch-when="NETWORK_BAD_RESPONSE">
Please check your internet connection.
</span>
<span ng-switch-when="FIRSTNAME_INVALID">
The first name you entered is invalid.
</span>
<span ng-switch-when="LASTNAME_INVALID">
The last name you entered is invalid.
</span>
<span ng-switch-when="PHONE_NUMBER_INVALID">
The phone number you entered is invalid.
</span>
<span ng-switch-when="USERS_TOO_MUCH">
You have selected too much users.
</span>
<span ng-switch-when="PHOTO_INVALID_DIMENSIONS">
The photo dimensions are invalid, please select another file.
</span>
<span ng-switch-when="VIDEO_EXT_INVALID">
The video file extension is invalid or unsupported, please select another file.
</span>
<span ng-switch-when="PHOTO_CROP_SIZE_SMALL">
The photo you provided is too small.
</span>
<span ng-switch-when="ACCOUNT_REQUIRED">
Sorry, there is no <strong>Telegram</strong> account for {{phone | phoneNumber}}<br/><br/>
Please <strong>sign up</strong> using our mobile apps for <a href="https://telegram.org/" target="_blank">iOS</a> or <a href="https://telegram.org/" target="_blank">Android</a>.
</span>
<span ng-switch-when="USER_NOT_USING_TELEGRAM">
Sorry, there is no <strong>Telegram</strong> account with the phone number you provided.
</span>
<span ng-switch-when="USERS_NOT_USING_TELEGRAM">
Sorry, there are no <strong>Telegram</strong> accounts with the phone numbers you provided.
</span>
<span ng-switch-when="PHONEBOOK_GET_CONTACTS_FAILED">
Telegram needs access to phonebook to import contacts.
</span>
<div ng-switch-default ng-switch="error.code">
<span ng-switch-when="400">One of the params is missing or invalid.</span>
<span ng-switch-when="401">This action requires authorization access. Please <a href="#/login">log in</a>.</span>
<span ng-switch-when="403">You are not allowed for this action.</span>
<span ng-switch-when="404">The page was not found.</span>
<span ng-switch-when="420">You are performing too many actions. Please try again later.</span>
<span ng-switch-default>Internal server error occured. Please try again later.</span>
</div>
</div>
<div ng-if="error" class="error_modal_details" ng-switch="error.detailsShown">
<textarea ng-switch-when="true" rows="3" onclick="this.select()">Method: {{error.input || 'N/A'}}
Result: {{error.originalError ? error.originalError : (error.stack ? (error.name || '') + ' ' + (error.description || error.message) : error)}}
Stack: {{error.stack}}</textarea>
<div ng-switch-default>
<a href="" ng-click="error.detailsShown = true">Technical details here</a>
</div>
</div>
<div ng-if="!error" class="error_modal_description" ng-bind="description"></div>
</div>
</div>

1
app/partials/mobile/error_modal.html

@ -0,0 +1 @@
../desktop/error_modal.html
Loading…
Cancel
Save