add mobile swipe to change photo and theme changes (#1016)

This commit is contained in:
Graham Steffaniak authored and GitHub committed 2025-07-25 13:16:46 -05:00
1 parent 72c983bd56
commit 587db41837
44 files changed
+433 -385

No files matched your search

+23 -1
View File
@@ -4,8 +4,29 @@ All notable changes to this project will be documented in this file. For commit
## v0.7.17-beta
See an example of custom css styling that uses the reduce-rounded-corners.css by default and allows users to choose other themes. You can add your own themes as well that users can choose from in profile settings:
```
frontend:
styling:
lightBackground: "#f0f0f0" # or names of css colors
darkBackground: "#121212"
customCSS: "custom.css" # custom css file always applies first, then user themes on top of that.
customThemes:
"default": # if "default" is specified as the name, it will be the default option
description: "Reduce rounded corners"
css: "reduce-rounded-corners.css" # path to css file to use
"original":
description: "Original rounded theme"
css: "" # you could default to no styling changes this way.
```
**New Features**:
- custom background and css options possible. Provided an example `reduce-rounded-corners.css` available by default in docker. (#986, #837)
- more custom styling options (thanks @mordilloSan for #997)
- background colors can be easily set in config
- provided an example `reduce-rounded-corners.css` available by default in docker. (#986, #837)
- added feature to specify multiple css themes that users can choose from in profile settings
- swipe between photos on mobile (#825)
**Notes**:
- changed partition calculations on linux for total disk size (#982)
@@ -14,6 +35,7 @@ All notable changes to this project will be documented in this file. For commit
**BugFixes**:
- TOTP prompt not showing generated code issue https://github.com/gtsteffaniak/filebrowser/issues/996
- select mulitple deselect on mobile (#1002)
- viewing svg images.
## v0.7.16-beta
-11
View File
@@ -37,9 +37,6 @@ func validateUserInfo() {
if updateLoginType(user) {
updateUser = true
}
if updateUserDefaults(user) {
updateUser = true
}
adminUser := settings.Config.Auth.AdminUsername
adminPass := settings.Config.Auth.AdminPassword
passwordEnabled := settings.Config.Auth.Methods.PasswordAuth.Enabled
@@ -66,14 +63,6 @@ func validateUserInfo() {
}
}
func updateUserDefaults(user *users.User) bool {
if user.DisableOfficePreviewExt != "" && user.DisablePreviewExt == "" {
user.DisablePreviewExt = user.DisableOfficePreviewExt
return true
}
return false
}
func updateUserScopes(user *users.User) bool {
newScopes := []users.SourceScope{}
seen := make(map[string]struct{})
+29 -3
View File
@@ -62,6 +62,34 @@ func setupFrontend() {
Config.Frontend.Styling.LightBackground = FallbackColor(Config.Frontend.Styling.LightBackground, "white")
Config.Frontend.Styling.DarkBackground = FallbackColor(Config.Frontend.Styling.DarkBackground, "#141D24")
Config.Frontend.Styling.CustomCSS = readCustomCSS(Config.Frontend.Styling.CustomCSS)
Config.Frontend.Styling.CustomThemeOptions = map[string]CustomTheme{}
for name, theme := range Config.Frontend.Styling.CustomThemes {
thisTheme := CustomTheme{
Description: theme.Description,
CSS: theme.CSS, // Copy the CSS file path from the original theme
}
Config.Frontend.Styling.CustomThemeOptions[name] = thisTheme
thisTheme.CSS = readCustomCSS(theme.CSS) // Now read the CSS file content and replace the path
Config.Frontend.Styling.CustomThemes[name] = thisTheme
}
noThemes := len(Config.Frontend.Styling.CustomThemes) == 0
_, ok := Config.Frontend.Styling.CustomThemes["default"]
if noThemes || !ok {
theme := CustomTheme{
Description: "The default theme",
CSS: "",
}
if noThemes {
// If there are no themes at all, initialize the map with just default
Config.Frontend.Styling.CustomThemes = map[string]CustomTheme{
"default": theme,
}
} else {
// If there are themes but no default, add default to existing themes
Config.Frontend.Styling.CustomThemes["default"] = theme
}
Config.Frontend.Styling.CustomThemeOptions["default"] = theme
}
}
func getRealPath(path string) string {
@@ -336,9 +364,7 @@ func setDefaults(generate bool) Settings {
},
},
Frontend: Frontend{
Name: "FileBrowser Quantum",
LightBackground: "#f5f5f5",
DarkBackground: "#141D24",
Name: "FileBrowser Quantum",
},
UserDefaults: UserDefaults{
+11 -4
View File
@@ -18,7 +18,6 @@ type Settings struct {
Frontend Frontend `json:"frontend"`
UserDefaults UserDefaults `json:"userDefaults"`
Integrations Integrations `json:"integrations"`
CustomCSS string `json:"customCSS"`
}
type Server struct {
@@ -115,9 +114,16 @@ type Frontend struct {
}
type StylingConfig struct {
CustomCSS string `json:"customCSS"` // if a valid path to a css file is provided, it will be applied on startup. (eg. "reduce-rounded-corners.css")
LightBackground string `json:"lightBackground"` // specify a valid CSS color property value to use as the background color in light mode
DarkBackground string `json:"darkBackground"` // Specify a valid CSS color property value to use as the background color in dark mode
CustomCSS string `json:"customCSS"` // if a valid path to a css file is provided, it will be applied for all users. (eg. "reduce-rounded-corners.css")
LightBackground string `json:"lightBackground"` // specify a valid CSS color property value to use as the background color in light mode
DarkBackground string `json:"darkBackground"` // Specify a valid CSS color property value to use as the background color in dark mode
CustomThemes map[string]CustomTheme `json:"customThemes"` // A list of custom css files that each user can select to override the default styling. if "default" is key name then it will be the default option.
CustomThemeOptions map[string]CustomTheme `json:"-"` // not exposed
}
type CustomTheme struct {
Description string `json:"description"` // The description of the theme to display in the UI.
CSS string `json:"css,omitempty"` // The css file path and filename to use for the theme.
}
type ExternalLink struct {
@@ -156,4 +162,5 @@ type UserDefaults struct {
FileLoading users.FileLoading `json:"fileLoading"` // upload and download settings
DisableOfficePreviewExt string `json:"disableOfficePreviewExt"` // deprecated: use disablePreviewExt instead
DisableOnlyOfficeExt string `json:"disableOnlyOfficeExt"` // list of file extensions to disable onlyoffice editor for
CustomTheme string `json:"customTheme"` // Name of theme to use chosen from custom themes config.
}
+1
View File
@@ -101,6 +101,7 @@ type NonAdminEditable struct {
DisableOnlyOfficeExt string `json:"disableOnlyOfficeExt"` // deprecated
DisablePreviewExt string `json:"disablePreviewExt"` // comma separated list of file extensions to disable preview for
DisableViewingExt string `json:"disableViewingExt"` // comma separated list of file extensions to disable viewing for
CustomTheme string `json:"customTheme"` // Name of theme to use chosen from custom themes config.
}
type FileLoading struct {
+1 -1
View File
@@ -133,7 +133,7 @@ func StartHttp(ctx context.Context, storage *storage.Storage, shutdownComplete c
// Static and index file handlers
router.HandleFunc(fmt.Sprintf("GET %vstatic/", config.Server.BaseURL), staticFilesHandler)
router.HandleFunc(config.Server.BaseURL, indexHandler)
router.HandleFunc(config.Server.BaseURL, withOrWithoutUser(indexHandler))
router.HandleFunc(fmt.Sprintf("GET %vhealth", config.Server.BaseURL), healthHandler)
router.Handle(fmt.Sprintf("%vswagger/", config.Server.BaseURL), withUser(swaggerHandler))
+24
View File
@@ -100,6 +100,26 @@ func withAdminHelper(fn handleFunc) handleFunc {
})
}
// if withUserHelper fails, try without user
func withOrWithoutUserHelper(fn handleFunc) handleFunc {
return func(w http.ResponseWriter, r *http.Request, data *requestContext) (int, error) {
// Try to authenticate user first
status, err := withUserHelper(fn)(w, r, data)
// If user authentication succeeded, return the result
if err == nil {
return status, nil
}
// If user authentication failed, call the handler without user context
// Clear any user data that might have been partially set
data.user = nil
data.token = ""
// Call the handler function without user context
return fn(w, r, data)
}
}
func withoutUserHelper(fn handleFunc) handleFunc {
return func(w http.ResponseWriter, r *http.Request, data *requestContext) (int, error) {
// This middleware is used when no user authentication is required
@@ -285,6 +305,10 @@ func withUser(fn handleFunc) http.HandlerFunc {
return wrapHandler(withUserHelper(fn))
}
func withOrWithoutUser(fn handleFunc) http.HandlerFunc {
return wrapHandler(withOrWithoutUserHelper(fn))
}
func withoutUser(fn handleFunc) http.HandlerFunc {
return wrapHandler(withoutUserHelper(fn))
}
+42 -38
View File
@@ -30,58 +30,64 @@ func (t *TemplateRenderer) Render(w http.ResponseWriter, name string, data inter
return t.templates.ExecuteTemplate(w, name, data)
}
func handleWithStaticData(w http.ResponseWriter, r *http.Request, file, contentType string) {
func handleWithStaticData(w http.ResponseWriter, r *http.Request, d *requestContext, file, contentType string) (int, error) {
w.Header().Set("Content-Type", contentType)
auther, err := store.Auth.Get("password")
if err != nil {
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
return
return http.StatusInternalServerError, err
}
userSelectedTheme := ""
if d.user != nil {
theme, ok := config.Frontend.Styling.CustomThemes[d.user.CustomTheme]
if ok {
userSelectedTheme = theme.CSS
}
}
data := map[string]interface{}{
"CustomCSS": config.Frontend.Styling.CustomCSS,
"LightBackground": config.Frontend.Styling.LightBackground,
"DarkBackground": config.Frontend.Styling.DarkBackground,
"StaticURL": config.Server.BaseURL + "static",
"CustomCSS": config.Frontend.Styling.CustomCSS,
"userSelectedTheme": userSelectedTheme,
"LightBackground": config.Frontend.Styling.LightBackground,
"DarkBackground": config.Frontend.Styling.DarkBackground,
"StaticURL": config.Server.BaseURL + "static",
"BaseURL": config.Server.BaseURL,
}
// variables consumed by frontend as json
data["globalVars"] = map[string]interface{}{
"Name": config.Frontend.Name,
"DisableExternal": config.Frontend.DisableDefaultLinks,
"darkMode": settings.Config.UserDefaults.DarkMode,
"BaseURL": config.Server.BaseURL,
"Version": version.Version,
"CommitSHA": version.CommitSHA,
"Signup": settings.Config.Auth.Methods.PasswordAuth.Signup,
"NoAuth": config.Auth.Methods.NoAuth,
"LoginPage": auther.LoginPage(),
"EnableThumbs": !config.Server.DisablePreviews,
"ExternalLinks": config.Frontend.ExternalLinks,
"ExternalUrl": strings.TrimSuffix(config.Server.ExternalUrl, "/"),
"OnlyOfficeUrl": settings.Config.Integrations.OnlyOffice.Url,
"SourceCount": len(config.Server.SourceMap),
"OidcAvailable": config.Auth.Methods.OidcAuth.Enabled,
"PasswordAvailable": config.Auth.Methods.PasswordAuth.Enabled,
"MediaAvailable": config.Integrations.Media.FfmpegPath != "",
"MuPdfAvailable": config.Server.MuPdfAvailable,
"UpdateAvailable": utils.GetUpdateAvailableUrl(),
"DisableNavButtons": settings.Config.Frontend.DisableNavButtons,
"LightBackground": config.Frontend.LightBackground,
"DarkBackground": config.Frontend.DarkBackground,
"CustomCSS": config.CustomCSS,
"Name": config.Frontend.Name,
"DisableExternal": config.Frontend.DisableDefaultLinks,
"darkMode": settings.Config.UserDefaults.DarkMode,
"BaseURL": config.Server.BaseURL,
"Version": version.Version,
"CommitSHA": version.CommitSHA,
"Signup": settings.Config.Auth.Methods.PasswordAuth.Signup,
"NoAuth": config.Auth.Methods.NoAuth,
"LoginPage": auther.LoginPage(),
"EnableThumbs": !config.Server.DisablePreviews,
"ExternalLinks": config.Frontend.ExternalLinks,
"ExternalUrl": strings.TrimSuffix(config.Server.ExternalUrl, "/"),
"OnlyOfficeUrl": settings.Config.Integrations.OnlyOffice.Url,
"SourceCount": len(config.Server.SourceMap),
"OidcAvailable": config.Auth.Methods.OidcAuth.Enabled,
"PasswordAvailable": config.Auth.Methods.PasswordAuth.Enabled,
"MediaAvailable": config.Integrations.Media.FfmpegPath != "",
"MuPdfAvailable": config.Server.MuPdfAvailable,
"UpdateAvailable": utils.GetUpdateAvailableUrl(),
"DisableNavButtons": settings.Config.Frontend.DisableNavButtons,
"UserSelectableThemes": config.Frontend.Styling.CustomThemeOptions,
}
jsonVars, err := json.Marshal(data["globalVars"])
if err != nil {
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
return
return http.StatusInternalServerError, err
}
data["globalVars"] = strings.ReplaceAll(string(jsonVars), `'`, `\'`)
// Render the template with global variables
if err := templateRenderer.Render(w, file, data); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return http.StatusInternalServerError, err
}
return http.StatusOK, nil
}
func staticFilesHandler(w http.ResponseWriter, r *http.Request) {
@@ -108,11 +114,9 @@ func staticFilesHandler(w http.ResponseWriter, r *http.Request) {
}
}
func indexHandler(w http.ResponseWriter, r *http.Request) {
func indexHandler(w http.ResponseWriter, r *http.Request, d *requestContext) (int, error) {
if r.Method != http.MethodGet {
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
return
return http.StatusNotFound, nil
}
handleWithStaticData(w, r, "index.html", "text/html")
return handleWithStaticData(w, r, d, "index.html", "text/html")
}
+1
View File
@@ -12,6 +12,7 @@ input,
.sizeInput,
#search #input,
.floating-tooltip,
.settings-items>.item,
.button-group {
border-radius: 0.25em !important;
}
+29 -12
View File
@@ -2028,6 +2028,19 @@ const docTemplate = `{
}
}
},
"settings.CustomTheme": {
"type": "object",
"properties": {
"css": {
"description": "The css file path and filename to use for the theme.",
"type": "string"
},
"description": {
"description": "The description of the theme to display in the UI.",
"type": "string"
}
}
},
"settings.ExcludeIndexFilter": {
"type": "object",
"properties": {
@@ -2107,10 +2120,6 @@ const docTemplate = `{
"settings.Frontend": {
"type": "object",
"properties": {
"darkBackground": {
"description": "Specify a valid CSS color property value to use as the background color in dark mode",
"type": "string"
},
"disableDefaultLinks": {
"description": "disable default links in the sidebar",
"type": "boolean"
@@ -2129,10 +2138,6 @@ const docTemplate = `{
"$ref": "#/definitions/settings.ExternalLink"
}
},
"lightBackground": {
"description": "specify a valid CSS color property value to use as the background color in light mode",
"type": "string"
},
"name": {
"description": "display name",
"type": "string"
@@ -2450,9 +2455,6 @@ const docTemplate = `{
"auth": {
"$ref": "#/definitions/settings.Auth"
},
"customCSS": {
"type": "string"
},
"frontend": {
"$ref": "#/definitions/settings.Frontend"
},
@@ -2542,9 +2544,16 @@ const docTemplate = `{
"type": "object",
"properties": {
"customCSS": {
"description": "if a valid path to a css file is provided, it will be applied on startup. (eg. \"reduce-rounded-corners.css\")",
"description": "if a valid path to a css file is provided, it will be applied for all users. (eg. \"reduce-rounded-corners.css\")",
"type": "string"
},
"customThemes": {
"description": "A list of custom css files that each user can select to override the default styling.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/settings.CustomTheme"
}
},
"darkBackground": {
"description": "Specify a valid CSS color property value to use as the background color in dark mode",
"type": "string"
@@ -2558,6 +2567,10 @@ const docTemplate = `{
"settings.UserDefaults": {
"type": "object",
"properties": {
"customTheme": {
"description": "Name of theme to use chosen from custom themes config.",
"type": "string"
},
"darkMode": {
"description": "should dark mode be enabled",
"type": "boolean"
@@ -2828,6 +2841,10 @@ const docTemplate = `{
"$ref": "#/definitions/users.AuthToken"
}
},
"customTheme": {
"description": "Name of theme to use chosen from custom themes config.",
"type": "string"
},
"darkMode": {
"description": "should dark mode be enabled",
"type": "boolean"
+29 -12
View File
@@ -2017,6 +2017,19 @@
}
}
},
"settings.CustomTheme": {
"type": "object",
"properties": {
"css": {
"description": "The css file path and filename to use for the theme.",
"type": "string"
},
"description": {
"description": "The description of the theme to display in the UI.",
"type": "string"
}
}
},
"settings.ExcludeIndexFilter": {
"type": "object",
"properties": {
@@ -2096,10 +2109,6 @@
"settings.Frontend": {
"type": "object",
"properties": {
"darkBackground": {
"description": "Specify a valid CSS color property value to use as the background color in dark mode",
"type": "string"
},
"disableDefaultLinks": {
"description": "disable default links in the sidebar",
"type": "boolean"
@@ -2118,10 +2127,6 @@
"$ref": "#/definitions/settings.ExternalLink"
}
},
"lightBackground": {
"description": "specify a valid CSS color property value to use as the background color in light mode",
"type": "string"
},
"name": {
"description": "display name",
"type": "string"
@@ -2439,9 +2444,6 @@
"auth": {
"$ref": "#/definitions/settings.Auth"
},
"customCSS": {
"type": "string"
},
"frontend": {
"$ref": "#/definitions/settings.Frontend"
},
@@ -2531,9 +2533,16 @@
"type": "object",
"properties": {
"customCSS": {
"description": "if a valid path to a css file is provided, it will be applied on startup. (eg. \"reduce-rounded-corners.css\")",
"description": "if a valid path to a css file is provided, it will be applied for all users. (eg. \"reduce-rounded-corners.css\")",
"type": "string"
},
"customThemes": {
"description": "A list of custom css files that each user can select to override the default styling.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/settings.CustomTheme"
}
},
"darkBackground": {
"description": "Specify a valid CSS color property value to use as the background color in dark mode",
"type": "string"
@@ -2547,6 +2556,10 @@
"settings.UserDefaults": {
"type": "object",
"properties": {
"customTheme": {
"description": "Name of theme to use chosen from custom themes config.",
"type": "string"
},
"darkMode": {
"description": "should dark mode be enabled",
"type": "boolean"
@@ -2817,6 +2830,10 @@
"$ref": "#/definitions/users.AuthToken"
}
},
"customTheme": {
"description": "Name of theme to use chosen from custom themes config.",
"type": "string"
},
"darkMode": {
"description": "should dark mode be enabled",
"type": "boolean"
+22 -11
View File
@@ -142,6 +142,15 @@ definitions:
description: secret used to encrypt TOTP secrets
type: string
type: object
settings.CustomTheme:
properties:
css:
description: The css file path and filename to use for the theme.
type: string
description:
description: The description of the theme to display in the UI.
type: string
type: object
settings.ExcludeIndexFilter:
properties:
fileEndsWith:
@@ -204,10 +213,6 @@ definitions:
type: object
settings.Frontend:
properties:
darkBackground:
description: Specify a valid CSS color property value to use as the background
color in dark mode
type: string
disableDefaultLinks:
description: disable default links in the sidebar
type: boolean
@@ -221,10 +226,6 @@ definitions:
items:
$ref: '#/definitions/settings.ExternalLink'
type: array
lightBackground:
description: specify a valid CSS color property value to use as the background
color in light mode
type: string
name:
description: display name
type: string
@@ -465,8 +466,6 @@ definitions:
properties:
auth:
$ref: '#/definitions/settings.Auth'
customCSS:
type: string
frontend:
$ref: '#/definitions/settings.Frontend'
integrations:
@@ -529,8 +528,14 @@ definitions:
properties:
customCSS:
description: if a valid path to a css file is provided, it will be applied
on startup. (eg. "reduce-rounded-corners.css")
for all users. (eg. "reduce-rounded-corners.css")
type: string
customThemes:
additionalProperties:
$ref: '#/definitions/settings.CustomTheme'
description: A list of custom css files that each user can select to override
the default styling.
type: object
darkBackground:
description: Specify a valid CSS color property value to use as the background
color in dark mode
@@ -542,6 +547,9 @@ definitions:
type: object
settings.UserDefaults:
properties:
customTheme:
description: Name of theme to use chosen from custom themes config.
type: string
darkMode:
description: should dark mode be enabled
type: boolean
@@ -737,6 +745,9 @@ definitions:
additionalProperties:
$ref: '#/definitions/users.AuthToken'
type: object
customTheme:
description: Name of theme to use chosen from custom themes config.
type: string
darkMode:
description: should dark mode be enabled
type: boolean
+6 -2
View File
@@ -91,9 +91,13 @@ frontend:
url: "https://github.com/gtsteffaniak/filebrowser/wiki" # the url to link to validate:required
disableNavButtons: false # disable the nav buttons in the sidebar
styling:
customCSS: "" # if a valid path to a css file is provided, it will be applied on startup. (eg. "reduce-rounded-corners.css")
customCSS: "" # if a valid path to a css file is provided, it will be applied for all users. (eg. "reduce-rounded-corners.css")
lightBackground: "white" # specify a valid CSS color property value to use as the background color in light mode
darkBackground: "#141D24" # Specify a valid CSS color property value to use as the background color in dark mode
customThemes: # A list of custom css files that each user can select to override the default styling.
default:
description: The default theme
css: ""
userDefaults:
editorQuickSave: false # show quick save button in editor
hideSidebarFileActions: false # hide the file actions in the sidebar
@@ -136,6 +140,7 @@ userDefaults:
uploadChunkSizeMb: 10
disableOfficePreviewExt: "" # deprecated: use disablePreviewExt instead
disableOnlyOfficeExt: "" # list of file extensions to disable onlyoffice editor for
customTheme: "" # Name of theme to use chosen from custom themes config.
integrations:
office: # validate:omitempty
url: "" # The URL to the OnlyOffice Document Server, needs to be accessible to the user. validate:required
@@ -143,4 +148,3 @@ integrations:
secret: "" # validate:required
media: # validate:omitempty
ffmpegPath: "" # path to ffmpeg directory with ffmpeg and ffprobe (eg. /usr/local/bin)
customCSS: ""
+1 -15
View File
@@ -156,22 +156,8 @@
}
}
{{ .CustomCSS }}
{{ .userSelectedTheme }}
</style>
<!-- style section for config css injection -->
<style>
body {
background-color: {{ .LightBackground }} !important;
}
.dark-mode {
--background: {{ .DarkBackground }} !important;
}
</style>
<!-- style section for custom css file injection -->
{{ if .CustomCSS }}
<style id="custom-css">
{{ .CustomCSS }}
</style>
{{ end }}
</head>
<body>
+103 -1
View File
@@ -1,5 +1,5 @@
<template>
<div class="image-ex-container" ref="container" @touchstart="touchStart" @touchmove="touchMove" @dblclick="zoomAuto"
<div class="image-ex-container" ref="container" @touchstart="touchStart" @touchmove="touchMove" @touchend="touchEnd" @dblclick="zoomAuto"
@mousedown="mousedownStart" @mousemove="mouseMove" @mouseup="mouseUp" @wheel="wheelMove">
<div v-if="!isLoaded">{{ $t('files.loading') }}</div>
@@ -46,6 +46,18 @@ export default {
maxScale: 4,
minScale: 0.25,
isTiff: false, // Determine if the image is a TIFF
// Swipe navigation properties
swipeStartTime: null,
swipeStartX: 0,
swipeStartY: 0,
swipeCurrentX: 0,
swipeCurrentY: 0,
isSwipeGesture: false,
hasStartedSwipe: false,
gestureDecided: false, // Track if we've made a decision about this gesture
swipeMinDistance: 150, // Minimum horizontal distance for swipe
swipeMaxTime: 500, // Maximum time for swipe in milliseconds
swipeMaxVerticalDistance: 50, // Maximum vertical movement to still be considered horizontal swipe
};
},
mounted() {
@@ -90,6 +102,7 @@ export default {
this.scale = 1; // Reset zoom level
this.position.relative = { x: 0, y: 0 }; // Reset position
this.showSpinner = true; // Show spinner while loading
this.resetSwipeTracking(); // Reset swipe tracking for new image
},
},
methods: {
@@ -164,6 +177,24 @@ export default {
this.lastX = null;
this.lastY = null;
this.lastTouchDistance = null;
// Initialize swipe tracking for single touch
if (event.targetTouches.length === 1) {
const touch = event.targetTouches[0];
this.swipeStartTime = Date.now();
this.swipeStartX = touch.pageX;
this.swipeStartY = touch.pageY;
this.swipeCurrentX = touch.pageX;
this.swipeCurrentY = touch.pageY;
this.isSwipeGesture = false;
this.hasStartedSwipe = false;
this.gestureDecided = false; // Reset decision for new touch
} else {
// Reset swipe tracking for multi-touch (zoom gestures)
this.resetSwipeTracking();
}
if (event.targetTouches.length < 2) {
setTimeout(() => {
this.touches = 0;
@@ -194,6 +225,39 @@ export default {
},
touchMove(event) {
event.preventDefault();
// Update current swipe position for single touch
if (event.targetTouches.length === 1) {
const touch = event.targetTouches[0];
this.swipeCurrentX = touch.pageX;
this.swipeCurrentY = touch.pageY;
// Only make gesture decision once per touch sequence
if (!this.gestureDecided) {
const deltaX = Math.abs(this.swipeCurrentX - this.swipeStartX);
const deltaY = Math.abs(this.swipeCurrentY - this.swipeStartY);
// Only decide after some meaningful movement
if (deltaX > 10 || deltaY > 10) {
this.gestureDecided = true; // Mark that we've made a decision
if (deltaX > deltaY * 2) {
// Horizontal movement is significantly more than vertical - it's a swipe
this.isSwipeGesture = true;
} else {
// Not horizontal enough - it's a pan gesture
this.isSwipeGesture = false;
}
}
}
// If we've decided it's a swipe gesture, don't do normal panning
if (this.gestureDecided && this.isSwipeGesture) {
return; // Block normal pan behavior for swipes
}
}
// Normal touch move logic for pan/zoom (only runs if not a swipe gesture)
if (this.lastX === null) {
this.lastX = event.targetTouches[0].pageX;
this.lastY = event.targetTouches[0].pageY;
@@ -250,6 +314,44 @@ export default {
pxStringToNumber(style) {
return +style.replace("px", "");
},
touchEnd(event) {
event.preventDefault();
// Only process swipe if it was a single touch and we detected a swipe gesture
if (this.isSwipeGesture && this.swipeStartTime) {
const swipeEndTime = Date.now();
const swipeDuration = swipeEndTime - this.swipeStartTime;
const deltaX = this.swipeCurrentX - this.swipeStartX;
const deltaY = Math.abs(this.swipeCurrentY - this.swipeStartY);
const absDelataX = Math.abs(deltaX);
// Check if swipe meets criteria: fast, horizontal, and long enough
if (
swipeDuration <= this.swipeMaxTime &&
absDelataX >= this.swipeMinDistance &&
deltaY <= this.swipeMaxVerticalDistance
) {
if (deltaX > 0) {
this.$emit('navigate-previous');
} else {
this.$emit('navigate-next');
}
}
}
// Reset swipe tracking
this.resetSwipeTracking();
},
resetSwipeTracking() {
this.swipeStartTime = null;
this.swipeStartX = 0;
this.swipeStartY = 0;
this.swipeCurrentX = 0;
this.swipeCurrentY = 0;
this.isSwipeGesture = false;
this.hasStartedSwipe = false;
this.gestureDecided = false; // Reset decision state
},
},
};
</script>
-2
View File
@@ -31,8 +31,6 @@ body.rtl #listingView {
}
#listingView .item {
background-color: #fff;
position: relative;
display: flex;
flex-wrap: nowrap;
color: #6f6f6f;
+3 -17
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "نسخ",
"copyMessage": "رجاء حدد المكان لنسخ ملفاتك فيه:",
"currentlyNavigating": "يتم الإنتقال حاليا إلى:",
"deleteMessageMultiple": "هل تريد بالتأكيد حذف {count} ملف؟",
"deleteMessageSingle": "هل تريد بالتأكيد حذف هذا الملف/المجلد؟",
"deleteTitle": "حذف الملفات",
@@ -164,11 +163,9 @@
"show": "عرض",
"size": "الحجم",
"upload": "التحميل",
"uploadMessage": "حدد خياراً للتحميل.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "هل أنت متأكد من رغبتك في حذف هذا المستخدم؟",
"filesSelected": "الملفات المحددة",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "كلمة مرور اختيارية",
"typeName": "النوع:",
"selected": "مختارة",
@@ -234,12 +231,7 @@
"passwordUpdated": "تم تغيير كلمة المرور",
"path": "المسار",
"permissions": {
"create": "Create files and directories",
"delete": "Delete files and directories",
"download": "Download",
"execute": "Execute commands",
"modify": "Edit files",
"rename": "Rename or move files and directories",
"share": "Share files",
"admin": "المدير",
"api": "إنشاء مفاتيح API طويلة الأمد وإدارتها",
@@ -274,9 +266,6 @@
"modifyOtherUser": "تعديل المستخدم:",
"modifyCurrentUser": "تعديل المستخدم الحالي",
"themeColor": "لون السمة",
"disableOfficePreviewDescription": "قائمة مفصولة بمسافات لامتدادات الملفات لتعطيل عارض OnlyOffice لها. (على سبيل المثال، \".txt .html\").",
"disableOfficePreview": "تعطيل عارض Onlyoffice لامتدادات ملفات معينة",
"filePreviewOptions": "خيارات معاينة الملف",
"listingOptions": "خيارات الإدراج",
"emptyGlobal": "لا توجد خيارات تهيئة عامة حاليًا، يمكنك تحرير yaml التكوين لضبط إعدادات النظام.",
"scopes": "تحديد المصادر المسموح بها ونطاق المستخدم داخلها",
@@ -289,7 +278,6 @@
"userScopeGenerationPlaceholder": "سيتم إنشاء النطاق تلقائيًا",
"createUserHomeDirectory": "إنشاء الدليل الرئيسي للمستخدم",
"api": "مفاتيح واجهة برمجة التطبيقات",
"setDateFormat": "تعيين تنسيق التاريخ الدقيق",
"shareDeleted": "تم حذف المشاركة",
"loginMethodDescription": "طريقة تسجيل الدخول المسموح بها للمستخدم.",
"userNotAdmin": "المستخدم ليس مسؤولاً",
@@ -298,10 +286,6 @@
"passwordsDoNotMatch": "كلمات المرور غير متطابقة",
"loginMethod": "طريقة تسجيل الدخول",
"shareSettings": "مشاركة الإعدادات",
"disableOfficeEditorDescription": "قائمة مفصولة بمسافات لامتدادات الملفات لتعطيل عارض OnlyOffice لها. (على سبيل المثال، \".txt .html\").",
"disableOfficeEditor": "تعطيل عارض المكتب لامتدادات ملفات معينة",
"disableOfficePreviews": "تعطيل معاينات المكتب لامتدادات ملفات معينة",
"disableOfficePreviewsDescription": "قائمة مفصولة بمسافة من امتدادات الملفات لتعطيل المعاينات المكتبية لها. (على سبيل المثال، \".txt .html\").",
"adminOptions": "خيارات المستخدم المسؤول",
"shareDuration": "تنتهي صلاحيتها",
"searchOptions": "خيارات البحث"
@@ -442,7 +426,9 @@
"disablePreviewExt": "تعطيل معاينات الملفات المكتبية لملحقات ملفات معينة",
"disablePreviewExtDescription": "قائمة مفصولة بمسافات لامتدادات الملفات لتعطيل معاينات ملفات المكتب (على سبيل المثال، '.docx .pptx').",
"disableOfficeEditorDescription": "قائمة مفصولة بمسافات لامتدادات الملفات لتعطيل محرر وعارض OnlyOffice لها. (على سبيل المثال، \".txt .html .pdf\").",
"disableOfficeEditor": "تعطيل عارض المكتب لامتدادات ملفات معينة"
"disableOfficeEditor": "تعطيل عارض المكتب لامتدادات ملفات معينة",
"customTheme": "سمة مخصصة",
"defaultThemeDescription": "افتراضي - السمة الافتراضية"
},
"colors": {
"red": "أحمر",
+3 -4
View File
@@ -142,7 +142,6 @@
"prompts": {
"copy": "Kopírovat",
"copyMessage": "Vyberte místo, kam chcete soubory kopírovat:",
"currentlyNavigating": "Aktuálně procházíte:",
"deleteMessageMultiple": "Opravdu chcete smazat {count} soubor(ů)?",
"deleteMessageSingle": "Opravdu chcete smazat tento soubor/složku?",
"deleteMessageShare": "Opravdu chcete smazat toto sdílení: {path} ?",
@@ -174,8 +173,6 @@
"show": "Zobrazit",
"size": "Velikost",
"upload": "Nahrát",
"uploadFiles": "Nahrávám {files} souborů...",
"uploadMessage": "Vyberte možnost pro nahrání.",
"optionalPassword": "Volitelné heslo",
"typeName": "Typ:",
"deleted": "Úspěšně smazáno!",
@@ -246,7 +243,9 @@
"disablePreviewExt": "Zakázat náhledy kancelářských souborů pro určité přípony souborů",
"disablePreviewExtDescription": "Seznam přípon souborů oddělených mezerou, pro které chcete zakázat náhledy kancelářských souborů (např. '.docx .pptx').",
"disableOfficeEditorDescription": "Seznam přípon souborů oddělených mezerou, pro které se má vypnout editor a prohlížeč OnlyOffice. (např. '.txt .html .pdf').",
"disableOfficeEditor": "Zakázat editor a prohlížeč Office pro určité přípony souborů a vrátit se k výchozímu prohlížeči/editoru, velmi užitečné pro soubory pdf a txt."
"disableOfficeEditor": "Zakázat editor a prohlížeč Office pro určité přípony souborů a vrátit se k výchozímu prohlížeči/editoru, velmi užitečné pro soubory pdf a txt.",
"customTheme": "Vlastní téma",
"defaultThemeDescription": "default - Výchozí téma"
},
"settings": {
"enterPassword": "Zadejte heslo",
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Kopieren",
"copyMessage": "Wählen Sie einen Zielort zum Kopieren:",
"currentlyNavigating": "Aktueller Ort:",
"deleteMessageMultiple": "Sind Sie sicher, dass Sie {count} Datei(en) löschen möchten?",
"deleteMessageSingle": "Sind Sie sicher, dass Sie diesen Ordner/diese Datei löschen möchten?",
"deleteMessageShare": "Sind Sie sicher, dass Sie diese Freigabe löschen möchten ({path})?",
@@ -165,8 +164,6 @@
"show": "Anzeigen",
"size": "Größe",
"upload": "Hochladen",
"uploadFiles": "Hochladen von {files} Dateien...",
"uploadMessage": "Wählen Sie eine Hochladen-Methode",
"optionalPassword": "Optionales Kennwort",
"deleteUserMessage": "Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?",
"filesSelected": "ausgewählte Dateien",
@@ -238,12 +235,7 @@
"passwordUpdated": "Kennwort aktualisiert!",
"path": "Pfad",
"permissions": {
"create": "Dateien und Ordner erstellen",
"delete": "Dateien und Ordner löschen",
"download": "Download",
"execute": "Befehle ausführen",
"modify": "Dateien bearbeiten",
"rename": "Umbenennen oder Verschieben von Dateien oder Ordnern",
"share": "Datei teilen",
"admin": "Verwalter",
"api": "Erstellen und Verwalten von API-Schlüsseln mit langer Lebensdauer",
@@ -257,7 +249,6 @@
"rules": "Regeln",
"rulesHelp": "Hier können Sie erlaubte und verbotene Aktionen für einen einzelnen Benutzer festlegen. Blockierte Dateien werden nicht gelistet und sind für den Nutzer nicht erreichbar. Reguläre Ausdrücke (Regex) und Pfade relativ zum Benutzerordner werden unterstützt. \n",
"scope": "Scope",
"setDateFormat": "Exaktes Datumsformat setzen",
"settingsUpdated": "Einstellungen aktualisiert!",
"shareManagement": "Freigaben verwalten",
"shareDeleted": "Freigabe gelöscht!",
@@ -280,9 +271,6 @@
"modifyOtherUser": "Benutzer ändern:",
"modifyCurrentUser": "Aktuellen Benutzer ändern",
"themeColor": "Designfarbe",
"disableOfficePreviewDescription": "Eine durch Leerzeichen getrennte Liste von Dateierweiterungen, für die der OnlyOffice-Viewer deaktiviert werden soll. (z. B. '.txt .html').",
"disableOfficePreview": "Onlyoffice-Viewer für bestimmte Dateierweiterungen deaktivieren",
"filePreviewOptions": "Optionen für die Dateivorschau",
"listingOptions": "Auflistung der Optionen",
"emptyGlobal": "Derzeit gibt es keine globalen Konfigurationsoptionen. Sie können die Konfigurations-Yaml bearbeiten, um die Systemeinstellungen anzupassen.",
"scopes": "Definition der zulässigen Quellen und des Benutzerbereichs innerhalb dieser Quellen",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Office-Dateivorschau für bestimmte Dateierweiterungen deaktivieren",
"disablePreviewExtDescription": "Eine durch Leerzeichen getrennte Liste von Dateierweiterungen, für die die Office-Dateivorschau deaktiviert werden soll (z. B. '.docx .pptx').",
"disableOfficeEditorDescription": "Eine durch Leerzeichen getrennte Liste von Dateierweiterungen, für die der Editor und der Viewer von OnlyOffice deaktiviert werden sollen. (z. B. '.txt .html .pdf').",
"disableOfficeEditor": "Office Viewer für bestimmte Dateierweiterungen deaktivieren"
"disableOfficeEditor": "Office Viewer für bestimmte Dateierweiterungen deaktivieren",
"customTheme": "Benutzerdefiniertes Thema",
"defaultThemeDescription": "default - Das Standardthema"
}
}
+3 -13
View File
@@ -167,10 +167,7 @@
"show": "Εμφάνιση",
"size": "Μέγεθος",
"upload": "Μεταφόρτωση",
"uploadFiles": "Μεταφόρτωση {files} αρχείων…",
"uploadMessage": "Επιλέξτε μια επιλογή για τη μεταφόρτωση.",
"optionalPassword": "Προαιρετικός κωδικός πρόσβασης",
"currentlyNavigating": "Αυτή τη στιγμή πλοηγείστε στο:",
"deleteUserMessage": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτόν τον χρήστη;",
"filesSelected": "επιλεγμένα αρχεία",
"typeName": "Τύπος:",
@@ -244,12 +241,7 @@
"passwordUpdated": "Ο κωδικός πρόσβασης ενημερώθηκε!",
"path": "Διαδρομή",
"permissions": {
"create": "Δημιουργία αρχείων και φακέλων",
"delete": "Διαγραφή αρχείων και φακέλων",
"download": "Λήψη",
"execute": "Εκτέλεση εντολών",
"modify": "Επεξεργασία αρχείων",
"rename": "Μετονομασία ή μετακίνηση αρχείων και φακέλων",
"share": "Κοινοποίηση αρχείων",
"admin": "Διαχειριστής",
"api": "Δημιουργία και διαχείριση κλειδιών API μακράς διάρκειας ζωής",
@@ -263,7 +255,6 @@
"rules": "Κανόνες",
"rulesHelp": "Εδώ μπορείτε να ορίσετε ένα σύνολο κανόνων που επιτρέπουν και απαγορεύουν διάφορες λειτουργίες για τον συγκεκριμένο χρήστη. Τα αποκλεισμένα αρχεία δεν θα εμφανίζονται στα περιεχόμενα των αντίστοιχων φακέλων και δεν θα είναι προσβάσιμα από τον χρήστη. Υποστηρίζονται εκφράσεις regex και διαδρομές σχετικές με την εμβέλεια αρχείων των χρηστών.\n",
"scope": "Εμβέλεια",
"setDateFormat": "Ορισμός ακριβούς μορφής ημερομηνίας",
"settingsUpdated": "Οι ρυθμίσεις ενημερώθηκαν!",
"shareManagement": "Διαχείριση κοινοποίησης",
"shareDeleted": "Η κοινοποίηση διαγράφηκε!",
@@ -286,9 +277,6 @@
"modifyOtherUser": "Τροποποίηση χρήστη:",
"modifyCurrentUser": "Τροποποίηση τρέχοντος χρήστη",
"themeColor": "Χρώμα θέματος",
"disableOfficePreviewDescription": "Ένας κατάλογος επεκτάσεων αρχείων με διαχωρισμό διαστήματος για την απενεργοποίηση της προβολής OnlyOffice. (π.χ. '.txt .html').",
"disableOfficePreview": "Απενεργοποίηση της προβολής onlyoffice για ορισμένες επεκτάσεις αρχείων",
"filePreviewOptions": "Επιλογές προεπισκόπησης αρχείων",
"listingOptions": "Επιλογές καταχώρισης",
"emptyGlobal": "Προς το παρόν δεν υπάρχουν καθολικές επιλογές ρυθμίσεων, Μπορείτε να επεξεργαστείτε το yaml ρυθμίσεων για να προσαρμόσετε τις ρυθμίσεις του συστήματος.",
"scopes": "Καθορισμός των επιτρεπόμενων πηγών και του πεδίου εφαρμογής του χρήστη σε αυτές",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Απενεργοποίηση προεπισκοπήσεων αρχείων γραφείου για ορισμένες επεκτάσεις αρχείων",
"disablePreviewExtDescription": "Μια λίστα επεκτάσεων αρχείων με διαχωρισμό διαστήματος για την απενεργοποίηση της προεπισκόπησης αρχείων γραφείου (π.χ. '.docx .pptx').",
"disableOfficeEditorDescription": "Μια λίστα επεκτάσεων αρχείων με διαχωρισμό διαστήματος για την απενεργοποίηση του επεξεργαστή και της προβολής του OnlyOffice. (π.χ. '.txt .html .pdf').",
"disableOfficeEditor": "Απενεργοποίηση της προβολής γραφείου για ορισμένες επεκτάσεις αρχείων"
"disableOfficeEditor": "Απενεργοποίηση της προβολής γραφείου για ορισμένες επεκτάσεις αρχείων",
"customTheme": "Προσαρμοσμένο θέμα",
"defaultThemeDescription": "default - Το προεπιλεγμένο θέμα"
}
}
+2
View File
@@ -199,6 +199,8 @@
"helpText2": "The index: Search utilizes the index which automatically gets updated on the configured interval (default: 5 minutes). Searching when the program has just started may result in incomplete results."
},
"profileSettings": {
"customTheme": "Custom Theme",
"defaultThemeDescription": "default - The default theme",
"setDateFormat": "Set exact date format",
"showHiddenFiles": "Show hidden files",
"showHiddenFilesDescription": "Show hidden files in listing (e.g. .thumbnails, ProgramData), but they are still manually accessible if configured to be indexed.",
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Copiar",
"copyMessage": "Elige el lugar donde quieres copiar tus archivos:",
"currentlyNavigating": "Actualmente estás en:",
"deleteMessageMultiple": "¿Estás seguro que quieres eliminar {count} archivo(s)?",
"deleteMessageSingle": "¿Estás seguro que quieres eliminar este archivo/carpeta?",
"deleteMessageShare": "¿Está seguro de que quiere eliminar este recurso compartido({path})?",
@@ -165,8 +164,6 @@
"show": "Mostrar",
"size": "Tamaño",
"upload": "Subir",
"uploadFiles": "Subiendo {files} archivos...",
"uploadMessage": "Seleccione una opción para subir.",
"optionalPassword": "Contraseña opcional",
"deleteUserMessage": "¿Está seguro de que desea eliminar este usuario?",
"filesSelected": "archivos seleccionados",
@@ -238,12 +235,7 @@
"passwordUpdated": "¡Contraseña actualizada!",
"path": "Ruta",
"permissions": {
"create": "Crear ficheros y directorios",
"delete": "Eliminar ficheros y directorios",
"download": "Descargar",
"execute": "Executar comandos",
"modify": "Editar ficheros",
"rename": "Renombrar o mover ficheros y directorios",
"share": "Compartir ficheros",
"admin": "Administrador",
"api": "Crear y gestionar claves API de larga duración",
@@ -257,7 +249,6 @@
"rules": "Reglas",
"rulesHelp": "Aquí puedes definir un conjunto de reglas de permisos para este usuario específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.\n",
"scope": "Raíz",
"setDateFormat": "Establecer el formato exacto de la fecha",
"settingsUpdated": "¡Ajustes actualizados!",
"shareManagement": "Gestión Compartida",
"shareDeleted": "¡Recurso compartido eliminado!",
@@ -280,9 +271,6 @@
"modifyOtherUser": "Modificar usuario:",
"modifyCurrentUser": "Modificar el usuario actual",
"themeColor": "Tema Color",
"disableOfficePreviewDescription": "Una lista separada por espacios de las extensiones de archivo para las que desea desactivar el visor de OnlyOffice. (por ejemplo, '.txt .html').",
"disableOfficePreview": "Desactivar onlyoffice viewer para determinadas extensiones de archivo",
"filePreviewOptions": "Opciones de previsualización de archivos",
"listingOptions": "Opciones de listado",
"emptyGlobal": "Actualmente no hay opciones de configuración global, puede editar el yaml de configuración para ajustar la configuración del sistema.",
"UserManagement": "Gestión de usuarios",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Desactivar la vista previa de archivos de Office para determinadas extensiones de archivo",
"disablePreviewExtDescription": "Una lista separada por espacios de las extensiones de archivo para las que se desactivará la vista previa de los archivos de Office (por ejemplo, '.docx .pptx').",
"disableOfficeEditorDescription": "Una lista separada por espacios de las extensiones de archivo para las que desea desactivar el editor y el visor de OnlyOffice. (por ejemplo, '.txt .html .pdf').",
"disableOfficeEditor": "Desactivar el visor de office para determinadas extensiones de archivo"
"disableOfficeEditor": "Desactivar el visor de office para determinadas extensiones de archivo",
"customTheme": "Tema personalizado",
"defaultThemeDescription": "default - El tema por defecto"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Copier",
"copyMessage": "Choisissez l'emplacement où copier la sélection :",
"currentlyNavigating": "Dossier courant :",
"deleteMessageMultiple": "Êtes-vous sûr de vouloir supprimer ces {count} élément(s) ?",
"deleteMessageSingle": "Êtes-vous sûr de vouloir supprimer cet élément ?",
"deleteMessageShare": "Êtes-vous sûr de vouloir supprimer ce partage ({path}) ?",
@@ -165,8 +164,6 @@
"show": "Montrer",
"size": "Taille",
"upload": "Importer",
"uploadFiles": "Importation de {files} fichiers...",
"uploadMessage": "Sélectionnez une option d'import.",
"optionalPassword": "Mot de passe optionnel",
"deleteUserMessage": "Êtes-vous sûr de vouloir supprimer cet utilisateur ?",
"filesSelected": "fichiers sélectionnés",
@@ -235,12 +232,7 @@
"passwordUpdated": "Mot de passe mis à jour !",
"path": "Chemin",
"permissions": {
"create": "Créer des fichiers et des dossiers",
"delete": "Supprimer des fichiers et des dossiers",
"download": "Télécharger",
"execute": "Exécuter des commandes",
"modify": "Modifier des fichiers",
"rename": "Renommer ou déplacer des fichiers ou des dossiers",
"share": "Partager des fichiers",
"admin": "Administrateur",
"api": "Créer et gérer des clés API à longue durée de vie",
@@ -254,7 +246,6 @@
"rules": "Règles",
"rulesHelp": "Vous pouvez définir ici un ensemble de règles pour cet utilisateur. Les fichiers bloqués ne seront pas affichés et ne seront pas accessibles par l'utilisateur. Les expressions régulières sont supportées et les chemins d'accès sont relatifs par rapport au dossier de l'utilisateur.\n",
"scope": "Portée du dossier utilisateur",
"setDateFormat": "Définir le format de la date",
"settingsUpdated": "Les paramètres ont été mis à jour !",
"shareManagement": "Gestion des partages",
"shareDeleted": "Partage supprimé !",
@@ -277,9 +268,6 @@
"modifyOtherUser": "Modifier l'utilisateur :",
"modifyCurrentUser": "Modifier l'utilisateur actuel",
"themeColor": "Couleur du thème",
"disableOfficePreviewDescription": "Une liste d'extensions de fichiers séparées par des espaces pour lesquelles le visualisateur OnlyOffice doit être désactivé. (par exemple, '.txt .html').",
"disableOfficePreview": "Désactiver la visionneuse d'Office pour certaines extensions de fichiers",
"filePreviewOptions": "Options de prévisualisation des fichiers",
"listingOptions": "Options d'inscription",
"emptyGlobal": "Actuellement, il n'y a pas d'options de configuration globale. Vous pouvez éditer le fichier de configuration yaml pour ajuster les paramètres du système.",
"UserManagement": "Gestion des utilisateurs",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Désactiver les aperçus de fichiers Office pour certaines extensions de fichiers",
"disablePreviewExtDescription": "Une liste d'extensions de fichiers séparées par des espaces pour lesquelles les aperçus de fichiers Office doivent être désactivés (par exemple, '.docx .pptx').",
"disableOfficeEditorDescription": "Une liste d'extensions de fichiers séparées par des espaces pour lesquelles l'éditeur et la visionneuse OnlyOffice doivent être désactivés. (par exemple, '.txt .html .pdf').",
"disableOfficeEditor": "Désactiver la visionneuse d'office pour certaines extensions de fichiers"
"disableOfficeEditor": "Désactiver la visionneuse d'office pour certaines extensions de fichiers",
"customTheme": "Thème personnalisé",
"defaultThemeDescription": "default - Le thème par défaut"
}
}
+3 -10
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "העתק",
"copyMessage": "בחר לאן להעתיק את הקבצים:",
"currentlyNavigating": "כרגע מנווט ב:",
"deleteMessageMultiple": "האם אתה בטוח שברצונך למחוק {count} קבצים?",
"deleteMessageSingle": "האם אתה בטוח שברצונך למחוק את הקובץ או התקייה?",
"deleteMessageShare": "האם אתה בטוח שברצונך למחוק את השיתוף הזה?({path})?",
@@ -165,8 +164,6 @@
"show": "הצג",
"size": "גודל",
"upload": "העלאה",
"uploadFiles": "מעלה {files} קבצים...",
"uploadMessage": "בחר אפשרות העלאה.",
"optionalPassword": "סיסמא אופציונלית",
"deleteUserMessage": "האם אתה בטוח שברצונך למחוק משתמש זה?",
"selected": "נבחר",
@@ -236,12 +233,7 @@
"passwordUpdated": "הסיסמא עודכנה!",
"path": "נתיב",
"permissions": {
"create": "יצירת קבצים ותקיות",
"delete": "מחיקת קבצים ותקיות",
"download": "הורדת קבצים ותקיות",
"execute": "ביצוע פקודות",
"modify": "עריכת קבצים קבצים",
"rename": "שינוי שם או העברת קבצים ותקיות",
"share": "שיתוף קבצים",
"admin": "מנהל",
"api": "יצירת מפתחות API ארוכי טווח וניהולם",
@@ -255,7 +247,6 @@
"rules": "חוקים",
"rulesHelp": "כאן אתה יכול להגדיר רשימה של כללים למשתמש ספציפי, רשימה שחורה ולבנה. הקבצים החסומים לא יופיעו ברשימת הקבצים ולא יהיו נגישים למשתמש. יש תמיכה בנתיבים (ביחס לתקייה הראשית של המשתמש), וגם בביטוי רגולרי.\n",
"scope": "תחום",
"setDateFormat": "הגדר פורמט תאריך",
"settingsUpdated": "ההגדרות עודכנו!",
"shareManagement": "ניהול שיתוף",
"shareDeleted": "שיתוף נמחק!",
@@ -443,6 +434,8 @@
"disablePreviewExt": "השבת תצוגה מקדימה של קבצי Office עבור סיומות קבצים מסוימות",
"disablePreviewExtDescription": "רשימה מופרדת ברווחים של סיומות קבצים שצריך להשבית את תצוגה מקדימה של קבצי Office עבורן (לדוגמה, '.docx .pptx').",
"disableOfficeEditorDescription": "רשימה מופרדת ברווחים של סיומות קבצים עבורן יש להשבית את עורך ומציג OnlyOffice. (לדוגמה, '.txt .html .pdf').",
"disableOfficeEditor": "השבת תצוגת Office עבור סיומות קבצים מסוימות"
"disableOfficeEditor": "השבת תצוגת Office עבור סיומות קבצים מסוימות",
"customTheme": "ערכת נושא מותאמת אישית",
"defaultThemeDescription": "ברירת מחדל - ערכת הנושא המוגדרת כברירת מחדל"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Másolása",
"copyMessage": "Válassza ki a másolás célját:",
"currentlyNavigating": "Jelenlegi helyzet:",
"deleteMessageMultiple": "Biztosan törölni szeretne {count} fájlt?",
"deleteMessageSingle": "Biztosan törölni szeretné ezt a fájl vagy mappát?",
"deleteMessageShare": "Biztosan törölni szeretné ezt a megosztást ({path})?",
@@ -165,8 +164,6 @@
"show": "Megjelenítés",
"size": "Méret",
"upload": "Feltöltés",
"uploadFiles": "{files} fájl feltöltése…",
"uploadMessage": "Válasszon egy feltöltési módot.",
"optionalPassword": "Választható jelszó",
"deleteUserMessage": "Biztos, hogy törölni szeretné ezt a felhasználót?",
"filesSelected": "kiválasztott fájlok",
@@ -236,12 +233,7 @@
"passwordUpdated": "Jelszó frissítve!",
"path": "Elérési útvonal",
"permissions": {
"create": "Fájlok és mappák létrehozása",
"delete": "Fájlok és mappák törlése",
"download": "Letöltése",
"execute": "Parancsok futtatása",
"modify": "Fájlok szerkesztése",
"rename": "Fájlok és mappák átnevezése vagy mozgatása",
"share": "Fájlok megosztása",
"admin": "Adminisztrátor",
"api": "Hosszú élettartamú API-kulcsok létrehozása és kezelése",
@@ -255,7 +247,6 @@
"rules": "Szabályok",
"rulesHelp": "Meghatározhat egy sor engedélyezési és tiltási szabályt az adott felhasználó számára. A letiltott fájlok nem jelennek meg a listákban, és nem lesznek elérhetőek a felhasználó számára. A reguláris kifejezések és a felhasználói hatókörhöz viszonyított elérési utak támogatottak.\n",
"scope": "Hatókör",
"setDateFormat": "Pontos dátumformátum beállítása",
"settingsUpdated": "Beállítások frissítve!",
"shareManagement": "Megosztáskezelés",
"shareDeleted": "Megosztás törölve!",
@@ -278,9 +269,6 @@
"modifyOtherUser": "Felhasználó módosítása:",
"modifyCurrentUser": "Jelenlegi felhasználó módosítása",
"themeColor": "Téma színe",
"disableOfficePreviewDescription": "Azon fájlkiterjesztések szóközzel elválasztott listája, amelyek esetében az OnlyOffice megjelenítőjét le kell tiltani. (pl. '.txt .html').",
"disableOfficePreview": "Letiltja a onlyoffice viewer-t bizonyos fájlkiterjesztések esetén",
"filePreviewOptions": "Fájl előnézeti beállítások",
"listingOptions": "Listázási lehetőségek",
"emptyGlobal": "Jelenleg nincsenek globális konfigurációs beállítások, A rendszerbeállítások módosításához szerkesztheti a konfigurációs yaml-t.",
"scopes": "Az engedélyezett források és az azokon belüli felhasználói hatókörök meghatározása",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Office-fájlok előnézetének letiltása bizonyos fájlkiterjesztések esetében",
"disablePreviewExtDescription": "Az irodai fájlok előnézetének letiltására szolgáló fájlkiterjesztések szóközzel elválasztott listája (pl. '.docx .pptx').",
"disableOfficeEditorDescription": "Az OnlyOffice szerkesztő és megjelenítő letiltandó fájlkiterjesztések szóközzel elválasztott listája. (pl. \".txt .html .pdf\").",
"disableOfficeEditor": "Bizonyos fájlkiterjesztéseknél letilthatja az Office Viewer-t"
"disableOfficeEditor": "Bizonyos fájlkiterjesztéseknél letilthatja az Office Viewer-t",
"customTheme": "Egyedi téma",
"defaultThemeDescription": "default - Az alapértelmezett téma"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Copia",
"copyMessage": "Seleziona la cartella in cui copiare i file:",
"currentlyNavigating": "Attualmente navigando su:",
"deleteMessageMultiple": "Sei sicuro di voler eliminare {count} file?",
"deleteMessageSingle": "Sei sicuro di voler eliminare questo file/cartella?",
"deleteTitle": "Elimina",
@@ -164,11 +163,9 @@
"show": "Mostra",
"size": "Dimensione",
"upload": "Carica",
"uploadMessage": "Seleziona un'opzione per il caricamento.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "Siete sicuri di voler eliminare questo utente?",
"filesSelected": "file selezionati",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "Password opzionale",
"typeName": "Tipo:",
"selected": "selezionato",
@@ -234,12 +231,7 @@
"passwordUpdated": "Password aggiornata!",
"path": "Percorso",
"permissions": {
"create": "Creare file e cartelle",
"delete": "Eliminare file e cartelle",
"download": "Scaricare",
"execute": "Eseguire comandi",
"modify": "Modificare file",
"rename": "Rinominare o spostare file e cartelle",
"share": "Condividere file",
"admin": "Amministratore",
"api": "Creare e gestire chiavi API a lunga durata",
@@ -274,9 +266,6 @@
"modifyOtherUser": "Modificare l'utente:",
"modifyCurrentUser": "Modificare l'utente corrente",
"themeColor": "Colore del tema",
"disableOfficePreviewDescription": "Un elenco separato da spazi di estensioni di file per cui disabilitare il visualizzatore di OnlyOffice. (ad esempio, '.txt .html').",
"disableOfficePreview": "Disabilitare il visualizzatore onlyoffice per alcune estensioni di file",
"filePreviewOptions": "Opzioni di anteprima dei file",
"listingOptions": "Opzioni di quotazione",
"emptyGlobal": "Attualmente non ci sono opzioni di configurazione globale, ma è possibile modificare lo yaml di configurazione per regolare le impostazioni del sistema.",
"scopes": "Definire le fonti consentite e l'ambito dell'utente all'interno di esse",
@@ -289,7 +278,6 @@
"userScopeGenerationPlaceholder": "L'ambito sarà generato automaticamente",
"createUserHomeDirectory": "Creare la directory home dell'utente",
"api": "Chiavi API",
"setDateFormat": "Impostare il formato esatto della data",
"shareDeleted": "Condividi cancellato!",
"loginMethodDescription": "metodo di accesso consentito per l'utente.",
"userNotAdmin": "L'utente non è un amministratore",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Disattivare le anteprime dei file di Office per alcune estensioni di file",
"disablePreviewExtDescription": "Un elenco separato da spazi di estensioni di file per cui disabilitare le anteprime dei file di Office (ad esempio, '.docx .pptx').",
"disableOfficeEditorDescription": "Un elenco separato da spazi di estensioni di file per cui disabilitare l'editor e il visualizzatore di OnlyOffice. (ad esempio, '.txt .html .pdf').",
"disableOfficeEditor": "Disattivare il visualizzatore di Office per alcune estensioni di file"
"disableOfficeEditor": "Disattivare il visualizzatore di Office per alcune estensioni di file",
"customTheme": "Tema personalizzato",
"defaultThemeDescription": "default - Il tema predefinito"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "コピー",
"copyMessage": "コピーの目標ディレクトリを選択してください:",
"currentlyNavigating": "現在閲覧しているディレクトリ:",
"deleteMessageMultiple": "{count} つのファイルを本当に削除してよろしいですか。",
"deleteMessageSingle": "このファイル/フォルダを本当に削除してよろしいですか。",
"deleteTitle": "ファイルを削除",
@@ -164,11 +163,9 @@
"show": "表示",
"size": "サイズ",
"upload": "アップロード",
"uploadMessage": "アップロードするオプションを選択します。",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "本当にこのユーザーを削除しますか?",
"filesSelected": "選択されたファイル",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "任意のパスワード",
"typeName": "タイプ",
"selected": "選ばれた",
@@ -234,12 +231,7 @@
"passwordUpdated": "パスワードは更新されました!",
"path": "パス",
"permissions": {
"create": "Create files and directories",
"delete": "Delete files and directories",
"download": "Download",
"execute": "Execute commands",
"modify": "Edit files",
"rename": "Rename or move files and directories",
"share": "Share files",
"admin": "管理者",
"api": "長寿命のAPIキーの作成と管理",
@@ -274,9 +266,6 @@
"modifyOtherUser": "ユーザーを変更する:",
"modifyCurrentUser": "現在のユーザーを変更する",
"themeColor": "テーマカラー",
"disableOfficePreviewDescription": "OnlyOffice ビューアを無効にするファイル拡張子をスペース区切りで指定します。(例: '.txt .html')。",
"disableOfficePreview": "特定のファイル拡張子でonlyofficeビューアを無効にする",
"filePreviewOptions": "ファイルプレビューオプション",
"listingOptions": "リストオプション",
"emptyGlobal": "現在のところ、グローバルな設定オプションはありませんが、コンフィギュレーションyamlを編集してシステム設定を調整することができます。",
"scopes": "許可されるソースとその中のユーザースコープを定義する",
@@ -289,7 +278,6 @@
"userScopeGenerationPlaceholder": "スコープは自動生成されます。",
"createUserHomeDirectory": "ユーザーホームディレクトリの作成",
"api": "APIキー",
"setDateFormat": "正確な日付書式を設定する",
"shareDeleted": "削除されたシェア",
"loginMethodDescription": "ユーザーに許可されたログイン方法。",
"userNotAdmin": "ユーザーが管理者でない",
@@ -446,6 +434,8 @@
"disablePreviewExt": "特定のファイル拡張子でオフィスファイルのプレビューを無効にする",
"disablePreviewExtDescription": "オフィスファイルのプレビューを無効にするファイル拡張子をスペースで区切ったリスト (例: '.docx .pptx')。",
"disableOfficeEditorDescription": "OnlyOfficeエディタおよびビューアを無効にするファイル拡張子のスペース区切りリスト。(例: '.txt .html .pdf')。",
"disableOfficeEditor": "特定のファイル拡張子のオフィスビューアを無効にする"
"disableOfficeEditor": "特定のファイル拡張子のオフィスビューアを無効にする",
"customTheme": "カスタムテーマ",
"defaultThemeDescription": "default - デフォルトのテーマ"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "복사",
"copyMessage": "복사할 디렉토리:",
"currentlyNavigating": "현재 위치:",
"deleteMessageMultiple": "{count} 개의 파일을 삭제하시겠습니까?",
"deleteMessageSingle": "파일 혹은 디렉토리를 삭제하시겠습니까?",
"deleteTitle": "파일 삭제",
@@ -164,11 +163,9 @@
"show": "보기",
"size": "크기",
"upload": "업로드",
"uploadMessage": "업로드할 옵션을 선택합니다.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "이 사용자를 삭제하시겠습니까?",
"filesSelected": "선택한 파일",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "선택적 비밀번호",
"typeName": "유형:",
"selected": "선택",
@@ -234,12 +231,7 @@
"passwordUpdated": "비밀번호 수정 완료!",
"path": "경로",
"permissions": {
"create": "파일이나 디렉토리 생성하기",
"delete": "화일이나 디렉토리 삭제하기",
"download": "다운로드",
"execute": "명령 실행",
"modify": "파일 편집",
"rename": "파일 이름 변경 또는 디렉토리 이동",
"share": "파일 공유하기",
"admin": "관리자",
"api": "긴 수명의 API 키 생성 및 관리",
@@ -274,9 +266,6 @@
"modifyOtherUser": "사용자를 수정합니다:",
"modifyCurrentUser": "현재 사용자 수정",
"themeColor": "테마 색상",
"disableOfficePreviewDescription": "OnlyOffice 뷰어를 비활성화할 파일 확장명을 공백으로 구분한 목록입니다. (예: '.txt .html').",
"disableOfficePreview": "특정 파일 확장자에 대해서만오피스 뷰어 사용 안 함",
"filePreviewOptions": "파일 미리 보기 옵션",
"listingOptions": "리스팅 옵션",
"emptyGlobal": "현재 글로벌 설정 옵션은 없으며, 구성 yaml을 편집하여 시스템 설정을 조정할 수 있습니다.",
"scopes": "허용된 소스와 그 안에서 사용자 범위 정의하기",
@@ -289,7 +278,6 @@
"userScopeGenerationPlaceholder": "범위가 자동으로 생성됩니다.",
"createUserHomeDirectory": "사용자 홈 디렉터리 만들기",
"api": "API 키",
"setDateFormat": "정확한 날짜 형식 설정",
"shareDeleted": "공유 삭제됨!",
"loginMethodDescription": "사용자에게 허용된 로그인 방법을 설정합니다.",
"userNotAdmin": "사용자가 관리자가 아닙니다.",
@@ -446,6 +434,8 @@
"disablePreviewExt": "특정 파일 확장명에 대한 Office 파일 미리 보기 비활성화",
"disablePreviewExtDescription": "Office 파일 미리 보기를 사용하지 않도록 설정할 파일 확장명 목록(예: '.docx .pptx')을 공백으로 구분하여 표시합니다.",
"disableOfficeEditorDescription": "OnlyOffice 편집기 및 뷰어를 비활성화할 파일 확장명을 공백으로 구분한 목록입니다. (예: '.txt .html .pdf').",
"disableOfficeEditor": "특정 파일 확장자에 대해 Office 뷰어 사용 안 함"
"disableOfficeEditor": "특정 파일 확장자에 대해 Office 뷰어 사용 안 함",
"customTheme": "사용자 지정 테마",
"defaultThemeDescription": "default - 기본 테마"
}
}
+3 -9
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Kopiëren",
"copyMessage": "Kies een locatie om uw bestanden te kopiëren: ",
"currentlyNavigating": "Momenteel zoeken op: ",
"deleteMessageMultiple": "Weet u zeker dat u {count} bestand(en) wil verwijderen?",
"deleteMessageSingle": "Weet u zeker dat u dit bestand/map wil verwijderen?",
"deleteTitle": "Bestanden verwijderen",
@@ -164,12 +163,10 @@
"show": "Tonen",
"size": "Grootte",
"upload": "Uploaden",
"uploadMessage": "Selecteer een optie om te uploaden.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "Weet je zeker dat je deze gebruiker wilt verwijderen?",
"selected": "geselecteerd",
"filesSelected": "geselecteerde bestanden",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "Optioneel wachtwoord",
"typeName": "Type:",
"deleted": "Met succes verwijderd!",
@@ -234,12 +231,7 @@
"passwordUpdated": "Wachtwoord bijgewerkt!",
"path": "Pad",
"permissions": {
"create": "Bestanden en mappen aanmaken",
"delete": "Bestanden en mappen verwijderen",
"download": "Downloaden",
"execute": "Commando's uitvoeren",
"modify": "Bestanden aanpassen",
"rename": "Bestanden of mappen hernoemen of verplaatsen",
"share": "Bestanden delen",
"admin": "Beheerder",
"api": "Langlevende API-sleutels maken en beheren",
@@ -442,6 +434,8 @@
"disablePreviewExt": "Office-bestandsvoorvertoningen uitschakelen voor bepaalde bestandsextensies",
"disablePreviewExtDescription": "Een door spaties gescheiden lijst met bestandsextensies waarvoor Office-bestandsvoorvertoningen moeten worden uitgeschakeld (bijvoorbeeld '.docx .pptx').",
"disableOfficeEditorDescription": "Een door spaties gescheiden lijst met bestandsextensies waarvoor de OnlyOffice editor en viewer uitgeschakeld moeten worden. (bijv. '.txt .html .pdf').",
"disableOfficeEditor": "Office Viewer uitschakelen voor bepaalde bestandsextensies"
"disableOfficeEditor": "Office Viewer uitschakelen voor bepaalde bestandsextensies",
"customTheme": "Aangepast thema",
"defaultThemeDescription": "standaard - Het standaardthema"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Kopiuj",
"copyMessage": "Wybierz lokalizację do której mają być skopiowane wybrane pliki",
"currentlyNavigating": "Obecnie przeglądasz:",
"deleteMessageMultiple": "Czy jesteś pewien że chcesz usunąć {count} plik(ów)?",
"deleteMessageSingle": "Czy jesteś pewien, że chcesz usunąć ten plik/folder?",
"deleteTitle": "Usuń pliki",
@@ -164,11 +163,9 @@
"show": "Pokaż",
"size": "Rozmiar",
"upload": "Prześlij",
"uploadMessage": "Proszę wybrać metodę przesyłania",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "Czy na pewno chcesz usunąć tego użytkownika?",
"filesSelected": "wybrane pliki",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "Hasło opcjonalne",
"typeName": "Typ:",
"selected": "wybrany",
@@ -234,12 +231,7 @@
"passwordUpdated": "Hasło zostało zapisane!",
"path": "Ścieżka",
"permissions": {
"create": "Tworzenie plików i katalogów",
"delete": "Usuwanie plików i katalogów",
"download": "Pobieranie",
"execute": "Wykonywanie poleceń",
"modify": "Edycja plików",
"rename": "Zmiana nazw lub przenoszenie plików i katalogów",
"share": "Udostępnianie plików",
"admin": "Administrator",
"api": "Tworzenie i zarządzanie kluczami API o długiej żywotności",
@@ -274,9 +266,6 @@
"modifyOtherUser": "Modyfikacja użytkownika:",
"modifyCurrentUser": "Modyfikacja bieżącego użytkownika",
"themeColor": "Kolor motywu",
"disableOfficePreviewDescription": "Rozdzielana spacjami lista rozszerzeń plików, dla których przeglądarka OnlyOffice ma zostać wyłączona. (np. \".txt .html\").",
"disableOfficePreview": "Wyłącz przeglądarkę onlyoffice dla niektórych rozszerzeń plików",
"filePreviewOptions": "Opcje podglądu plików",
"listingOptions": "Opcje aukcji",
"emptyGlobal": "Obecnie nie ma globalnych opcji konfiguracyjnych, można edytować konfigurację yaml, aby dostosować ustawienia systemu.",
"scopes": "Definiowanie dozwolonych źródeł i zakresu użytkowników w ich obrębie",
@@ -289,7 +278,6 @@
"userScopeGenerationPlaceholder": "Zakres zostanie wygenerowany automatycznie",
"createUserHomeDirectory": "Tworzenie katalogu domowego użytkownika",
"api": "Klucze API",
"setDateFormat": "Ustaw dokładny format daty",
"shareDeleted": "Usunięto udostępnianie!",
"loginMethodDescription": "dozwolona metoda logowania dla użytkownika.",
"userNotAdmin": "Użytkownik nie jest administratorem",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Wyłącz podgląd plików pakietu Office dla niektórych rozszerzeń plików",
"disablePreviewExtDescription": "Rozdzielana spacjami lista rozszerzeń plików do wyłączenia podglądu plików biurowych (np. \".docx .pptx\").",
"disableOfficeEditorDescription": "Rozdzielana spacjami lista rozszerzeń plików, dla których edytor i przeglądarka OnlyOffice mają zostać wyłączone. (np. \".txt .html .pdf\").",
"disableOfficeEditor": "Wyłącz przeglądarkę Office dla niektórych rozszerzeń plików"
"disableOfficeEditor": "Wyłącz przeglądarkę Office dla niektórych rozszerzeń plików",
"customTheme": "Niestandardowy motyw",
"defaultThemeDescription": "default - domyślny motyw"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Copiar",
"copyMessage": "Escolha um lugar para copiar os arquivos:",
"currentlyNavigating": "Navegando em:",
"deleteMessageMultiple": "Deseja apagar {count} arquivo(s)?",
"deleteMessageSingle": "Deseja apagar esta pasta/arquivo?",
"deleteMessageShare": "Deseja apagar este compartilhamento ({path})?",
@@ -165,8 +164,6 @@
"show": "Mostrar",
"size": "Tamanho",
"upload": "Enviar",
"uploadFiles": "Enviando {files} arquivos...",
"uploadMessage": "Selecione uma opção para enviar.",
"optionalPassword": "Senha opcional",
"deleteUserMessage": "Tem certeza de que deseja excluir esse usuário?",
"filesSelected": "arquivos selecionados",
@@ -237,12 +234,7 @@
"passwordUpdated": "Senha atualizada!",
"path": "Caminho",
"permissions": {
"create": "Criar arquivos e diretórios",
"delete": "Apagar arquivos e diretórios",
"download": "Baixar",
"execute": "Executar comandos",
"modify": "Editar arquivos",
"rename": "Renomear ou mover arquivos e diretórios",
"share": "Compartilhar arquivos",
"admin": "Administrador",
"api": "Criar e gerenciar chaves de API de longa duração",
@@ -256,7 +248,6 @@
"rules": "Regras",
"rulesHelp": "Aqui você pode definir um conjunto de regras para permitir ou bloquear o acesso do usuário a determinados arquivos ou pastas. Os arquivos bloqueados não irão aparecer durante a navegação. Suportamos expressões regulares e os caminhos dos arquivos devem ser relativos à base do usuário.\n",
"scope": "Escopo",
"setDateFormat": "Definir formato exato de data",
"settingsUpdated": "Configurações atualizadas!",
"shareManagement": "Gerenciamento do compartilhamento",
"shareDeleted": "Compartilhamento apagado!",
@@ -279,9 +270,6 @@
"modifyOtherUser": "Modificar usuário:",
"modifyCurrentUser": "Modificar o usuário atual",
"themeColor": "Cor do tema",
"disableOfficePreviewDescription": "Uma lista de extensões de arquivo separada por espaços para desativar o visualizador do OnlyOffice. (por exemplo, '.txt .html').",
"disableOfficePreview": "Desativar o visualizador do onlyoffice para determinadas extensões de arquivo",
"filePreviewOptions": "Opções de visualização de arquivos",
"listingOptions": "Opções de listagem",
"emptyGlobal": "Atualmente, não há opções de configuração global. Você pode editar o yaml de configuração para ajustar as configurações do sistema.",
"scopes": "Definir fontes permitidas e o escopo do usuário dentro delas",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Desativar as visualizações prévias de arquivos do Office para determinadas extensões de arquivos",
"disablePreviewExtDescription": "Uma lista de extensões de arquivo separada por espaços para desativar as visualizações de arquivos do Office (por exemplo, '.docx .pptx').",
"disableOfficeEditorDescription": "Uma lista de extensões de arquivo separada por espaços para desativar o editor e o visualizador do OnlyOffice. (por exemplo, '.txt .html .pdf').",
"disableOfficeEditor": "Desativar o visualizador do Office para determinadas extensões de arquivo"
"disableOfficeEditor": "Desativar o visualizador do Office para determinadas extensões de arquivo",
"customTheme": "Tema personalizado",
"defaultThemeDescription": "default - O tema padrão"
}
}
+3 -9
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Copiar",
"copyMessage": "Escolha um lugar para onde copiar os ficheiros:",
"currentlyNavigating": "A navegar em:",
"deleteMessageMultiple": "Quer eliminar {count} ficheiro(s)?",
"deleteMessageSingle": "Quer eliminar esta pasta/ficheiro?",
"deleteTitle": "Eliminar ficheiros",
@@ -164,12 +163,10 @@
"show": "Mostrar",
"size": "Tamanho",
"upload": "Carregar",
"uploadMessage": "Selecione uma opção para carregar.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "Tem a certeza de que pretende apagar este utilizador?",
"selected": "selecionado",
"filesSelected": "ficheiros selecionados",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "Palavra-passe opcional",
"typeName": "Tipo:",
"deleted": "Eliminado com êxito!",
@@ -234,12 +231,7 @@
"passwordUpdated": "Palavra-passe atualizada!",
"path": "Caminho",
"permissions": {
"create": "Criar ficheiros e pastas",
"delete": "Eliminar ficheiros e pastas",
"download": "Descarregar",
"execute": "Executar comandos",
"modify": "Editar ficheiros",
"rename": "Alterar o nome ou mover ficheiros e pastas",
"share": "Partilhar ficheiros",
"admin": "Administrador",
"api": "Criar e gerir chaves de API de longa duração",
@@ -442,6 +434,8 @@
"disablePreviewExt": "Desativar as pré-visualizações de ficheiros do Office para determinadas extensões de ficheiros",
"disablePreviewExtDescription": "Uma lista de extensões de ficheiros, separada por espaços, para desativar as pré-visualizações de ficheiros do Office (por exemplo, '.docx .pptx').",
"disableOfficeEditorDescription": "Uma lista de extensões de ficheiros separada por espaços para desativar o editor e visualizador do OnlyOffice. (por exemplo, '.txt .html .pdf').",
"disableOfficeEditor": "Desativar o visualizador do Office para determinadas extensões de ficheiros"
"disableOfficeEditor": "Desativar o visualizador do Office para determinadas extensões de ficheiros",
"customTheme": "Tema personalizado",
"defaultThemeDescription": "default - O tema predefinido"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Copiază",
"copyMessage": "Alege unde vrei să copiezi fișierele:",
"currentlyNavigating": "Navigare curentă în:",
"deleteMessageMultiple": "Ești sigur că vrei să ștergi aceste {count} fișier(e)?",
"deleteMessageSingle": "Ești sigur că vrei să ștergi acest fișier/director?",
"deleteTitle": "Șterge fișiere",
@@ -164,11 +163,9 @@
"show": "Arată",
"size": "Dimensiune",
"upload": "Încărcare",
"uploadMessage": "Selectați o opțiune pentru încărcare.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "Sunteți sigur că doriți să ștergeți acest utilizator?",
"filesSelected": "fișiere selectate",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "Parolă opțională",
"typeName": "Tip:",
"selected": "selectat",
@@ -234,12 +231,7 @@
"passwordUpdated": "Parola actualizată!",
"path": "Calea",
"permissions": {
"create": "Crează fișiere și directoare",
"delete": "Șterge fișiere și directoare",
"download": "Descarcă",
"execute": "Execută comenzi",
"modify": "Modifică fișiere",
"rename": "Redenumește sau mută fișiere și directoare",
"share": "Distribuie fișiere",
"admin": "Administrator",
"api": "Crearea și gestionarea cheilor API cu durată lungă de viață",
@@ -274,9 +266,6 @@
"modifyOtherUser": "Modificați utilizatorul:",
"modifyCurrentUser": "Modificarea utilizatorului curent",
"themeColor": "Culoare temă",
"disableOfficePreviewDescription": "O listă de extensii de fișiere separate prin spațiu pentru care se dezactivează vizualizatorul OnlyOffice. (de exemplu, \".txt .html\").",
"disableOfficePreview": "Dezactivați vizualizatorul onlyoffice pentru anumite extensii de fișiere",
"filePreviewOptions": "Opțiuni de previzualizare a fișierelor",
"listingOptions": "Opțiuni de listare",
"emptyGlobal": "În prezent nu există opțiuni de configurare globală, Puteți edita yaml-ul de configurare pentru a ajusta setările sistemului.",
"scopes": "Definirea surselor permise și a domeniului de aplicare al utilizatorului în cadrul acestora",
@@ -289,7 +278,6 @@
"userScopeGenerationPlaceholder": "Domeniul de aplicare va fi generat automat",
"createUserHomeDirectory": "Crearea directorului home al utilizatorului",
"api": "Chei API",
"setDateFormat": "Setați formatul exact al datei",
"shareDeleted": "Share șters!",
"loginMethodDescription": "metoda de conectare permisă pentru utilizator.",
"userNotAdmin": "Utilizatorul nu este administrator",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Dezactivați previzualizarea fișierelor office pentru anumite extensii de fișiere",
"disablePreviewExtDescription": "O listă de extensii de fișiere separate prin spațiu pentru care se dezactivează previzualizările fișierelor office (de exemplu, '.docx .pptx').",
"disableOfficeEditorDescription": "O listă de extensii de fișiere separate prin spațiu pentru care se dezactivează editorul și vizualizatorul OnlyOffice. (de exemplu, \".txt .html .pdf\").",
"disableOfficeEditor": "Dezactivați vizualizatorul office pentru anumite extensii de fișiere"
"disableOfficeEditor": "Dezactivați vizualizatorul office pentru anumite extensii de fișiere",
"customTheme": "Temă personalizată",
"defaultThemeDescription": "default - Tema implicită"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Копировать",
"copyMessage": "Копировать в:",
"currentlyNavigating": "Текущий каталог:",
"deleteMessageMultiple": "Удалить эти файлы ({count})?",
"deleteMessageSingle": "Удалить этот файл/каталог?",
"deleteMessageShare": "Удалить этот общий файл/каталог ({path})?",
@@ -165,11 +164,9 @@
"show": "Показать",
"size": "Размер",
"upload": "Загрузить",
"uploadMessage": "Выберите вариант для загрузки.",
"optionalPassword": "Необязательный пароль",
"deleteUserMessage": "Вы уверены, что хотите удалить этого пользователя?",
"filesSelected": "выбранные файлы",
"uploadFiles": "Uploading {files} files...",
"typeName": "Тип:",
"selected": "выбранные",
"deleted": "Удалено успешно!",
@@ -234,12 +231,7 @@
"passwordUpdated": "Пароль обновлен!",
"path": "Путь",
"permissions": {
"create": "Создавать файлы и каталоги",
"delete": "Удалять файлы и каталоги",
"download": "Скачивать",
"execute": "Выполнять команды",
"modify": "Редактировать файлы",
"rename": "Переименовывать или перемещать файлы и каталоги",
"share": "Делиться файлами",
"admin": "Администратор",
"api": "Создание и управление долгоживущими ключами API",
@@ -253,7 +245,6 @@
"rules": "Права",
"rulesHelp": "Здесь вы можете определить набор разрешающих и запрещающих правил для этого конкретного пользователь. Блокированные файлы не будут отображаться в списках, и не будут доступны для пользователя. Есть поддержка регулярных выражений и относительных путей.\n",
"scope": "Корень",
"setDateFormat": "Установить точный формат даты",
"settingsUpdated": "Настройки применены!",
"shareManagement": "Управление расшаренными ссылками",
"shareDeleted": "Расшаренная ссылка удалена!",
@@ -276,9 +267,6 @@
"modifyOtherUser": "Измените пользователя:",
"modifyCurrentUser": "Изменить текущего пользователя",
"themeColor": "Цвет темы",
"disableOfficePreviewDescription": "Список расширений файлов, для которых необходимо отключить программу просмотра OnlyOffice, разделенный пробелами. (например, '.txt .html').",
"disableOfficePreview": "Отключите просмотрщик Onlyoffice для определенных расширений файлов",
"filePreviewOptions": "Параметры предварительного просмотра файлов",
"listingOptions": "Варианты листинга",
"emptyGlobal": "В настоящее время нет глобальных опций конфигурации, вы можете редактировать конфигурационный yaml для настройки параметров системы.",
"scopes": "Определите разрешенные источники и область действия пользователей в них",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Отключение предварительного просмотра офисных файлов для определенных расширений файлов",
"disablePreviewExtDescription": "Список расширений файлов, для которых нужно отключить предварительный просмотр офисных файлов (например, '.docx .pptx'), разделенный пробелами.",
"disableOfficeEditorDescription": "Список расширений файлов, для которых необходимо отключить редактор и просмотрщик OnlyOffice, разделенный пробелами. (например, '.txt .html .pdf').",
"disableOfficeEditor": "Отключение просмотра офисных файлов для определенных расширений файлов"
"disableOfficeEditor": "Отключение просмотра офисных файлов для определенных расширений файлов",
"customTheme": "Пользовательская тема",
"defaultThemeDescription": "default - Тема по умолчанию"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Kopírovať",
"copyMessage": "Zvoľte miesto, kde chcete kopírovať súbory:",
"currentlyNavigating": "Aktuálna cesta:",
"deleteMessageMultiple": "Naozaj chcete odstrániť {count} súbor(ov)?",
"deleteMessageSingle": "Naozaj chcete odstrániť tento súbor/priečinok?",
"deleteMessageShare": "Naozaj chcete odstrániť toto zdieľanie({path})?",
@@ -165,11 +164,9 @@
"show": "Zobraziť",
"size": "Veľkosť",
"upload": "Nahrať",
"uploadMessage": "Zvoľte možnosť nahrávania.",
"optionalPassword": "Voliteľné heslo",
"deleteUserMessage": "Ste si istí, že chcete odstrániť tohto používateľa?",
"filesSelected": "vybrané súbory",
"uploadFiles": "Uploading {files} files...",
"typeName": "Typ:",
"selected": "vybrané",
"deleted": "Úspešne vymazané!",
@@ -234,12 +231,7 @@
"passwordUpdated": "Heslo zmenené!",
"path": "Cesta",
"permissions": {
"create": "Vytvárať súbory a priečinky",
"delete": "Odstraňovať súbory a priečinky",
"download": "Stiahnuť",
"execute": "Vykonávať príkazy",
"modify": "Upravovať súbory",
"rename": "Premenovať a presúvať súbory a priečinky",
"share": "Zdieľať súbory",
"admin": "Správca",
"api": "Vytváranie a správa kľúčov API s dlhou životnosťou",
@@ -275,9 +267,6 @@
"modifyOtherUser": "Upravte používateľa:",
"modifyCurrentUser": "Úprava aktuálneho používateľa",
"themeColor": "Farba témy",
"disableOfficePreviewDescription": "Medzerou oddelený zoznam prípon súborov, pre ktoré sa má prehliadač OnlyOffice vypnúť. (napr. \".txt .html\").",
"disableOfficePreview": "Zakázať prehliadač OnlyOffice pre určité prípony súborov",
"filePreviewOptions": "Možnosti náhľadu súborov",
"listingOptions": "Možnosti uvedenia v zozname",
"emptyGlobal": "V súčasnosti neexistujú žiadne globálne konfiguračné možnosti, Môžete upraviť konfiguračný yaml upraviť nastavenia systému.",
"scopes": "Definovanie povolených zdrojov a používateľského rozsahu v rámci nich",
@@ -290,7 +279,6 @@
"userScopeGenerationPlaceholder": "Rozsah sa vygeneruje automaticky",
"createUserHomeDirectory": "Vytvorenie domovského adresára používateľa",
"api": "Kľúče API",
"setDateFormat": "Nastavenie presného formátu dátumu",
"loginMethodDescription": "povolená metóda prihlásenia pre používateľa.",
"userNotAdmin": "Používateľ nie je správca",
"enterPassword": "Zadajte heslo",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Zakázanie náhľadov kancelárskych súborov pre určité prípony súborov",
"disablePreviewExtDescription": "Zoznam prípon súborov oddelených medzerou, pre ktoré sa majú vypnúť náhľady kancelárskych súborov (napr. \".docx .pptx\").",
"disableOfficeEditorDescription": "Medzerou oddelený zoznam prípon súborov, pre ktoré sa má vypnúť editor a prehliadač OnlyOffice. (napr. \".txt .html .pdf\").",
"disableOfficeEditor": "Zakázanie prehliadača Office pre určité prípony súborov"
"disableOfficeEditor": "Zakázanie prehliadača Office pre určité prípony súborov",
"customTheme": "Vlastná téma",
"defaultThemeDescription": "default - Predvolená téma"
}
}
+3 -9
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Kopiera",
"copyMessage": "Välj var dina filer skall sparas:",
"currentlyNavigating": "För närvarande navigerar du på:",
"deleteMessageMultiple": "Är du säker på att du vill radera {count} filer(na)?",
"deleteMessageSingle": "Är du säker på att du vill radera denna fil/mapp",
"deleteTitle": "Ta bort filer",
@@ -164,12 +163,10 @@
"show": "Visa",
"size": "Storlek",
"upload": "Ladda upp",
"uploadMessage": "Välj ett alternativ att ladda upp.",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"deleteUserMessage": "Är du säker på att du vill ta bort den här användaren?",
"selected": "utvalda",
"filesSelected": "valda filer",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "Valfritt lösenord",
"typeName": "Typ:",
"deleted": "Raderad framgångsrikt!",
@@ -234,12 +231,7 @@
"passwordUpdated": "Lösenord uppdaterat",
"path": "Väg",
"permissions": {
"create": "Skapa filer och mappar",
"delete": "Ta bort filer och mappar",
"download": "Ladda ner",
"execute": "Exekvera kommandon",
"modify": "Ändra fil",
"rename": "Byta namn på eller flytta filer och kataloger",
"share": "Dela filer",
"admin": "Administratör",
"api": "Skapa och hantera API-nycklar med lång livslängd",
@@ -442,6 +434,8 @@
"disablePreviewExt": "Avaktivera förhandsgranskning av Office-filer för vissa filtillägg",
"disablePreviewExtDescription": "En mellanslagsseparerad lista över filtillägg för vilka förhandsgranskningar av Office-filer ska inaktiveras (t.ex. '.docx .pptx').",
"disableOfficeEditorDescription": "En mellanslagsseparerad lista över filtillägg som OnlyOffice redigerare och visare ska inaktiveras för. (t.ex. '.txt .html .pdf').",
"disableOfficeEditor": "Avaktivera Office Viewer för vissa filtillägg"
"disableOfficeEditor": "Avaktivera Office Viewer för vissa filtillägg",
"customTheme": "Anpassat tema",
"defaultThemeDescription": "default - Standardtema"
}
}
+3 -13
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Kopyala",
"copyMessage": "Dosyalarınızı kopyalayacağınız yeri seçin:",
"currentlyNavigating": "Şu anki lokasyon:",
"deleteMessageMultiple": "{count} dosyayı/dosyaları silmek istediğinizden emin misiniz?",
"deleteMessageSingle": "Bu dosyayı/klasörü silmek istediğinizden emin misiniz?",
"deleteMessageShare": "Bu paylaşımı({path}) silmek istediğinizden emin misiniz?",
@@ -165,11 +164,9 @@
"show": "Göster",
"size": "Boyut",
"upload": "Gönder",
"uploadMessage": "Yüklemek için bir seçenek belirleyin.",
"optionalPassword": "İsteğe bağlı şifre",
"deleteUserMessage": "Bu kullanıcıyı silmek istediğinizden emin misiniz?",
"filesSelected": "seçilen dosyalar",
"uploadFiles": "Uploading {files} files...",
"typeName": "Tip:",
"selected": "seçilmiş",
"deleted": "Başarıyla silindi!",
@@ -234,12 +231,7 @@
"passwordUpdated": "Şifre güncellendi",
"path": "Yol",
"permissions": {
"create": "Dosyalar ve dizinler oluşturun",
"delete": "Dosyalar ve dizinleri silin",
"download": "İndir",
"execute": "Komutları çalıştır",
"modify": "Dosyaları değiştir",
"rename": "Dosyaları ve dizinleri yeniden adlandırın veya taşıyın",
"share": "Dosyaları paylaş",
"admin": "Yönetici",
"api": "Uzun ömürlü API anahtarları oluşturma ve yönetme",
@@ -275,9 +267,6 @@
"modifyOtherUser": "Kullanıcıyı değiştir:",
"modifyCurrentUser": "Geçerli kullanıcıyı değiştir",
"themeColor": "Tema Rengi",
"disableOfficePreviewDescription": "OnlyOffice görüntüleyicisinin devre dışı bırakılacağı dosya uzantılarının boşluk bırakılarak ayrılmış bir listesi. (örneğin, '.txt .html').",
"disableOfficePreview": "Belirli dosya uzantıları için onlyoffice görüntüleyiciyi devre dışı bırakma",
"filePreviewOptions": "Dosya önizleme seçenekleri",
"listingOptions": "Listeleme seçenekleri",
"emptyGlobal": "Şu anda global yapılandırma seçenekleri yoktur, sistem ayarlarını yapmak için yapılandırma yaml'ını düzenleyebilirsiniz.",
"scopes": "İzin verilen kaynakları ve bunlar içindeki kullanıcı kapsamını tanımlama",
@@ -290,7 +279,6 @@
"userScopeGenerationPlaceholder": "Kapsam otomatik olarak oluşturulacaktır",
"createUserHomeDirectory": "Kullanıcı ev dizini oluşturma",
"api": "API Anahtarları",
"setDateFormat": "Tam tarih biçimini ayarlama",
"loginMethodDescription": "kullanıcı için izin verilen oturum açma yöntemi.",
"userNotAdmin": "Kullanıcı yönetici değil",
"enterPassword": "Şifre girin",
@@ -446,6 +434,8 @@
"disablePreviewExt": "Belirli dosya uzantıları için ofis dosyası önizlemelerini devre dışı bırakma",
"disablePreviewExtDescription": "Ofis dosyası önizlemelerinin devre dışı bırakılacağı dosya uzantılarının boşluk bırakılarak ayrılmış listesi (örn. '.docx .pptx').",
"disableOfficeEditorDescription": "OnlyOffice düzenleyicisini ve görüntüleyicisini devre dışı bırakmak için dosya uzantılarının boşluk bırakılarak ayrılmış bir listesi. (örneğin, '.txt .html .pdf').",
"disableOfficeEditor": "Belirli dosya uzantıları için ofis görüntüleyiciyi devre dışı bırakma"
"disableOfficeEditor": "Belirli dosya uzantıları için ofis görüntüleyiciyi devre dışı bırakma",
"customTheme": "Özel Tema",
"defaultThemeDescription": "default - Varsayılan tema"
}
}
+3 -10
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "Копіювати",
"copyMessage": "Копіювати в:",
"currentlyNavigating": "Поточний каталог:",
"deleteMessageMultiple": "Видалити ці файли ({count})?",
"deleteMessageSingle": "Видалити цей файл/каталог?",
"deleteMessageShare": "Видалити цей спільний файл/каталог ({path})?",
@@ -165,12 +164,10 @@
"show": "Показати",
"size": "Розмір",
"upload": "Завантажити",
"uploadMessage": "Виберіть варіант для завантаження.",
"optionalPassword": "Необов'язковий пароль",
"deleteUserMessage": "Ви впевнені, що хочете видалити цього користувача?",
"selected": "вибрано",
"filesSelected": "вибрані файли",
"uploadFiles": "Uploading {files} files...",
"typeName": "Друкуй:",
"deleted": "Видалено успішно!",
"destinationSource": "Місце призначення Джерело:",
@@ -234,12 +231,7 @@
"passwordUpdated": "Пароль оновлено!",
"path": "Шлях",
"permissions": {
"create": "Створювати файли та каталоги",
"delete": "Видаляти файли та каталоги",
"download": "Завантажувати",
"execute": "Виконувати команди",
"modify": "Редагувати файли",
"rename": "Перейменовувати або переміщувати файли та каталоги",
"share": "Ділітися файлами",
"admin": "Адміністратор",
"api": "Створюйте та керуйте довготривалими ключами API",
@@ -253,7 +245,6 @@
"rules": "Права",
"rulesHelp": "Тут ви можете визначити набір дозволяючих та забороняючих правил для цього конкретного користувача. Блоковані файли не відображатимуться у списках, і не будуть доступні для користувача. Є підтримка регулярних виразів та відносних шляхів.\n",
"scope": "Корінь",
"setDateFormat": "Встановити точний формат дати",
"settingsUpdated": "Налаштування застосовані!",
"shareManagement": "Управління спільними посиланнями",
"shareDeleted": "Спільне посилання видалено!",
@@ -443,6 +434,8 @@
"disablePreviewExt": "Вимкнути попередній перегляд офісних файлів для певних розширень",
"disablePreviewExtDescription": "Список розширень файлів через пробіл, для яких слід вимкнути попередній перегляд офісних файлів (наприклад, '.docx .pptx).",
"disableOfficeEditorDescription": "Список розділених пробілами розширень файлів, для яких слід вимкнути редактор і переглядач OnlyOffice. (наприклад, '.txt .html .pdf').",
"disableOfficeEditor": "Вимкнути офісний переглядач для певних розширень файлів"
"disableOfficeEditor": "Вимкнути офісний переглядач для певних розширень файлів",
"customTheme": "Спеціальна тема",
"defaultThemeDescription": "default - тема за замовчуванням"
}
}
+3 -10
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "复制",
"copyMessage": "请选择欲复制至的目录:",
"currentlyNavigating": "当前目录:",
"deleteMessageMultiple": "你确定要删除这 {count} 个文件吗?",
"deleteMessageSingle": "你确定要删除这个文件/文件夹吗?",
"deleteMessageShare": "你确定要删除这个分享({path})吗?",
@@ -165,12 +164,10 @@
"show": "点击以显示",
"size": "大小",
"upload": "上传",
"uploadMessage": "选择上传选项。",
"optionalPassword": "密码(选填,不填即无密码)",
"deleteUserMessage": "您确定要删除该用户吗?",
"selected": "选定的",
"filesSelected": "所选文件",
"uploadFiles": "Uploading {files} files...",
"typeName": "类型",
"deleted": "已成功删除!",
"destinationSource": "目的地来源:",
@@ -235,12 +232,7 @@
"passwordUpdated": "密码已更新!",
"path": "路径",
"permissions": {
"create": "创建文件和文件夹",
"delete": "删除文件和文件夹",
"download": "下载",
"execute": "执行命令",
"modify": "编辑",
"rename": "重命名或移动文件和文件夹",
"share": "分享文件",
"admin": "管理员",
"api": "创建和管理长效 API 密钥",
@@ -254,7 +246,6 @@
"rules": "规则",
"rulesHelp": "您可以为该用户制定一组黑名单或白名单式的规则,被屏蔽的文件将不会显示在列表中,用户也无权限访问,支持正则表达式和相对于用户范围的路径。\n",
"scope": "目录范围",
"setDateFormat": "显示精确的日期格式",
"settingsUpdated": "设置已更新!",
"shareManagement": "分享管理",
"shareDeleted": "分享已删除!",
@@ -443,6 +434,8 @@
"disablePreviewExt": "禁用某些文件扩展名的 Office 文件预览功能",
"disablePreviewExtDescription": "用空格分隔的文件扩展名列表,用于禁用办公文件预览(如\".docx .pptx\")。",
"disableOfficeEditorDescription": "用空格分隔的文件扩展名列表,用于禁用 OnlyOffice 编辑器和查看器。(例如,\".txt .html .pdf\")。",
"disableOfficeEditor": "禁用某些文件扩展名的 Office 查看器"
"disableOfficeEditor": "禁用某些文件扩展名的 Office 查看器",
"customTheme": "自定义主题",
"defaultThemeDescription": "default - 默认主题"
}
}
+3 -9
View File
@@ -136,7 +136,6 @@
"prompts": {
"copy": "複製",
"copyMessage": "請選擇欲複製至的目錄:",
"currentlyNavigating": "目前目錄:",
"deleteMessageMultiple": "你確定要刪除這 {count} 個檔案嗎?",
"deleteMessageSingle": "你確定要刪除這個檔案/資料夾嗎?",
"deleteTitle": "刪除檔案",
@@ -164,7 +163,6 @@
"show": "顯示",
"size": "大小",
"upload": "上傳",
"uploadMessage": "選擇上傳項。",
"deleteMessageShare": "Are you sure you want to delete this share: {path} ?",
"destinationSource": "目的地來源:",
"deleteUserMessage": "您確定要刪除此使用者嗎?",
@@ -172,7 +170,6 @@
"completed": "已完成",
"selected": "選定",
"filesSelected": "選取的檔案",
"uploadFiles": "Uploading {files} files...",
"optionalPassword": "選購密碼",
"typeName": "類型:",
"deleted": "已成功刪除!",
@@ -234,12 +231,7 @@
"passwordUpdated": "密碼已更新!",
"path": "路徑",
"permissions": {
"create": "建立檔案和資料夾",
"delete": "刪除檔案和資料夾",
"download": "下載",
"execute": "執行命令",
"modify": "編輯檔案",
"rename": "重命名或移動檔案/資料夾",
"share": "分享檔案",
"admin": "管理員",
"api": "建立與管理長效 API 金鑰",
@@ -416,7 +408,9 @@
"disablePreviewExt": "停用特定檔案副檔名的 Office 檔案預覽",
"disablePreviewExtDescription": "以空格分隔的檔案副檔名清單,以停用 Office 檔案預覽 (例如 '.docx .pptx')。",
"disableOfficeEditorDescription": "以空格分隔的檔案副檔名清單,用來停用 OnlyOffice 編輯器和檢視器。(例如,'.txt .html .pdf')。",
"disableOfficeEditor": "停用特定檔案副檔名的 Office 檢視器"
"disableOfficeEditor": "停用特定檔案副檔名的 Office 檢視器",
"customTheme": "自訂主題",
"defaultThemeDescription": "default - 預設主題"
},
"otp": {
"name": "雙因素驗證",
+2
View File
@@ -22,6 +22,7 @@ const mediaAvailable = window.FileBrowser.MediaAvailable;
const muPdfAvailable = window.FileBrowser.MuPdfAvailable;
const updateAvailable = window.FileBrowser.UpdateAvailable;
const disableNavButtons = window.FileBrowser.DisableNavButtons;
const userSelectableThemes = window.FileBrowser.UserSelectableThemes;
const origin = window.location.origin;
const settings = [
@@ -34,6 +35,7 @@ const settings = [
];
export {
userSelectableThemes,
disableNavButtons,
updateAvailable,
muPdfAvailable,
+1 -1
View File
@@ -159,7 +159,7 @@ export default {
// Fetch initial data
let res = await filesApi.fetchFiles(fetchSource, fetchPath );
// If not a directory, fetch content
if (res.type != "directory") {
if (res.type != "directory" && !res.type.startsWith("image")) {
const content = !getters.fileViewingDisabled(res.name);
res = await filesApi.fetchFiles(res.source, res.path, content);
}
+3 -1
View File
@@ -1,7 +1,9 @@
<template>
<div id="previewer" @mousemove="toggleNavigation" @touchstart="toggleNavigation">
<div class="preview" v-if="!isDeleted">
<ExtendedImage v-if="previewType == 'image' || pdfConvertable" :src="raw">
<ExtendedImage v-if="previewType == 'image' || pdfConvertable" :src="raw"
@navigate-previous="prev"
@navigate-next="next">
</ExtendedImage>
<audio v-else-if="previewType == 'audio'" ref="player" :src="raw" controls :autoplay="autoPlay"
@play="autoPlay = true"></audio>
+34 -1
View File
@@ -211,6 +211,22 @@
@button-clicked="setColor"
:initialActive="localuser.themeColor"
/>
<h3 v-if="Object.keys(availableThemes).length > 0">{{ $t("profileSettings.customTheme") }}</h3>
<div v-if="Object.keys(availableThemes).length > 0" class="form-group">
<select
class="input input--block"
v-model="selectedTheme"
@change="updateCustomTheme"
>
<option
v-for="(theme, key) in availableThemes"
:key="key"
:value="key"
>
{{ key === 'default' ? $t('profileSettings.defaultThemeDescription') : `${key} - ${theme.description}` }}
</option>
</select>
</div>
<h3>{{ $t("settings.language") }}</h3>
<Languages
class="input input--block"
@@ -225,7 +241,7 @@
<script>
import { notify } from "@/notify";
import { mediaAvailable, muPdfAvailable, onlyOfficeUrl } from "@/utils/constants.js";
import { mediaAvailable, muPdfAvailable, onlyOfficeUrl, userSelectableThemes } from "@/utils/constants.js";
import { state, mutations } from "@/store";
import { usersApi } from "@/api";
import Languages from "@/components/settings/Languages.vue";
@@ -268,6 +284,9 @@ export default {
},
},
computed: {
availableThemes() {
return userSelectableThemes || {};
},
onlyOfficeAvailable() {
return onlyOfficeUrl !== "";
},
@@ -286,6 +305,14 @@ export default {
active() {
return state.activeSettingsView === "profile-main";
},
selectedTheme: {
get() {
return this.localuser.customTheme || "default";
},
set(value) {
this.localuser.customTheme = value;
}
},
},
mounted() {
this.localuser = { ...state.user };
@@ -347,12 +374,14 @@ export default {
}
try {
const data = this.localuser;
const themeChanged = state.user.customTheme != this.localuser.customTheme;
mutations.updateCurrentUser(data);
await usersApi.update(data, [
"locale",
"showHidden",
"dateFormat",
"themeColor",
"customTheme",
"quickDownload",
"disablePreviewExt",
"disableViewingExt",
@@ -364,7 +393,11 @@ export default {
"hideSidebarFileActions",
"editorQuickSave",
]);
if (themeChanged) {
window.location.reload();
}
notify.showSuccess(this.$t("settings.settingsUpdated"));
} catch (e) {
notify.showError(e);
}