Dev/UI: improve locale structure and consistency

This commit is contained in:
aleksey-hoffman committed 2026-05-16 15:29:50 +03:00
1 parent 942b6d3176
commit a0b75249b9
4 files changed
+140 -248

No files matched your search

+44 -38
View File
@@ -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();
+1 -1
View File
@@ -1905,7 +1905,7 @@
"latestVersionLabel": "नवीनतम संस्करण",
"selectedVersionLabel": "चयनित संस्करण",
"versionPrefix": "वी",
"metaSeparator": null,
"metaSeparator": "•",
"contextMenuLabel": "एक्सटेंशन",
"autoUpdate": "ऑटो अपडेट",
"status": "स्थिति",
+13 -27
View File
@@ -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.<br>Ela verifica periodicamente suas unidades e gera arquivos de dados (mapas) para que você possa encontrar seus arquivos rapidamente.<br>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?",
+82 -182
View File
@@ -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",