diff --git a/scripts/sync-i18n.js b/scripts/sync-i18n.js index 62a44bb1..0da89aa7 100644 --- a/scripts/sync-i18n.js +++ b/scripts/sync-i18n.js @@ -2,60 +2,66 @@ // License: GNU GPLv3 or later. See the license file in the project root for more information. // Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -import { messages } from 'src/localization/data'; import fs from 'node:fs'; import path from 'node:path'; -const localeDirPath = path.resolve('src/localization/messages'); - -async function syncFiles() { - for (const locale in messages) { - if (locale !== 'en') { - let otherLocaleData = messages[locale]; - otherLocaleData = addMissingKeys(messages.en, messages[locale]); - otherLocaleData = removeUneededKeys(messages.en, messages[locale]); - const otherLocalePath = path.join(localeDirPath, `${locale}.json`); - - let currentState = {}; - - try { - currentState = JSON.parse(fs.readFileSync(otherLocalePath, 'utf8')); - } - catch (error) { - console.error(`Error reading file ${otherLocalePath}:`, error); - } - - if (JSON.stringify(currentState) !== JSON.stringify(otherLocaleData)) { - fs.writeFileSync(otherLocalePath, JSON.stringify(otherLocaleData, null, 2)); - } - } - } -} +const localeDirectoryPath = path.resolve('src/localization/messages'); function addMissingKeys(enLocale, otherLocale) { - for (const key in enLocale) { - if (!otherLocale[key]) { - otherLocale[key] = enLocale[key]; + for (const key of Object.keys(enLocale)) { + const enChild = enLocale[key]; + if (!Object.hasOwn(otherLocale, key)) { + otherLocale[key] = structuredClone(enChild); } - else if (typeof enLocale[key] === 'object') { - addMissingKeys(enLocale[key], otherLocale[key]); + else if ( + enChild !== null + && typeof enChild === 'object' + && !Array.isArray(enChild) + && otherLocale[key] !== null + && typeof otherLocale[key] === 'object' + && !Array.isArray(otherLocale[key]) + ) { + addMissingKeys(enChild, otherLocale[key]); } } - return otherLocale; } -function removeUneededKeys(enLocale, otherLocale) { - for (const key in otherLocale) { - if (!enLocale[key]) { +function removeUnneededKeys(enLocale, otherLocale) { + for (const key of Object.keys({ ...otherLocale })) { + if (!Object.hasOwn(enLocale, key)) { delete otherLocale[key]; + continue; } - else if (typeof otherLocale[key] === 'object') { - removeUneededKeys(enLocale[key], otherLocale[key]); + const enChild = enLocale[key]; + if ( + enChild !== null + && typeof enChild === 'object' + && !Array.isArray(enChild) + && otherLocale[key] !== null + && typeof otherLocale[key] === 'object' + && !Array.isArray(otherLocale[key]) + ) { + removeUnneededKeys(enChild, otherLocale[key]); } } - return otherLocale; } +function syncFiles() { + const englishPayload = JSON.parse(fs.readFileSync(path.join(localeDirectoryPath, 'en.json'), 'utf8')); + + const localeFileNames = fs.readdirSync(localeDirectoryPath).filter( + name => name.endsWith('.json') && name !== 'en.json', + ); + + for (const fileName of localeFileNames) { + const filePath = path.join(localeDirectoryPath, fileName); + const localePayload = JSON.parse(fs.readFileSync(filePath, 'utf8')); + addMissingKeys(englishPayload, localePayload); + removeUnneededKeys(englishPayload, localePayload); + fs.writeFileSync(filePath, `${JSON.stringify(localePayload, null, 2)}\n`); + } +} + syncFiles(); diff --git a/src/localization/messages/hi.json b/src/localization/messages/hi.json index c21475e4..a2ee0892 100644 --- a/src/localization/messages/hi.json +++ b/src/localization/messages/hi.json @@ -1905,7 +1905,7 @@ "latestVersionLabel": "नवीनतम संस्करण", "selectedVersionLabel": "चयनित संस्करण", "versionPrefix": "वी", - "metaSeparator": null, + "metaSeparator": "•", "contextMenuLabel": "एक्सटेंशन", "autoUpdate": "ऑटो अपडेट", "status": "स्थिति", diff --git a/src/localization/messages/pt.json b/src/localization/messages/pt.json index 87a0ced4..80adb0cd 100644 --- a/src/localization/messages/pt.json +++ b/src/localization/messages/pt.json @@ -757,8 +757,6 @@ }, "sorting": { "options": "Opções de classificação", - "descendenteOrder": "Ordem decrescente", - "ascendenteOrder": "Ordem crescente", "columnType": "Tipo de coluna", "typeTitles": { "name": "nome", @@ -780,8 +778,8 @@ "itemsSize": "Itens/tamanho", "status": "Estado" }, - "descendingOrder": "Descending order", - "ascendingOrder": "Ascending order" + "descendingOrder": "Ordem decrescente", + "ascendingOrder": "Ordem crescente" }, "errors": { "error": "Erro", @@ -895,7 +893,6 @@ "youCanIgnoreError": "Você pode ignorar o erro e continuar usando o aplicativo, mas ele pode não funcionar corretamente até que você o recarregue", "reportError": "Reportar o erro", "ifYouHaveGithub": "Se você possui uma conta no Github, você pode reportar este bug para corrigi-lo:", - "pressButtonToCreateIssueAutomaticamente": "Pressione o botão abaixo para criar o modelo de problema automaticamente;", "openGeneratedLink": "Abra o link gerado em seu navegador;", "reviewTemplate": "Revise o modelo e certifique-se de que o erro não contém nenhuma informação pessoal (por exemplo, seu nome de usuário);", "publishIssue": "Publique o problema pressionando o botão \"Enviar novo problema\" lá", @@ -907,7 +904,7 @@ "openLinkInDefaultBrowser": "Abrir link no navegador padrão", "operationFailed": "Operação falhou", "errorDuringTemplateGeneration": "Erro durante a geração do modelo", - "pressButtonToCreateIssueAutomatically": "Press the button below to create the issue template automatically;" + "pressButtonToCreateIssueAutomatically": "Pressione o botão abaixo para criar o modelo de problema automaticamente;" }, "confirmationDialog": { "localSharingFirewall": { @@ -1062,7 +1059,6 @@ "saveProgram": "Salvar programa", "externalProgramEditor": "Editor de Programa Externo", "chooseProgram": "Escolher programa", - "programa": "Programa", "removeProgramFromTheList": "Remover programa da lista", "programPath": "Caminho do Programa", "pickAProgram": "Escolha um programa", @@ -1078,7 +1074,7 @@ "pathShouldBeAFile": "O caminho deve ser um arquivo", "nameCannotBeEmpty": "O nome não pode estar vazio", "errorUnableToSelectTheProgram": "Erro: Não é possível selecionar o programa", - "program": "Program" + "program": "Programa" }, "releaseNotesDialog": { "releaseNotes": "Notas de versão" @@ -1148,8 +1144,7 @@ "guideHeaderButtons": { "projectPage": "Página do projeto", "requestsIssues": "Solicitações e problemas", - "discussões": "Discussões", - "discussions": "Discussions" + "discussions": "Discussões" }, "nav": { "shortcuts": "Atalhos", @@ -1241,9 +1236,8 @@ "simpleMode": "\"Modo Simples\" protege itens específicos (arquivos/diretórios) contra modificação somente por este aplicativo. Itens ainda podem ser lidos e modificados por qualquer outro programa.", "advancedMode": "\"Modo Avançado\" é voltado para usuários avançados. Ele permite que você defina manualmente diferentes atributos para elementos específicos.", "immutableMode": "\"Modo Imutável\" é uma maneira rápida de proteger um arquivo/diretório tornando-o imutável. Quando ativado, o sistema definirá todos os atributos do arquivo/diretório especificado para o estado 'negado' e o tornará imutável (o que significa que os programas não serão capazes de ler/escrever/modificar/excluir sem redefinir os atributos).", - "Warning": "Aviso", "useWithCaution": "Use com cautela. \"Modo Avançado\" e \"Modo Imutável\" ainda estão nos estágios iniciais de desenvolvimento. O recurso ainda não foi totalmente testado. Em teoria, ele pode travar um arquivo/diretório de uma forma que impossibilitará o acesso ao seu conteúdo. Certifique-se de testar este recurso em alguns arquivos/diretórios de teste antes de usá-lo em dados importantes E reportar problemas se encontrar algum criando um problema na página do Projeto Github.", - "warning": "Warning" + "warning": "Aviso" }, "addressBar": { "addressBarAllows": "A barra de endereço permite que você navegue em diretórios e arquivos digitando seu caminho.", @@ -1259,14 +1253,13 @@ "namesThatHaveSpaces": "nomes que possuem espaços não precisam ser colocados entre aspas", "followsStandards": "Siga os padrões", "onWindowsOsAllBackwardSlashes": "no sistema operacional Windows, todas as barras invertidas", - "areAutomaticamenteConverted": "são automaticamente convertidos em barras", "toProvideSeamless": "para fornecer um fluxo de trabalho padronizado e contínuo", "whereToFindIt": "Onde encontrar", "addressBarCanBeOpened": "A barra de endereço pode ser aberta de qualquer página com o atalho", "orByPressing": "ou pressionando", "typeInAddressManually": "Digite o endereço manualmente", "buttonInTheAddressBarMenu": "botão no menu da barra de endereço, localizado na barra de ação da página \"Navegador\".", - "areAutomaticallyConverted": "are automatically converted to forward slashes" + "areAutomaticallyConverted": "são automaticamente convertidos em barras normais (/)" } }, "trashCurrentDir": { @@ -1300,15 +1293,13 @@ "title": "Excluindo diretório atual", "description": "Os itens selecionados incluem o diretório atualmente aberto.", "confirm": "Confirme se isso foi intencional e você deseja excluí-lo.", - "Delete": "Excluir", - "delete": "Delete" + "delete": "Excluir" }, "deleteInRoot": { "title": "Excluindo itens raiz", "description": "Excluir arquivos do sistema na raiz do armazenamento pode danificar o sistema operacional do computador.", "confirm": "Confirme, se você sabe o que está excluindo.", - "Delete": "Excluir", - "delete": "Delete" + "delete": "Excluir" }, "trashInRoot": { "title": "Lixeira de itens raiz", @@ -1366,7 +1357,6 @@ "removedNItemsOfTotal": "{removedAmount} de {totalAmount}", "trashedNItemsOfTotal": "{removedAmount} excluído de {totalAmount} elementos", "deletedNItemsOfTotal": "Excluído {removedAmount} de {totalAmount} elementos", - "trashedNItms": "Elementos {totalAmount} excluídos", "deletedNItems": "Elementos {totalAmount} excluídos", "copied": "Copiado", "moved": "Movido", @@ -1431,13 +1421,12 @@ "oneOfTheSearchFilesIsDamaged": "Um dos arquivos de pesquisa está danificado", "workspaceAdded": "O espaço de trabalho foi adicionado", "failedToFetchInstalledTerminals": "Falha ao buscar terminais instalados", - "trashedNItems": "Trashed {totalAmount} items", + "trashedNItems": "Excluídos {totalAmount} itens", "removedFromFavorites": "Removed 0 items from favorites | Removed 1 item from favorites | Removed {n} items from favorites | Removed {n} items from favorites", "addedToFavorites": "Added 0 items to favorites | Added 1 item to favorites | Added {n} items to favorites | Added {n} items to favorites" }, "contextMenus": { "dirItem": { - "modificadores": "Modificadores", "goBackToMainMenu": "Voltar ao menu principal", "openProgramEditor": "Abrir editor de programa", "addProgram": "Adicionar programa", @@ -1463,14 +1452,13 @@ "shareFileWithLocalDevices": "Compartilhar arquivo com dispositivos locais", "compressToArchive": "Compactar para arquivar", "extractArchive": "Extrair arquivo", - "permissões": "Permissões", "ejectDrive": "Ejetar unidade", "createSymbolicLink": "Criar link simbólico", "windowsLinkLnk": "Link do Windows (.lnk)", "errorOpenProgram": "Erro: Não foi possível abrir o programa", "editCard": "Editar cartão", - "modifiers": "Modifiers", - "permissions": "Permissions" + "modifiers": "Modificadores", + "permissions": "Permissões" } }, "version": "Versão", @@ -1577,7 +1565,6 @@ "nFiles": "0 arquivos | 1 arquivo | {n} arquivos | {n} arquivos", "destinationPath": "Caminho de destino", "sourcePath": "Caminho de origem", - "itens": "elementos", "size": "Tamanho", "fileSize": "Tamanho do arquivo", "directorySize": "Tamanho do diretório", @@ -1625,7 +1612,6 @@ "allowGlobalSearchMessage": "A pesquisa global permite que você encontre rapidamente qualquer arquivo/diretório em seu computador.
Ela verifica periodicamente suas unidades e gera arquivos de dados (mapas) para que você possa encontrar seus arquivos rapidamente.
Os arquivos que estão criados após a última verificação não serão encontrados porque não estarão nos arquivos de dados, por isso é recomendado escolher um período de verificação automática mais frequente.", "experimentalFeature": "recurso experimental inacabado", "min": "min", - "seg": "segundo", "mediaInfo": "Informações sobre mídia", "stream": "fluxo", "bitsPerRawSample": "bits por amostra bruta", @@ -2033,7 +2019,7 @@ }, "items": "itens", "recalculate": "Recalculate", - "sec": "sec", + "sec": "s", "lanShare": { "serverActive": "Compartilhamento na rede local ativo", "notWorkingHint": "Não está funcionando?", diff --git a/src/localization/messages/sl.json b/src/localization/messages/sl.json index cec777bb..cb4ebe8b 100644 --- a/src/localization/messages/sl.json +++ b/src/localization/messages/sl.json @@ -1788,6 +1788,7 @@ "itemsPrepared": "{count} predmetov", "clearClipboard": "Počisti", "discardClipboard": "Zavrzi", + "cannotPasteHere": "Tukaj ni mogoče prilepiti", "cannotMoveToSameDirectory": "Ni mogoče premakniti elementov v isti imenik", "cannotPasteIntoItself": "Ni mogoče prilepiti mape v samo sebe", "noItemsInClipboard": "V odložišču ni elementov", @@ -1836,155 +1837,54 @@ "errors": { "destinationInsideSelectedFolder": "Ciljni arhiv je znotraj izbrane mape" } - }, - "openWith": { - "title": "Odpri z", - "selectAppTitle": "Izberite aplikacijo za odpiranje te {ext} datoteke", - "loadingPrograms": "Nalagam programe...", - "defaultApp": "Privzeta aplikacija", - "suggestedApps": "Predlagane aplikacije", - "otherApps": "Druge aplikacije", - "moreOptions": "Več možnosti", - "noProgramsFound": "Ni najdenih povezanih programov za to vrsto datoteke", - "customProgram": "Program po meri", - "enterProgramPath": "Izberite drugo aplikacijo ali vnesite pot...", - "selectProgram": "Izberite program", - "advancedOptions": "Napredne možnosti", - "arguments": "Argumenti", - "argumentsHint": "Dodatni argumenti ukazne vrstice. Uporabite %1 kot nadomestni znak za pot do datoteke.", - "argumentsPlaceholder": "npr. --new-window --flag", - "open": "Odpri", - "always": "Vedno", - "justOnce": "Le enkrat", - "failedToLoadPrograms": "Ni uspelo naložiti povezanih programov", - "failedToOpenFile": "Ni uspelo odpreti datoteke", - "chooseAnotherApp": "Izberite drugo aplikacijo...", - "customCommandWithFlags": "Ukaz po meri z zastavicami...", - "customCommands": "Ukazi po meri", - "addCustomCommand": "Dodaj ukaz po meri", - "editCustomCommand": "Uredi ukaz po meri", - "commandName": "Ime ukaza", - "commandNamePlaceholder": "npr. VLC s podnapisi", - "programPath": "Pot do programa", - "noCustomCommands": "Še ni ukazov po meri. Dodajte ukaz po meri za odpiranje datotek s posebnimi zastavicami." - }, - "moreOptions": { - "showMoreOptions": "Pokaži več možnosti", - "loading": "Nalagam možnosti...", - "shellExtensions": "Razširitve lupine", - "noOptionsAvailable": "Ni dodatnih možnosti na voljo", - "failedToLoad": "Ni uspelo naložiti možnosti" - }, - "changelog": { - "title": "Kaj je novega", - "settingsTitle": "Kaj je novega", - "settingsDescription": "Oglejte si opombe ob izdaji in nastavite obvestila o posodobitvah", - "showOnUpdate": "Pokaži dnevnik sprememb ob posodobitvi aplikacije", - "viewChangelog": "Oglej si dnevnik sprememb", - "current": "Trenutno", - "selectVersion": "Izberite različico" - }, - "extensions": { - "subtitle": "Pregledujte in upravljajte razširitve skupnosti", - "loadingExtension": "Nalaganje razširitve...", - "noPermissions": "Ta razširitev ne zahteva posebnih dovoljenj.", - "noExtensionCommands": "Ta razširitev ne ponuja nobenih ukazov.", - "platforms": "Platforme", - "allPlatforms": "Vse", - "platformWarning": "Ta razširitev podpira samo {platforms}", - "platformIncompatible": "Ta razširitev ni združljiva z vašo platformo ({current}). Podpira samo: {supported}", - "platformIncompatibleShort": "Nezdružljivo", - "versionPrefix": "v", - "metaSeparator": "•", - "tabs": { - "marketplace": "Trgovina", - "installed": "Nameščene", - "dependencies": "Odvisnosti", - "overview": "Pregled", - "permissions": "Dovoljenja", - "changelog": "Zapis sprememb", - "commands": "Ukazi" - }, - "badges": { - "official": "Uradna", - "officialTooltip": "To razširitev je ustvarila in vzdržuje ekipa Sigma File Manager", - "community": "Skupnost", - "communityTooltip": "To je razširitev skupnosti. Pred namestitvijo pregledajte izvorno kodo.", - "local": "Lokalna", - "localTooltip": "Ta razširitev je bila nameščena iz lokalne mape", - "broken": "Poškodovana", - "brokenTooltip": "Datoteke razširitve manjkajo. Odstranite namestitev, da jo odstranite s seznama." - }, - "api": { - "permissionDenied": "Dovoljenje zavrnjeno: {permission}", - "permissionDeniedBinary": "Dovoljenje zavrnjeno: shell (potrebno za upravljanje binarnih datotek)", - "downloading": "Prenašanje {name}", - "downloadingProgress": "Prenašanje...", - "startingDownload": "Začenjanje prenosa...", - "downloadComplete": "Prenos končan", - "downloadingDependencies": "Prenos odvisnosti", - "extensionReady": "Razširitev je pripravljena", - "waitForDependencies": "Čakajte, da razširitev dokonča prenos svojih odvisnosti", - "dismiss": "Zapri", - "stop": "Ustavi" - } - }, - "commandPalette": { - "searchPlaceholder": "Vnesite ukaz ali iščite...", - "noResults": "Ni najdenih ukazov.", - "noCommands": "Ni registriranih ukazov. Namestite in omogočite razširitve za dodajanje ukazov.", - "recentHeading": "Nedavno", - "otherCommandsHeading": "Ostalo", - "run": "Zaženi" - }, - "cannotPasteHere": "Cannot paste here" + } }, "openWith": { - "title": "Open with", - "selectAppTitle": "Select an app to open this {ext} file", - "loadingPrograms": "Loading programs...", - "defaultApp": "Default app", - "suggestedApps": "Suggested apps", - "otherApps": "Other apps", - "moreOptions": "More options", - "noProgramsFound": "No associated programs found for this file type", - "customProgram": "Custom program", - "enterProgramPath": "Choose another app or enter path...", - "selectProgram": "Select program", - "advancedOptions": "Advanced options", - "arguments": "Arguments", - "argumentsHint": "Additional command-line arguments. Use %1 as placeholder for the file path.", - "argumentsPlaceholder": "e.g. --new-window --flag", - "open": "Open", - "always": "Always", - "justOnce": "Just once", - "failedToLoadPrograms": "Failed to load associated programs", - "failedToOpenFile": "Failed to open file", - "chooseAnotherApp": "Choose another app...", - "customCommandWithFlags": "Custom command with flags...", - "customCommands": "Custom commands", - "addCustomCommand": "Add custom command", - "editCustomCommand": "Edit custom command", - "commandName": "Command name", - "commandNamePlaceholder": "e.g. VLC with subtitles", - "programPath": "Program path", - "noCustomCommands": "No custom commands yet. Add a custom command to open files with specific flags." + "title": "Odpri z", + "selectAppTitle": "Izberite aplikacijo za odpiranje te {ext} datoteke", + "loadingPrograms": "Nalagam programe...", + "defaultApp": "Privzeta aplikacija", + "suggestedApps": "Predlagane aplikacije", + "otherApps": "Druge aplikacije", + "moreOptions": "Več možnosti", + "noProgramsFound": "Ni najdenih povezanih programov za to vrsto datoteke", + "customProgram": "Program po meri", + "enterProgramPath": "Izberite drugo aplikacijo ali vnesite pot...", + "selectProgram": "Izberite program", + "advancedOptions": "Napredne možnosti", + "arguments": "Argumenti", + "argumentsHint": "Dodatni argumenti ukazne vrstice. Uporabite %1 kot nadomestni znak za pot do datoteke.", + "argumentsPlaceholder": "npr. --new-window --flag", + "open": "Odpri", + "always": "Vedno", + "justOnce": "Le enkrat", + "failedToLoadPrograms": "Ni uspelo naložiti povezanih programov", + "failedToOpenFile": "Ni uspelo odpreti datoteke", + "chooseAnotherApp": "Izberite drugo aplikacijo...", + "customCommandWithFlags": "Ukaz po meri z zastavicami...", + "customCommands": "Ukazi po meri", + "addCustomCommand": "Dodaj ukaz po meri", + "editCustomCommand": "Uredi ukaz po meri", + "commandName": "Ime ukaza", + "commandNamePlaceholder": "npr. VLC s podnapisi", + "programPath": "Pot do programa", + "noCustomCommands": "Še ni ukazov po meri. Dodajte ukaz po meri za odpiranje datotek s posebnimi zastavicami." }, "moreOptions": { - "showMoreOptions": "Show more options", - "loading": "Loading options...", - "shellExtensions": "Shell extensions", - "noOptionsAvailable": "No additional options available", - "failedToLoad": "Failed to load options" + "showMoreOptions": "Pokaži več možnosti", + "loading": "Nalagam možnosti...", + "shellExtensions": "Razširitve lupine", + "noOptionsAvailable": "Ni dodatnih možnosti na voljo", + "failedToLoad": "Ni uspelo naložiti možnosti" }, "changelog": { - "title": "What's New", - "settingsTitle": "What's New", - "settingsDescription": "View release notes and configure update notifications", - "showOnUpdate": "Show changelog on app update", - "viewChangelog": "View changelog", - "current": "Current", - "selectVersion": "Select version" + "title": "Kaj je novega", + "settingsTitle": "Kaj je novega", + "settingsDescription": "Oglejte si opombe ob izdaji in nastavite obvestila o posodobitvah", + "showOnUpdate": "Pokaži dnevnik sprememb ob posodobitvi aplikacije", + "viewChangelog": "Oglej si dnevnik sprememb", + "current": "Trenutno", + "selectVersion": "Izberite različico" }, "extensions": { "excalidraw": { @@ -1995,7 +1895,7 @@ "createExtension": "Ustvari razširitev", "searchPlaceholder": "Search extensions...", "refresh": "Refresh", - "loadingExtension": "Loading extension...", + "loadingExtension": "Nalaganje razširitve...", "loadingRegistry": "Loading extensions...", "noDescription": "No description available", "unknownPublisher": "Unknown publisher", @@ -2044,25 +1944,25 @@ "noExtensionsAvailable": "No extensions available in the registry", "noInstalledExtensions": "No extensions installed", "noInstalledExtensionsDescription": "Browse the marketplace to discover extensions that enhance your file manager experience.", - "noPermissions": "This extension does not require any special permissions.", - "noExtensionCommands": "This extension does not provide any commands.", - "platforms": "Platforms", - "allPlatforms": "All", - "platformWarning": "This extension only supports {platforms}", - "platformIncompatible": "This extension is not compatible with your platform ({current}). It only supports: {supported}", - "platformIncompatibleShort": "Incompatible", + "noPermissions": "Ta razširitev ne zahteva posebnih dovoljenj.", + "noExtensionCommands": "Ta razširitev ne ponuja nobenih ukazov.", + "platforms": "Platforme", + "allPlatforms": "Vse", + "platformWarning": "Ta razširitev podpira samo {platforms}", + "platformIncompatible": "Ta razširitev ni združljiva z vašo platformo ({current}). Podpira samo: {supported}", + "platformIncompatibleShort": "Nezdružljivo", "readmeNotFound": "README file not found for this extension.", "readmeLoadError": "Failed to load README content.", "changelogNotFound": "Changelog not found for this extension.", "changelogLoadError": "Failed to load changelog content.", "tabs": { - "marketplace": "Marketplace", - "installed": "Installed", - "dependencies": "Dependencies", - "overview": "Overview", - "permissions": "Permissions", - "changelog": "Changelog", - "commands": "Commands" + "marketplace": "Trgovina", + "installed": "Nameščene", + "dependencies": "Odvisnosti", + "overview": "Pregled", + "permissions": "Dovoljenja", + "changelog": "Zapis sprememb", + "commands": "Ukazi" }, "dependencies": { "noDependencies": "No shared dependencies", @@ -2076,14 +1976,14 @@ "showFolder": "Prikaži mapo" }, "badges": { - "official": "Official", - "officialTooltip": "This extension is created and maintained by the Sigma File Manager team", - "community": "Community", - "communityTooltip": "This is a community extension. Review the source code before installing.", - "local": "Local", - "localTooltip": "This extension was installed from a local folder", - "broken": "Broken", - "brokenTooltip": "Extension files are missing. Uninstall to remove from the list." + "official": "Uradna", + "officialTooltip": "To razširitev je ustvarila in vzdržuje ekipa Sigma File Manager", + "community": "Skupnost", + "communityTooltip": "To je razširitev skupnosti. Pred namestitvijo pregledajte izvorno kodo.", + "local": "Lokalna", + "localTooltip": "Ta razširitev je bila nameščena iz lokalne mape", + "broken": "Poškodovana", + "brokenTooltip": "Datoteke razširitve manjkajo. Odstranite namestitev, da jo odstranite s seznama." }, "stats": { "total": "Total", @@ -2098,27 +1998,27 @@ "noExtensionsDescription": "Install and enable extensions that have configurable settings to see them here." }, "api": { - "permissionDenied": "Permission denied: {permission}", - "permissionDeniedBinary": "Permission denied: shell (required for binary management)", - "downloading": "Downloading {name}", - "downloadingProgress": "Downloading...", - "startingDownload": "Starting download...", - "downloadComplete": "Download complete", - "downloadingDependencies": "Downloading dependencies", - "extensionReady": "Extension is ready", - "waitForDependencies": "Wait until the extension finishes downloading its dependencies", - "dismiss": "Dismiss", - "stop": "Stop" + "permissionDenied": "Dovoljenje zavrnjeno: {permission}", + "permissionDeniedBinary": "Dovoljenje zavrnjeno: shell (potrebno za upravljanje binarnih datotek)", + "downloading": "Prenašanje {name}", + "downloadingProgress": "Prenašanje...", + "startingDownload": "Začenjanje prenosa...", + "downloadComplete": "Prenos končan", + "downloadingDependencies": "Prenos odvisnosti", + "extensionReady": "Razširitev je pripravljena", + "waitForDependencies": "Čakajte, da razširitev dokonča prenos svojih odvisnosti", + "dismiss": "Zapri", + "stop": "Ustavi" } }, "commandPalette": { "accessibleDialogTitle": "Ukazna paleta", "accessibleDialogDescription": "Tipkajte za filter in izberite ukaz s seznama.", - "searchPlaceholder": "Type a command or search...", - "noResults": "No commands found.", - "noCommands": "No commands registered. Install and enable extensions to add commands.", - "recentHeading": "Recent", - "otherCommandsHeading": "Other" + "searchPlaceholder": "Vnesite ukaz ali iščite...", + "noResults": "Ni najdenih ukazov.", + "noCommands": "Ni registriranih ukazov. Namestite in omogočite razširitve za dodajanje ukazov.", + "recentHeading": "Nedavno", + "otherCommandsHeading": "Ostalo" }, "lanShare": { "serverActive": "Deljenje prek omrežja je aktivno",