mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 15:15:24 +00:00
* fix(sso): send the PKCE verifier for GitHub login (#1534) * fix(remote-desktop): clip cursor overflow without disabling zoom (#1535) * test(remote-desktop): preserve sessions beyond one hour (#1536) * fix(hosts): expose controls for overflowing editor tabs (#1537) * fix(hosts): expose controls for overflowing editor tabs * test(hosts): mock resize observation in admin panel tests * fix(status): skip TCP probes while host sessions are active (#1538) * fix(database): batch session activity persistence (#1539) * docs(api): describe cookie and API key authentication (#1540) * fix(snippets): repair missing note column on SQLite upgrades (#1541) * fix(docker): retain stored SSH credential association (#1543) * fix(file-manager): render transfer toasts without plugin hooks (#1546) * feat(hosts): keep compact row actions inline (#1547) * fix(auth): allow retrying unavailable second-factor interfaces (#1549) * fix(auth): reject unresolved legacy identity provisioning (#1550) * fix(desktop): ship the plugin SDK inside Mac App Store builds (#1551) * fix(tmux): pass full session info to the terminal's session picker (#1552) The tmux.sessions service reduced detected sessions to bare names, but the picker reads session.name, so every entry rendered blank and selecting one sent an empty name, which created a new session instead of attaching. * fix(ssh): read force keyboard-interactive as a boolean when resolving hosts (#1553) The column holds the text "true"/"false", and the resolver passed it through as-is. The string "false" is truthy, so the password provider treated every saved host as forced keyboard-interactive and left the password out. Jump hops are built straight from the resolved host, so a password hop whose server doesn't offer keyboard-interactive failed with "All configured authentication methods failed". * fix(database): batch database saves for bulk host writes (#1554) * fix(database): yield to the event loop between database saves Each SQLite save serializes and encrypts the whole database into new buffers, which V8 only releases once the event loop turns. Boot migrations and bulk host import write plugin settings per host and per key in an awaited loop, so hundreds of full copies piled up and the container ran out of memory. * fix(database): save once per bulk host write instead of once per row On SQLite every repository write force-saves the whole database. Boot plugin data migrations, host defaults materialization and the bulk host routes write one row per host per setting, so they serialized and encrypted the full database hundreds of times in a row. DatabaseSaveTrigger.batched wraps a function so force saves made while it runs collapse into a single save when it finishes. Nested scopes fold into the outer one, and work that outlives its scope saves normally. * feat(hosts): add instance-wide predefined tag suggestions (#1548) * feat(hosts): add shared predefined tag suggestions * style(hosts): format tag catalog routes * test(database): advance fake timers past the save yield (#1555) * fix(i18n): complete Simplified Chinese core and plugin translations (#1542) * fix(i18n): complete Chinese onboarding and navigation labels * fix(i18n): translate remaining Chinese core and plugin interfaces * fix(i18n): translate host editor tab overflow controls * fix(i18n): use consistent Chinese fleet terminology * fix(i18n): localize hardcoded controls and plugin views * fix(i18n): translate built-in homepage widget catalog * test(homepage): follow translated timezone placeholder * fix(i18n): translate plugin-provided homepage widgets * fix(i18n): localize feature settings section titles * fix: 2.8 oidc accounts unable to sign in after upgrading (#1381) * fix: plugins losing the saved ssh login when copying a host (#1391) * fix: fleets, proxmox and automations not getting the host sudo password * fix: host imports running a defaults pass and metrics restart per host (#1384) * fix: high cpu from status probes and full database saves on every sample (#1300) * fix: user data export freezing the server (#1393) * fix: op:// secret references rejected as ssh keys on credentials (#1394) * fix: slow file deletes from the trash lookups on every delete (#1390) * fix: add openapi docs and error handling to host tag routes * test: compare download stream buffers directly so it stops timing out * chore: drop em dash from host row comment * chore: update release notes for 2.9.1 * fix: restore space to add host tags and redesign predefined tags editor * fix: host key silently accepted when the host is missing from the database (#1397) * fix: clearer host login failed status label and fix its translations (#1396) * chore: add host key and status label fixes to release notes * fix: sso and ldap provider dialogs overflowing the screen and using mismatched toggles * chore: increment ver * fix(audit): store plugin entries with no acting user as a null user_id (#1556) Plugin audit entries written outside a request used the literal "system" as user_id. That column references users.id, so the insert was refused (Postgres logs it as an FK violation) and the entry was silently dropped. Write null instead and keep "system" / plugin:<id> in username. * chore: add sso/ldap dialog and audit log fixes to release notes * fix: tunnels and host settings missing from shared hosts on desktop * fix: remote desktop logins missing from shared hosts on desktop * fix: simplify host status to online/offline and keep it live without a refresh * chore: sync Crowdin translations for 2.9.1 --------- Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
556 lines
40 KiB
JSON
556 lines
40 KiB
JSON
{
|
||
"nav": {
|
||
"files": "Датотеке",
|
||
"sftp": "СФТП",
|
||
"openFileManager": "Отвори менаџер датотека"
|
||
},
|
||
"permissions": {
|
||
"use": {
|
||
"title": "Користите менаџер датотека",
|
||
"description": "Прегледајте, уређујте и преносите датотеке преко SFTP-а."
|
||
}
|
||
},
|
||
"settings": {
|
||
"host": {
|
||
"enable": {
|
||
"label": "Омогући менаџер датотека",
|
||
"description": "Прегледајте и уређујте датотеке на овом хосту преко SFTP-а."
|
||
},
|
||
"defaultPath": {
|
||
"label": "Подразумевана путања"
|
||
},
|
||
"scpLegacy": {
|
||
"label": "SCP Legacy Mode"
|
||
}
|
||
},
|
||
"user": {
|
||
"transferConcurrency": {
|
||
"label": "Истовремени пренос датотека",
|
||
"description": "Колико датотека локални/удаљени менаџер истовремено отпрема или преузима. Смањите ово ако ваш сервер ограничава SFTP канале."
|
||
},
|
||
"confirmBeforeTrash": {
|
||
"label": "Потврди пре премештања датотека у отпад",
|
||
"description": "Питај пре премештања удаљених датотека у смеће. Трајно брисање и даље захтева потврду."
|
||
}
|
||
}
|
||
},
|
||
"hostCapability": {
|
||
"label": "Менаџер датотека"
|
||
},
|
||
"fileManager": {
|
||
"noHostSelected": "Није изабран домаћин",
|
||
"initializingEditor": "Иницијализација уређивача...",
|
||
"file": "Датотека",
|
||
"folder": "Фасцикла",
|
||
"uploadFile": "Отпреми датотеку",
|
||
"downloadFile": "Преузми",
|
||
"extractArchive": "Издвоји архиву",
|
||
"extractingArchive": "Издвајање {{name}}...",
|
||
"archiveExtractedSuccessfully": "{{name}} је успешно извучено",
|
||
"extractFailed": "Издвајање није успело",
|
||
"compressFile": "Компресуј датотеку",
|
||
"compressFiles": "Компресуј датотеке",
|
||
"compressFilesDesc": "Компресуј {{count}} ставки у архиву",
|
||
"archiveName": "Назив архиве",
|
||
"enterArchiveName": "Унесите име архиве...",
|
||
"compressionFormat": "Формат компресије",
|
||
"selectedFiles": "Изабране датотеке",
|
||
"andMoreFiles": "и још {{count}}...",
|
||
"compress": "Компресуј",
|
||
"compressingFiles": "Компресија {{count}} ставки у {{name}}...",
|
||
"filesCompressedSuccessfully": "{{name}} је успешно креирано",
|
||
"compressFailed": "Компресија није успела",
|
||
"edit": "Измени",
|
||
"preview": "Преглед",
|
||
"previous": "Претходно",
|
||
"next": "Следеће",
|
||
"pageXOfY": "Страница {{current}} од {{total}}",
|
||
"zoomOut": "Умањи",
|
||
"zoomIn": "Увећај",
|
||
"newFile": "Нова датотека",
|
||
"newFolder": "Нова фасцикла",
|
||
"rename": "Преименуј",
|
||
"uploading": "Отпремање...",
|
||
"uploadingFile": "Отпремање {{name}}...",
|
||
"uploadingChunk": "Отпремање {{name}}: {{percent}}% (део {{chunk}} од {{total}})",
|
||
"fileName": "Име датотеке",
|
||
"folderName": "Назив фасцикле",
|
||
"fileUploadedSuccessfully": "Датотека „{{name}}“ је успешно отпремљена",
|
||
"failedToUploadFile": "Отпремање датотеке није успело",
|
||
"uploadingFolderFiles": "Отпремање {{count}} датотека...",
|
||
"uploadedFolderFiles": "Успешно отпремљено {{count}} датотека",
|
||
"uploadedFolderPartial": "Отпремљено {{uploaded}} датотека, {{failed}} није успело",
|
||
"fileDownloadedSuccessfully": "Датотека „{{name}}“ је успешно преузета",
|
||
"failedToDownloadFile": "Преузимање датотеке није успело",
|
||
"fileCreatedSuccessfully": "Датотека „{{name}}“ је успешно креирана",
|
||
"folderCreatedSuccessfully": "Фасцикла „{{name}}“ је успешно креирана",
|
||
"failedToCreateItem": "Није успело креирање ставке",
|
||
"operationFailed": "Операција {{operation}} није успела за {{name}}: {{error}}",
|
||
"failedToResolveSymlink": "Није успело решавање симболичке везе",
|
||
"itemsDeletedSuccessfully": "{{count}} ставке су успешно обрисане",
|
||
"failedToDeleteItems": "Брисање ставки није успело",
|
||
"sudoPasswordRequired": "Потребна је администраторска лозинка",
|
||
"enterSudoPassword": "Унесите лозинку за судо да бисте наставили ову операцију",
|
||
"sudoPassword": "Sudo лозинка",
|
||
"sudoOperationFailed": "Sudo операција није успела",
|
||
"sudoAuthFailed": "Судо аутентификација није успела",
|
||
"dragFilesToUpload": "Отпустите датотеке овде да бисте их отпремили",
|
||
"dropToUploadHere": "Отпустите да бисте отпремили овде",
|
||
"dropToDownloadHere": "Отпустите да бисте преузели овде",
|
||
"localFiles": "Локално",
|
||
"showLocalFiles": "Прикажи локалне датотеке (подељени приказ)",
|
||
"hideLocalFiles": "Сакриј локалне датотеке",
|
||
"localHome": "Почетна фасцикла",
|
||
"localPathPlaceholder": "Путања локалне фасцикле",
|
||
"localShowHidden": "Прикажи скривене датотеке",
|
||
"localHideHidden": "Сакриј скривене датотеке",
|
||
"localRevealInFileManager": "Откриј у системском менаџеру датотека",
|
||
"localCannotOpenFolder": "Не могу да отворим фасциклу",
|
||
"localItemCount": "{{count}} ставке",
|
||
"localSelectedCount": "{{count}} изабрано",
|
||
"back": "Назад",
|
||
"forward": "Напред",
|
||
"up": "Горе",
|
||
"kind": "Врста",
|
||
"localUploadingProgress": "Отпремање {{current}} од {{total}}",
|
||
"localDownloadingProgress": "Преузимање {{current}} од {{total}}",
|
||
"localTransferInFlight": "{{count}} одједном",
|
||
"localPreparingDownload": "Припрема преузимања...",
|
||
"localTransferCancelled": "Трансфер отказан",
|
||
"localNothingToTransfer": "Ништа за пренос",
|
||
"localUploadComplete": "Отпремљено {{count}} датотека",
|
||
"localUploadFailed": "Отпремање није успело",
|
||
"localUploadPartial": "Отпремљено {{done}} датотека, {{failed}} није успело",
|
||
"localDownloadComplete": "Преузето {{count}} датотека",
|
||
"localDownloadFailed": "Преузимање није успело",
|
||
"localDownloadPartial": "Преузимање {{done}} датотека, {{failed}} није успело",
|
||
"localReplaceExistingPrompt": "{{count}} став(е) већ постоје у овој фасцикли. Заменити их?",
|
||
"localReplace": "Замени",
|
||
"localSkipExisting": "Прескочи",
|
||
"localSkippedExisting": "Прескочено {{count}} постојећих ставки",
|
||
"localUnsafeNamesSkipped": "Прескочено је {{count}} ставки чија имена се не могу користити на овом рачунару",
|
||
"localOpen": "Отворено",
|
||
"localOpenFolder": "Отвори фасциклу",
|
||
"localUploadToRemote": "Отпреми на сервер",
|
||
"localUploadToRemoteMany": "Отпреми {{count}} ставки на сервер",
|
||
"localMoveToTrash": "Премести у отпад",
|
||
"localMoveToTrashMany": "Премести {{count}} ставки у Отпад",
|
||
"localTrashConfirmSingle": "Преместити „{{name}}“ у Отпад?",
|
||
"localTrashConfirmFolder": "Преместити фасциклу „{{name}}“ и сав њен садржај у корпу за отпад?",
|
||
"localTrashConfirmMany": "Преместити {{count}} ставки у Отпад?",
|
||
"localTrashed": "Премештено {{count}} ставки у Отпад",
|
||
"localTrashFailed": "Није могуће преместити у Отпад",
|
||
"localRenameFailed": "Преименовање није успело",
|
||
"localCreateFailed": "Није могуће креирати ставку",
|
||
"goToParentFolder": "Иди у надређени фолдер",
|
||
"resizeSidebar": "Превуците да бисте променили величину бочне траке (двапут кликните да бисте ресетовали)",
|
||
"resizeLocalPane": "Превуците да бисте променили величину локалног окна (двапут кликните да бисте ресетовали)",
|
||
"columns": "Колоне",
|
||
"columnsHint": "Кликните десним тастером миша да бисте изабрали колоне",
|
||
"emptyFolder": "Ова фасцикла је празна",
|
||
"searchFiles": "Претражи датотеке...",
|
||
"upload": "Отпреми",
|
||
"selectHostToStart": "Изаберите хост да бисте започели управљање датотекама",
|
||
"sshRequiredForFileManager": "Менаџер датотека захтева SSH. Овај хост нема омогућен SSH.",
|
||
"failedToConnect": "Повезивање са SSH-ом није успело",
|
||
"failedToLoadDirectory": "Учитавање директоријума није успело",
|
||
"noSSHConnection": "SSH веза није доступна",
|
||
"copy": "Копија",
|
||
"cut": "Исеци",
|
||
"paste": "Залепи",
|
||
"copyPath": "Копирај путању",
|
||
"copyPaths": "Копирај путање",
|
||
"delete": "Обриши",
|
||
"properties": "Некретнине",
|
||
"refresh": "Освежи",
|
||
"downloadFiles": "Преузмите {{count}} датотека у прегледач",
|
||
"copyFiles": "Копирај {{count}} ставке",
|
||
"cutFiles": "Исеци {{count}} ставки",
|
||
"deleteFiles": "Обриши {{count}} ставки",
|
||
"filesCopiedToClipboard": "{{count}} ставке копиране у међуспремник",
|
||
"filesCutToClipboard": "{{count}} ставке исечене у међуспремник",
|
||
"pathCopiedToClipboard": "Путања је копирана у међуспремник",
|
||
"pathsCopiedToClipboard": "{{count}} путање копиране у међуспремник",
|
||
"failedToCopyPath": "Копирање путање у међуспремник није успело",
|
||
"copyFolderLink": "Копирај везу у фасциклу",
|
||
"copyCurrentFolderLink": "Копирај везу у тренутну фасциклу",
|
||
"folderLinkCopied": "Линк фасцикле копиран у међуспремник",
|
||
"failedToCopyFolderLink": "Копирање линка фасцикле није успело",
|
||
"movedItems": "Премештено {{count}} ставки",
|
||
"failedToDeleteItem": "Брисање ставке није успело",
|
||
"itemRenamedSuccessfully": "{{type}} је успешно преименован",
|
||
"failedToRenameItem": "Преименовање ставке није успело",
|
||
"download": "Преузми",
|
||
"openExternalEditor": "Отвори споља",
|
||
"chooseExternalEditor": "Изаберите спољни уређивач",
|
||
"externalEditorSelected": "Изабран је спољни уредник",
|
||
"externalEditorDesktopOnly": "Спољни уређивач је доступан само у десктоп апликацији",
|
||
"externalEditorOpened": "Отворено у екстерном уређивачу. Чувањем тамо ће се измене отпремити назад на сервер.",
|
||
"failedToOpenExternalEditor": "Отварање екстерног уређивача није успело",
|
||
"failedToSelectExternalEditor": "Није успело бирање спољног уређивача",
|
||
"permissions": "Дозволе",
|
||
"size": "Величина",
|
||
"modified": "Измењено",
|
||
"path": "Путања",
|
||
"confirmDelete": "Да ли сте сигурни да желите да обришете {{name}}?",
|
||
"permissionDenied": "Дозвола одбијена",
|
||
"serverError": "Грешка сервера",
|
||
"fileSavedSuccessfully": "Датотека је успешно сачувана",
|
||
"failedToSaveFile": "Чување датотеке није успело",
|
||
"confirmDeleteSingleItem": "Да ли сте сигурни да желите трајно да избришете „{{name}}“?",
|
||
"confirmDeleteMultipleItems": "Да ли сте сигурни да желите трајно да избришете {{count}} ставке?",
|
||
"confirmDeleteMultipleItemsWithFolders": "Да ли сте сигурни да желите трајно да избришете {{count}} ставке? Ово укључује фасцикле и њихов садржај.",
|
||
"confirmDeleteFolder": "Да ли сте сигурни да желите трајно да избришете фасциклу „{{name}}“ и сав њен садржај?",
|
||
"permanentDeleteWarning": "Ова радња се не може поништити. Ставка(е) ће бити трајно избрисане са сервера.",
|
||
"moveToTrashWarning": "Ставка(е) ће бити премештена(е) у смеће Термикса и може(ју) се вратити пре истека периода чувања.",
|
||
"itemsMovedToTrash": "{{count}} ставке премештено у Отпад",
|
||
"trash": "Смеће",
|
||
"trashDescription": "Обрисане ставке се чувају {{days}} дана на овом хосту.",
|
||
"trashLoadFailed": "Учитавање Отпада није успело",
|
||
"trashEmpty": "Отпад је празан",
|
||
"trashRestore": "Врати",
|
||
"trashRestored": "Враћено {{name}}",
|
||
"trashRestoreFailed": "Враћање ставке није успело. Оригинална путања можда већ постоји.",
|
||
"trashDeletePermanently": "Трајно избриши",
|
||
"trashDeleteConfirm": "Трајно избрисати {{name}}? Ово се не може поништити.",
|
||
"trashPermanentlyDeleted": "Трајно обрисано {{name}}",
|
||
"trashDeleteFailed": "Трајно брисање ставке није успело",
|
||
"trashEmptyAction": "Испразни отпад",
|
||
"trashEmptyConfirm": "Трајно избрисати сваку ставку у Отпаду? Ово се не може поништити.",
|
||
"trashEmptied": "Отпад је испражњен",
|
||
"trashRetention": "Аутоматско чишћење после (дана)",
|
||
"trashRetentionSaved": "Задржавање отпада је ажурирано",
|
||
"trashRetentionFailed": "Ажурирање задржавања у отпаду није успело",
|
||
"trashUnavailableConfirm": "Ова ставка не може бити премештена у Отпад, обично зато што се налази на другом систему датотека или захтева повишена права. Желите ли да је трајно избришете?",
|
||
"recent": "Недавно",
|
||
"pinned": "Закачено",
|
||
"folderShortcuts": "Пречице за фасцикле",
|
||
"failedToReconnectSSH": "Поновно повезивање SSH сесије није успело",
|
||
"openTerminalHere": "Отвори терминал овде",
|
||
"run": "Трчи",
|
||
"openTerminalInFolder": "Отвори терминал у овој фасцикли",
|
||
"openTerminalInFileLocation": "Отвори терминал на локацији датотеке",
|
||
"runningFile": "Трчање - {{file}}",
|
||
"onlyRunExecutableFiles": "Може покренути само извршне датотеке",
|
||
"directories": "Директоријуми",
|
||
"removedFromRecentFiles": "Уклоњено је „{{name}}“ из недавних датотека",
|
||
"removeFailed": "Уклањање није успело",
|
||
"unpinnedSuccessfully": "Откачено „{{name}}“ успешно",
|
||
"unpinFailed": "Откачивање није успело",
|
||
"removedShortcut": "Уклоњена пречица „{{name}}“",
|
||
"removeShortcutFailed": "Уклањање пречице није успело",
|
||
"clearedAllRecentFiles": "Обрисани су сви недавно објављени фајлови",
|
||
"clearFailed": "Брисање није успело",
|
||
"removeFromRecentFiles": "Уклони из недавних датотека",
|
||
"clearAllRecentFiles": "Обриши све недавно објављене датотеке",
|
||
"unpinFile": "Откачи датотеку",
|
||
"removeShortcut": "Уклони пречицу",
|
||
"pinFile": "Закачи датотеку",
|
||
"addToShortcuts": "Додај у пречице",
|
||
"pasteFailed": "Лепљење није успело",
|
||
"noUndoableActions": "Нема радњи које се могу поништити",
|
||
"undoCopySuccess": "Поништена операција копирања: Обрисано {{count}} копираних датотека",
|
||
"undoCopyFailedDelete": "Поништавање није успело: Није могуће обрисати ниједну копирану датотеку",
|
||
"undoCopyFailedNoInfo": "Поништавање није успело: Нису пронађене информације о копираној датотеци",
|
||
"undoMoveSuccess": "Поништена операција премештања: Премештено {{count}} датотека назад на оригиналну локацију",
|
||
"undoMoveFailedMove": "Поништавање није успело: Није могуће вратити датотеке",
|
||
"undoMoveFailedNoInfo": "Поништавање није успело: Нису пронађене информације о премештеној датотеци",
|
||
"undoDeleteNotSupported": "Брисање се не може поништити: Датотеке су трајно обрисане са сервера",
|
||
"undoTypeNotSupported": "Неподржани тип операције поништавања",
|
||
"undoOperationFailed": "Поништавање није успело",
|
||
"unknownError": "Непозната грешка",
|
||
"confirm": "Потврди",
|
||
"find": "Пронађи...",
|
||
"replace": "Замени",
|
||
"downloadInstead": "Преузми уместо тога",
|
||
"keyboardShortcuts": "Пречице на тастатури",
|
||
"searchAndReplace": "Претражи и замени",
|
||
"editing": "Уређивање",
|
||
"search": "Претрага",
|
||
"findNext": "Пронађи следеће",
|
||
"findPrevious": "Пронађи претходно",
|
||
"save": "Сачувај",
|
||
"selectAll": "Изабери све",
|
||
"undo": "Поништи",
|
||
"redo": "Понови",
|
||
"moveLineUp": "Помери ред нагоре",
|
||
"moveLineDown": "Помери ред надоле",
|
||
"toggleComment": "Укључи/искључи коментар",
|
||
"autoComplete": "Аутоматско довршавање",
|
||
"imageLoadError": "Учитавање слике није успело",
|
||
"startTyping": "Почни да куцаш...",
|
||
"unknownSize": "Непозната величина",
|
||
"fileIsEmpty": "Датотека је празна",
|
||
"largeFileWarning": "Упозорење о великој датотеци",
|
||
"largeFileWarningDesc": "Величина ове датотеке је {{size}} , што може изазвати проблеме са перформансама када се отвори као текст.",
|
||
"fileNotFoundAndRemoved": "Датотека „{{name}}“ није пронађена и уклоњена је из недавно коришћених/закачених датотека",
|
||
"failedToLoadFile": "Није успело учитавање датотеке: {{error}}",
|
||
"serverErrorOccurred": "Дошло је до грешке сервера. Молимо покушајте поново касније.",
|
||
"autoSaveFailed": "Аутоматско чување није успело",
|
||
"fileAutoSaved": "Датотека је аутоматски сачувана",
|
||
"moveFileFailed": "Премештање није успело {{name}}",
|
||
"moveOperationFailed": "Операција премештања није успела",
|
||
"canOnlyCompareFiles": "Могуће је упоредити само две датотеке",
|
||
"comparingFiles": "Поређење датотека: {{file1}} и {{file2}}",
|
||
"dragFailed": "Превлачење није успело",
|
||
"filePinnedSuccessfully": "Датотека „{{name}}“ је успешно закачена",
|
||
"pinFileFailed": "Качење датотеке није успело",
|
||
"fileUnpinnedSuccessfully": "Датотека „{{name}}“ је успешно откачена",
|
||
"unpinFileFailed": "Откачивање датотеке није успело",
|
||
"shortcutAddedSuccessfully": "Пречица за фасциклу „{{name}}“ је успешно додата",
|
||
"addShortcutFailed": "Додавање пречице није успело",
|
||
"operationCompletedSuccessfully": "{{operation}} {{count}} ставке успешно",
|
||
"operationCompleted": "{{operation}} {{count}} ставке",
|
||
"downloadFileSuccess": "Датотека {{name}} је успешно преузета",
|
||
"downloadFileFailed": "Преузимање није успело",
|
||
"downloadingFile": "Преузимање {{name}}…",
|
||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||
"moveTo": "Премести на {{name}}",
|
||
"diffCompareWith": "Разлика у поређењу са {{name}}",
|
||
"dragOutsideToDownload": "Превуците спољашњост прозора да бисте преузели ({{count}} датотека)",
|
||
"newFolderDefault": "Нови фолдер",
|
||
"newFileDefault": "НоваДатотека.txt",
|
||
"successfullyMovedItems": "Успешно премештено {{count}} ставки у {{target}}",
|
||
"move": "Помери",
|
||
"searchInFile": "Претражи у датотеци (Ctrl+F)",
|
||
"showKeyboardShortcuts": "Прикажи пречице на тастатури",
|
||
"decreaseFontSize": "Смањи величину фонта",
|
||
"increaseFontSize": "Повећај величину фонта",
|
||
"startWritingMarkdown": "Почните да пишете свој садржај у markdown формату...",
|
||
"loadingFileComparison": "Учитавање поређења датотека...",
|
||
"reload": "Поново учитај",
|
||
"compare": "Упореди",
|
||
"sideBySide": "Један поред другог",
|
||
"inline": "Уграђено",
|
||
"fileComparison": "Поређење датотека: {{file1}} наспрам {{file2}}",
|
||
"fileTooLarge": "File is too large (> 10MB) and cannot be opened as text for security reasons.",
|
||
"sshConnectionFailed": "SSH веза није успела. Молимо вас да проверите везу са {{name}} ({{ip}}:{{port}})",
|
||
"loadFileFailed": "Није успело учитавање датотеке: {{error}}",
|
||
"connecting": "Повезивање...",
|
||
"connectedSuccessfully": "Успешно повезано",
|
||
"totpVerificationFailed": "Верификација TOTP-а није успела",
|
||
"browserSignInFailed": "Пријављивање није успело. Молимо покушајте поново.",
|
||
"authenticationFailed": "Аутентификација није успела",
|
||
"incorrectPassphrase": "Нетачна лозинка. Молимо покушајте поново.",
|
||
"verificationCodePrompt": "Верификациони код:",
|
||
"changePermissions": "Промени дозволе",
|
||
"currentPermissions": "Тренутне дозволе",
|
||
"owner": "Власник",
|
||
"group": "Група",
|
||
"others": "Други",
|
||
"read": "Читај",
|
||
"write": "Пиши",
|
||
"execute": "Изврши",
|
||
"permissionsChangedSuccessfully": "Дозволе су успешно промењене",
|
||
"failedToChangePermissions": "Промена дозвола није успела",
|
||
"name": "Име",
|
||
"sortByName": "Име",
|
||
"sortByDate": "Датум измене",
|
||
"sortBySize": "Величина",
|
||
"ascending": "Растуће",
|
||
"descending": "Опадајући",
|
||
"root": "Корен",
|
||
"new": "Ново",
|
||
"sortBy": "Сортирај по",
|
||
"items": "Ставке",
|
||
"selected": "Изабрано",
|
||
"editor": "Уредник",
|
||
"octal": "Октално",
|
||
"storage": "Складиштење",
|
||
"disk": "Диск",
|
||
"used": "Коришћено",
|
||
"of": "од",
|
||
"toggleSidebar": "Укључи/искључи бочну траку",
|
||
"compactLayout": "Користите компактни распоред",
|
||
"comfortableLayout": "Користите удобан распоред",
|
||
"cannotLoadPdf": "Није могуће учитати PDF",
|
||
"pdfLoadError": "Дошло је до грешке при учитавању ове PDF датотеке.",
|
||
"loadingPdf": "Loading PDF viewer...",
|
||
"loadingPage": "Учитавање странице...",
|
||
"cancel": "Откажи",
|
||
"copiedItems_one": "Копирана ставка {{count}}",
|
||
"copiedItems_other": "Копирано {{count}} ставки",
|
||
"deleteCopiedFileFailed": "Није могуће обрисати копију {{name}}: {{error}}",
|
||
"dragMovedItems_one": "Ставка {{count}} је премештена у {{target}}",
|
||
"dragMovedItems_other": "Премештено је {{count}} ставки у {{target}}",
|
||
"moveBackFileFailed": "Није могуће померити {{name}} назад: {{error}}",
|
||
"terminal": "Терминал: {{host}} ({{path}})",
|
||
"dragToDesktop": "Превлачење {{name}} на радну површину",
|
||
"dragFilesToDesktop": "Превлачење {{count}} датотека на радну површину",
|
||
"folderDragUnsupported": "Превлачење фасцикли на радну површину још увек није подржано",
|
||
"saveToDesktopFailed": "Чување није успело: {{error}}",
|
||
"dragFailedDetail": "Превлачење није успело: {{error}}",
|
||
"videoUnsupported": "Ваш прегледач не може да репродукује овај видео формат.",
|
||
"downloadToPlay": "Преузмите да бисте је репродуковали негде другде",
|
||
"cannotPreviewType": "Не могу да прегледам овај тип датотеке",
|
||
"cannotPreviewTypeHint": "Овај тип датотеке нема преглед. Преузмите је да бисте је отворили у другој апликацији.",
|
||
"loadingFile": "Loading file...",
|
||
"loadingImage": "Loading image...",
|
||
"loadingEditor": "Loading editor...",
|
||
"loadingPreview": "Loading preview...",
|
||
"loadingAudio": "Loading audio player...",
|
||
"emptyPreview": "Nothing to preview yet...",
|
||
"revert": "Revert",
|
||
"openAsText": "Open as Text",
|
||
"confirmOpenAsText": "Do you want to continue opening this file as text? This may slow down your browser."
|
||
},
|
||
"sftpTransfer": {
|
||
"title": "СФТП",
|
||
"description": "Пренос датотека између два SSH хоста.",
|
||
"sourceServer": "Изворни сервер",
|
||
"destinationServer": "Одредишни сервер",
|
||
"selectHost": "Изаберите хоста",
|
||
"noHostSelected": "Није изабран домаћин",
|
||
"move": "Помери",
|
||
"copy": "Копија",
|
||
"upload": "Отпреми",
|
||
"itemsSelected": "{{count}} ставка је изабрана",
|
||
"itemsSelected_other": "Изабрано је {{count}} ставки",
|
||
"ready": "Спреман",
|
||
"loadingHosts": "Учитавање хостова...",
|
||
"name": "Име",
|
||
"modified": "Измењено",
|
||
"size": "Величина",
|
||
"noFiles": "Нема датотека",
|
||
"open": "Отворено",
|
||
"up": "Горе",
|
||
"refresh": "Освежи",
|
||
"copyToTarget": "Копирај у циљни директоријум",
|
||
"rename": "Преименуј",
|
||
"delete": "Обриши",
|
||
"editPermissions": "Измени дозволе",
|
||
"createNewFolder": "Направи нову фасциклу",
|
||
"deleteSelectedItems": "Обриши изабране ставке",
|
||
"deleteConfirm": "Обришите {{count}} изабрану ставку?",
|
||
"deleteConfirm_other": "Обришите {{count}} изабраних ставки?",
|
||
"cancel": "Откажи",
|
||
"save": "Сачувај",
|
||
"folderCreated": "Фасцикла је направљена",
|
||
"itemRenamed": "Ставка је преименована",
|
||
"actionFailed": "Акција није успела",
|
||
"itemsDeleted": "{{count}} ставка је обрисана",
|
||
"itemsDeleted_other": "{{count}} ставки су обрисане",
|
||
"deleteFailed": "Брисање није успело",
|
||
"permissionsUpdated": "Дозволе су ажуриране",
|
||
"noRemoteSessionConnected": "Није повезана удаљена сесија",
|
||
"failedToListFiles": "Навођење датотека није успело",
|
||
"failedToRefresh": "Освежавање није успело",
|
||
"destinationInsideSource": "Одредиште не може бити унутар изабране изворне путање.",
|
||
"sameHostNoOp": "Извор и одредиште су иста фасцикла."
|
||
},
|
||
"hosts": {
|
||
"fileManager": "Менаџер датотека",
|
||
"fileManagerUrlCopied": "URL менаџера датотека је копиран",
|
||
"copyFileManagerUrlAction": "Копирај УРЛ менаџера датотека",
|
||
"docsLink": "Прикажи документе",
|
||
"hostNotFound": "Хост није пронађен",
|
||
"loadingHost": "Учитавање хоста..."
|
||
},
|
||
"onboarding": {
|
||
"feature_files": "Менаџер датотека",
|
||
"feature_files_desc": "Прегледајте, отпремајте, преузимајте и уређујте датотеке преко SFTP-а без напуштања апликације."
|
||
},
|
||
"terminal": {
|
||
"runTitle": "Покреће се {{command}} - {{host}}",
|
||
"terminalTitle": "Терминал - {{host}}",
|
||
"terminalWithPath": "Терминал - {{host}}:{{path}}"
|
||
},
|
||
"transfer": {
|
||
"browseFolders": "Прегледајте одредишне фасцикле",
|
||
"browsePathError": "Није могуће отворити ову путању на одредишном хосту.",
|
||
"browsePathWillBeCreated": "Ова фасцикла још увек не постоји. Биће креирана када пренос почне.",
|
||
"cancel": "Откажи",
|
||
"cleanupDestFiles": "Очистите одредиште",
|
||
"cleanupDestFilesError": "Чишћење није успело",
|
||
"cleanupDestFilesNothing": "Нема ништа за чишћење на одредишту",
|
||
"cleanupDestFilesPartial": "Неке делимичне датотеке нису могле бити уклоњене",
|
||
"cleanupDestFilesSuccess": "Уклоњене су делимичне датотеке са одредишта",
|
||
"confirmCopy": "Копија",
|
||
"confirmMove": "Помери",
|
||
"copyFolderToHost": "Копирај фасциклу на хост…",
|
||
"copyItemsToHost": "Копирај {{count}} ставке за хостовање…",
|
||
"copyToHost": "Копирај на хост…",
|
||
"destinationPath": "Путања одредишта",
|
||
"destMustBeDirectory": "Одредиште мора бити директоријум за преносе више ставки",
|
||
"goUp": "Иди горе",
|
||
"hostAuthRequired": "Потребна је аутентификација. Прво отворите Менаџер датотека на овом хосту.",
|
||
"hostConnecting": "Повезивање…",
|
||
"hostConnectionFailed": "Повезивање није успело",
|
||
"hostDisconnected": "Није повезано",
|
||
"hostReady": "Спреман",
|
||
"itemsSummary": "{{count}} ставке",
|
||
"jumpHostLimitation": "Оба хоста морају бити доступна са Termix сервера. Директно рутирање од хоста до хоста није подржано.",
|
||
"methodAuto": "Аутоматски",
|
||
"methodAutoHint": "Бира tar или SFTP за сваку датотеку на основу броја датотека, величине и компресибилности. Појединачне датотеке увек користе SFTP за стримовање.",
|
||
"methodItemSftp": "SFTP по датотеци",
|
||
"methodItemSftpHint": "Пренесите сваку датотеку појединачно преко SFTP-а. Ради на свим хостовима, укључујући Windows.",
|
||
"methodItemSftpLimitation": "Свака датотека користи исти SFTP ток као и копија појединачних датотека, једна за другом. Напредак се комбинује за све датотеке, тако да се трака помера споро током великих датотека.",
|
||
"methodLabel": "Метод преноса",
|
||
"methodPreviewError": "Није могуће прегледати метод преноса. Сервер ће ипак изабрати метод када покренете.",
|
||
"methodPreviewLoading": "Израчунавање методе преноса…",
|
||
"methodPreviewScanSummary": "{{fileCount}} датотека, {{totalSize}} укупно (скенирано на изворном хосту).",
|
||
"methodPreviewWillUseItemSftp": "Користиће се: SFTP за сваку датотеку",
|
||
"methodPreviewWillUseTar": "Користиће се: Тар архива",
|
||
"methodReason": {
|
||
"user_item_sftp": "Изабрали сте SFTP за сваку датотеку.",
|
||
"user_tar": "Изабрали сте tar архиву.",
|
||
"tar_unavailable": "Тар није доступан на једном или оба хоста, па ће се уместо тога користити SFTP протокол за сваку датотеку.",
|
||
"windows_host": "Укључен је Windows хост, тако да се tar не користи.",
|
||
"auto_multi_large": "Аутоматски: више датотека, укључујући велику датотеку ({{largestSize}}) са компресибилним подацима. Тар их обједињује у један пренос.",
|
||
"auto_single_large_in_archive": "Аутоматски: једна велика датотека ({{largestSize}}) у овом скупу, тако да се користи SFTP за сваку датотеку.",
|
||
"auto_many_incompressible": "Аутоматски: углавном некомпримљиви подаци, тако да се користи SFTP за сваку датотеку.",
|
||
"auto_many_files": "Аутоматски: више датотека ({{fileCount}}), tar смањује оптерећење по датотеци.",
|
||
"auto_default": "Аутоматски: SFTP за сваку датотеку за овај скуп."
|
||
},
|
||
"methodTar": "Тар архива",
|
||
"methodTarHint": "Компресуј на изворном коду, пренеси једну архиву, распакуј на одредишту. Потребан је tar на оба Unix хоста.",
|
||
"metricsCompress": "Компресуј на изворном коду: {{duration}}",
|
||
"metricsExtract": "Издвајање на одредишту: {{duration}}",
|
||
"metricsPrepare": "Припреми одредиште: {{duration}}",
|
||
"metricsRouteBenchmark": "Сонда руте: директна {{direct}}, релејна {{relay}}",
|
||
"metricsSourceDelete": "Уклони из извора: {{duration}}",
|
||
"metricsTotal": "Укупно: {{duration}}",
|
||
"metricsTransfer": "Од краја до краја: {{throughput}} ({{duration}})",
|
||
"metricsVerify": "SHA-256 верификован: {{duration}}",
|
||
"moveFolderToHost": "Премести фасциклу на хост…",
|
||
"moveItemsToHost": "Премести {{count}} ставке на хост…",
|
||
"moveToHost": "Премести на хост…",
|
||
"noHostsConnected": "Нема других доступних хостова за управљање датотекама.",
|
||
"noHostsConnectedHint": "Додајте још један SSH хост са омогућеним File Manager-ом у Host Manager-у.",
|
||
"parallelSegmentsHint": "Велике датотеке су подељене на делове од 256 MB. Вишеструке траке користе одвојене везе (као што је покретање неколико преноса) за већи укупни проток.",
|
||
"parallelSegmentsLabel": "Паралелне траке за прелазак",
|
||
"parallelSegmentsOption": "{{count}} траке",
|
||
"progressBenchmarking": "Избор најбрже руте за трансфер…",
|
||
"progressBytes": "{{transferred}} / {{total}}",
|
||
"progressCancel": "Откажи",
|
||
"progressCancelling": "Отказивање…",
|
||
"progressCompressing": "Компресија на изворном хосту…",
|
||
"progressExtracting": "Распакује се на одредишту…",
|
||
"progressItems": "{{current}} / {{total}} датотеке",
|
||
"progressReconnecting": "Поновно повезивање…",
|
||
"progressStalled": "Заустављено",
|
||
"progressTotalSpeed": "{{speed}} укупно ({{lanes}} трака)",
|
||
"progressTransferring": "Пренос података…",
|
||
"progressTransferringItems": "Пренос датотека ({{current}} од {{total}})…",
|
||
"progressVerifying": "Провера интегритета датотеке…",
|
||
"recentDestinations": "Недавне дестинације",
|
||
"resumedHint": "Поново повезано са активним преносом започетим у другом прозору.",
|
||
"retryTransfer": "Покушај поново",
|
||
"retryTransferError": "Поновни покушај није успео",
|
||
"selectDestinationHost": "Изаберите одредишни хост",
|
||
"transferCancelled": "Трансфер отказан",
|
||
"transferCancelledCopyHint": "Делимични фајлови могу остати на одредишту.",
|
||
"transferCancelledMoveHint": "Делимични фајлови могу остати на одредишту. Изворни фајлови нису уклоњени.",
|
||
"transferError": "Пренос није успео",
|
||
"transferFailedRetryHint": "Делимични подаци су сачувани на одредишту. Покушај ће бити настављен када се веза поново успостави.",
|
||
"transferPartialHint": "Није могуће пренети: {{paths}}",
|
||
"transferSuccess": "Пренос завршен",
|
||
"metricsHopSourceRead": "Извор → сервер: {{throughput}}",
|
||
"metricsHopDestSftpWrite": "Сервер → одредиште (SFTP): {{throughput}}",
|
||
"metricsHopDestLocalWrite": "Сервер → одредиште (локално): {{throughput}}"
|
||
},
|
||
"plugin": {
|
||
"name": "File Manager"
|
||
}
|
||
}
|