Skip to content

Commit a424d47

Browse files
authored
Merge pull request #689 from carlosDigio/feat/add-spanish-translation
Add ES (Spanish) translation
2 parents ab1ea89 + 82adb63 commit a424d47

File tree

4 files changed

+81
-69
lines changed

4 files changed

+81
-69
lines changed

MeetingBar.xcodeproj/project.pbxproj

+3
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
46E4794D2802141800B48059 /* Calendar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Calendar.swift; sourceTree = "<group>"; };
123123
46E4794F2802155700B48059 /* Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = "<group>"; };
124124
46E4795128023A0C00B48059 /* HelpersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpersTests.swift; sourceTree = "<group>"; };
125+
783C50AD2B760A3100DF0C9A /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = "<group>"; };
125126
A7B68FA225CDE9E200CA3A68 /* URL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URL.swift; sourceTree = "<group>"; };
126127
D6D68C5327BCF93D009E8469 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = "<group>"; };
127128
E23954672628BF89003ECCB3 /* BrowserConfigView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BrowserConfigView.swift; sourceTree = "<group>"; };
@@ -416,6 +417,7 @@
416417
he,
417418
tr,
418419
it,
420+
es,
419421
);
420422
mainGroup = 144C01702462D0C3000C9FFC;
421423
packageReferences = (
@@ -585,6 +587,7 @@
585587
14B08ACB27498308002E3892 /* he */,
586588
E48FB770279B3A820071CC5A /* tr */,
587589
D6D68C5327BCF93D009E8469 /* it */,
590+
783C50AD2B760A3100DF0C9A /* es */,
588591
);
589592
name = Localizable.strings;
590593
sourceTree = "<group>";

MeetingBar/Constants.swift

+1
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ enum AppLanguage: String, Codable {
172172
case turkish = "tr"
173173
case italian = "it"
174174
case portuguese = "pt-BR"
175+
case spanish = "es"
175176
}
176177

