diff --git a/README.md b/README.md index 7b65736..af5455b 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,8 @@ SharedMoments is a website that allows a couple to capture their shared moments. Translations are currently available for the following languages: - de_DE - en_US +- pt_BR +- es_ES If you would like to help with the translation, please see the [wiki](https://github.com/tech-kev/SharedMoments/wiki#-translation) for more informations. diff --git a/locales/es_ES.json b/locales/es_ES.json new file mode 100644 index 0000000..7c037e3 --- /dev/null +++ b/locales/es_ES.json @@ -0,0 +1,293 @@ +{ + "locale": "es_ES", + + "password_saved_successful": "Contraseña guardada con éxito.", + "password_updated_successful": "Contraseña actualizada con éxito.", + "wrong_password": "¡Contraseña incorrecta! Pero no te preocupes, incluso Einstein tenía días malos. ¡Inténtalo de nuevo!", + "username_or_password_wrong": "¡Nombre de usuario o contraseña incorrectos!", + "enter_password": "Introduce una contraseña", + "password": "Contraseña", + "confirm_password": "Confirmar contraseña", + "no_password_entered": "Por favor, introduce una contraseña.", + "password_no_match": "¡Las contraseñas no coinciden!", + + "login_successful": "Inicio de sesión exitoso", + "login_failed": "Error en el inicio de sesión", + + "check_serverlogs": "¡Por favor, revisa los registros del servidor!", + + "setup_completed": "Configuración completada", + "setup_finished": "Configuración completada con éxito", + "setup_incomplete": "Configuración incompleta", + "setup_state_not_available": "¡No se pudo leer el estado de la configuración!", + "checkSetupStateError": "¡Error al verificar el estado de la configuración!", + "setup_finish_error": "¡Error al finalizar la configuración!", + "complete_setup": "Completar configuración", + + "session_id_is_valid": "ID de sesión válido", + "session_id_is_invalid": "ID de sesión inválido o expirado", + "session_id_deleted_successful": "ID de sesión eliminado con éxito", + "session_id_error": "Error al verificar el ID de sesión", + + "not_all_values_set": "¡No todos los valores están completos! ¿Te has olvidado de algo en el horno?", + "no_database_env_set": "¡Variables de entorno de la base de datos no especificadas por completo! Es como una pizza sin ingredientes.", + + "bucketlist_items_loaded_successful": "Elementos de la lista de deseos cargados con éxito", + "bucketlist_item_saved_successful": "Elemento de la lista de deseos creado con éxito", + "bucketlist_item_updated_successful": "Elemento de la lista de deseos actualizado con éxito", + "bucketlist_item_deleted_successful": "Elemento de la lista de deseos eliminado con éxito", + "bucketlist_title": "Lista de Deseos", + "new_bucketlist_entry": "¿Cuál es tu próxima aventura?", + "loadBucketlistError": "¡Error al cargar la lista de deseos!", + "enter_name_for_entry": "Por favor, dale un nombre a tu entrada.", + + "feed_items_loaded_successful": "Elementos del feed cargados con éxito", + "feed_item_loaded_successful": "Elemento del feed cargado con éxito", + "feed_item_saved_successful": "Elemento del feed creado con éxito", + "feed_item_updated_successful": "Elemento del feed actualizado con éxito", + "feed_item_deleted_successful": "Elemento del feed eliminado con éxito", + "no_feed_item_id": "No se ha especificado el ID del elemento del feed.", + "loadFeedItemsError": "¡Error al cargar elementos del feed!", + "enter_title": "¡Por favor, introduce un título!", + "enter_desc_for_feed_entry": "Por favor, introduce una descripción.", + "adapt_order_of_files_with_arrows": "Ajusta el orden de las imágenes usando las flechas.", + "our_moments": "Nuestros Momentos", + + "filmlist_items_loaded_successful": "Elementos de la lista de películas cargados con éxito", + "filmlist_item_saved_successful": "Elemento de la lista de películas creado con éxito", + "filmlist_item_updated_successful": "Elemento de la lista de películas actualizado con éxito", + "filmlist_item_deleted_successful": "Elemento de la lista de películas eliminado con éxito", + "filmlist_title": "Lista de Películas", + "new_filmlist_entry": "¡Añade una película para tu próxima noche de palomitas!", + "loadFilmlistError": "¡Error al cargar la lista de películas!", + "enter_filmname": "¡Por favor, introduce el nombre de la película!", + + "moments_items_loaded_successful": "Elementos de momentos cargados con éxito", + "moments_item_loaded_successful": "Elemento de momento cargado con éxito", + "moments_item_saved_successful": "Elemento de momento creado con éxito", + "moments_item_updated_successful": "Elemento de momento actualizado con éxito", + "moments_item_deleted_successful": "Elemento de momento eliminado con éxito", + "no_moments_item_id": "¡No se ha especificado el ID del elemento de momento!", + "moments_title": "Nuestros Momentos Especiales", + "loadMomentsError": "¡Error al cargar los momentos!", + + "token_loaded_successful": "Token de push cargado con éxito", + "token_available": "Token de push disponible", + "token_saved_successful": "Token de push creado con éxito", + "token_deleted_successful": "Token de push eliminado con éxito", + "token_loaded_failed": "Error al verificar el token de push.", + "token_found": "Token encontrado", + "token_not_found": "¡Token no encontrado!", + "token_deleted": "Token eliminado", + "load_push_key_error": "Error al cargar las claves de push", + "webpush_response_code": "Código de Respuesta WebPush", + "status": "Estado", + + "menu_loaded_successful": "Menú cargado con éxito", + "menuentry_saved_successful": "Entrada de menú de página creada con éxito", + "menuentry_updated_successful": "Entrada de menú de página actualizada con éxito", + "menuentry_deleted_successful": "Entrada de menú de página eliminada con éxito", + + "setting_loaded_successful": "Configuración cargada con éxito", + "setting_updated_successful": "Configuración actualizada con éxito", + "setting_updated_failed": "Error al actualizar la configuración", + + "days_together_text_loaded_sucessful": "Texto de días juntos cargado con éxito", + + "aniversary_date_loaded_sucessful": "Fecha de aniversario cargada con éxito", + "aniversary_date_updated_sucessful": "Fecha de aniversario actualizada con éxito", + "anniversary_date_loaded_failed": "¡No se pudo cargar la fecha de aniversario!", + "loadAnniversaryDateError": "¡Error al cargar la fecha de aniversario!", + "updateAnniversaryDateError": "¡Error al actualizar la fecha de aniversario!", + "enterAnniversaryDate": "Por favor, introduce una fecha de aniversario.", + + "wedding_date_loaded_sucessful": "Fecha de boda cargada con éxito", + "wedding_date_updated_sucessful": "Fecha de boda actualizada con éxito", + "wedding_date_loaded_failed": "¡Error al cargar la fecha de boda!", + "loadWeddingDateError": "¡Error al cargar la fecha de boda!", + "updateWeddingDateError": "¡Error al actualizar la fecha de boda!", + "enterWeddingDate": "Por favor, introduce una fecha de boda.", + + "loadMainDateError": "¡Error al cargar la fecha principal!", + + "today_is_a_special_day": "¡Hoy es un día especial!", + "anniversary_name_year": "Aniversario", + "anniversary_name_halfyear": "Medio Aniversario", + "anniversary_name_month": "Mensario", + "anniversary_today_is_text": "Hoy es nuestro", + "loadSpecialDayError": "¡Error al cargar el día especial!", + "special_day_loaded_sucessful": "Día especial cargado con éxito", + + "wedding_name_year": "Día de la Boda", + + "main_title_loaded_sucessful": "Título principal cargado con éxito", + "main_title_updated_sucessful": "Título principal cambiado con éxito", + "main_title_loaded_failed": "¡No se pudo cargar el título principal!", + "loadMainTitleError": "¡Error al cargar el título principal!", + "updateMainTitleError": "¡Error al actualizar el título principal!", + "enterMainTitle": "Por favor, introduce un título principal.", + + "file_upload_sucessful": "Archivo subido con éxito", + "wrong_upload_type": "¡Tipo de subida incorrecto!", + "invalid_filetype": "¡Tipo de archivo inválido!", + + "stats_loaded_sucessful": "Estadísticas cargadas con éxito", + + "database_connection_failed": "¡Error al conectar con la base de datos!", + "option_not_found": "¡Opción no encontrada!", + "user_not_found": "¡Usuario no encontrado!", + + "sleep_for": "Dormir por", + "cleaning_script_number_of_deleted_files": "Script de limpieza: Número de archivos multimedia eliminados", + "cleaning_script_number_of_missing_files": "Número de archivos multimedia perdidos", + "missing_mediafiles": "Archivos multimedia perdidos", + "no_admin_mails_set": "¡No se han especificado correos electrónicos de administrador!", + "admin_mails_format_invalid": "Formato inválido para MAIL_ADMIN. ¡Asegúrate de que sea una lista JSON válida de direcciones de correo electrónico!", + "mail_tile_missing_files": "[ADVERTENCIA] ¡Archivos multimedia perdidos encontrados!", + "handle_missing_mediafiles": "Parece que algunos archivos multimedia se han ido de vacaciones. Puede que quieras revisar la carpeta de subidas y asegurarte de que todo esté en su lugar.", + + "mail_send_successful": "Correo enviado con éxito", + "mail_send_failed": "Error al enviar el correo", + "mail_not_configured": "¡Correo no configurado!", + "receiver_mails_format_invalid": "Formato inválido para MAIL_RECEIVER_MAILS. ¡Asegúrate de que sea una lista JSON válida de direcciones de correo electrónico!", + + "telegrambot_token_not_found": "Token del bot de Telegram no encontrado. ¿Lo has buscado debajo del sofá?", + "chat_id_format_invalid": "Formato inválido para TG_CHAT_ID. ¡Asegúrate de que sea una lista JSON válida de IDs de chat y que la variable de entorno 'TG_CHAT_IDS' esté establecida!", + "telegrambot_message_send_successful": "¡Mensajes de Telegram enviados con éxito!", + "telegrambot_token_found": "Token del bot de Telegram encontrado", + "telegrambot_not_configured": "¡Bot de Telegram no configurado!", + + "days_together_text_loaded_failed": "¡Ups! No pudimos cargar el texto de 'días juntos'.", + "day": "día", + "days": "días", + "month": "mes", + "months": "meses", + "year": "año", + "years": "años", + + "text": "Hemos estado {relationship_status} durante {years_count}, {months_count} y {days_count}. Eso equivale a {diffInMonthsTotal} meses, o {diffInWeeksTotal} semanas o {diffInDays} días.", + "loadDaysTogetherError": "¡Ups! Hubo un problema al cargar el texto de 'días juntos'.", + + "usera_loading_failed": "El usuario A parece estar desaparecido. ¡No pudimos cargarlo!", + "userb_loading_failed": "El usuario B parece estar desaparecido. ¡No pudimos cargarlo!", + "enter_relationship": "¡No seas tímido! Por favor, selecciona un estado de relación.", + + "overview": "Resumen", + "home": "Inicio", + "filmlist": "Lista de Películas", + "bucketlist": "Lista de Deseos", + "settings": "Configuración", + + "add": "Añadir", + "cancel": "Cancelar", + "save": "Guardar", + "delete": "Eliminar", + "back": "Atrás", + + "title": "Título", + "movie_name": "Nombre de la Película", + "description": "Descripción", + "file": "Archivo", + "example": "Ejemplo", + "name": "Nombre", + "gallery": "Galería", + "check_console": "¡Por favor, revisa la consola!", + "login": "Iniciar sesión", + "confirm": "Confirmar", + "choose": "Elegir", + "setup": "Configuración", + "loadCountdownError": "¡Ups! La cuenta regresiva parece estar atascada. El tiempo no está de nuestro lado.", + "countdown_days": "Días", + "countdown_hours": "Horas", + "countdown_minutes": "Min", + "countdown_seconds": "Seg", + "create_new_entry": "Crear Nueva Entrada", + "create_new_moment": "Crear Nuevo Momento", + "update_moment": "Actualizar Momento", + "update_countdown": "Cambiar Cuenta Regresiva", + "update_entry": "Actualizar Entrada", + "date_of_entry": "Fecha de la Entrada (opcional)", + "picture_or_videos": "Fotos o Videos", + "date": "Fecha", + "change_settings": "Cambiar Configuración", + "general": "General", + "about_us": "Sobre Nosotros", + "import_export": "Importar y Exportar", + "only_import": "Importar", + "settingsSubTitle1": "Tu Historia, Tu Título", + "settingsSubText1": "Despliega la alfombra roja para tus momentos inolvidables.", + "settingsSubTitle2": "Tu Aniversario", + "settingsSubText2": "¿Necesitas actualizar tu aniversario? ¡Hazlo aquí, viajero del tiempo!", + "settingsSubTitle3": "Tu Estado de Relación", + "settingsSubText3": "De 'enamorado' a 'es complicado'. Actualiza tu estado de relación aquí. No te preocupes, ¡nadie te juzgará!", + "settingsSubTitle4": "Cumpleaños de", + "settingsSubText4": "¿Has introducido mal la fecha de cumpleaños? Corrígelo aquí, ¡sin necesidad de tarta!", + "settingsSubTitle6": "Hora de Actualizar la Contraseña", + "settingsSubText6": "La contraseña es la llave de tu fortaleza de amor. ¡Elige sabiamente!", + "settingsSubTitle7": "Nuevo Look para tus Momentos", + "settingsSubText7": "Esta imagen es más que decoración. Es tu narrador visual. Pero por favor, nada de historias de terror.", + "settingsSubTitle8": "La Banda Sonora de tu Amor", + "settingsSubText8": "Vamos a elegir una nueva canción para tu relación. 'Baby Shark' sigue estando prohibida.", + "settingsSubTitle9": "Los Lazos que Unen a Través de la Música", + "settingsSubText9": "¿Cansado de tu canción?", + "settingsSubText10": "Desactívala aquí y deja que el silencio (o el crujido de tu bocadillo) hable.", + "settingsSubTitle11": "Tu Aniversario de Boda", + "settingsSubText11": "¿Te has casado? ¡Establece la fecha de tu boda aquí!", + "relationship_state1": "En una relación", + "relationship_state2": "Casado", + "relationship_state3": "En una relación abierta", + "relationship_state4": "En una relación complicada", + "setupSubText2": "Esta fecha especial marca el inicio de tu épico viaje juntos.", + "setupSubText3": "No es solo importante para ti, sino también para algunas funciones.", + "setupSubTitle4": "Perfil del Socio", + "setupSubText5": "Crea el primer perfil del socio aquí. No, no es uno de repuesto.", + "setupNameOfPatner1": "Nombre del Primer Socio", + "setupBirthdayOfPatner1": "Cumpleaños del Primer Socio", + "setupSubText6": "Y ahora, crea el segundo socio. Aún no es uno de repuesto.", + "setupNameOfPatner2": "Nombre del Segundo Socio", + "setupBirthdayOfPatner2": "Cumpleaños del Segundo Socio", + "setupSubTitle7": "Protege tus Memorias con una Contraseña", + "setupSubText7": "La contraseña es la llave de tu fortaleza de amor. Así que elige sabiamente.", + "setupSubText8": "Puedes cambiar la contraseña más tarde en la configuración. Sin presión.", + "setupSubTitle9": "La Imagen de la Portada de tu Historia", + "setupSubText9": "Esta imagen adornará cada página y contará tu historia. Pero por favor, nada de historias de terror.", + "setupSubTitle10": "La Banda Sonora de tu Amor", + "setupSubText10": "¿Tienes una canción que cuenta tu historia? 'Baby Shark' está estrictamente prohibida.", + "setupSubText11": "", + "settingSubTitle12": "Importar tus Datos", + "settingSubText12": "¿Exportaste tus datos anteriormente? Ponlos en la carpeta 'data_transfer' y asegúrate de que estén correctamente nombrados.", + "settingSubTitle13": "Exportar tus Datos", + "settingSubText13": "Con un solo clic, todos tus datos serán exportados a la carpeta 'data_transfer'. Necesitarás guardar manualmente tus archivos multimedia. ¿Lujo? Lo siento, no lo servimos aquí.", + "edit_mode_on": "¡Modo de edición activado!", + "edit_mode_off": "¡Modo de edición desactivado!", + "want_delete_entry": "¿Estás seguro de que deseas eliminar esta entrada? ¡Es como lanzar un recuerdo a un agujero negro!", + "loading_music_setting_failed": "Ups, hemos encontrado una nota desafinada al cargar la configuración de música.", + "loading_music_failed": "¡Oh no! No pudimos cargar tu canción.", + "enter_date": "¡Por favor, elige una fecha!", + "invalid_date": "¡Esa fecha no parece correcta!", + "loadBannerError": "Ups, tuvimos problemas al cargar el banner.", + "no_name_or_birthday_set": "¡No se ha proporcionado el nombre o el cumpleaños del socio! ¡No podemos hacer magia sin esta información!", + "loadBirthdayError": "Ups, tuvimos problemas al cargar el cumpleaños.", + "loadRelationshipError": "Ups, tuvimos problemas al cargar el estado de la relación.", + "import_successful": "Importación completada. ¡Eres un verdadero mago de datos!", + "export_successful": "Exportación completada. Los archivos están en la carpeta 'data_transfer'. Ten en cuenta que necesitas guardar por separado los archivos multimedia de la carpeta de subidas. ¡Lo siento, no hay genio personal.", + "import_failed": "Importación fallida.", + "export_failed": "Exportación fallida.", + "import": "Importar", + "export": "Exportar", + "want_import": "¡Esto sobrescribirá todo el contenido existente! ¡Esta acción no se puede deshacer! ¿Estás realmente seguro? Recuerda, ¡no hay Ctrl+Z!", + "want_export": "Esto sobrescribirá los archivos exportados anteriormente en la carpeta 'data_transfer'. ¡Esta acción no se puede deshacer! ¿Estás realmente seguro? Recuerda, ¡no hay Ctrl+Z!", + "no_valid_import_files": "¡No se encontraron archivos válidos para importar!", + "import_files_missing": "Importación fallida. Los siguientes archivos CSV están jugando al escondite.", + "send_push_done": "¡Notificaciones enviadas con éxito!", + "devtools": "Herramientas de desarrollo", + "notificationtest": "Prueba de notificación", + "settingSubText14": "Aquí puedes probar las notificaciones. Se envían a todos los servicios configurados.", + "push_me": "Presióname", + "test_Notification_Error": "Hubo un error al probar las notificaciones.", + "upToDate": "actualizado", + "updateAvailable": "Actualización disponible", + "versionInfoLoadedSuccessful": "Información de la versión cargada con éxito", + "versionInfoLoadingFailed": "No se pudo cargar la información de la versión" + } + \ No newline at end of file diff --git a/locales/pt_BR.json b/locales/pt_BR.json new file mode 100644 index 0000000..1b4a0bd --- /dev/null +++ b/locales/pt_BR.json @@ -0,0 +1,293 @@ +{ + "locale": "pt_BR", + + "password_saved_successful": "Senha salva com sucesso.", + "password_updated_successful": "Senha atualizada com sucesso.", + "wrong_password": "Senha incorreta! Mas não se preocupe, até Einstein tinha dias ruins. Tente novamente!", + "username_or_password_wrong": "Nome de usuário ou senha incorretos!", + "enter_password": "Insira uma senha", + "password": "Senha", + "confirm_password": "Confirme a senha", + "no_password_entered": "Por favor, insira uma senha.", + "password_no_match": "As senhas não coincidem!", + + "login_successful": "Login realizado com sucesso", + "login_failed": "Falha no login", + + "check_serverlogs": "Por favor, verifique os logs do servidor!", + + "setup_completed": "Configuração concluída", + "setup_finished": "Configuração concluída com sucesso", + "setup_incomplete": "Configuração incompleta", + "setup_state_not_available": "Estado da configuração não pôde ser lido!", + "checkSetupStateError": "Erro ao verificar o estado da configuração!", + "setup_finish_error": "Erro ao finalizar a configuração!", + "complete_setup": "Concluir configuração", + + "session_id_is_valid": "ID da sessão é válido", + "session_id_is_invalid": "ID da sessão é inválido ou expirado", + "session_id_deleted_successful": "ID da sessão excluído com sucesso", + "session_id_error": "Erro ao verificar o ID da sessão", + + "not_all_values_set": "Nem todos os valores estão preenchidos! Você esqueceu algo no forno?", + "no_database_env_set": "Variáveis de ambiente do banco de dados não especificadas! É como uma pizza sem cobertura.", + + "bucketlist_items_loaded_successful": "Itens da lista de desejos carregados com sucesso", + "bucketlist_item_saved_successful": "Item da lista de desejos criado com sucesso", + "bucketlist_item_updated_successful": "Item da lista de desejos atualizado com sucesso", + "bucketlist_item_deleted_successful": "Item da lista de desejos excluído com sucesso", + "bucketlist_title": "Lista de Desejos", + "new_bucketlist_entry": "Qual é a sua próxima aventura?", + "loadBucketlistError": "Erro ao carregar a lista de desejos!", + "enter_name_for_entry": "Por favor, dê um nome à sua entrada.", + + "feed_items_loaded_successful": "Itens do feed carregados com sucesso", + "feed_item_loaded_successful": "Item do feed carregado com sucesso", + "feed_item_saved_successful": "Item do feed criado com sucesso", + "feed_item_updated_successful": "Item do feed atualizado com sucesso", + "feed_item_deleted_successful": "Item do feed excluído com sucesso", + "no_feed_item_id": "ID do item do feed não especificado.", + "loadFeedItemsError": "Erro ao carregar itens do feed!", + "enter_title": "Por favor, insira um título!", + "enter_desc_for_feed_entry": "Por favor, insira uma descrição.", + "adapt_order_of_files_with_arrows": "Ajuste a ordem das imagens usando as setas.", + "our_moments": "Nossos Momentos", + + "filmlist_items_loaded_successful": "Itens da lista de filmes carregados com sucesso", + "filmlist_item_saved_successful": "Item da lista de filmes criado com sucesso", + "filmlist_item_updated_successful": "Item da lista de filmes atualizado com sucesso", + "filmlist_item_deleted_successful": "Item da lista de filmes excluído com sucesso", + "filmlist_title": "Lista de Filmes", + "new_filmlist_entry": "Adicione um filme para sua próxima maratona de pipoca!", + "loadFilmlistError": "Erro ao carregar a lista de filmes!", + "enter_filmname": "Por favor, insira o nome do filme!", + + "moments_items_loaded_successful": "Itens de momentos carregados com sucesso", + "moments_item_loaded_successful": "Item de momento carregado com sucesso", + "moments_item_saved_successful": "Item de momento criado com sucesso", + "moments_item_updated_successful": "Item de momento atualizado com sucesso", + "moments_item_deleted_successful": "Item de momento excluído com sucesso", + "no_moments_item_id": "ID do item de momento não especificado!", + "moments_title": "Nossos Momentos Especiais", + "loadMomentsError": "Erro ao carregar momentos!", + + "token_loaded_successful": "Token de push carregado com sucesso", + "token_available": "Token de push disponível", + "token_saved_successful": "Token de push criado com sucesso", + "token_deleted_successful": "Token de push excluído com sucesso", + "token_loaded_failed": "Erro ao verificar o token de push.", + "token_found": "Token encontrado", + "token_not_found": "Token não encontrado!", + "token_deleted": "Token excluído", + "load_push_key_error": "Erro ao carregar chaves de push", + "webpush_response_code": "Código de Resposta WebPush", + "status": "Estado", + + "menu_loaded_successful": "Menu carregado com sucesso", + "menuentry_saved_successful": "Entrada de menu da página criada com sucesso", + "menuentry_updated_successful": "Entrada de menu da página atualizada com sucesso", + "menuentry_deleted_successful": "Entrada de menu da página excluída com sucesso", + + "setting_loaded_successful": "Configuração carregada com sucesso", + "setting_updated_successful": "Configuração atualizada com sucesso", + "setting_updated_failed": "Erro ao atualizar configuração", + + "days_together_text_loaded_sucessful": "Texto dos dias juntos carregado com sucesso", + + "aniversary_date_loaded_sucessful": "Data do aniversário carregada com sucesso", + "aniversary_date_updated_sucessful": "Data do aniversário atualizada com sucesso", + "anniversary_date_loaded_failed": "Não foi possível carregar a data do aniversário!", + "loadAnniversaryDateError": "Erro ao carregar a data do aniversário!", + "updateAnniversaryDateError": "Erro ao atualizar a data do aniversário!", + "enterAnniversaryDate": "Por favor, insira uma data de aniversário!", + + "wedding_date_loaded_sucessful": "Data do casamento carregada com sucesso", + "wedding_date_updated_sucessful": "Data do casamento atualizada com sucesso", + "wedding_date_loaded_failed": "Falha ao carregar a data do casamento!", + "loadWeddingDateError": "Erro ao carregar a data do casamento!", + "updateWeddingDateError": "Erro ao atualizar a data do casamento!", + "enterWeddingDate": "Por favor, insira uma data de casamento!", + + "loadMainDateError": "Erro ao carregar a data principal!", + + "today_is_a_special_day": "Hoje é um dia especial!", + "anniversary_name_year": "Aniversário", + "anniversary_name_halfyear": "Meio Aniversário", + "anniversary_name_month": "Mensário", + "anniversary_today_is_text": "Hoje é nosso", + "loadSpecialDayError": "Erro ao carregar o dia especial!", + "special_day_loaded_sucessful": "Dia especial carregado com sucesso", + + "wedding_name_year": "Dia do Casamento", + + "main_title_loaded_sucessful": "Título principal carregado com sucesso", + "main_title_updated_sucessful": "Título principal alterado com sucesso", + "main_title_loaded_failed": "Não foi possível carregar o título principal!", + "loadMainTitleError": "Erro ao carregar o título principal!", + "updateMainTitleError": "Erro ao atualizar o título principal!", + "enterMainTitle": "Por favor, insira um título principal!", + + "file_upload_sucessful": "Arquivo carregado com sucesso", + "wrong_upload_type": "Tipo de upload incorreto!", + "invalid_filetype": "Tipo de arquivo inválido!", + + "stats_loaded_sucessful": "Estatísticas carregadas com sucesso", + + "database_connection_failed": "Erro ao conectar ao banco de dados!", + "option_not_found": "Opção não encontrada!", + "user_not_found": "Usuário não encontrado!", + + "sleep_for": "Dormir por", + "cleaning_script_number_of_deleted_files": "Script de limpeza: Número de arquivos de mídia excluídos", + "cleaning_script_number_of_missing_files": "Número de arquivos de mídia ausentes", + "missing_mediafiles": "Arquivos de mídia ausentes", + "no_admin_mails_set": "Nenhum e-mail de administrador especificado!", + "admin_mails_format_invalid": "Formato inválido para MAIL_ADMIN. Certifique-se de que seja uma lista JSON válida de endereços de e-mail!", + "mail_tile_missing_files": "[AVISO] Arquivos de mídia ausentes encontrados!", + "handle_missing_mediafiles": "Parece que alguns arquivos de mídia foram de férias. Você pode querer verificar a pasta de upload e garantir que tudo esteja no lugar certo.", + + "mail_send_successful": "E-mail enviado com sucesso", + "mail_send_failed": "Erro ao enviar e-mail", + "mail_not_configured": "E-mail não configurado!", + "receiver_mails_format_invalid": "Formato inválido para MAIL_RECEIVER_MAILS. Certifique-se de que seja uma lista JSON válida de endereços de e-mail!", + + "telegrambot_token_not_found": "Token do bot do Telegram não encontrado. Você verificou debaixo do sofá?", + "chat_id_format_invalid": "Formato inválido para TG_CHAT_ID. Certifique-se de que seja uma lista JSON válida de IDs de chat e que a variável de ambiente 'TG_CHAT_IDS' esteja definida!", + "telegrambot_message_send_successful": "Mensagens do Telegram enviadas com sucesso!", + "telegrambot_token_found": "Token do bot do Telegram encontrado", + "telegrambot_not_configured": "Bot do Telegram não configurado!", + + "days_together_text_loaded_failed": "Ops! Não conseguimos carregar o texto 'dias juntos'.", + "day": "dia", + "days": "dias", + "month": "mês", + "months": "meses", + "year": "ano", + "years": "anos", + + "text": "Estamos {relationship_status} há {years_count}, {months_count} e {days_count}. Isso equivale a {diffInMonthsTotal} meses, ou {diffInWeeksTotal} semanas ou {diffInDays} dias.", + "loadDaysTogetherError": "Ops! Houve um problema ao carregar o texto 'dias juntos'.", + + "usera_loading_failed": "O usuário A parece estar ausente. Não conseguimos carregá-lo!", + "userb_loading_failed": "O usuário B parece estar ausente. Não conseguimos carregá-lo!", + "enter_relationship": "Não seja tímido! Por favor, selecione um status de relacionamento.", + + "overview": "Visão Geral", + "home": "Início", + "filmlist": "Lista de Filmes", + "bucketlist": "Lista de Desejos", + "settings": "Configurações", + + "add": "Adicionar", + "cancel": "Cancelar", + "save": "Salvar", + "delete": "Excluir", + "back": "Voltar", + + "title": "Título", + "movie_name": "Nome do Filme", + "description": "Descrição", + "file": "Arquivo", + "example": "Exemplo", + "name": "Nome", + "gallery": "Galeria", + "check_console": "Por favor, verifique o console!", + "login": "Login", + "confirm": "Confirmar", + "choose": "Escolher", + "setup": "Configuração", + "loadCountdownError": "Ops! A contagem regressiva parece estar travada. O tempo não está ao nosso favor.", + "countdown_days": "Dias", + "countdown_hours": "Horas", + "countdown_minutes": "Min", + "countdown_seconds": "Seg", + "create_new_entry": "Criar Nova Entrada", + "create_new_moment": "Criar Novo Momento", + "update_moment": "Atualizar Momento", + "update_countdown": "Alterar Contagem Regressiva", + "update_entry": "Atualizar Entrada", + "date_of_entry": "Data da Entrada (opcional)", + "picture_or_videos": "Fotos ou Vídeos", + "date": "Data", + "change_settings": "Alterar Configurações", + "general": "Geral", + "about_us": "Sobre Nós", + "import_export": "Importar e Exportar", + "only_import": "Importar", + "settingsSubTitle1": "Sua História, Seu Título", + "settingsSubText1": "Desenrole o tapete vermelho para seus momentos inesquecíveis.", + "settingsSubTitle2": "Seu Aniversário", + "settingsSubText2": "Precisa atualizar seu aniversário? Faça isso aqui, viajante do tempo!", + "settingsSubTitle3": "Seu Status de Relacionamento", + "settingsSubText3": "De 'apaixonado' a 'é complicado'. Atualize seu status de relacionamento aqui. Não se preocupe, ninguém vai julgar!", + "settingsSubTitle4": "Aniversário de", + "settingsSubText4": "Inseriu a data de aniversário errada? Corrija aqui, sem necessidade de bolo!", + "settingsSubTitle6": "Hora de Atualizar a Senha", + "settingsSubText6": "A senha é a chave para sua fortaleza do amor. Escolha com sabedoria!", + "settingsSubTitle7": "Novo Visual para Seus Momentos", + "settingsSubText7": "Esta imagem é mais do que decoração. É seu contador de histórias visual. Mas por favor, nada de histórias de terror.", + "settingsSubTitle8": "A Trilha Sonora do Seu Amor", + "settingsSubText8": "Vamos escolher uma nova música tema para o seu relacionamento. 'Baby Shark' ainda está proibida!", + "settingsSubTitle9": "Os Laços Que Unem Através da Música", + "settingsSubText9": "Cansado da sua música?", + "settingsSubText10": "Desative-a aqui e deixe o silêncio (ou o som do seu lanche) falar.", + "settingsSubTitle11": "Seu Aniversário de Casamento", + "settingsSubText11": "Você se casou? Defina sua data de casamento aqui!", + "relationship_state1": "Em um relacionamento", + "relationship_state2": "Casado", + "relationship_state3": "Em um relacionamento aberto", + "relationship_state4": "Em um relacionamento complicado", + "setupSubText2": "Esta data especial marca o início da sua jornada épica juntos.", + "setupSubText3": "Não é apenas importante para você, mas para alguns recursos também!", + "setupSubTitle4": "Perfil do Parceiro", + "setupSubText5": "Crie o primeiro perfil do parceiro aqui. Não, não é um reserva!", + "setupNameOfPatner1": "Nome do Primeiro Parceiro", + "setupBirthdayOfPatner1": "Aniversário do Primeiro Parceiro", + "setupSubText6": "E agora, crie o segundo parceiro. Ainda não é um reserva!", + "setupNameOfPatner2": "Nome do Segundo Parceiro", + "setupBirthdayOfPatner2": "Aniversário do Segundo Parceiro", + "setupSubTitle7": "Proteja Suas Memórias com uma Senha", + "setupSubText7": "A senha é a chave para sua fortaleza do amor. Então escolha com sabedoria!", + "setupSubText8": "Você pode alterar a senha depois nas configurações. Sem pressão!", + "setupSubTitle9": "A Capa da Sua História", + "setupSubText9": "Esta imagem vai embelezar cada página e contar sua história. Mas por favor, nada de histórias de terror.", + "setupSubTitle10": "A Trilha Sonora do Seu Amor", + "setupSubText10": "Você tem uma música que conta sua história? 'Baby Shark' é estritamente proibida!", + "setupSubText11": "", + "settingSubTitle12": "Importar Seus Dados", + "settingSubText12": "Você exportou seus dados anteriormente? Coloque-os na pasta 'data_transfer' e certifique-se de que estejam nomeados corretamente.", + "settingSubTitle13": "Exportar Seus Dados", + "settingSubText13": "Com um único clique, todos os seus dados serão exportados para a pasta 'data_transfer'. Você precisará salvar manualmente seus arquivos de mídia. Luxo? Desculpe, não servimos isso aqui.", + "edit_mode_on": "Modo de edição ativado!", + "edit_mode_off": "Modo de edição desativado!", + "want_delete_entry": "Você tem certeza que deseja excluir esta entrada? É como jogar uma memória em um buraco negro!", + "loading_music_setting_failed": "Ops, encontramos uma nota errada ao carregar a configuração de música.", + "loading_music_failed": "Oh não! Não conseguimos carregar sua música.", + "enter_date": "Por favor, escolha uma data!", + "invalid_date": "Essa data não parece correta!", + "loadBannerError": "Ops, tivemos problemas ao carregar o banner.", + "no_name_or_birthday_set": "Nenhum nome ou aniversário de parceiro fornecido! Não podemos fazer mágica sem essa informação!", + "loadBirthdayError": "Ops, tivemos problemas ao carregar o aniversário.", + "loadRelationshipError": "Ops, tivemos problemas ao carregar o status do relacionamento.", + "import_successful": "Importação concluída. Você é um verdadeiro mago dos dados!", + "export_successful": "Exportação concluída. Os arquivos estão na pasta 'data_transfer'. Observe que você precisa salvar separadamente os arquivos de mídia da pasta de upload! Desculpe, não há gênio pessoal.", + "import_failed": "Importação falhou.", + "export_failed": "Exportação falhou.", + "import": "Importar", + "export": "Exportar", + "want_import": "Isso sobrescreverá todo o conteúdo existente! Esta ação não pode ser desfeita! Você tem certeza? Lembre-se, não há Ctrl+Z!", + "want_export": "Isso sobrescreverá os arquivos exportados anteriormente na pasta 'data_transfer'. Esta ação não pode ser desfeita! Você tem certeza? Lembre-se, não há Ctrl+Z!", + "no_valid_import_files": "Nenhum arquivo válido encontrado para importação!", + "import_files_missing": "Importação falhou! Os seguintes arquivos CSV estão brincando de esconde-esconde", + "send_push_done": "Notificações enviadas com sucesso!", + "devtools": "Ferramentas de desenvolvimento", + "notificationtest": "Teste de notificação", + "settingSubText14": "Aqui você pode testar as notificações. Elas são enviadas para todos os serviços configurados.", + "push_me": "Pressione-me", + "test_Notification_Error": "Houve um erro ao testar as notificações.", + "upToDate": "atualizado", + "updateAvailable": "Atualização disponível", + "versionInfoLoadedSuccessful": "Informações de versão carregadas com sucesso", + "versionInfoLoadingFailed": "Não foi possível carregar as informações de versão" + } + \ No newline at end of file