diff --git a/src/tagstudio/resources/translations/fr.json b/src/tagstudio/resources/translations/fr.json
index da009738..da336699 100644
--- a/src/tagstudio/resources/translations/fr.json
+++ b/src/tagstudio/resources/translations/fr.json
@@ -218,14 +218,18 @@
"menu.tools.fix_duplicate_files": "Réparer les entrées de fichiers en double",
"menu.tools.fix_unlinked_entries": "Réparer les entrées de fichier non liée",
"menu.view": "&Vues",
+ "menu.view.decrease_thumbnail_size": "Rétrécir les vignettes",
+ "menu.view.increase_thumbnail_size": "Agrandir les vignettes",
"menu.window": "Fenêtre",
"namespace.create.description": "Les namespaces sont utilisés par TagStudio pour séparer les groupes d'éléments tels que les Tags et les couleurs de manière à faciliter leur exportation et leur partage. Les namespace avec des noms commençant par « tagstudio » sont réservés par TagStudio pour un usage interne.",
"namespace.create.description_color": "Les tags utilise les namespace pour regrouper plusieurs couleurs. Toutes les couleurs personnalisées doivent être ajoutées à un namespace.",
"namespace.create.title": "Créer une Namespace",
"namespace.new.button": "Nouvelle Namespace",
"namespace.new.prompt": "Commencer par créer une nouvelle namespace pour pouvoir créer des couleurs personnalisées!",
+ "preview.ignored": "Ignoré",
"preview.multiple_selection": "{count} Éléments Sélectionner",
"preview.no_selection": "Pas d'Objet Selectionné",
+ "preview.unlinked": "Non-lié",
"select.add_tag_to_selected": "Ajouter un Tag à la sélection",
"select.all": "Tout Sélectionner",
"select.clear": "Effacer la Sélection",
@@ -260,6 +264,7 @@
"settings.zeropadding.label": "Remplissage par zéros",
"sorting.direction.ascending": "Croissant",
"sorting.direction.descending": "Décroissant",
+ "sorting.mode.random": "Hasard",
"splash.opening_library": "Ouverture de la Bibliothèque \"{library_path}\"...",
"status.deleted_file_plural": "Suppression de {count} fichiers!",
"status.deleted_file_singular": "Suppression de 1 fichier!",
diff --git a/src/tagstudio/resources/translations/hu.json b/src/tagstudio/resources/translations/hu.json
index d69f98d7..f22d0a82 100644
--- a/src/tagstudio/resources/translations/hu.json
+++ b/src/tagstudio/resources/translations/hu.json
@@ -218,14 +218,18 @@
"menu.tools.fix_duplicate_files": "&Egyező fájlok egyesítése",
"menu.tools.fix_unlinked_entries": "Kapcsolat &nélküli elemek javítása",
"menu.view": "&Nézet",
+ "menu.view.decrease_thumbnail_size": "Indexkép méretének csökkentése",
+ "menu.view.increase_thumbnail_size": "Indexkép méretének növelése",
"menu.window": "&Ablak",
"namespace.create.description": "A TagStudio névterekkel különíti el az adatcsoportokat, mint a címkék és a színek, így azok könnyen exportálhatóak és megoszthatóak. A „tagstudio”-val kezdődő névterek belső használatra vannak lefoglalva.",
"namespace.create.description_color": "Minden szín névterekbe van foglalva, amelyek színpalettaként viselkednek. Minden egyéni színt névtérbe kell foglalni.",
"namespace.create.title": "Névtér létrehozása",
"namespace.new.button": "Új névtér",
"namespace.new.prompt": "Az egyéni színek használatához először hozzon létre egy névteret!",
+ "preview.ignored": "Figyelmen kívül hagyva",
"preview.multiple_selection": "{count} kijelölt elem",
"preview.no_selection": "Nincs kijelölt elem",
+ "preview.unlinked": "Kapcsolat nélküli elem",
"select.add_tag_to_selected": "Címk&e hozzáadása a kijelölt elemekhez",
"select.all": "&Az összes kijelölése",
"select.clear": "&Kijelölés megszüntetése",
@@ -260,6 +264,7 @@
"settings.zeropadding.label": "Egyszámjegyű napok kezdése nullával",
"sorting.direction.ascending": "Növekvő sorrend",
"sorting.direction.descending": "Csökkenő sorrend",
+ "sorting.mode.random": "Véletlenszerű sorrend",
"splash.opening_library": "Könyvtár megnyitása folyamatban: „{library_path}”…",
"status.deleted_file_plural": "{count} fájl törlése befejeződött.",
"status.deleted_file_singular": "1 fájl törlése befejeződött.",
diff --git a/src/tagstudio/resources/translations/ja.json b/src/tagstudio/resources/translations/ja.json
index 3b4742d8..66079b49 100644
--- a/src/tagstudio/resources/translations/ja.json
+++ b/src/tagstudio/resources/translations/ja.json
@@ -218,6 +218,8 @@
"menu.tools.fix_duplicate_files": "重複ファイルの修正(&F)",
"menu.tools.fix_unlinked_entries": "未リンク項目の修正(&U)",
"menu.view": "表示(&V)",
+ "menu.view.decrease_thumbnail_size": "サムネイル サイズの縮小",
+ "menu.view.increase_thumbnail_size": "サムネイル サイズの拡大",
"menu.window": "ウィンドウ",
"namespace.create.description": "タグや色などの項目グループを分離し、エクスポートや共有をしやすくするために、TagStudio では名前空間を使用します。「tagstudio」で始まる名前空間は、TagStudio の内部用途として予約されています。",
"namespace.create.description_color": "タグの色は、名前空間をカラーパレットのグループとして使用します。すべてのカスタムカラーは、最初に名前空間グループに属している必要があります。",
diff --git a/src/tagstudio/resources/translations/pl.json b/src/tagstudio/resources/translations/pl.json
index 10ac3d0a..64d72f49 100644
--- a/src/tagstudio/resources/translations/pl.json
+++ b/src/tagstudio/resources/translations/pl.json
@@ -1,5 +1,6 @@
{
"about.config_path": "Ścieżka do pliku konfiguracji",
+ "about.description": "TagStudio to aplikacja do organizowania plików i zdjęć. Używa do tego systemu tagów, który skupia się na dawaniu użytkownikom poczucia swobody i elastyczności. Koniec z zamkniętymi programami lub formatami, tysiącami plików z metadanymi. Nie musisz też zmieniać sposobu, według którego do tej pory utrzymywałeś strukturę swoich plików.",
"about.documentation": "Dokumentacja",
"about.license": "Licencja",
"about.module.found": "Znaleziono",
@@ -63,6 +64,7 @@
"entries.unlinked.search_and_relink": "&Wyszukaj && Zalinkuj ponownie",
"entries.unlinked.title": "Napraw odłączone wpisy",
"ffmpeg.missing.description": "Nie odnaleziono FFmpeg lub FFprobe. FFmpeg jest wymagany do odtwarzania multimediów i do wyświetlania miniaturek.",
+ "ffmpeg.missing.status": "{ffmpeg}: {ffmpeg_status}
{ffprobe}: {ffprobe_status}",
"field.copy": "Skopiuj pole",
"field.edit": "Edytuj pole",
"field.paste": "Wklej pole",
@@ -192,6 +194,7 @@
"menu.file.clear_recent_libraries": "Wyczyść ostatnie",
"menu.file.close_library": "&Zamknij bibliotekę",
"menu.file.missing_library.message": "Lokalizacja biblioteki \"{library}\" nie została odnaleziona.",
+ "menu.file.missing_library.title": "Brakująca biblioteka",
"menu.file.new_library": "Nowa biblioteka",
"menu.file.open_create_library": "&Otwórz/Stwórz bibliotekę",
"menu.file.open_library": "Otwórz bibliotekę",
@@ -221,12 +224,25 @@
"select.clear": "Odznacz zaznaczenie",
"select.inverse": "Odwróć zaznaczenie",
"settings.clear_thumb_cache.title": "Wyczyść pamięć podręczną miniaturek",
+ "settings.dateformat.international": "Międzynarodowy",
+ "settings.dateformat.system": "System",
+ "settings.filepath.label": "Widoczność ścieżki pliku",
"settings.filepath.option.full": "Pokaż Pełną Ścieżkę",
+ "settings.filepath.option.name": "Pokaż tylko nazwy",
+ "settings.filepath.option.relative": "Pokaż Ścieżki Względne",
"settings.language": "Język",
+ "settings.library": "Ustawienia Biblioteki",
"settings.open_library_on_start": "Otwieraj bibliotekę podczas startu",
+ "settings.page_size": "Wielkość Strony",
"settings.restart_required": "Zrestartuj TagStudio żeby zmiany zaczęły obowiązywać.",
"settings.show_filenames_in_grid": "Pokazuj nazwy plików w siatce",
"settings.show_recent_libraries": "Pokazuj ostatnie biblioteki",
+ "settings.tag_click_action.add_to_search": "Dodaj Tag do Wyszukania",
+ "settings.tag_click_action.open_edit": "Edytuj Tag",
+ "settings.theme.dark": "Ciemny",
+ "settings.theme.label": "Motyw:",
+ "settings.theme.light": "Jasny",
+ "settings.theme.system": "System",
"settings.title": "Ustawienia",
"sorting.direction.ascending": "Rosnąco",
"sorting.direction.descending": "Malejąco",
diff --git a/src/tagstudio/resources/translations/pt.json b/src/tagstudio/resources/translations/pt.json
index 0967ef42..6da23c1a 100644
--- a/src/tagstudio/resources/translations/pt.json
+++ b/src/tagstudio/resources/translations/pt.json
@@ -1 +1,272 @@
-{}
+{
+ "about.config_path": "Diretório de Configuração",
+ "about.documentation": "Documentação",
+ "about.license": "Licença",
+ "about.module.found": "Achado",
+ "about.title": "Sobre",
+ "about.website": "Site da web",
+ "app.git": "Confirmação do Git",
+ "app.pre_release": "Pré-Lançamento",
+ "app.title": "{base_title} - Biblioteca '{library_dir}'",
+ "color.color_border": "Usar Cores Secundárias nas Bordas",
+ "color.confirm_delete": "Tem certeza que quer apagar a cor \"{color_name}\"?",
+ "color.delete": "Apagar Tag",
+ "color.import_pack": "Importar Pacote de Cores",
+ "color.name": "Nome",
+ "color.namespace.delete.prompt": "Tem certeza que quer apagar o espaço de nome dessa cor? Isto irá apagar TODAS as cores do espaço de nome ao mesmo tempo!",
+ "color.namespace.delete.title": "Apagar Espaço de Cor",
+ "color.new": "Nova Cor",
+ "color.placeholder": "Cor",
+ "color.primary": "Cor Primária",
+ "color.primary_required": "Cor Primária (Obrigatório)",
+ "color.secondary": "Cor Secundária",
+ "color.title.no_color": "Nenhuma Cor",
+ "color_manager.title": "Gerir Cores das Tags",
+ "dependency.missing.title": "{dependency} Não encontrado",
+ "drop_import.description": "Os seguintes ficheiros correspondem a caminhos de ficheiros que já existem na biblioteca",
+ "drop_import.duplicates_choice.plural": "Os seguintes ficheiros {count} correspondem a caminhos de ficheiro que já existem na biblioteca.",
+ "drop_import.duplicates_choice.singular": "O ficheiro a seguir corresponde a um caminho de ficheiro que já existe na biblioteca.",
+ "drop_import.progress.label.initial": "A Importar Novos Ficheiros...",
+ "drop_import.progress.label.plural": "A Importar Novos Ficheiros...\n{count} Ficheiros Importados.{suffix}",
+ "drop_import.progress.label.singular": "A Importar Novos Ficheiros...\n1 Ficheiro Importado.{suffix}",
+ "drop_import.progress.window_title": "Importar Ficheiros",
+ "drop_import.title": "Ficheiro(s) em Conflito",
+ "edit.color_manager": "Gerir Cores das Tags",
+ "edit.copy_fields": "Copiar Campos",
+ "edit.paste_fields": "Colar Campos",
+ "edit.tag_manager": "Gerir Tags",
+ "entries.duplicate.merge": "Mesclar Registos Duplicados",
+ "entries.duplicate.merge.label": "A Mesclar Elementos Duplicados...",
+ "entries.duplicate.refresh": "Atualizar Registos Duplicados",
+ "entries.duplicates.description": "Registos duplicados são definidas como múltiplos registos que levam ao mesmo ficheiro no disco. Mesclar estes registos irá combinar as tags e metadados de todas as duplicatas num único registo consolidado. Não confundir com \"Ficheiros Duplicados\" que são duplicatas dos seus ficheiros fora do TagStudio.",
+ "entries.mirror": "&Espelho",
+ "entries.mirror.confirmation": "Tem certeza que deseja espelhar os seguintes {count} registos?",
+ "entries.mirror.label": "A Espelhar {idx}/{total} Registos...",
+ "entries.mirror.title": "A Espelhar Registos",
+ "entries.mirror.window_title": "Espelhar Registos",
+ "entries.running.dialog.new_entries": "A Adicionar {total} Novos Registos de Ficheiros...",
+ "entries.running.dialog.title": "A Adicionar Novos Registos de Ficheiros",
+ "entries.tags": "Tags",
+ "entries.unlinked.delete": "Apagar Registos não Referenciados",
+ "entries.unlinked.delete.confirm": "Tem certeza que deseja apagar os seguintes {count} registos ?",
+ "entries.unlinked.delete.deleting": "A Apagar Registos",
+ "entries.unlinked.delete.deleting_count": "A Apagar {idx}/{count} Registos Não Ligadas",
+ "entries.unlinked.delete_alt": "De&letar Registos Não Ligados",
+ "entries.unlinked.description": "Cada registo na biblioteca faz referência à um ficheiro numa das suas pastas. Se um ficheiro referenciado à uma entrada for movido ou apagado fora do TagStudio, ele é depois considerado não-referenciado.
Registos não-referenciados podem ser automaticamente referenciados por pesquisas nos seus diretórios, manualmente pelo utilizador, ou apagado se for desejado.",
+ "entries.unlinked.missing_count.none": "Registos Não Referenciados: N/A",
+ "entries.unlinked.missing_count.some": "Registos não referenciados: {count}",
+ "entries.unlinked.refresh_all": "&Atualizar Tudo",
+ "entries.unlinked.relink.attempting": "A tentar referenciar {idx}/{missing_count} Registos, {fixed_count} Referenciados com Sucesso",
+ "entries.unlinked.relink.manual": "&Referência Manual",
+ "entries.unlinked.relink.title": "A Referenciar Registos",
+ "entries.unlinked.scanning": "A escanear biblioteca por registos não referenciados...",
+ "entries.unlinked.search_and_relink": "&Pesquisar && Referenciar",
+ "entries.unlinked.title": "Corrigir Registos Não Referenciados",
+ "ffmpeg.missing.status": "{ffmpeg}: {ffmpeg_status}
{ffprobe}: {ffprobe_status}",
+ "field.copy": "Copiar Campo",
+ "field.edit": "Editar Campo",
+ "field.paste": "Colar Campo",
+ "file.date_added": "Data de Adição",
+ "file.date_created": "Data de Criação",
+ "file.date_modified": "Data de Modificação",
+ "file.dimensions": "Dimensões",
+ "file.duplicates.description": "TagStudio aceita resultados do DupeGuru para gerir ficheiros duplicados.",
+ "file.duplicates.dupeguru.advice": "Após espelhagem, pode usar DupeGuru para apagar ficheiros indesejados. Após, use a função \"Corrigir Registos Não Referenciados\" do TagStudio no menu de Ferramentas para apagar esses Registos.",
+ "file.duplicates.dupeguru.file_extension": "Ficheiros DupeGuru (*.dupeguru)",
+ "file.duplicates.dupeguru.load_file": "&Carregar Aquivo DupeGuru",
+ "file.duplicates.dupeguru.no_file": "Nenhum Ficheiro DupeGuru Selecionado",
+ "file.duplicates.dupeguru.open_file": "Abrir Ficheiro de Resultados do DupeGuru",
+ "file.duplicates.fix": "Corrigir Ficheiros Duplicados",
+ "file.duplicates.matches": "Correspondências de Ficheiros Duplicados: {count}",
+ "file.duplicates.matches_uninitialized": "Correspondências de Ficheiros Duplicados: N/A",
+ "file.duplicates.mirror.description": "Espelhe os dados de entrada em cada conjunto de correspondência duplicado, combinando todos os dados sem remover ou duplicar campos. Esta operação não apagará nenhum ficheiro ou dado.",
+ "file.duplicates.mirror_entries": "&Registos Espelhados",
+ "file.duration": "Duração",
+ "file.not_found": "Ficheiro não encontrado",
+ "file.open_file": "Abrir ficheiro",
+ "file.open_file_with": "Abrir ficheiro com",
+ "file.open_location.generic": "Abrir no explorador de ficheiros",
+ "file.open_location.mac": "Mostrar no Finder",
+ "file.open_location.windows": "Mostrar no Explorador de Ficheiros",
+ "file.path": "Caminho do ficheiro",
+ "folders_to_tags.close_all": "Fechar Tudo",
+ "folders_to_tags.converting": "A converter pastas para Tags",
+ "folders_to_tags.description": "Cria tags com base na sua estrutura de pastas e aplica-as aos seus registos\nA estrutura abaixo mostra todas as tags que serão criadas e em quais elementos serão aplicadas.",
+ "folders_to_tags.open_all": "Abrir Tudo",
+ "folders_to_tags.title": "Criar tags a partir de pastas",
+ "generic.add": "Adicionar",
+ "generic.apply": "Aplicar",
+ "generic.apply_alt": "&Aplicar",
+ "generic.cancel": "Cancelar",
+ "generic.cancel_alt": "&Cancelar",
+ "generic.close": "Fechar",
+ "generic.continue": "Continuar",
+ "generic.copy": "Copiar",
+ "generic.cut": "Recortar",
+ "generic.delete": "Apagar",
+ "generic.delete_alt": "&Apagar",
+ "generic.done": "Ok",
+ "generic.done_alt": "&OK",
+ "generic.edit": "Editar",
+ "generic.edit_alt": "&Editar",
+ "generic.filename": "Nome do Ficheiro",
+ "generic.missing": "Falta",
+ "generic.navigation.back": "Anterior",
+ "generic.navigation.next": "Próximo",
+ "generic.none": "Nenhum",
+ "generic.overwrite": "Sobrescrever",
+ "generic.overwrite_alt": "&Sobrescrever",
+ "generic.paste": "Colar",
+ "generic.recent_libraries": "Bibliotecas recentes",
+ "generic.rename": "Renomear",
+ "generic.rename_alt": "&Renomear",
+ "generic.reset": "Redefinir",
+ "generic.save": "Gravar",
+ "generic.skip": "Pular",
+ "generic.skip_alt": "&Pular",
+ "home.search": "Pesquisar",
+ "home.search_entries": "Pesquisar Registos",
+ "home.search_library": "Pesquisar na Biblioteca",
+ "home.search_tags": "Pesquisar Tags",
+ "home.thumbnail_size": "Tamanho de miniatura",
+ "home.thumbnail_size.extra_large": "Miniaturas Extra Grandes",
+ "home.thumbnail_size.large": "Miniaturas Grandes",
+ "home.thumbnail_size.medium": "Miniaturas Médias",
+ "home.thumbnail_size.mini": "Miniaturas Mini",
+ "home.thumbnail_size.small": "Miniaturas Pequenas",
+ "ignore_list.add_extension": "&Adicionar Extensão",
+ "ignore_list.mode.exclude": "Excluir",
+ "ignore_list.mode.include": "Incluir",
+ "ignore_list.mode.label": "Modo:",
+ "ignore_list.title": "Extensões de Ficheiro",
+ "json_migration.creating_database_tables": "A criar Tabelas de Banco de Dados SQL...",
+ "json_migration.discrepancies_found": "Encontradas Discrepâncias na biblioteca",
+ "json_migration.discrepancies_found.description": "Discrepâncias foram encontradas entre os ficheiros de Biblioteca originais e os convertidos. Por favor, revise e escolha continuar com a migração ou cancelar.",
+ "json_migration.finish_migration": "Finalizar Migração",
+ "json_migration.heading.aliases": "Pseudônimos:",
+ "json_migration.heading.colors": "Cores:",
+ "json_migration.heading.differ": "Discrepância",
+ "json_migration.heading.entires": "Registos:",
+ "json_migration.heading.extension_list_type": "Tipo de Lista de Extensão:",
+ "json_migration.heading.fields": "Campos:",
+ "json_migration.heading.file_extension_list": "Lista de Extensão de Ficheiro:",
+ "json_migration.heading.match": "Combinado",
+ "json_migration.heading.names": "Nomes:",
+ "json_migration.heading.parent_tags": "Tags Pai:",
+ "json_migration.heading.paths": "Caminhos:",
+ "json_migration.heading.tags": "Tags:",
+ "json_migration.migrating_files_entries": "A Migrar {entries:,d} Registos de Ficheiros...",
+ "json_migration.migration_complete": "Migração Concluída!",
+ "json_migration.migration_complete_with_discrepancies": "Migração Concluída, Discrepâncias Encontradas",
+ "json_migration.start_and_preview": "Iniciar e Visualizar",
+ "json_migration.title.new_lib": "