From fc6c9a19d9b4abbb5f94ae7e0ba32629034c093e Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Mon, 24 Jun 2024 14:15:08 -0400 Subject: [PATCH] feat: more languages (#10595) chore: more languages --- web/src/lib/constants.ts | 24 +- web/src/lib/i18n.spec.ts | 22 + web/src/lib/i18n/pt_BR.json | 1880 ++++++++++++++++++----------------- 3 files changed, 991 insertions(+), 935 deletions(-) diff --git a/web/src/lib/constants.ts b/web/src/lib/constants.ts index aaa1c7bbbacbe..0274d95cfbcc6 100644 --- a/web/src/lib/constants.ts +++ b/web/src/lib/constants.ts @@ -248,6 +248,7 @@ export const defaultLang = { name: 'English', code: 'en', loader: () => import(' export const langs = [ { name: 'Arabic', code: 'ar', loader: () => import('$lib/i18n/ar.json') }, + { name: 'Bulgarian', code: 'bg', loader: () => import('$lib/i18n/bg.json') }, { name: 'Bislama', code: 'bi', loader: () => import('$lib/i18n/bi.json') }, { name: 'Catalan', code: 'ca', loader: () => import('$lib/i18n/ca.json') }, { name: 'Czech', code: 'cs', loader: () => import('$lib/i18n/cs.json') }, @@ -255,32 +256,49 @@ export const langs = [ { name: 'German', code: 'de', loader: () => import('$lib/i18n/de.json') }, defaultLang, { name: 'Spanish', code: 'es', loader: () => import('$lib/i18n/es.json') }, + { name: 'Persian', code: 'fa', loader: () => import('$lib/i18n/fa.json') }, { name: 'Finnish', code: 'fi', loader: () => import('$lib/i18n/fi.json') }, { name: 'French', code: 'fr', loader: () => import('$lib/i18n/fr.json') }, { name: 'Hebrew', code: 'he', loader: () => import('$lib/i18n/he.json') }, { name: 'Hindi', code: 'hi', loader: () => import('$lib/i18n/hi.json') }, { name: 'Croatian', code: 'hr', loader: () => import('$lib/i18n/hr.json') }, { name: 'Hungarian', code: 'hu', loader: () => import('$lib/i18n/hu.json') }, + { name: 'Armenian', code: 'hy', loader: () => import('$lib/i18n/hy.json') }, + { name: 'Indonesian', code: 'id', loader: () => import('$lib/i18n/id.json') }, { name: 'Italian', code: 'it', loader: () => import('$lib/i18n/it.json') }, { name: 'Japanese', code: 'ja', loader: () => import('$lib/i18n/ja.json') }, + { name: 'Kurdish (Northern)', code: 'kmr', loader: () => import('$lib/i18n/kmr.json') }, { name: 'Korean', code: 'ko', loader: () => import('$lib/i18n/ko.json') }, { name: 'Lithuanian', code: 'lt', loader: () => import('$lib/i18n/lt.json') }, { name: 'Latvian', code: 'lv', loader: () => import('$lib/i18n/lv.json') }, { name: 'Mongolian', code: 'mn', loader: () => import('$lib/i18n/mn.json') }, - { name: 'Norwegian Bokmål', code: 'nb-NO', loader: () => import('$lib/i18n/nb_NO.json') }, + { name: 'Norwegian Bokmål', code: 'nb-NO', weblateCode: 'nb_NO', loader: () => import('$lib/i18n/nb_NO.json') }, { name: 'Dutch', code: 'nl', loader: () => import('$lib/i18n/nl.json') }, { name: 'Polish', code: 'pl', loader: () => import('$lib/i18n/pl.json') }, { name: 'Portuguese', code: 'pt', loader: () => import('$lib/i18n/pt.json') }, + { name: 'Portuguese (Brazil) ', code: 'pt-BR', weblateCode: 'pt_BR', loader: () => import('$lib/i18n/pt_BR.json') }, { name: 'Romanian', code: 'ro', loader: () => import('$lib/i18n/ro.json') }, { name: 'Russian', code: 'ru', loader: () => import('$lib/i18n/ru.json') }, { name: 'Slovak', code: 'sk', loader: () => import('$lib/i18n/sk.json') }, { name: 'Slovenian', code: 'sl', loader: () => import('$lib/i18n/sl.json') }, { name: 'Serbian', code: 'sr', loader: () => import('$lib/i18n/sr.json') }, { name: 'Swedish', code: 'sv', loader: () => import('$lib/i18n/sv.json') }, + { name: 'Tamil', code: 'ta', loader: () => import('$lib/i18n/ta.json') }, { name: 'Thai', code: 'th', loader: () => import('$lib/i18n/th.json') }, + { name: 'Turkish', code: 'tr', loader: () => import('$lib/i18n/tr.json') }, { name: 'Ukrainian', code: 'uk', loader: () => import('$lib/i18n/uk.json') }, { name: 'Vietnamese', code: 'vi', loader: () => import('$lib/i18n/vi.json') }, - { name: 'Chinese (Traditional)', code: 'zh-Hant', loader: () => import('$lib/i18n/zh_Hant.json') }, - { name: 'Chinese (Simplified)', code: 'zh-Hans', loader: () => import('$lib/i18n/zh_SIMPLIFIED.json') }, + { + name: 'Chinese (Traditional)', + code: 'zh-Hant', + weblateCode: 'zh_Hant', + loader: () => import('$lib/i18n/zh_Hant.json'), + }, + { + name: 'Chinese (Simplified)', + code: 'zh-Hans', + weblateCode: 'zh_SIMPLIFIED', + loader: () => import('$lib/i18n/zh_SIMPLIFIED.json'), + }, { name: 'Development (keys only)', code: 'dev', loader: () => Promise.resolve({}) }, ]; diff --git a/web/src/lib/i18n.spec.ts b/web/src/lib/i18n.spec.ts index 43f3a689e9aaa..cb030437db955 100644 --- a/web/src/lib/i18n.spec.ts +++ b/web/src/lib/i18n.spec.ts @@ -1,5 +1,7 @@ +import { langs } from '$lib/constants'; import messages from '$lib/i18n/en.json'; import { exec as execCallback } from 'node:child_process'; +import { readFileSync, readdirSync } from 'node:fs'; import { promisify } from 'node:util'; type Messages = { [key: string]: string | Messages }; @@ -30,4 +32,24 @@ describe('i18n', () => { // Only translations directly using the store seem to get extracted expect({ ...extractedMessages, ...existingMessages }).toEqual(existingMessages); }); + + describe('loaders', () => { + const languageFiles = readdirSync('src/lib/i18n').sort(); + for (const filename of languageFiles) { + test(`${filename} should have a loader`, async () => { + const code = filename.replaceAll('.json', ''); + const item = langs.find((lang) => lang.weblateCode === code || lang.code === code); + expect(item, `${filename} has no loader`).toBeDefined(); + if (!item) { + return; + } + + // verify it loads the right file + const module: { default?: unknown } = await item.loader(); + const translations = JSON.stringify(module.default, null, 2).trim(); + const content = readFileSync(`src/lib/i18n/${filename}`).toString().trim(); + expect(translations === content, `${item.name} did not load ${filename}`).toEqual(true); + }); + } + }); }); diff --git a/web/src/lib/i18n/pt_BR.json b/web/src/lib/i18n/pt_BR.json index 7035d5dd6d0ce..386689be47bbd 100644 --- a/web/src/lib/i18n/pt_BR.json +++ b/web/src/lib/i18n/pt_BR.json @@ -1,942 +1,958 @@ { - "account": "", - "account_settings": "", - "acknowledge": "", - "action": "", - "actions": "", - "active": "", - "activity": "", - "add": "", - "add_a_description": "", - "add_a_location": "", - "add_a_name": "", - "add_a_title": "", - "add_exclusion_pattern": "", - "add_import_path": "", - "add_location": "", - "add_more_users": "", - "add_partner": "", - "add_path": "", - "add_photos": "", - "add_to": "", - "add_to_album": "", - "add_to_shared_album": "", + "account": "Conta", + "account_settings": "Configurações de Conta", + "acknowledge": "Confirmar", + "action": "Ação", + "actions": "Ações", + "active": "Executando", + "activity": "Atividade", + "add": "Adicionar", + "add_a_description": "Adicionar descrição", + "add_a_location": "Adicionar uma localização", + "add_a_name": "Adicionar um nome", + "add_a_title": "Adicionar um título", + "add_exclusion_pattern": "Adicionar padrão de exclusão", + "add_import_path": "Adicionar caminho de importação", + "add_location": "Adicionar local", + "add_more_users": "Adicionar mais usuários", + "add_partner": "Adicionar parceiro", + "add_path": "Adicionar caminho", + "add_photos": "Adicionar fotos", + "add_to": "Adicionar a...", + "add_to_album": "Adicionar ao álbum", + "add_to_shared_album": "Adicionar ao álbum compartilhado", "admin": { - "add_exclusion_pattern_description": "", - "authentication_settings": "", - "authentication_settings_description": "", - "authentication_settings_reenable": "", - "background_task_job": "", - "check_all": "", - "cleared_jobs": "", - "config_set_by_file": "", - "confirm_delete_library": "", - "confirm_delete_library_assets": "", - "confirm_email_below": "", - "confirm_reprocess_all_faces": "", - "confirm_user_password_reset": "", - "disable_login": "", - "duplicate_detection_job_description": "", - "exclusion_pattern_description": "", - "external_library_created_at": "", - "external_library_management": "", - "face_detection": "", - "face_detection_description": "", - "facial_recognition_job_description": "", - "failed_job_command": "", - "force_delete_user_warning": "", - "forcing_refresh_library_files": "", - "image_format_description": "", - "image_prefer_embedded_preview": "", - "image_prefer_embedded_preview_setting_description": "", - "image_prefer_wide_gamut": "", - "image_prefer_wide_gamut_setting_description": "", - "image_preview_format": "", - "image_preview_resolution": "", - "image_preview_resolution_description": "", - "image_quality": "", - "image_quality_description": "", - "image_settings": "", - "image_settings_description": "", - "image_thumbnail_format": "", - "image_thumbnail_resolution": "", - "image_thumbnail_resolution_description": "", - "job_concurrency": "", - "job_not_concurrency_safe": "", - "job_settings": "", - "job_settings_description": "", - "job_status": "", - "jobs_delayed": "", - "jobs_failed": "", - "library_created": "", - "library_cron_expression": "", - "library_cron_expression_description": "", - "library_cron_expression_presets": "", - "library_deleted": "", - "library_import_path_description": "", - "library_scanning": "", - "library_scanning_description": "", - "library_scanning_enable_description": "", - "library_settings": "", - "library_settings_description": "", - "library_tasks_description": "", - "library_watching_enable_description": "", - "library_watching_settings": "", - "library_watching_settings_description": "", - "logging_enable_description": "", - "logging_level_description": "", - "logging_settings": "", - "machine_learning_clip_model": "", - "machine_learning_clip_model_description": "", - "machine_learning_duplicate_detection": "", - "machine_learning_duplicate_detection_enabled": "", - "machine_learning_duplicate_detection_enabled_description": "", - "machine_learning_duplicate_detection_setting_description": "", - "machine_learning_enabled": "", - "machine_learning_enabled_description": "", - "machine_learning_facial_recognition": "", - "machine_learning_facial_recognition_description": "", - "machine_learning_facial_recognition_model": "", - "machine_learning_facial_recognition_model_description": "", - "machine_learning_facial_recognition_setting": "", - "machine_learning_facial_recognition_setting_description": "", - "machine_learning_max_detection_distance": "", - "machine_learning_max_detection_distance_description": "", - "machine_learning_max_recognition_distance": "", - "machine_learning_max_recognition_distance_description": "", - "machine_learning_min_detection_score": "", - "machine_learning_min_detection_score_description": "", - "machine_learning_min_recognized_faces": "", - "machine_learning_min_recognized_faces_description": "", - "machine_learning_settings": "", - "machine_learning_settings_description": "", - "machine_learning_smart_search": "", - "machine_learning_smart_search_description": "", - "machine_learning_smart_search_enabled": "", - "machine_learning_smart_search_enabled_description": "", - "machine_learning_url_description": "", - "manage_concurrency": "", - "manage_log_settings": "", - "map_dark_style": "", - "map_enable_description": "", - "map_light_style": "", - "map_reverse_geocoding": "", - "map_reverse_geocoding_enable_description": "", - "map_reverse_geocoding_settings": "", - "map_settings": "", - "map_settings_description": "", - "map_style_description": "", - "metadata_extraction_job": "", - "metadata_extraction_job_description": "", - "migration_job": "", - "migration_job_description": "", - "no_paths_added": "", - "no_pattern_added": "", - "note_apply_storage_label_previous_assets": "", - "note_cannot_be_changed_later": "", - "note_unlimited_quota": "", - "notification_email_from_address": "", - "notification_email_from_address_description": "", - "notification_email_host_description": "", - "notification_email_ignore_certificate_errors": "", - "notification_email_ignore_certificate_errors_description": "", - "notification_email_password_description": "", - "notification_email_port_description": "", - "notification_email_sent_test_email_button": "", - "notification_email_setting_description": "", - "notification_email_test_email": "", - "notification_email_test_email_failed": "", - "notification_email_test_email_sent": "", - "notification_email_username_description": "", - "notification_enable_email_notifications": "", - "notification_settings": "", - "notification_settings_description": "", - "oauth_auto_launch": "", - "oauth_auto_launch_description": "", - "oauth_auto_register": "", - "oauth_auto_register_description": "", - "oauth_button_text": "", - "oauth_client_id": "", - "oauth_client_secret": "", - "oauth_enable_description": "", - "oauth_issuer_url": "", - "oauth_mobile_redirect_uri": "", - "oauth_mobile_redirect_uri_override": "", - "oauth_mobile_redirect_uri_override_description": "", - "oauth_scope": "", - "oauth_settings": "", - "oauth_settings_description": "", - "oauth_settings_more_details": "", - "oauth_signing_algorithm": "", - "oauth_storage_label_claim": "", - "oauth_storage_label_claim_description": "", - "oauth_storage_quota_claim": "", - "oauth_storage_quota_claim_description": "", - "oauth_storage_quota_default": "", - "oauth_storage_quota_default_description": "", - "offline_paths": "", - "offline_paths_description": "", - "password_enable_description": "", - "password_settings": "", - "password_settings_description": "", - "paths_validated_successfully": "", - "quota_size_gib": "", - "refreshing_all_libraries": "", - "removing_offline_files": "", - "repair_all": "", - "repair_matched_items": "", - "repaired_items": "", - "require_password_change_on_login": "", - "reset_settings_to_default": "", - "reset_settings_to_recent_saved": "", - "scanning_library_for_changed_files": "", - "scanning_library_for_new_files": "", - "send_welcome_email": "", - "server_external_domain_settings": "", - "server_external_domain_settings_description": "", - "server_settings": "", - "server_settings_description": "", - "server_welcome_message": "", - "server_welcome_message_description": "", - "sidecar_job": "", - "sidecar_job_description": "", - "slideshow_duration_description": "", - "smart_search_job_description": "", - "storage_template_enable_description": "", - "storage_template_hash_verification_enabled": "", - "storage_template_hash_verification_enabled_description": "", - "storage_template_migration": "", - "storage_template_migration_description": "", - "storage_template_migration_info": "", - "storage_template_migration_job": "", - "storage_template_more_details": "", - "storage_template_onboarding_description": "", - "storage_template_path_length": "", - "storage_template_settings": "", - "storage_template_settings_description": "", - "storage_template_user_label": "", - "system_settings": "", - "theme_custom_css_settings": "", - "theme_custom_css_settings_description": "", - "theme_settings": "", - "theme_settings_description": "", - "these_files_matched_by_checksum": "", - "thumbnail_generation_job": "", - "thumbnail_generation_job_description": "", - "transcoding_acceleration_api": "", - "transcoding_acceleration_api_description": "", - "transcoding_acceleration_nvenc": "", - "transcoding_acceleration_qsv": "", - "transcoding_acceleration_rkmpp": "", - "transcoding_acceleration_vaapi": "", - "transcoding_accepted_audio_codecs": "", - "transcoding_accepted_audio_codecs_description": "", - "transcoding_accepted_video_codecs": "", - "transcoding_accepted_video_codecs_description": "", - "transcoding_advanced_options_description": "", - "transcoding_audio_codec": "", - "transcoding_audio_codec_description": "", - "transcoding_bitrate_description": "", - "transcoding_codecs_learn_more": "", - "transcoding_constant_quality_mode": "", - "transcoding_constant_quality_mode_description": "", - "transcoding_constant_rate_factor": "", - "transcoding_constant_rate_factor_description": "", - "transcoding_disabled_description": "", - "transcoding_hardware_acceleration": "", - "transcoding_hardware_acceleration_description": "", - "transcoding_hardware_decoding": "", - "transcoding_hardware_decoding_setting_description": "", - "transcoding_hevc_codec": "", - "transcoding_max_b_frames": "", - "transcoding_max_b_frames_description": "", - "transcoding_max_bitrate": "", - "transcoding_max_bitrate_description": "", - "transcoding_max_keyframe_interval": "", - "transcoding_max_keyframe_interval_description": "", - "transcoding_optimal_description": "", - "transcoding_preferred_hardware_device": "", - "transcoding_preferred_hardware_device_description": "", - "transcoding_preset_preset": "", - "transcoding_preset_preset_description": "", - "transcoding_reference_frames": "", - "transcoding_reference_frames_description": "", - "transcoding_required_description": "", - "transcoding_settings": "", - "transcoding_settings_description": "", - "transcoding_target_resolution": "", - "transcoding_target_resolution_description": "", - "transcoding_temporal_aq": "", - "transcoding_temporal_aq_description": "", - "transcoding_threads": "", - "transcoding_threads_description": "", - "transcoding_tone_mapping": "", - "transcoding_tone_mapping_description": "", - "transcoding_tone_mapping_npl": "", - "transcoding_tone_mapping_npl_description": "", - "transcoding_transcode_policy": "", - "transcoding_transcode_policy_description": "", - "transcoding_two_pass_encoding": "", - "transcoding_two_pass_encoding_setting_description": "", - "transcoding_video_codec": "", - "transcoding_video_codec_description": "", - "trash_enabled_description": "", - "trash_number_of_days": "", - "trash_number_of_days_description": "", - "trash_settings": "", - "trash_settings_description": "", - "untracked_files": "", - "untracked_files_description": "", - "user_delete_delay": "", - "user_delete_delay_settings": "", - "user_delete_delay_settings_description": "", - "user_delete_immediately": "", - "user_management": "", - "user_password_has_been_reset": "", - "user_password_reset_description": "", - "user_restore_description": "", - "user_settings": "", - "user_settings_description": "", - "user_successfully_removed": "", - "version_check_enabled_description": "", - "version_check_settings": "", - "version_check_settings_description": "", - "video_conversion_job": "", - "video_conversion_job_description": "" + "add_exclusion_pattern_description": "Adicione padrões de exclusão. Utilizar *, ** ou ? são suportados. Para ignorar todos os arquivos em qualquer diretório chamado \"Raw\", use \"**/Raw/**'. Para ignorar todos os arquivos que finalizam em \".tif\", use \"**/*.tif\". Para ignorar um caminho absoluto, use \"/caminho/para/ignorar/**\".", + "authentication_settings": "Configurações de Autenticação", + "authentication_settings_description": "Gerenciar senhas, OAuth, e outras configurações de autenticação", + "background_task_job": "Tarefas em segundo plano", + "check_all": "Selecionar Tudo", + "config_set_by_file": "A configuração está atualmente definida por um arquivo de configuração", + "confirm_delete_library": "Você tem certeza que deseja excluir a biblioteca {library} ?", + "confirm_delete_library_assets": "Você tem certeza que deseja excluir esta biblioteca? Isso excluirá todos os {count} ativos contidos no Immich e não poderá ser desfeito. Os arquivos permanecerão no disco.", + "confirm_email_below": "Para confirmar, digite o {email} abaixo", + "confirm_reprocess_all_faces": "Tem certeza de que deseja reprocessar todos as faces? Isso também limpará as pessoas nomeadas.", + "confirm_user_password_reset": "Tem certeza de que deseja redefinir a senha de {user}?", + "crontab_guru": "Guru do Crontab", + "disable_login": "Desabilitar login", + "disabled": "", + "duplicate_detection_job_description": "Execute o aprendizado de máquina em ativos para detectar imagens semelhantes. Depende da pesquisa inteligente", + "exclusion_pattern_description": "Os padrões de exclusão permitem ignorar arquivos e pastas ao escanear sua biblioteca. Isso é útil se você tiver pastas que contenham arquivos que não deseja importar, como arquivos RAW.", + "external_library_created_at": "Biblioteca externa (criada em {date})", + "external_library_management": "Gerenciamento de bibliotecas externas", + "face_detection": "Detecção de faces", + "face_detection_description": "Detecta faces em ativos com inteligência artificial. Para vídeos, apenas a miniatura é considerada. \"Todos\" (re)processa todos os ativos. \"Ausente\" enfileira ativos que ainda não foram processados. As faces detectadas serão enfileiradas para reconhecimento facial após a conclusão da detecção de faces, agrupando-os em pessoas novas ou existentes.", + "facial_recognition_job_description": "Agrupa faces detectados em pessoas. Esta etapa é executada após a conclusão da detecção de faces. \"Todos\" (re)agrupa todos os rostos. \"Ausentes\" enfileira faces que ainda não têm uma pessoa atribuída.", + "force_delete_user_warning": "AVISO: Isso removerá imediatamente o usuário e todos os ativos. Isso não pode ser desfeito e os arquivos não podem ser recuperados.", + "forcing_refresh_library_files": "Forçando a atualização de todos os arquivos da biblioteca", + "image_format_description": "WebP produz arquivos menores que JPEG, mas é mais lento para codificar.", + "image_prefer_embedded_preview": "Prefira visualização incorporada", + "image_prefer_embedded_preview_setting_description": "Use visualizações incorporadas em fotos RAW como entrada para processamento de imagem, quando disponível. Isso pode produzir cores mais precisas para algumas imagens, mas a qualidade da visualização depende da câmera e a imagem pode ter mais artefatos de compactação.", + "image_prefer_wide_gamut": "Prefira ampla gama", + "image_prefer_wide_gamut_setting_description": "Use o Display P3 para miniaturas. Isso preserva melhor a vibração das imagens com espaços de cores amplos, mas as imagens podem aparecer de maneira diferente em dispositivos antigos com uma versão antiga do navegador. As imagens sRGB são mantidas como sRGB para evitar mudanças de cores.", + "image_preview_format": "Formato de visualização", + "image_preview_resolution": "Resolução de visualização", + "image_preview_resolution_description": "Usado ao visualizar uma única foto e para aprendizado de máquina. Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de arquivo maiores e podem reduzir a capacidade de resposta do aplicativo.", + "image_quality": "Qualidade", + "image_quality_description": "Qualidade de imagem de 1 a 100. Quanto maior, melhor para a qualidade, mas produz arquivos maiores. Esta opção afeta as imagens de visualização e miniatura.", + "image_settings": "Configurações de imagem", + "image_settings_description": "Gerenciar a qualidade e resolução das imagens geradas", + "image_thumbnail_format": "Formato de miniatura", + "image_thumbnail_resolution": "Resolução de miniatura", + "image_thumbnail_resolution_description": "Usado ao visualizar grupos de fotos (linha do tempo principal, visualização de álbum, etc.). Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de arquivo maiores e podem reduzir a capacidade de resposta do aplicativo.", + "job_concurrency": "{job} simultâneo", + "job_not_concurrency_safe": "Este trabalho não é compatível com simultaneidade.", + "job_settings": "Configurações de trabalho", + "job_settings_description": "Gerenciar simultaneidade dos trabalhos", + "job_status": "Status do trabalho", + "jobs_delayed": "{jobCount} adiado", + "jobs_failed": "{jobCount} falhou", + "library_created": "Criado biblioteca: {library}", + "library_cron_expression": "Expressão Cron", + "library_cron_expression_presets": "Predefinições de expressão Cron", + "library_deleted": "Biblioteca excluída", + "library_import_path_description": "Especifique uma pasta para importar. Esta pasta, incluindo subpastas, será escaneada em busca de imagens e vídeos.", + "library_scanning": "Escanear periódicamente", + "library_scanning_description": "Configurar o escaneamento periódico da biblioteca", + "library_scanning_enable_description": "Habilitar escaneamento periódico da biblioteca", + "library_settings": "Biblioteca Externa", + "library_settings_description": "Gerenciar configurações de biblioteca externa", + "library_tasks_description": "Execute tarefas de biblioteca", + "library_watching_enable_description": "Observe bibliotecas externas para alterações de arquivos", + "library_watching_settings": "Observação de biblioteca (EXPERIMENTAL)", + "library_watching_settings_description": "Observe automaticamente os arquivos alterados", + "logging_enable_description": "Habilitar registro", + "logging_level_description": "Quando ativado, qual nível de log usar.", + "logging_settings": "Registros", + "machine_learning_clip_model": "Modelo CLIP", + "machine_learning_duplicate_detection": "Detecção de duplicidade", + "machine_learning_duplicate_detection_enabled": "Habilitar detecção de duplicidade", + "machine_learning_duplicate_detection_enabled_description": "Se desativado, ativos exatamente idênticos ainda serão desduplicados.", + "machine_learning_duplicate_detection_setting_description": "Use embeddings CLIP para encontrar prováveis duplicidades", + "machine_learning_enabled": "Habilitar o aprendizado da máquina", + "machine_learning_enabled_description": "Se desativado, todos os recursos de ML serão desativados, independentemente das configurações abaixo.", + "machine_learning_facial_recognition": "Reconhecimento Facial", + "machine_learning_facial_recognition_description": "Detecte, reconheça e agrupe faces em imagens", + "machine_learning_facial_recognition_model": "Modelo de reconhecimento facial", + "machine_learning_facial_recognition_model_description": "Os modelos estão listados em ordem decrescente de tamanho. Modelos maiores são mais lentos e utilizam mais memória, mas produzem melhores resultados. Observe que ao alterar um modelo, você deve executar novamente o trabalho de Detecção de faces para todas as imagens.", + "machine_learning_facial_recognition_setting": "Ativar reconhecimento facial", + "machine_learning_facial_recognition_setting_description": "Se desativado, as imagens não serão codificadas para reconhecimento facial e não preencherão a seção Pessoas na página Explorar.", + "machine_learning_max_detection_distance": "Distância máxima de detecção", + "machine_learning_max_detection_distance_description": "Distância máxima entre duas imagens para considerá-las duplicadas, variando de 0,001 a 0,1. Valores mais altos detectarão mais duplicidades, mas poderão resultar em falsos positivos.", + "machine_learning_max_recognition_distance": "Distância máxima de reconhecimento", + "machine_learning_max_recognition_distance_description": "Distância máxima entre duas faces para ser considerada a mesma pessoa, variando de 0 a 2. Valores menores evitam rotular duas faces como a mesma pessoa, enquanto valores maiores evitam rotular a mesma face como duas pessoas diferentes. Observe que é mais fácil mesclar duas pessoas do que dividir uma pessoa em duas, portanto tenha preferência por valores mais baixos quando possível.", + "machine_learning_min_detection_score": "Pontuação mínima de detecção", + "machine_learning_min_detection_score_description": "Pontuação mínima de confiança para uma face ser detectada, de 0 a 1. Valores mais baixos detectam mais rostos, mas poderão resultar em falsos positivos.", + "machine_learning_min_recognized_faces": "Mínimo de faces reconhecidas", + "machine_learning_min_recognized_faces_description": "O número mínimo de faces reconhecidas para uma pessoa ser criada na lista. Aumentar isso torna o Reconhecimento Facial mais preciso, ao custo de aumentar a chance de um rosto não ser atribuído a uma pessoa.", + "machine_learning_settings": "Configurações de aprendizado de máquina (Machine Learning)", + "machine_learning_settings_description": "Gerenciar recursos e configurações de aprendizado de máquina", + "machine_learning_smart_search": "Busca inteligente", + "machine_learning_smart_search_description": "Pesquise imagens semanticamente usando embeddings CLIP", + "machine_learning_smart_search_enabled": "Habilite a pesquisa inteligente", + "machine_learning_smart_search_enabled_description": "Se desativado, as imagens não serão codificadas para pesquisa inteligente.", + "machine_learning_url_description": "URL do servidor de aprendizado de máquina", + "manage_concurrency": "Gerenciar simultaneidade", + "manage_log_settings": "Gerenciar configurações de registro", + "map_dark_style": "Tema Escuro", + "map_enable_description": "Ativar recursos do mapa", + "map_light_style": "Tema Claro", + "map_reverse_geocoding": "Geocodificação reversa", + "map_reverse_geocoding_enable_description": "Ativar geocodificação reversa", + "map_reverse_geocoding_settings": "Configurações de geocodificação reversa", + "map_settings": "Configurações de mapa e GPS", + "map_settings_description": "Gerenciar configurações do mapa", + "map_style_description": "URL para um tema de mapa style.json", + "metadata_extraction_job": "Extrair metadados", + "metadata_extraction_job_description": "Extraia informações de metadados de cada ativo, como GPS e resolução", + "migration_job": "Migração", + "migration_job_description": "Migre miniaturas de ativos e faces para a estrutura de pastas mais recente", + "no_paths_added": "Nenhum caminho adicionado", + "no_pattern_added": "Nenhum padrão adicionado", + "note_apply_storage_label_previous_assets": "Observação: Para aplicar o rótulo de armazenamento a ativos carregados anteriormente, execute o", + "note_cannot_be_changed_later": "NOTA: Isto não pode ser alterado posteriormente!", + "note_unlimited_quota": "Observação: insira 0 para cota ilimitada", + "notification_email_from_address": "A partir do endereço", + "notification_email_from_address_description": "Endereço de e-mail do remetente, por exemplo: \"Immich Photo Server \"", + "notification_email_host_description": "Host do servidor de e-mail (por exemplo, smtp.immich.app)", + "notification_email_ignore_certificate_errors": "Ignorar erros de certificado", + "notification_email_ignore_certificate_errors_description": "Ignorar erros de validação de certificado TLS (não recomendado)", + "notification_email_password_description": "Senha a ser usada ao autenticar no servidor de e-mail", + "notification_email_port_description": "Porta do servidor de e-mail (por exemplo, 25, 465 ou 587)", + "notification_email_sent_test_email_button": "Envie e-mail de teste e salve", + "notification_email_setting_description": "Configurações para envio de notificações por e-mail", + "notification_email_test_email": "Enviar e-mail de teste", + "notification_email_test_email_failed": "Falha ao enviar e-mail de teste. Verifique seus valores", + "notification_email_test_email_sent": "Um email de teste foi enviado para {email}. Por favor, verifique sua caixa de entrada.", + "notification_email_username_description": "Nome de usuário a ser usado ao autenticar com o servidor de e-mail", + "notification_enable_email_notifications": "Habilitar notificações por e-mail", + "notification_settings": "Configurações de notificação", + "notification_settings_description": "Gerenciar configurações de notificação, incluindo e-mail", + "oauth_auto_launch": "Inicialização automática", + "oauth_auto_launch_description": "Inicie o fluxo de login do OAuth automaticamente ao navegar até a página de login", + "oauth_auto_register": "Registro automático", + "oauth_auto_register_description": "Registre automaticamente novos usuários após fazer login com OAuth", + "oauth_button_text": "Botão de texto", + "oauth_client_id": "ID do Cliente", + "oauth_client_secret": "Segredo do cliente", + "oauth_enable_description": "Faça login com OAuth", + "oauth_issuer_url": "URL do emissor", + "oauth_mobile_redirect_uri": "URI de redirecionamento móvel", + "oauth_mobile_redirect_uri_override": "Substituição de URI de redirecionamento móvel", + "oauth_mobile_redirect_uri_override_description": "Ative quando 'app.immich:/' for um URI de redirecionamento inválido.", + "oauth_scope": "Escopo", + "oauth_settings": "OAuth", + "oauth_settings_description": "Gerenciar configurações de login do OAuth", + "oauth_signing_algorithm": "Algoritmo de assinatura", + "oauth_storage_label_claim": "Reivindicação de rótulo de armazenamento", + "oauth_storage_label_claim_description": "Defina automaticamente o rótulo de armazenamento do usuário para o valor desta declaração.", + "oauth_storage_quota_claim": "Reivindicação de cota de armazenamento", + "oauth_storage_quota_claim_description": "Defina automaticamente a cota de armazenamento do usuário para o valor desta declaração.", + "oauth_storage_quota_default": "Cota de armazenamento padrão (GiB)", + "oauth_storage_quota_default_description": "Cota em GiB a ser usada quando nenhuma reivindicação for fornecida (insira 0 para cota ilimitada).", + "offline_paths": "Caminhos off-line", + "offline_paths_description": "Esses resultados podem ser devidos à exclusão manual de arquivos que não fazem parte de uma biblioteca externa.", + "password_enable_description": "Login com e-mail e senha", + "password_settings": "Senha de acesso", + "password_settings_description": "Gerenciar configurações de login e senha", + "paths_validated_successfully": "Todos os caminhos validados com sucesso", + "quota_size_gib": "Tamanho da cota (GiB)", + "refreshing_all_libraries": "Atualizando todas as bibliotecas", + "removing_offline_files": "Removendo arquivos offline", + "repair_all": "Reparar tudo", + "repair_matched_items": "Encontrado {count, plural, one {# item} other {# itens}}", + "repaired_items": "Reparado {count, plural, one {# item} other {# itens}}", + "require_password_change_on_login": "Exigir que o usuário altere a senha no primeiro login", + "reset_settings_to_default": "Redefinir as configurações para o padrão", + "reset_settings_to_recent_saved": "Redefinir as configurações para as configurações salvas recentemente", + "scanning_library_for_changed_files": "Escaneando a biblioteca em busca de arquivos alterados", + "scanning_library_for_new_files": "Escaneando a biblioteca em busca de novos arquivos", + "send_welcome_email": "Enviar e-mail de boas-vindas", + "server_external_domain_settings": "Domínio externo", + "server_external_domain_settings_description": "Domínio para links públicos compartilhados, incluindo http(s)://", + "server_settings": "Configurações do servidor", + "server_settings_description": "Gerenciar configurações do servidor", + "server_welcome_message": "Mensagem de boas-vindas", + "server_welcome_message_description": "Uma mensagem exibida na página de login.", + "sidecar_job": "Metadados secundários", + "sidecar_job_description": "Descubra ou sincronize metadados secundários do sistema de arquivos", + "slideshow_duration_description": "Tempo em segundos para exibir cada imagem", + "smart_search_job_description": "Execute o aprendizado de máquina em ativos para oferecer suporte à pesquisa inteligente", + "storage_template_enable_description": "Habilitar mecanismo de modelo de armazenamento", + "storage_template_hash_verification_enabled": "Falha na verificação de hash", + "storage_template_hash_verification_enabled_description": "Ativa a verificação de hash, não desative esta opção a menos que tenha certeza das implicações", + "storage_template_migration": "Migração de modelo de armazenamento", + "storage_template_migration_job": "Trabalho de migração de armazenamento", + "storage_template_settings": "Modelo de armazenamento", + "storage_template_settings_description": "Gerenciar a estrutura de pastas e o nome do arquivo dos ativos carregados", + "system_settings": "Configurações de Sistema", + "theme_custom_css_settings": "CSS customizado", + "theme_custom_css_settings_description": "Folhas de estilo em cascata permitem que o design do Immich seja personalizado.", + "theme_settings": "Configurações de tema", + "theme_settings_description": "Gerencie a personalização da interface web do Immich", + "these_files_matched_by_checksum": "Esses arquivos são correspondidos por seus checksum", + "thumbnail_generation_job": "Gerar miniaturas", + "thumbnail_generation_job_description": "Gere miniaturas grandes, pequenas e desfocadas para cada ativo, bem como miniaturas para cada pessoa", + "transcode_policy_description": "", + "transcoding_acceleration_api": "API de aceleração", + "transcoding_acceleration_api_description": "A API que irá interagir com o seu dispositivo para acelerar a transcodificação. Esta configuração é a 'melhor opção': ela retornará à transcodificação de software em caso de falha. O VP9 pode não funcionar dependendo do seu hardware.", + "transcoding_acceleration_nvenc": "NVENC (requer GPU NVIDIA)", + "transcoding_acceleration_qsv": "Quick Sync (requer CPU Intel de 7ª geração ou posterior)", + "transcoding_acceleration_rkmpp": "RKMPP (apenas em SOCs Rockchip)", + "transcoding_acceleration_vaapi": "VAAPI", + "transcoding_accepted_audio_codecs": "Codecs de áudio aceitos", + "transcoding_accepted_audio_codecs_description": "Selecione quais codecs de áudio não precisam ser transcodificados. Usado apenas para determinadas políticas de transcodificação.", + "transcoding_accepted_video_codecs": "Codecs de vídeo aceitos", + "transcoding_accepted_video_codecs_description": "Selecione quais codecs de vídeo não precisam ser transcodificados. Usado apenas para determinadas políticas de transcodificação.", + "transcoding_advanced_options_description": "Opções que a maioria dos usuários não deveria precisar alterar", + "transcoding_audio_codec": "Codec de áudio", + "transcoding_audio_codec_description": "Opus é a opção de mais alta qualidade, mas tem menor compatibilidade com dispositivos ou softwares antigos.", + "transcoding_bitrate_description": "Vídeos com taxa de bits superior à máxima ou que não estão em um formato aceito", + "transcoding_constant_quality_mode": "Modo de qualidade constante", + "transcoding_constant_quality_mode_description": "ICQ é melhor que CQP, mas alguns dispositivos de aceleração de hardware não suportam este modo. Definir esta opção dará preferência ao modo especificado ao usar codificação baseada em qualidade. Ignorado pelo NVENC porque não suporta ICQ.", + "transcoding_constant_rate_factor": "Fator de taxa constante (-crf)", + "transcoding_constant_rate_factor_description": "Nível de qualidade do vídeo. Os valores típicos são 23 para H.264, 28 para HEVC, 31 para VP9 e 35 para AV1. Menor é melhor, mas produz arquivos maiores.", + "transcoding_disabled_description": "Não transcodifique nenhum vídeo, pois pode interromper a reprodução em alguns clientes", + "transcoding_hardware_acceleration": "Aceleração de hardware", + "transcoding_hardware_acceleration_description": "Experimental; muito mais rápido, mas terá qualidade inferior com a mesma taxa de bits", + "transcoding_hardware_decoding": "Decodificação de hardware", + "transcoding_hardware_decoding_setting_description": "Aplica-se apenas a NVENC e RKMPP. Permite aceleração ponta a ponta em vez de apenas acelerar a codificação. Pode não funcionar em todos os vídeos.", + "transcoding_hevc_codec": "Codec HEVC", + "transcoding_max_b_frames": "Máximo de quadros B", + "transcoding_max_b_frames_description": "Valores mais altos melhoram a eficiência da compactação, mas retardam a codificação. Pode não ser compatível com aceleração de hardware em dispositivos mais antigos. 0 desativa os quadros B, enquanto -1 define esse valor automaticamente.", + "transcoding_max_bitrate": "Taxa de bits máxima", + "transcoding_max_bitrate_description": "Definir uma taxa de bits máxima pode tornar os tamanhos dos arquivos mais previsíveis com um custo menor de qualidade. Em 720p, os valores típicos são 2.600k para VP9 ou HEVC, ou 4.500k para H.264. Desativado se definido como 0.", + "transcoding_max_keyframe_interval": "Intervalo máximo de quadro-chave", + "transcoding_max_keyframe_interval_description": "Define a distância máxima do quadro entre os quadros-chave. Valores mais baixos pioram a eficiência da compressão, mas melhoram os tempos de busca e podem melhorar a qualidade em cenas com movimento rápido. 0 define esse valor automaticamente.", + "transcoding_optimal_description": "Vídeos com resolução superior à desejada ou em formato não aceito", + "transcoding_preferred_hardware_device": "Dispositivo de hardware preferido", + "transcoding_preferred_hardware_device_description": "Aplica-se apenas a VAAPI e QSV. Define o nó dri usado para transcodificação de hardware.", + "transcoding_preset_preset": "Predefinido (-preset)", + "transcoding_preset_preset_description": "Velocidade de compressão. Predefinições mais lentas produzem arquivos menores e aumentam a qualidade ao atingir uma determinada taxa de bits. VP9 ignora velocidades acima de `mais rápidas`.", + "transcoding_reference_frames": "Quadros de referência", + "transcoding_reference_frames_description": "O número de quadros a serem referenciados ao compactar um determinado quadro. Valores mais altos melhoram a eficiência da compactação, mas retardam a codificação. 0 define esse valor automaticamente.", + "transcoding_required_description": "Somente vídeos que não estejam em um formato aceito", + "transcoding_settings": "Configurações de transcodificação de vídeo", + "transcoding_settings_description": "Gerencie as informações de resolução e codificação dos arquivos de vídeo", + "transcoding_target_resolution": "Resolução desejada", + "transcoding_target_resolution_description": "Resoluções mais altas podem preservar mais detalhes, mas demoram mais para codificar, têm tamanhos de arquivo maiores e podem reduzir a capacidade de resposta do aplicativo.", + "transcoding_temporal_aq": "QA temporal", + "transcoding_temporal_aq_description": "Aplica-se apenas ao NVENC. Aumenta a qualidade de cenas com alto detalhe e pouco movimento. Pode não ser compatível com dispositivos mais antigos.", + "transcoding_threads": "Threads", + "transcoding_threads_description": "Valores mais altos levam a uma codificação mais rápida, mas deixam menos espaço para o servidor processar outras tarefas enquanto estiver ativo. Este valor não deve ser superior ao número de núcleos da CPU. Maximiza a utilização se definido como 0.", + "transcoding_tone_mapping": "Mapeamento de tons", + "transcoding_tone_mapping_description": "Tenta preservar a aparência dos vídeos HDR quando convertidos para SDR. Cada algoritmo faz compensações diferentes em termos de cor, detalhes e brilho. Hable preserva os detalhes, Mobius preserva as cores e Reinhard preserva o brilho.", + "transcoding_tone_mapping_npl": "NPL de mapeamento de tons", + "transcoding_tone_mapping_npl_description": "As cores serão ajustadas para parecerem normais para uma exibição com esse brilho. Contra-intuitivamente, valores mais baixos aumentam o brilho do vídeo e vice-versa, uma vez que compensam o brilho da tela. 0 define esse valor automaticamente.", + "transcoding_transcode_policy": "Política de transcodificação", + "transcoding_transcode_policy_description": "Política para quando um vídeo deve ser transcodificado. Os vídeos HDR sempre serão transcodificados (exceto se a transcodificação estiver desativada).", + "transcoding_two_pass_encoding": "Codificação de duas passagens", + "transcoding_two_pass_encoding_setting_description": "Transcodifique em duas passagens para produzir vídeos melhor codificados. Quando a taxa de bits máxima está habilitada (necessária para funcionar com H.264 e HEVC), este modo usa um intervalo de taxa de bits baseado na taxa de bits máxima e ignora o CRF. Para VP9, o CRF pode ser usado se a taxa de bits máxima estiver desabilitada.", + "transcoding_video_codec": "Codec de vídeo", + "transcoding_video_codec_description": "O VP9 tem alta eficiência e compatibilidade com a web, mas leva mais tempo para transcodificar. HEVC tem desempenho semelhante, mas tem menor compatibilidade com a web. H.264 é amplamente compatível e rápido de transcodificar, mas produz arquivos muito maiores. AV1 é o codec mais eficiente, mas não possui suporte em dispositivos mais antigos.", + "trash_enabled_description": "Ativar recursos da Lixeira", + "trash_number_of_days": "Número de dias", + "trash_number_of_days_description": "Número de dias para manter os ativos na lixeira antes de deletar permanentemente", + "trash_settings": "Configurações da Lixeira", + "trash_settings_description": "Gerenciar configurações da lixeira", + "untracked_files": "Arquivos não rastreados", + "untracked_files_description": "Esses arquivos não são rastreados pelo aplicativo. Eles podem ser o resultado de movimentos malsucedidos, carregamentos interrompidos ou deixados para trás devido a um bug", + "user_delete_delay_settings": "Excluir atraso", + "user_delete_delay_settings_description": "Número de dias após a remoção para excluir permanentemente a conta e os ativos de um usuário. O trabalho de exclusão de usuário é executado à meia-noite para verificar usuários que estão prontos para exclusão. As alterações nesta configuração serão avaliadas na próxima execução.", + "user_management": "Gerenciamento de usuários", + "user_password_has_been_reset": "A senha do usuário foi redefinida:", + "user_password_reset_description": "Forneça a senha temporária ao usuário e informe que ele precisará alterar a senha no próximo login.", + "user_settings": "Configurações do Usuário", + "user_settings_description": "Gerenciar configurações do usuário", + "user_successfully_removed": "O usuário {email} foi removido com sucesso.", + "version_check_enabled_description": "Ativa verificações periódicas no GitHub para novas versões", + "version_check_settings": "Verificação de versão", + "version_check_settings_description": "Ativar/desativar a notificação de nova versão", + "video_conversion_job": "Transcodificar vídeos", + "video_conversion_job_description": "Transcodifique vídeos para maior compatibilidade com navegadores e dispositivos" }, - "admin_email": "", - "admin_password": "", - "administration": "", - "advanced": "", - "album_added": "", - "album_added_notification_setting_description": "", - "album_cover_updated": "", - "album_info_updated": "", - "album_name": "", - "album_options": "", - "album_updated": "", - "album_updated_setting_description": "", - "albums": "", - "albums_count": "", - "all": "", - "all_people": "", - "allow_dark_mode": "", - "allow_edits": "", - "api_key": "", - "api_keys": "", - "app_settings": "", - "appears_in": "", - "archive": "", - "archive_or_unarchive_photo": "", - "archive_size": "", - "archive_size_description": "", - "archived": "", - "asset_offline": "", - "assets": "", - "assets_moved_to_trash": "", - "authorized_devices": "", - "back": "", - "backward": "", - "blurred_background": "", - "bulk_delete_duplicates_confirmation": "", - "bulk_keep_duplicates_confirmation": "", - "bulk_trash_duplicates_confirmation": "", - "camera": "", - "camera_brand": "", - "camera_model": "", - "cancel": "", - "cancel_search": "", - "cannot_merge_people": "", - "cannot_update_the_description": "", - "cant_apply_changes": "", - "cant_get_faces": "", - "cant_search_people": "", - "cant_search_places": "", - "change_date": "", - "change_expiration_time": "", - "change_location": "", - "change_name": "", - "change_name_successfully": "", - "change_password": "", - "change_your_password": "", - "changed_visibility_successfully": "", - "check_all": "", - "check_logs": "", - "choose_matching_people_to_merge": "", - "city": "", - "clear": "", - "clear_all": "", - "clear_message": "", - "clear_value": "", - "close": "", - "collapse_all": "", - "color_theme": "", - "comment_options": "", - "comments_are_disabled": "", - "confirm": "", - "confirm_admin_password": "", - "confirm_delete_shared_link": "", - "confirm_password": "", - "contain": "", - "context": "", - "continue": "", - "copied_image_to_clipboard": "", - "copied_to_clipboard": "", - "copy_error": "", - "copy_file_path": "", - "copy_image": "", - "copy_link": "", - "copy_link_to_clipboard": "", - "copy_password": "", - "copy_to_clipboard": "", - "country": "", - "cover": "", - "covers": "", - "create": "", - "create_album": "", - "create_library": "", - "create_link": "", - "create_link_to_share": "", - "create_new_person": "", - "create_new_user": "", - "create_user": "", - "created": "", - "current_device": "", - "custom_locale": "", - "custom_locale_description": "", - "dark": "", - "date_after": "", - "date_and_time": "", - "date_before": "", - "date_range": "", - "day": "", - "deduplicate_all": "", - "default_locale": "", - "default_locale_description": "", - "delete": "", - "delete_album": "", - "delete_api_key_prompt": "", - "delete_duplicates_confirmation": "", - "delete_key": "", - "delete_library": "", - "delete_link": "", - "delete_shared_link": "", - "delete_user": "", - "deleted_shared_link": "", - "description": "", - "details": "", - "direction": "", - "disabled": "", - "disallow_edits": "", - "discover": "", - "dismiss_all_errors": "", - "dismiss_error": "", - "display_options": "", - "display_order": "", - "display_original_photos": "", - "display_original_photos_setting_description": "", - "done": "", - "download": "", - "download_settings": "", - "download_settings_description": "", - "downloading": "", - "duplicates": "", - "duplicates_description": "", - "duration": "", - "edit_album": "", - "edit_avatar": "", - "edit_date": "", - "edit_date_and_time": "", - "edit_exclusion_pattern": "", - "edit_faces": "", - "edit_import_path": "", - "edit_import_paths": "", - "edit_key": "", - "edit_link": "", - "edit_location": "", - "edit_name": "", - "edit_people": "", - "edit_title": "", - "edit_user": "", - "edited": "", - "editor": "", - "email": "", - "empty_trash": "", - "end_date": "", - "error": "", - "error_loading_image": "", + "admin_email": "E-mail do administrador", + "admin_password": "Senha do administrador", + "administration": "Administração", + "advanced": "Avançado", + "album_added": "Álbum adicionado", + "album_added_notification_setting_description": "Receba uma notificação por e-mail quando você for adicionado a um álbum compartilhado", + "album_cover_updated": "Capa do álbum atualizada", + "album_info_updated": "Informações do álbum atualizadas", + "album_name": "Nome do álbum", + "album_options": "Opções de álbum", + "album_updated": "Álbum atualizado", + "album_updated_setting_description": "Receba uma notificação por e-mail quando um álbum compartilhado tiver novos recursos", + "albums": "Álbuns", + "albums_count": "{count, plural, one {{count, number} Álbum} other {{count, number} Álbuns}}", + "all": "Todos", + "all_people": "Todas as pessoas", + "allow_dark_mode": "Permitir modo escuro", + "allow_edits": "Permitir edições", + "api_key": "Chave de API", + "api_keys": "Chaves de API", + "app_settings": "Configurações do Aplicativo", + "appears_in": "Aparece em", + "archive": "Arquivados", + "archive_or_unarchive_photo": "Arquivar ou desarquivar foto", + "archive_size": "Tamanho do Arquivo", + "archive_size_description": "Configure o tamanho do arquivo para downloads (em GiB)", + "archived": "Arquivado", + "asset_offline": "Ativo off-line", + "assets": "Ativos", + "assets_moved_to_trash": "{count, plural, one {# ativo enviado} other {# ativos enviados}} para a lixeira", + "authorized_devices": "Dispositivos Autorizados", + "back": "Voltar", + "backward": "Para trás", + "blurred_background": "Fundo desfocado", + "bulk_delete_duplicates_confirmation": "Tem a certeza de que deseja deletar todos os {count} ativos duplicados? Esta ação mantém o maior ativo de cada grupo e deleta permanentemente todas as outras duplicidades. Você não pode desfazer esta ação!", + "bulk_keep_duplicates_confirmation": "Tem certeza de que deseja manter os {count} ativos duplicados? Isso resolverá todos os grupos duplicados sem excluir nada.", + "bulk_trash_duplicates_confirmation": "Tem a certeza de que deseja mover para a lixeira todos os {count} ativos duplicados? Isso manterá o maior ativo de cada grupo e moverá para a lixeira todas as outras duplicidades.", + "camera": "Câmera", + "camera_brand": "Marca da câmera", + "camera_model": "Modelo da câmera", + "cancel": "Cancelar", + "cancel_search": "Cancelar pesquisa", + "cannot_merge_people": "Não é possível mesclar pessoas", + "cannot_update_the_description": "Não é possível atualizar a descrição", + "cant_apply_changes": "Não é possível aplicar alterações", + "cant_get_faces": "Não foi possível obter faces", + "cant_search_people": "Não foi possível pesquisar pessoas", + "cant_search_places": "Não foi possível pesquisar lugares", + "change_date": "Alterar data", + "change_expiration_time": "Alterar o prazo de validade", + "change_location": "Alterar localização", + "change_name": "Alterar nome", + "change_name_successfully": "Nome alterado com sucesso", + "change_password": "Mudar a senha", + "change_your_password": "Alterar sua senha", + "changed_visibility_successfully": "Visibilidade alterada com sucesso", + "check_all": "Verificar tudo", + "check_logs": "Verificar registros", + "choose_matching_people_to_merge": "Escolha pessoas correspondentes para mesclar", + "city": "Cidade", + "clear": "Limpar", + "clear_all": "Limpar tudo", + "clear_message": "Limpar mensagem", + "clear_value": "Limpar valor", + "close": "Fechar", + "collapse_all": "Colapsar tudo", + "color_theme": "Tema de cores", + "comment_options": "Opções de comentário", + "comments_are_disabled": "Comentários estão desativados", + "confirm": "Confirmar", + "confirm_admin_password": "Confirmar senha de administrador", + "confirm_delete_shared_link": "Tem certeza de que deseja excluir este link compartilhado?", + "confirm_password": "Confirme a senha", + "contain": "Caber", + "context": "Contexto", + "continue": "Continuar", + "copied_image_to_clipboard": "Imagem copiada para a área de transferência.", + "copied_to_clipboard": "Copiado para a área de transferência!", + "copy_error": "Copiar erro", + "copy_file_path": "Copiar caminho do arquivo", + "copy_image": "Copiar Imagem", + "copy_link": "Copiar link", + "copy_link_to_clipboard": "Copiar link para a área de transferência", + "copy_password": "Copiar senha", + "copy_to_clipboard": "Copiar para a área de transferência", + "country": "País", + "cover": "Preencher", + "covers": "Capas", + "create": "Criar", + "create_album": "Criar álbum", + "create_library": "Criar biblioteca", + "create_link": "Criar link", + "create_link_to_share": "Criar link para partilhar", + "create_new_person": "Criar nova pessoa", + "create_new_user": "Criar novo usuário", + "create_user": "Criar usuário", + "created": "Criado", + "current_device": "Dispositivo atual", + "custom_locale": "Localização Customizada", + "custom_locale_description": "Formatar datas e números baseados na linguagem e região", + "dark": "Escuro", + "date_after": "Data após", + "date_and_time": "Data e Hora", + "date_before": "Data antes", + "date_range": "Intervalo de datas", + "day": "Dia", + "deduplicate_all": "Limpar todas Duplicidades", + "default_locale": "Localização Padrão", + "default_locale_description": "Formatar datas e números baseados na linguagem do seu navegador", + "delete": "Excluir", + "delete_album": "Excluir álbum", + "delete_api_key_prompt": "Tem certeza de que deseja excluir esta chave de API?", + "delete_duplicates_confirmation": "Tem certeza de que deseja excluir permanentemente estas duplicidades?", + "delete_key": "Excluir chave", + "delete_library": "Excluir biblioteca", + "delete_link": "Excluir link", + "delete_shared_link": "Excluir link de compartilhamento", + "delete_user": "Excluir usuário", + "deleted_shared_link": "Link de compartilhamento excluído", + "description": "Descrição", + "details": "Detalhes", + "direction": "Direção", + "disabled": "Desativado", + "disallow_edits": "Não permitir edições", + "discover": "Descobrir", + "dismiss_all_errors": "Dispensar todos os erros", + "dismiss_error": "Dispensar erro", + "display_options": "Opções de exibição", + "display_order": "Ordem de exibição", + "display_original_photos": "Exibir fotos originais", + "display_original_photos_setting_description": "Prefira exibir a foto original ao visualizar um ativo em vez de miniaturas quando o ativo original é compatível com a web. Isso pode diminuir a velocidade de exibição das fotos.", + "done": "Feito", + "download": "Baixar", + "download_settings": "Baixar", + "download_settings_description": "Gerenciar configurações relacionadas a baixar ativos", + "downloading": "Baixando", + "duplicates": "Duplicados", + "duplicates_description": "Marque cada grupo indicando quais ativos, se algum, são duplicados", + "duration": "Duração", + "durations": { + "days": "", + "hours": "", + "minutes": "", + "months": "", + "years": "" + }, + "edit_album": "Editar álbum", + "edit_avatar": "Editar foto de perfil", + "edit_date": "Editar data", + "edit_date_and_time": "Editar data e hora", + "edit_exclusion_pattern": "Editar o padrão de exclusão", + "edit_faces": "Editar faces", + "edit_import_path": "Editar caminho de importação", + "edit_import_paths": "Editar caminhos de importação", + "edit_key": "Editar chave", + "edit_link": "Editar link", + "edit_location": "Editar Localização", + "edit_name": "Editar nome", + "edit_people": "Editar pessoas", + "edit_title": "Editar Título", + "edit_user": "Editar usuário", + "edited": "Editado", + "editor": "Editar", + "email": "E-mail", + "empty": "", + "empty_album": "", + "empty_trash": "Esvaziar lixo", + "enable": "", + "enabled": "", + "end_date": "Data final", + "error": "Erro", + "error_loading_image": "Erro ao carregar a página", "errors": { - "exclusion_pattern_already_exists": "", - "import_path_already_exists": "", - "paths_validation_failed": "", - "quota_higher_than_disk_size": "", - "repair_unable_to_check_items": "", - "unable_to_add_album_users": "", - "unable_to_add_comment": "", - "unable_to_add_exclusion_pattern": "", - "unable_to_add_import_path": "", - "unable_to_add_partners": "", - "unable_to_change_album_user_role": "", - "unable_to_change_date": "", - "unable_to_change_location": "", - "unable_to_change_password": "", - "unable_to_copy_to_clipboard": "", - "unable_to_create_api_key": "", - "unable_to_create_library": "", - "unable_to_create_user": "", - "unable_to_delete_album": "", - "unable_to_delete_asset": "", - "unable_to_delete_exclusion_pattern": "", - "unable_to_delete_import_path": "", - "unable_to_delete_shared_link": "", - "unable_to_delete_user": "", - "unable_to_edit_exclusion_pattern": "", - "unable_to_edit_import_path": "", - "unable_to_empty_trash": "", - "unable_to_enter_fullscreen": "", - "unable_to_exit_fullscreen": "", - "unable_to_hide_person": "", - "unable_to_link_oauth_account": "", - "unable_to_load_album": "", - "unable_to_load_asset_activity": "", - "unable_to_load_items": "", - "unable_to_load_liked_status": "", - "unable_to_play_video": "", - "unable_to_refresh_user": "", - "unable_to_remove_album_users": "", - "unable_to_remove_api_key": "", - "unable_to_remove_library": "", - "unable_to_remove_offline_files": "", - "unable_to_remove_partner": "", - "unable_to_remove_reaction": "", - "unable_to_repair_items": "", - "unable_to_reset_password": "", - "unable_to_resolve_duplicate": "", - "unable_to_restore_assets": "", - "unable_to_restore_trash": "", - "unable_to_restore_user": "", - "unable_to_save_album": "", - "unable_to_save_api_key": "", - "unable_to_save_name": "", - "unable_to_save_profile": "", - "unable_to_save_settings": "", - "unable_to_scan_libraries": "", - "unable_to_scan_library": "", - "unable_to_set_profile_picture": "", - "unable_to_submit_job": "", - "unable_to_trash_asset": "", - "unable_to_unlink_account": "", - "unable_to_update_library": "", - "unable_to_update_location": "", - "unable_to_update_settings": "", - "unable_to_update_timeline_display_status": "", - "unable_to_update_user": "" + "cleared_jobs": "Trabalhos eliminados para: {job}", + "exclusion_pattern_already_exists": "Este padrão de exclusão já existe.", + "failed_job_command": "Comando {command} falhou para o trabalho: {job}", + "import_path_already_exists": "Este caminho de importação já existe.", + "paths_validation_failed": "a validação de {paths, plural, one {# caminho falhou} other {# caminhos falharam}}", + "quota_higher_than_disk_size": "Você definiu uma cota maior do que o tamanho do disco", + "repair_unable_to_check_items": "Não foi possível verificar {count, select, one {um item} other {alguns itens}}", + "unable_to_add_album_users": "Não foi possível adicionar usuários ao álbum", + "unable_to_add_comment": "Não foi possível adicionar o comentário", + "unable_to_add_exclusion_pattern": "Não foi possível adicionar o padrão de exclusão", + "unable_to_add_import_path": "Não foi possível adicionar o caminho de importação", + "unable_to_add_partners": "Não foi possível adicionar parceiros", + "unable_to_change_album_user_role": "Não foi possível alterar a permissão do usuário no álbum", + "unable_to_change_date": "Não foi possível alterar a data", + "unable_to_change_location": "Não foi possível alterar a localização", + "unable_to_change_password": "Não foi possível alterar a senha", + "unable_to_check_item": "", + "unable_to_check_items": "", + "unable_to_copy_to_clipboard": "Não é possível copiar para a área de transferência, certifique-se que está acessando a pagina através de https", + "unable_to_create_admin_account": "", + "unable_to_create_api_key": "Não foi possível criar uma nova Chave de API", + "unable_to_create_library": "Não foi possível criar a biblioteca", + "unable_to_create_user": "Não foi possível criar o usuário", + "unable_to_delete_album": "Não foi possível deletar o álbum", + "unable_to_delete_asset": "Não foi possível deletar o ativo", + "unable_to_delete_exclusion_pattern": "Não foi possível deletar o padrão de exclusão", + "unable_to_delete_import_path": "Não foi possível deletar o caminho de importação", + "unable_to_delete_shared_link": "Não foi possível deletar o link compartilhado", + "unable_to_delete_user": "Não foi possível deletar o usuário", + "unable_to_edit_exclusion_pattern": "Não foi possível editar o padrão de exclusão", + "unable_to_edit_import_path": "Não foi possível editar o caminho de importação", + "unable_to_empty_trash": "Não foi possível esvaziar a lixeira", + "unable_to_enter_fullscreen": "Não foi possível entrar em modo de tela cheia", + "unable_to_exit_fullscreen": "Não foi possível sair do modo de tela cheia", + "unable_to_hide_person": "Não foi possível esconder a pessoa", + "unable_to_link_oauth_account": "Não foi possível associar a conta OAuth", + "unable_to_load_album": "Não foi possível carregar o álbum", + "unable_to_load_asset_activity": "Não foi possível carregar as atividades do ativo", + "unable_to_load_items": "Não foi possível carregar os items", + "unable_to_load_liked_status": "Não foi possível carregar os status de gostei", + "unable_to_play_video": "Não foi possível reproduzir o vídeo", + "unable_to_refresh_user": "Não foi possível atualizar o usuário", + "unable_to_remove_album_users": "Não foi possível remover usuários do álbum", + "unable_to_remove_api_key": "Não foi possível a Chave de API", + "unable_to_remove_comment": "", + "unable_to_remove_library": "Não foi possível remover a biblioteca", + "unable_to_remove_offline_files": "Não foi possível remover arquivos offline", + "unable_to_remove_partner": "Não foi possível remover parceiro", + "unable_to_remove_reaction": "Não foi possível remover a reação", + "unable_to_remove_user": "", + "unable_to_repair_items": "Não foi possível reparar os itens", + "unable_to_reset_password": "Não foi possível resetar a senha", + "unable_to_resolve_duplicate": "Não foi possível resolver a duplicidade", + "unable_to_restore_assets": "Não foi possível restaurar ativos", + "unable_to_restore_trash": "Não foi possível restaurar itens da lixeira", + "unable_to_restore_user": "Não foi possível restaurar usuário", + "unable_to_save_album": "Não foi possível salvar o álbum", + "unable_to_save_api_key": "Não foi possível salvar a Chave de API", + "unable_to_save_name": "Não foi possível salvar o nome", + "unable_to_save_profile": "Não foi possível salvar o perfil", + "unable_to_save_settings": "Não foi possível salvar as configurações", + "unable_to_scan_libraries": "Não foi possível escanear as bibliotecas", + "unable_to_scan_library": "Não foi possível escanear a biblioteca", + "unable_to_set_profile_picture": "Não foi possível definir a foto de perfil", + "unable_to_submit_job": "Não foi possível enviar o trabalho", + "unable_to_trash_asset": "Não foi possível enviar o ativo para a lixeira", + "unable_to_unlink_account": "Não foi possível desvincular conta", + "unable_to_update_library": "Não foi possível atualizar a biblioteca", + "unable_to_update_location": "Não foi possível atualizar a localização", + "unable_to_update_settings": "Não foi possível atualizar as configurações", + "unable_to_update_timeline_display_status": "Não foi possível atualizar o modo de visualização da linha do tempo", + "unable_to_update_user": "Não foi possível atualizar o usuário" }, - "exit_slideshow": "", - "expand_all": "", - "expire_after": "", - "expired": "", - "explore": "", - "export": "", - "export_as_json": "", - "extension": "", - "external": "", - "external_libraries": "", - "failed_to_get_people": "", - "favorite": "", - "favorite_or_unfavorite_photo": "", - "favorites": "", - "feature_photo_updated": "", - "file_name": "", - "file_name_or_extension": "", - "filename": "", - "filetype": "", - "filter_people": "", - "find_them_fast": "", - "fix_incorrect_match": "", - "force_re-scan_library_files": "", - "forward": "", - "general": "", - "get_help": "", - "getting_started": "", - "go_back": "", - "go_to_search": "", - "go_to_share_page": "", - "group_albums_by": "", - "has_quota": "", - "hide_gallery": "", - "hide_password": "", - "hide_person": "", - "host": "", - "hour": "", - "image": "", - "immich_logo": "", - "immich_web_interface": "", - "import_from_json": "", - "import_path": "", - "in_albums": "", - "in_archive": "", - "include_archived": "", - "include_shared_albums": "", - "include_shared_partner_assets": "", - "individual_share": "", - "info": "", + "every_day_at_onepm": "", + "every_night_at_midnight": "", + "every_night_at_twoam": "", + "every_six_hours": "", + "exit_slideshow": "Sair da apresentação", + "expand_all": "Expandir tudo", + "expire_after": "Expira depois", + "expired": "Expirou", + "explore": "Explorar", + "export": "Exportar", + "export_as_json": "Exportar como JSON", + "extension": "Extensão", + "external": "Externo", + "external_libraries": "Bibliotecas externas", + "failed_to_get_people": "Falha ao carregar as pessoas", + "favorite": "Favorito", + "favorite_or_unfavorite_photo": "Marque ou desmarque a foto como favorita", + "favorites": "Favoritos", + "feature": "", + "feature_photo_updated": "Foto principal atualizada", + "featurecollection": "", + "file_name": "Nome do arquivo", + "file_name_or_extension": "Nome do arquivo ou extensão", + "filename": "Nome do arquivo", + "files": "", + "filetype": "Tipo de arquivo", + "filter_people": "Filtrar pessoas", + "find_them_fast": "Encontre pelo nome em uma pesquisa", + "fix_incorrect_match": "Corrigir correspondência incorreta", + "force_re-scan_library_files": "Força escanear novamente todos os arquivos da biblioteca", + "forward": "Para frente", + "general": "Geral", + "get_help": "Obter Ajuda", + "getting_started": "Primeiros passos", + "go_back": "Voltar", + "go_to_search": "Ir para a pesquisa", + "go_to_share_page": "Ir para a página de compartilhamento", + "group_albums_by": "Agrupar álbuns por...", + "has_quota": "Há cota", + "hide_gallery": "Ocultar galeria", + "hide_password": "Ocultar senha", + "hide_person": "Ocultar pessoa", + "host": "Host", + "hour": "Hora", + "image": "Imagem", + "img": "", + "immich_logo": "Logo do Immich", + "immich_web_interface": "Interface web do Immich", + "import_from_json": "Importar do JSON", + "import_path": "Caminho de importação", + "in_albums": "Em {count, plural, one {# álbum} other {# álbuns}}", + "in_archive": "Arquivado", + "include_archived": "Incluir arquivados", + "include_shared_albums": "Incluir álbuns compartilhados", + "include_shared_partner_assets": "Incluir ativos compartilhados por parceiros", + "individual_share": "Compartilhamento único", + "info": "Informações", "interval": { - "day_at_onepm": "", - "hours": "", - "night_at_midnight": "", - "night_at_twoam": "" + "day_at_onepm": "Todo dia, 1pm", + "hours": "A cada {hours, plural, one {hora} other {{hours, number} horas}}", + "night_at_midnight": "Toda noite, meia noite", + "night_at_twoam": "Toda noite, 2am" }, - "invite_people": "", - "invite_to_album": "", - "jobs": "", - "keep": "", - "keep_all": "", - "keyboard_shortcuts": "", - "language": "", - "language_setting_description": "", - "last_seen": "", - "leave": "", - "let_others_respond": "", - "level": "", - "library": "", - "library_options": "", - "light": "", - "link_options": "", - "link_to_oauth": "", - "linked_oauth_account": "", - "list": "", - "loading": "", - "loading_search_results_failed": "", - "log_out": "", - "log_out_all_devices": "", - "login_has_been_disabled": "", - "look": "", - "loop_videos": "", - "loop_videos_description": "", - "make": "", - "manage_shared_links": "", - "manage_sharing_with_partners": "", - "manage_the_app_settings": "", - "manage_your_account": "", - "manage_your_api_keys": "", - "manage_your_devices": "", - "manage_your_oauth_connection": "", - "map": "", - "map_marker_with_image": "", - "map_settings": "", - "matches": "", - "media_type": "", - "memories": "", - "memories_setting_description": "", - "memory": "", - "menu": "", - "merge": "", - "merge_people": "", - "merge_people_limit": "", - "merge_people_prompt": "", - "merge_people_successfully": "", - "minimize": "", - "minute": "", - "missing": "", - "model": "", - "month": "", - "more": "", - "moved_to_trash": "", - "my_albums": "", - "name": "", - "name_or_nickname": "", - "never": "", - "new_api_key": "", - "new_password": "", - "new_person": "", - "new_user_created": "", - "newest_first": "", - "next": "", - "next_memory": "", - "no": "", - "no_albums_message": "", - "no_archived_assets_message": "", - "no_assets_message": "", - "no_duplicates_found": "", - "no_exif_info_available": "", - "no_explore_results_message": "", - "no_favorites_message": "", - "no_libraries_message": "", - "no_name": "", - "no_places": "", - "no_results": "", - "no_shared_albums_message": "", - "not_in_any_album": "", - "note_apply_storage_label_to_previously_uploaded assets": "", - "note_unlimited_quota": "", - "notes": "", - "notification_toggle_setting_description": "", - "notifications": "", - "notifications_setting_description": "", - "oauth": "", - "offline": "", - "offline_paths": "", - "offline_paths_description": "", - "ok": "", - "oldest_first": "", - "online": "", - "only_favorites": "", - "only_refreshes_modified_files": "", - "open_the_search_filters": "", - "options": "", - "organize_your_library": "", - "other": "", - "other_devices": "", - "other_variables": "", - "owned": "", - "owner": "", - "partner": "", - "partner_can_access": "", - "partner_can_access_assets": "", - "partner_can_access_location": "", - "partner_sharing": "", - "partners": "", - "password": "", - "password_does_not_match": "", - "password_required": "", - "password_reset_success": "", + "invite_people": "Convidar Pessoas", + "invite_to_album": "Convidar para o álbum", + "job_settings_description": "", + "jobs": "Trabalhos", + "keep": "Manter", + "keep_all": "Manter Todos", + "keyboard_shortcuts": "Atalhos do teclado", + "language": "Idioma", + "language_setting_description": "Selecione seu Idioma preferido", + "last_seen": "Visto pela ultima vez", + "leave": "Sair", + "let_others_respond": "Permitir respostas", + "level": "Nível", + "library": "Biblioteca", + "library_options": "Opções da biblioteca", + "light": "Claro", + "link_options": "Opções do Link", + "link_to_oauth": "Link do OAuth", + "linked_oauth_account": "Conta OAuth Vinculada", + "list": "Lista", + "loading": "Carregando", + "loading_search_results_failed": "Falha ao carregar os resultados da pesquisa", + "log_out": "Sair", + "log_out_all_devices": "Sair de todos dispositivos", + "login_has_been_disabled": "Login foi desativado.", + "look": "Estilo", + "loop_videos": "Repetir vídeos", + "loop_videos_description": "Ative para repetir os vídeos automaticamente durante a exibição.", + "make": "Marca", + "manage_shared_links": "Gerir links partilhados", + "manage_sharing_with_partners": "Gerenciar compartilhamento com parceiros", + "manage_the_app_settings": "Gerenciar configurações do app", + "manage_your_account": "Gerenciar sua conta", + "manage_your_api_keys": "Gerenciar suas Chaves de API", + "manage_your_devices": "Gerenciar seus dispositivos logados", + "manage_your_oauth_connection": "Gerenciar sua conexão OAuth", + "map": "Mapa", + "map_marker_with_image": "Marcador de mapa com imagem", + "map_settings": "Definições do mapa", + "matches": "Correspondências", + "media_type": "Tipo de mídia", + "memories": "Memórias", + "memories_setting_description": "Gerencie o que vê em suas memórias", + "menu": "Menu", + "merge": "Mesclar", + "merge_people": "Mesclar pessoas", + "merge_people_limit": "Só é possível mesclar até 5 faces de uma só vez", + "merge_people_prompt": "Tem certeza que deseja mesclar estas pessoas? Esta ação é irreversível.", + "merge_people_successfully": "Pessoas mescladas com sucesso", + "minimize": "Minimizar", + "minute": "Minuto", + "missing": "Faltando", + "model": "Modelo", + "month": "Mês", + "more": "Mais", + "moved_to_trash": "Enviado para a lixeira", + "my_albums": "Meus Álbuns", + "name": "Nome", + "name_or_nickname": "Nome ou apelido", + "never": "Nunca", + "new_api_key": "Nova Chave de API", + "new_password": "Nova senha", + "new_person": "Nova Pessoa", + "new_user_created": "Novo usuário criado", + "newest_first": "Mais recente primeiro", + "next": "Avançar", + "next_memory": "Próxima memória", + "no": "Não", + "no_albums_message": "Crie um álbum para organizar suas fotos e vídeos", + "no_archived_assets_message": "Arquive fotos e vídeos para os ocultar da sua visualização de fotos", + "no_assets_message": "CLIQUE PARA CARREGAR SUA PRIMEIRA FOTO", + "no_duplicates_found": "Nenhuma duplicidade foi encontrada.", + "no_exif_info_available": "Sem informações exif disponíveis", + "no_explore_results_message": "Carregue mais fotos para explorar sua coleção.", + "no_favorites_message": "Adicione aos favoritos para encontrar suas melhores fotos e vídeos rapidamente", + "no_libraries_message": "Crie uma biblioteca externa para ver suas fotos e vídeos", + "no_name": "Sem nome", + "no_places": "Sem lugares", + "no_results": "Sem resultados", + "no_shared_albums_message": "Crie um álbum para compartilhar fotos e vídeos com pessoas em sua rede", + "not_in_any_album": "Fora de álbum", + "note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar o rótulo de armazenamento a ativos carregados anteriormente, execute o", + "note_unlimited_quota": "Nota: Digite 0 para cota ilimitada", + "notes": "Notas", + "notification_toggle_setting_description": "Habilitar notificações por e-mail", + "notifications": "Notificações", + "notifications_setting_description": "Gerenciar notificações", + "oauth": "OAuth", + "offline": "Offline", + "offline_paths": "Caminhos offline", + "offline_paths_description": "Estes resultados podem ser devidos a arquivos deletados manualmente e que não são parte de uma biblioteca externa.", + "ok": "Ok", + "oldest_first": "Mais antigo primeiro", + "online": "Online", + "only_favorites": "Somente favoritos", + "only_refreshes_modified_files": "Somente atualize arquivos modificados", + "open_the_search_filters": "Abre os filtros de pesquisa", + "options": "Opções", + "organize_your_library": "Organize sua biblioteca", + "other": "Outro", + "other_devices": "Outros dispositivos", + "other_variables": "Outras variáveis", + "owned": "Seu", + "owner": "Dono", + "partner_can_access": "{partner} pode acessar", + "partner_can_access_assets": "Todas suas fotos e vídeos, excetos os Arquivados ou Excluídos", + "partner_can_access_location": "A localização onde as fotos foram tiradas", + "partner_sharing": "Compartilhamento com Parceiro", + "partners": "Parceiros", + "password": "Senha", + "password_does_not_match": "As senhas não são iguais", + "password_required": "A senha é obrigatório", + "password_reset_success": "Senha resetada com sucesso", "past_durations": { - "days": "", - "hours": "", - "years": "" + "days": "{days, plural, one {Último dia} other {Últimos {days, number} dias}}", + "hours": "{hours, plural, one {Última hora} other {Últimas {hours, number} horas}}", + "years": "{years, plural, one {Último ano} other {Últimos {years, number} anos}}" }, - "path": "", - "pattern": "", - "pause": "", - "pause_memories": "", - "paused": "", - "pending": "", - "people": "", - "people_sidebar_description": "", - "permanent_deletion_warning": "", - "permanent_deletion_warning_setting_description": "", - "permanently_delete": "", - "permanently_deleted_asset": "", - "permanently_deleted_assets": "", - "person": "", - "photos": "", - "photos_count": "", - "photos_from_previous_years": "", - "pick_a_location": "", - "place": "", - "places": "", - "play": "", - "play_memories": "", - "play_motion_photo": "", - "play_or_pause_video": "", - "port": "", - "preset": "", - "preview": "", - "previous": "", - "previous_memory": "", - "previous_or_next_photo": "", - "primary": "", - "profile_picture_set": "", - "public_share": "", - "reaction_options": "", - "read_changelog": "", - "recent": "", - "recent_searches": "", - "refresh": "", - "refreshed": "", - "refreshes_every_file": "", - "remove": "", - "remove_from_album": "", - "remove_from_favorites": "", - "remove_from_shared_link": "", - "remove_offline_files": "", - "removed_api_key": "", - "rename": "", - "repair": "", - "repair_no_results_message": "", - "replace_with_upload": "", - "require_password": "", - "require_user_to_change_password_on_first_login": "", - "reset": "", - "reset_password": "", - "reset_people_visibility": "", - "resolved_all_duplicates": "", - "restore": "", - "restore_all": "", - "restore_user": "", - "resume": "", - "retry_upload": "", - "review_duplicates": "", - "role": "", - "save": "", - "saved_api_key": "", - "saved_profile": "", - "saved_settings": "", - "say_something": "", - "scan_all_libraries": "", - "scan_all_library_files": "", - "scan_new_library_files": "", - "scan_settings": "", - "scanning_for_album": "", - "search": "", - "search_albums": "", - "search_by_context": "", - "search_camera_make": "", - "search_camera_model": "", - "search_city": "", - "search_country": "", - "search_for_existing_person": "", - "search_people": "", - "search_places": "", - "search_state": "", - "search_timezone": "", - "search_type": "", - "search_your_photos": "", - "searching_locales": "", - "second": "", - "select_album_cover": "", - "select_all": "", - "select_avatar_color": "", - "select_face": "", - "select_featured_photo": "", - "select_keep_all": "", - "select_library_owner": "", - "select_new_face": "", - "select_photos": "", - "select_trash_all": "", - "selected": "", - "send_message": "", - "send_welcome_email": "", - "server": "", - "server_stats": "", - "set": "", - "set_as_album_cover": "", - "set_as_profile_picture": "", - "set_date_of_birth": "", - "set_profile_picture": "", - "set_slideshow_to_fullscreen": "", - "settings": "", - "settings_saved": "", - "share": "", - "shared": "", - "shared_by": "", - "shared_by_you": "", - "shared_from_partner": "", - "shared_links": "", - "shared_photos_and_videos_count": "", - "shared_with_partner": "", - "sharing": "", - "sharing_sidebar_description": "", - "show_album_options": "", - "show_and_hide_people": "", - "show_file_location": "", - "show_gallery": "", - "show_hidden_people": "", - "show_in_timeline": "", - "show_in_timeline_setting_description": "", - "show_keyboard_shortcuts": "", - "show_metadata": "", - "show_or_hide_info": "", - "show_password": "", - "show_person_options": "", - "show_progress_bar": "", - "show_search_options": "", - "shuffle": "", - "sign_out": "", - "sign_up": "", - "size": "", - "skip_to_content": "", - "slideshow": "", - "slideshow_settings": "", - "sort_albums_by": "", - "stack": "", - "stack_selected_photos": "", - "stacktrace": "", - "start": "", - "start_date": "", - "state": "", - "status": "", - "stop_motion_photo": "", - "stop_photo_sharing": "", - "stop_photo_sharing_description": "", - "stop_sharing_photos_with_user": "", - "storage": "", - "storage_label": "", - "storage_usage": "", - "submit": "", - "suggestions": "", - "sunrise_on_the_beach": "", - "swap_merge_direction": "", - "sync": "", - "template": "", - "theme": "", - "theme_selection": "", - "theme_selection_description": "", - "time_based_memories": "", - "timezone": "", - "to_archive": "", - "to_favorite": "", - "to_trash": "", - "toggle_settings": "", - "toggle_theme": "", - "toggle_visibility": "", - "total_usage": "", - "trash": "", - "trash_all": "", - "trash_count": "", - "trash_no_results_message": "", - "trashed_items_will_be_permanently_deleted_after": "", - "type": "", - "unarchive": "", - "unarchived": "", - "unfavorite": "", - "unhide_person": "", - "unknown": "", - "unknown_year": "", - "unlimited": "", - "unlink_oauth": "", - "unlinked_oauth_account": "", - "unnamed_album": "", - "unnamed_share": "", - "unselect_all": "", - "unstack": "", - "untracked_files": "", - "untracked_files_decription": "", - "up_next": "", - "updated_password": "", - "upload": "", - "upload_concurrency": "", - "url": "", - "usage": "", - "user": "", - "user_id": "", - "user_usage_detail": "", - "username": "", - "users": "", - "utilities": "", - "validate": "", - "variables": "", - "version": "", - "version_announcement_message": "", - "video": "", - "video_hover_setting": "", - "video_hover_setting_description": "", - "videos": "", - "videos_count": "", - "view": "", - "view_all": "", - "view_all_users": "", - "view_links": "", - "view_next_asset": "", - "view_previous_asset": "", - "viewer": "", - "waiting": "", - "week": "", - "welcome": "", - "welcome_to_immich": "", - "year": "", - "yes": "", - "you_dont_have_any_shared_links": "", - "zoom_image": "" + "path": "Caminho", + "pattern": "Padrão", + "pause": "Interromper", + "pause_memories": "Interromper memórias", + "paused": "Interrompido", + "pending": "Pendente", + "people": "Pessoas", + "people_sidebar_description": "Exibe o link Pessoas na barra lateral", + "perform_library_tasks": "", + "permanent_deletion_warning": "Aviso para deletar permanentemente", + "permanent_deletion_warning_setting_description": "Exibe um aviso ao deletar ativos de forma permanente", + "permanently_delete": "Deletar permanentemente", + "permanently_deleted_asset": "Ativo deletado permanentemente", + "permanently_deleted_assets": "{count, plural, one {# ativo deletado} other {# ativos deletados}} permanentemente", + "photos": "Fotos", + "photos_count": "{count, plural, one {{count, number} Foto} other {{count, number} Fotos}}", + "photos_from_previous_years": "Fotos de anos anteriores", + "pick_a_location": "Selecione uma localização", + "place": "Lugar", + "places": "Lugares", + "play": "Reproduzir", + "play_memories": "Reproduzir memórias", + "play_motion_photo": "Reproduzir foto em movimento", + "play_or_pause_video": "Reproduzir ou Pausar vídeo", + "point": "", + "port": "Porta", + "preset": "Predefinição", + "preview": "Pré-visualizar", + "previous": "Anterior", + "previous_memory": "Memória anterior", + "previous_or_next_photo": "Foto anterior ou próxima", + "primary": "Primário", + "profile_picture_set": "Foto de perfil definida.", + "public_share": "Compartilhar Publicamente", + "range": "", + "raw": "", + "reaction_options": "Opções de reação", + "read_changelog": "Ler Novidades", + "recent": "Recente", + "recent_searches": "Pesquisas recentes", + "refresh": "Atualizar", + "refreshed": "Atualizado", + "refreshes_every_file": "Atualiza todos arquivos", + "remove": "Remover", + "remove_from_album": "Remover do álbum", + "remove_from_favorites": "Remover dos favoritos", + "remove_from_shared_link": "Remover do link compartilhado", + "remove_offline_files": "Remover arquivos offline", + "removed_api_key": "Removido a Chave de API: {name}", + "rename": "Renomear", + "repair": "Reparar", + "repair_no_results_message": "Arquivos perdidos ou não rastreados aparecem aqui", + "replace_with_upload": "Substituir", + "require_password": "Proteger com senha", + "require_user_to_change_password_on_first_login": "Obrigar usuário a alterar a senha após primeiro login", + "reset": "Resetar", + "reset_password": "Resetar senha", + "reset_people_visibility": "Resetar pessoas ocultas", + "reset_settings_to_default": "", + "resolved_all_duplicates": "Todas duplicidades resolvidas", + "restore": "Restaurar", + "restore_all": "Restaurar tudo", + "restore_user": "Restaurar usuário", + "resume": "Continuar", + "retry_upload": "Tentar carregar novamente", + "review_duplicates": "Revisar duplicidade", + "role": "Função", + "save": "Guardar", + "saved_api_key": "Chave de API salva", + "saved_profile": "Perfil Salvo", + "saved_settings": "Configurações salvas", + "say_something": "Diga algo", + "scan_all_libraries": "Escanear Todas Bibliotecas", + "scan_all_library_files": "Re-escanear todos arquivos da biblioteca", + "scan_new_library_files": "Escanear novos arquivos na biblioteca", + "scan_settings": "Opções de escanear", + "scanning_for_album": "Escaneando por álbum...", + "search": "Pesquisar", + "search_albums": "Pesquisar álbuns", + "search_by_context": "Pesquisar por contexto", + "search_camera_make": "Pesquisar câmeras da marca...", + "search_camera_model": "Pesquisar câmera do modelo...", + "search_city": "Pesquisar cidade...", + "search_country": "Pesquisar país...", + "search_for_existing_person": "Pesquisar por pessoas", + "search_people": "Pesquisar pessoas", + "search_places": "Pesquisar lugares", + "search_state": "Pesquisar estado...", + "search_timezone": "Pesquisar fuso horário...", + "search_type": "Pesquisar tipo", + "search_your_photos": "Pesquisar fotos", + "searching_locales": "Pesquisar Lugares....", + "second": "Segundo", + "select_album_cover": "Escolher capa do álbum", + "select_all": "Selecionar todos", + "select_avatar_color": "Selecionar cor do avatar", + "select_face": "Selecionar face", + "select_featured_photo": "Selecionar foto principal", + "select_keep_all": "Marcar manter em todos", + "select_library_owner": "Selecione o dono da biblioteca", + "select_new_face": "Selecionar nova face", + "select_photos": "Selecionar fotos", + "select_trash_all": "Marcar lixo em todos", + "selected": "Selecionados", + "send_message": "Enviar mensagem", + "send_welcome_email": "Enviar E-mail de boas vindas", + "server": "Servidor", + "server_stats": "Status do servidor", + "set": "Definir", + "set_as_album_cover": "Definir como capa do álbum", + "set_as_profile_picture": "Definir como foto de perfil", + "set_date_of_birth": "Definir data de nascimento", + "set_profile_picture": "Definir foto de perfil", + "set_slideshow_to_fullscreen": "Apresentação em tela cheia", + "settings": "Configurações", + "settings_saved": "Configurações salvas", + "share": "Compartilhar", + "shared": "Compartilhado", + "shared_by": "Compartilhado por", + "shared_by_you": "Compartilhado por você", + "shared_from_partner": "Fotos de {partner}", + "shared_links": "Links compartilhados", + "shared_photos_and_videos_count": "{assetCount} fotos & vídeos compartilhados.", + "shared_with_partner": "Compartilhado com {partner}", + "sharing": "Compartilhar", + "sharing_sidebar_description": "Exibe o link Compartilhar na barra lateral", + "show_album_options": "Exibir opções do álbum", + "show_and_hide_people": "Mostrar & ocultar pessoas", + "show_file_location": "Exibir local do arquivo", + "show_gallery": "Exibir galeria", + "show_hidden_people": "Exibir pessoas ocultadas", + "show_in_timeline": "Exibir na linha do tempo", + "show_in_timeline_setting_description": "Exibe fotos e vídeos deste usuário na sua linha do tempo", + "show_keyboard_shortcuts": "Exibir atalhos do teclado", + "show_metadata": "Mostrar metadados", + "show_or_hide_info": "Exibir ou ocultar informações", + "show_password": "Exibir senha", + "show_person_options": "Exibir opções da pessoa", + "show_progress_bar": "Exibir barra de progresso", + "show_search_options": "Exibir opções de pesquisa", + "shuffle": "Aleatório", + "sign_out": "Sair", + "sign_up": "Registrar", + "size": "Tamanho", + "skip_to_content": "Pular para o conteúdo", + "slideshow": "Apresentação", + "slideshow_settings": "Opções de apresentação", + "sort_albums_by": "Ordenar álbuns por...", + "stack": "Empilhar", + "stack_selected_photos": "Empilhar fotos selecionadas", + "stacktrace": "Stacktrace", + "start": "Início", + "start_date": "Data inicial", + "state": "Estado", + "status": "Status", + "stop_motion_photo": "Parar foto em movimento", + "stop_photo_sharing": "Parar de partilhar as suas fotos?", + "stop_photo_sharing_description": "{partner} não terá mais acesso às suas fotos.", + "stop_sharing_photos_with_user": "Parar de compartilhar as fotos com este usuário", + "storage": "Armazenamento", + "storage_label": "Rótulo de armazenamento", + "storage_usage": "utilizado {used} de {available}", + "submit": "Enviar", + "suggestions": "Sugestões", + "sunrise_on_the_beach": "Nascer do sol na praia", + "swap_merge_direction": "Alternar direção da mesclagem", + "sync": "Sincronizar", + "template": "Modelo", + "theme": "Tema", + "theme_selection": "Selecionar tema", + "theme_selection_description": "Defina automaticamente o tema como claro ou escuro com base na preferência do sistema do seu navegador", + "time_based_memories": "Memórias baseada no tempo", + "timezone": "Fuso horário", + "to_archive": "Arquivar", + "to_favorite": "Favorito", + "to_trash": "Lixo", + "toggle_settings": "Alternar configurações", + "toggle_theme": "Alternar tema", + "toggle_visibility": "Alternar visibilidade", + "total_usage": "Total utilizado", + "trash": "Lixeira", + "trash_all": "Todos para o lixo", + "trash_count": "Lixo {count}", + "trash_no_results_message": "Fotos e vídeos enviados para o lixo aparecem aqui.", + "trashed_items_will_be_permanently_deleted_after": "Os itens da lixeira são deletados permanentemente após {days, plural, one {# dia} other {# dias}}.", + "type": "Tipo", + "unarchive": "Desarquivar", + "unarchived": "Restaurado do arquivo", + "unfavorite": "Remover favorito", + "unhide_person": "Exibir pessoa", + "unknown": "Desconhecido", + "unknown_album": "", + "unknown_year": "Ano desconhecido", + "unlimited": "Ilimitado", + "unlink_oauth": "Desvincular OAuth", + "unlinked_oauth_account": "Conta OAuth desvinculada", + "unnamed_album": "Álbum sem nome", + "unnamed_share": "Compartilhamento sem nome", + "unselect_all": "Limpar seleção", + "unstack": "Desempilhar", + "untracked_files": "Arquivos não monitorados", + "untracked_files_decription": "Estes arquivos não são monitorados pela aplicação. Podem ser resultados de falhas em uma movimentação, carregamentos interrompidos, ou deixados para trás por causa de um problema", + "up_next": "A seguir", + "updated_password": "Senha atualizada", + "upload": "Carregar", + "upload_concurrency": "Carregar simultâneo", + "url": "URL", + "usage": "Uso", + "user": "Usuário", + "user_id": "ID do usuário", + "user_usage_detail": "Detalhes de uso do usuário", + "username": "Nome do usuário", + "users": "Usuários", + "utilities": "Utilitários", + "validate": "Validar", + "variables": "Variáveis", + "version": "Versão", + "video": "Vídeo", + "video_hover_setting": "Reproduzir vídeo em miniatura quando passar por cima", + "video_hover_setting_description": "Reproduzir vídeo em miniatura quando o mouse está sobre o item. Mesmo quando desativado, a reprodução ainda pode ser iniciada passando sobre o ícone.", + "videos": "Vídeos", + "videos_count": "{count, plural, one {# Vídeo} other {# Vídeos}}", + "view": "Ver", + "view_all": "Ver tudo", + "view_all_users": "Ver todos usuários", + "view_links": "Ver links", + "view_next_asset": "Ver próximo ativo", + "view_previous_asset": "Ver ativo anterior", + "viewer": "Visualizar", + "waiting": "Aguardando", + "week": "Semana", + "welcome": "Bem-vindo", + "welcome_to_immich": "Bem-vindo ao Immich", + "year": "Ano", + "yes": "Sim", + "you_dont_have_any_shared_links": "Não há links compartilhados", + "zoom_image": "Ampliar imagem" }