Browse Source

Added Spanish localization

Fixed unathorized request. Closes #465
master
Igor Zhukov 10 years ago
parent
commit
63091d1d8f
  1. 3
      app/css/desktop.css
  2. 6
      app/js/controllers.js
  3. 11
      app/js/i18n.js
  4. 2
      app/js/init.js
  5. 6
      app/js/lib/config.js
  6. 1
      app/js/locales/en-us.json
  7. 555
      app/js/locales/es-es.json
  8. 2
      app/js/services.js
  9. 2
      app/manifest.webapp
  10. 3
      app/partials/desktop/confirm_modal.html
  11. 6
      app/partials/desktop/lang_footer.html
  12. 2
      app/partials/desktop/login.html

3
app/css/desktop.css

@ -128,9 +128,6 @@ a.footer_lang_link.active:active {
.footer_link_divider { .footer_link_divider {
padding: 0 5px; padding: 0 5px;
} }
/*.footer_link_divider:last-child {
display: none;
}*/
.im_dialogs_col { .im_dialogs_col {
margin-right: -7px; margin-right: -7px;

6
app/js/controllers.js

@ -1456,8 +1456,9 @@ angular.module('myApp.controllers', ['myApp.i18n'])
}) })
.controller('AppLangFooterController', function ($scope, _, Storage, ErrorService) { .controller('AppLangFooterController', function ($scope, _, Storage, ErrorService) {
$scope.supportedLangs = _.supported(); $scope.supportedLocales = Config.I18n.supported;
$scope.curLocale = _.locale(); $scope.langNames = Config.I18n.languages;
$scope.curLocale = Config.I18n.locale;
$scope.localeSelect = function localeSelect (newLocale) { $scope.localeSelect = function localeSelect (newLocale) {
Storage.set({i18n_locale: newLocale}); Storage.set({i18n_locale: newLocale});
@ -2048,7 +2049,6 @@ angular.module('myApp.controllers', ['myApp.i18n'])
$scope.notify = {}; $scope.notify = {};
$scope.send = {}; $scope.send = {};
$scope.i18n = {supported: _.supported()};
$scope.$watch('photo.file', onPhotoSelected); $scope.$watch('photo.file', onPhotoSelected);

11
app/js/i18n.js

@ -24,7 +24,7 @@ angular.module('myApp.i18n', ['izhukov.utils'])
function encodeEntities(value) { function encodeEntities(value) {
return value. return value.
replace(/&/g, '&'). replace(/&/g, '&').
replace(/([^\#-~| |!])/g, function (value) { // non-alphanumeric replace(/([^\#-~| |!\n\*])/g, function (value) { // non-alphanumeric
return '&#' + value.charCodeAt(0) + ';'; return '&#' + value.charCodeAt(0) + ';';
}). }).
replace(/</g, '&lt;'). replace(/</g, '&lt;').
@ -59,7 +59,6 @@ angular.module('myApp.i18n', ['izhukov.utils'])
if (!raw) { if (!raw) {
msgstr = encodeEntities(msgstr); msgstr = encodeEntities(msgstr);
} }
if (msgid.substr(-3) == '_md') { if (msgid.substr(-3) == '_md') {
msgstr = parseMarkdownString(msgstr); msgstr = parseMarkdownString(msgstr);
} }
@ -76,10 +75,6 @@ angular.module('myApp.i18n', ['izhukov.utils'])
return msgstr; return msgstr;
} }
_.supported = function () {
return Config.I18n.supported;
};
_.locale = function () { _.locale = function () {
return locale; return locale;
}; };
@ -88,7 +83,9 @@ angular.module('myApp.i18n', ['izhukov.utils'])
}]) }])
.filter('i18n', ['_', function(_) { .filter('i18n', ['_', function(_) {
return _; return function (msgid, params) {
return _(msgid + '_raw', params);
}
}]) }])
.directive('ngPluralize', ['_', function(_) { .directive('ngPluralize', ['_', function(_) {

2
app/js/init.js

@ -109,7 +109,7 @@
locale = (navigator.language || '').toLowerCase(); locale = (navigator.language || '').toLowerCase();
locale = Config.I18n.aliases[locale] || locale; locale = Config.I18n.aliases[locale] || locale;
} }
if (Config.I18n.supported[locale]) { if (Config.I18n.supported.indexOf(locale) != -1) {
Config.I18n.locale = locale; Config.I18n.locale = locale;
} }

6
app/js/lib/config.js

@ -43,9 +43,11 @@ Config.Navigator = {
Config.I18n = { Config.I18n = {
locale: 'en-us', locale: 'en-us',
supported: { supported: ['en-us', 'es-es', 'de-de'],
languages: {
'en-us': 'English', 'en-us': 'English',
'de-de': 'Deutsch' 'de-de': 'Deutsch',
'es-es': 'Español'
}, },
aliases: { aliases: {
'en': 'en-us' 'en': 'en-us'

1
app/js/locales/en-us.json

@ -116,6 +116,7 @@
"confirm_modal_forward_to_peer": "Forward to {peer}?", "confirm_modal_forward_to_peer": "Forward to {peer}?",
"confirm_modal_send_to_peer": "Send to {peer}?", "confirm_modal_send_to_peer": "Send to {peer}?",
"confirm_modal_share_file_peer": "Share with {peer}?", "confirm_modal_share_file_peer": "Share with {peer}?",
"confirm_modal_apply_lang_with_reload_md": "Language preference was saved.\nReload the App now?",
"confirm_modal_are_u_sure": "Are you sure?", "confirm_modal_are_u_sure": "Are you sure?",
"confirm_modal_logout_submit": "Log Out", "confirm_modal_logout_submit": "Log Out",

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

@ -0,0 +1,555 @@
{
"modal_search": "Buscar",
"modal_cancel": "Cancelar",
"modal_next": "Siguiente",
"modal_ok": "Ok",
"modal_done": "Hecho",
"group_modal_info": "Información del grupo",
"group_modal_pluralize_participants": "{'0': 'Sin miembros', 'one': '1 miembro', 'other': '{} miembros'}",
"group_modal_add_member": "Añadir miembro",
"group_modal_return": "Volver al grupo",
"group_modal_update_photo": "Actualizar foto",
"group_modal_update_active": "Actualizando",
"group_modal_menu_more": "Más",
"group_modal_menu_delete_photo": "Eliminar foto",
"group_modal_menu_edit_group": "Editar grupo",
"group_modal_menu_leave_group": "Dejar grupo",
"group_modal_menu_delete_chat": "Eliminar conversación",
"group_modal_settings": "Ajustes",
"group_modal_notifications": "Notificaciones",
"group_modal_members": "Miembros",
"group_modal_members_kick": "Expulsar",
"group_modal_members_unavailable": "La lista de miembros del grupo no está disponible.",
"country_select_modal_title": "País",
"settings_modal_title": "Ajustes",
"settings_modal_menu_more": "Más",
"settings_modal_delete_photo": "Eliminar foto de perfil",
"settings_modal_set_photo": "Editar foto de perfil",
"settings_modal_photo_updating": "Actualizando",
"settings_modal_edit_profile": "Editar perfil",
"settings_modal_terminate_sessions": "Terminar todas las sesiones",
"settings_modal_settings": "Sobre",
"settings_modal_notification_alert": "Alertas de notificaciones",
"settings_modal_vibrate": "Vibración",
"settings_modal_sounds": "Sonidos",
"settings_modal_language": "Idioma",
"settings_modal_notifications": "Notificaciones de escritorio",
"settings_modal_sound": "Sonido",
"settings_modal_enter_send_description_md": "**Intro** - enviar mensaje, **Shift + Intro** - nueva línea",
"settings_modal_ctrl_enter_send_description_md": "**Ctrl + Intro** - enviar mensaje, **Intro** - nueva línea",
"settings_modal_send_on_enter": "Enviar con Intro",
"settings_modal_phone": "Teléfono",
"settings_modal_about": "Sobre",
"settings_modal_source_code_github": "Código fuente en GitHub",
"settings_modal_follow_us_twitter": "¡Síguenos en Twitter!",
"settings_modal_recent_updates": "Actualizaciones recientes (ver. {version})",
"profile_edit_modal_title": "Editar perfil",
"profile_edit_first_name": "Nombre",
"profile_edit_last_name": "Apellidos",
"profile_edit_submit": "Guardar",
"profile_edit_submit_active": "Guardando...",
"user_modal_menu_more": "Más",
"user_modal_send_message": "Enviar mensaje",
"user_modal_edit_contact": "Editar contacto",
"user_modal_delete_contact": "Eliminar contacto",
"user_modal_add_contact": "Añadir a contactos",
"user_modal_share_contact": "Compartir contacto",
"user_modal_delete_chat": "Eliminar conversación",
"user_modal_phone": "Teléfono",
"user_modal_settings": "Ajustes",
"user_modal_notifications": "Notificaciones",
"user_modal_contact_info": "Información del contacto",
"media_modal_forward": "Reenviar",
"media_modal_download": "Descargar",
"media_modal_delete": "Eliminar",
"error_browser_no_local_file_system_image_md": "Tu navegador no soporta la función {moz-link: https://developer.mozilla.org/es-ES/docs/Web/API/LocalFileSystem | LocalFileSystem}, necesaria para mostrar esta imagen.\nPor favor, instala {chrome-link: http://google.com/chrome | Google Chrome} o usa en su lugar {telegram-link: https://telegram.org/ | la aplicación móvil}.",
"error_image_download_failed": "Descarga fallida",
"error_browser_no_local_file_system_video_md": "Tu navegador no soporta la función {moz-link: https://developer.mozilla.org/es-ES/docs/Web/API/LocalFileSystem | LocalFileSystem}, necesaria para reproducir este vídeo.\nPor favor, instala {chrome-link: http://google.com/chrome | Google Chrome} o usa en su lugar {telegram-link: https://telegram.org/ | la aplicación móvil}.",
"error_video_download_failed": "Descarga de vídeo fallida",
"user_name_deleted": "ELIMINADO",
"user_first_name_deleted": "ELIMINADO",
"user_status_offline": "desconectado",
"user_status_online": "desconectado",
"user_status_last_seen": "última conexión {0}",
"chat_title_deleted": "ELIMINADO",
"format_size_progress_mulitple": "{done} de {total} {parts}",
"format_size_progress": "{done} de {total}",
"relative_time_one_minute": "hace {minutes} minuto",
"relative_time_many_minutes": "hace {minutes} minutos",
"relative_time_one_hour": "hace {hours} hora",
"relative_time_many_hours": "hace {hours} horas",
"relative_time_just_now": "hace un momento",
"changelog_modal_header_recent_updates_md": "Actualizaciones reciente en **Telegram Web**",
"changelog_modal_header_new_updates_md": "¡**Telegram Web** se ha actualizado!",
"changelog_modal_title_current_version": "versión actual",
"group_create_contacts_modal_title": "Nuevo grupo",
"group_create_modal_title": "Crear grupo",
"group_create_name": "Nombre del grupo",
"group_create_submit": "Crear grupo",
"group_create_submit_active": "Creando...",
"group_edit_modal_title": "Editar grupo",
"group_edit_name": "Nombre del grupo",
"group_edit_submit": "Guardar",
"group_edit_submit_active": "Guardando...",
"confirm_modal_logout": "¿Estás seguro de que quieres cerrar sesión?",
"confirm_modal_update_reload": "Se ha descargado una nueva versión de Webogram. ¿Quieres lanzarla?",
"confirm_modal_history_flush": "¿Estás seguro? ¡Eso no puede deshacerse!",
"confirm_modal_terminate_sessions": "¿Estás seguro de que quieres cerrar sesión en todos tus dispositivos excepto en éste?",
"confirm_modal_mixed_content_fail_http_redirect_md": "Tu navegador {moz-link: no soporta} el contenido mixto, necesario para el funcionamiento de MTPropo en https. {issue-link: Saber más}\n\n ¿Quieres usar en su lugar la versión http?",
"confirm_modal_clipboard_file_send": "¿Seguro que quieres enviar archivo(s) desde el Portapapeles?",
"confirm_modal_clipboard_X_files_send": "{'one': '¿Seguro que quieres enviar este archivo desde el Portapapeles?', 'other': '¿Seguro que quieres enviar {} archivos desde el Portapapeles?'}",
"confirm_modal_message_delete": "¿Estás seguro de que quieres eliminar el mensaje?",
"confirm_modal_contacts_import": "Telegram va a sincronizar tus contactos para encontrar a tus amigos.",
"confirm_modal_login_phone_correct": "¿Es correcto este número?",
"confirm_modal_forward_to_peer": "¿Reenviar a {peer}?",
"confirm_modal_send_to_peer": "¿Enviar a {peer}?",
"confirm_modal_share_file_peer": "¿Compartir con {peer}?",
"confirm_modal_are_u_sure": "¿Estás seguro?",
"confirm_modal_logout_submit": "Cerrar sesión",
"confirm_modal_history_flush_submit": "Eliminar conversación",
"confirm_modal_clipboard_files_send_submit": "Enviar",
"confirm_modal_clipboard_file_send_submit": "Enviar",
"confirm_modal_message_delete_submit": "Eliminar",
"confirm_modal_forward_message_submit": "Reenviar mensaje",
"confirm_modal_share_photo_submit": "Reenviar foto",
"confirm_modal_share_video_submit": "Reenviar video",
"confirm_modal_share_contact_submit": "Enviar contacto",
"confirm_modal_share_file_submit": "Enviar contacto",
"contacts_modal_edit_list": "Editar",
"contacts_modal_edit_cancel": "Cancelar",
"contacts_modal_edit_delete": "Eliminar",
"contacts_modal_pluralize_new_group_members": "{'one': '1 participante', 'other': '{} participantes'}",
"contacts_modal_title": "Contactos",
"contacts_modal_new_contact": "Nuevo contacto",
"contacts_modal_empty_list": "Tu lista de contactos está vacía . Puedes {import-link: añadir un nuevo contacto} usando su número de teléfono.",
"contact_edit_modal_first_name": "Nombe",
"contact_edit_modal_last_name": "Apellidos",
"contact_edit_modal_title": "Editar contacto",
"contact_edit_modal_submit": "Guardar",
"contact_edit_modal_submit_active": "Guardando...",
"contact_import_modal_title": "Añadir nuevo contacto",
"contact_import_modal_phone": "Número de teléfono",
"contact_import_modal_phonebook": "Agenda de contactos",
"contact_import_modal_submit": "Guardar",
"contact_import_modal_submit_active": "Importando...",
"conversation_message_deleted": "mensaje eliminado",
"conversation_you": "Tú",
"conversation_media_photo": "Foto",
"conversation_media_video": "Vídeo",
"conversation_media_document": "Documento",
"conversation_media_audio": "Audio",
"conversation_media_location": "Ubicación",
"conversation_media_contact": "Contacto",
"conversation_media_attachment": "Archivo adjunto",
"conversation_group_created": "ha creado el grupo",
"conversation_group_renamed": "ha cambiado el nombre del grupo",
"conversation_group_photo_updated": "ha cambiado la foto del grupo",
"conversation_group_photo_removed": "ha eliminado la foto del grupo",
"conversation_returned_to_group": "ha vuelto al grupo",
"conversation_invited_user": "ha invitado a {user}",
"conversation_left_group": "ha abandonado el grupo",
"conversation_kicked_user": "ha expulsado a {user}",
"conversation_invited_user_message": "usuario invitado",
"conversation_kicked_user_message": "usuario expulsado",
"conversation_unknown_user": "Alguien",
"conversation_unknown_chat": "Chat desconocido",
"message_service_created_group": "creó el grupo {group_name}",
"message_service_changed_group_name": "cambió el nombre del grupo a {group_name}",
"message_service_changed_group_photo": "cambió la foto del grupo",
"message_service_removed_group_photo": "eliminó la foto del grupo",
"message_service_invited_user": "invitado {user}",
"message_service_returned_to_group": "volvió la grupo",
"message_service_kicked_user": "expulsó a {user}",
"message_service_left_group": "dejó el grupo",
"message_service_unsupported_action": "Acción no soportada {action}",
"error_modal_bad_request_title": "Error",
"error_modal_unauthorized_title": "No autorizado",
"error_modal_forbidden_title": "Acceso denegado",
"error_modal_not_found_title": "No encontrado",
"error_modal_network_title": "Error de red",
"error_modal_flood_title": "Demasiado rápido",
"error_modal_internal_title": "Error del servidor",
"error_modal_alert": "Alerta",
"error_modal_network_description": "Por favor, comprueba tu conexión a internet.",
"error_modal_firstname_invali_description": "El nombre introducido es inválido.",
"error_modal_lastname_invalid_description": "El apellido introducido es inválido.",
"error_modal_phone_invalid_description": "El número de teléfono introducido es inválido.",
"error_modal_users_too_much_description": "Has seleccionado muchos usuarios",
"error_modal_photo_dimensions_invalid_description": "Las dimensiones de la foto son inválidas, por favor, selecciona otro archivo.",
"error_modal_video_file_invalid_description": "La extensión del vídeo es inválida o no está soportada, por favor, selecciona otro archivo.",
"error_modal_photo_too_small_description": "La foto proporcionada es muy pequeña.",
"error_modal_no_phone_user_description_md": "Lo siento, no hay cuenta de **Telegram** asociada al número introducido.",
"error_modal_no_phone_users_description_md": "Lo siento, no hay cuentas de **Telegram** asociadas a los teléfonos introducidos.",
"error_modal_phonebook_required_description": "Telegram necesita acceso a la agenda de contactos para importar los contactos.",
"error_modal_bad_request_description": "Uno de los parámetros falta o es inválido.",
"error_modal_unauthorized_description": "Esta acción requiere autorización. Por favor {login-link: log in}.",
"error_modal_forbidden_description": "No estás autorizado a realizar esta acción.",
"error_modal_not_found_description": "La página no fue encontrada.",
"error_modal_flood_description": "Estás realizando demasiadas acciones. Por favor, inténtelo de nuevo.",
"error_modal_internal_description": "Error interno del servidor. Por favor, inténtelo más tarde.",
"error_modal_tech_details": "Detalles técnicos aquí",
"head_new_group": "Nuevo grupo",
"head_new_contact": "Nuevo contacto",
"head_contacts": "Contactos",
"head_contacts_title": "Contactos",
"head_settings": "Ajustes",
"head_log_out": "Salir",
"head_edit_messages": "Editar mensajes",
"head_media_photos": "Fotos",
"head_media_video": "Videos",
"head_media_documents": "Documentos",
"head_media_audio": "Mensajes de voz",
"head_about": "Sobre",
"head_clear_all": "Limpiar todo",
"head_edit": "Editar",
"head_typing": "escribiendo",
"head_pluralize_participants": "{'0': 'Nadie', 'one': '1 miembro', 'other': '{} miembros'}",
"head_one_typing": "{name1} está escribiendo{dots}",
"head_two_typing": "{name1}, {name2}{dots}",
"head_many_typing": "{name1}+{names}{dots}",
"head_waiting_for_network": "Esperando red",
"head_retry": "Reintentar",
"head_connecting": "Conectando",
"im_new_group": "Nuevo grupo",
"im_new_contact": "Nuevo contacto",
"im_contacts": "Contactos",
"im_contacts_title": "Contactos",
"im_settings": "Ajustes",
"im_conversations": "Conversaciones",
"im_messages": "Mensajes",
"im_no_contacts": "No hay contactos aún",
"im_get_started_long": "Comienza añadiendo un contacto a la conversación con",
"im_add_contact": "Añadir contacto",
"im_import_phonebook": "Importar agenda de contactos",
"im_get_started": "Get started",
"im_welcome_text": "Bienvenido a Telegram Web. Puedes establecer tu foto de perfil y cambiar tu nombre en Ajustes.",
"im_open_settings": "Abrir Ajustes",
"im_select_a_chat": "Por favor, selecciona una conversación para comenzar a conversar.",
"im_loading_history": "Cargando historial",
"im_info": "Información",
"im_edit": "Editar",
"im_media": "Media",
"im_media_photos": "Fotos",
"im_media_video": "Videos",
"im_media_documents": "Documentos",
"im_media_audio": "Mensajes de voz",
"im_pluralize_participants": "{'0': 'Nadie', 'one': '1 miembro', 'other': '{} miembros'}",
"im_show_recent_messages": "Mostrar mensajes recientes",
"im_show_all_messages": "Mostrar todos los mensajes",
"im_no_messages": "No hay mensajes aún",
"im_one_typing": "{name1} está escribiendo{dots}",
"im_two_typing": "{name1} and {name2} are typing{dots}",
"im_many_typing": "{name1}, {name2} and {count} more are typing{dots}",
"im_delete_chat": "Delete Chat",
"im_clear_history": "Clear History",
"im_delete": "Delete {count}",
"im_forward": "Forward {count}",
"im_photos_drop_text": "Drop photos here to send",
"im_message_field_placeholder": "Write a message...",
"im_media_attach_title": "Send media",
"im_attach_file_title": "Send file",
"im_emoji_btn_title": "Insert emoticon",
"im_submit_message": "Send",
"login_sign_in": "Sign in",
"login_enter_number_description": "Please choose your country and enter your full phone number.",
"login_incorrect_number": "Incorrect phone number",
"login_tel_input_placeholder": "Enter your phone",
"login_generating_key": "Generating keys",
"login_generating_keys_info": "Keys are only generated once. This can take a few minutes on slower devices, please be patient.",
"login_edit_number": "Edit phone number",
"login_enter_code_label_md": "Please enter the code you've just received in your other **Telegram** app",
"login_code_not_received": "Haven't received the code?",
"login_enter_sms_code_label_md": "We have sent you a code via SMS.\nPlease enter it below.",
"login_call_remaining": "Telegram will call you in {remaining}",
"login_calling": "Telegram is calling you",
"login_number_dialed": "Telegram dialed your number",
"login_incorrect_sms_code": "Incorrect SMS code",
"login_number_input_placeholder": "Enter your code",
"login_checking_code": "Checking code",
"login_your_info": "Your info",
"login_fulll_name_label": "Please enter your full name to set up a Telegram account.",
"login_incorrect_first_name": "Incorrect first name",
"login_first_name": "First name",
"login_incorrect_last_name": "Incorrect last name",
"login_last_name": "Last name",
"login_signing_up": "Signing up",
"login_sign_up": "Sign up",
"login_controller_unknown_country": "Unknown",
"message_forwarded_message": "Forwarded message",
"message_attach_audio_message": "Voice message",
"message_attach_audio_play": "Play",
"message_attach_document_open": "Open",
"message_attach_document_download": "Download",
"message_attach_video_video": "Video",
"message_attach_video_download": "Download",
"message_attach_video_play": "Play video",
"conversation_select_modal_title": "Seleccionar conversación",
"conversation_select_modal_contacts": "Contactos",
"phonebook_modal_title": "Agenda de contactos",
"phonebook_modal_deselect_all": "Deseleccionar todos",
"phonebook_modal_select_all": "Seleccionar todos",
"phonebook_modal_empty": "Tu agenda de contactos está vacía",
"phonebook_modal_submit_active": "Importando",
"phonebook_modal_submit": "Importar contactos",
"welcome_header_md": "**Telegram** Web",
"welcome_text_1_md": "This is an unofficial web-client for the **Telegram Messenger**.",
"welcome_text_2_md": "It's still an **alpha-version** and may not be 200% reliable",
"welcome_start_messaging": "Start Messaging",
"welcome_fast_messaging_header": "Fast messaging",
"welcome_fast_messaging_text": "Send messages with rich emoji support right from your desktop or laptop computer",
"welcome_easy_sharing_header": "Easy file sharing",
"welcome_easy_sharing_text": "Share files of any type using drag-and-drop or the attachment icon",
"welcome_powerful_tools_header": "Powerful tools",
"welcome_powerful_tools_text_md": "Browse shared media and files by type \n and set custom notifications",
"country_select_modal_country_ab": "Abjasia",
"country_select_modal_country_af": "Afganistán",
"country_select_modal_country_ax": "Islas Åland",
"country_select_modal_country_al": "Albania",
"country_select_modal_country_dz": "Argelia",
"country_select_modal_country_as": "Samoa Americana",
"country_select_modal_country_ad": "Andorra",
"country_select_modal_country_ao": "Angola",
"country_select_modal_country_ai": "Anguila",
"country_select_modal_country_ag": "Antigua y Barbuda",
"country_select_modal_country_ar": "Argentina",
"country_select_modal_country_am": "Armenia",
"country_select_modal_country_aw": "Aruba",
"country_select_modal_country_sh_ac": "Ascensión",
"country_select_modal_country_au": "Australia",
"country_select_modal_country_au_et": "Australia (Territorios externos)",
"country_select_modal_country_at": "Austria",
"country_select_modal_country_az": "Azerbaiyán",
"country_select_modal_country_bs": "Bahamas",
"country_select_modal_country_bh": "Baréin",
"country_select_modal_country_bd": "Bangladés",
"country_select_modal_country_bb": "Barbados",
"country_select_modal_country_ag_bar": "Barbuda",
"country_select_modal_country_by": "Bielorrusia",
"country_select_modal_country_be": "Bélgica",
"country_select_modal_country_bz": "Belice",
"country_select_modal_country_bj": "Benín",
"country_select_modal_country_bm": "Bermudas",
"country_select_modal_country_bt": "Bután",
"country_select_modal_country_bo": "Bolivia",
"country_select_modal_country_bq": "Bonaire",
"country_select_modal_country_ba": "Bosnia y Herzegovina",
"country_select_modal_country_bw": "Botsuana",
"country_select_modal_country_br": "Brasil",
"country_select_modal_country_io": "Territorio Británico del Océano Índico",
"country_select_modal_country_vg": "Islas Vírgenes Británicas",
"country_select_modal_country_bn": "Brunéi Darussalam",
"country_select_modal_country_bg": "Bulgaria",
"country_select_modal_country_bf": "Burkina Faso",
"country_select_modal_country_mm": "Birmania",
"country_select_modal_country_bi": "Burundi",
"country_select_modal_country_kh": "Camboya",
"country_select_modal_country_cm": "Camerún",
"country_select_modal_country_ca": "Canadá",
"country_select_modal_country_cv": "Cabo Verde",
"country_select_modal_country_ky": "Islas Caimán",
"country_select_modal_country_cf": "República Centroafricana",
"country_select_modal_country_td": "Chad",
"country_select_modal_country_cl": "Chile",
"country_select_modal_country_cn": "China",
"country_select_modal_country_cx": "Isla Navidad",
"country_select_modal_country_cc": "Islas Cocos (Keeling)",
"country_select_modal_country_co": "Colombia",
"country_select_modal_country_km": "Comoras",
"country_select_modal_country_cg": "Congo",
"country_select_modal_country_cd": "República Democrática del Congo (Zaire)",
"country_select_modal_country_ck": "Islas Cook",
"country_select_modal_country_cr": "Costa Rica",
"country_select_modal_country_ci": "Costa de Marfil",
"country_select_modal_country_hr": "Croacia",
"country_select_modal_country_cu": "Cuba",
"country_select_modal_country_cw": "Curazao",
"country_select_modal_country_cy": "Chipre",
"country_select_modal_country_cz": "República Checa",
"country_select_modal_country_dk": "Dinamarca",
"country_select_modal_country_dg": "Diego García",
"country_select_modal_country_dj": "Yibuti",
"country_select_modal_country_dm": "Dominica",
"country_select_modal_country_do": "República Dominicana",
"country_select_modal_country_tl": "Timor Oriental",
"country_select_modal_country_ec": "Ecuador",
"country_select_modal_country_eg": "Egipto",
"country_select_modal_country_sv": "El Salvador",
"country_select_modal_country_gq": "Guinea Ecuatorial",
"country_select_modal_country_er": "Eritrea",
"country_select_modal_country_ee": "Estonia",
"country_select_modal_country_et": "Etiopía",
"country_select_modal_country_fk": "Islas Malvinas",
"country_select_modal_country_fo": "Islas Feroe",
"country_select_modal_country_fj": "Fiyi",
"country_select_modal_country_fi": "Finlandia",
"country_select_modal_country_fr": "Francia",
"country_select_modal_country_gf": "Guayana Francesa",
"country_select_modal_country_pf": "Polinesia Francesa",
"country_select_modal_country_ga": "Gabón",
"country_select_modal_country_gm": "Gambia",
"country_select_modal_country_ge": "Georgia",
"country_select_modal_country_de": "Alemania",
"country_select_modal_country_gh": "Ghana",
"country_select_modal_country_gi": "Gibraltar",
"country_select_modal_country_gr": "Grecia",
"country_select_modal_country_gl": "Groenlandia",
"country_select_modal_country_gd": "Granada",
"country_select_modal_country_gp": "Guadalupe",
"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-Bisáu",
"country_select_modal_country_gy": "Guyana",
"country_select_modal_country_ht": "Haití",
"country_select_modal_country_hn": "Honduras",
"country_select_modal_country_hk": "Hong Kong",
"country_select_modal_country_hu": "Hungría",
"country_select_modal_country_is": "Islandia",
"country_select_modal_country_in": "India",
"country_select_modal_country_id": "Indonesia",
"country_select_modal_country_ir": "Irán",
"country_select_modal_country_iq": "Irak",
"country_select_modal_country_ie": "Irlanda",
"country_select_modal_country_il": "Israel",
"country_select_modal_country_it": "Italia",
"country_select_modal_country_jm": "Jamaica",
"country_select_modal_country_sj": "Jan Mayen",
"country_select_modal_country_jp": "Japón",
"country_select_modal_country_je": "Jersey",
"country_select_modal_country_jo": "Jordania",
"country_select_modal_country_kz": "Kazajistán",
"country_select_modal_country_ke": "Kenia",
"country_select_modal_country_ki": "Kiribati",
"country_select_modal_country_kp": "Corea del Norte",
"country_select_modal_country_kr": "Corea del Sur",
"country_select_modal_country_kw": "Kuwait",
"country_select_modal_country_kg": "Kirguistán",
"country_select_modal_country_la": "Laos",
"country_select_modal_country_lv": "Letonia",
"country_select_modal_country_lb": "Líbano",
"country_select_modal_country_ls": "Lesoto",
"country_select_modal_country_lr": "Liberia",
"country_select_modal_country_ly": "Libia",
"country_select_modal_country_li": "Liechtenstein",
"country_select_modal_country_lt": "Lituania",
"country_select_modal_country_lu": "Luxemburgo",
"country_select_modal_country_mo": "Macao",
"country_select_modal_country_mk": "Macedonia",
"country_select_modal_country_mg": "Madagascar",
"country_select_modal_country_mw": "Malaui",
"country_select_modal_country_my": "Malasia",
"country_select_modal_country_mv": "Maldivas",
"country_select_modal_country_ml": "Mali",
"country_select_modal_country_mt": "Malta",
"country_select_modal_country_mh": "Islas Marshall",
"country_select_modal_country_mq": "Martinica",
"country_select_modal_country_mr": "Mauritania",
"country_select_modal_country_mu": "Mauricio",
"country_select_modal_country_yt": "Mayotte",
"country_select_modal_country_mx": "México",
"country_select_modal_country_fm": "Micronesia",
"country_select_modal_country_md": "Moldavia",
"country_select_modal_country_mc": "Mónaco",
"country_select_modal_country_mn": "Mongolia",
"country_select_modal_country_me": "Montenegro",
"country_select_modal_country_ms": "Montserrat",
"country_select_modal_country_ma": "Marruecos",
"country_select_modal_country_mz": "Mozambique",
"country_select_modal_country_na": "Namibia",
"country_select_modal_country_nr": "Nauru",
"country_select_modal_country_np": "Nepal",
"country_select_modal_country_nl": "Países Bajos",
"country_select_modal_country_nc": "Nueva Caledonia",
"country_select_modal_country_nz": "Nueva Zelanda",
"country_select_modal_country_ni": "Nicaragua",
"country_select_modal_country_ne": "Níger",
"country_select_modal_country_ng": "Nigeria",
"country_select_modal_country_nu": "Niue",
"country_select_modal_country_nf": "Isla Norfolk",
"country_select_modal_country_mp": "Islas Marianas del Norte",
"country_select_modal_country_no": "Noruega",
"country_select_modal_country_om": "Omán",
"country_select_modal_country_pk": "Pakistán",
"country_select_modal_country_pw": "Palaos",
"country_select_modal_country_ps": "Palestina",
"country_select_modal_country_pa": "Panamá",
"country_select_modal_country_pg": "Papúa Nueva Guinea",
"country_select_modal_country_py": "Paraguay",
"country_select_modal_country_pe": "Perú",
"country_select_modal_country_ph": "Filipinas",
"country_select_modal_country_pn": "Islas Pitcairn",
"country_select_modal_country_pl": "Polonia",
"country_select_modal_country_pt": "Portugal",
"country_select_modal_country_pr": "Puerto Rico",
"country_select_modal_country_qa": "Qatar",
"country_select_modal_country_re": "Reunión",
"country_select_modal_country_ro": "Rumanía",
"country_select_modal_country_ru": "Rusia",
"country_select_modal_country_rw": "Ruanda",
"country_select_modal_country_bl": "San Bartolomé",
"country_select_modal_country_sh": "Santa Elena",
"country_select_modal_country_kn": "San Cristóbal y Nieves",
"country_select_modal_country_lc": "Santa Lucía",
"country_select_modal_country_mf": "San Martín (Francia)",
"country_select_modal_country_pm": "San Pedro y Miquelón",
"country_select_modal_country_vc": "San Vicente de las Granadinas",
"country_select_modal_country_ws": "Samoa",
"country_select_modal_country_sm": "San Marino",
"country_select_modal_country_st": "Santo Tomé y Príncipe",
"country_select_modal_country_sa": "Arabia Saudí",
"country_select_modal_country_sn": "Senegal",
"country_select_modal_country_rs": "Serbia",
"country_select_modal_country_sc": "Seychelles",
"country_select_modal_country_sl": "Sierra Leona",
"country_select_modal_country_sg": "Singapur",
"country_select_modal_country_nl_bq3": "San Eustaquio",
"country_select_modal_country_sx": "San Martín (Países Bajos)",
"country_select_modal_country_sk": "Eslovaquia",
"country_select_modal_country_si": "Eslovenia",
"country_select_modal_country_sb": "Islas Salomón",
"country_select_modal_country_so": "Somalia",
"country_select_modal_country_za": "Sudáfrica",
"country_select_modal_country_gs": "Islas Georgias del Sur y Sandwich del Sur",
"country_select_modal_country_ge_so": "Osetia del Sur",
"country_select_modal_country_ss": "Sudán del Sur",
"country_select_modal_country_es": "España",
"country_select_modal_country_lk": "Sri Lanka",
"country_select_modal_country_sd": "Sudán",
"country_select_modal_country_sr": "Surinam",
"country_select_modal_country_sj_no": "Svalbard",
"country_select_modal_country_sz": "Suazilandia",
"country_select_modal_country_se": "Suecia",
"country_select_modal_country_ch": "Suiza",
"country_select_modal_country_sy": "Siria",
"country_select_modal_country_tw": "Taiwan",
"country_select_modal_country_tj": "Tayikistán",
"country_select_modal_country_tz": "Tanzania",
"country_select_modal_country_th": "Tailandia",
"country_select_modal_country_tg": "Togo",
"country_select_modal_country_tk": "Tokelau",
"country_select_modal_country_to": "Tonga",
"country_select_modal_country_tt": "Trinidad y Tobago",
"country_select_modal_country_tn": "Túnez",
"country_select_modal_country_tr": "Turquía",
"country_select_modal_country_tm": "Turkmenistán",
"country_select_modal_country_tc": "Islas Turcas y Caicos",
"country_select_modal_country_tv": "Tuvalu",
"country_select_modal_country_ug": "Uganda",
"country_select_modal_country_ua": "Ucrania",
"country_select_modal_country_ae": "Emiratos Árabes Unidos",
"country_select_modal_country_uk": "Reino Unido",
"country_select_modal_country_us": "Estados Unidos",
"country_select_modal_country_uy": "Uruguay",
"country_select_modal_country_vi": "Islas Vírgenes de EE. UU.",
"country_select_modal_country_uz": "Uzbekistán",
"country_select_modal_country_vu": "Vanuatu",
"country_select_modal_country_ve": "Venezuela",
"country_select_modal_country_va": "Ciudad del Vaticano (Santa Sede)",
"country_select_modal_country_vn": "Vietnam",
"country_select_modal_country_wf": "Wallis y Futuna",
"country_select_modal_country_ye": "Yemen",
"country_select_modal_country_zm": "Zambia",
"country_select_modal_country_tz_uk": "Zanzíbar",
"country_select_modal_country_zw": "Zimbabue"
}

2
app/js/services.js

@ -3105,7 +3105,7 @@ angular.module('myApp.services', ['myApp.i18n'])
function attach () { function attach () {
MtpNetworkerFactory.setUpdatesProcessor(processUpdateMessage); MtpNetworkerFactory.setUpdatesProcessor(processUpdateMessage);
MtpApiManager.invokeApi('updates.getState').then(function (stateResult) { MtpApiManager.invokeApi('updates.getState', {noErrorBox: true}).then(function (stateResult) {
curState.seq = stateResult.seq; curState.seq = stateResult.seq;
curState.pts = stateResult.pts; curState.pts = stateResult.pts;
curState.date = stateResult.date; curState.date = stateResult.date;

2
app/manifest.webapp

@ -1,6 +1,6 @@
{ {
"name": "Telegram", "name": "Telegram",
"description": "UNOFFICIAL Telegram Web App.\nMore info & source code here: https://github.com/zhukov/webogram", "description": "Telegram Web App.\nMore info & source code here: https://github.com/zhukov/webogram",
"version": "0.3.0", "version": "0.3.0",
"type": "privileged", "type": "privileged",
"launch_path": "/index.html", "launch_path": "/index.html",

3
app/partials/desktop/confirm_modal.html

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

6
app/partials/desktop/lang_footer.html

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

2
app/partials/desktop/login.html

@ -83,4 +83,4 @@
</div> </div>
<div my-lang-footer></div> <!-- <div my-lang-footer></div> -->
Loading…
Cancel
Save