177178
struct Browser: Encodable, Decodable, Hashable {

MeetingBar/Resources /Localization /es.lproj/Localizable.strings

+76-69
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1+
/*
2+
Localizable.strings
3+
MeetingBar
14

5+
Created by Sergey Ryazanov on 19.03.2021.
6+
Copyright © 2021 Andrii Leitsius. All rights reserved.
7+
*/
28

39
"general_ok" = "Aceptar";
410
"general_cancel" = "Cancelar";
@@ -7,50 +13,26 @@
713
"general_delete" = "Borrar";
814
"general_save" = "Guardar";
915
"general_when_event_starts" = "cuando empiece el evento";
10-
"general_three_minute_before" = "3 minutos antes";
1116
"general_one_minute_before" = "1 minuto antes";
17+
"general_three_minute_before" = "3 minutos antes";
1218
"general_five_minute_before" = "5 minutos antes";
13-
"create_meeting_error_title" = "No se puede crear una nueva reunión";
1419
"general_meeting" = "Reunión";
1520
"create_meeting_error_message" = "URL personalizada \"%@\" no disponible o inválida. ";
21+
"create_meeting_error_title" = "No se puede crear una nueva reunión";
1622
"next_meeting_empty_title" = "No hay más reuniones pendientes hoy";
17-
"next_meeting_empty_message" = "Woohoo! Hora de preparar un chocolate";
23+
"next_meeting_empty_message" = "¡Woohoo! Hora de preparar un chocolate";
1824

1925
// MARK: - Window titles
2026

2127
"window_title_preferences" = "Preferencias de MeetingBar";
2228
"window_title_onboarding" = "Bienvenido a MeetingBar";
23-
"preferences_services_supported_links_mailback" = "Si el servicio que utilizas no es compatible, puedes enviar un correo electrónico a los desarrolladores";
24-
"preferences_services_create_meeting_custom_url_value" = "URL personalizada";
25-
"preferences_services_create_meeting_custom_url_placeholder" = "Por favor, proporciona una URL válida (con http:// o https://)";
26-
"preferences_configure_browsers_delete_alert_message" = "¿Eliminar la configuración del navegador %@?";
27-
"preferences_configure_browsers_add_button_browser_title" = "Navegador web";
28-
"preferences_configure_browsers_add_button_all_system_title" = "Todos los navegadores web del sistema";
29-
"preferences_configure_browsers_modal_edit_browser_title" = "Editar navegador web";
30-
"preferences_configure_browsers_choose_broser_panel_message" = "Seleccionar desde dónde ejecutar el navegador web.";
31-
32-
// MARK: - Preferences Bookmarks
33-
34-
"preferences_bookmarks_no_bookmarks_placeholder" = "No hay marcadores todavía";
35-
"preferences_tab_services" = "Servicios";
36-
"preferences_general_patron_three_months" = "3 meses - 2.99 USD";
37-
"preferences_general_patron_description" = "Son compras únicas y no se renovarán automáticamente.";
38-
"preferences_appearance_events_show_events_for_today_tomorrow_value" = "hoy y mañana";
39-
"preferences_appearance_events_non_all_day_title" = "Otros eventos:";
40-
"preferences_appearance_events_past_title" = "Eventos pasados:";
41-
"preferences_appearance_events_value_show" = "mostrar";
42-
"preferences_appearance_status_bar_title_title" = "Título";
43-
"preferences_appearance_status_bar_title_event_title_value" = "título del evento";
44-
"preferences_appearance_status_bar_title_shorten_stepper" = "acortar a %d caracteres";
45-
"preferences_appearance_menu_shorten_event_title_stepper" = "%d caracteres";
46-
"preferences_appearance_menu_time_format_12_hour_value" = "12-horas (AM/PM)";
47-
"preferences_appearance_menu_show_event_title" = "Mostrar evento:";
4829
"windows_title_changelog" = "MeetingBar - Novedades";
4930

5031
// MARK: - Preferences tabs
5132

5233
"preferences_tab_general" = "General";
5334
"preferences_tab_appearance" = "Apariencia";
35+
"preferences_tab_services" = "Servicios";
5436
"preferences_tab_bookmarks" = "Marcadores";
5537
"preferences_tab_calendars" = "Calendarios";
5638
"preferences_tab_advanced" = "Avanzado";
@@ -71,8 +53,10 @@
7153
"preferences_general_external_patronage" = "Patrocinio";
7254
"preferences_general_external_contact" = "Contacto";
7355
"preferences_general_patron_title" = "Conviértete en Patron";
56+
"preferences_general_patron_three_months" = "3 meses - 2.99 USD";
7457
"preferences_general_patron_six_months" = "6 meses - 5.99 USD";
7558
"preferences_general_patron_twelve_months" = "12 meses - 11.99 USD";
59+
"preferences_general_patron_description" = "Son compras únicas y no se renovarán automáticamente.";
7660
"preferences_general_patron_thank_for_purchase" = "¡Gracias! Has dado soporte a MeetingBar para %d meses 🎉";
7761
"preferences_general_patron_restore_purchases" = "Restaurar compras";
7862
"preferences_general_feedback_title" = "Si tienes alguna pregunta o comentario,\nno dudes en ponerte en contacto:";
@@ -83,26 +67,33 @@
8367
"preferences_appearance_events_title" = "Eventos";
8468
"preferences_appearance_events_show_events_for_title" = "Mostrar eventos de";
8569
"preferences_appearance_events_show_events_for_today_value" = "hoy";
70+
"preferences_appearance_events_show_events_for_today_tomorrow_value" = "hoy y mañana";
71+
"preferences_appearance_events_non_all_day_title" = "Otros eventos:";
8672
"preferences_appearance_events_value_inactive_without_meeting_link" = "mostrar como inactivos si no tienen enlace de reunión";
8773
"preferences_appearance_events_value_hide_without_meeting_link" = "ocultar todos los que no tengan enlace de reunión";
8874
"preferences_appearance_events_all_day_title" = "Eventos de todo el día:";
8975
"preferences_appearance_events_without_guest_title" = "Eventos sin invitados:";
76+
"preferences_appearance_events_past_title" = "Eventos pasados:";
9077
"preferences_appearance_events_pending_title" = "Eventos pendientes";
9178
"preferences_appearance_events_declined_title" = "Eventos rechazados:";
9279
"preferences_appearance_events_tentative_title" = "Eventos sin confirmar:";
80+
"preferences_appearance_events_value_show" = "mostrar";
9381
"preferences_appearance_events_value_hide" = "ocultar";
9482
"preferences_appearance_events_value_as_inactive" = "mostrar como inactivo";
9583
"preferences_appearance_events_value_as_underlined" = "mostrar como subrayado";
9684
"preferences_appearance_events_value_with_strikethrough" = "mostrar como tachado";
9785
"preferences_appearance_events_value_only_with_link" = "mostrar solo con enlaces de reunión";
9886
"preferences_appearance_status_bar_title" = "Barra de estado";
9987
"preferences_appearance_status_bar_icon_title" = "Icono";
100-
"preferences_appearance_status_bar_icon_app_icon_value" = " MeetingBar";
101-
"preferences_appearance_status_bar_icon_calendar_icon_value" = " Calendario";
102-
"preferences_appearance_status_bar_icon_specific_icon_value" = " Icono específico de evento (p. ej. MS Teams)";
103-
"preferences_appearance_status_bar_icon_no_icon_value" = " Sin icono";
88+
"preferences_appearance_status_bar_icon_app_icon_value" = "\U00A0MeetingBar";
89+
"preferences_appearance_status_bar_icon_calendar_icon_value" = "\U00A0Calendario";
90+
"preferences_appearance_status_bar_icon_specific_icon_value" = "\U00A0Icono específico de evento (p. ej. MS Teams)";
91+
"preferences_appearance_status_bar_icon_no_icon_value" = "\U00A0Sin icono";
92+
"preferences_appearance_status_bar_title_title" = "Título";
93+
"preferences_appearance_status_bar_title_event_title_value" = "título del evento";
10494
"preferences_appearance_status_bar_title_dot_value" = "punto (•)";
10595
"preferences_appearance_status_bar_title_hide_value" = "ocultar";
96+
"preferences_appearance_status_bar_title_shorten_stepper" = "acortar a %d caracteres";
10697
"preferences_appearance_status_bar_time_title" = "Hora";
10798
"preferences_appearance_status_bar_time_show_value" = "mostrar";
10899
"preferences_appearance_status_bar_time_show_under_title_value" = "mostrar bajo título";
@@ -111,9 +102,12 @@
111102
"preferences_appearance_status_bar_next_event_stepper" = "%d minutos";
112103
"preferences_appearance_menu_title" = "Menú";
113104
"preferences_appearance_menu_shorten_event_title_toggle" = "Acortar título de evento a";
105+
"preferences_appearance_menu_shorten_event_title_stepper" = "%d caracteres";
114106
"preferences_appearance_menu_time_format_title" = "Formato de hora:";
107+
"preferences_appearance_menu_time_format_12_hour_value" = "12-horas (AM/PM)";
115108
"preferences_appearance_menu_time_format_24_hour_value" = "24-horas";
116-
"preferences_appearance_menu_show_event_end_time_value" = "hora finalización";
109+
"preferences_appearance_menu_show_event_title" = "Mostrar evento:";
110+
"preferences_appearance_menu_show_event_end_time_value" = "hora fin";
117111
"preferences_appearance_menu_show_event_icon_value" = "icono";
118112
"preferences_appearance_menu_show_event_details_value" = "detalles como submenú";
119113

@@ -123,21 +117,33 @@
123117
"preferences_services_link_service_title" = "Abrir enlaces %@ en";
124118
"preferences_services_link_default_browser_value" = "Navegador web por defecto";
125119
"preferences_services_supported_links_list" = "Enlaces admitidos para servicios:\n%@";
120+
"preferences_services_supported_links_mailback" = "Si el servicio que utilizas no es compatible, puedes enviar un correo electrónico a los desarrolladores";
126121
"preferences_services_create_meeting_title" = "Crear reuniones vía";
122+
"preferences_services_create_meeting_custom_url_value" = "URL personalizada";
123+
"preferences_services_create_meeting_custom_url_placeholder" = "Por favor, proporciona una URL válida (con http:// o https://)";
127124
"preferences_services_google_meet_tip" = "Consejo: Google Meet admite seleccionar cuenta en la URL, p. ej. https://meet.google.com/new?authuser=1";
128125
"preferences_services_create_meeting_browser_title" = "Usar navegador web";
129126

130127
// MARK: - Preferences Services Browsers Configuration
131128

132129
"preferences_configure_browsers_button" = "Configurar navegadores web";
133130
"preferences_configure_browsers_delete_alert_title" = "¿Eliminar la configuración del navegador web?";
131+
"preferences_configure_browsers_delete_alert_message" = "¿Eliminar la configuración del navegador %@?";
132+
"preferences_configure_browsers_add_button_browser_title" = "Navegador web";
133+
"preferences_configure_browsers_add_button_all_system_title" = "Todos los navegadores web del sistema";
134134
"preferences_configure_browsers_modal_add_browser_title" = "Añadir navegador web";
135+
"preferences_configure_browsers_modal_edit_browser_title" = "Editar navegador web";
135136
"preferences_configure_browsers_modal_add_browser_name" = "Nombre";
136137
"preferences_configure_browsers_modal_add_browser_path" = "Ruta";
137138
"preferences_configure_browsers_modal_add_browser_choose_browser_button_title" = "Seleccionar navegador web";
138139
"preferences_configure_browsers_modal_alert_title" = "No se puede añadir la configuración del navegador";
139140
"preferences_configure_browsers_choose_broser_panel_title" = "Seleccionar aplicación de navegador web";
140141
"preferences_configure_browsers_choose_broser_panel_prompt" = "Seleccionar navegador web";
142+
"preferences_configure_browsers_choose_broser_panel_message" = "Seleccionar desde dónde ejecutar el navegador web.";
143+
144+
// MARK: - Preferences Bookmarks
145+
146+
"preferences_bookmarks_no_bookmarks_placeholder" = "No hay marcadores todavía";
141147
"preferences_bookmarks_delete_bookmark_title" = "¿Borrar marcador?";
142148
"preferences_bookmarks_delete_bookmark_message" = "¿Borrar marcador %@?";
143149
"preferences_bookmarks_add_bookmark_button" = "Añadir marcador";
@@ -169,23 +175,6 @@
169175
"preferences_advanced_edit_script" = "Editar script";
170176
"preferences_advanced_save_script_button" = "Guardar script";
171177
"preferences_advanced_wrong_location_title" = "Ubicación incorrecta";
172-
173-
// MARK: - Notifications
174-
175-
"notifications_event_start_soon_body" = "El evento empieza pronto";
176-
"notifications_event_started_body" = "El evento ha empezado";
177-
"notifications_event_start_one_minute_body" = "El evento empieza en un minuto";
178-
"notifications_event_start_three_minutes_body" = "El evento empieza en tres minutos";
179-
"notifications_event_start_five_minutes_body" = "El evento empieza en cinco minutos";
180-
"notifications_snooze_until_start" = "Posponer hasta la hora de inicio";
181-
"notifications_snooze_for" = "Posponer por %@ min";
182-
183-
184-
// MARK: - Link open
185-
186-
"link_url_cant_open_title" = "¡Oops! No se puede abrir el enlace en %@";
187-
"link_url_cant_open_message" = "Asegúrate de tener %@ instalado, o abre esos enlaces en un navegador web desde preferencias en su lugar.";
188-
"notifications_meetingbar_join_event_action" = "Unirse";
189178
"preferences_advanced_wrong_location_message" = "Por favor, selecciona la carpeta Usuario → Library → Application Scripts → leits.MeetingBar";
190179
"preferences_advanced_wrong_location_button" = "¡Conseguido!";
191180
"preferences_advanced_event_regex_title" = "Expresiones regulares personalizadas para filtrar reuniones";
@@ -209,8 +198,8 @@
209198
"status_bar_menu_remove_all_dismissals" = "Borrar todos los descartados";
210199
"status_bar_event_dismissed_mark" = "descartado";
211200
"notification_next_meeting_dismissed_title" = "%@ descartado";
212-
"notification_all_dismissals_removed_title" = "Eliminar todos los descartados";
213201
"notification_next_meeting_dismissed_message" = "Puedes borrar reuniones descartadas desde Acciones Rápidas";
202+
"notification_all_dismissals_removed_title" = "Eliminar todos los descartados";
214203
"notification_all_dismissals_removed_message" = "Todas las reuniones descartadas vuelven a estar activas";
215204
"status_bar_section_join_create_meeting" = "Crear reunión";
216205
"status_bar_section_bookmarks_title" = "Marcadores";
@@ -222,7 +211,7 @@
222211
"status_bar_submenu_status_title" = "Estado: %@";
223212
"status_bar_submenu_status_accepted" = " 👍 Aceptado";
224213
"status_bar_submenu_status_declined" = " 👎 Declinado";
225-
"status_bar_submenu_status_tentative" = " ☝️Quizás";
214+
"status_bar_submenu_status_tentative" = " ☝️ Quizás";
226215
"status_bar_submenu_status_pending" = " ⏳ Pendiente";
227216
"status_bar_submenu_status_unknown" = " ❔ Desconocido";
228217
"status_bar_submenu_status_default_extended" = " ❔ (%@)";
@@ -256,6 +245,7 @@
256245
"status_bar_error_link_missed_message" = "Enlace no encontrado, o tu servicio de reuniones no está soportado todavía";
257246
"status_bar_error_app_link_title" = "¡Ups! No se puede abrir el enlace en %@";
258247
"status_bar_error_app_link_message" = "Asegúrate de que tengas instalado %@, o abre esos enlaces en un navegador web desde preferencias en su lugar.";
248+
259249
// MARK: - Welcome screen
260250

261251
"welcome_screen_greeting_main_title" = "¡Hola! MeetingBar es una aplicación tan sencilla que casi todo está listo.";
@@ -264,23 +254,6 @@
264254
"welcome_screen_shortcut_next_meeting_title" = "Únete a la siguiente reunión del evento con su propio atajo:";
265255
"welcome_screen_ad_hoc_meeting_title" = "Crea reuniones ad hoc en ";
266256
"welcome_screen_shortcut_ad_hoc_meeting_title" = "con tu propio atajo:";
267-
"constants_meeting_service_url" = "URL";
268-
"constants_browser_defaultBrowser" = "Navegador web por defecto";
269-
270-
// MARK: - Store
271-
272-
"store_patronage_title" = "Patrocinio MeetingBar";
273-
"store_patronage_restore_success_message" = "Restaurado";
274-
"store_patronage_restore_nothing_message" = "Nada para restaurar";
275-
"store_patronage_purchase_success_message" = "Compra realizada. ¡Gracias por tu apoyo!";
276-
"store_patronage_purchase_unknown_message" = "Error desconocido. Por favor, contacta con soporte.";
277-
"store_patronage_purchase_client_invalid_message" = "No está permitido hacer el pago";
278-
"store_patronage_purchase_payment_invalid_message" = "Identificador de compra inválido";
279-
"store_patronage_purchase_payment_not_allowed_message" = "El dispositivo no está permitido para efectuar el pago";
280-
"store_patronage_purchase_store_product_not_available_message" = "El producto no está disponible en la tienda actual";
281-
"store_patronage_purchase_cloud_service_permission_denied_message" = "Acceso al servicio de información en la nube no permitido";
282-
"store_patronage_purchase_cloud_service_network_connection_failed" = "No se pudo conectar a la red";
283-
"store_patronage_purchase_cloud_service_revoked_message" = "El usuario ha revocado el permiso para utilizar este servicio en la nube";
284257
"welcome_screen_setup_calendar_title" = "Configura calendarios";
285258

286259
// MARK: - Calendars screen
@@ -317,7 +290,41 @@
317290
"shared_automatic_event_join_tip" = "Este ajuste automáticamente abrirá tu próxima reunión en la aplicación o navegador configurado";
318291

319292
// MARK: - Constants
293+
320294
"constants_create_meeting_service_url" = "URL personalizada";
321295
"constants_meeting_service_phone" = "Número de teléfono";
322296
"constants_meeting_service_zoom_native" = "Zoom nativo";
323297
"constants_meeting_service_other" = "Otro";
298+
"constants_meeting_service_url" = "URL";
299+
"constants_browser_defaultBrowser" = "Navegador web por defecto";
300+
301+
// MARK: - Store
302+
303+
"store_patronage_title" = "Patrocinio MeetingBar";
304+
"store_patronage_restore_success_message" = "Restaurado";
305+
"store_patronage_restore_nothing_message" = "Nada para restaurar";
306+
"store_patronage_purchase_success_message" = "Compra realizada. ¡Gracias por tu apoyo!";
307+
"store_patronage_purchase_unknown_message" = "Error desconocido. Por favor, contacta con soporte.";
308+
"store_patronage_purchase_client_invalid_message" = "No está permitido hacer el pago";
309+
"store_patronage_purchase_payment_invalid_message" = "Identificador de compra inválido";
310+
"store_patronage_purchase_payment_not_allowed_message" = "El dispositivo no está permitido para efectuar el pago";
311+
"store_patronage_purchase_store_product_not_available_message" = "El producto no está disponible en la tienda actual";
312+
"store_patronage_purchase_cloud_service_permission_denied_message" = "Acceso al servicio de información en la nube no permitido";
313+
"store_patronage_purchase_cloud_service_network_connection_failed" = "No se puede conectar a la red";
314+
"store_patronage_purchase_cloud_service_revoked_message" = "El usuario ha revocado el permiso para utilizar este servicio en la nube";
315+
316+
// MARK: - Notifications
317+
318+
"notifications_event_start_soon_body" = "El evento empieza pronto";
319+
"notifications_event_started_body" = "El evento ha empezado";
320+
"notifications_event_start_one_minute_body" = "El evento empieza en un minuto";
321+
"notifications_event_start_three_minutes_body" = "El evento empieza en tres minutos";
322+
"notifications_event_start_five_minutes_body" = "El evento empieza en cinco minutos";
323+
"notifications_snooze_until_start" = "Posponer hasta la hora de inicio";
324+
"notifications_snooze_for" = "Posponer por %@ min";
325+
"notifications_meetingbar_join_event_action" = "Unirse";
326+
327+
// MARK: - Link open
328+
329+
"link_url_cant_open_title" = "¡Ups! No se puede abrir el enlace en %@";
330+
"link_url_cant_open_message" = "Asegúrate de tener %@ instalado o abre esos enlaces en un navegador web desde preferencias en su lugar.";

MeetingBar/Views/Shared.swift

+1
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ struct LaunchAtLoginANDPreferredLanguagePicker: View {
108108
Text("Türkçe").tag(AppLanguage.turkish)
109109
Text("Italiano").tag(AppLanguage.italian)
110110
Text("Português").tag(AppLanguage.portuguese)
111+
Text("Español").tag(AppLanguage.spanish)
111112
}
112113
}
113114
}.frame(width: 250)

0 commit comments

Comments
 (0)