diff --git a/frontend/src/lib/components/Navbar.svelte b/frontend/src/lib/components/Navbar.svelte index 7619f9e..519ab83 100644 --- a/frontend/src/lib/components/Navbar.svelte +++ b/frontend/src/lib/components/Navbar.svelte @@ -60,7 +60,8 @@ pl: 'Polski', ko: '한국어', no: 'Norsk', - ru: 'Русский' + ru: 'Русский', + 'pt-br': 'Português (Brasil)' }; const submitLocaleChange = (event: Event) => { diff --git a/frontend/src/locales/pt-br.json b/frontend/src/locales/pt-br.json new file mode 100644 index 0000000..699fb81 --- /dev/null +++ b/frontend/src/locales/pt-br.json @@ -0,0 +1,711 @@ +{ + "navbar": { + "adventures": "Aventuras", + "collections": "Coleções", + "worldtravel": "Viagem Mundial", + "map": "Mapa", + "users": "Usuários", + "search": "Buscar", + "profile": "Perfil", + "greeting": "Olá", + "my_adventures": "Minhas Aventuras", + "my_tags": "Minhas Tags", + "tag": "Tag", + "shared_with_me": "Compartilhado Comigo", + "settings": "Configurações", + "logout": "Sair", + "about": "Sobre AdventureLog", + "documentation": "Documentação", + "language_selection": "Idioma", + "support": "Suporte", + "calendar": "Calendário", + "theme_selection": "Seleção de Tema", + "admin_panel": "Painel Admin", + "themes": { + "light": "Claro", + "dark": "Escuro", + "night": "Noite", + "forest": "Floresta", + "aestheticLight": "Estético Claro", + "aestheticDark": "Estético Escuro", + "aqua": "Aqua", + "northernLights": "Aurora Boreal", + "dim": "Escurecido" + } + }, + "about": { + "about": "Sobre", + "license": "Licenciado sob a Licença GPL-3.0.", + "source_code": "Código Fonte", + "message": "Feito com ❤️ nos Estados Unidos.", + "oss_attributions": "Atribuições de Código Aberto", + "nominatim_1": "Busca de Localização e Geocodificação é fornecida por", + "nominatim_2": "Seus dados são licenciados sob a licença ODbL.", + "other_attributions": "Atribuições adicionais podem ser encontradas no arquivo README.", + "generic_attributions": "Faça login no AdventureLog para visualizar atribuições para integrações e serviços habilitados.", + "close": "Fechar" + }, + "home": { + "hero_1": "Descubra as Aventuras Mais Emocionantes do Mundo", + "hero_2": "Descubra e planeje sua próxima aventura com AdventureLog. Explore destinos de tirar o fôlego, crie roteiros personalizados e mantenha-se conectado em movimento.", + "go_to": "Ir para AdventureLog", + "key_features": "Principais Recursos", + "desc_1": "Descubra, Planeje e Explore com Facilidade", + "desc_2": "O AdventureLog foi projetado para simplificar sua jornada, fornecendo as ferramentas e recursos para planejar, arrumar e navegar sua próxima aventura inesquecível.", + "feature_1": "Diário de Viagem", + "feature_1_desc": "Acompanhe suas aventuras com um diário de viagem personalizado e compartilhe suas experiências com amigos e família.", + "feature_2": "Planejamento de Viagem", + "feature_2_desc": "Crie facilmente roteiros personalizados e obtenha um detalhamento dia a dia da sua viagem.", + "feature_3": "Mapa de Viagem", + "feature_3_desc": "Visualize suas viagens pelo mundo com um mapa interativo e explore novos destinos.", + "start_your_journey": "Comece Sua Jornada", + "of_world": "do mundo", + "explore_world": "Explorar Mundo", + "latest_travel_experiences": "Suas últimas experiências de viagem" + }, + "adventures": { + "collection_remove_success": "Aventura removida da coleção com sucesso!", + "collection_remove_error": "Erro ao remover aventura da coleção", + "collection_link_success": "Aventura vinculada à coleção com sucesso!", + "invalid_date_range": "Intervalo de datas inválido", + "timezone": "Fuso Horário", + "no_visits": "Nenhuma visita", + "departure_timezone": "Fuso Horário de Partida", + "arrival_timezone": "Fuso Horário de Chegada", + "departure_date": "Data de Partida", + "arrival_date": "Data de Chegada", + "no_image_found": "Nenhuma imagem encontrada", + "collection_link_error": "Erro ao vincular aventura à coleção", + "adventure_delete_confirm": "Tem certeza que deseja excluir esta aventura? Esta ação não pode ser desfeita.", + "checklist_delete_confirm": "Tem certeza que deseja excluir esta lista de tarefas? Esta ação não pode ser desfeita.", + "note_delete_confirm": "Tem certeza que deseja excluir esta nota? Esta ação não pode ser desfeita.", + "transportation_delete_confirm": "Tem certeza que deseja excluir este transporte? Esta ação não pode ser desfeita.", + "lodging_delete_confirm": "Tem certeza que deseja excluir este local de hospedagem? Esta ação não pode ser desfeita.", + "delete_checklist": "Excluir Lista de Tarefas", + "delete_note": "Excluir Nota", + "delete_transportation": "Excluir Transporte", + "delete_lodging": "Excluir Hospedagem", + "open_details": "Abrir Detalhes", + "edit_adventure": "Editar Aventura", + "remove_from_collection": "Remover da Coleção", + "add_to_collection": "Adicionar à Coleção", + "delete": "Excluir", + "not_found": "Aventura não encontrada", + "not_found_desc": "A aventura que você estava procurando não pôde ser encontrada. Tente uma aventura diferente ou verifique novamente mais tarde.", + "homepage": "Página Inicial", + "collection": "Coleção", + "longitude": "Longitude", + "latitude": "Latitude", + "visit": "Visita", + "timed": "Cronometrado", + "check_in": "Check-in", + "check_out": "Check-out", + "coordinates": "Coordenadas", + "copy_coordinates": "Copiar Coordenadas", + "visits": "Visitas", + "create_new": "Criar Novo...", + "adventure": "Aventura", + "count_txt": "resultados correspondentes à sua busca", + "sort": "Ordenar", + "order_by": "Ordenar Por", + "order_direction": "Direção da Ordem", + "ascending": "Crescente", + "descending": "Decrescente", + "updated": "Atualizado", + "name": "Nome", + "date": "Data", + "activity_types": "Tipos de Atividade", + "tags": "Tags", + "add_a_tag": "Adicionar uma tag", + "date_constrain": "Restringir às datas da coleção", + "rating": "Avaliação", + "my_images": "Minhas Imagens", + "no_images": "Nenhuma Imagem", + "distance": "Distância", + "share_adventure": "Compartilhar esta Aventura!", + "share_collection": "Compartilhar esta Coleção!", + "copy_link": "Copiar Link", + "sun_times": "Horários do Sol", + "sunrise": "Nascer do Sol", + "sunset": "Pôr do Sol", + "image": "Imagem", + "upload_image": "Carregar Imagem", + "open_in_maps": "Abrir no Maps", + "url": "URL", + "fetch_image": "Buscar Imagem", + "wikipedia": "Wikipedia", + "add_notes": "Adicionar notas", + "warning": "Aviso", + "my_adventures": "Minhas Aventuras", + "no_linkable_adventures": "Nenhuma aventura encontrada que possa ser vinculada a esta coleção.", + "add": "Adicionar", + "save_next": "Salvar e Próximo", + "end_date": "Data de Término", + "start_date": "Data de Início", + "remove": "Remover", + "location": "Localização", + "search_for_location": "Buscar por uma localização", + "clear_map": "Limpar mapa", + "search_results": "Resultados da busca", + "collection_no_start_end_date": "Adicionar uma data de início e fim à coleção desbloqueará recursos de planejamento de itinerário na página da coleção.", + "no_results": "Nenhum resultado encontrado", + "wiki_desc": "Extrai trecho do artigo da Wikipedia correspondente ao nome da aventura.", + "attachments": "Anexos", + "attachment": "Anexo", + "images": "Imagens", + "generate_desc": "Gerar Descrição", + "public_adventure": "Aventura Pública", + "location_information": "Informações de Localização", + "link": "Link", + "links": "Links", + "description": "Descrição", + "sources": "Fontes", + "collection_adventures": "Incluir Aventuras da Coleção", + "filter": "Filtro", + "category_filter": "Filtro de Categoria", + "category": "Categoria", + "clear": "Limpar", + "my_collections": "Minhas Coleções", + "open_filters": "Abrir Filtros", + "archived_collections": "Coleções Arquivadas", + "share": "Compartilhar", + "private": "Privado", + "public": "Público", + "archived": "Arquivado", + "name_location": "nome, localização", + "loading_adventures": "Carregando aventuras...", + "all_adventures_already_linked": "Todas as aventuras já estão vinculadas a esta coleção.", + "edit_collection": "Editar Coleção", + "unarchive": "Desarquivar", + "archive": "Arquivar", + "no_collections_found": "Nenhuma coleção encontrada para adicionar esta aventura.", + "create_collection_first": "Crie uma coleção primeiro para organizar suas aventuras e memórias.", + "done": "Concluído", + "adventures_available": "Aventuras Disponíveis", + "collections_linked": "Coleções Vinculadas", + "not_visited": "Não Visitado", + "archived_collection_message": "Coleção arquivada com sucesso!", + "unarchived_collection_message": "Coleção desarquivada com sucesso!", + "delete_collection_success": "Coleção excluída com sucesso!", + "cancel": "Cancelar", + "delete_collection_warning": "Tem certeza que deseja excluir esta coleção? Esta ação não pode ser desfeita.", + "delete_collection": "Excluir Coleção", + "delete_adventure": "Excluir Aventura", + "adventure_delete_success": "Aventura excluída com sucesso!", + "visited": "Visitado", + "planned": "Planejado", + "duration": "Duração", + "all": "Todos", + "image_removed_success": "Imagem removida com sucesso!", + "image_removed_error": "Erro ao remover imagem", + "no_image_url": "Nenhuma imagem encontrada nessa URL.", + "image_upload_success": "Imagem carregada com sucesso!", + "image_upload_error": "Erro ao carregar imagem", + "dates": "Datas", + "wiki_image_error": "Erro ao buscar imagem da Wikipedia", + "start_before_end_error": "A data de início deve ser anterior à data de término", + "actions": "Ações", + "see_adventures": "Ver Aventuras", + "image_fetch_failed": "Falha ao buscar imagem", + "no_location": "Por favor, insira uma localização", + "no_description_found": "Nenhuma descrição encontrada", + "adventure_created": "Aventura criada", + "adventure_create_error": "Falha ao criar aventura", + "lodging": "Hospedagem", + "create_adventure": "Criar Aventura", + "adventure_updated": "Aventura atualizada", + "adventure_update_error": "Falha ao atualizar aventura", + "set_to_pin": "Fixar no Mapa", + "category_fetch_error": "Erro ao buscar categorias", + "new_adventure": "Nova Aventura", + "basic_information": "Informações Básicas", + "no_adventures_to_recommendations": "Nenhuma aventura encontrada. Adicione pelo menos uma aventura para obter recomendações.", + "display_name": "Nome de Exibição", + "adventure_not_found": "Não há aventuras para exibir. Adicione algumas usando o botão de mais no canto inferior direito ou tente alterar os filtros!", + "collection_contents": "Conteúdo da Coleção", + "no_adventures_found": "Nenhuma aventura encontrada", + "no_adventures_message": "Comece a documentar suas aventuras e planejar novas. Toda jornada tem uma história que vale a pena contar.", + "mark_visited": "Marcar como Visitado", + "error_updating_regions": "Erro ao atualizar regiões", + "regions_updated": "regiões atualizadas", + "cities_updated": "cidades atualizadas", + "visited_region_check": "Verificação de Região Visitada", + "visited_region_check_desc": "Ao selecionar isso, o servidor verificará todas as suas aventuras visitadas e marcará as regiões onde estão localizadas como visitadas na viagem mundial.", + "update_visited_regions": "Atualizar Regiões Visitadas", + "update_visited_regions_disclaimer": "Isso pode demorar um pouco, dependendo do número de aventuras que você visitou.", + "link_new": "Vincular Novo...", + "add_new": "Adicionar Novo...", + "transportation": "Transporte", + "note": "Nota", + "checklist": "Lista de Tarefas", + "collection_archived": "Esta coleção foi arquivada.", + "visit_link": "Visitar Link", + "collection_completed": "Você completou esta coleção!", + "collection_stats": "Estatísticas da Coleção", + "keep_exploring": "Continue Explorando!", + "linked_adventures": "Aventuras Vinculadas", + "notes": "Notas", + "checklists": "Listas de Tarefas", + "transportations": "Transportes", + "adventure_calendar": "Calendário de Aventuras", + "day": "Dia", + "itineary_by_date": "Itinerário por Data", + "nothing_planned": "Nada planejado para este dia. Aproveite a jornada!", + "copied_to_clipboard": "Copiado para a área de transferência!", + "copy_failed": "Falha ao copiar", + "show": "Mostrar", + "hide": "Ocultar", + "clear_location": "Limpar Localização", + "starting_airport": "Aeroporto de Partida", + "view_profile": "Ver Perfil", + "joined": "Ingressou", + "ending_airport": "Aeroporto de Chegada", + "no_location_found": "Nenhuma localização encontrada", + "from": "De", + "to": "Para", + "will_be_marked": "será marcado como visitado assim que a aventura for salva.", + "start": "Início", + "end": "Fim", + "emoji_picker": "Seletor de Emoji", + "download_calendar": "Baixar Calendário", + "all_day": "Dia Todo", + "ordered_itinerary": "Itinerário Ordenado", + "itinerary": "Itinerário", + "all_linked_items": "Todos os Itens Vinculados", + "date_itinerary": "Itinerário por Data", + "no_ordered_items": "Adicione itens com datas à coleção para vê-los aqui.", + "date_information": "Informações de Data", + "flight_information": "Informações de Voo", + "out_of_range": "Fora do intervalo de datas do itinerário", + "preview": "Prévia", + "finding_recommendations": "Descobrindo joias escondidas para sua próxima aventura", + "location_details": "Detalhes da Localização", + "city": "Cidade", + "region": "Região", + "md_instructions": "Escreva seu markdown aqui...", + "days": "dias", + "attachment_upload_success": "Anexo carregado com sucesso!", + "attachment_upload_error": "Erro ao carregar anexo", + "upload": "Carregar", + "attachment_delete_success": "Anexo excluído com sucesso!", + "attachment_update_success": "Anexo atualizado com sucesso!", + "attachment_name": "Nome do Anexo", + "gpx_tip": "Carregue arquivos GPX nos anexos para visualizá-los no mapa!", + "attachment_update_error": "Erro ao atualizar anexo", + "activities": {}, + "lodging_information": "Informações de Hospedagem", + "price": "Preço", + "reservation_number": "Número da Reserva", + "filters_and_sort": "Filtros e Ordenação", + "filters_and_stats": "Filtros e Estatísticas", + "travel_progress": "Progresso da Viagem" + }, + "worldtravel": { + "country_list": "Lista de Países", + "num_countries": "países encontrados", + "cities_in": "Cidades em", + "all": "Todos", + "partially_visited": "Parcialmente Visitado", + "not_visited": "Não Visitado", + "completely_visited": "Completamente Visitado", + "all_subregions": "Todas as Sub-regiões", + "clear_search": "Limpar Busca", + "no_countries_found": "Nenhum país encontrado", + "no_countries_found_desc": "Tente ajustar seus termos de busca ou filtros para encontrar os países que está procurando.", + "clear_filters": "Limpar Filtros", + "view_cities": "Ver Cidades", + "no_cities_found": "Nenhuma cidade encontrada", + "visit_to": "Visita a", + "region_failed_visited": "Falha ao marcar região como visitada", + "failed_to_mark_visit": "Falha ao marcar visita a", + "visit_remove_failed": "Falha ao remover visita", + "removed": "removido", + "failed_to_remove_visit": "Falha ao remover visita a", + "marked_visited": "marcado como visitado", + "regions_in": "Regiões em", + "cities": "cidades", + "remaining": "Restante", + "of": "de", + "countries": "países", + "show_map": "Mostrar Mapa", + "hide_map": "Ocultar Mapa", + "complete": "Completo", + "partial": "Parcial", + "clear_all": "Limpar Tudo", + "no_country_data_available": "Nenhum dado de país disponível", + "no_country_data_available_desc": "Verifique a documentação para atualizar dados de região.", + "total_countries": "Total de Países", + "available_to_explore": "Disponível para Explorar", + "progress": "Progresso", + "filter_by_region": "Filtrar por Região", + "all_regions": "Todas as Regiões", + "clear_all_filters": "Limpar Todos os Filtros", + "total_items": "Total de Itens", + "filter_by": "Filtrar por", + "interactive_map": "Mapa Interativo", + "no_regions_found": "Nenhuma região encontrada", + "progress_and_stats": "Progresso e Estatísticas", + "total_regions": "Total de Regiões", + "country_completed": "País concluído", + "show_map_labels": "Mostrar Rótulos do Mapa", + "hide_map_labels": "Ocultar Rótulos do Mapa", + "total_cities": "Total de Cidades", + "region_completed": "Região concluída", + "newest_first": "Mais Recentes Primeiro", + "oldest_first": "Mais Antigos Primeiro", + "visited_first": "Visitados Primeiro", + "unvisited_first": "Não Visitados Primeiro" + }, + "auth": { + "username": "Nome de Usuário", + "password": "Senha", + "forgot_password": "Esqueceu a Senha?", + "signup": "Cadastrar", + "login_error": "Não foi possível fazer login com as credenciais fornecidas.", + "login": "Entrar", + "email": "Email", + "first_name": "Nome", + "last_name": "Sobrenome", + "confirm_password": "Confirmar Senha", + "registration_disabled": "O registro está atualmente desabilitado.", + "profile_picture": "Foto do Perfil", + "public_profile": "Perfil Público", + "public_tooltip": "Com um perfil público, os usuários podem compartilhar coleções com você e visualizar seu perfil na página de usuários.", + "new_password": "Nova Senha (6+ caracteres)", + "or_3rd_party": "Ou entre com um serviço de terceiros", + "no_public_adventures": "Nenhuma aventura pública encontrada", + "no_public_collections": "Nenhuma coleção pública encontrada", + "user_adventures": "Aventuras do Usuário", + "user_collections": "Coleções do Usuário" + }, + "users": { + "no_users_found": "Nenhum usuário encontrado com perfis públicos." + }, + "settings": { + "update_error": "Erro ao atualizar configurações", + "update_success": "Configurações atualizadas com sucesso!", + "settings_page": "Página de Configurações", + "account_settings": "Configurações da Conta do Usuário", + "update": "Atualizar", + "no_verified_email_warning": "Você deve ter um endereço de email verificado para habilitar a autenticação de dois fatores.", + "social_auth": "Autenticação Social", + "social_auth_desc_1": "Gerenciar opções de login social e configurações de senha", + "password_auth": "Autenticação por Senha", + "password_login_enabled": "Login por senha habilitado", + "password_login_disabled": "Login por senha desabilitado", + "password_change": "Alterar Senha", + "new_password": "Nova Senha", + "confirm_new_password": "Confirmar Nova Senha", + "email_change": "Alterar Email", + "no_email_set": "Nenhum email definido", + "email_management": "Gerenciamento de Email", + "email_management_desc": "Gerenciar seus endereços de email e status de verificação", + "add_new_email": "Adicionar Novo Email", + "add_new_email_address": "Adicionar Novo Endereço de Email", + "enter_new_email": "Digite novo endereço de email", + "new_email": "Novo Email", + "change_password": "Alterar Senha", + "reset_password": "Redefinir Senha", + "possible_reset": "Se o endereço de email fornecido estiver associado a uma conta, você receberá um email com instruções para redefinir sua senha!", + "about_this_background": "Sobre este fundo", + "photo_by": "Foto por", + "join_discord": "Junte-se ao Discord", + "join_discord_desc": "para compartilhar suas próprias fotos. Poste-as no canal #travel-share.", + "current_password": "Senha Atual", + "password_change_lopout_warning": "Você será desconectado após alterar sua senha.", + "generic_error": "Ocorreu um erro ao processar sua solicitação.", + "email_removed": "Email removido com sucesso!", + "email_removed_error": "Erro ao remover email", + "verify_email_success": "Verificação de email enviada com sucesso!", + "verify_email_error": "Erro ao verificar email. Tente novamente em alguns minutos.", + "email_added": "Email adicionado com sucesso!", + "email_set_primary": "Email definido como primário com sucesso!", + "email_set_primary_error": "Erro ao definir email como primário", + "verified": "Verificado", + "primary": "Primário", + "not_verified": "Não Verificado", + "make_primary": "Tornar Primário", + "verify": "Verificar", + "no_emai_set": "Nenhum email definido", + "mfa_disabled": "Autenticação multi-fator desabilitada com sucesso!", + "mfa_page_title": "Autenticação Multi-Fator", + "mfa_desc": "Adicionar uma camada extra de segurança à sua conta", + "enable_mfa": "Habilitar MFA", + "disable_mfa": "Desabilitar MFA", + "enabled": "Habilitado", + "disabled": "Desabilitado", + "mfa_not_enabled": "MFA não está habilitado", + "mfa_is_enabled": "MFA está habilitado", + "mfa_enabled": "Autenticação multi-fator habilitada com sucesso!", + "copy": "Copiar", + "recovery_codes": "Códigos de Recuperação", + "recovery_codes_desc": "Estes são seus códigos de recuperação. Mantenha-os seguros. Você não conseguirá vê-los novamente.", + "reset_session_error": "Por favor, faça logout e login novamente para atualizar sua sessão e tente novamente.", + "authenticator_code": "Código do Autenticador", + "email_verified": "Email verificado com sucesso!", + "email_verified_success": "Seu email foi verificado. Agora você pode fazer login.", + "email_verified_error": "Erro ao verificar email", + "email_verified_erorr_desc": "Seu email não pôde ser verificado. Tente novamente.", + "launch_administration_panel": "Abrir Painel de Administração", + "administration": "Administração", + "admin_panel_desc": "Acessar a interface de administração completa", + "region_updates": "Atualizações de Região", + "debug_information": "Informações de Debug", + "staff_status": "Status da Equipe", + "staff_user": "Usuário da Equipe", + "regular_user": "Usuário Regular", + "app_version": "Versão do App", + "quick_actions": "Ações Rápidas", + "license": "Licença", + "all_rights_reserved": "Todos os direitos reservados.", + "region_updates_desc": "Atualizar regiões e cidades visitadas", + "access_restricted": "Acesso Restrito", + "access_restricted_desc": "Recursos administrativos estão disponíveis apenas para membros da equipe.", + "advanced_settings": "Configurações Avançadas", + "advanced_settings_desc": "Configuração avançada e ferramentas de desenvolvimento", + "social_auth_setup": "Configuração de Autenticação Social", + "administration_desc": "Ferramentas e configurações administrativas", + "social_auth_desc": "Habilitar ou desabilitar provedores de autenticação social e OIDC para sua conta. Essas conexões permitem que você faça login com provedores de identidade de autenticação auto-hospedados como Authentik ou provedores de terceiros como GitHub.", + "social_auth_desc_2": "Essas configurações são gerenciadas no servidor AdventureLog e devem ser habilitadas manualmente pelo administrador.", + "documentation_link": "Link da Documentação", + "launch_account_connections": "Abrir Conexões de Conta", + "add_email": "Adicionar Email", + "password_enabled": "Autenticação por senha habilitada", + "password_disabled": "Autenticação por senha desabilitada", + "password_disable_warning": "Atualmente, a autenticação por senha está desabilitada. É necessário fazer login via um provedor social ou OIDC.", + "password_disabled_error": "Erro ao desabilitar autenticação por senha. Certifique-se de que um provedor social ou OIDC esteja vinculado à sua conta.", + "password_enabled_error": "Erro ao habilitar autenticação por senha.", + "settings_menu": "Menu de Configurações", + "security": "Segurança", + "emails": "Emails", + "integrations": "Integrações", + "integrations_desc": "Conectar serviços externos para melhorar sua experiência", + "admin": "Admin", + "advanced": "Avançado", + "profile_info": "Informações do Perfil", + "profile_info_desc": "Atualizar seus detalhes pessoais e foto do perfil", + "public_profile_desc": "Tornar seu perfil visível para outros usuários", + "pass_change_desc": "Atualizar a senha da sua conta para melhor segurança", + "enter_first_name": "Digite seu nome", + "enter_last_name": "Digite seu sobrenome", + "enter_username": "Digite seu nome de usuário", + "enter_current_password": "Digite a senha atual", + "enter_new_password": "Digite a nova senha", + "connected": "Conectado", + "disconnected": "Desconectado", + "invalid_credentials": "Credenciais inválidas" + }, + "collection": { + "collection_created": "Coleção criada com sucesso!", + "error_creating_collection": "Erro ao criar coleção", + "new_collection": "Nova Coleção", + "create": "Criar", + "collection_edit_success": "Coleção editada com sucesso!", + "error_editing_collection": "Erro ao editar coleção", + "public_collection": "Coleção Pública", + "manage_collections": "Gerenciar Coleções", + "no_collections_yet": "Ainda não há coleções", + "no_shared_collections": "Nenhuma coleção compartilhada.", + "shared_collections": "Coleções Compartilhadas", + "no_archived_collections": "Nenhuma coleção arquivada.", + "create_first": "Crie sua primeira coleção para organizar suas aventuras e memórias.", + "make_sure_public": "Certifique-se de que seu perfil seja público para que outros possam compartilhar com você.", + "archived_appear_here": "Coleções arquivadas aparecerão aqui.", + "linked": "Vinculado", + "available": "Disponível", + "try_different_search": "Tente uma busca ou filtro diferente." + }, + "notes": { + "note_deleted": "Nota excluída com sucesso!", + "note_delete_error": "Erro ao excluir nota", + "open": "Abrir", + "failed_to_save": "Falha ao salvar nota", + "note_editor": "Editor de Notas", + "note_viewer": "Visualizador de Notas", + "editing_note": "Editando nota", + "content": "Conteúdo", + "save": "Salvar", + "note_public": "Esta nota é pública porque está em uma coleção pública.", + "add_a_link": "Adicionar um link", + "invalid_url": "URL inválida" + }, + "checklist": { + "checklist_deleted": "Lista de tarefas excluída com sucesso!", + "checklist_delete_error": "Erro ao excluir lista de tarefas", + "checklist_editor": "Editor de Lista de Tarefas", + "new_checklist": "Nova Lista de Tarefas", + "item": "Item", + "items": "Itens", + "new_item": "Novo Item", + "checklist_public": "Esta lista de tarefas é pública porque está em uma coleção pública.", + "item_cannot_be_empty": "O item não pode estar vazio", + "item_already_exists": "Item já existe" + }, + "transportation": { + "transportation_deleted": "Transporte excluído com sucesso!", + "transportation_delete_error": "Erro ao excluir transporte", + "type": "Tipo", + "new_transportation": "Novo Transporte", + "flight_number": "Número do Voo", + "from_location": "Local de Partida", + "to_location": "Local de Destino", + "fetch_location_information": "Buscar Informações de Localização", + "starting_airport_desc": "Digite o código do aeroporto de partida (ex: GRU)", + "ending_airport_desc": "Digite o código do aeroporto de destino (ex: JFK)", + "edit": "Editar", + "modes": { + "car": "Carro", + "plane": "Avião", + "train": "Trem", + "bus": "Ônibus", + "boat": "Barco", + "bike": "Bicicleta", + "walking": "Caminhando", + "other": "Outro" + }, + "edit_transportation": "Editar Transporte" + }, + "lodging": { + "new_lodging": "Nova Hospedagem", + "edit": "Editar", + "edit_lodging": "Editar Hospedagem", + "hotel": "Hotel", + "hostel": "Hostel", + "resort": "Resort", + "bnb": "Pousada", + "campground": "Camping", + "cabin": "Cabana", + "apartment": "Apartamento", + "house": "Casa", + "villa": "Vila", + "motel": "Motel", + "other": "Outro", + "reservation_number": "Número da Reserva" + }, + "search": { + "adventurelog_results": "Resultados do AdventureLog", + "public_adventures": "Aventuras Públicas", + "online_results": "Resultados Online" + }, + "map": { + "view_details": "Ver Detalhes", + "adventure_map": "Mapa de Aventuras", + "map_options": "Opções do Mapa", + "show_visited_regions": "Mostrar Regiões Visitadas", + "add_adventure_at_marker": "Adicionar Nova Aventura no Marcador", + "clear_marker": "Limpar Marcador", + "add_adventure": "Adicionar Nova Aventura", + "adventure_stats": "Estatísticas de Aventura", + "map_controls": "Controles do Mapa", + "regions": "Regiões", + "completion": "Conclusão", + "display_options": "Opções de Exibição", + "marker_placed_on_map": "Marcador colocado no mapa", + "place_marker_desc": "Clique no mapa para colocar um marcador, ou adicione uma aventura sem localização.", + "adventures_shown": "aventuras mostradas" + }, + "share": { + "shared": "Compartilhado", + "with": "com", + "unshared": "Não Compartilhado", + "share_desc": "Compartilhar esta coleção com outros usuários.", + "shared_with": "Compartilhado Com", + "no_users_shared": "Nenhum usuário compartilhado", + "not_shared_with": "Não Compartilhado Com", + "no_shared_found": "Nenhuma coleção encontrada que seja compartilhada com você.", + "set_public": "Para permitir que os usuários compartilhem com você, você precisa definir seu perfil como público.", + "go_to_settings": "Ir para configurações" + }, + "languages": {}, + "profile": { + "member_since": "Membro desde", + "user_stats": "Estatísticas do Usuário", + "visited_countries": "Países Visitados", + "visited_regions": "Regiões Visitadas", + "visited_cities": "Cidades Visitadas", + "travel_statistics": "Estatísticas de Viagem", + "your_journey_at_a_glance": "Sua jornada de aventura resumida", + "planned_trips": "Viagens planejadas", + "discovered": "descoberto", + "explored": "explorado", + "public_adventure_experiences": "Experiências de aventura públicas", + "no_shared_adventures": "Este usuário ainda não compartilhou aventuras públicas.", + "no_shared_collections": "Este usuário ainda não compartilhou coleções públicas." + }, + "categories": { + "manage_categories": "Gerenciar Categorias", + "no_categories_found": "Nenhuma categoria encontrada.", + "edit_category": "Editar Categoria", + "icon": "Ícone", + "update_after_refresh": "Os cartões de aventura serão atualizados quando você atualizar a página.", + "select_category": "Selecionar Categoria", + "category_name": "Nome da Categoria", + "add_new_category": "Adicionar Nova Categoria", + "name_required": "Nome da categoria é obrigatório" + }, + "dashboard": { + "welcome_back": "Bem-vindo de volta", + "countries_visited": "Países Visitados", + "total_adventures": "Total de Aventuras", + "total_visited_regions": "Total de Regiões Visitadas", + "total_visited_cities": "Total de Cidades Visitadas", + "recent_adventures": "Aventuras Recentes", + "no_recent_adventures": "Nenhuma aventura recente?", + "add_some": "Por que não começar a planejar sua próxima aventura? Você pode adicionar uma nova aventura clicando no botão abaixo.", + "document_some_adventures": "Comece a documentar suas viagens e construa seu mapa de aventuras pessoal!", + "view_all": "Ver Tudo", + "welcome_text_1": "Você esteve em", + "welcome_text_2": "aventuras até agora", + "welcome_text_3": "Continue explorando e documentando suas viagens!" + }, + "immich": { + "immich": "Immich", + "integration_fetch_error": "Erro ao buscar dados da integração Immich", + "no_items_found": "Nenhum item encontrado", + "load_more": "Carregar Mais", + "immich_error": "Erro ao atualizar integração Immich", + "immich_disabled": "Integração Immich desabilitada com sucesso!", + "disable": "Desabilitar", + "server_url": "URL do Servidor Immich", + "api_note": "Nota: esta deve ser a URL para o servidor de API Immich, então provavelmente termina com /api, a menos que você tenha uma configuração personalizada.", + "api_key": "Chave da API Immich", + "enable_integration": "Habilitar Integração", + "update_integration": "Atualizar Integração", + "immich_integration_desc": "Conectar seu servidor de gerenciamento de fotos Immich", + "localhost_note": "Nota: localhost provavelmente não funcionará a menos que você tenha configurado redes docker adequadamente. É recomendado usar o endereço IP do servidor ou o nome de domínio.", + "api_key_placeholder": "Digite sua chave da API Immich", + "need_help": "Precisa de ajuda para configurar isso? Confira a", + "copy_locally": "Copiar Imagens Localmente", + "copy_locally_desc": "Copiar imagens para o servidor para acesso offline. Usa mais espaço em disco.", + "error_saving_image": "Erro ao salvar imagem", + "connection_error": "Erro ao conectar ao servidor Immich", + "integration_already_exists": "Uma integração Immich já existe. Você só pode ter uma integração por vez.", + "integration_not_found": "Integração Immich não encontrada. Crie uma nova integração.", + "validation_error": "Ocorreu um erro ao validar a integração Immich. Verifique a URL do servidor e a chave da API.", + "network_error": "Erro de rede ao conectar ao servidor Immich. Verifique sua conexão e tente novamente." + }, + "google_maps": { + "google_maps_integration_desc": "Conecte sua conta do Google Maps para obter resultados de busca de localização e recomendações de alta qualidade." + }, + "recomendations": { + "recommendation": "Recomendação", + "recommendations": "Recomendações", + "adventure_recommendations": "Recomendações de Aventura", + "food": "Comida", + "tourism": "Turismo" + }, + "calendar": { + "today": "Hoje", + "month": "Mês", + "week": "Semana", + "day": "Dia", + "events_scheduled": "eventos agendados", + "total_events": "Total de Eventos", + "all_categories": "Todas as Categorias", + "calendar_overview": "Visão Geral do Calendário", + "categories": "Categorias", + "filtered_results": "Resultados Filtrados", + "filter_by_category": "Filtrar por Categoria", + "all_day_event": "Evento de Dia Inteiro" + } +} diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte index 963dfcf..5b2643d 100644 --- a/frontend/src/routes/+layout.svelte +++ b/frontend/src/routes/+layout.svelte @@ -17,8 +17,9 @@ register('ko', () => import('../locales/ko.json')); register('no', () => import('../locales/no.json')); register('ru', () => import('../locales/ru.json')); + register('pt-br', () => import('../locales/pt-br.json')); - let locales = ['en', 'es', 'fr', 'de', 'it', 'zh', 'nl', 'sv', 'pl', 'ko', 'no', 'ru']; + let locales = ['en', 'es', 'fr', 'de', 'it', 'zh', 'nl', 'sv', 'pl', 'ko', 'no', 'ru', 'pt-br']; if (browser) { init({