1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-01 19:18:28 -04:00

Compare commits

...

14 Commits

Author SHA1 Message Date
bbedward e54be7d12d i18n: sync 2026-07-30 17:11:29 -04:00
bbedward 81c886784b lock: add separate text input for IMEs
related #2950
2026-07-30 17:08:59 -04:00
bbedward 6682bb120c matugen: tweak qt6ct colors
related #2951
2026-07-30 17:08:59 -04:00
bbedward 5c02ec4789 lock: avoid lock at startup firing when using dms-greeter
fixes #2952
2026-07-30 17:08:59 -04:00
bbedward de1e1757c3 keybinds: preserve raw lua actions in parser
fixes #2953
2026-07-30 17:08:59 -04:00
bbedward 43d331d6cf desktop plugins: ensure transparent frame is shown when desktop widgets
disabled

related #2955
2026-07-30 17:08:59 -04:00
Grant Mosha 01832856d4 fix(network): authenticate Fortinet VPNs natively (#2959)
* fix(network): authenticate Fortinet VPNs natively

* cleanup and add test

---------

Co-authored-by: Grant Mosha <grant.mosha@nida.go.tz>
Co-authored-by: bbedward <bbedward@gmail.com>
2026-07-30 16:45:53 -04:00
Huỳnh Thiện Lộc 0033e3f0e0 feat: add QR Generator launcher (#2941)
* feat: add QR Generator modal with auto-generate on input debounce

- QRGeneratorModal with dual-buffer sequential fade animation
- Auto-generate QR code on typing stop (200ms debounce)
- Clear text button on input field
- Escape key closes modal
- Register modal in PopoutService and AppSearchService
- Go backend for text QR code generation

* fix: add QR Generator toggle to Launcher DMS settings

* qr: also add qrg built in launcher plugin

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2026-07-30 16:33:36 -04:00
bbedward 2d3706321a frame: fix popout IPCs in some situations
related #2956
2026-07-30 15:30:44 -04:00
bbedward 5bb884db57 keybinds: fix labeling of spawn keybinds
fixes #2957
2026-07-30 15:30:44 -04:00
dms-ci[bot] b42763ccbf nix: update vendorHash for go.mod changes 2026-07-30 19:13:28 +00:00
bbedward f2a6d62d65 matugen: add description for vscode template
fixes #2958
2026-07-30 15:10:54 -04:00
bbedward f66693df6b core: bump dankgo 2026-07-30 14:52:14 -04:00
bbedward a710d6d7cc launcher: fix regex escaping launch args
fixes #2961
port 1.5
2026-07-30 14:33:58 -04:00
58 changed files with 9558 additions and 5463 deletions
+1 -1
View File
@@ -69,7 +69,7 @@ require (
) )
require ( require (
github.com/AvengeMedia/dankgo v0.0.0-20260724133713-a4ef23371e05 github.com/AvengeMedia/dankgo v0.0.0-20260730184236-239485829b0b
github.com/atotto/clipboard v0.1.4 // indirect github.com/atotto/clipboard v0.1.4 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/charmbracelet/colorprofile v0.4.3 // indirect github.com/charmbracelet/colorprofile v0.4.3 // indirect
+2 -2
View File
@@ -1,7 +1,7 @@
filippo.io/edwards25519 v1.2.0 h1:crnVqOiS4jqYleHd9vaKZ+HKtHfllngJIiOpNpoJsjo= filippo.io/edwards25519 v1.2.0 h1:crnVqOiS4jqYleHd9vaKZ+HKtHfllngJIiOpNpoJsjo=
filippo.io/edwards25519 v1.2.0/go.mod h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc= filippo.io/edwards25519 v1.2.0/go.mod h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc=
github.com/AvengeMedia/dankgo v0.0.0-20260724133713-a4ef23371e05 h1:Ij/yzOT8y2HL7V5Rkec1GxJV0rUvhKqfAzyGxVRTk1o= github.com/AvengeMedia/dankgo v0.0.0-20260730184236-239485829b0b h1:UwX1H4BkzazL7ips9ljnHzBXGttYARcIi5Njj9aqIt4=
github.com/AvengeMedia/dankgo v0.0.0-20260724133713-a4ef23371e05/go.mod h1:xt8RldAfti0QCWidwYIzsSSoJWsE61WgEhTu2H9UpD4= github.com/AvengeMedia/dankgo v0.0.0-20260730184236-239485829b0b/go.mod h1:xt8RldAfti0QCWidwYIzsSSoJWsE61WgEhTu2H9UpD4=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/ProtonMail/go-crypto v1.4.1 h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67IQOfM= github.com/ProtonMail/go-crypto v1.4.1 h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67IQOfM=
+45 -5
View File
@@ -4,6 +4,7 @@ import (
"fmt" "fmt"
"os" "os"
"path/filepath" "path/filepath"
"regexp"
"sort" "sort"
"strconv" "strconv"
"strings" "strings"
@@ -224,6 +225,44 @@ func (h *HyprlandProvider) validateAction(action string) error {
return nil return nil
} }
var luaExprActionPattern = regexp.MustCompile(`^(function\s*\(|hl\.)`)
// isRawLuaActionText reports that action is a Lua expression to re-emit
// verbatim rather than freeform dispatcher text to wrap for hyprctl. The
// balance check keeps malformed input from corrupting the generated file.
func isRawLuaActionText(action string) bool {
if !luaExprActionPattern.MatchString(action) {
return false
}
depth := 0
var quote byte
escaped := false
for i := 0; i < len(action); i++ {
c := action[i]
switch {
case escaped:
escaped = false
case quote != 0:
switch c {
case '\\':
escaped = true
case quote:
quote = 0
}
case c == '"' || c == '\'':
quote = c
case c == '(':
depth++
case c == ')':
depth--
if depth < 0 {
return false
}
}
}
return depth == 0 && quote == 0 && !escaped
}
func (h *HyprlandProvider) SetBind(key, action, description string, options map[string]any) error { func (h *HyprlandProvider) SetBind(key, action, description string, options map[string]any) error {
if err := h.ensureWritableConfig(); err != nil { if err := h.ensureWritableConfig(); err != nil {
return err return err
@@ -254,11 +293,12 @@ func (h *HyprlandProvider) SetBind(key, action, description string, options map[
canonicalKey := canonicalHyprlandOverrideKey(key) canonicalKey := canonicalHyprlandOverrideKey(key)
normalizedKey := hyprlandOverrideMapKey(canonicalKey) normalizedKey := hyprlandOverrideMapKey(canonicalKey)
existingBinds[normalizedKey] = &hyprlandOverrideBind{ existingBinds[normalizedKey] = &hyprlandOverrideBind{
Key: canonicalKey, Key: canonicalKey,
Action: action, Action: action,
Description: description, Description: description,
Flags: flags, Flags: flags,
Options: options, Options: options,
RawLuaAction: isRawLuaActionText(action),
} }
return h.writeOverrideBinds(existingBinds) return h.writeOverrideBinds(existingBinds)
@@ -463,6 +463,56 @@ func TestHyprlandSetBindLeavesConfOnlyInstallReadOnly(t *testing.T) {
} }
} }
func TestIsRawLuaActionText(t *testing.T) {
cases := []struct {
action string
want bool
}{
{`function() hl.plugin.scrolloverview.overview("toggle") end`, true},
{`hl.dsp.exec_cmd("foo")`, true},
{`hl.dsp.no_op()`, true},
{"workspace 3", false},
{"exec zeditor", false},
{`function() hl.foo( end`, false},
{`function() hl.foo("a) end`, false},
{`hl.foo()) hl.bar((`, false},
}
for _, tc := range cases {
if got := isRawLuaActionText(tc.action); got != tc.want {
t.Errorf("isRawLuaActionText(%q) = %v, want %v", tc.action, got, tc.want)
}
}
}
func TestHyprlandSetBindPreservesRawLuaAction(t *testing.T) {
tmpDir := t.TempDir()
dmsDir := filepath.Join(tmpDir, "dms")
if err := os.MkdirAll(dmsDir, 0o755); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(dmsDir, "binds-user.lua"), []byte("-- DMS user keybind overrides\n"), 0o644); err != nil {
t.Fatal(err)
}
provider := NewHyprlandProvider(tmpDir)
rawAction := `function() hl.plugin.scrolloverview.overview("toggle") end`
if err := provider.SetBind("SUPER + G", rawAction, "Toggle overview", nil); err != nil {
t.Fatal(err)
}
data, err := os.ReadFile(filepath.Join(dmsDir, "binds-user.lua"))
if err != nil {
t.Fatal(err)
}
got := string(data)
if !strings.Contains(got, `hl.bind("SUPER + G", `+rawAction) {
t.Fatalf("expected raw Lua action to be written verbatim, got:\n%s", got)
}
if strings.Contains(got, "hyprctl dispatch function") {
t.Fatalf("expected raw Lua action to not be wrapped in hyprctl dispatch, got:\n%s", got)
}
}
func TestHyprlandSetBindUpdatesSpacedLuaOverrideWithoutDuplicates(t *testing.T) { func TestHyprlandSetBindUpdatesSpacedLuaOverrideWithoutDuplicates(t *testing.T) {
tmpDir := t.TempDir() tmpDir := t.TempDir()
dmsDir := filepath.Join(tmpDir, "dms") dmsDir := filepath.Join(tmpDir, "dms")
+22 -16
View File
@@ -471,12 +471,9 @@ output_path = '%s'
case TemplateKindTerminal: case TemplateKindTerminal:
appendTerminalConfig(opts, cfgFile, tmpDir, tmpl.Commands, tmpl.Flatpaks, tmpl.ConfigFile) appendTerminalConfig(opts, cfgFile, tmpDir, tmpl.Commands, tmpl.Flatpaks, tmpl.ConfigFile)
case TemplateKindVSCode: case TemplateKindVSCode:
appendVSCodeConfig(cfgFile, "vscode", filepath.Join(homeDir, ".vscode/extensions"), opts.ShellDir) for _, editor := range vscodeEditors {
appendVSCodeConfig(cfgFile, "codium", filepath.Join(homeDir, ".vscode-oss/extensions"), opts.ShellDir) appendVSCodeConfig(cfgFile, editor.name, editor.extensionsDir(homeDir), opts.ShellDir)
appendVSCodeConfig(cfgFile, "codeoss", filepath.Join(homeDir, ".config/Code - OSS/extensions"), opts.ShellDir) }
appendVSCodeConfig(cfgFile, "cursor", filepath.Join(homeDir, ".cursor/extensions"), opts.ShellDir)
appendVSCodeConfig(cfgFile, "windsurf", filepath.Join(homeDir, ".windsurf/extensions"), opts.ShellDir)
appendVSCodeConfig(cfgFile, "vscode-insiders", filepath.Join(homeDir, ".vscode-insiders/extensions"), opts.ShellDir)
case TemplateKindEmacs: case TemplateKindEmacs:
if utils.EmacsConfigDir() != "" { if utils.EmacsConfigDir() != "" {
appendConfig(opts, cfgFile, tmpl.Commands, tmpl.Flatpaks, tmpl.ConfigDirs, tmpl.ConfigFile) appendConfig(opts, cfgFile, tmpl.Commands, tmpl.Flatpaks, tmpl.ConfigDirs, tmpl.ConfigFile)
@@ -633,6 +630,23 @@ func appExists(checker utils.AppChecker, checkCmd []string, checkFlatpaks []stri
return false return false
} }
type vscodeEditor struct {
name string
dataDir string
}
var vscodeEditors = []vscodeEditor{
{"vscode", ".vscode"},
{"codium", ".vscode-oss"},
{"cursor", ".cursor"},
{"windsurf", ".windsurf"},
{"vscode-insiders", ".vscode-insiders"},
}
func (e vscodeEditor) extensionsDir(homeDir string) string {
return filepath.Join(homeDir, e.dataDir, "extensions")
}
func appendVSCodeConfig(cfgFile *os.File, name, extBaseDir, shellDir string) { func appendVSCodeConfig(cfgFile *os.File, name, extBaseDir, shellDir string) {
pattern := filepath.Join(extBaseDir, "danklinux.dms-theme-*") pattern := filepath.Join(extBaseDir, "danklinux.dms-theme-*")
matches, err := filepath.Glob(pattern) matches, err := filepath.Glob(pattern)
@@ -1168,16 +1182,8 @@ func CheckTemplates(checker utils.AppChecker) []TemplateCheck {
} }
func checkVSCodeExtension(homeDir string) bool { func checkVSCodeExtension(homeDir string) bool {
extDirs := []string{ for _, editor := range vscodeEditors {
filepath.Join(homeDir, ".vscode/extensions"), pattern := filepath.Join(editor.extensionsDir(homeDir), "danklinux.dms-theme-*")
filepath.Join(homeDir, ".vscode-oss/extensions"),
filepath.Join(homeDir, ".config/Code - OSS/extensions"),
filepath.Join(homeDir, ".cursor/extensions"),
filepath.Join(homeDir, ".windsurf/extensions"),
}
for _, extDir := range extDirs {
pattern := filepath.Join(extDir, "danklinux.dms-theme-*")
if matches, err := filepath.Glob(pattern); err == nil && len(matches) > 0 { if matches, err := filepath.Glob(pattern); err == nil && len(matches) > 0 {
return true return true
} }
@@ -22,6 +22,16 @@ func TestLockScreenPasswordFieldBypassesTextInputIME(t *testing.T) {
if !strings.Contains(content, "Keys.onPressed") || !strings.Contains(content, "event.text") { if !strings.Contains(content, "Keys.onPressed") || !strings.Contains(content, "event.text") {
t.Fatalf("passwordField should handle physical key text manually instead of relying on a text input control") t.Fatalf("passwordField should handle physical key text manually instead of relying on a text input control")
} }
// Wayland IMEs commit unconsumed printable keys as text-input text rather
// than forwarding raw keys, so the lock screen needs an IME commit sink
// alongside raw key handling.
if !strings.Contains(content, "id: imeCommitSink") {
t.Fatalf("passwordField must keep the imeCommitSink TextInput so IME-routed keyboards can type (#2950)")
}
if !strings.Contains(content, "Qt.ImhSensitiveData") {
t.Fatalf("imeCommitSink must advertise hidden-text hints so IMEs treat it as a password field")
}
} }
func TestLockScreenPamSupportsManagedAndSystemPolicies(t *testing.T) { func TestLockScreenPamSupportsManagedAndSystemPolicies(t *testing.T) {
@@ -302,17 +302,17 @@ func (a *SecretAgent) GetSecrets(
} }
a.backend.cachedVPNCredsMu.Unlock() a.backend.cachedVPNCredsMu.Unlock()
a.backend.cachedGPSamlMu.Lock() a.backend.cachedOpenConnectMu.Lock()
cachedGPSaml := a.backend.cachedGPSamlCookie cachedOpenConnect := a.backend.cachedOpenConnectAuth
if cachedGPSaml != nil && cachedGPSaml.ConnectionUUID == connUuid { if cachedOpenConnect != nil && cachedOpenConnect.ConnectionUUID == connUuid {
a.backend.cachedGPSamlCookie = nil a.backend.cachedOpenConnectAuth = nil
a.backend.cachedGPSamlMu.Unlock() a.backend.cachedOpenConnectMu.Unlock()
log.Infof("[SecretAgent] Using cached GlobalProtect SAML cookie for %s", connUuid) log.Infof("[SecretAgent] Using cached OpenConnect authentication for %s", connUuid)
return buildGPSamlSecretsResponse(settingName, cachedGPSaml.Cookie, cachedGPSaml.Host, cachedGPSaml.Fingerprint), nil return buildOpenConnectSecretsResponse(settingName, cachedOpenConnect.Cookie, cachedOpenConnect.Host, cachedOpenConnect.Fingerprint), nil
} }
a.backend.cachedGPSamlMu.Unlock() a.backend.cachedOpenConnectMu.Unlock()
if len(fields) == 1 && fields[0] == "gp-saml" { if len(fields) == 1 && fields[0] == "gp-saml" {
gateway := "" gateway := ""
@@ -347,17 +347,17 @@ func (a *SecretAgent) GetSecrets(
log.Infof("[SecretAgent] GlobalProtect SAML authentication successful, returning cookie to NetworkManager") log.Infof("[SecretAgent] GlobalProtect SAML authentication successful, returning cookie to NetworkManager")
a.backend.cachedGPSamlMu.Lock() a.backend.cachedOpenConnectMu.Lock()
a.backend.cachedGPSamlCookie = &cachedGPSamlCookie{ a.backend.cachedOpenConnectAuth = &cachedOpenConnectAuth{
ConnectionUUID: connUuid, ConnectionUUID: connUuid,
Cookie: authResult.Cookie, Cookie: authResult.Cookie,
Host: authResult.Host, Host: authResult.Host,
User: authResult.User, User: authResult.User,
Fingerprint: authResult.Fingerprint, Fingerprint: authResult.Fingerprint,
} }
a.backend.cachedGPSamlMu.Unlock() a.backend.cachedOpenConnectMu.Unlock()
return buildGPSamlSecretsResponse(settingName, authResult.Cookie, authResult.Host, authResult.Fingerprint), nil return buildOpenConnectSecretsResponse(settingName, authResult.Cookie, authResult.Host, authResult.Fingerprint), nil
} }
} }
@@ -987,7 +987,7 @@ func buildWiFiSecretsResponse(settingName string, secrets map[string]string) nmS
return out return out
} }
func buildGPSamlSecretsResponse(settingName, cookie, host, fingerprint string) nmSettingMap { func buildOpenConnectSecretsResponse(settingName, cookie, host, fingerprint string) nmSettingMap {
out := nmSettingMap{} out := nmSettingMap{}
vpnSec := nmVariantMap{} vpnSec := nmVariantMap{}
@@ -122,7 +122,7 @@ func TestNeedsExternalBrowserAuth(t *testing.T) {
} }
} }
func TestBuildGPSamlSecretsResponse(t *testing.T) { func TestBuildOpenConnectSecretsResponse(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
settingName string settingName string
@@ -155,7 +155,7 @@ func TestBuildGPSamlSecretsResponse(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
result := buildGPSamlSecretsResponse(tt.settingName, tt.cookie, tt.host, tt.fingerprint) result := buildOpenConnectSecretsResponse(tt.settingName, tt.cookie, tt.host, tt.fingerprint)
assert.NotNil(t, result) assert.NotNil(t, result)
assert.Contains(t, result, tt.settingName) assert.Contains(t, result, tt.settingName)
@@ -80,16 +80,16 @@ type NetworkManagerBackend struct {
hotspotPendingDevice string hotspotPendingDevice string
pendingVPNSave *pendingVPNCredentials pendingVPNSave *pendingVPNCredentials
pendingVPNSaveMu sync.Mutex pendingVPNSaveMu sync.Mutex
cachedVPNCreds *cachedVPNCredentials cachedVPNCreds *cachedVPNCredentials
cachedVPNCredsMu sync.Mutex cachedVPNCredsMu sync.Mutex
cachedPKCS11PIN *cachedPKCS11PIN cachedPKCS11PIN *cachedPKCS11PIN
cachedPKCS11Mu sync.Mutex cachedPKCS11Mu sync.Mutex
cachedGPSamlCookie *cachedGPSamlCookie cachedOpenConnectAuth *cachedOpenConnectAuth
cachedGPSamlMu sync.Mutex cachedOpenConnectMu sync.Mutex
cachedWiFiSecret *cachedWiFiSecret cachedWiFiSecret *cachedWiFiSecret
cachedWiFiSecretMu sync.Mutex cachedWiFiSecretMu sync.Mutex
onStateChange func() onStateChange func()
} }
@@ -100,8 +100,9 @@ type pendingVPNCredentials struct {
Password string Password string
// Secrets holds all VPN secret fields keyed by name (e.g. "cert-pass"); // Secrets holds all VPN secret fields keyed by name (e.g. "cert-pass");
// falls back to Password under the "password" key when empty. // falls back to Password under the "password" key when empty.
Secrets map[string]string Secrets map[string]string
SavePassword bool PersistentSecrets map[string]string
SavePassword bool
} }
type cachedVPNCredentials struct { type cachedVPNCredentials struct {
@@ -124,7 +125,7 @@ type cachedWiFiSecret struct {
Secrets map[string]string Secrets map[string]string
} }
type cachedGPSamlCookie struct { type cachedOpenConnectAuth struct {
ConnectionUUID string ConnectionUUID string
Cookie string Cookie string
Host string Host string
@@ -3,6 +3,7 @@ package network
import ( import (
"bufio" "bufio"
"context" "context"
"errors"
"fmt" "fmt"
"os/exec" "os/exec"
"strings" "strings"
@@ -10,16 +11,29 @@ import (
"github.com/AvengeMedia/DankMaterialShell/core/internal/log" "github.com/AvengeMedia/DankMaterialShell/core/internal/log"
) )
type gpSamlAuthResult struct { type openConnectAuthResult struct {
Cookie string Cookie string
Host string Host string
User string User string
Fingerprint string Fingerprint string
} }
type openConnectAuthError struct {
cause error
serverCert string
}
func (e *openConnectAuthError) Error() string {
return fmt.Sprintf("openconnect --authenticate failed: %v", e.cause)
}
func (e *openConnectAuthError) Unwrap() error {
return e.cause
}
// runGlobalProtectSAMLAuth handles GlobalProtect SAML/SSO authentication using gp-saml-gui. // runGlobalProtectSAMLAuth handles GlobalProtect SAML/SSO authentication using gp-saml-gui.
// Only supports protocol=gp. Other protocols need their own implementations. // Only supports protocol=gp. Other protocols need their own implementations.
func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, gateway, protocol string) (*gpSamlAuthResult, error) { func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, gateway, protocol string) (*openConnectAuthResult, error) {
if gateway == "" { if gateway == "" {
return nil, fmt.Errorf("GP SAML auth: gateway is empty") return nil, fmt.Errorf("GP SAML auth: gateway is empty")
} }
@@ -63,7 +77,7 @@ func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, ga
} }
}() }()
result := &gpSamlAuthResult{Host: gateway} result := &openConnectAuthResult{Host: gateway}
var allOutput []string var allOutput []string
scanner := bufio.NewScanner(stdout) scanner := bufio.NewScanner(stdout)
@@ -117,13 +131,8 @@ func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, ga
return result, nil return result, nil
} }
func convertGPPreloginCookie(ctx context.Context, gateway, preloginCookie, user string) (*gpSamlAuthResult, error) { func convertGPPreloginCookie(ctx context.Context, gateway, preloginCookie, user string) (*openConnectAuthResult, error) {
ocPath, err := exec.LookPath("openconnect") return runOpenConnectAuthenticate(ctx, []string{
if err != nil {
return nil, fmt.Errorf("openconnect not found: %w", err)
}
args := []string{
"--protocol=gp", "--protocol=gp",
"--usergroup=gateway:prelogin-cookie", "--usergroup=gateway:prelogin-cookie",
"--user=" + user, "--user=" + user,
@@ -131,18 +140,83 @@ func convertGPPreloginCookie(ctx context.Context, gateway, preloginCookie, user
"--allow-insecure-crypto", "--allow-insecure-crypto",
"--authenticate", "--authenticate",
gateway, gateway,
}, preloginCookie)
}
func runOpenConnectPasswordAuth(
ctx context.Context,
data map[string]string,
username, password, serverCert string,
) (*openConnectAuthResult, error) {
if data["protocol"] != "fortinet" {
return nil, fmt.Errorf("only Fortinet password authentication is supported")
}
gateway := data["gateway"]
if gateway == "" {
return nil, fmt.Errorf("OpenConnect gateway is empty")
}
if username == "" || password == "" {
return nil, fmt.Errorf("OpenConnect username and password are required")
}
args := []string{
"--protocol=fortinet",
"--user=" + username,
"--passwd-on-stdin",
"--non-inter",
}
if usergroup := data["usergroup"]; usergroup != "" {
args = append(args, "--usergroup="+usergroup)
}
if serverCert != "" {
args = append(args, "--servercert="+serverCert)
}
args = append(args, "--authenticate", gateway)
result, err := runOpenConnectAuthenticate(ctx, args, password)
if err == nil {
result.Host = gateway
if result.Fingerprint == "" {
result.Fingerprint = serverCert
}
}
return result, err
}
func runOpenConnectAuthenticate(ctx context.Context, args []string, secret string) (*openConnectAuthResult, error) {
ocPath, err := exec.LookPath("openconnect")
if err != nil {
return nil, fmt.Errorf("openconnect not found: %w", err)
} }
cmd := exec.CommandContext(ctx, ocPath, args...) cmd := exec.CommandContext(ctx, ocPath, args...)
cmd.Stdin = strings.NewReader(preloginCookie) cmd.Stdin = strings.NewReader(secret + "\n")
output, err := cmd.CombinedOutput() output, err := cmd.CombinedOutput()
result := parseOpenConnectAuthenticateOutput(string(output))
serverCert := suggestedOpenConnectServerCert(string(output))
if err != nil { if err != nil {
return nil, fmt.Errorf("openconnect --authenticate failed: %w\noutput: %s", err, string(output)) if ctx.Err() != nil {
return nil, fmt.Errorf("openconnect authentication timed out or was cancelled: %w", ctx.Err())
}
return nil, &openConnectAuthError{cause: err, serverCert: serverCert}
}
if result.Cookie == "" {
return nil, &openConnectAuthError{
cause: errors.New("no COOKIE in command output"),
serverCert: serverCert,
}
} }
result := &gpSamlAuthResult{} log.Infof("[OpenConnect] Authentication successful: cookie_len=%d, host=%s, has_fingerprint=%v",
for _, line := range strings.Split(string(output), "\n") { len(result.Cookie), result.Host, result.Fingerprint != "")
return result, nil
}
func parseOpenConnectAuthenticateOutput(output string) *openConnectAuthResult {
result := &openConnectAuthResult{}
for _, line := range strings.Split(output, "\n") {
line = strings.TrimSpace(line) line = strings.TrimSpace(line)
switch { switch {
case strings.HasPrefix(line, "COOKIE="): case strings.HasPrefix(line, "COOKIE="):
@@ -158,15 +232,7 @@ func convertGPPreloginCookie(ctx context.Context, gateway, preloginCookie, user
} }
} }
} }
return result
if result.Cookie == "" {
return nil, fmt.Errorf("no COOKIE in openconnect --authenticate output: %s", string(output))
}
log.Infof("[GP-SAML] openconnect --authenticate: cookie_len=%d, host=%s, fingerprint=%s",
len(result.Cookie), result.Host, result.Fingerprint)
return result, nil
} }
func unshellQuote(s string) string { func unshellQuote(s string) string {
@@ -179,7 +245,7 @@ func unshellQuote(s string) string {
return s return s
} }
func parseGPSamlFromCommandLine(line string, result *gpSamlAuthResult) { func parseGPSamlFromCommandLine(line string, result *openConnectAuthResult) {
if !strings.Contains(line, "openconnect") { if !strings.Contains(line, "openconnect") {
return return
} }
@@ -1,6 +1,10 @@
package network package network
import ( import (
"context"
"errors"
"os"
"path/filepath"
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@@ -71,7 +75,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
line string line string
initialResult *gpSamlAuthResult initialResult *openConnectAuthResult
expectedCookie string expectedCookie string
expectedUser string expectedUser string
expectedFP string expectedFP string
@@ -79,7 +83,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "full openconnect command", name: "full openconnect command",
line: "openconnect --protocol=gp --cookie=AUTH123 --servercert=pin-sha256:ABC --user=john", line: "openconnect --protocol=gp --cookie=AUTH123 --servercert=pin-sha256:ABC --user=john",
initialResult: &gpSamlAuthResult{}, initialResult: &openConnectAuthResult{},
expectedCookie: "AUTH123", expectedCookie: "AUTH123",
expectedUser: "john", expectedUser: "john",
expectedFP: "pin-sha256:ABC", expectedFP: "pin-sha256:ABC",
@@ -87,7 +91,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "with equals signs in cookie", name: "with equals signs in cookie",
line: "openconnect --cookie=authcookie=xyz123&portal=GATE --user=jane", line: "openconnect --cookie=authcookie=xyz123&portal=GATE --user=jane",
initialResult: &gpSamlAuthResult{}, initialResult: &openConnectAuthResult{},
expectedCookie: "authcookie=xyz123&portal=GATE", expectedCookie: "authcookie=xyz123&portal=GATE",
expectedUser: "jane", expectedUser: "jane",
expectedFP: "", expectedFP: "",
@@ -95,7 +99,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "non-openconnect line", name: "non-openconnect line",
line: "some other output", line: "some other output",
initialResult: &gpSamlAuthResult{}, initialResult: &openConnectAuthResult{},
expectedCookie: "", expectedCookie: "",
expectedUser: "", expectedUser: "",
expectedFP: "", expectedFP: "",
@@ -103,7 +107,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "preserves existing values", name: "preserves existing values",
line: "openconnect --user=newuser", line: "openconnect --user=newuser",
initialResult: &gpSamlAuthResult{Cookie: "existing", Fingerprint: "existing-fp"}, initialResult: &openConnectAuthResult{Cookie: "existing", Fingerprint: "existing-fp"},
expectedCookie: "existing", expectedCookie: "existing",
expectedUser: "newuser", expectedUser: "newuser",
expectedFP: "existing-fp", expectedFP: "existing-fp",
@@ -111,7 +115,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "only updates empty fields", name: "only updates empty fields",
line: "openconnect --cookie=NEW --user=NEW", line: "openconnect --cookie=NEW --user=NEW",
initialResult: &gpSamlAuthResult{Cookie: "OLD"}, initialResult: &openConnectAuthResult{Cookie: "OLD"},
expectedCookie: "OLD", expectedCookie: "OLD",
expectedUser: "NEW", expectedUser: "NEW",
expectedFP: "", expectedFP: "",
@@ -119,7 +123,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "real gp-saml-gui output", name: "real gp-saml-gui output",
line: "openconnect --protocol=gp --user=john.doe@example.com --os=linux-64 --usergroup=gateway:prelogin-cookie --passwd-on-stdin", line: "openconnect --protocol=gp --user=john.doe@example.com --os=linux-64 --usergroup=gateway:prelogin-cookie --passwd-on-stdin",
initialResult: &gpSamlAuthResult{}, initialResult: &openConnectAuthResult{},
expectedCookie: "", expectedCookie: "",
expectedUser: "john.doe@example.com", expectedUser: "john.doe@example.com",
expectedFP: "", expectedFP: "",
@@ -127,7 +131,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
{ {
name: "with server cert flag", name: "with server cert flag",
line: "openconnect --servercert=pin-sha256:xp3scfzy3rOgQEXnfPiYKrUk7D66a8b8O+gEXaMPleE= vpn.example.com", line: "openconnect --servercert=pin-sha256:xp3scfzy3rOgQEXnfPiYKrUk7D66a8b8O+gEXaMPleE= vpn.example.com",
initialResult: &gpSamlAuthResult{}, initialResult: &openConnectAuthResult{},
expectedCookie: "", expectedCookie: "",
expectedUser: "", expectedUser: "",
expectedFP: "pin-sha256:xp3scfzy3rOgQEXnfPiYKrUk7D66a8b8O+gEXaMPleE=", expectedFP: "pin-sha256:xp3scfzy3rOgQEXnfPiYKrUk7D66a8b8O+gEXaMPleE=",
@@ -158,7 +162,7 @@ func TestParseGPSamlFromCommandLine_MultipleLines(t *testing.T) {
"", "",
} }
result := &gpSamlAuthResult{} result := &openConnectAuthResult{}
for _, line := range lines { for _, line := range lines {
parseGPSamlFromCommandLine(line, result) parseGPSamlFromCommandLine(line, result)
} }
@@ -167,3 +171,19 @@ func TestParseGPSamlFromCommandLine_MultipleLines(t *testing.T) {
assert.Empty(t, result.Cookie, "cookie should not be parsed from command line") assert.Empty(t, result.Cookie, "cookie should not be parsed from command line")
assert.Empty(t, result.Fingerprint) assert.Empty(t, result.Fingerprint)
} }
func TestRunOpenConnectAuthenticateSanitizesFailure(t *testing.T) {
binDir := t.TempDir()
openConnectPath := filepath.Join(binDir, "openconnect")
script := "#!/bin/sh\nprintf '%s\\n' 'Cookie: should-not-leak' 'Add --servercert pin-sha256:TEST-FINGERPRINT' >&2\nexit 1\n"
assert.NoError(t, os.WriteFile(openConnectPath, []byte(script), 0o755))
t.Setenv("PATH", binDir)
_, err := runOpenConnectAuthenticate(context.Background(), []string{"--authenticate", "vpn.example.test"}, "password")
assert.Error(t, err)
assert.NotContains(t, err.Error(), "should-not-leak")
var authErr *openConnectAuthError
assert.True(t, errors.As(err, &authErr))
assert.Equal(t, "pin-sha256:TEST-FINGERPRINT", authErr.serverCert)
}
@@ -326,6 +326,7 @@ func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool)
} }
authAction := detectVPNAuthAction(vpnServiceType, vpnData) authAction := detectVPNAuthAction(vpnServiceType, vpnData)
var openConnectAuth *openConnectAuthResult
switch authAction { switch authAction {
case "openvpn_username": case "openvpn_username":
@@ -335,6 +336,19 @@ func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool)
if err := b.handleOpenVPNUsernameAuth(targetConn, connName, targetUUID, vpnServiceType); err != nil { if err := b.handleOpenVPNUsernameAuth(targetConn, connName, targetUUID, vpnServiceType); err != nil {
return err return err
} }
case "openconnect_password":
if err := b.ensureOpenConnectAgentFlags(targetConn, vpnData); err != nil {
return fmt.Errorf("failed to prepare OpenConnect connection: %w", err)
}
authCtx, authCancel := context.WithTimeout(context.Background(), 5*time.Minute)
openConnectAuth, err = b.handleOpenConnectPasswordAuth(
authCtx, targetConn, connName, targetUUID, vpnServiceType, vpnData,
)
authCancel()
if err != nil {
return fmt.Errorf("OpenConnect authentication failed: %w", err)
}
case "gp_saml": case "gp_saml":
gateway := vpnData["gateway"] gateway := vpnData["gateway"]
protocol := vpnData["protocol"] protocol := vpnData["protocol"]
@@ -345,7 +359,7 @@ func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool)
log.Infof("[ConnectVPN] GlobalProtect SAML/SSO authentication required for %s (gateway=%s)", connName, gateway) log.Infof("[ConnectVPN] GlobalProtect SAML/SSO authentication required for %s (gateway=%s)", connName, gateway)
samlCtx, samlCancel := context.WithTimeout(context.Background(), 5*time.Minute) samlCtx, samlCancel := context.WithTimeout(context.Background(), 5*time.Minute)
authResult, err := b.runGlobalProtectSAMLAuth(samlCtx, gateway, protocol) openConnectAuth, err = b.runGlobalProtectSAMLAuth(samlCtx, gateway, protocol)
samlCancel() samlCancel()
if err != nil { if err != nil {
errMsg := err.Error() errMsg := err.Error()
@@ -363,16 +377,6 @@ func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool)
} }
} }
b.cachedGPSamlMu.Lock()
b.cachedGPSamlCookie = &cachedGPSamlCookie{
ConnectionUUID: targetUUID,
Cookie: authResult.Cookie,
Host: authResult.Host,
User: authResult.User,
Fingerprint: authResult.Fingerprint,
}
b.cachedGPSamlMu.Unlock()
if err := targetConn.ClearSecrets(); err != nil { if err := targetConn.ClearSecrets(); err != nil {
log.Warnf("[ConnectVPN] ClearSecrets failed (non-fatal): %v", err) log.Warnf("[ConnectVPN] ClearSecrets failed (non-fatal): %v", err)
} else { } else {
@@ -382,6 +386,19 @@ func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool)
log.Infof("[ConnectVPN] GlobalProtect SAML cookie cached for %s, proceeding with activation", connName) log.Infof("[ConnectVPN] GlobalProtect SAML cookie cached for %s, proceeding with activation", connName)
} }
if openConnectAuth != nil {
b.cachedOpenConnectMu.Lock()
b.cachedOpenConnectAuth = &cachedOpenConnectAuth{
ConnectionUUID: targetUUID,
Cookie: openConnectAuth.Cookie,
Host: openConnectAuth.Host,
User: openConnectAuth.User,
Fingerprint: openConnectAuth.Fingerprint,
}
b.cachedOpenConnectMu.Unlock()
log.Infof("[ConnectVPN] OpenConnect authentication cached for %s, proceeding with activation", connName)
}
b.stateMutex.Lock() b.stateMutex.Lock()
b.state.IsConnectingVPN = true b.state.IsConnectingVPN = true
b.state.ConnectingVPNUUID = targetUUID b.state.ConnectingVPNUUID = targetUUID
@@ -394,6 +411,13 @@ func (b *NetworkManagerBackend) ConnectVPN(uuidOrName string, singleActive bool)
nm := b.nmConn.(gonetworkmanager.NetworkManager) nm := b.nmConn.(gonetworkmanager.NetworkManager)
_, err = nm.ActivateConnection(targetConn, nil, nil) _, err = nm.ActivateConnection(targetConn, nil, nil)
if err != nil { if err != nil {
b.cachedOpenConnectMu.Lock()
b.cachedOpenConnectAuth = nil
b.cachedOpenConnectMu.Unlock()
b.pendingVPNSaveMu.Lock()
b.pendingVPNSave = nil
b.pendingVPNSaveMu.Unlock()
b.stateMutex.Lock() b.stateMutex.Lock()
b.state.IsConnectingVPN = false b.state.IsConnectingVPN = false
b.state.ConnectingVPNUUID = "" b.state.ConnectingVPNUUID = ""
@@ -425,6 +449,9 @@ func detectVPNAuthAction(serviceType string, data map[string]string) string {
log.Infof("[VPN] External browser auth detected for protocol '%s' but only GlobalProtect (gp) is currently supported", protocol) log.Infof("[VPN] External browser auth detected for protocol '%s' but only GlobalProtect (gp) is currently supported", protocol)
} }
} }
if protocol == "fortinet" && data["authtype"] == "password" {
return "openconnect_password"
}
case strings.Contains(serviceType, "openvpn"): case strings.Contains(serviceType, "openvpn"):
connType := data["connection-type"] connType := data["connection-type"]
username := data["username"] username := data["username"]
@@ -435,6 +462,200 @@ func detectVPNAuthAction(serviceType string, data map[string]string) string {
return "" return ""
} }
func setOpenConnectAgentFlags(data map[string]string) bool {
changed := false
for _, field := range []string{"cookie", "gateway", "gwcert"} {
key := field + "-flags"
if data[key] != "2" {
data[key] = "2"
changed = true
}
}
return changed
}
func (b *NetworkManagerBackend) ensureOpenConnectAgentFlags(conn gonetworkmanager.Connection, data map[string]string) error {
if !setOpenConnectAgentFlags(data) {
return nil
}
if b.dbusConn == nil {
return fmt.Errorf("NetworkManager D-Bus connection is unavailable")
}
connObj := b.dbusConn.Object("org.freedesktop.NetworkManager", conn.GetPath())
var existingSettings map[string]map[string]dbus.Variant
if err := connObj.Call("org.freedesktop.NetworkManager.Settings.Connection.GetSettings", 0).Store(&existingSettings); err != nil {
return fmt.Errorf("failed to get connection settings: %w", err)
}
vpn, ok := existingSettings["vpn"]
if !ok {
return fmt.Errorf("VPN settings are missing")
}
vpn["data"] = dbus.MakeVariant(data)
var stored map[string]map[string]dbus.Variant
if err := connObj.Call("org.freedesktop.NetworkManager.Settings.Connection.GetSecrets", 0, "vpn").Store(&stored); err != nil {
return fmt.Errorf("failed to preserve VPN secrets: %w", err)
}
if storedVPN, ok := stored["vpn"]; ok {
if secrets, ok := storedVPN["secrets"]; ok {
vpn["secrets"] = secrets
}
}
settings := map[string]map[string]dbus.Variant{"vpn": vpn}
if connection, ok := existingSettings["connection"]; ok {
settings["connection"] = connection
}
var result map[string]dbus.Variant
if err := connObj.Call("org.freedesktop.NetworkManager.Settings.Connection.Update2", 0,
settings, uint32(0x1), map[string]dbus.Variant{}).Store(&result); err != nil {
return fmt.Errorf("failed to set NetworkManager secret-agent flags: %w", err)
}
return nil
}
func (b *NetworkManagerBackend) handleOpenConnectPasswordAuth(
ctx context.Context,
targetConn gonetworkmanager.Connection,
connName, targetUUID, vpnServiceType string,
data map[string]string,
) (*openConnectAuthResult, error) {
username := data["username"]
secrets := map[string]string{}
if stored, err := targetConn.GetSecrets("vpn"); err == nil {
if vpn, ok := stored["vpn"]; ok {
if saved, ok := vpn["secrets"].(map[string]string); ok {
secrets = saved
}
}
}
password := secrets["password"]
serverCert := secrets["certificate:"+data["gateway"]]
if serverCert == "" {
serverCert = secrets["gwcert"]
}
var reply PromptReply
if username == "" || password == "" {
if b.promptBroker == nil {
return nil, fmt.Errorf("password authentication requires an interactive prompt")
}
fields := []string{}
fieldsInfo := []FieldInfo{}
if username == "" {
fields = append(fields, "username")
fieldsInfo = append(fieldsInfo, FieldInfo{Name: "username", Label: "Username", IsSecret: false})
}
if password == "" {
fields = append(fields, "password")
fieldsInfo = append(fieldsInfo, FieldInfo{Name: "password", Label: "Password", IsSecret: true})
}
token, err := b.promptBroker.Ask(ctx, PromptRequest{
Name: connName,
ConnType: "vpn",
VpnService: vpnServiceType,
SettingName: "vpn",
Fields: fields,
FieldsInfo: fieldsInfo,
Reason: "required",
ConnectionId: connName,
ConnectionUuid: targetUUID,
ConnectionPath: string(targetConn.GetPath()),
})
if err != nil {
return nil, fmt.Errorf("failed to request credentials: %w", err)
}
reply, err = b.promptBroker.Wait(ctx, token)
if err != nil {
return nil, fmt.Errorf("credentials prompt failed: %w", err)
}
if username == "" {
username = reply.Secrets["username"]
}
if password == "" {
password = reply.Secrets["password"]
}
}
auth, err := runOpenConnectPasswordAuth(ctx, data, username, password, serverCert)
persistentSecrets := map[string]string{}
var authErr *openConnectAuthError
if err != nil && errors.As(err, &authErr) && authErr.serverCert != "" && authErr.serverCert != serverCert {
if b.promptBroker == nil {
return nil, fmt.Errorf("VPN server certificate is untrusted: %s", authErr.serverCert)
}
reason := "server-certificate"
if serverCert != "" {
reason = "server-certificate-changed"
}
token, promptErr := b.promptBroker.Ask(ctx, PromptRequest{
Name: connName,
ConnType: "vpn",
VpnService: vpnServiceType,
SettingName: "vpn",
Hints: []string{authErr.serverCert},
Reason: reason,
ConnectionId: connName,
ConnectionUuid: targetUUID,
ConnectionPath: string(targetConn.GetPath()),
})
if promptErr != nil {
return nil, fmt.Errorf("failed to request certificate confirmation: %w", promptErr)
}
if _, promptErr = b.promptBroker.Wait(ctx, token); promptErr != nil {
return nil, fmt.Errorf("certificate confirmation failed: %w", promptErr)
}
auth, err = runOpenConnectPasswordAuth(ctx, data, username, password, authErr.serverCert)
if err == nil {
persistentSecrets["certificate:"+data["gateway"]] = authErr.serverCert
}
}
if err != nil {
return nil, err
}
if len(reply.Secrets) > 0 || len(persistentSecrets) > 0 {
creds := &pendingVPNCredentials{
ConnectionPath: string(targetConn.GetPath()),
PersistentSecrets: persistentSecrets,
}
if _, ok := reply.Secrets["username"]; ok {
creds.Username = username
}
if reply.Save {
creds.Username = username
creds.Password = password
creds.Secrets = map[string]string{"password": password}
creds.SavePassword = true
}
b.pendingVPNSaveMu.Lock()
b.pendingVPNSave = creds
b.pendingVPNSaveMu.Unlock()
}
return auth, nil
}
func suggestedOpenConnectServerCert(output string) string {
for _, field := range strings.Fields(output) {
field = strings.Trim(field, "'\".,")
if strings.HasPrefix(field, "pin-sha256:") {
return field
}
}
return ""
}
func (b *NetworkManagerBackend) handleOpenVPNUsernameAuth(targetConn gonetworkmanager.Connection, connName, targetUUID, vpnServiceType string) error { func (b *NetworkManagerBackend) handleOpenVPNUsernameAuth(targetConn gonetworkmanager.Connection, connName, targetUUID, vpnServiceType string) error {
log.Infof("[ConnectVPN] OpenVPN requires username in vpn.data - prompting before activation") log.Infof("[ConnectVPN] OpenVPN requires username in vpn.data - prompting before activation")
@@ -758,13 +979,13 @@ func (b *NetworkManagerBackend) updateVPNConnectionState() {
b.state.VPNErrorUuid = "" b.state.VPNErrorUuid = ""
b.stateMutex.Unlock() b.stateMutex.Unlock()
// Clear cached PKCS11 PIN and SAML cookie on success // Clear cached one-shot authentication values on success.
b.cachedPKCS11Mu.Lock() b.cachedPKCS11Mu.Lock()
b.cachedPKCS11PIN = nil b.cachedPKCS11PIN = nil
b.cachedPKCS11Mu.Unlock() b.cachedPKCS11Mu.Unlock()
b.cachedGPSamlMu.Lock() b.cachedOpenConnectMu.Lock()
b.cachedGPSamlCookie = nil b.cachedOpenConnectAuth = nil
b.cachedGPSamlMu.Unlock() b.cachedOpenConnectMu.Unlock()
b.pendingVPNSaveMu.Lock() b.pendingVPNSaveMu.Lock()
pending := b.pendingVPNSave pending := b.pendingVPNSave
@@ -787,13 +1008,16 @@ func (b *NetworkManagerBackend) updateVPNConnectionState() {
b.state.VPNErrorUuid = connectingVPNUUID b.state.VPNErrorUuid = connectingVPNUUID
b.stateMutex.Unlock() b.stateMutex.Unlock()
// Clear cached PKCS11 PIN and SAML cookie on failure // Clear cached one-shot authentication values on failure.
b.cachedPKCS11Mu.Lock() b.cachedPKCS11Mu.Lock()
b.cachedPKCS11PIN = nil b.cachedPKCS11PIN = nil
b.cachedPKCS11Mu.Unlock() b.cachedPKCS11Mu.Unlock()
b.cachedGPSamlMu.Lock() b.cachedOpenConnectMu.Lock()
b.cachedGPSamlCookie = nil b.cachedOpenConnectAuth = nil
b.cachedGPSamlMu.Unlock() b.cachedOpenConnectMu.Unlock()
b.pendingVPNSaveMu.Lock()
b.pendingVPNSave = nil
b.pendingVPNSaveMu.Unlock()
return return
} }
} }
@@ -811,13 +1035,16 @@ func (b *NetworkManagerBackend) updateVPNConnectionState() {
b.state.VPNErrorUuid = connectingVPNUUID b.state.VPNErrorUuid = connectingVPNUUID
b.stateMutex.Unlock() b.stateMutex.Unlock()
// Clear cached PKCS11 PIN and SAML cookie // Clear cached one-shot authentication values.
b.cachedPKCS11Mu.Lock() b.cachedPKCS11Mu.Lock()
b.cachedPKCS11PIN = nil b.cachedPKCS11PIN = nil
b.cachedPKCS11Mu.Unlock() b.cachedPKCS11Mu.Unlock()
b.cachedGPSamlMu.Lock() b.cachedOpenConnectMu.Lock()
b.cachedGPSamlCookie = nil b.cachedOpenConnectAuth = nil
b.cachedGPSamlMu.Unlock() b.cachedOpenConnectMu.Unlock()
b.pendingVPNSaveMu.Lock()
b.pendingVPNSave = nil
b.pendingVPNSaveMu.Unlock()
} }
} }
@@ -863,17 +1090,40 @@ func (b *NetworkManagerBackend) saveVPNCredentials(creds *pendingVPNCredentials)
log.Infof("[saveVPNCredentials] Saving username") log.Infof("[saveVPNCredentials] Saving username")
} }
// Save secrets if requested secs := map[string]string{}
if creds.SavePassword { if len(creds.PersistentSecrets) > 0 {
secs := creds.Secrets var stored map[string]map[string]dbus.Variant
if len(secs) == 0 { if err := connObj.Call("org.freedesktop.NetworkManager.Settings.Connection.GetSecrets", 0, "vpn").Store(&stored); err != nil {
secs = map[string]string{"password": creds.Password} log.Warnf("[saveVPNCredentials] GetSecrets failed: %v", err)
return
} }
for field := range secs { if storedVPN, ok := stored["vpn"]; ok {
if storedSecrets, ok := storedVPN["secrets"]; ok {
saved, _ := storedSecrets.Value().(map[string]string)
for field, value := range saved {
secs[field] = value
}
}
}
for field, value := range creds.PersistentSecrets {
secs[field] = value
data[field+"-flags"] = "0" data[field+"-flags"] = "0"
} }
}
if creds.SavePassword {
toSave := creds.Secrets
if len(toSave) == 0 {
toSave = map[string]string{"password": creds.Password}
}
for field, value := range toSave {
secs[field] = value
data[field+"-flags"] = "0"
}
}
if len(secs) > 0 {
vpn["secrets"] = dbus.MakeVariant(secs) vpn["secrets"] = dbus.MakeVariant(secs)
log.Infof("[saveVPNCredentials] Saving %d secret field(s) with flags=0", len(secs)) log.Infof("[saveVPNCredentials] Saving %d secret field(s)", len(secs))
} }
vpn["data"] = dbus.MakeVariant(data) vpn["data"] = dbus.MakeVariant(data)
@@ -1,10 +1,14 @@
package network package network
import ( import (
"context"
"os"
"path/filepath"
"testing" "testing"
mock_gonetworkmanager "github.com/AvengeMedia/DankMaterialShell/core/internal/mocks/github.com/Wifx/gonetworkmanager/v2" mock_gonetworkmanager "github.com/AvengeMedia/DankMaterialShell/core/internal/mocks/github.com/Wifx/gonetworkmanager/v2"
"github.com/Wifx/gonetworkmanager/v2" "github.com/Wifx/gonetworkmanager/v2"
"github.com/godbus/dbus/v5"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
@@ -136,3 +140,137 @@ func TestNetworkManagerBackend_UpdateVPNConnectionState_EmptyUUID(t *testing.T)
backend.updateVPNConnectionState() backend.updateVPNConnectionState()
}) })
} }
func TestDetectVPNAuthAction_FortinetPasswordOnly(t *testing.T) {
service := "org.freedesktop.NetworkManager.openconnect"
assert.Equal(t, "openconnect_password", detectVPNAuthAction(service, map[string]string{
"protocol": "fortinet",
"authtype": "password",
}))
assert.Empty(t, detectVPNAuthAction(service, map[string]string{
"protocol": "anyconnect",
"authtype": "password",
}))
assert.Empty(t, detectVPNAuthAction(service, map[string]string{
"protocol": "fortinet",
"authtype": "saml",
}))
}
func TestEnsureOpenConnectAgentFlags(t *testing.T) {
data := map[string]string{"protocol": "fortinet"}
assert.True(t, setOpenConnectAgentFlags(data))
assert.Equal(t, "2", data["cookie-flags"])
assert.Equal(t, "2", data["gateway-flags"])
assert.Equal(t, "2", data["gwcert-flags"])
assert.False(t, setOpenConnectAgentFlags(data))
}
func TestOpenConnectCertificateConfirmation(t *testing.T) {
binDir := t.TempDir()
openConnectPath := filepath.Join(binDir, "openconnect")
script := `#!/bin/sh
case "$*" in
*--servercert=pin-sha256:TEST-FINGERPRINT*)
printf '%s\n' "COOKIE='SVPNCOOKIE=test'" "HOST='vpn.example.test'" "FINGERPRINT='pin-sha256:TEST-FINGERPRINT'"
exit 0
;;
esac
printf '%s\n' 'Add --servercert pin-sha256:TEST-FINGERPRINT' >&2
exit 1
`
assert.NoError(t, os.WriteFile(openConnectPath, []byte(script), 0o755))
t.Setenv("PATH", binDir)
conn := mock_gonetworkmanager.NewMockConnection(t)
connPath := dbus.ObjectPath("/org/freedesktop/NetworkManager/Settings/999")
conn.EXPECT().GetSecrets("vpn").Return(gonetworkmanager.ConnectionSettings{
"vpn": {"secrets": map[string]string{"password": "test-password"}},
}, nil)
conn.EXPECT().GetPath().Return(connPath).Twice()
broker := &fakePromptBroker{
asked: make(chan PromptRequest, 1),
reply: PromptReply{},
}
backend := &NetworkManagerBackend{promptBroker: broker}
data := map[string]string{
"gateway": "vpn.example.test:443",
"protocol": "fortinet",
"authtype": "password",
"username": "test-user",
}
result, err := backend.handleOpenConnectPasswordAuth(
context.Background(), conn, "Test VPN", "test-uuid",
"org.freedesktop.NetworkManager.openconnect", data,
)
assert.NoError(t, err)
assert.Equal(t, "SVPNCOOKIE=test", result.Cookie)
assert.Equal(t, "vpn.example.test:443", result.Host)
prompt := <-broker.asked
assert.Equal(t, "server-certificate", prompt.Reason)
assert.Equal(t, []string{"pin-sha256:TEST-FINGERPRINT"}, prompt.Hints)
assert.Equal(t, map[string]string{
"certificate:vpn.example.test:443": "pin-sha256:TEST-FINGERPRINT",
}, backend.pendingVPNSave.PersistentSecrets)
}
func TestOpenConnectCertificateRotationReprompts(t *testing.T) {
binDir := t.TempDir()
openConnectPath := filepath.Join(binDir, "openconnect")
script := `#!/bin/sh
case "$*" in
*--servercert=pin-sha256:NEW-FINGERPRINT*)
printf '%s\n' "COOKIE='SVPNCOOKIE=test'" "HOST='vpn.example.test'" "FINGERPRINT='pin-sha256:NEW-FINGERPRINT'"
exit 0
;;
esac
printf '%s\n' 'Add --servercert pin-sha256:NEW-FINGERPRINT' >&2
exit 1
`
assert.NoError(t, os.WriteFile(openConnectPath, []byte(script), 0o755))
t.Setenv("PATH", binDir)
conn := mock_gonetworkmanager.NewMockConnection(t)
connPath := dbus.ObjectPath("/org/freedesktop/NetworkManager/Settings/999")
conn.EXPECT().GetSecrets("vpn").Return(gonetworkmanager.ConnectionSettings{
"vpn": {"secrets": map[string]string{
"password": "test-password",
"certificate:vpn.example.test:443": "pin-sha256:OLD-FINGERPRINT",
}},
}, nil)
conn.EXPECT().GetPath().Return(connPath).Twice()
broker := &fakePromptBroker{
asked: make(chan PromptRequest, 1),
reply: PromptReply{},
}
backend := &NetworkManagerBackend{promptBroker: broker}
data := map[string]string{
"gateway": "vpn.example.test:443",
"protocol": "fortinet",
"authtype": "password",
"username": "test-user",
}
result, err := backend.handleOpenConnectPasswordAuth(
context.Background(), conn, "Test VPN", "test-uuid",
"org.freedesktop.NetworkManager.openconnect", data,
)
assert.NoError(t, err)
assert.Equal(t, "SVPNCOOKIE=test", result.Cookie)
prompt := <-broker.asked
assert.Equal(t, "server-certificate-changed", prompt.Reason)
assert.Equal(t, []string{"pin-sha256:NEW-FINGERPRINT"}, prompt.Hints)
assert.Equal(t, map[string]string{
"certificate:vpn.example.test:443": "pin-sha256:NEW-FINGERPRINT",
}, backend.pendingVPNSave.PersistentSecrets)
assert.False(t, backend.pendingVPNSave.SavePassword)
assert.Empty(t, backend.pendingVPNSave.Secrets)
}
+18
View File
@@ -43,6 +43,8 @@ func HandleRequest(conn *models.Conn, req models.Request, manager *Manager) {
handleGetNetworkQRCode(conn, req, manager) handleGetNetworkQRCode(conn, req, manager)
case "network.qrcode-content": case "network.qrcode-content":
handleGetNetworkQRCodeContent(conn, req, manager) handleGetNetworkQRCodeContent(conn, req, manager)
case "network.generate-qrcode":
handleGenerateQRCode(conn, req)
case "network.delete-qrcode": case "network.delete-qrcode":
handleDeleteQRCode(conn, req, manager) handleDeleteQRCode(conn, req, manager)
case "network.ethernet.info": case "network.ethernet.info":
@@ -365,6 +367,22 @@ func handleGetNetworkQRCodeContent(conn *models.Conn, req models.Request, manage
models.Respond(conn, req.ID, content) models.Respond(conn, req.ID, content)
} }
func handleGenerateQRCode(conn *models.Conn, req models.Request) {
text, err := params.String(req.Params, "text")
if err != nil {
models.RespondError(conn, req.ID, err.Error())
return
}
paths, err := generateTextQRCode(text)
if err != nil {
models.RespondError(conn, req.ID, err.Error())
return
}
models.Respond(conn, req.ID, paths)
}
func handleDeleteQRCode(conn *models.Conn, req models.Request, _ *Manager) { func handleDeleteQRCode(conn *models.Conn, req models.Request, _ *Manager) {
path, err := params.String(req.Params, "path") path, err := params.String(req.Params, "path")
if err != nil { if err != nil {
@@ -0,0 +1,64 @@
package network
import (
"crypto/sha256"
"fmt"
"os"
"time"
"github.com/yeqown/go-qrcode/v2"
"github.com/yeqown/go-qrcode/writer/standard"
)
const textQRCodeTmpPrefix = "/tmp/dank-text-qrcode-"
func generateTextQRCode(text string) ([2]string, error) {
qrc, err := qrcode.New(text)
if err != nil {
return [2]string{}, fmt.Errorf("failed to create QR code for text: %w", err)
}
pathThemed, pathNormal := textQRCodePaths(text)
if err := saveQRCodePNG(qrc, pathThemed, standard.WithBgTransparent(), standard.WithFgColorRGBHex("#ffffff")); err != nil {
return [2]string{}, err
}
if err := saveQRCodePNG(qrc, pathNormal); err != nil {
return [2]string{}, err
}
return [2]string{pathThemed, pathNormal}, nil
}
// Write to a temp file and rename into place so the shell's Image never
// observes a partially written PNG.
func saveQRCodePNG(qrc *qrcode.QRCode, path string, opts ...standard.ImageOption) error {
tmpPath := path + ".tmp"
opts = append(opts, standard.WithBuiltinImageEncoder(standard.PNG_FORMAT))
w, err := standard.New(tmpPath, opts...)
if err != nil {
return fmt.Errorf("failed to create QR code writer: %w", err)
}
if err := qrc.Save(w); err != nil {
os.Remove(tmpPath)
return fmt.Errorf("failed to save QR code: %w", err)
}
if err := os.Rename(tmpPath, path); err != nil {
os.Remove(tmpPath)
return fmt.Errorf("failed to move QR code into place: %w", err)
}
return nil
}
// Paths are unique per generation, not per text: the library's mask selection
// is non-deterministic, so regenerating the same text produces different
// bytes, and reusing a path lets the shell's URL-keyed pixmap cache serve a
// stale pattern over the new file.
func textQRCodePaths(text string) (themed, normal string) {
hash := fmt.Sprintf("%x", sha256.Sum256([]byte(text)))[:8]
nonce := time.Now().UnixNano()
themed = fmt.Sprintf("%s%s-%d-themed.png", textQRCodeTmpPrefix, hash, nonce)
normal = fmt.Sprintf("%s%s-%d-normal.png", textQRCodeTmpPrefix, hash, nonce)
return
}
+1 -1
View File
@@ -24,7 +24,7 @@ func qrCodePaths(ssid string) (themed, normal string) {
func isValidQRCodePath(path string) bool { func isValidQRCodePath(path string) bool {
clean := filepath.Clean(path) clean := filepath.Clean(path)
return strings.HasPrefix(clean, qrCodeTmpPrefix) && strings.HasSuffix(clean, ".png") return (strings.HasPrefix(clean, qrCodeTmpPrefix) || strings.HasPrefix(clean, textQRCodeTmpPrefix)) && strings.HasSuffix(clean, ".png")
} }
var safePathChar = regexp.MustCompile(`[^a-zA-Z0-9_-]`) var safePathChar = regexp.MustCompile(`[^a-zA-Z0-9_-]`)
Generated
+3 -3
View File
@@ -3,11 +3,11 @@
"dank-qml-common": { "dank-qml-common": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1785121997, "lastModified": 1785445867,
"narHash": "sha256-/MslqFCpjxws8DZqipEKCCTBa0m/SCV3+v1NRT6EuvQ=", "narHash": "sha256-l9IRsLIVZ7bV+KMuTdCga89tGt4lpdMXhQR7f/2qoe4=",
"owner": "AvengeMedia", "owner": "AvengeMedia",
"repo": "dank-qml-common", "repo": "dank-qml-common",
"rev": "7cc4564e5903a2955fe7da76969f20252cacf9bf", "rev": "3b06bd9372e18bc8086cc3958d4f677d57fbfdd8",
"type": "github" "type": "github"
}, },
"original": { "original": {
+1 -1
View File
@@ -111,7 +111,7 @@
inherit version; inherit version;
pname = "dms-shell"; pname = "dms-shell";
src = ./core; src = ./core;
vendorHash = "sha256-ZvaOPC92ZFRPqSyLJa2TA9OUKQ3QnWCIMxrnYLGnC58="; vendorHash = "sha256-pjaRyB6E2TZvVd5a4xcdGSRVr9Dg9wEG/5e+HdtZJCg=";
subPackages = [ "cmd/dms" ]; subPackages = [ "cmd/dms" ];
+17
View File
@@ -445,6 +445,23 @@ Item {
} }
} }
LazyLoader {
id: qrGeneratorModalLoader
active: false
Component.onCompleted: {
PopoutService.qrGeneratorModalLoader = qrGeneratorModalLoader;
}
QRGeneratorModal {
id: qrGeneratorModalItem
Component.onCompleted: {
PopoutService.qrGeneratorModal = qrGeneratorModalItem;
}
}
}
LazyLoader { LazyLoader {
id: polkitAuthModalLoader id: polkitAuthModalLoader
active: false active: false
+17 -19
View File
@@ -25,32 +25,30 @@ Item {
required property var windowRuleModalLoader required property var windowRuleModalLoader
function getPreferredBar(refPropertyName) { function getPreferredBar(refPropertyName) {
if (!root.dankBarRepeater || root.dankBarRepeater.count === 0)
return null;
const focusedScreenName = BarWidgetService.getFocusedScreenName(); const focusedScreenName = BarWidgetService.getFocusedScreenName();
const loaders = Array.from({ const bars = [];
length: root.dankBarRepeater.count if (root.dankBarRepeater) {
}, (_, i) => root.dankBarRepeater.itemAt(i)); for (let i = 0; i < root.dankBarRepeater.count; i++)
bars.push(...(root.dankBarRepeater.itemAt(i)?.item?.barVariants?.instances || []));
}
const frameBars = BarWidgetService.frameHostedBars;
for (const screenName in frameBars)
bars.push(frameBars[screenName]);
let currentBar = null; let currentBar = null;
for (const bar of bars) {
if (!bar)
continue;
for (const loader of loaders) { const onFocusedScreen = focusedScreenName && bar.modelData?.name === focusedScreenName;
const instances = loader?.item?.barVariants?.instances || []; const hasRef = !refPropertyName || !!bar[refPropertyName];
for (const bar of instances) {
if (!bar)
continue;
const onFocusedScreen = focusedScreenName && bar.modelData?.name === focusedScreenName; if (hasRef) {
const hasRef = !refPropertyName || !!bar[refPropertyName]; currentBar = bar;
if (hasRef) { if (onFocusedScreen)
currentBar = bar; break;
if (onFocusedScreen)
break;
}
} }
} }
+285
View File
@@ -0,0 +1,285 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Effects
import Quickshell
import Quickshell.Io
import qs.Modals.Common
import qs.Modals.FileBrowser
import qs.Common
import qs.Services
import qs.Widgets
DankModal {
id: root
visible: false
layerNamespace: "dms:qr-generator"
property bool disablePopupTransparency: true
property bool generating: false
property string themedQrCodePath: ""
property string normalQrCodePath: ""
property string initialText: ""
property string _pendingPayload: ""
property string _generatingPayload: ""
property string _displayedPayload: ""
modalWidth: 420
modalHeight: 440
onBackgroundClicked: hide()
onOpened: {
Qt.callLater(() => {
modalFocusScope.forceActiveFocus();
const item = contentLoader.item;
if (!item)
return;
item.saveBrowserLoader = saveBrowserLoader;
if (item.textInput) {
item.textInput.text = initialText;
item.textInput.forceActiveFocus();
}
if (initialText.length > 0) {
_pendingPayload = initialText;
generateQR(initialText);
}
});
}
function show(text) {
generating = false;
initialText = text || "";
_pendingPayload = "";
_generatingPayload = "";
_displayedPayload = "";
themedQrCodePath = "";
normalQrCodePath = "";
open();
}
function hide() {
deleteQrCodeFiles(themedQrCodePath, normalQrCodePath);
themedQrCodePath = "";
normalQrCodePath = "";
close();
}
function deleteQrCodeFiles(themed, normal) {
if (themed.length > 0)
DMSService.sendRequest("network.delete-qrcode", {
path: themed
});
if (normal.length > 0)
DMSService.sendRequest("network.delete-qrcode", {
path: normal
});
}
Timer {
id: genTimer
interval: 200
repeat: false
onTriggered: root.generateQR(root._pendingPayload)
}
function generateQR(text) {
const trimmed = (text || "").trim();
if (trimmed.length === 0 || trimmed === _displayedPayload || generating)
return;
_generatingPayload = trimmed;
generating = true;
DMSService.sendRequest("network.generate-qrcode", {
text: trimmed
}, response => {
root.generating = false;
if (response.error) {
ToastService.showError(I18n.tr("Failed to generate QR code: %1").arg(JSON.stringify(response.error)));
return;
}
if (!response.result)
return;
if (root._generatingPayload !== root._pendingPayload.trim()) {
root.deleteQrCodeFiles(response.result[0], response.result[1]);
genTimer.restart();
return;
}
const oldThemed = root.themedQrCodePath;
const oldNormal = root.normalQrCodePath;
root._displayedPayload = root._generatingPayload;
root.themedQrCodePath = response.result[0];
root.normalQrCodePath = response.result[1];
root.deleteQrCodeFiles(oldThemed, oldNormal);
});
}
function onTextChanged(text) {
_pendingPayload = text;
const trimmed = text.trim();
if (trimmed.length === 0 || trimmed === _displayedPayload) {
genTimer.stop();
return;
}
genTimer.restart();
}
LazyLoader {
id: saveBrowserLoader
active: false
FileBrowserSurfaceModal {
id: saveBrowser
browserTitle: I18n.tr("Save QR Code")
browserIcon: "qr_code"
browserType: "default"
fileExtensions: ["*.png"]
allowStacking: true
saveMode: true
defaultFileName: "qrcode.png"
onFileSelected: path => {
const cleanPath = decodeURI(path.toString().replace(/^file:\/\//, ''));
copyQrCodeProcess.exec(["cp", "-f", root.normalQrCodePath, cleanPath]);
}
Process {
id: copyQrCodeProcess
stdout: StdioCollector {
onStreamFinished: {
saveBrowser.close();
}
}
}
}
}
content: Component {
Item {
id: contentItem
property alias textInput: textInput
property var saveBrowserLoader: null
anchors.fill: parent
Column {
anchors.fill: parent
anchors.margins: Theme.spacingL
spacing: Theme.spacingL
RowLayout {
id: modalTitle
width: parent.width
StyledText {
text: I18n.tr("QR Generator")
font.pixelSize: Theme.fontSizeLarge
color: Theme.surfaceText
font.weight: Font.Bold
Layout.alignment: Qt.AlignLeft
Layout.fillWidth: true
}
DankActionButton {
iconName: "close"
iconSize: Theme.iconSize - 4
iconColor: Theme.surfaceText
onClicked: root.hide()
Layout.alignment: Qt.AlignRight
}
}
DankTextField {
id: textInput
width: parent.width
placeholderText: I18n.tr("Enter text to encode")
showClearButton: true
focus: true
onTextEdited: root.onTextChanged(text)
Keys.onEscapePressed: event => {
event.accepted = true;
root.hide();
}
}
Item {
id: qrContainer
height: Math.min(parent.height - parent.spacing - modalTitle.height - textInput.height - parent.spacing * 4, 260)
width: height
anchors.horizontalCenter: parent.horizontalCenter
opacity: 1
Behavior on opacity {
NumberAnimation {
duration: 80
easing.type: Easing.OutCubic
}
}
Image {
id: qrCodeImg
anchors.fill: parent
source: root.themedQrCodePath
fillMode: Image.PreserveAspectFit
asynchronous: true
cache: false
visible: false
onSourceChanged: qrContainer.opacity = 0
onStatusChanged: {
if (status === Image.Ready)
qrContainer.opacity = 1;
}
}
MultiEffect {
source: qrCodeImg
anchors.fill: qrCodeImg
colorization: 1.0
colorizationColor: Theme.primary
}
}
RowLayout {
width: parent.width
visible: root.themedQrCodePath.length > 0
Layout.alignment: Qt.AlignHCenter
Item {
Layout.fillWidth: true
}
DankButton {
text: I18n.tr("Save")
iconName: "save"
backgroundColor: Theme.surfaceContainer
textColor: Theme.surfaceText
onClicked: {
contentItem.saveBrowserLoader.active = true;
if (contentItem.saveBrowserLoader.item) {
contentItem.saveBrowserLoader.item.open();
}
}
}
DankButton {
text: I18n.tr("Copy")
iconName: "content_copy"
backgroundColor: Theme.primary
textColor: Theme.onPrimary
onClicked: {
if (root.normalQrCodePath.length > 0)
DMSService.sendRequest("clipboard.copyFile", {
filePath: root.normalQrCodePath
});
}
}
Item {
Layout.fillWidth: true
}
}
}
}
}
}
+83 -3
View File
@@ -31,6 +31,7 @@ DankModal {
property string promptToken: "" property string promptToken: ""
property string promptReason: "" property string promptReason: ""
property var promptFields: [] property var promptFields: []
property var promptHints: []
property string promptSetting: "" property string promptSetting: ""
property bool isVpnPrompt: false property bool isVpnPrompt: false
@@ -40,17 +41,21 @@ DankModal {
property var fieldsInfo: [] property var fieldsInfo: []
property var secretValues: ({}) property var secretValues: ({})
readonly property bool isCertificateChangedPrompt: promptReason === "server-certificate-changed"
readonly property bool isCertificatePrompt: promptReason === "server-certificate" || isCertificateChangedPrompt
readonly property string serverCertificateFingerprint: promptHints.length > 0 ? promptHints[0] : ""
readonly property bool showUsernameField: requiresEnterprise && !isVpnPrompt && fieldsInfo.length === 0 readonly property bool showUsernameField: requiresEnterprise && !isVpnPrompt && fieldsInfo.length === 0
readonly property bool showPasswordField: fieldsInfo.length === 0 readonly property bool showPasswordField: fieldsInfo.length === 0 && !isCertificatePrompt
readonly property bool showAnonField: requiresEnterprise && !isVpnPrompt readonly property bool showAnonField: requiresEnterprise && !isVpnPrompt
readonly property bool showDomainField: requiresEnterprise && !isVpnPrompt readonly property bool showDomainField: requiresEnterprise && !isVpnPrompt
readonly property bool showSavePasswordCheckbox: (isVpnPrompt || fieldsInfo.length > 0) && promptReason !== "pkcs11" readonly property bool showSavePasswordCheckbox: (isVpnPrompt || fieldsInfo.length > 0) && promptReason !== "pkcs11" && !isCertificatePrompt
readonly property int inputFieldHeight: Theme.fontSizeMedium + Theme.spacingL * 2 readonly property int inputFieldHeight: Theme.fontSizeMedium + Theme.spacingL * 2
readonly property int inputFieldWithSpacing: inputFieldHeight + Theme.spacingM readonly property int inputFieldWithSpacing: inputFieldHeight + Theme.spacingM
readonly property int checkboxRowHeight: Theme.fontSizeMedium + Theme.spacingS readonly property int checkboxRowHeight: Theme.fontSizeMedium + Theme.spacingS
readonly property int headerHeight: Theme.fontSizeLarge + Theme.fontSizeMedium + Theme.spacingM * 2 readonly property int headerHeight: Theme.fontSizeLarge + Theme.fontSizeMedium + Theme.spacingM * 2
readonly property int buttonRowHeight: 36 + Theme.spacingM readonly property int buttonRowHeight: 36 + Theme.spacingM
readonly property int certificateWarningHeight: certificateWarningColumn.implicitHeight + Theme.spacingM * 2
property int calculatedHeight: { property int calculatedHeight: {
let h = headerHeight + buttonRowHeight + Theme.spacingL * 2; let h = headerHeight + buttonRowHeight + Theme.spacingL * 2;
@@ -67,10 +72,16 @@ DankModal {
h += inputFieldWithSpacing; h += inputFieldWithSpacing;
if (showSavePasswordCheckbox) if (showSavePasswordCheckbox)
h += checkboxRowHeight; h += checkboxRowHeight;
if (isCertificatePrompt)
h += certificateWarningHeight + Theme.spacingM;
return h; return h;
} }
function focusFirstField() { function focusFirstField() {
if (isCertificatePrompt) {
connectButton.forceActiveFocus();
return;
}
if (fieldsInfo.length > 0) { if (fieldsInfo.length > 0) {
if (dynamicFieldsRepeater.count > 0) { if (dynamicFieldsRepeater.count > 0) {
const firstItem = dynamicFieldsRepeater.itemAt(0); const firstItem = dynamicFieldsRepeater.itemAt(0);
@@ -101,6 +112,7 @@ DankModal {
promptToken = ""; promptToken = "";
promptReason = ""; promptReason = "";
promptFields = []; promptFields = [];
promptHints = [];
promptSetting = ""; promptSetting = "";
isVpnPrompt = false; isVpnPrompt = false;
connectionName = ""; connectionName = "";
@@ -127,6 +139,7 @@ DankModal {
promptToken = ""; promptToken = "";
promptReason = ""; promptReason = "";
promptFields = []; promptFields = [];
promptHints = [];
promptSetting = ""; promptSetting = "";
isVpnPrompt = false; isVpnPrompt = false;
connectionName = ""; connectionName = "";
@@ -145,6 +158,7 @@ DankModal {
promptToken = token; promptToken = token;
promptReason = reason; promptReason = reason;
promptFields = fields || []; promptFields = fields || [];
promptHints = hints || [];
promptSetting = setting || "802-11-wireless-security"; promptSetting = setting || "802-11-wireless-security";
connectionType = connType || "802-11-wireless"; connectionType = connType || "802-11-wireless";
connectionName = connName || ssid || ""; connectionName = connName || ssid || "";
@@ -324,6 +338,8 @@ DankModal {
text: { text: {
if (promptReason === "pkcs11") if (promptReason === "pkcs11")
return I18n.tr("Smartcard Authentication"); return I18n.tr("Smartcard Authentication");
if (isCertificatePrompt)
return I18n.tr("Untrusted VPN certificate", "Title for VPN server certificate trust confirmation");
if (isVpnPrompt) if (isVpnPrompt)
return I18n.tr("Connect to VPN"); return I18n.tr("Connect to VPN");
if (isHiddenNetwork) if (isHiddenNetwork)
@@ -343,6 +359,8 @@ DankModal {
text: { text: {
if (promptReason === "pkcs11") if (promptReason === "pkcs11")
return I18n.tr("Enter PIN for ") + wifiPasswordSSID; return I18n.tr("Enter PIN for ") + wifiPasswordSSID;
if (isCertificatePrompt)
return wifiPasswordSSID;
if (fieldsInfo.length > 0) if (fieldsInfo.length > 0)
return I18n.tr("Enter credentials for ") + wifiPasswordSSID; return I18n.tr("Enter credentials for ") + wifiPasswordSSID;
if (isVpnPrompt) if (isVpnPrompt)
@@ -383,6 +401,45 @@ DankModal {
} }
} }
Rectangle {
id: certificateWarningBox
readonly property color warningTone: isCertificateChangedPrompt ? Theme.error : Theme.warning
width: parent.width
height: certificateWarningHeight
radius: Theme.cornerRadius
color: Theme.withAlpha(warningTone, 0.12)
border.color: Theme.withAlpha(warningTone, 0.5)
border.width: 1
visible: isCertificatePrompt
Column {
id: certificateWarningColumn
anchors.fill: parent
anchors.margins: Theme.spacingM
spacing: Theme.spacingS
StyledText {
width: parent.width
text: isCertificateChangedPrompt ? I18n.tr("The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.", "Warning shown when a trusted VPN server certificate no longer matches") : I18n.tr("Only continue if you recognize this server certificate fingerprint.", "Warning shown before trusting an unverified VPN server certificate")
wrapMode: Text.Wrap
font.pixelSize: Theme.fontSizeSmall
color: Theme.surfaceText
}
StyledText {
width: parent.width
text: serverCertificateFingerprint
wrapMode: Text.WrapAnywhere
font.family: SettingsData.monoFontFamily
font.pixelSize: Theme.fontSizeSmall
color: certificateWarningBox.warningTone
}
}
}
Rectangle { Rectangle {
width: parent.width width: parent.width
height: inputFieldHeight height: inputFieldHeight
@@ -690,10 +747,15 @@ DankModal {
} }
Rectangle { Rectangle {
id: connectButton
width: Math.max(80, connectText.contentWidth + Theme.spacingM * 2) width: Math.max(80, connectText.contentWidth + Theme.spacingM * 2)
height: 36 height: 36
radius: Theme.cornerRadius radius: Theme.cornerRadius
color: connectArea.containsMouse ? Qt.darker(Theme.primary, 1.1) : Theme.primary color: connectArea.containsMouse ? Qt.darker(Theme.primary, 1.1) : Theme.primary
border.color: activeFocus ? Theme.surfaceText : "transparent"
border.width: activeFocus ? 2 : 0
activeFocusOnTab: true
enabled: { enabled: {
if (fieldsInfo.length > 0) { if (fieldsInfo.length > 0) {
for (var i = 0; i < fieldsInfo.length; i++) { for (var i = 0; i < fieldsInfo.length; i++) {
@@ -705,6 +767,8 @@ DankModal {
} }
return true; return true;
} }
if (isCertificatePrompt)
return serverCertificateFingerprint.length > 0;
if (isVpnPrompt) if (isVpnPrompt)
return passwordInput.text.length > 0; return passwordInput.text.length > 0;
if (isHiddenNetwork) if (isHiddenNetwork)
@@ -716,7 +780,7 @@ DankModal {
StyledText { StyledText {
id: connectText id: connectText
anchors.centerIn: parent anchors.centerIn: parent
text: I18n.tr("Connect") text: isCertificatePrompt ? I18n.tr("Trust", "Button that approves a VPN server certificate fingerprint") : I18n.tr("Connect")
font.pixelSize: Theme.fontSizeMedium font.pixelSize: Theme.fontSizeMedium
color: Theme.background color: Theme.background
font.weight: Font.Medium font.weight: Font.Medium
@@ -731,6 +795,22 @@ DankModal {
onClicked: submitCredentialsAndClose() onClicked: submitCredentialsAndClose()
} }
Keys.onReturnPressed: event => {
if (enabled)
submitCredentialsAndClose();
event.accepted = true;
}
Keys.onEnterPressed: event => {
if (enabled)
submitCredentialsAndClose();
event.accepted = true;
}
Keys.onSpacePressed: event => {
if (enabled)
submitCredentialsAndClose();
event.accepted = true;
}
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Theme.shortDuration duration: Theme.shortDuration
+9 -1
View File
@@ -66,9 +66,17 @@ Scope {
IdleService.lockPowerOffRequested = false; IdleService.lockPowerOffRequested = false;
} }
// Avoid startup lock when using dms-greeter (#2952)
function freshGreeterLogin() {
const authTime = Number(Quickshell.env("DMS_GREETER_AUTH_TIME") || 0);
if (!authTime)
return false;
return (Date.now() / 1000 - authTime) < 120;
}
Component.onCompleted: { Component.onCompleted: {
IdleService.lockComponent = this; IdleService.lockComponent = this;
if (SettingsData.lockAtStartup) if (SettingsData.lockAtStartup && !freshGreeterLogin())
lock(); lock();
} }
+33 -1
View File
@@ -932,7 +932,9 @@ Item {
pam.passwd.start(); pam.passwd.start();
} }
} }
Keys.onPressed: event => { Keys.onPressed: event => handleKey(event)
function handleKey(event) {
if (demoMode) { if (demoMode) {
return; return;
} }
@@ -1042,6 +1044,36 @@ Item {
} }
} }
// Wayland IMEs commit unconsumed printable keys as text-input text
// (ibus ibuswaylandim.c) instead of forwarding raw keys, so an active
// text input must exist to receive them; the hidden-text hints put
// fcitx5 into plain keyboard passthrough (CapabilityFlag::Password).
// Raw keys stay in handleKey (#2950).
TextInput {
id: imeCommitSink
focus: true
width: 1
height: 1
opacity: 0
echoMode: TextInput.Password
inputMethodHints: Qt.ImhHiddenText | Qt.ImhSensitiveData | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase
Keys.onPressed: event => {
passwordField.handleKey(event);
if (!event.accepted && (event.modifiers & (Qt.ControlModifier | Qt.AltModifier | Qt.MetaModifier)))
event.accepted = true;
}
onTextChanged: {
if (text.length === 0)
return;
const committed = text;
text = "";
if (demoMode || root.unlocking || pam.passwd.active)
return;
passwordField.insertText(committed);
}
}
Component.onCompleted: { Component.onCompleted: {
if (!demoMode) { if (!demoMode) {
forceActiveFocus(); forceActiveFocus();
@@ -29,6 +29,28 @@ Item {
readonly property bool clickThrough: instanceData?.config?.clickThrough ?? false readonly property bool clickThrough: instanceData?.config?.clickThrough ?? false
readonly property bool syncPositionAcrossScreens: instanceData?.config?.syncPositionAcrossScreens ?? false readonly property bool syncPositionAcrossScreens: instanceData?.config?.syncPositionAcrossScreens ?? false
// Unmapping with the widget still in the last buffer leaves a stale image in
// Hyprland's blur cache behind transparent tiled windows (#2955), so hide the
// content, present a transparent frame, then unmap.
readonly property bool contentShowing: widgetEnabled && activeComponent !== null && (!showOnOverviewOnly || overviewActive)
property bool surfaceLingering: false
onContentShowingChanged: {
if (contentShowing) {
lingerTimer.stop();
surfaceLingering = false;
return;
}
surfaceLingering = true;
lingerTimer.restart();
}
Timer {
id: lingerTimer
interval: 64
onTriggered: root.surfaceLingering = false
}
Connections { Connections {
target: PluginService target: PluginService
enabled: !root.isBuiltin enabled: !root.isBuiltin
@@ -273,13 +295,7 @@ Item {
PanelWindow { PanelWindow {
id: widgetWindow id: widgetWindow
screen: root.screen screen: root.screen
visible: { visible: root.contentShowing || root.surfaceLingering
if (!root.widgetEnabled || root.activeComponent === null)
return false;
if (root.showOnOverviewOnly)
return root.overviewActive;
return true;
}
color: "transparent" color: "transparent"
Region { Region {
@@ -358,6 +374,7 @@ Item {
id: contentLoader id: contentLoader
anchors.fill: parent anchors.fill: parent
active: root.widgetEnabled && root.activeComponent !== null active: root.widgetEnabled && root.activeComponent !== null
visible: root.contentShowing
sourceComponent: root.activeComponent sourceComponent: root.activeComponent
opacity: 0 opacity: 0
+1 -1
View File
@@ -869,7 +869,7 @@ Item {
readonly property var tooltipTexts: ({ readonly property var tooltipTexts: ({
"dms": I18n.tr("DMS shell actions (launcher, clipboard, etc.)"), "dms": I18n.tr("DMS shell actions (launcher, clipboard, etc.)"),
"compositor": I18n.tr("Niri compositor actions (focus, move, etc.)"), "compositor": I18n.tr("Compositor actions (focus, move, etc.)", "keybind action type tooltip"),
"spawn": I18n.tr("Run a program (e.g., firefox, kitty)"), "spawn": I18n.tr("Run a program (e.g., firefox, kitty)"),
"shell": I18n.tr("Run a shell command (e.g., notify-send)") "shell": I18n.tr("Run a shell command (e.g., notify-send)")
}) })
+1 -1
View File
@@ -822,7 +822,7 @@ Item {
spacing: Theme.spacingS spacing: Theme.spacingS
Repeater { Repeater {
model: ["dms_settings", "dms_notepad", "dms_sysmon", "dms_settings_search", "dms_clipboard_search", "dms_colorpicker"] model: ["dms_settings", "dms_notepad", "dms_sysmon", "dms_settings_search", "dms_clipboard_search", "dms_colorpicker", "dms_qr_generator"]
delegate: Rectangle { delegate: Rectangle {
id: pluginDelegate id: pluginDelegate
@@ -2780,7 +2780,7 @@ Item {
tags: ["matugen", "vscode", "code", "template"] tags: ["matugen", "vscode", "code", "template"]
settingKey: "matugenTemplateVscode" settingKey: "matugenTemplateVscode"
text: "VS Code" text: "VS Code"
description: getTemplateDescription("vscode", "") description: getTemplateDescription("vscode", I18n.tr("Requires the DMS Theme extension from the editor marketplace", "vscode matugen template description"))
descriptionColor: getTemplateDescriptionColor("vscode") descriptionColor: getTemplateDescriptionColor("vscode")
visible: SettingsData.runDmsMatugenTemplates visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateVscode checked: SettingsData.matugenTemplateVscode
+45 -9
View File
@@ -210,6 +210,19 @@ Singleton {
defaultTrigger: "", defaultTrigger: "",
isLauncher: false isLauncher: false
}, },
"dms_qr_generator": {
id: "dms_qr_generator",
name: I18n.tr("QR Generator"),
icon: "svg+corner:" + dmsLogoPath + "|qr_code",
cornerIcon: "qr_code",
comment: "DMS",
action: "ipc:qr-generator",
categories: ["Utility"],
defaultTrigger: "qrg",
isLauncher: true,
viewMode: "list",
viewModeEnforced: true
},
"dms_settings_search": { "dms_settings_search": {
id: "dms_settings_search", id: "dms_settings_search",
name: I18n.tr("Settings Search"), name: I18n.tr("Settings Search"),
@@ -244,7 +257,7 @@ Singleton {
if (!SettingsData.getBuiltInPluginSetting(pluginId, "enabled", true)) if (!SettingsData.getBuiltInPluginSetting(pluginId, "enabled", true))
continue; continue;
const plugin = builtInPlugins[pluginId]; const plugin = builtInPlugins[pluginId];
if (plugin.isLauncher) if (plugin.isLauncher && !plugin.action)
continue; continue;
apps.push({ apps.push({
name: plugin.name, name: plugin.name,
@@ -309,6 +322,20 @@ Singleton {
})); }));
} }
if (pluginId === "dms_qr_generator") {
const text = (query || "").toString().trim();
return [
{
name: text.length > 0 ? text : I18n.tr("Enter text to encode"),
icon: "material:qr_code",
comment: I18n.tr("QR Generator"),
action: "qr_generate:" + text,
isBuiltInLauncher: true,
builtInPluginId: pluginId
}
];
}
if (pluginId !== "dms_settings_search") if (pluginId !== "dms_settings_search")
return []; return [];
@@ -340,14 +367,20 @@ Singleton {
return false; return false;
const parts = item.action.split(":"); const parts = item.action.split(":");
if (parts[0] !== "settings_nav") switch (parts[0]) {
return false; case "settings_nav":
{
const tabIndex = parseInt(parts[1]); const tabIndex = parseInt(parts[1]);
const section = parts.slice(2).join(":"); const section = parts.slice(2).join(":");
SettingsSearchService.navigateToSection(section); SettingsSearchService.navigateToSection(section);
PopoutService.openSettingsWithTabIndex(tabIndex); PopoutService.openSettingsWithTabIndex(tabIndex);
return true; return true;
}
case "qr_generate":
PopoutService.showQRGeneratorModal(parts.slice(1).join(":"));
return true;
}
return false;
} }
function getCoreApps(query) { function getCoreApps(query) {
@@ -378,6 +411,9 @@ Singleton {
case "color-picker": case "color-picker":
PopoutService.showColorPicker(); PopoutService.showColorPicker();
return true; return true;
case "qr-generator":
PopoutService.showQRGeneratorModal();
return true;
} }
return false; return false;
} }
+2
View File
@@ -388,6 +388,8 @@ Singleton {
const binds = bindsData[cat]; const binds = bindsData[cat];
for (var i = 0; i < binds.length; i++) { for (var i = 0; i < binds.length; i++) {
const bind = binds[i]; const bind = binds[i];
if (currentProvider === "hyprland" && bind.action && bind.action.startsWith("exec "))
bind.action = "spawn " + bind.action.slice(5);
const targetCat = Actions.isDmsAction(bind.action) ? "DMS" : cat; const targetCat = Actions.isDmsAction(bind.action) ? "DMS" : cat;
if (!processed[targetCat]) if (!processed[targetCat])
processed[targetCat] = []; processed[targetCat] = [];
+9
View File
@@ -47,6 +47,8 @@ Singleton {
property var wifiPasswordModalLoader: null property var wifiPasswordModalLoader: null
property var wifiQRCodeModal: null property var wifiQRCodeModal: null
property var wifiQRCodeModalLoader: null property var wifiQRCodeModalLoader: null
property var qrGeneratorModal: null
property var qrGeneratorModalLoader: null
property var polkitAuthModal: null property var polkitAuthModal: null
property var polkitAuthModalLoader: null property var polkitAuthModalLoader: null
property var bluetoothPairingModal: null property var bluetoothPairingModal: null
@@ -891,6 +893,13 @@ Singleton {
wifiQRCodeModal.show(ssid); wifiQRCodeModal.show(ssid);
} }
function showQRGeneratorModal(initialText) {
if (qrGeneratorModalLoader)
qrGeneratorModalLoader.active = true;
if (qrGeneratorModal)
qrGeneratorModal.show(initialText || "");
}
function showHiddenNetworkModal() { function showHiddenNetworkModal() {
if (wifiPasswordModalLoader) if (wifiPasswordModalLoader)
wifiPasswordModalLoader.active = true; wifiPasswordModalLoader.active = true;
+59 -2
View File
@@ -219,6 +219,64 @@ Singleton {
return envObj; return envObj;
} }
function splitShellArgs(str) {
const args = [];
let current = "";
let hasToken = false;
let quote = "";
let escaped = false;
for (const ch of str) {
if (escaped) {
current += ch;
escaped = false;
continue;
}
switch (quote) {
case "'":
if (ch === "'") {
quote = "";
continue;
}
current += ch;
continue;
case "\"":
switch (ch) {
case "\"":
quote = "";
continue;
case "\\":
escaped = true;
continue;
}
current += ch;
continue;
}
switch (ch) {
case "\\":
escaped = true;
continue;
case "'":
case "\"":
quote = ch;
hasToken = true;
continue;
case " ":
case "\t":
case "\n":
if (!hasToken && current.length === 0)
continue;
args.push(current);
current = "";
hasToken = false;
continue;
}
current += ch;
}
if (current.length > 0 || hasToken)
args.push(current);
return args;
}
function launchDesktopEntry(desktopEntry, useNvidia) { function launchDesktopEntry(desktopEntry, useNvidia) {
if (!desktopEntry || !desktopEntry.command) if (!desktopEntry || !desktopEntry.command)
return; return;
@@ -232,8 +290,7 @@ Singleton {
cmd = [nvidiaCommand].concat(cmd); cmd = [nvidiaCommand].concat(cmd);
if (override?.extraFlags) { if (override?.extraFlags) {
const extraArgs = override.extraFlags.trim().split(/\s+/).filter(arg => arg.length > 0); cmd = cmd.concat(splitShellArgs(override.extraFlags));
cmd = cmd.concat(extraArgs);
} }
const userPrefix = SettingsData.launchPrefix?.trim() || ""; const userPrefix = SettingsData.launchPrefix?.trim() || "";
@@ -1,5 +1,5 @@
[ColorScheme] [ColorScheme]
active_colors={{colors.on_surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface_container.default.hex}}, {{colors.outline.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.outline_variant.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.on_primary.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.background.default.hex}}, {{colors.background.default.hex}}, {{colors.shadow.default.hex}}, {{colors.primary.default.hex}}, {{colors.on_primary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.surface_container_low.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}} active_colors={{colors.on_surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface_container.default.hex}}, {{colors.outline.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.outline_variant.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.on_surface.default.hex}}, {{colors.background.default.hex}}, {{colors.background.default.hex}}, {{colors.shadow.default.hex}}, {{colors.primary.default.hex}}, {{colors.on_primary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.surface_container_low.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}
disabled_colors={{colors.on_surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_container.default.hex}}, {{colors.outline.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.outline_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.shadow.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}} disabled_colors={{colors.on_surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_container.default.hex}}, {{colors.outline.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.outline_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.shadow.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}
inactive_colors={{colors.on_surface_variant.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface_container.default.hex}}, {{colors.outline.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.outline_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.shadow.default.hex}}, {{colors.secondary.default.hex}}, {{colors.on_secondary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.surface_container_low.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}} inactive_colors={{colors.on_surface_variant.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface_container.default.hex}}, {{colors.outline.default.hex}}, {{colors.surface_variant.default.hex}}, {{colors.outline_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.shadow.default.hex}}, {{colors.secondary.default.hex}}, {{colors.on_secondary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.secondary.default.hex}}, {{colors.surface_container_low.default.hex}}, {{colors.surface.default.hex}}, {{colors.surface.default.hex}}, {{colors.on_surface_variant.default.hex}}, {{colors.on_surface_variant.default.hex}}
File diff suppressed because it is too large Load Diff
+207 -102
View File
@@ -198,7 +198,7 @@
"2 seconds": "ثانيتان" "2 seconds": "ثانيتان"
}, },
"2.4 GHz": { "2.4 GHz": {
"2.4 GHz": "" "2.4 GHz": "2.4 GHz"
}, },
"20 minutes": { "20 minutes": {
"20 minutes": "20 دقيقة" "20 minutes": "20 دقيقة"
@@ -264,7 +264,7 @@
"45 seconds": "45 ثانية" "45 seconds": "45 ثانية"
}, },
"5 GHz": { "5 GHz": {
"5 GHz": "" "5 GHz": "5 GHz"
}, },
"5 min before": { "5 min before": {
"5 min before": "قبل 5 دقائق" "5 min before": "قبل 5 دقائق"
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "حول" "About": "حول"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "لون التمييز" "Accent Color": "لون التمييز"
}, },
@@ -378,7 +381,7 @@
"Activate the DMS greeter? A terminal will open for sudo authentication. Run Sync after activation to apply your settings.": "هل تريد تفعيل شاشة ترحيب DMS؟ سيتم فتح نافذة طرفية لمصادقة sudo. قم بتشغيل 'مزامنة' (Sync) بعد التفعيل لتطبيق إعداداتك." "Activate the DMS greeter? A terminal will open for sudo authentication. Run Sync after activation to apply your settings.": "هل تريد تفعيل شاشة ترحيب DMS؟ سيتم فتح نافذة طرفية لمصادقة sudo. قم بتشغيل 'مزامنة' (Sync) بعد التفعيل لتطبيق إعداداتك."
}, },
"Activates immediately": { "Activates immediately": {
"Activates immediately": "" "Activates immediately": "يتفعل فوراً"
}, },
"Activation": { "Activation": {
"Activation": "التنشيط" "Activation": "التنشيط"
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "المحولات" "Adapters": "المحولات"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "عرض الوسائط التكيفي" "Adaptive Media Width": "عرض الوسائط التكيفي"
}, },
@@ -423,7 +429,7 @@
"Add \"%1\" to the %2 group? They must log out and back in, then run dms greeter sync --profile to publish their login-screen theme.": "هل تريد إضافة \"%1\" إلى مجموعة %2؟ يجب عليهم تسجيل الخروج ثم الدخول مرة أخرى، ثم تشغيل dms greeter sync --profile لنشر سمة شاشة تسجيل الدخول الخاصة بهم." "Add \"%1\" to the %2 group? They must log out and back in, then run dms greeter sync --profile to publish their login-screen theme.": "هل تريد إضافة \"%1\" إلى مجموعة %2؟ يجب عليهم تسجيل الخروج ثم الدخول مرة أخرى، ثم تشغيل dms greeter sync --profile لنشر سمة شاشة تسجيل الدخول الخاصة بهم."
}, },
"Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": { "Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": {
"Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": "" "Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": "هل تريد إضافة \"%1\" إلى مجموعة %2؟ يجب عليهم تسجيل الخروج وإعادة تسجيل الدخول، ثم تشغيل dms-greeter sync --profile لنشر سمة شاشة تسجيل الدخول الخاصة بهم."
}, },
"Add Bar": { "Add Bar": {
"Add Bar": "إضافة شريط" "Add Bar": "إضافة شريط"
@@ -477,7 +483,7 @@
"Add the new user to the %1 group so they can run dms greeter sync --profile.": "أضف المستخدم الجديد إلى مجموعة %1 حتى يتمكن من تشغيل dms greeter sync --profile." "Add the new user to the %1 group so they can run dms greeter sync --profile.": "أضف المستخدم الجديد إلى مجموعة %1 حتى يتمكن من تشغيل dms greeter sync --profile."
}, },
"Add the new user to the %1 group so they can run dms-greeter sync --profile.": { "Add the new user to the %1 group so they can run dms-greeter sync --profile.": {
"Add the new user to the %1 group so they can run dms-greeter sync --profile.": "" "Add the new user to the %1 group so they can run dms-greeter sync --profile.": "أضف المستخدم الجديد إلى المجموعة %1 ليتمكن من تشغيل dms-greeter sync --profile."
}, },
"Add the new user to the %1 group so they can use sudo.": { "Add the new user to the %1 group so they can use sudo.": {
"Add the new user to the %1 group so they can use sudo.": "أضف المستخدم الجديد إلى مجموعة %1 حتى يتمكن من استخدام sudo." "Add the new user to the %1 group so they can use sudo.": "أضف المستخدم الجديد إلى مجموعة %1 حتى يتمكن من استخدام sudo."
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "إضافة إلى التشغيل التلقائي" "Add to Autostart": "إضافة إلى التشغيل التلقائي"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "ضبط ارتفاع الشريط عبر الحشوة الداخلية" "Adjust the bar height via inner padding": "ضبط ارتفاع الشريط عبر الحشوة الداخلية"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "تعديل عدد الأعمدة في وضع العرض الشبكي." "Adjust the number of columns in grid view mode.": "تعديل عدد الأعمدة في وضع العرض الشبكي."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "ضبط مستوى الصوت لكل خطوة تمرير" "Adjust volume per scroll indent": "ضبط مستوى الصوت لكل خطوة تمرير"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "عرض دائم عند وجود شاشة واحدة متصلة فقط" "Always show when there's only one connected display": "عرض دائم عند وجود شاشة واحدة متصلة فقط"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "استخدم هذا التطبيق دائمًا لـ %1" "Always use this app for %1": "استخدم هذا التطبيق دائمًا لـ %1"
}, },
@@ -660,7 +678,7 @@
"Applications and commands to start automatically when you log in": "التطبيقات والأوامر التي تبدأ تلقائياً عند تسجيل الدخول" "Applications and commands to start automatically when you log in": "التطبيقات والأوامر التي تبدأ تلقائياً عند تسجيل الدخول"
}, },
"Applies on the next greeter sync": { "Applies on the next greeter sync": {
"Applies on the next greeter sync": "" "Applies on the next greeter sync": "يُطبق عند مزامنة الgreeter التالية"
}, },
"Apply Changes": { "Apply Changes": {
"Apply Changes": "تطبيق التغييرات" "Apply Changes": "تطبيق التغييرات"
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "تم التحقق بنجاح!" "Authenticated!": "تم التحقق بنجاح!"
}, },
"Authenticating...": {
"Authenticating...": "جاري المصادقة..."
},
"Authentication": { "Authentication": {
"Authentication": "المصادقة" "Authentication": "المصادقة"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "تتطلب تغييرات المصادقة صلاحيات sudo. جاري فتح المحطة الطرفية حتى تتمكن من استخدام كلمة المرور أو بصمة الإصبع." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "تتطلب تغييرات المصادقة صلاحيات sudo. جاري فتح المحطة الطرفية حتى تتمكن من استخدام كلمة المرور أو بصمة الإصبع."
}, },
"Authentication error - try again": {
"Authentication error - try again": "خطأ في المصادقة - حاول مرة أخرى"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": "فشل التحقق من الهوية - المحاولة %1 من %2"
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": "فشل التحقق - قد يؤدي ذلك إلى قفل حسابك"
},
"Authentication failed - try again": {
"Authentication failed - try again": "فشل التحقق - يرجى المحاولة مرة أخرى"
},
"Authorize": { "Authorize": {
"Authorize": "منح الإذن" "Authorize": "منح الإذن"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "إخفاء شريط التطبيقات تلقائياً" "Auto-hide Dock": "إخفاء شريط التطبيقات تلقائياً"
}, },
"Auto-login": {
"Auto-login": "تسجيل الدخول التلقائي"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "تغيير تسجيل الدخول التلقائي يحتاج إلى مزامنة" "Auto-login change needs a sync": "تغيير تسجيل الدخول التلقائي يحتاج إلى مزامنة"
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "متاح في أوضاع العرض التفصيلي والتوقعات" "Available in Detailed and Forecast view modes": "متاح في أوضاع العرض التفصيلي والتوقعات"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": "بانتظار التحقق ببصمة الإصبع"
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": "بانتظار التحقق ببصمة الإصبع أو مفتاح الأمان"
},
"Awaiting security key authentication": {
"Awaiting security key authentication": "بانتظار التحقق بمفتاح الأمان"
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "رجوع" "Back": "رجوع"
}, },
"Back to user list": {
"Back to user list": "العودة إلى قائمة المستخدمين"
},
"Backend": { "Backend": {
"Backend": "النظام الخلفي" "Backend": "النظام الخلفي"
}, },
@@ -1035,7 +1023,7 @@
"Balanced palette with focused accents (default).": "ألوان متوازنة بلمسات محددة (افتراضي)." "Balanced palette with focused accents (default).": "ألوان متوازنة بلمسات محددة (افتراضي)."
}, },
"Band": { "Band": {
"Band": "" "Band": "Band"
}, },
"Bar": { "Bar": {
"Bar": "شريط المهام" "Bar": "شريط المهام"
@@ -1293,7 +1281,7 @@
"Calendar Backend": "الخلفية التقويمية" "Calendar Backend": "الخلفية التقويمية"
}, },
"Calls / Headset": { "Calls / Headset": {
"Calls / Headset": "" "Calls / Headset": "المكالمات / سماعة الرأس"
}, },
"Camera": { "Camera": {
"Camera": "الكاميرا" "Camera": "الكاميرا"
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "اختر مجلد خلفية الشاشة" "Choose wallpaper folder": "اختر مجلد خلفية الشاشة"
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "اختر مكان ظهور النوافذ المنبثقة للإشعارات على الشاشة" "Choose where notification popups appear on screen": "اختر مكان ظهور النوافذ المنبثقة للإشعارات على الشاشة"
}, },
@@ -1581,16 +1572,16 @@
"Close Window": "إغلاق النافذة" "Close Window": "إغلاق النافذة"
}, },
"Codec switched successfully": { "Codec switched successfully": {
"Codec switched successfully": "" "Codec switched successfully": "تم تبديل الترميز بنجاح"
}, },
"Codec switching is unavailable because WirePlumber was not found": { "Codec switching is unavailable because WirePlumber was not found": {
"Codec switching is unavailable because WirePlumber was not found": "" "Codec switching is unavailable because WirePlumber was not found": "تبديل الترميز غير متاح لأن WirePlumber لم يتم العثور عليه"
}, },
"Codec switching is unavailable because pactl was not found": { "Codec switching is unavailable because pactl was not found": {
"Codec switching is unavailable because pactl was not found": "تبديل الترميز غير متاح لأنه لم يتم العثور على pactl" "Codec switching is unavailable because pactl was not found": "تبديل الترميز غير متاح لأنه لم يتم العثور على pactl"
}, },
"Codec switching is unavailable. WirePlumber wpexec was not found.": { "Codec switching is unavailable. WirePlumber wpexec was not found.": {
"Codec switching is unavailable. WirePlumber wpexec was not found.": "" "Codec switching is unavailable. WirePlumber wpexec was not found.": "تبديل الترميز غير متاح. لم يتم العثور على WirePlumber wpexec."
}, },
"Color": { "Color": {
"Color": "اللون" "Color": "اللون"
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "إعدادات مدير النوافذ" "Compositor Settings": "إعدادات مدير النوافذ"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "تنسيق التكوين" "Config Format": "تنسيق التكوين"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "التباين" "Contrast": "التباين"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "مساهم" "Contributor": "مساهم"
}, },
@@ -1905,7 +1902,7 @@
"Corners & Background": "الزوايا والخلفية" "Corners & Background": "الزوايا والخلفية"
}, },
"Couldn't load hotspot password": { "Couldn't load hotspot password": {
"Couldn't load hotspot password": "" "Couldn't load hotspot password": "تعذر تحميل كلمة مرور نقطة الاتصال"
}, },
"Count Only": { "Count Only": {
"Count Only": "العد فقط" "Count Only": "العد فقط"
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "تعطيل المخرج" "Disable Output": "تعطيل المخرج"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "غير نشط" "Disabled": "غير نشط"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "الباب مفتوح" "Door Open": "الباب مفتوح"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "اسحب أداة من مقبضها إلى هنا لإعادة ترتيبها أو إسقاطها في مجموعة أخرى" "Drag a widget by its handle here to reorder it or drop it into another group": "اسحب أداة من مقبضها إلى هنا لإعادة ترتيبها أو إسقاطها في مجموعة أخرى"
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "ديناميكي: منحنى زنبركي مع تجاوز - الدخول يتجاوز هدفه لفترة وجيزة ثم يستقر. معبر وحيوي." "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "ديناميكي: منحنى زنبركي مع تجاوز - الدخول يتجاوز هدفه لفترة وجيزة ثم يستقر. معبر وحيوي."
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "كشف حافة التمرير" "Edge Hover Reveal": "كشف حافة التمرير"
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "إفراغ المهملات (%1)" "Empty Trash (%1)": "إفراغ المهملات (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "تمكين عمق لون 10 بت للحصول على نطاق ألوان أوسع ودعم HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "تمكين عمق لون 10 بت للحصول على نطاق ألوان أوسع ودعم HDR"
}, },
@@ -2706,7 +2721,7 @@
"Enable WiFi": "تمكين الـ Wi-Fi" "Enable WiFi": "تمكين الـ Wi-Fi"
}, },
"Enable WiFi before starting the hotspot.": { "Enable WiFi before starting the hotspot.": {
"Enable WiFi before starting the hotspot.": "" "Enable WiFi before starting the hotspot.": "قم بتمكين الواي فاي قبل بدء نقطة الاتصال."
}, },
"Enable a custom override below to set per-bar shadow intensity, opacity, and color.": { "Enable a custom override below to set per-bar shadow intensity, opacity, and color.": {
"Enable a custom override below to set per-bar shadow intensity, opacity, and color.": "قم بتفعيل تجاوز مخصص أدناه لضبط شدة الظل، والشفافية، واللون لكل شريط." "Enable a custom override below to set per-bar shadow intensity, opacity, and color.": "قم بتفعيل تجاوز مخصص أدناه لضبط شدة الظل، والشفافية، واللون لكل شريط."
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "ادخال كلمة المرور ل " "Enter password for ": "ادخال كلمة المرور ل "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "أدخل مفتاح المرور هذا في " "Enter this passkey on ": "أدخل مفتاح المرور هذا في "
}, },
@@ -2934,7 +2952,7 @@
"Failed to check pin limit": "فشل التحقق من حد التثبيت" "Failed to check pin limit": "فشل التحقق من حد التثبيت"
}, },
"Failed to configure hotspot": { "Failed to configure hotspot": {
"Failed to configure hotspot": "" "Failed to configure hotspot": "فشل في إعداد نقطة الاتصال"
}, },
"Failed to connect VPN": { "Failed to connect VPN": {
"Failed to connect VPN": "فشل الاتصال بشبكة VPN" "Failed to connect VPN": "فشل الاتصال بشبكة VPN"
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "فشل جلب رمز QR للشبكة: %1" "Failed to fetch network QR code: %1": "فشل جلب رمز QR للشبكة: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "فشل في إنشاء تجاوز systemd" "Failed to generate systemd override": "فشل في إنشاء تجاوز systemd"
}, },
@@ -3066,7 +3087,7 @@
"Failed to run 'dms greeter status'. Ensure DMS is installed and dms is in PATH.": "فشل تشغيل 'dms greeter status'. تأكد من تثبيت DMS وأن dms موجود في مسار النظام (PATH)." "Failed to run 'dms greeter status'. Ensure DMS is installed and dms is in PATH.": "فشل تشغيل 'dms greeter status'. تأكد من تثبيت DMS وأن dms موجود في مسار النظام (PATH)."
}, },
"Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": { "Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": {
"Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": "" "Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": "فشل تشغيل 'dms-greeter status'. تأكد من تثبيت حزمة dms-greeter."
}, },
"Failed to save VPN credentials": { "Failed to save VPN credentials": {
"Failed to save VPN credentials": "فشل حفظ بيانات اعتماد VPN" "Failed to save VPN credentials": "فشل حفظ بيانات اعتماد VPN"
@@ -3123,13 +3144,13 @@
"Failed to start connection to %1": "فشل بدء الاتصال بـ %1" "Failed to start connection to %1": "فشل بدء الاتصال بـ %1"
}, },
"Failed to start hotspot": { "Failed to start hotspot": {
"Failed to start hotspot": "" "Failed to start hotspot": "فشل بدء نقطة الاتصال"
}, },
"Failed to stop hotspot": { "Failed to stop hotspot": {
"Failed to stop hotspot": "" "Failed to stop hotspot": "فشل إيقاف نقطة الاتصال"
}, },
"Failed to switch codec": { "Failed to switch codec": {
"Failed to switch codec": "" "Failed to switch codec": "تعذر تبديل الترميز"
}, },
"Failed to unpin entry": { "Failed to unpin entry": {
"Failed to unpin entry": "فشل في إلغاء تثبيت الإدخال" "Failed to unpin entry": "فشل في إلغاء تثبيت الإدخال"
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "الأعلام" "Flags": "الأعلام"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "Flatpak" "Flatpak": "Flatpak"
}, },
@@ -3621,7 +3648,7 @@
"Greeter group members can sync their login-screen theme with dms greeter sync --profile after logging out and back in.": "يمكن لأعضاء مجموعة الترحيب مزامنة سمة شاشة تسجيل الدخول الخاصة بهم باستخدام dms greeter sync --profile بعد تسجيل الخروج والدخول مرة أخرى." "Greeter group members can sync their login-screen theme with dms greeter sync --profile after logging out and back in.": "يمكن لأعضاء مجموعة الترحيب مزامنة سمة شاشة تسجيل الدخول الخاصة بهم باستخدام dms greeter sync --profile بعد تسجيل الخروج والدخول مرة أخرى."
}, },
"Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": { "Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": {
"Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": "" "Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": "يمكن لأعضاء مجموعة Greeter مزامنة سمة شاشة تسجيل الدخول الخاصة بهم باستخدام الأمر dms-greeter sync --profile بعد تسجيل الخروج والدخول مرة أخرى."
}, },
"Greeter group:": { "Greeter group:": {
"Greeter group:": "مجموعة الترحيب:" "Greeter group:": "مجموعة الترحيب:"
@@ -3837,22 +3864,22 @@
"Hotkey overlay title (optional)": "عنوان تراكب اختصار لوحة المفاتيح (اختياري)" "Hotkey overlay title (optional)": "عنوان تراكب اختصار لوحة المفاتيح (اختياري)"
}, },
"Hotspot": { "Hotspot": {
"Hotspot": "" "Hotspot": "نقطة اتصال"
}, },
"Hotspot activation failed.": { "Hotspot activation failed.": {
"Hotspot activation failed.": "" "Hotspot activation failed.": "فشل تنشيط نقطة الاتصال."
}, },
"Hotspot name": { "Hotspot name": {
"Hotspot name": "" "Hotspot name": "اسم نقطة الاتصال"
}, },
"Hotspot saved": { "Hotspot saved": {
"Hotspot saved": "" "Hotspot saved": "تم حفظ نقطة الاتصال"
}, },
"Hotspot started": { "Hotspot started": {
"Hotspot started": "" "Hotspot started": "تم تشغيل نقطة الاتصال"
}, },
"Hotspot stopped": { "Hotspot stopped": {
"Hotspot stopped": "" "Hotspot stopped": "تم إيقاف نقطة الاتصال"
}, },
"Hour": { "Hour": {
"Hour": "الساعة" "Hour": "الساعة"
@@ -3912,7 +3939,7 @@
"IP address or hostname": "عنوان IP أو اسم المضيف" "IP address or hostname": "عنوان IP أو اسم المضيف"
}, },
"IP sharing setup failed. Check that dnsmasq is installed.": { "IP sharing setup failed. Check that dnsmasq is installed.": {
"IP sharing setup failed. Check that dnsmasq is installed.": "" "IP sharing setup failed. Check that dnsmasq is installed.": "فشل إعداد مشاركة بروتوكول الإنترنت (IP). تأكد من تثبيت dnsmasq."
}, },
"ISO Date": { "ISO Date": {
"ISO Date": "تاريخ ISO" "ISO Date": "تاريخ ISO"
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "إذا كان الحقل مخفياً، فسيظهر بمجرد الضغط على مفتاح." "If the field is hidden, it will appear as soon as a key is pressed.": "إذا كان الحقل مخفياً، فسيظهر بمجرد الضغط على مفتاح."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "تجاهل تمامًا" "Ignore Completely": "تجاهل تمامًا"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "الاحتفاظ بتعديلاتي" "Keep My Edits": "الاحتفاظ بتعديلاتي"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "الاحتفاظ في الشريط" "Keep in Bar": "الاحتفاظ في الشريط"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "القسم الأيسر" "Left Section": "القسم الأيسر"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "خفيف" "Light": "خفيف"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "مقفل" "Locked": "مقفل"
}, },
"Logging in...": {
"Logging in...": "جاري تسجيل الدخول..."
},
"Login": { "Login": {
"Login": "تسجيل الدخول" "Login": "تسجيل الدخول"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "التحكم في مستوى صوت الميكروفون" "Microphone volume control": "التحكم في مستوى صوت الميكروفون"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "القسم الأوسط" "Middle Section": "القسم الأوسط"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "نقاط التحميل" "Mount Points": "نقاط التحميل"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "نقرات الفأرة تمر عبر الشريط إلى النوافذ خلفه" "Mouse clicks pass through the bar to windows behind it": "نقرات الفأرة تمر عبر الشريط إلى النوافذ خلفه"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "أصلي: مصير النظام الأساسي (FreeType)." "Native: platform renderer (FreeType).": "أصلي: مصير النظام الأساسي (FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "تمرير لوحة اللمس الطبيعي" "Natural Touchpad Scrolling": "تمرير لوحة اللمس الطبيعي"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "بدون تقريب الزوايا" "No Rounding": "بدون تقريب الزوايا"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "بدون ظل" "No Shadow": "بدون ظل"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "لم يتم الكشف عنه" "Not detected": "لم يتم الكشف عنه"
}, },
"Not listed?": {
"Not listed?": "غير مدرج؟"
},
"Not paired": { "Not paired": {
"Not paired": "غير مقترن" "Not paired": "غير مقترن"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "مفعل" "On": "مفعل"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "مفعل للأبد" "On indefinitely": "مفعل للأبد"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "تعديل حرارة الألوان بناءً على قواعد الوقت أو الموقع فقط." "Only adjust gamma based on time or location rules.": "تعديل حرارة الألوان بناءً على قواعد الوقت أو الموقع فقط."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "فقط عند استخدام البطارية" "Only on Battery": "فقط عند استخدام البطارية"
}, },
@@ -5511,7 +5562,7 @@
"Open in terminal": "فتح في الطرفية" "Open in terminal": "فتح في الطرفية"
}, },
"Open network": { "Open network": {
"Open network": "" "Open network": "شبكة مفتوحة"
}, },
"Open search bar to find text": { "Open search bar to find text": {
"Open search bar to find text": "افتح شريط البحث للعثور على نص" "Open search bar to find text": "افتح شريط البحث للعثور على نص"
@@ -5541,7 +5592,7 @@
"Opens the connected launcher in Connected Frame Mode.": "يفتح المشغل المتصل في وضع الإطار المتصل." "Opens the connected launcher in Connected Frame Mode.": "يفتح المشغل المتصل في وضع الإطار المتصل."
}, },
"Optional": { "Optional": {
"Optional": "" "Optional": "اختياري"
}, },
"Optional description": { "Optional description": {
"Optional description": "وصف اختياري" "Optional description": "وصف اختياري"
@@ -5553,7 +5604,7 @@
"Optional state-based conditions applied to the first match.": "شروط اختيارية تعتمد على الحالة مطبقة على التطابق الأول." "Optional state-based conditions applied to the first match.": "شروط اختيارية تعتمد على الحالة مطبقة على التطابق الأول."
}, },
"Optional; leave blank for open hotspot": { "Optional; leave blank for open hotspot": {
"Optional; leave blank for open hotspot": "" "Optional; leave blank for open hotspot": "اختياري؛ اتركه فارغاً لنقطة اتصال مفتوحة"
}, },
"Options": { "Options": {
"Options": "الخيارات" "Options": "الخيارات"
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "جاري الاقتران..." "Pairing...": "جاري الاقتران..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "غائم جزئياً" "Partly Cloudy": "غائم جزئياً"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "تم تحديث كلمة المرور" "Password updated": "تم تحديث كلمة المرور"
}, },
"Password...": {
"Password...": "كلمة المرور..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "كلمات المرور غير متطابقة." "Passwords do not match.": "كلمات المرور غير متطابقة."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "المؤشر" "Pointer": "المؤشر"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "تم تعطيل تكامل Polkit. تتطلب إدارة المستخدمين Polkit لرفع الامتيازات." "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "تم تعطيل تكامل Polkit. تتطلب إدارة المستخدمين Polkit لرفع الامتيازات."
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "الضغط" "Pressure": "الضغط"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "منع إيقاف تشغيل الشاشة" "Prevent screen timeout": "منع إيقاف تشغيل الشاشة"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "البروتوكول" "Protocol": "البروتوكول"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6189,7 +6249,7 @@
"Re-enter password": "أعد إدخال كلمة المرور" "Re-enter password": "أعد إدخال كلمة المرور"
}, },
"Re-enter the password before saving.": { "Re-enter the password before saving.": {
"Re-enter the password before saving.": "" "Re-enter the password before saving.": "أعد إدخال كلمة المرور قبل الحفظ."
}, },
"Reach local network devices while using an exit node": { "Reach local network devices while using an exit node": {
"Reach local network devices while using an exit node": "الوصول إلى أجهزة الشبكة المحلية أثناء استخدام عقدة الخروج" "Reach local network devices while using an exit node": "الوصول إلى أجهزة الشبكة المحلية أثناء استخدام عقدة الخروج"
@@ -6201,7 +6261,7 @@
"Read:": "قراءة:" "Read:": "قراءة:"
}, },
"Ready": { "Ready": {
"Ready": "" "Ready": "مستعد"
}, },
"Reason": { "Reason": {
"Reason": "السبب" "Reason": "السبب"
@@ -6249,7 +6309,7 @@
"Release": "تحرير" "Release": "تحرير"
}, },
"Release to confirm": { "Release to confirm": {
"Release to confirm": "" "Release to confirm": "أفلِت للتأكيد"
}, },
"Reload From Disk": { "Reload From Disk": {
"Reload From Disk": "إعادة التحميل من القرص" "Reload From Disk": "إعادة التحميل من القرص"
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "يتطلب تذكر المستخدم الأخير والجلسة. قم بتمكين تلك الخيارات أولاً." "Requires remembering the last user and session. Enable those options first.": "يتطلب تذكر المستخدم الأخير والجلسة. قم بتمكين تلك الخيارات أولاً."
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "إعادة تعيين" "Reset": "إعادة تعيين"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "عكس اتجاه التمرير" "Reverse Scrolling Direction": "عكس اتجاه التمرير"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "عكس اتجاه تبديل اسطح المكتب عند التمرير فوق الشريط" "Reverse workspace switch direction when scrolling over the bar": "عكس اتجاه تبديل اسطح المكتب عند التمرير فوق الشريط"
}, },
@@ -6519,7 +6588,7 @@
"Run paru/yay with AUR enabled when 'Update All' is clicked.": "تشغيل paru/yay مع تمكين AUR عند النقر على \"تحديث الكل\"." "Run paru/yay with AUR enabled when 'Update All' is clicked.": "تشغيل paru/yay مع تمكين AUR عند النقر على \"تحديث الكل\"."
}, },
"Running": { "Running": {
"Running": "" "Running": "مشغل"
}, },
"Running Apps": { "Running Apps": {
"Running Apps": "التطبيقات المشغلة" "Running Apps": "التطبيقات المشغلة"
@@ -6546,13 +6615,13 @@
"SMS sent successfully": "تم إرسال الرسالة القصيرة بنجاح" "SMS sent successfully": "تم إرسال الرسالة القصيرة بنجاح"
}, },
"SSID": { "SSID": {
"SSID": "" "SSID": "SSID"
}, },
"Saturation": { "Saturation": {
"Saturation": "التشبع" "Saturation": "التشبع"
}, },
"Save & Start": { "Save & Start": {
"Save & Start": "" "Save & Start": "حفظ وابدأ"
}, },
"Save Notepad File": { "Save Notepad File": {
"Save Notepad File": "حفظ ملف الملاحظة" "Save Notepad File": "حفظ ملف الملاحظة"
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "تمرير GitHub" "Scroll GitHub": "تمرير GitHub"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "عجلة التمرير" "Scroll Wheel": "عجلة التمرير"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "شريطي" "Scrolling": "شريطي"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "البحث في إجراءات التطبيقات" "Search App Actions": "البحث في إجراءات التطبيقات"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "اختر خوارزمية لوحة الألوان المستخدمة لاستخراج الألوان من خلفية الشاشة" "Select the palette algorithm used for wallpaper-based colors": "اختر خوارزمية لوحة الألوان المستخدمة لاستخراج الألوان من خلفية الشاشة"
}, },
"Select user...": {
"Select user...": "اختر مستخدماً..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "اختر مزودي اختصارات المفاتيح المراد تضمينهم" "Select which keybind providers to include": "اختر مزودي اختصارات المفاتيح المراد تضمينهم"
}, },
@@ -6903,13 +6975,13 @@
"Set the percentage at which the battery is considered low.": "حدد النسبة المئوية التي تعتبر عندها البطارية منخفضة." "Set the percentage at which the battery is considered low.": "حدد النسبة المئوية التي تعتبر عندها البطارية منخفضة."
}, },
"Set up a WiFi hotspot for sharing this connection.": { "Set up a WiFi hotspot for sharing this connection.": {
"Set up a WiFi hotspot for sharing this connection.": "" "Set up a WiFi hotspot for sharing this connection.": "قم بإعداد نقطة اتصال WiFi لمشاركة هذا الاتصال."
}, },
"Set up hotspot": { "Set up hotspot": {
"Set up hotspot": "" "Set up hotspot": "إعداد نقطة اتصال"
}, },
"Set up hotspot in Settings": { "Set up hotspot in Settings": {
"Set up hotspot in Settings": "" "Set up hotspot in Settings": "إعداد نقطة اتصال في الإعدادات"
}, },
"Setting": { "Setting": {
"Setting": "إعداد" "Setting": "إعداد"
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "إظهار" "Show": "إظهار"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "إظهار الطرف الثالث" "Show 3rd Party": "إظهار الطرف الثالث"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "إظهار إشعار عندما تصل البطارية إلى حد الشحن." "Show a notification when battery reaches the charge limit.": "إظهار إشعار عندما تصل البطارية إلى حد الشحن."
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "إظهار نافذة تحذير منبثقة عندما تكون البطارية منخفضة." "Show a warning popup when battery is running low.": "إظهار نافذة تحذير منبثقة عندما تكون البطارية منخفضة."
}, },
@@ -7413,7 +7491,7 @@
"Start": "ابدأ" "Start": "ابدأ"
}, },
"Start Hotspot?": { "Start Hotspot?": {
"Start Hotspot?": "" "Start Hotspot?": "بدء نقطة الاتصال؟"
}, },
"Start KDE Connect or Valent to use this plugin": { "Start KDE Connect or Valent to use this plugin": {
"Start KDE Connect or Valent to use this plugin": "ابدأ KDE Connect أو Valent لاستخدام هذه الملحق" "Start KDE Connect or Valent to use this plugin": "ابدأ KDE Connect أو Valent لاستخدام هذه الملحق"
@@ -7422,19 +7500,19 @@
"Start typing your notes here...": "ابدأ بكتابة ملاحظاتك هنا..." "Start typing your notes here...": "ابدأ بكتابة ملاحظاتك هنا..."
}, },
"Starting hotspot...": { "Starting hotspot...": {
"Starting hotspot...": "" "Starting hotspot...": "جاري بدء نقطة الاتصال..."
}, },
"Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": { "Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": {
"Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": "" "Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": "سيؤدي بدء نقطة الاتصال إلى قطع اتصال WiFi بـ \"%1\" — لا يمكن للراديو القيام بالأمرين معاً في وقت واحد. تتطلب مشاركة الإنترنت بعد ذلك اتصالاً آخر، مثل الإيثرنت (Ethernet)."
}, },
"Starting...": { "Starting...": {
"Starting...": "" "Starting...": "جاري البدء..."
}, },
"State": { "State": {
"State": "الحالة" "State": "الحالة"
}, },
"Stop": { "Stop": {
"Stop": "" "Stop": "قف"
}, },
"Stop ignoring %1": { "Stop ignoring %1": {
"Stop ignoring %1": "إلغاء تجاهل %1" "Stop ignoring %1": "إلغاء تجاهل %1"
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "تعليق ثم إسبات" "Suspend then Hibernate": "تعليق ثم إسبات"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "موقع Sway" "Sway Website": "موقع Sway"
}, },
@@ -7560,7 +7641,7 @@
"Sync applies your theme and settings to the login screen. Shared users should run dms greeter sync --profile instead of a primary user sync.": "يقوم المزامنة بتطبيق السمة والإعدادات الخاصة بك على شاشة تسجيل الدخول. يجب على المستخدمين المشتركين تشغيل dms greeter sync --profile بدلاً من المزامنة للمستخدم الأساسي." "Sync applies your theme and settings to the login screen. Shared users should run dms greeter sync --profile instead of a primary user sync.": "يقوم المزامنة بتطبيق السمة والإعدادات الخاصة بك على شاشة تسجيل الدخول. يجب على المستخدمين المشتركين تشغيل dms greeter sync --profile بدلاً من المزامنة للمستخدم الأساسي."
}, },
"Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": { "Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": {
"Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": "" "Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": "يطبق Sync السمة والإعدادات الخاصة بك على شاشة تسجيل الدخول. يجب على المستخدمين المشتركين تشغيل dms-greeter sync --profile بدلاً من المزامنة للمستخدم الأساسي."
}, },
"Sync completed successfully.": { "Sync completed successfully.": {
"Sync completed successfully.": "تمت المزامنة بنجاح." "Sync completed successfully.": "تمت المزامنة بنجاح."
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscale غير متاح" "Tailscale not available": "Tailscale غير متاح"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "محطة طرفية" "Terminal": "محطة طرفية"
}, },
@@ -7665,7 +7758,7 @@
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms greeter sync' manually.": "فشل الاحتياط للطرفية. قم بتثبيت أحد محاكيات الطرفية المدعومة أو قم بتشغيل 'dms greeter sync' يدوياً." "Terminal fallback failed. Install one of the supported terminal emulators or run 'dms greeter sync' manually.": "فشل الاحتياط للطرفية. قم بتثبيت أحد محاكيات الطرفية المدعومة أو قم بتشغيل 'dms greeter sync' يدوياً."
}, },
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": { "Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": {
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": "" "Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": "فشل الاحتياط للطرفية. قم بتثبيت أحد محاكيات الطرفية المدعومة أو قم بتشغيل 'dms-greeter sync' يدوياً."
}, },
"Terminal fallback opened. Complete authentication there; it will close automatically when done.": { "Terminal fallback opened. Complete authentication there; it will close automatically when done.": {
"Terminal fallback opened. Complete authentication there; it will close automatically when done.": "تم فتح الاحطياط للطرفية. أكمل المصادقة هناك؛ سيتم إغلاقه تلقائيًا عند الانتهاء." "Terminal fallback opened. Complete authentication there; it will close automatically when done.": "تم فتح الاحطياط للطرفية. أكمل المصادقة هناك؛ سيتم إغلاقه تلقائيًا عند الانتهاء."
@@ -7713,7 +7806,7 @@
"The DMS_SOCKET environment variable is not set or the socket is unavailable. Automated plugin management requires the DMS_SOCKET.": "متغير البيئة DMS_SOCKET غير معين أو أن المقبس غير متاح. تتطلب الإدارة التلقائية للملحقات وجود DMS_SOCKET." "The DMS_SOCKET environment variable is not set or the socket is unavailable. Automated plugin management requires the DMS_SOCKET.": "متغير البيئة DMS_SOCKET غير معين أو أن المقبس غير متاح. تتطلب الإدارة التلقائية للملحقات وجود DMS_SOCKET."
}, },
"The WiFi adapter could not start access point mode.": { "The WiFi adapter could not start access point mode.": {
"The WiFi adapter could not start access point mode.": "" "The WiFi adapter could not start access point mode.": "تعذر على محول WiFi بدء وضع نقطة الوصول."
}, },
"The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": { "The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": {
"The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": "الإعدادات أدناه ستعدل إعدادات GTK و Qt الخاصة بك. إذا كنت ترغب في الحفاظ على تكويناتك الحالية، يرجى أخذ نسخة احتياطية منها (qt5ct.conf|qt6ct.conf و ~/.config/gtk-3.0|gtk-4.0)." "The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": "الإعدادات أدناه ستعدل إعدادات GTK و Qt الخاصة بك. إذا كنت ترغب في الحفاظ على تكويناتك الحالية، يرجى أخذ نسخة احتياطية منها (qt5ct.conf|qt6ct.conf و ~/.config/gtk-3.0|gtk-4.0)."
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "تنطبق القاعدة على أي نافذة تطابق واحدة من هذه." "The rule applies to any window matching one of these.": "تنطبق القاعدة على أي نافذة تطابق واحدة من هذه."
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "المظهر والألوان" "Theme & Colors": "المظهر والألوان"
}, },
@@ -7788,7 +7884,7 @@
"This will delete all unpinned entries. %1 pinned entries will be kept.": "سيؤدي هذا إلى حذف جميع الإدخالات غير المثبتة. سيتم الاحتفاظ بـ %1 من الإدخالات المثبتة." "This will delete all unpinned entries. %1 pinned entries will be kept.": "سيؤدي هذا إلى حذف جميع الإدخالات غير المثبتة. سيتم الاحتفاظ بـ %1 من الإدخالات المثبتة."
}, },
"This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": { "This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": {
"This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": "" "This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": "سيؤدي هذا إلى قطع اتصال WiFi من \"%1\" — لا يمكن للراديو استضافة نقطة اتصال والبقاء متصلاً في الوقت نفسه. ستحتاج مشاركة الإنترنت إلى اتصال آخر، مثل إيثرنت."
}, },
"This will permanently delete all clipboard history.": { "This will permanently delete all clipboard history.": {
"This will permanently delete all clipboard history.": "سيؤدي هذا إلى حذف كل سجل الحافظة نهائياً." "This will permanently delete all clipboard history.": "سيؤدي هذا إلى حذف كل سجل الحافظة نهائياً."
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "الكثير من المحاولات - تم القفل" "Too many attempts - locked out": "الكثير من المحاولات - تم القفل"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "عدد كبير جداً من المحاولات الفاشلة - قد يكون الحساب مقفلاً"
},
"Tools": { "Tools": {
"Tools": "الأدوات" "Tools": "الأدوات"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "المس مفتاح الأمان الخاص بك..." "Touch your security key...": "المس مفتاح الأمان الخاص بك..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "تحويل" "Transform": "تحويل"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "إيقاف التشغيل الآن" "Turn off now": "إيقاف التشغيل الآن"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "اكتب حرفين على الأقل" "Type at least 2 characters": "اكتب حرفين على الأقل"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "إلغاء حفظ" "Untrust": "إلغاء حفظ"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "محدث" "Up to date": "محدث"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "يجب أن يبدأ اسم المستخدم بحرف صغير أو شرطة سفلية ويحتوي فقط على أحرف صغيرة، أرقام، شرطات، أو شرطات سفلية." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "يجب أن يبدأ اسم المستخدم بحرف صغير أو شرطة سفلية ويحتوي فقط على أحرف صغيرة، أرقام، شرطات، أو شرطات سفلية."
}, },
"Username...": {
"Username...": "اسم المستخدم..."
},
"Users": { "Users": {
"Users": "المستخدمون" "Users": "المستخدمون"
}, },
@@ -8481,13 +8583,13 @@
"W": "W" "W": "W"
}, },
"WCAG %1 body": { "WCAG %1 body": {
"WCAG %1 body": "" "WCAG %1 body": "WCAG %1 الجسم"
}, },
"WPA/WPA2": { "WPA/WPA2": {
"WPA/WPA2": "WPA/WPA2" "WPA/WPA2": "WPA/WPA2"
}, },
"WPA2 password": { "WPA2 password": {
"WPA2 password": "" "WPA2 password": "كلمة مرور WPA2"
}, },
"Wallpaper": { "Wallpaper": {
"Wallpaper": "خلفية الشاشة" "Wallpaper": "خلفية الشاشة"
@@ -8577,10 +8679,10 @@
"WiFi enabled": "الWi-Fi مفعل" "WiFi enabled": "الWi-Fi مفعل"
}, },
"WiFi is disabled": { "WiFi is disabled": {
"WiFi is disabled": "" "WiFi is disabled": "WiFi غير مفعل"
}, },
"WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": { "WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": {
"WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": "" "WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": "WiFi غير مفعل. لا يزال بإمكانك تعديل وحفظ إعدادات نقطة الاتصال، ولكن بدء تشغيل نقطة الاتصال يتطلب تمكين WiFi."
}, },
"WiFi is off": { "WiFi is off": {
"WiFi is off": "WiFi غير مفعل" "WiFi is off": "WiFi غير مفعل"
@@ -8640,7 +8742,7 @@
"Width of window border and focus ring": "عرض حدود النافذة وحلقة التركيز" "Width of window border and focus ring": "عرض حدود النافذة وحلقة التركيز"
}, },
"Will disconnect \"%1": { "Will disconnect \"%1": {
"Will disconnect \"%1\"": "" "Will disconnect \"%1\"": "سيتم قطع اتصال \"%1\""
}, },
"Wind": { "Wind": {
"Wind": "الرياح" "Wind": "الرياح"
@@ -8751,10 +8853,10 @@
"Your compositor does not support background blur (ext-background-effect-v1)": "مدير النوافذ الخاص بك لا يدعم ميزة تخبيش الخلفية (ext-background-effect-v1)" "Your compositor does not support background blur (ext-background-effect-v1)": "مدير النوافذ الخاص بك لا يدعم ميزة تخبيش الخلفية (ext-background-effect-v1)"
}, },
"Your hotspot is running.": { "Your hotspot is running.": {
"Your hotspot is running.": "" "Your hotspot is running.": "نقطة الاتصال الخاصة بك قيد التشغيل."
}, },
"Your hotspot profile is saved and ready to start.": { "Your hotspot profile is saved and ready to start.": {
"Your hotspot profile is saved and ready to start.": "" "Your hotspot profile is saved and ready to start.": "تم حفظ ملف تعريف نقطة الاتصال الخاص بك وهو جاهز للبدء."
}, },
"Your system is up to date!": { "Your system is up to date!": {
"Your system is up to date!": "نظامك محدث!" "Your system is up to date!": "نظامك محدث!"
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "متصل" "attached": "متصل"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
File diff suppressed because it is too large Load Diff
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Pri" "About": "Pri"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Akcenta Koloro" "Accent Color": "Akcenta Koloro"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adaptiloj" "Adapters": "Adaptiloj"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "Adapta aŭdvidaĵa larĝo" "Adaptive Media Width": "Adapta aŭdvidaĵa larĝo"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "Aldoni al memlanĉo" "Add to Autostart": "Aldoni al memlanĉo"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "Alĝustigu la baran altecon per interna remburaĵo" "Adjust the bar height via inner padding": "Alĝustigu la baran altecon per interna remburaĵo"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Alĝustigi la nombron de kolumnoj en krada vida reĝimo." "Adjust the number of columns in grid view mode.": "Alĝustigi la nombron de kolumnoj en krada vida reĝimo."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Alĝustigi la laŭtecon per rula dentaĵo" "Adjust volume per scroll indent": "Alĝustigi la laŭtecon per rula dentaĵo"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Ĉiam montri kiam estas nur unu konektita ekrano" "Always show when there's only one connected display": "Ĉiam montri kiam estas nur unu konektita ekrano"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "Ĉiam uzu ĉi tiun programon por %1" "Always use this app for %1": "Ĉiam uzu ĉi tiun programon por %1"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "Aŭtentigante..."
},
"Authentication": { "Authentication": {
"Authentication": "Aŭtentigo" "Authentication": "Aŭtentigo"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Aŭtentigaj ŝanĝoj bezonas sudo-on. Malfermas terminalon por ke vi povu uzi pasvorton aŭ fingrospuron." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Aŭtentigaj ŝanĝoj bezonas sudo-on. Malfermas terminalon por ke vi povu uzi pasvorton aŭ fingrospuron."
}, },
"Authentication error - try again": {
"Authentication error - try again": "Aŭtentiga eraro - provu denove"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Rajtigi" "Authorize": "Rajtigi"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Aŭtomata kaŝo de doko" "Auto-hide Dock": "Aŭtomata kaŝo de doko"
}, },
"Auto-login": {
"Auto-login": "Aŭtomata ensaluto"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Havebla en Detala kaj Prognoza vidreĝimoj" "Available in Detailed and Forecast view modes": "Havebla en Detala kaj Prognoza vidreĝimoj"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Reen" "Back": "Reen"
}, },
"Back to user list": {
"Back to user list": "Reen al listo de uzantoj"
},
"Backend": { "Backend": {
"Backend": "Interna programo" "Backend": "Interna programo"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Elekti kie sciigaj ŝprucfenestroj aperas sur la ekrano" "Choose where notification popups appear on screen": "Elekti kie sciigaj ŝprucfenestroj aperas sur la ekrano"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Komponilaj agordoj" "Compositor Settings": "Komponilaj agordoj"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Agorda formato" "Config Format": "Agorda formato"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Kontrasto" "Contrast": "Kontrasto"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "kontribuanto" "Contributor": "kontribuanto"
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Malŝalti eligon" "Disable Output": "Malŝalti eligon"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Malŝaltita" "Disabled": "Malŝaltita"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Pordo malfermita" "Door Open": "Pordo malfermita"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Dinamika: Printempa bezier kun superfluo — eniro nelonge superas sian celon kaj poste ekloĝas. " "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Dinamika: Printempa bezier kun superfluo — eniro nelonge superas sian celon kaj poste ekloĝas. "
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "Malplenigi Rubujon (%1)" "Empty Trash (%1)": "Malplenigi Rubujon (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Ŝalti 10-bitan kolorprofundon por pli larĝa kolorgamo kaj HDR-subteno" "Enable 10-bit color depth for wider color gamut and HDR support": "Ŝalti 10-bitan kolorprofundon por pli larĝa kolorgamo kaj HDR-subteno"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Enigu pasvorton por " "Enter password for ": "Enigu pasvorton por "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Enigu ĉi tiun pasŝlosilon sur " "Enter this passkey on ": "Enigu ĉi tiun pasŝlosilon sur "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "Malsukcesis alporti retan QR-kodon: %1" "Failed to fetch network QR code: %1": "Malsukcesis alporti retan QR-kodon: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "Malsukcesis generi sisteman anstataŭigon" "Failed to generate systemd override": "Malsukcesis generi sisteman anstataŭigon"
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Flagoj" "Flags": "Flagoj"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Se la kampo estas kaŝita, ĝi aperos tuj kiam klavo estas premita." "If the field is hidden, it will appear as soon as a key is pressed.": "Se la kampo estas kaŝita, ĝi aperos tuj kiam klavo estas premita."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Tute malatenti" "Ignore Completely": "Tute malatenti"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "Konservu Miajn Redaktojn" "Keep My Edits": "Konservu Miajn Redaktojn"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "Konservu en Trinkejo" "Keep in Bar": "Konservu en Trinkejo"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Maldekstra sekcio" "Left Section": "Maldekstra sekcio"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "Hela" "Light": "Hela"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Ŝlosita" "Locked": "Ŝlosita"
}, },
"Logging in...": {
"Logging in...": "Salutante..."
},
"Login": { "Login": {
"Login": "Saluti" "Login": "Saluti"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Regado de mikrofona laŭteco" "Microphone volume control": "Regado de mikrofona laŭteco"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Meza sekcio" "Middle Section": "Meza sekcio"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Munt-punktoj" "Mount Points": "Munt-punktoj"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "Musklakoj pasas tra la trinkejo al fenestroj malantaŭ ĝi" "Mouse clicks pass through the bar to windows behind it": "Musklakoj pasas tra la trinkejo al fenestroj malantaŭ ĝi"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "Denaska: platforma bildilo (FreeType)." "Native: platform renderer (FreeType).": "Denaska: platforma bildilo (FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "Natura Tuŝpad Scrolling" "Natural Touchpad Scrolling": "Natura Tuŝpad Scrolling"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Sen rondigo" "No Rounding": "Sen rondigo"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Sen ombro" "No Shadow": "Sen ombro"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Ne detektita" "Not detected": "Ne detektita"
}, },
"Not listed?": {
"Not listed?": "Ĉu ne en listo?"
},
"Not paired": { "Not paired": {
"Not paired": "Ne parigita" "Not paired": "Ne parigita"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "Ŝaltita" "On": "Ŝaltita"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "Sur senfine" "On indefinitely": "Sur senfine"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Nur alĝustigi gamaon baze de tempo- aŭ lok-reguloj." "Only adjust gamma based on time or location rules.": "Nur alĝustigi gamaon baze de tempo- aŭ lok-reguloj."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Parigante..." "Pairing...": "Parigante..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Parte nuba" "Partly Cloudy": "Parte nuba"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "Pasvorto ĝisdatigita" "Password updated": "Pasvorto ĝisdatigita"
}, },
"Password...": {
"Password...": "Pasvorto..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "Pasvortoj ne kongruas." "Passwords do not match.": "Pasvortoj ne kongruas."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Kursoro" "Pointer": "Kursoro"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit-integriĝo estas malŝaltita. " "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit-integriĝo estas malŝaltita. "
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Premo" "Pressure": "Premo"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Malhelpi ekranan templimon" "Prevent screen timeout": "Malhelpi ekranan templimon"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protokolo" "Protocol": "Protokolo"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "Necesas memori la lastan uzanton kaj sesion. " "Requires remembering the last user and session. Enable those options first.": "Necesas memori la lastan uzanton kaj sesion. "
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Rekomencigi" "Reset": "Rekomencigi"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Inversigi rulan direkton" "Reverse Scrolling Direction": "Inversigi rulan direkton"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Inversigi direkton de laborspaca ŝanĝo kiam oni rulas super la breto" "Reverse workspace switch direction when scrolling over the bar": "Inversigi direkton de laborspaca ŝanĝo kiam oni rulas super la breto"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "Ruli GitHub-on" "Scroll GitHub": "Ruli GitHub-on"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Rul-radeto" "Scroll Wheel": "Rul-radeto"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Rulado" "Scrolling": "Rulado"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "Serĉi aplikaĵajn agojn" "Search App Actions": "Serĉi aplikaĵajn agojn"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Elekti la paletran algoritmon uzatan por fonbild-bazitaj koloroj" "Select the palette algorithm used for wallpaper-based colors": "Elekti la paletran algoritmon uzatan por fonbild-bazitaj koloroj"
}, },
"Select user...": {
"Select user...": "Elektu uzanton..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Elektu kiujn provizantojn de klavoligiloj inkluzivi" "Select which keybind providers to include": "Elektu kiujn provizantojn de klavoligiloj inkluzivi"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Montri" "Show": "Montri"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Montri triajn partiojn" "Show 3rd Party": "Montri triajn partiojn"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Dormeti poste pasivigi" "Suspend then Hibernate": "Dormeti poste pasivigi"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Retejo de Sway" "Sway Website": "Retejo de Sway"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Vostoskalo ne havebla" "Tailscale not available": "Vostoskalo ne havebla"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "Terminalo" "Terminal": "Terminalo"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "La regulo validas por iu ajn fenestro kongrua kun unu el ĉi tiuj." "The rule applies to any window matching one of these.": "La regulo validas por iu ajn fenestro kongrua kun unu el ĉi tiuj."
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Etoso kaj koloroj" "Theme & Colors": "Etoso kaj koloroj"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "Tro da provoj - ŝlosita" "Too many attempts - locked out": "Tro da provoj - ŝlosita"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "Tro da malsukcesaj provoj - la konto eble estas ŝlosita"
},
"Tools": { "Tools": {
"Tools": "Iloj" "Tools": "Iloj"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "Tuŝu vian sekurecŝlosilon..." "Touch your security key...": "Tuŝu vian sekurecŝlosilon..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Transformi" "Transform": "Transformi"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "Malŝaltu nun" "Turn off now": "Malŝaltu nun"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Tajpu almenaŭ 2 signojn" "Type at least 2 characters": "Tajpu almenaŭ 2 signojn"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Malestimata" "Untrust": "Malestimata"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "Aktualigita" "Up to date": "Aktualigita"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Uzantnomo devas komenci per minuskla litero aŭ substreko kaj enhavi nur minusklajn literojn, ciferojn, streketojn aŭ substrekojn." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Uzantnomo devas komenci per minuskla litero aŭ substreko kaj enhavi nur minusklajn literojn, ciferojn, streketojn aŭ substrekojn."
}, },
"Username...": {
"Username...": "Uzantnomo..."
},
"Users": { "Users": {
"Users": "Uzantoj" "Users": "Uzantoj"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "aligita" "attached": "aligita"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
File diff suppressed because it is too large Load Diff
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "درباره" "About": "درباره"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "رنگ تأکیدی" "Accent Color": "رنگ تأکیدی"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "آداپتور‌ها" "Adapters": "آداپتور‌ها"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "پهنای رسانه سازگار" "Adaptive Media Width": "پهنای رسانه سازگار"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "" "Add to Autostart": ""
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "ارتفاع نوار را از طریق فاصله درونی تنظیم کن" "Adjust the bar height via inner padding": "ارتفاع نوار را از طریق فاصله درونی تنظیم کن"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "تعداد ستون‌ها در حالت نمای جدولی را تنظیم کنید." "Adjust the number of columns in grid view mode.": "تعداد ستون‌ها در حالت نمای جدولی را تنظیم کنید."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "تنظیم حجم صدا به‌ازای هر پله اسکرول" "Adjust volume per scroll indent": "تنظیم حجم صدا به‌ازای هر پله اسکرول"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "همیشه وقتی فقط یک نمایشگر متصل وجود دارد، نشان بده" "Always show when there's only one connected display": "همیشه وقتی فقط یک نمایشگر متصل وجود دارد، نشان بده"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "همیشه از این برنامه برای %1 استفاده کن" "Always use this app for %1": "همیشه از این برنامه برای %1 استفاده کن"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "درحال احراز هویت..."
},
"Authentication": { "Authentication": {
"Authentication": "احراز هویت" "Authentication": "احراز هویت"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "تغییرات احراز هویت به sudo نیاز دارد. درحال باز کردن ترمینال تا بتوانید از گذرواژه یا اثرانگشت استفاده کنید." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "تغییرات احراز هویت به sudo نیاز دارد. درحال باز کردن ترمینال تا بتوانید از گذرواژه یا اثرانگشت استفاده کنید."
}, },
"Authentication error - try again": {
"Authentication error - try again": "خطای احراز هویت - دوباره تلاش کنید"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "اجازه دادن" "Authorize": "اجازه دادن"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "پنهان خودکار داک" "Auto-hide Dock": "پنهان خودکار داک"
}, },
"Auto-login": {
"Auto-login": ""
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "در حالت‌های نمایش با جزئیات و پیش‌بینی در دسترس است" "Available in Detailed and Forecast view modes": "در حالت‌های نمایش با جزئیات و پیش‌بینی در دسترس است"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "بازگشت" "Back": "بازگشت"
}, },
"Back to user list": {
"Back to user list": ""
},
"Backend": { "Backend": {
"Backend": "بک‌اند" "Backend": "بک‌اند"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "انتخاب کنید پاپ‌آپ اعلان کجای صفحه ظاهر شود" "Choose where notification popups appear on screen": "انتخاب کنید پاپ‌آپ اعلان کجای صفحه ظاهر شود"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "تنظیمات کامپازیتور" "Compositor Settings": "تنظیمات کامپازیتور"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "تنظیم قالب" "Config Format": "تنظیم قالب"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "کنتراست" "Contrast": "کنتراست"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "" "Contributor": ""
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "غیرفعال‌کردن خروجی" "Disable Output": "غیرفعال‌کردن خروجی"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "غیرفعال" "Disabled": "غیرفعال"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "درب باز" "Door Open": "درب باز"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": ""
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "خالی کردن زباله‌دان (%1)" "Empty Trash (%1)": "خالی کردن زباله‌دان (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "فعال‌کردن عمق رنگ ۱۰ بیت برای طیف رنگ عریض‌تر و پشتیبانی HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "فعال‌کردن عمق رنگ ۱۰ بیت برای طیف رنگ عریض‌تر و پشتیبانی HDR"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "ورود گذرواژه برای " "Enter password for ": "ورود گذرواژه برای "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "ورود این کلید عبور در " "Enter this passkey on ": "ورود این کلید عبور در "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "دریافت کد QR شبکه ناموفق بود: %1" "Failed to fetch network QR code: %1": "دریافت کد QR شبکه ناموفق بود: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "" "Failed to generate systemd override": ""
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "فلگ‌ها" "Flags": "فلگ‌ها"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "اگر فیلد پنهان باشد، به محض فشردن کلید پدیدار می‌شود." "If the field is hidden, it will appear as soon as a key is pressed.": "اگر فیلد پنهان باشد، به محض فشردن کلید پدیدار می‌شود."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "کلاً نادیده بگیر" "Ignore Completely": "کلاً نادیده بگیر"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "بخش چپ" "Left Section": "بخش چپ"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "کم‌رنگ" "Light": "کم‌رنگ"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "قفل شده" "Locked": "قفل شده"
}, },
"Logging in...": {
"Logging in...": "درحال ورود..."
},
"Login": { "Login": {
"Login": "ورود" "Login": "ورود"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "کنترل حجم صدای میکروفون" "Microphone volume control": "کنترل حجم صدای میکروفون"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "بخش میانی" "Middle Section": "بخش میانی"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "نقاط اتصال" "Mount Points": "نقاط اتصال"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "کلیک موس از نوار عبور کند تا به پنجره پشت آن برسد" "Mouse clicks pass through the bar to windows behind it": "کلیک موس از نوار عبور کند تا به پنجره پشت آن برسد"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "محلی: نماپرداز سکو (FreeType)." "Native: platform renderer (FreeType).": "محلی: نماپرداز سکو (FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "بدون گردی" "No Rounding": "بدون گردی"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "بدون سایه" "No Shadow": "بدون سایه"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "تشخیص داده نشد" "Not detected": "تشخیص داده نشد"
}, },
"Not listed?": {
"Not listed?": ""
},
"Not paired": { "Not paired": {
"Not paired": "جفت نشده" "Not paired": "جفت نشده"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "روشن" "On": "روشن"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "روشن بصورت نامحدود" "On indefinitely": "روشن بصورت نامحدود"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "گاما را فقط بر اساس قواعد زمانی یا مکانی تنظیم کن." "Only adjust gamma based on time or location rules.": "گاما را فقط بر اساس قواعد زمانی یا مکانی تنظیم کن."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "درحال جفت شدن..." "Pairing...": "درحال جفت شدن..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "نیمه ابری" "Partly Cloudy": "نیمه ابری"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "گذرواژه بروز شد" "Password updated": "گذرواژه بروز شد"
}, },
"Password...": {
"Password...": "گذرواژه..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "گذرواژه‌ها مطابقت ندارند." "Passwords do not match.": "گذرواژه‌ها مطابقت ندارند."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "اشاره‌گر" "Pointer": "اشاره‌گر"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "یکپارچه‌سازی polkit غیرفعال است. مدیریت کاربر برای بالابردن دسترسی‌ها نیاز به polkit دارد." "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "یکپارچه‌سازی polkit غیرفعال است. مدیریت کاربر برای بالابردن دسترسی‌ها نیاز به polkit دارد."
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "فشار" "Pressure": "فشار"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "وقفه جلوگیری از خاموش‌شدن صفحه" "Prevent screen timeout": "وقفه جلوگیری از خاموش‌شدن صفحه"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "پروتکل" "Protocol": "پروتکل"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "" "Qt": ""
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "" "Requires remembering the last user and session. Enable those options first.": ""
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "تنظیم مجدد" "Reset": "تنظیم مجدد"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "جهت اسکرول معکوس" "Reverse Scrolling Direction": "جهت اسکرول معکوس"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "جهت تغییر محیط‌کار را هنگام اسکرول‌کردن روی نوار معکوس کن" "Reverse workspace switch direction when scrolling over the bar": "جهت تغییر محیط‌کار را هنگام اسکرول‌کردن روی نوار معکوس کن"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "گیتهاب اسکرول" "Scroll GitHub": "گیتهاب اسکرول"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "چرخ اسکرول" "Scroll Wheel": "چرخ اسکرول"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "اسکرولینگ" "Scrolling": "اسکرولینگ"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "جستجوی اقدام برنامه‌ها" "Search App Actions": "جستجوی اقدام برنامه‌ها"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "انتخاب الگوریتم پالت رنگی استفاده شده برای رنگ‌های بر اساس تصویر پس‌زمینه" "Select the palette algorithm used for wallpaper-based colors": "انتخاب الگوریتم پالت رنگی استفاده شده برای رنگ‌های بر اساس تصویر پس‌زمینه"
}, },
"Select user...": {
"Select user...": "انتخاب کاربر..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "انتخاب کنید که کدام ارائه دهنده نگاشت‌کلید‌ها include شود" "Select which keybind providers to include": "انتخاب کنید که کدام ارائه دهنده نگاشت‌کلید‌ها include شود"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "نمایش" "Show": "نمایش"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "نمایش شخص ثالث" "Show 3rd Party": "نمایش شخص ثالث"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "تعلیق سپس هایبرنیت" "Suspend then Hibernate": "تعلیق سپس هایبرنیت"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "وبسایت Sway" "Sway Website": "وبسایت Sway"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailcale در دسترس نیست" "Tailscale not available": "Tailcale در دسترس نیست"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "ترمینال" "Terminal": "ترمینال"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "" "The rule applies to any window matching one of these.": ""
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "تم و رنگ‌ها" "Theme & Colors": "تم و رنگ‌ها"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "تلاش‌های بیش از حد - حساب بسته شد" "Too many attempts - locked out": "تلاش‌های بیش از حد - حساب بسته شد"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "تعداد تلاش‌های ناموفق زیاد است - حساب ممکن است قفل شده باشد"
},
"Tools": { "Tools": {
"Tools": "ابزارها" "Tools": "ابزارها"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "کلید امنیتی خود را لمس کنید..." "Touch your security key...": "کلید امنیتی خود را لمس کنید..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "تبدیل" "Transform": "تبدیل"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "الان خاموش کن" "Turn off now": "الان خاموش کن"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "حداقل ۲ کاراکتر تایپ کنید" "Type at least 2 characters": "حداقل ۲ کاراکتر تایپ کنید"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "لغو اعتماد" "Untrust": "لغو اعتماد"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "بروز" "Up to date": "بروز"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "نام کاربری باید با حرف کوچک یا زیرخط شروع شود و تنها شامل حروف کوچک، اعداد، خط تیره یا زیرخط باشد." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "نام کاربری باید با حرف کوچک یا زیرخط شروع شود و تنها شامل حروف کوچک، اعداد، خط تیره یا زیرخط باشد."
}, },
"Username...": {
"Username...": "نام کاربری..."
},
"Users": { "Users": {
"Users": "کاربران" "Users": "کاربران"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "پیوست شد" "attached": "پیوست شد"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "براندون" "brandon": "براندون"
}, },
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "À propos" "About": "À propos"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Couleur daccentuation" "Accent Color": "Couleur daccentuation"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adaptateurs" "Adapters": "Adaptateurs"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "" "Adaptive Media Width": ""
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "" "Add to Autostart": ""
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "" "Adjust the bar height via inner padding": ""
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Ajuster le nombre de colonnes en mode vue en grille." "Adjust the number of columns in grid view mode.": "Ajuster le nombre de colonnes en mode vue en grille."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Ajuster le volume à la molette" "Adjust volume per scroll indent": "Ajuster le volume à la molette"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Toujours afficher lorsquun seul écran est connecté" "Always show when there's only one connected display": "Toujours afficher lorsquun seul écran est connecté"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "" "Always use this app for %1": ""
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "Authentification..."
},
"Authentication": { "Authentication": {
"Authentication": "Authentification" "Authentication": "Authentification"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": ""
}, },
"Authentication error - try again": {
"Authentication error - try again": "Erreur d'authentification - essayez à nouveau"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Autoriser" "Authorize": "Autoriser"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Masquer automatiquement le dock" "Auto-hide Dock": "Masquer automatiquement le dock"
}, },
"Auto-login": {
"Auto-login": ""
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Disponible dans les modes Vue détaillée et Prévisions" "Available in Detailed and Forecast view modes": "Disponible dans les modes Vue détaillée et Prévisions"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Retour" "Back": "Retour"
}, },
"Back to user list": {
"Back to user list": ""
},
"Backend": { "Backend": {
"Backend": "Backend" "Backend": "Backend"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Choisir lemplacement daffichage des notifications" "Choose where notification popups appear on screen": "Choisir lemplacement daffichage des notifications"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Paramètres du compositeur" "Compositor Settings": "Paramètres du compositeur"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Format de configuration" "Config Format": "Format de configuration"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Contraste" "Contrast": "Contraste"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "" "Contributor": ""
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Désactiver la sortie" "Disable Output": "Désactiver la sortie"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Désactivé" "Disabled": "Désactivé"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Porte ouverte" "Door Open": "Porte ouverte"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": ""
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "" "Empty Trash (%1)": ""
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Activer la profondeur de couleur 10 bits pour une gamme de couleurs étendue et la prise en charge du HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "Activer la profondeur de couleur 10 bits pour une gamme de couleurs étendue et la prise en charge du HDR"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Saisir le mot de passe pour " "Enter password for ": "Saisir le mot de passe pour "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Saisir cette clé sur " "Enter this passkey on ": "Saisir cette clé sur "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "" "Failed to fetch network QR code: %1": ""
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "" "Failed to generate systemd override": ""
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Indicateurs" "Flags": "Indicateurs"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Si le champ est masqué, il apparaîtra dès qu'une touche est pressée." "If the field is hidden, it will appear as soon as a key is pressed.": "Si le champ est masqué, il apparaîtra dès qu'une touche est pressée."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Ignorer complètement" "Ignore Completely": "Ignorer complètement"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Partie gauche" "Left Section": "Partie gauche"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "" "Light": ""
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Verrouillé" "Locked": "Verrouillé"
}, },
"Logging in...": {
"Logging in...": "Connexion..."
},
"Login": { "Login": {
"Login": "" "Login": ""
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Contrôle du volume du microphone" "Microphone volume control": "Contrôle du volume du microphone"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Section centrale" "Middle Section": "Section centrale"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Points de montage" "Mount Points": "Points de montage"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "" "Mouse clicks pass through the bar to windows behind it": ""
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "" "Native: platform renderer (FreeType).": ""
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Pas d'arrondi" "No Rounding": "Pas d'arrondi"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Pas d'ombre" "No Shadow": "Pas d'ombre"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Non détecté" "Not detected": "Non détecté"
}, },
"Not listed?": {
"Not listed?": ""
},
"Not paired": { "Not paired": {
"Not paired": "Non appairé" "Not paired": "Non appairé"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "Activé" "On": "Activé"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "" "On indefinitely": ""
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Ajuster le gamma uniquement en fonction de lheure ou de lemplacement." "Only adjust gamma based on time or location rules.": "Ajuster le gamma uniquement en fonction de lheure ou de lemplacement."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Appairage en cours..." "Pairing...": "Appairage en cours..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Partiellement nuageux" "Partly Cloudy": "Partiellement nuageux"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "" "Password updated": ""
}, },
"Password...": {
"Password...": "Mot de passe..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "" "Passwords do not match.": ""
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Curseur" "Pointer": "Curseur"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": ""
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Pression" "Pressure": "Pression"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Empêcher la mise en veille de l’écran" "Prevent screen timeout": "Empêcher la mise en veille de l’écran"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protocole" "Protocol": "Protocole"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "" "Qt": ""
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "" "Requires remembering the last user and session. Enable those options first.": ""
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Réinitialiser" "Reset": "Réinitialiser"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Inverser la direction du défilement" "Reverse Scrolling Direction": "Inverser la direction du défilement"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Inverser la direction du changement despace lors du défilement sur la barre" "Reverse workspace switch direction when scrolling over the bar": "Inverser la direction du changement despace lors du défilement sur la barre"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "" "Scroll GitHub": ""
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Molette" "Scroll Wheel": "Molette"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Défilement" "Scrolling": "Défilement"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "Chercher des actions d'appli" "Search App Actions": "Chercher des actions d'appli"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Sélectionner la palette utilisée pour les couleurs basées sur le fond d’écran" "Select the palette algorithm used for wallpaper-based colors": "Sélectionner la palette utilisée pour les couleurs basées sur le fond d’écran"
}, },
"Select user...": {
"Select user...": ""
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Sélectionner les fournisseurs de raccourcis à inclure" "Select which keybind providers to include": "Sélectionner les fournisseurs de raccourcis à inclure"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Montrer" "Show": "Montrer"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Montrer les tiers" "Show 3rd Party": "Montrer les tiers"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Suspendre puis mettre en veille prolongée" "Suspend then Hibernate": "Suspendre puis mettre en veille prolongée"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Site Sway" "Sway Website": "Site Sway"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "" "Tailscale not available": ""
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "Terminal" "Terminal": "Terminal"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "" "The rule applies to any window matching one of these.": ""
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Thème et couleurs" "Theme & Colors": "Thème et couleurs"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "" "Too many attempts - locked out": ""
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "Trop de tentatives échouées - le compte peut être verrouillé"
},
"Tools": { "Tools": {
"Tools": "Outils" "Tools": "Outils"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "" "Touch your security key...": ""
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Transformer" "Transform": "Transformer"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "" "Turn off now": ""
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Tapez au moins 2 caractères" "Type at least 2 characters": "Tapez au moins 2 caractères"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Révoquer" "Untrust": "Révoquer"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "À jour" "Up to date": "À jour"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": ""
}, },
"Username...": {
"Username...": "Nom d'utilisateur..."
},
"Users": { "Users": {
"Users": "" "Users": ""
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "attaché" "attached": "attaché"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+212 -107
View File
@@ -198,7 +198,7 @@
"2 seconds": "2 secondi" "2 seconds": "2 secondi"
}, },
"2.4 GHz": { "2.4 GHz": {
"2.4 GHz": "" "2.4 GHz": "2.4 GHz"
}, },
"20 minutes": { "20 minutes": {
"20 minutes": "20 minuti" "20 minutes": "20 minuti"
@@ -264,7 +264,7 @@
"45 seconds": "45 secondi" "45 seconds": "45 secondi"
}, },
"5 GHz": { "5 GHz": {
"5 GHz": "" "5 GHz": "5 GHz"
}, },
"5 min before": { "5 min before": {
"5 min before": "5 min prima" "5 min before": "5 min prima"
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Informazioni" "About": "Informazioni"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Colore di Accento" "Accent Color": "Colore di Accento"
}, },
@@ -378,7 +381,7 @@
"Activate the DMS greeter? A terminal will open for sudo authentication. Run Sync after activation to apply your settings.": "Attivare il greeter DMS? Si aprirà un terminale per l'autenticazione sudo. Esegui Sincronizza dopo l'attivazione per applicare le tue impostazioni." "Activate the DMS greeter? A terminal will open for sudo authentication. Run Sync after activation to apply your settings.": "Attivare il greeter DMS? Si aprirà un terminale per l'autenticazione sudo. Esegui Sincronizza dopo l'attivazione per applicare le tue impostazioni."
}, },
"Activates immediately": { "Activates immediately": {
"Activates immediately": "" "Activates immediately": "Si attiva immediatamente"
}, },
"Activation": { "Activation": {
"Activation": "Attivazione" "Activation": "Attivazione"
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adattatori" "Adapters": "Adattatori"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "Larghezza Adattiva del Widget Media" "Adaptive Media Width": "Larghezza Adattiva del Widget Media"
}, },
@@ -423,7 +429,7 @@
"Add \"%1\" to the %2 group? They must log out and back in, then run dms greeter sync --profile to publish their login-screen theme.": "Aggiungere \"%1\" al gruppo %2? Devono disconnettersi e accedere di nuovo, quindi eseguire dms greeter sync --profile per pubblicare il tema della schermata di accesso." "Add \"%1\" to the %2 group? They must log out and back in, then run dms greeter sync --profile to publish their login-screen theme.": "Aggiungere \"%1\" al gruppo %2? Devono disconnettersi e accedere di nuovo, quindi eseguire dms greeter sync --profile per pubblicare il tema della schermata di accesso."
}, },
"Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": { "Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": {
"Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": "" "Add \"%1\" to the %2 group? They must log out and back in, then run dms-greeter sync --profile to publish their login-screen theme.": "Aggiungi \"%1\" al gruppo %2? L'utente deve disconnettersi e accedere di nuovo, dopo deve eseguire dms-greeter sync --profile per pubblicare il tema della schermata di accesso."
}, },
"Add Bar": { "Add Bar": {
"Add Bar": "Aggiungi Barra" "Add Bar": "Aggiungi Barra"
@@ -477,7 +483,7 @@
"Add the new user to the %1 group so they can run dms greeter sync --profile.": "Aggiungi il nuovo utente al gruppo %1 in modo che possa eseguire il comando dms greeter sync --profile." "Add the new user to the %1 group so they can run dms greeter sync --profile.": "Aggiungi il nuovo utente al gruppo %1 in modo che possa eseguire il comando dms greeter sync --profile."
}, },
"Add the new user to the %1 group so they can run dms-greeter sync --profile.": { "Add the new user to the %1 group so they can run dms-greeter sync --profile.": {
"Add the new user to the %1 group so they can run dms-greeter sync --profile.": "" "Add the new user to the %1 group so they can run dms-greeter sync --profile.": "Aggiungi il nuovo utente al gruppo %1 in modo che possa eseguire dms-greeter sync --profile."
}, },
"Add the new user to the %1 group so they can use sudo.": { "Add the new user to the %1 group so they can use sudo.": {
"Add the new user to the %1 group so they can use sudo.": "Aggiungi il nuovo utente al gruppo %1 in modo che possa utilizzare sudo." "Add the new user to the %1 group so they can use sudo.": "Aggiungi il nuovo utente al gruppo %1 in modo che possa utilizzare sudo."
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "Aggiungi all'Avvio Automatico" "Add to Autostart": "Aggiungi all'Avvio Automatico"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "Regola l'altezza della barra tramite spaziatura interna" "Adjust the bar height via inner padding": "Regola l'altezza della barra tramite spaziatura interna"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Regola il numero di colonne nella modalità di visualizzazione a griglia." "Adjust the number of columns in grid view mode.": "Regola il numero di colonne nella modalità di visualizzazione a griglia."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Regola volume per scatto rotellina" "Adjust volume per scroll indent": "Regola volume per scatto rotellina"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Mostra sempre quando è presente un solo schermo connesso" "Always show when there's only one connected display": "Mostra sempre quando è presente un solo schermo connesso"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "Usa sempre quest'app per %1" "Always use this app for %1": "Usa sempre quest'app per %1"
}, },
@@ -660,7 +678,7 @@
"Applications and commands to start automatically when you log in": "Applicazioni e Comandi da Avviare Automaticamente all'Accesso" "Applications and commands to start automatically when you log in": "Applicazioni e Comandi da Avviare Automaticamente all'Accesso"
}, },
"Applies on the next greeter sync": { "Applies on the next greeter sync": {
"Applies on the next greeter sync": "" "Applies on the next greeter sync": "Verrà applicato alla prossima sincronizzazione del greeter"
}, },
"Apply Changes": { "Apply Changes": {
"Apply Changes": "Applica Modifiche" "Apply Changes": "Applica Modifiche"
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "Autenticato!" "Authenticated!": "Autenticato!"
}, },
"Authenticating...": {
"Authenticating...": "Autenticazione in corso..."
},
"Authentication": { "Authentication": {
"Authentication": "Autenticazione" "Authentication": "Autenticazione"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Le modifiche di autenticazione richiedono sudo. Apertura del terminale per consentirti l'uso della password o dell'impronta digitale." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Le modifiche di autenticazione richiedono sudo. Apertura del terminale per consentirti l'uso della password o dell'impronta digitale."
}, },
"Authentication error - try again": {
"Authentication error - try again": "Errore di autenticazione - riprova"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": "Autenticazione non riuscita - tentativo %1 di %2"
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": "Autenticazione non riuscita - possibile blocco dell'account"
},
"Authentication failed - try again": {
"Authentication failed - try again": "Autenticazione non riuscita - riprova"
},
"Authorize": { "Authorize": {
"Authorize": "Autorizza" "Authorize": "Autorizza"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Nascondi Automaticamente il Dock" "Auto-hide Dock": "Nascondi Automaticamente il Dock"
}, },
"Auto-login": {
"Auto-login": "Accesso Automatico"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "La modifica dell'accesso automatico richiede una sincronizzazione" "Auto-login change needs a sync": "La modifica dell'accesso automatico richiede una sincronizzazione"
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Disponibile nelle modalità Dettagliata e Previsioni" "Available in Detailed and Forecast view modes": "Disponibile nelle modalità Dettagliata e Previsioni"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": "In attesa dell'autenticazione tramite impronta digitale"
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": "In attesa dell'autenticazione tramite impronta digitale o chiave di sicurezza"
},
"Awaiting security key authentication": {
"Awaiting security key authentication": "In attesa dell'autenticazione tramite chiave di sicurezza"
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Indietro" "Back": "Indietro"
}, },
"Back to user list": {
"Back to user list": "Torna alla Lista Utenti"
},
"Backend": { "Backend": {
"Backend": "Backend" "Backend": "Backend"
}, },
@@ -1035,7 +1023,7 @@
"Balanced palette with focused accents (default).": "Tavolozza bilanciata con accenti focalizzati (predefinito)." "Balanced palette with focused accents (default).": "Tavolozza bilanciata con accenti focalizzati (predefinito)."
}, },
"Band": { "Band": {
"Band": "" "Band": "Banda"
}, },
"Bar": { "Bar": {
"Bar": "Barra" "Bar": "Barra"
@@ -1293,7 +1281,7 @@
"Calendar Backend": "Backend Calendario" "Calendar Backend": "Backend Calendario"
}, },
"Calls / Headset": { "Calls / Headset": {
"Calls / Headset": "" "Calls / Headset": "Chiamate / Auricolare"
}, },
"Camera": { "Camera": {
"Camera": "Fotocamera" "Camera": "Fotocamera"
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "Scegli cartella sfondi" "Choose wallpaper folder": "Scegli cartella sfondi"
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Scegli dove i popup delle notifiche appaiono sullo schermo" "Choose where notification popups appear on screen": "Scegli dove i popup delle notifiche appaiono sullo schermo"
}, },
@@ -1581,16 +1572,16 @@
"Close Window": "Chiudi Finestra" "Close Window": "Chiudi Finestra"
}, },
"Codec switched successfully": { "Codec switched successfully": {
"Codec switched successfully": "" "Codec switched successfully": "Codec cambiato correttamente"
}, },
"Codec switching is unavailable because WirePlumber was not found": { "Codec switching is unavailable because WirePlumber was not found": {
"Codec switching is unavailable because WirePlumber was not found": "" "Codec switching is unavailable because WirePlumber was not found": "Il cambio codec non è disponibile perché WirePlumber non è stato trovato"
}, },
"Codec switching is unavailable because pactl was not found": { "Codec switching is unavailable because pactl was not found": {
"Codec switching is unavailable because pactl was not found": "Il passaggio del codec non è disponibile perché pactl non è stato trovato" "Codec switching is unavailable because pactl was not found": "Il passaggio del codec non è disponibile perché pactl non è stato trovato"
}, },
"Codec switching is unavailable. WirePlumber wpexec was not found.": { "Codec switching is unavailable. WirePlumber wpexec was not found.": {
"Codec switching is unavailable. WirePlumber wpexec was not found.": "" "Codec switching is unavailable. WirePlumber wpexec was not found.": "Il cambio codec non è disponibile. WirePlumber wpexec non è stato trovato."
}, },
"Color": { "Color": {
"Color": "Colore" "Color": "Colore"
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Impostazioni del Compositor" "Compositor Settings": "Impostazioni del Compositor"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Formato di Configurazione" "Config Format": "Formato di Configurazione"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Contrasto" "Contrast": "Contrasto"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "Contributore" "Contributor": "Contributore"
}, },
@@ -1905,7 +1902,7 @@
"Corners & Background": "Angoli e Sfondo" "Corners & Background": "Angoli e Sfondo"
}, },
"Couldn't load hotspot password": { "Couldn't load hotspot password": {
"Couldn't load hotspot password": "" "Couldn't load hotspot password": "Impossibile caricare la password dell'hotspot"
}, },
"Count Only": { "Count Only": {
"Count Only": "Solo Conteggio" "Count Only": "Solo Conteggio"
@@ -2049,7 +2046,7 @@
"Custom Lock Command": "Comando Personalizzato per il Blocco" "Custom Lock Command": "Comando Personalizzato per il Blocco"
}, },
"Custom Logout Command": { "Custom Logout Command": {
"Custom Logout Command": "Comando Personalizzato Terminare la Sessione" "Custom Logout Command": "Comando Personalizzato per Terminare la Sessione"
}, },
"Custom Name": { "Custom Name": {
"Custom Name": "Nome Personalizzato" "Custom Name": "Nome Personalizzato"
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Disabilita Output" "Disable Output": "Disabilita Output"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Disattivato" "Disabled": "Disattivato"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Sportello Aperto" "Door Open": "Sportello Aperto"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "Trascina un widget dalla sua maniglia qui per riordinarlo o rilascialo in un altro gruppo" "Drag a widget by its handle here to reorder it or drop it into another group": "Trascina un widget dalla sua maniglia qui per riordinarlo o rilascialo in un altro gruppo"
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Dinamico: bezier a molla con overshooting — l'entrata supera brevemente il bersaglio poi si stabilizza. Espressivo e vitale." "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Dinamico: bezier a molla con overshooting — l'entrata supera brevemente il bersaglio poi si stabilizza. Espressivo e vitale."
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "Rivelazione al Passaggio sul Bordo" "Edge Hover Reveal": "Rivelazione al Passaggio sul Bordo"
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "Svuota Cestino (%1)" "Empty Trash (%1)": "Svuota Cestino (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Abilita profondità colore a 10 bit per una gamma cromatica più ampia e supporto HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "Abilita profondità colore a 10 bit per una gamma cromatica più ampia e supporto HDR"
}, },
@@ -2706,7 +2721,7 @@
"Enable WiFi": "Abilita WiFi" "Enable WiFi": "Abilita WiFi"
}, },
"Enable WiFi before starting the hotspot.": { "Enable WiFi before starting the hotspot.": {
"Enable WiFi before starting the hotspot.": "" "Enable WiFi before starting the hotspot.": "Abilita WiFi prima di avviare l'hotspot."
}, },
"Enable a custom override below to set per-bar shadow intensity, opacity, and color.": { "Enable a custom override below to set per-bar shadow intensity, opacity, and color.": {
"Enable a custom override below to set per-bar shadow intensity, opacity, and color.": "Abilita una sovrascrittura personalizzata qui sotto per impostare intensità, opacità e colore dell'ombra per ogni barra." "Enable a custom override below to set per-bar shadow intensity, opacity, and color.": "Abilita una sovrascrittura personalizzata qui sotto per impostare intensità, opacità e colore dell'ombra per ogni barra."
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Inserisci password per " "Enter password for ": "Inserisci password per "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Inserisci questa passkey su " "Enter this passkey on ": "Inserisci questa passkey su "
}, },
@@ -2934,7 +2952,7 @@
"Failed to check pin limit": "Impossibile verificare il limite delle voci fissate" "Failed to check pin limit": "Impossibile verificare il limite delle voci fissate"
}, },
"Failed to configure hotspot": { "Failed to configure hotspot": {
"Failed to configure hotspot": "" "Failed to configure hotspot": "Impossibile configurare l'hotspot"
}, },
"Failed to connect VPN": { "Failed to connect VPN": {
"Failed to connect VPN": "Impossibile connettersi alla VPN" "Failed to connect VPN": "Impossibile connettersi alla VPN"
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "Impossibile recuperare il codice QR di rete: %1" "Failed to fetch network QR code: %1": "Impossibile recuperare il codice QR di rete: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "Impossibile generare override systemd" "Failed to generate systemd override": "Impossibile generare override systemd"
}, },
@@ -3066,7 +3087,7 @@
"Failed to run 'dms greeter status'. Ensure DMS is installed and dms is in PATH.": "Impossibile eseguire \"dms greeter status\". Assicurati che DMS sia installato e dms sia nel PATH." "Failed to run 'dms greeter status'. Ensure DMS is installed and dms is in PATH.": "Impossibile eseguire \"dms greeter status\". Assicurati che DMS sia installato e dms sia nel PATH."
}, },
"Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": { "Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": {
"Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": "" "Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": "Impossibile eseguire \"dms-greeter status\". Assicurati che il pacchetto dms-greeter sia installato."
}, },
"Failed to save VPN credentials": { "Failed to save VPN credentials": {
"Failed to save VPN credentials": "Impossibile salvare le credenziali VPN" "Failed to save VPN credentials": "Impossibile salvare le credenziali VPN"
@@ -3123,13 +3144,13 @@
"Failed to start connection to %1": "Impossibile avviare la connessione a %1" "Failed to start connection to %1": "Impossibile avviare la connessione a %1"
}, },
"Failed to start hotspot": { "Failed to start hotspot": {
"Failed to start hotspot": "" "Failed to start hotspot": "Impossibile avviare l'hotspot"
}, },
"Failed to stop hotspot": { "Failed to stop hotspot": {
"Failed to stop hotspot": "" "Failed to stop hotspot": "Impossibile fermare l'hotspot"
}, },
"Failed to switch codec": { "Failed to switch codec": {
"Failed to switch codec": "" "Failed to switch codec": "Impossibile cambiare codec"
}, },
"Failed to unpin entry": { "Failed to unpin entry": {
"Failed to unpin entry": "Impossibile rimuovere la voce" "Failed to unpin entry": "Impossibile rimuovere la voce"
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Flag" "Flags": "Flag"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "Flatpak" "Flatpak": "Flatpak"
}, },
@@ -3558,7 +3585,7 @@
"Generic": "Generico" "Generic": "Generico"
}, },
"Geometric Centering": { "Geometric Centering": {
"Geometric Centering": "Centratura Geometrico" "Geometric Centering": "Centratura Geometrica"
}, },
"Get Started": { "Get Started": {
"Get Started": "Inizia" "Get Started": "Inizia"
@@ -3621,7 +3648,7 @@
"Greeter group members can sync their login-screen theme with dms greeter sync --profile after logging out and back in.": "I membri del gruppo Greeter possono sincronizzare il tema della schermata di accesso con il comando dms greeter sync --profile dopo aver effettuato il logout e aver effettuato nuovamente l'accesso." "Greeter group members can sync their login-screen theme with dms greeter sync --profile after logging out and back in.": "I membri del gruppo Greeter possono sincronizzare il tema della schermata di accesso con il comando dms greeter sync --profile dopo aver effettuato il logout e aver effettuato nuovamente l'accesso."
}, },
"Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": { "Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": {
"Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": "" "Greeter group members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": "I membri del gruppo greeter possono sincronizzare il tema della schermata di accesso con dms-greeter sync --profile dopo aver effettuato il logout e l'accesso."
}, },
"Greeter group:": { "Greeter group:": {
"Greeter group:": "Gruppo greeter:" "Greeter group:": "Gruppo greeter:"
@@ -3837,22 +3864,22 @@
"Hotkey overlay title (optional)": "Titolo della sovrapposizione per scorciatoie (opzionale)" "Hotkey overlay title (optional)": "Titolo della sovrapposizione per scorciatoie (opzionale)"
}, },
"Hotspot": { "Hotspot": {
"Hotspot": "" "Hotspot": "Hotspot"
}, },
"Hotspot activation failed.": { "Hotspot activation failed.": {
"Hotspot activation failed.": "" "Hotspot activation failed.": "Attivazione dell'hotspot non riuscita."
}, },
"Hotspot name": { "Hotspot name": {
"Hotspot name": "" "Hotspot name": "Nome hotspot"
}, },
"Hotspot saved": { "Hotspot saved": {
"Hotspot saved": "" "Hotspot saved": "Hotspot salvato"
}, },
"Hotspot started": { "Hotspot started": {
"Hotspot started": "" "Hotspot started": "Hotspot avviato"
}, },
"Hotspot stopped": { "Hotspot stopped": {
"Hotspot stopped": "" "Hotspot stopped": "Hotspot fermato"
}, },
"Hour": { "Hour": {
"Hour": "Ora" "Hour": "Ora"
@@ -3912,7 +3939,7 @@
"IP address or hostname": "Indirizzo IP o nome host" "IP address or hostname": "Indirizzo IP o nome host"
}, },
"IP sharing setup failed. Check that dnsmasq is installed.": { "IP sharing setup failed. Check that dnsmasq is installed.": {
"IP sharing setup failed. Check that dnsmasq is installed.": "" "IP sharing setup failed. Check that dnsmasq is installed.": "Configurazione della condivisione IP non riuscita. Controlla che dnsmasq sia installato."
}, },
"ISO Date": { "ISO Date": {
"ISO Date": "Data ISO" "ISO Date": "Data ISO"
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Se il campo è nascosto, apparirà non appena viene premuto un tasto." "If the field is hidden, it will appear as soon as a key is pressed.": "Se il campo è nascosto, apparirà non appena viene premuto un tasto."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Ignora Completamente" "Ignore Completely": "Ignora Completamente"
}, },
@@ -4029,7 +4059,7 @@
"Incorrect password - try again": "Password errata - riprova" "Incorrect password - try again": "Password errata - riprova"
}, },
"Index Centering": { "Index Centering": {
"Index Centering": "Centratura indice" "Index Centering": "Centratura Indice"
}, },
"Indicator Style": { "Indicator Style": {
"Indicator Style": "Stile Indicatore" "Indicator Style": "Stile Indicatore"
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "Mantieni le Mie Modifiche" "Keep My Edits": "Mantieni le Mie Modifiche"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "Mantieni nella Barra" "Keep in Bar": "Mantieni nella Barra"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Sezione Sinistra" "Left Section": "Sezione Sinistra"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "Chiaro" "Light": "Chiaro"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Bloccato" "Locked": "Bloccato"
}, },
"Logging in...": {
"Logging in...": "Accesso in corso..."
},
"Login": { "Login": {
"Login": "Accesso" "Login": "Accesso"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Controllo volume microfono" "Microphone volume control": "Controllo volume microfono"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Sezione Centrale" "Middle Section": "Sezione Centrale"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Punti di Montaggio" "Mount Points": "Punti di Montaggio"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "I clic del mouse attraversano la barra e raggiungono le finestre dietro di essa." "Mouse clicks pass through the bar to windows behind it": "I clic del mouse attraversano la barra e raggiungono le finestre dietro di essa."
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "Native: renderer di piattaforma (FreeType)." "Native: platform renderer (FreeType).": "Native: renderer di piattaforma (FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "Scorrimento Naturale del Touchpad" "Natural Touchpad Scrolling": "Scorrimento Naturale del Touchpad"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Squadrato" "No Rounding": "Squadrato"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Nessuna Ombra" "No Shadow": "Nessuna Ombra"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Non rilevato" "Not detected": "Non rilevato"
}, },
"Not listed?": {
"Not listed?": "Non elencato?"
},
"Not paired": { "Not paired": {
"Not paired": "Non associato" "Not paired": "Non associato"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "Attivo" "On": "Attivo"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "Attivo a tempo indeterminato" "On indefinitely": "Attivo a tempo indeterminato"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Regola la gamma solo in base alle regole di tempo o di posizione." "Only adjust gamma based on time or location rules.": "Regola la gamma solo in base alle regole di tempo o di posizione."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "Solo sulla Batteria" "Only on Battery": "Solo sulla Batteria"
}, },
@@ -5511,7 +5562,7 @@
"Open in terminal": "Apri nel terminale" "Open in terminal": "Apri nel terminale"
}, },
"Open network": { "Open network": {
"Open network": "" "Open network": "Rete aperta"
}, },
"Open search bar to find text": { "Open search bar to find text": {
"Open search bar to find text": "Apri barra di ricerca per cercare testo" "Open search bar to find text": "Apri barra di ricerca per cercare testo"
@@ -5541,7 +5592,7 @@
"Opens the connected launcher in Connected Frame Mode.": "Apre il launcher connesso in modalità Connected Frame." "Opens the connected launcher in Connected Frame Mode.": "Apre il launcher connesso in modalità Connected Frame."
}, },
"Optional": { "Optional": {
"Optional": "" "Optional": "Opzionale"
}, },
"Optional description": { "Optional description": {
"Optional description": "Descrizione facoltativa" "Optional description": "Descrizione facoltativa"
@@ -5553,7 +5604,7 @@
"Optional state-based conditions applied to the first match.": "Condizioni opzionali basate sullo stato applicate alla prima corrispondenza." "Optional state-based conditions applied to the first match.": "Condizioni opzionali basate sullo stato applicate alla prima corrispondenza."
}, },
"Optional; leave blank for open hotspot": { "Optional; leave blank for open hotspot": {
"Optional; leave blank for open hotspot": "" "Optional; leave blank for open hotspot": "Opzionale; lascia vuoto per un hotspot aperto"
}, },
"Options": { "Options": {
"Options": "Opzioni" "Options": "Opzioni"
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Associazione in corso..." "Pairing...": "Associazione in corso..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Parzialmente Nuvoloso" "Partly Cloudy": "Parzialmente Nuvoloso"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "Password aggiornata" "Password updated": "Password aggiornata"
}, },
"Password...": {
"Password...": "Password..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "Le password non corrispondono." "Passwords do not match.": "Le password non corrispondono."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Puntatore" "Pointer": "Puntatore"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "L'integrazione con Polkit è disabilitata. La gestione degli utenti richiede che Polkit elevi i privilegi." "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "L'integrazione con Polkit è disabilitata. La gestione degli utenti richiede che Polkit elevi i privilegi."
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Pressione" "Pressure": "Pressione"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Disattiva sospensione schermo" "Prevent screen timeout": "Disattiva sospensione schermo"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protocollo" "Protocol": "Protocollo"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6189,7 +6249,7 @@
"Re-enter password": "Reinserisci la password" "Re-enter password": "Reinserisci la password"
}, },
"Re-enter the password before saving.": { "Re-enter the password before saving.": {
"Re-enter the password before saving.": "" "Re-enter the password before saving.": "Reinserisci la password prima di salvare."
}, },
"Reach local network devices while using an exit node": { "Reach local network devices while using an exit node": {
"Reach local network devices while using an exit node": "Raggiungi i dispositivi della rete locale durante l'uso di un nodo di uscita" "Reach local network devices while using an exit node": "Raggiungi i dispositivi della rete locale durante l'uso di un nodo di uscita"
@@ -6201,7 +6261,7 @@
"Read:": "Lettura:" "Read:": "Lettura:"
}, },
"Ready": { "Ready": {
"Ready": "" "Ready": "Pronto"
}, },
"Reason": { "Reason": {
"Reason": "Motivo" "Reason": "Motivo"
@@ -6249,7 +6309,7 @@
"Release": "Rilascio" "Release": "Rilascio"
}, },
"Release to confirm": { "Release to confirm": {
"Release to confirm": "" "Release to confirm": "Rilascia per confermare"
}, },
"Reload From Disk": { "Reload From Disk": {
"Reload From Disk": "Ricarica Dal Disco" "Reload From Disk": "Ricarica Dal Disco"
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "Richiede di ricordare l'ultimo utente e sessione. Abilita prima quelle opzioni." "Requires remembering the last user and session. Enable those options first.": "Richiede di ricordare l'ultimo utente e sessione. Abilita prima quelle opzioni."
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Reimposta" "Reset": "Reimposta"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Inverti Direzione Scorrimento" "Reverse Scrolling Direction": "Inverti Direzione Scorrimento"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Inverti direzione cambio spazio di lavoro quando si scorre sulla barra" "Reverse workspace switch direction when scrolling over the bar": "Inverti direzione cambio spazio di lavoro quando si scorre sulla barra"
}, },
@@ -6519,7 +6588,7 @@
"Run paru/yay with AUR enabled when 'Update All' is clicked.": "Esegui paru/yay con AUR abilitato quando si fa clic su \"Aggiorna tutto\"." "Run paru/yay with AUR enabled when 'Update All' is clicked.": "Esegui paru/yay con AUR abilitato quando si fa clic su \"Aggiorna tutto\"."
}, },
"Running": { "Running": {
"Running": "" "Running": "In esecuzione"
}, },
"Running Apps": { "Running Apps": {
"Running Apps": "App in Esecuzione" "Running Apps": "App in Esecuzione"
@@ -6546,13 +6615,13 @@
"SMS sent successfully": "SMS inviato correttamente" "SMS sent successfully": "SMS inviato correttamente"
}, },
"SSID": { "SSID": {
"SSID": "" "SSID": "SSID"
}, },
"Saturation": { "Saturation": {
"Saturation": "Saturazione" "Saturation": "Saturazione"
}, },
"Save & Start": { "Save & Start": {
"Save & Start": "" "Save & Start": "Salva e Avvia"
}, },
"Save Notepad File": { "Save Notepad File": {
"Save Notepad File": "Salva File Blocco Note" "Save Notepad File": "Salva File Blocco Note"
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "GitHub di Scroll" "Scroll GitHub": "GitHub di Scroll"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Rotella di Scorrimento" "Scroll Wheel": "Rotella di Scorrimento"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Scorrimento" "Scrolling": "Scorrimento"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "Cerca Azioni App" "Search App Actions": "Cerca Azioni App"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Seleziona l'algoritmo della tavolozza usato per i colori basati sullo sfondo" "Select the palette algorithm used for wallpaper-based colors": "Seleziona l'algoritmo della tavolozza usato per i colori basati sullo sfondo"
}, },
"Select user...": {
"Select user...": "Seleziona l'utente..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Seleziona quali fornitori di scorciatoie includere" "Select which keybind providers to include": "Seleziona quali fornitori di scorciatoie includere"
}, },
@@ -6903,13 +6975,13 @@
"Set the percentage at which the battery is considered low.": "Imposta la percentuale a cui la batteria è considerata scarica." "Set the percentage at which the battery is considered low.": "Imposta la percentuale a cui la batteria è considerata scarica."
}, },
"Set up a WiFi hotspot for sharing this connection.": { "Set up a WiFi hotspot for sharing this connection.": {
"Set up a WiFi hotspot for sharing this connection.": "" "Set up a WiFi hotspot for sharing this connection.": "Configura un hotspot WiFi per condividere questa connessione."
}, },
"Set up hotspot": { "Set up hotspot": {
"Set up hotspot": "" "Set up hotspot": "Configura hotspot"
}, },
"Set up hotspot in Settings": { "Set up hotspot in Settings": {
"Set up hotspot in Settings": "" "Set up hotspot in Settings": "Configura l'hotspot nelle Impostazioni"
}, },
"Setting": { "Setting": {
"Setting": "Impostazione" "Setting": "Impostazione"
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Mostra" "Show": "Mostra"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Mostra Terze Parti" "Show 3rd Party": "Mostra Terze Parti"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "Mostra una notifica quando la batteria raggiunge il limite di carica." "Show a notification when battery reaches the charge limit.": "Mostra una notifica quando la batteria raggiunge il limite di carica."
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "Mostra un popup di avviso quando la batteria è in esaurimento." "Show a warning popup when battery is running low.": "Mostra un popup di avviso quando la batteria è in esaurimento."
}, },
@@ -7413,7 +7491,7 @@
"Start": "Avvia" "Start": "Avvia"
}, },
"Start Hotspot?": { "Start Hotspot?": {
"Start Hotspot?": "" "Start Hotspot?": "Avvia l'hotspot?"
}, },
"Start KDE Connect or Valent to use this plugin": { "Start KDE Connect or Valent to use this plugin": {
"Start KDE Connect or Valent to use this plugin": "Avvia KDE Connect o Valent per usare questo plugin" "Start KDE Connect or Valent to use this plugin": "Avvia KDE Connect o Valent per usare questo plugin"
@@ -7422,19 +7500,19 @@
"Start typing your notes here...": "Inizia a scrivere i tuoi appunti qui..." "Start typing your notes here...": "Inizia a scrivere i tuoi appunti qui..."
}, },
"Starting hotspot...": { "Starting hotspot...": {
"Starting hotspot...": "" "Starting hotspot...": "Avvio dell'hotspot..."
}, },
"Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": { "Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": {
"Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": "" "Starting the hotspot will disconnect WiFi from \"%1\" — the radio can't do both at once. Sharing internet then requires another connection, such as Ethernet.": "L'avvio dell'hotspot disconnetterà il WiFi da \"%1\" — la radio non può fare entrambe le cose contemporaneamente. Per condividere Internet sarà necessaria un'altra connessione, ad esempio Ethernet."
}, },
"Starting...": { "Starting...": {
"Starting...": "" "Starting...": "Avviando..."
}, },
"State": { "State": {
"State": "Stato" "State": "Stato"
}, },
"Stop": { "Stop": {
"Stop": "" "Stop": "Ferma"
}, },
"Stop ignoring %1": { "Stop ignoring %1": {
"Stop ignoring %1": "Smetti di ignorare %1" "Stop ignoring %1": "Smetti di ignorare %1"
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Sospendi e poi Iberna" "Suspend then Hibernate": "Sospendi e poi Iberna"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Sito Web di Sway" "Sway Website": "Sito Web di Sway"
}, },
@@ -7560,7 +7641,7 @@
"Sync applies your theme and settings to the login screen. Shared users should run dms greeter sync --profile instead of a primary user sync.": "La sincronizzazione applica il tuo tema e le tue impostazioni alla schermata di accesso. Gli utenti condivisi dovrebbero eseguire dms greeter sync --profile invece della sincronizzazione dell'utente principale." "Sync applies your theme and settings to the login screen. Shared users should run dms greeter sync --profile instead of a primary user sync.": "La sincronizzazione applica il tuo tema e le tue impostazioni alla schermata di accesso. Gli utenti condivisi dovrebbero eseguire dms greeter sync --profile invece della sincronizzazione dell'utente principale."
}, },
"Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": { "Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": {
"Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": "" "Sync applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": "La sincronizzazione applica il tuo tema e le tue impostazioni alla schermata di accesso. Gli utenti condivisi dovrebbero eseguire dms-greeter sync --profile invece di una sincronizzazione dell'utente principale."
}, },
"Sync completed successfully.": { "Sync completed successfully.": {
"Sync completed successfully.": "Sincronizzazione completata con successo." "Sync completed successfully.": "Sincronizzazione completata con successo."
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscale non disponibile" "Tailscale not available": "Tailscale non disponibile"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "Terminale" "Terminal": "Terminale"
}, },
@@ -7665,7 +7758,7 @@
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms greeter sync' manually.": "Impossibile utilizzare il terminale di ripiego. Installa uno degli emulatori di terminale supportati oppure esegui manualmente 'dms greeter sync'." "Terminal fallback failed. Install one of the supported terminal emulators or run 'dms greeter sync' manually.": "Impossibile utilizzare il terminale di ripiego. Installa uno degli emulatori di terminale supportati oppure esegui manualmente 'dms greeter sync'."
}, },
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": { "Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": {
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": "" "Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": "Terminale di ripiego non riuscito. Installa uno degli emulatori di terminale supportati o esegui manualmente 'dms-greeter sync'."
}, },
"Terminal fallback opened. Complete authentication there; it will close automatically when done.": { "Terminal fallback opened. Complete authentication there; it will close automatically when done.": {
"Terminal fallback opened. Complete authentication there; it will close automatically when done.": "Terminale di ripiego aperto. Completa lì l'autenticazione; si chiuderà automaticamente al termine." "Terminal fallback opened. Complete authentication there; it will close automatically when done.": "Terminale di ripiego aperto. Completa lì l'autenticazione; si chiuderà automaticamente al termine."
@@ -7713,7 +7806,7 @@
"The DMS_SOCKET environment variable is not set or the socket is unavailable. Automated plugin management requires the DMS_SOCKET.": "La variabile d'ambiente DMS_SOCKET non è impostata o il socket non è disponibile. La gestione automatica dei plugin richiede il DMS_SOCKET." "The DMS_SOCKET environment variable is not set or the socket is unavailable. Automated plugin management requires the DMS_SOCKET.": "La variabile d'ambiente DMS_SOCKET non è impostata o il socket non è disponibile. La gestione automatica dei plugin richiede il DMS_SOCKET."
}, },
"The WiFi adapter could not start access point mode.": { "The WiFi adapter could not start access point mode.": {
"The WiFi adapter could not start access point mode.": "" "The WiFi adapter could not start access point mode.": "L'adattatore WiFi non è riuscito ad avviare la modalità access point."
}, },
"The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": { "The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": {
"The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": "Le seguenti impostazioni modificheranno le tue impostazioni GTK e Qt. Se vuoi preservare la tua configurazione attuale, per favore fai il backup (qt5ct.conf|qt6ct.conf e ~/.config/gtk-3.0|gtk-4.0)." "The below settings will modify your GTK and Qt settings. If you wish to preserve your current configurations, please back them up (qt5ct.conf|qt6ct.conf and ~/.config/gtk-3.0|gtk-4.0).": "Le seguenti impostazioni modificheranno le tue impostazioni GTK e Qt. Se vuoi preservare la tua configurazione attuale, per favore fai il backup (qt5ct.conf|qt6ct.conf e ~/.config/gtk-3.0|gtk-4.0)."
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "La regola si applica a qualsiasi finestra che corrisponda a una di queste." "The rule applies to any window matching one of these.": "La regola si applica a qualsiasi finestra che corrisponda a una di queste."
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Tema e Colori" "Theme & Colors": "Tema e Colori"
}, },
@@ -7749,7 +7845,7 @@
"Themes": "Temi" "Themes": "Temi"
}, },
"These add entries to the XDG autostart directory (~/.config/autostart/*.desktop)": { "These add entries to the XDG autostart directory (~/.config/autostart/*.desktop)": {
"These add entries to the XDG autostart directory (~/.config/autostart/*.desktop)": "> Queste aggiungono voci alla directory di avvio automatico XDG (~/.config/autostart/*.desktop)" "These add entries to the XDG autostart directory (~/.config/autostart/*.desktop)": "Queste aggiungono voci alla directory di avvio automatico XDG (~/.config/autostart/*.desktop)"
}, },
"Thickness": { "Thickness": {
"Thickness": "Spessore" "Thickness": "Spessore"
@@ -7788,7 +7884,7 @@
"This will delete all unpinned entries. %1 pinned entries will be kept.": "Questo eliminerà tutte le voci non fissate. %1 voci fissate verranno mantenute." "This will delete all unpinned entries. %1 pinned entries will be kept.": "Questo eliminerà tutte le voci non fissate. %1 voci fissate verranno mantenute."
}, },
"This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": { "This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": {
"This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": "" "This will disconnect WiFi from \"%1\" — the radio can't host a hotspot and stay connected at the same time. Internet sharing will need another connection, such as Ethernet.": "Questa operazione disconnetterà il WiFi da \"%1\" — la radio non può ospitare un hotspot e rimanere connessa contemporaneamente. La condivisione di Internet richiederà un'altra connessione, ad esempio Ethernet."
}, },
"This will permanently delete all clipboard history.": { "This will permanently delete all clipboard history.": {
"This will permanently delete all clipboard history.": "La cronologia degli appunti verrà cancellata definitivamente." "This will permanently delete all clipboard history.": "La cronologia degli appunti verrà cancellata definitivamente."
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "Troppi tentativi - accesso bloccato" "Too many attempts - locked out": "Troppi tentativi - accesso bloccato"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "Troppi tentativi falliti - l'account potrebbe essere bloccato"
},
"Tools": { "Tools": {
"Tools": "Strumenti" "Tools": "Strumenti"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "Tocca la tua chiave di sicurezza..." "Touch your security key...": "Tocca la tua chiave di sicurezza..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Trasforma" "Transform": "Trasforma"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "Spegni ora" "Turn off now": "Spegni ora"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Digita almeno 2 caratteri" "Type at least 2 characters": "Digita almeno 2 caratteri"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Non Fidarti" "Untrust": "Non Fidarti"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "Aggiornato" "Up to date": "Aggiornato"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Il nome utente deve iniziare con una lettera minuscola o un trattino basso e deve contenere solo lettere minuscole, cifre, trattini o trattini bassi." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Il nome utente deve iniziare con una lettera minuscola o un trattino basso e deve contenere solo lettere minuscole, cifre, trattini o trattini bassi."
}, },
"Username...": {
"Username...": "Nome utente..."
},
"Users": { "Users": {
"Users": "Utenti" "Users": "Utenti"
}, },
@@ -8481,13 +8583,13 @@
"W": "W" "W": "W"
}, },
"WCAG %1 body": { "WCAG %1 body": {
"WCAG %1 body": "" "WCAG %1 body": "WCAG %1 corpo"
}, },
"WPA/WPA2": { "WPA/WPA2": {
"WPA/WPA2": "WPA/WPA2" "WPA/WPA2": "WPA/WPA2"
}, },
"WPA2 password": { "WPA2 password": {
"WPA2 password": "" "WPA2 password": "Password WPA2"
}, },
"Wallpaper": { "Wallpaper": {
"Wallpaper": "Sfondo" "Wallpaper": "Sfondo"
@@ -8577,10 +8679,10 @@
"WiFi enabled": "WiFi attivato" "WiFi enabled": "WiFi attivato"
}, },
"WiFi is disabled": { "WiFi is disabled": {
"WiFi is disabled": "" "WiFi is disabled": "WiFi disattivato"
}, },
"WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": { "WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": {
"WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": "" "WiFi is disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": "WiFi disattivato. Puoi comunque modificare e salvare le impostazioni dell'hotspot, ma l'avvio dell'hotspot richiede che il WiFi sia abilitato."
}, },
"WiFi is off": { "WiFi is off": {
"WiFi is off": "WiFi spento" "WiFi is off": "WiFi spento"
@@ -8640,7 +8742,7 @@
"Width of window border and focus ring": "Larghezza del bordo e dell'anello di focus" "Width of window border and focus ring": "Larghezza del bordo e dell'anello di focus"
}, },
"Will disconnect \"%1": { "Will disconnect \"%1": {
"Will disconnect \"%1\"": "" "Will disconnect \"%1\"": "Disconnetterà \"%1\""
}, },
"Wind": { "Wind": {
"Wind": "Vento" "Wind": "Vento"
@@ -8751,10 +8853,10 @@
"Your compositor does not support background blur (ext-background-effect-v1)": "Il tuo compositor non supporta la sfocatura dello sfondo (ext-background-effect-v1)" "Your compositor does not support background blur (ext-background-effect-v1)": "Il tuo compositor non supporta la sfocatura dello sfondo (ext-background-effect-v1)"
}, },
"Your hotspot is running.": { "Your hotspot is running.": {
"Your hotspot is running.": "" "Your hotspot is running.": "Il tuo hotspot è in esecuzione."
}, },
"Your hotspot profile is saved and ready to start.": { "Your hotspot profile is saved and ready to start.": {
"Your hotspot profile is saved and ready to start.": "" "Your hotspot profile is saved and ready to start.": "Il profilo del tuo hotspot è salvato e pronto per l'avvio."
}, },
"Your system is up to date!": { "Your system is up to date!": {
"Your system is up to date!": "Il tuo sistema è aggiornato!" "Your system is up to date!": "Il tuo sistema è aggiornato!"
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "agganciato" "attached": "agganciato"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
@@ -8871,7 +8976,7 @@
"mangowc GitHub": "GitHub di mangowc" "mangowc GitHub": "GitHub di mangowc"
}, },
"matugen not available or disabled - cannot apply %1 colors": { "matugen not available or disabled - cannot apply %1 colors": {
"matugen not available or disabled - cannot apply %1 colors": "atugen non è disponibile o disabilitato - impossibile applicare i colori %1" "matugen not available or disabled - cannot apply %1 colors": "matugen non è disponibile o disabilitato - impossibile applicare i colori %1"
}, },
"matugen not found - install matugen package for dynamic theming": { "matugen not found - install matugen package for dynamic theming": {
"matugen not found - install matugen package for dynamic theming": "matugen non trovato - installa il pacchetto matugen per il theming dinamico" "matugen not found - install matugen package for dynamic theming": "matugen non trovato - installa il pacchetto matugen per il theming dinamico"
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "バージョン情報" "About": "バージョン情報"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "アクセントカラー" "Accent Color": "アクセントカラー"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "アダプター" "Adapters": "アダプター"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "メディア幅の自動調整" "Adaptive Media Width": "メディア幅の自動調整"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "自動起動に追加" "Add to Autostart": "自動起動に追加"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "内側の余白でバーの高さを調整" "Adjust the bar height via inner padding": "内側の余白でバーの高さを調整"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "グリッド表示モードでの列数を調整します。" "Adjust the number of columns in grid view mode.": "グリッド表示モードでの列数を調整します。"
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "スクロール1段ごとの音量調整" "Adjust volume per scroll indent": "スクロール1段ごとの音量調整"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "接続されたディスプレイが1つだけのときは常に表示" "Always show when there's only one connected display": "接続されたディスプレイが1つだけのときは常に表示"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "%1 は常にこのアプリ使用する" "Always use this app for %1": "%1 は常にこのアプリ使用する"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "認証中..."
},
"Authentication": { "Authentication": {
"Authentication": "認証" "Authentication": "認証"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "認証の変更には sudo が必要です。パスワードまたは指紋を使用できるよう端末を開きます。" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "認証の変更には sudo が必要です。パスワードまたは指紋を使用できるよう端末を開きます。"
}, },
"Authentication error - try again": {
"Authentication error - try again": "認証エラー - もう一度試してください"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "許可" "Authorize": "許可"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "ドックを自動的に隠す" "Auto-hide Dock": "ドックを自動的に隠す"
}, },
"Auto-login": {
"Auto-login": "自動ログイン"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "詳細表示と予報表示で利用可能" "Available in Detailed and Forecast view modes": "詳細表示と予報表示で利用可能"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "戻る" "Back": "戻る"
}, },
"Back to user list": {
"Back to user list": "ユーザー一覧に戻る"
},
"Backend": { "Backend": {
"Backend": "バックエンド" "Backend": "バックエンド"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "通知ポップアップが画面に表示される場所を選ぶ" "Choose where notification popups appear on screen": "通知ポップアップが画面に表示される場所を選ぶ"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "コンポジター設定" "Compositor Settings": "コンポジター設定"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "設定形式" "Config Format": "設定形式"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "コントラスト" "Contrast": "コントラスト"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "貢献者" "Contributor": "貢献者"
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "出力を無効化" "Disable Output": "出力を無効化"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "無効" "Disabled": "無効"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "ドアオープン" "Door Open": "ドアオープン"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "ダイナミック:オーバーシュート付きスプリングベジェ曲線 ― 開始点が目標値を一時的に超えた後、落ち着きます。表現力豊かで生き生きとした曲線です。" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "ダイナミック:オーバーシュート付きスプリングベジェ曲線 ― 開始点が目標値を一時的に超えた後、落ち着きます。表現力豊かで生き生きとした曲線です。"
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "ゴミ箱を空にする (%1)" "Empty Trash (%1)": "ゴミ箱を空にする (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "より広い色域と HDR サポートのために 10 ビット色深度を有効にします" "Enable 10-bit color depth for wider color gamut and HDR support": "より広い色域と HDR サポートのために 10 ビット色深度を有効にします"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "パスワードを入力" "Enter password for ": "パスワードを入力"
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "ここでパスキーを入力してください " "Enter this passkey on ": "ここでパスキーを入力してください "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "ネットワークQRコードの取得に失敗しました: %1" "Failed to fetch network QR code: %1": "ネットワークQRコードの取得に失敗しました: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "systemd override の生成に失敗しました" "Failed to generate systemd override": "systemd override の生成に失敗しました"
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "フラグ" "Flags": "フラグ"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "フィールドが非表示の場合、キーが押されるとすぐに表示されます。" "If the field is hidden, it will appear as soon as a key is pressed.": "フィールドが非表示の場合、キーが押されるとすぐに表示されます。"
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "完全に無視" "Ignore Completely": "完全に無視"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "自分の編集を保持" "Keep My Edits": "自分の編集を保持"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "バーに残す" "Keep in Bar": "バーに残す"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "左セクション" "Left Section": "左セクション"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "ライト" "Light": "ライト"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "ロック済み" "Locked": "ロック済み"
}, },
"Logging in...": {
"Logging in...": "ログイン中..."
},
"Login": { "Login": {
"Login": "ログイン" "Login": "ログイン"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "マイク音量コントロール" "Microphone volume control": "マイク音量コントロール"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "中間区間" "Middle Section": "中間区間"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "マウントポイント" "Mount Points": "マウントポイント"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "マウスクリックをバーの背後のウィンドウへ通す" "Mouse clicks pass through the bar to windows behind it": "マウスクリックをバーの背後のウィンドウへ通す"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "ネイティブ: プラットフォームレンダラー (FreeType)。" "Native: platform renderer (FreeType).": "ネイティブ: プラットフォームレンダラー (FreeType)。"
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "タッチパッドのナチュラルスクロール" "Natural Touchpad Scrolling": "タッチパッドのナチュラルスクロール"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "角丸なし" "No Rounding": "角丸なし"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "影なし" "No Shadow": "影なし"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "未検出" "Not detected": "未検出"
}, },
"Not listed?": {
"Not listed?": "一覧にありませんか?"
},
"Not paired": { "Not paired": {
"Not paired": "未ペアリング" "Not paired": "未ペアリング"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "オン" "On": "オン"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "無期限にオン" "On indefinitely": "無期限にオン"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "ガンマは、時間または場所のルールに基づいてのみ調整します。" "Only adjust gamma based on time or location rules.": "ガンマは、時間または場所のルールに基づいてのみ調整します。"
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "バッテリー駆動時のみ" "Only on Battery": "バッテリー駆動時のみ"
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "ペアリング中..." "Pairing...": "ペアリング中..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "晴れ時々曇り" "Partly Cloudy": "晴れ時々曇り"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "パスワードを更新しました" "Password updated": "パスワードを更新しました"
}, },
"Password...": {
"Password...": "パスワード..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "パスワードが一致しません。" "Passwords do not match.": "パスワードが一致しません。"
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "ポインター" "Pointer": "ポインター"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit 連携が無効です。ユーザー管理には Polkit による権限昇格が必要です。" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit 連携が無効です。ユーザー管理には Polkit による権限昇格が必要です。"
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "気圧" "Pressure": "気圧"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "画面のタイムアウトを防止" "Prevent screen timeout": "画面のタイムアウトを防止"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "プロトコル" "Protocol": "プロトコル"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "最後のユーザーとセッションの記憶が必要です。先にそれらのオプションを有効にしてください。" "Requires remembering the last user and session. Enable those options first.": "最後のユーザーとセッションの記憶が必要です。先にそれらのオプションを有効にしてください。"
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "リセット" "Reset": "リセット"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "スクロール方向を反転" "Reverse Scrolling Direction": "スクロール方向を反転"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "バー上でスクロールしたときのワークスペース切り替え方向を反転" "Reverse workspace switch direction when scrolling over the bar": "バー上でスクロールしたときのワークスペース切り替え方向を反転"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "GitHub をスクロール" "Scroll GitHub": "GitHub をスクロール"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "スクロールホイール" "Scroll Wheel": "スクロールホイール"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "スクロール" "Scrolling": "スクロール"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "アプリのアクションを検索" "Search App Actions": "アプリのアクションを検索"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "壁紙ベースの色で、使用するパレットアルゴリズムを選ぶ" "Select the palette algorithm used for wallpaper-based colors": "壁紙ベースの色で、使用するパレットアルゴリズムを選ぶ"
}, },
"Select user...": {
"Select user...": "ユーザーを選択..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "含めるキーバインドプロバイダーを選択" "Select which keybind providers to include": "含めるキーバインドプロバイダーを選択"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "表示" "Show": "表示"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "サードパーティを表示" "Show 3rd Party": "サードパーティを表示"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "バッテリーが充電上限に達したら通知を表示します。" "Show a notification when battery reaches the charge limit.": "バッテリーが充電上限に達したら通知を表示します。"
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "バッテリー残量が少ないとき警告ポップアップを表示します。" "Show a warning popup when battery is running low.": "バッテリー残量が少ないとき警告ポップアップを表示します。"
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "サスペンド後に休止" "Suspend then Hibernate": "サスペンド後に休止"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Sway ウェブサイト" "Sway Website": "Sway ウェブサイト"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscaleを利用できません" "Tailscale not available": "Tailscaleを利用できません"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "ターミナル" "Terminal": "ターミナル"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "このルールは、これらのいずれかに一致するウィンドウに適用されます。" "The rule applies to any window matching one of these.": "このルールは、これらのいずれかに一致するウィンドウに適用されます。"
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "テーマおよびカラー" "Theme & Colors": "テーマおよびカラー"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "試行回数が多すぎます - ロックされました" "Too many attempts - locked out": "試行回数が多すぎます - ロックされました"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "失敗回数が多すぎます - アカウントがロックされている可能性があります"
},
"Tools": { "Tools": {
"Tools": "ツール" "Tools": "ツール"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "セキュリティキーに触れてください..." "Touch your security key...": "セキュリティキーに触れてください..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "変形" "Transform": "変形"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "今すぐオフにする" "Turn off now": "今すぐオフにする"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "少なくとも 2 文字入力してください" "Type at least 2 characters": "少なくとも 2 文字入力してください"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "信頼を解除" "Untrust": "信頼を解除"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "最新です" "Up to date": "最新です"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "ユーザー名は小文字またはアンダースコアで始め、小文字、数字、ハイフン、アンダースコアだけを含める必要があります。" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "ユーザー名は小文字またはアンダースコアで始め、小文字、数字、ハイフン、アンダースコアだけを含める必要があります。"
}, },
"Username...": {
"Username...": "ユーザー名..."
},
"Users": { "Users": {
"Users": "ユーザー" "Users": "ユーザー"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "接続済み" "attached": "接続済み"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "정보" "About": "정보"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "강조 색상" "Accent Color": "강조 색상"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "어댑터" "Adapters": "어댑터"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "적응형 미디어 너비" "Adaptive Media Width": "적응형 미디어 너비"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "자동 시작에 추가" "Add to Autostart": "자동 시작에 추가"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "내부 패딩을 통해 표시줄 높이 조정" "Adjust the bar height via inner padding": "내부 패딩을 통해 표시줄 높이 조정"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "그리드 뷰 모드에서 열 수를 조정합니다." "Adjust the number of columns in grid view mode.": "그리드 뷰 모드에서 열 수를 조정합니다."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "스크롤 단계별 볼륨 조정" "Adjust volume per scroll indent": "스크롤 단계별 볼륨 조정"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "연결된 디스플레이가 하나만 있을 때 항상 표시" "Always show when there's only one connected display": "연결된 디스플레이가 하나만 있을 때 항상 표시"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "%1에 항상 이 앱 사용" "Always use this app for %1": "%1에 항상 이 앱 사용"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "인증 중..."
},
"Authentication": { "Authentication": {
"Authentication": "인증" "Authentication": "인증"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "인증 변경 사항에는 sudo가 필요합니다. 비밀번호나 지문을 사용할 수 있도록 터미널을 엽니다." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "인증 변경 사항에는 sudo가 필요합니다. 비밀번호나 지문을 사용할 수 있도록 터미널을 엽니다."
}, },
"Authentication error - try again": {
"Authentication error - try again": "인증 오류 - 다시 시도"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "권한 부여" "Authorize": "권한 부여"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "독 자동 숨기기" "Auto-hide Dock": "독 자동 숨기기"
}, },
"Auto-login": {
"Auto-login": "자동 로그인"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "자동 로그인 변경 시 동기화가 필요합니다" "Auto-login change needs a sync": "자동 로그인 변경 시 동기화가 필요합니다"
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "상세 및 일기예보 보기 모드에서 사용 가능" "Available in Detailed and Forecast view modes": "상세 및 일기예보 보기 모드에서 사용 가능"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "뒤로" "Back": "뒤로"
}, },
"Back to user list": {
"Back to user list": "사용자 목록으로 돌아가기"
},
"Backend": { "Backend": {
"Backend": "백엔드" "Backend": "백엔드"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "배경화면 폴더 선택" "Choose wallpaper folder": "배경화면 폴더 선택"
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "화면에서 알림 팝업이 나타날 위치를 선택하세요" "Choose where notification popups appear on screen": "화면에서 알림 팝업이 나타날 위치를 선택하세요"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "컴포지터 설정" "Compositor Settings": "컴포지터 설정"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "구성 형식" "Config Format": "구성 형식"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "대비" "Contrast": "대비"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "기여자" "Contributor": "기여자"
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "출력 비활성화" "Disable Output": "출력 비활성화"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "비활성화됨" "Disabled": "비활성화됨"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "문 열림" "Door Open": "문 열림"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "위젯의 핸들을 잡고 드래그하여 순서를 변경하거나 다른 그룹에 놓으세요" "Drag a widget by its handle here to reorder it or drop it into another group": "위젯의 핸들을 잡고 드래그하여 순서를 변경하거나 다른 그룹에 놓으세요"
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "다이내믹: 오버슛이 있는 스프링 베지에 — 항목이 대상 위치를 짧게 넘어갔다가 안착합니다. 생동감 넘치고 표현력이 풍부합니다." "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "다이내믹: 오버슛이 있는 스프링 베지에 — 항목이 대상 위치를 짧게 넘어갔다가 안착합니다. 생동감 넘치고 표현력이 풍부합니다."
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "가장자리 호버 시 드러내기" "Edge Hover Reveal": "가장자리 호버 시 드러내기"
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "휴지통 비우기 (%1)" "Empty Trash (%1)": "휴지통 비우기 (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "더 넓은 색 영역과 HDR 지원을 위해 10비트 색 심도 활성화" "Enable 10-bit color depth for wider color gamut and HDR support": "더 넓은 색 영역과 HDR 지원을 위해 10비트 색 심도 활성화"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "비밀번호 입력:" "Enter password for ": "비밀번호 입력:"
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "이 패스키를 입력할 곳:" "Enter this passkey on ": "이 패스키를 입력할 곳:"
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "네트워크 QR 코드 가져오기 실패: %1" "Failed to fetch network QR code: %1": "네트워크 QR 코드 가져오기 실패: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "systemd 덮어쓰기 생성 실패" "Failed to generate systemd override": "systemd 덮어쓰기 생성 실패"
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "플래그" "Flags": "플래그"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "필드가 숨겨져 있어도 키를 누르는 즉시 나타납니다." "If the field is hidden, it will appear as soon as a key is pressed.": "필드가 숨겨져 있어도 키를 누르는 즉시 나타납니다."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "완전히 무시" "Ignore Completely": "완전히 무시"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "내 편집 내용 유지" "Keep My Edits": "내 편집 내용 유지"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "바에 유지" "Keep in Bar": "바에 유지"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "왼쪽 구역" "Left Section": "왼쪽 구역"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "얇게" "Light": "얇게"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "잠김" "Locked": "잠김"
}, },
"Logging in...": {
"Logging in...": "로그인 중..."
},
"Login": { "Login": {
"Login": "로그인" "Login": "로그인"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "마이크 볼륨 제어" "Microphone volume control": "마이크 볼륨 제어"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "가운데 구역" "Middle Section": "가운데 구역"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "마운트 지점" "Mount Points": "마운트 지점"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "마우스 클릭이 바를 통과하여 뒤에 있는 창으로 전달됨" "Mouse clicks pass through the bar to windows behind it": "마우스 클릭이 바를 통과하여 뒤에 있는 창으로 전달됨"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "네이티브: 플랫폼 렌더러(FreeType)." "Native: platform renderer (FreeType).": "네이티브: 플랫폼 렌더러(FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "터치패드 자연스러운 스크롤" "Natural Touchpad Scrolling": "터치패드 자연스러운 스크롤"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "둥글게 처리 없음" "No Rounding": "둥글게 처리 없음"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "그림자 없음" "No Shadow": "그림자 없음"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "감지되지 않음" "Not detected": "감지되지 않음"
}, },
"Not listed?": {
"Not listed?": "목록에 없습니까?"
},
"Not paired": { "Not paired": {
"Not paired": "페어링되지 않음" "Not paired": "페어링되지 않음"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "켜짐" "On": "켜짐"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "무기한 켜짐" "On indefinitely": "무기한 켜짐"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "시간 또는 위치 규칙에 따라서만 감마를 조정합니다." "Only adjust gamma based on time or location rules.": "시간 또는 위치 규칙에 따라서만 감마를 조정합니다."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "배터리 사용 시만" "Only on Battery": "배터리 사용 시만"
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "페어링 중..." "Pairing...": "페어링 중..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "대체로 흐림" "Partly Cloudy": "대체로 흐림"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "비밀번호 업데이트됨" "Password updated": "비밀번호 업데이트됨"
}, },
"Password...": {
"Password...": "비밀번호..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "비밀번호가 일치하지 않습니다." "Passwords do not match.": "비밀번호가 일치하지 않습니다."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "포인터" "Pointer": "포인터"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit 통합이 비활성화되었습니다. 사용자 관리를 위해서는 권한을 높이려면 Polkit이 필요합니다." "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit 통합이 비활성화되었습니다. 사용자 관리를 위해서는 권한을 높이려면 Polkit이 필요합니다."
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "기압" "Pressure": "기압"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "화면 시간 초과 방지" "Prevent screen timeout": "화면 시간 초과 방지"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "프로토콜" "Protocol": "프로토콜"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "마지막 사용자 및 세션을 기억해야 합니다. 먼저 해당 옵션을 활성화하세요." "Requires remembering the last user and session. Enable those options first.": "마지막 사용자 및 세션을 기억해야 합니다. 먼저 해당 옵션을 활성화하세요."
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "재설정" "Reset": "재설정"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "스크롤 방향 반전" "Reverse Scrolling Direction": "스크롤 방향 반전"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "바 위에서 스크롤할 때 작업 공간 전환 방향 반전" "Reverse workspace switch direction when scrolling over the bar": "바 위에서 스크롤할 때 작업 공간 전환 방향 반전"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "GitHub 스크롤" "Scroll GitHub": "GitHub 스크롤"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "스크롤 휠" "Scroll Wheel": "스크롤 휠"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "스크롤" "Scrolling": "스크롤"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "앱 작업 검색" "Search App Actions": "앱 작업 검색"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "배경화면 기반 색상에 사용할 팔레트 알고리즘 선택" "Select the palette algorithm used for wallpaper-based colors": "배경화면 기반 색상에 사용할 팔레트 알고리즘 선택"
}, },
"Select user...": {
"Select user...": "사용자 선택..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "포함할 단축키 제공자 선택" "Select which keybind providers to include": "포함할 단축키 제공자 선택"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "표시" "Show": "표시"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "타사 표시" "Show 3rd Party": "타사 표시"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "배터리가 충전 한도에 도달하면 알림을 표시합니다." "Show a notification when battery reaches the charge limit.": "배터리가 충전 한도에 도달하면 알림을 표시합니다."
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "배터리가 부족할 때 경고 팝업을 표시합니다." "Show a warning popup when battery is running low.": "배터리가 부족할 때 경고 팝업을 표시합니다."
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "절전 후 최대 절전 모드" "Suspend then Hibernate": "절전 후 최대 절전 모드"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Sway 웹사이트" "Sway Website": "Sway 웹사이트"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscale을 사용할 수 없음" "Tailscale not available": "Tailscale을 사용할 수 없음"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "터미널" "Terminal": "터미널"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "규칙은 이 중 하나와 일치하는 모든 창에 적용됩니다." "The rule applies to any window matching one of these.": "규칙은 이 중 하나와 일치하는 모든 창에 적용됩니다."
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "테마 및 색상" "Theme & Colors": "테마 및 색상"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "시도 횟수 너무 많음 - 잠김" "Too many attempts - locked out": "시도 횟수 너무 많음 - 잠김"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "실패한 시도 횟수 너무 많음 - 계정이 잠길 수 있음"
},
"Tools": { "Tools": {
"Tools": "도구" "Tools": "도구"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "보안 키를 터치하세요..." "Touch your security key...": "보안 키를 터치하세요..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "변환" "Transform": "변환"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "지금 끄기" "Turn off now": "지금 끄기"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "2자 이상 입력" "Type at least 2 characters": "2자 이상 입력"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "신뢰 해제" "Untrust": "신뢰 해제"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "최신 상태" "Up to date": "최신 상태"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "사용자 이름은 소문자나 밑줄로 시작해야 하며 소문자, 숫자, 하이픈 또는 밑줄만 포함해야 합니다." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "사용자 이름은 소문자나 밑줄로 시작해야 하며 소문자, 숫자, 하이픈 또는 밑줄만 포함해야 합니다."
}, },
"Username...": {
"Username...": "사용자 이름..."
},
"Users": { "Users": {
"Users": "사용자" "Users": "사용자"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "연결됨" "attached": "연결됨"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Over" "About": "Over"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Accentkleur" "Accent Color": "Accentkleur"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adapters" "Adapters": "Adapters"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "Adaptieve mediabreedte" "Adaptive Media Width": "Adaptieve mediabreedte"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "Toevoegen aan automatisch opstarten" "Add to Autostart": "Toevoegen aan automatisch opstarten"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "De balkhoogte aanpassen via binnenmarge (padding)" "Adjust the bar height via inner padding": "De balkhoogte aanpassen via binnenmarge (padding)"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Pas het aantal kolommen in rasterweergave aan." "Adjust the number of columns in grid view mode.": "Pas het aantal kolommen in rasterweergave aan."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Volume per scrollstap aanpassen" "Adjust volume per scroll indent": "Volume per scrollstap aanpassen"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Altijd tonen wanneer er slechts één beeldscherm is aangesloten" "Always show when there's only one connected display": "Altijd tonen wanneer er slechts één beeldscherm is aangesloten"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "Gebruik deze app altijd voor %1" "Always use this app for %1": "Gebruik deze app altijd voor %1"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "Geauthenticeerd!" "Authenticated!": "Geauthenticeerd!"
}, },
"Authenticating...": {
"Authenticating...": "Controleren..."
},
"Authentication": { "Authentication": {
"Authentication": "Authenticatie" "Authentication": "Authenticatie"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Verificatiewijzigingen vereisen sudo. Terminal wordt geopend zodat u een wachtwoord of vingerafdruk kunt gebruiken." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Verificatiewijzigingen vereisen sudo. Terminal wordt geopend zodat u een wachtwoord of vingerafdruk kunt gebruiken."
}, },
"Authentication error - try again": {
"Authentication error - try again": "Authenticatiefout - probeer het opnieuw"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": "Authenticatie mislukt - poging %1 van %2"
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": "Authenticatie mislukt - uitsluiting kan optreden"
},
"Authentication failed - try again": {
"Authentication failed - try again": "Authenticatie mislukt - probeer het opnieuw"
},
"Authorize": { "Authorize": {
"Authorize": "Autoriseren" "Authorize": "Autoriseren"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Dock automatisch verbergen" "Auto-hide Dock": "Dock automatisch verbergen"
}, },
"Auto-login": {
"Auto-login": "Automatisch inloggen"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "Wijziging aan automatisch inloggen vereist synchronisatie" "Auto-login change needs a sync": "Wijziging aan automatisch inloggen vereist synchronisatie"
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Beschikbaar in weergavemodi Gedetailleerd en Voorspelling" "Available in Detailed and Forecast view modes": "Beschikbaar in weergavemodi Gedetailleerd en Voorspelling"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": "Wachten op vingerafdrukauthenticatie"
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": "Wachten op vingerafdruk- of beveiligingssleutelauthenticatie"
},
"Awaiting security key authentication": {
"Awaiting security key authentication": "Wachten op beveiligingssleutelauthenticatie"
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Terug" "Back": "Terug"
}, },
"Back to user list": {
"Back to user list": "Terug naar gebruikerslijst"
},
"Backend": { "Backend": {
"Backend": "Backend" "Backend": "Backend"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "Achtergrondmap kiezen" "Choose wallpaper folder": "Achtergrondmap kiezen"
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Kies waar meldingen op het scherm verschijnen" "Choose where notification popups appear on screen": "Kies waar meldingen op het scherm verschijnen"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Compositor-instellingen" "Compositor Settings": "Compositor-instellingen"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Config-formaat" "Config Format": "Config-formaat"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Contrast" "Contrast": "Contrast"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "Bijdrager" "Contributor": "Bijdrager"
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Uitvoer uitschakelen" "Disable Output": "Uitvoer uitschakelen"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Uitgeschakeld" "Disabled": "Uitgeschakeld"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Deur open" "Door Open": "Deur open"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "Sleep een widget aan de handgreep hiernaartoe om de volgorde te wijzigen of zet hem in een andere groep" "Drag a widget by its handle here to reorder it or drop it into another group": "Sleep een widget aan de handgreep hiernaartoe om de volgorde te wijzigen of zet hem in een andere groep"
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Dynamisch: Verende bézier met doorschieten — de binnenkomst gaat kort voorbij het doel en komt dan tot rust. Expressief en levendig." "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Dynamisch: Verende bézier met doorschieten — de binnenkomst gaat kort voorbij het doel en komt dan tot rust. Expressief en levendig."
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "Weergeven bij rand-hover" "Edge Hover Reveal": "Weergeven bij rand-hover"
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "Prullenbak legen (%1)" "Empty Trash (%1)": "Prullenbak legen (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Schakel 10-bits kleurdiepte in voor een breder kleurengamma en HDR-ondersteuning" "Enable 10-bit color depth for wider color gamut and HDR support": "Schakel 10-bits kleurdiepte in voor een breder kleurengamma en HDR-ondersteuning"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Voer wachtwoord in voor " "Enter password for ": "Voer wachtwoord in voor "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Voer deze toegangscode in op " "Enter this passkey on ": "Voer deze toegangscode in op "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "Ophalen van netwerk-QR-code mislukt: %1" "Failed to fetch network QR code: %1": "Ophalen van netwerk-QR-code mislukt: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "Genereren van systemd-override mislukt" "Failed to generate systemd override": "Genereren van systemd-override mislukt"
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Vlaggen" "Flags": "Vlaggen"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "Flatpak" "Flatpak": "Flatpak"
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Als het veld verborgen is, verschijnt het zodra een toets wordt ingedrukt." "If the field is hidden, it will appear as soon as a key is pressed.": "Als het veld verborgen is, verschijnt het zodra een toets wordt ingedrukt."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Volledig negeren" "Ignore Completely": "Volledig negeren"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "Mijn bewerkingen behouden" "Keep My Edits": "Mijn bewerkingen behouden"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "In de balk houden" "Keep in Bar": "In de balk houden"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Linkersectie" "Left Section": "Linkersectie"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "Licht" "Light": "Licht"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Vergrendeld" "Locked": "Vergrendeld"
}, },
"Logging in...": {
"Logging in...": "Inloggen..."
},
"Login": { "Login": {
"Login": "Inloggen" "Login": "Inloggen"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Microfoonvolumeregeling" "Microphone volume control": "Microfoonvolumeregeling"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Middensectie" "Middle Section": "Middensectie"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Aankoppelpunten" "Mount Points": "Aankoppelpunten"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "Muisklikken gaan door de balk heen naar vensters erachter" "Mouse clicks pass through the bar to windows behind it": "Muisklikken gaan door de balk heen naar vensters erachter"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "Native: platform-renderer (FreeType)." "Native: platform renderer (FreeType).": "Native: platform-renderer (FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "Natuurlijk scrollen via touchpad" "Natural Touchpad Scrolling": "Natuurlijk scrollen via touchpad"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Geen afronding" "No Rounding": "Geen afronding"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Geen schaduw" "No Shadow": "Geen schaduw"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Niet gedetecteerd" "Not detected": "Niet gedetecteerd"
}, },
"Not listed?": {
"Not listed?": "Niet in de lijst?"
},
"Not paired": { "Not paired": {
"Not paired": "Niet gekoppeld" "Not paired": "Niet gekoppeld"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "Aan" "On": "Aan"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "Voor onbepaalde tijd ingeschakeld" "On indefinitely": "Voor onbepaalde tijd ingeschakeld"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Gamma alleen aanpassen op basis van tijd- of locatieregels." "Only adjust gamma based on time or location rules.": "Gamma alleen aanpassen op basis van tijd- of locatieregels."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "Alleen op accustroom" "Only on Battery": "Alleen op accustroom"
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Koppelen..." "Pairing...": "Koppelen..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Half bewolkt" "Partly Cloudy": "Half bewolkt"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "Wachtwoord bijgewerkt" "Password updated": "Wachtwoord bijgewerkt"
}, },
"Password...": {
"Password...": "Wachtwoord..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "Wachtwoorden komen niet overeen." "Passwords do not match.": "Wachtwoorden komen niet overeen."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Aanwijzer" "Pointer": "Aanwijzer"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit-integratie is uitgeschakeld. Gebruikersbeheer vereist Polkit voor het verhogen van bevoegdheden." "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit-integratie is uitgeschakeld. Gebruikersbeheer vereist Polkit voor het verhogen van bevoegdheden."
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Luchtdruk" "Pressure": "Luchtdruk"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Scherm-time-out voorkomen" "Prevent screen timeout": "Scherm-time-out voorkomen"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protocol" "Protocol": "Protocol"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "Vereist het onthouden van de laatste gebruiker en sessie. Schakel die opties eerst in." "Requires remembering the last user and session. Enable those options first.": "Vereist het onthouden van de laatste gebruiker en sessie. Schakel die opties eerst in."
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Herstellen" "Reset": "Herstellen"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Scrollrichting omkeren" "Reverse Scrolling Direction": "Scrollrichting omkeren"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Werkbladwisselrichting omkeren bij scrollen over de balk" "Reverse workspace switch direction when scrolling over the bar": "Werkbladwisselrichting omkeren bij scrollen over de balk"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "Scroll GitHub" "Scroll GitHub": "Scroll GitHub"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Scrollwiel" "Scroll Wheel": "Scrollwiel"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Scrollen" "Scrolling": "Scrollen"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "App-acties zoeken" "Search App Actions": "App-acties zoeken"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Selecteer het paletalgoritme voor op achtergrond gebaseerde kleuren" "Select the palette algorithm used for wallpaper-based colors": "Selecteer het paletalgoritme voor op achtergrond gebaseerde kleuren"
}, },
"Select user...": {
"Select user...": "Gebruiker selecteren..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Selecteer welke sneltoetsproviders moeten worden opgenomen" "Select which keybind providers to include": "Selecteer welke sneltoetsproviders moeten worden opgenomen"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Tonen" "Show": "Tonen"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Derde partijen tonen" "Show 3rd Party": "Derde partijen tonen"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "Toon een melding wanneer de accu de laadlimiet bereikt." "Show a notification when battery reaches the charge limit.": "Toon een melding wanneer de accu de laadlimiet bereikt."
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "Toon een waarschuwingspop-up als de accu bijna leeg is." "Show a warning popup when battery is running low.": "Toon een waarschuwingspop-up als de accu bijna leeg is."
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Onderbreken dan Sluimerstand" "Suspend then Hibernate": "Onderbreken dan Sluimerstand"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Sway-website" "Sway Website": "Sway-website"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscale niet beschikbaar" "Tailscale not available": "Tailscale niet beschikbaar"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "Terminal" "Terminal": "Terminal"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "De regel is van toepassing op elk venster dat overeenkomt met een van deze." "The rule applies to any window matching one of these.": "De regel is van toepassing op elk venster dat overeenkomt met een van deze."
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Thema & Kleuren" "Theme & Colors": "Thema & Kleuren"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "Te veel pogingen - toegang geblokkeerd" "Too many attempts - locked out": "Te veel pogingen - toegang geblokkeerd"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "Te veel mislukte pogingen - account is mogelijk geblokkeerd"
},
"Tools": { "Tools": {
"Tools": "Hulpmiddelen" "Tools": "Hulpmiddelen"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "Raak uw beveiligingssleutel aan..." "Touch your security key...": "Raak uw beveiligingssleutel aan..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Transformatie" "Transform": "Transformatie"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "Nu uitschakelen" "Turn off now": "Nu uitschakelen"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Typ minstens 2 tekens" "Type at least 2 characters": "Typ minstens 2 tekens"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Niet vertrouwen" "Untrust": "Niet vertrouwen"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "Bijgewerkt" "Up to date": "Bijgewerkt"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Gebruikersnaam moet beginnen met een kleine letter of underscore en mag alleen kleine letters, cijfers, koppeltekens of underscores bevatten." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Gebruikersnaam moet beginnen met een kleine letter of underscore en mag alleen kleine letters, cijfers, koppeltekens of underscores bevatten."
}, },
"Username...": {
"Username...": "Gebruikersnaam..."
},
"Users": { "Users": {
"Users": "Gebruikers" "Users": "Gebruikers"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "gekoppeld" "attached": "gekoppeld"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "O programie" "About": "O programie"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Kolor akcentu" "Accent Color": "Kolor akcentu"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adaptery" "Adapters": "Adaptery"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "" "Adaptive Media Width": ""
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "" "Add to Autostart": ""
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "" "Adjust the bar height via inner padding": ""
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Dostosuj liczbę kolumn w widoku siatki." "Adjust the number of columns in grid view mode.": "Dostosuj liczbę kolumn w widoku siatki."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "" "Adjust volume per scroll indent": ""
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Zawsze pokazuj gdy podłączony jest tylko jeden wyświetlacz" "Always show when there's only one connected display": "Zawsze pokazuj gdy podłączony jest tylko jeden wyświetlacz"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "" "Always use this app for %1": ""
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": ""
},
"Authentication": { "Authentication": {
"Authentication": "Uwierzytelnianie" "Authentication": "Uwierzytelnianie"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": ""
}, },
"Authentication error - try again": {
"Authentication error - try again": ""
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Autoryzuj" "Authorize": "Autoryzuj"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Automatyczne ukrywanie doku" "Auto-hide Dock": "Automatyczne ukrywanie doku"
}, },
"Auto-login": {
"Auto-login": ""
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "" "Available in Detailed and Forecast view modes": ""
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Wstecz" "Back": "Wstecz"
}, },
"Back to user list": {
"Back to user list": ""
},
"Backend": { "Backend": {
"Backend": "Backend" "Backend": "Backend"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Wybierz, gdzie na ekranie mają pojawiać się powiadomienia" "Choose where notification popups appear on screen": "Wybierz, gdzie na ekranie mają pojawiać się powiadomienia"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Ustawienia Kompozytora" "Compositor Settings": "Ustawienia Kompozytora"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Format konfiguracji" "Config Format": "Format konfiguracji"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Kontrast" "Contrast": "Kontrast"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "" "Contributor": ""
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Wyłącz wyjście" "Disable Output": "Wyłącz wyjście"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Wyłączony" "Disabled": "Wyłączony"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Drzwi otwarte" "Door Open": "Drzwi otwarte"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": ""
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "" "Empty Trash (%1)": ""
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Włącz 10 bitową głębię kolorów dla szerszej gamety kolorów i wsparcia HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "Włącz 10 bitową głębię kolorów dla szerszej gamety kolorów i wsparcia HDR"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Wprowadź hasło dla " "Enter password for ": "Wprowadź hasło dla "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Wprowadź ten klucz dostępu " "Enter this passkey on ": "Wprowadź ten klucz dostępu "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "" "Failed to fetch network QR code: %1": ""
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "" "Failed to generate systemd override": ""
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Flagi" "Flags": "Flagi"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Jeśli pole jest ukryte pokaże się gdy klawisz zostanie wciśnięty." "If the field is hidden, it will appear as soon as a key is pressed.": "Jeśli pole jest ukryte pokaże się gdy klawisz zostanie wciśnięty."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "" "Ignore Completely": ""
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Sekcja lewa" "Left Section": "Sekcja lewa"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "" "Light": ""
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Zablokowane" "Locked": "Zablokowane"
}, },
"Logging in...": {
"Logging in...": ""
},
"Login": { "Login": {
"Login": "" "Login": ""
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Kontrola głośności mikrofonu" "Microphone volume control": "Kontrola głośności mikrofonu"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Sekcja środkowa" "Middle Section": "Sekcja środkowa"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Punkty montowania" "Mount Points": "Punkty montowania"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "" "Mouse clicks pass through the bar to windows behind it": ""
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "" "Native: platform renderer (FreeType).": ""
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "" "No Rounding": ""
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "" "No Shadow": ""
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Nie wykryto" "Not detected": "Nie wykryto"
}, },
"Not listed?": {
"Not listed?": ""
},
"Not paired": { "Not paired": {
"Not paired": "" "Not paired": ""
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "" "On": ""
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "" "On indefinitely": ""
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Dostosuj gamma tylko na podstawie reguł czasu lub lokalizacji." "Only adjust gamma based on time or location rules.": "Dostosuj gamma tylko na podstawie reguł czasu lub lokalizacji."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Parowanie..." "Pairing...": "Parowanie..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "" "Partly Cloudy": ""
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "" "Password updated": ""
}, },
"Password...": {
"Password...": ""
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "" "Passwords do not match.": ""
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Wskaźnik" "Pointer": "Wskaźnik"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": ""
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Ciśnienie" "Pressure": "Ciśnienie"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Zapobiegaj wygaszaniu ekranu" "Prevent screen timeout": "Zapobiegaj wygaszaniu ekranu"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protokół" "Protocol": "Protokół"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "" "Qt": ""
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "" "Requires remembering the last user and session. Enable those options first.": ""
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Resetuj" "Reset": "Resetuj"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Odwróć Kierunek Przewijania" "Reverse Scrolling Direction": "Odwróć Kierunek Przewijania"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Odwróc kierunek przełączania obszarów roboczych podczas przewijania nad paskiem" "Reverse workspace switch direction when scrolling over the bar": "Odwróc kierunek przełączania obszarów roboczych podczas przewijania nad paskiem"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "" "Scroll GitHub": ""
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Kółko przewijania" "Scroll Wheel": "Kółko przewijania"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Przewijanie" "Scrolling": "Przewijanie"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "" "Search App Actions": ""
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Wybierz algorytm palety używany dla kolorów tapet." "Select the palette algorithm used for wallpaper-based colors": "Wybierz algorytm palety używany dla kolorów tapet."
}, },
"Select user...": {
"Select user...": ""
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "" "Select which keybind providers to include": ""
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "" "Show": ""
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "" "Show 3rd Party": ""
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "" "Suspend then Hibernate": ""
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "" "Sway Website": ""
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "" "Tailscale not available": ""
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "" "Terminal": ""
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "" "The rule applies to any window matching one of these.": ""
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Motyw i kolory" "Theme & Colors": "Motyw i kolory"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "" "Too many attempts - locked out": ""
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": ""
},
"Tools": { "Tools": {
"Tools": "Narzędzia" "Tools": "Narzędzia"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "" "Touch your security key...": ""
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Przekształć" "Transform": "Przekształć"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "" "Turn off now": ""
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "" "Type at least 2 characters": ""
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "" "Untrust": ""
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "" "Up to date": ""
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": ""
}, },
"Username...": {
"Username...": ""
},
"Users": { "Users": {
"Users": "" "Users": ""
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "" "attached": ""
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "" "brandon": ""
}, },
+160 -55
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Sobre" "About": "Sobre"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Cor de Destaque" "Accent Color": "Cor de Destaque"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adaptadores" "Adapters": "Adaptadores"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "" "Adaptive Media Width": ""
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "" "Add to Autostart": ""
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "" "Adjust the bar height via inner padding": ""
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Ajusta o número de colunas no modo de visualização em grade" "Adjust the number of columns in grid view mode.": "Ajusta o número de colunas no modo de visualização em grade"
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Ajustar volume por rolagem" "Adjust volume per scroll indent": "Ajustar volume por rolagem"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Sempre mostrar quando houver apenas um monitor conectado" "Always show when there's only one connected display": "Sempre mostrar quando houver apenas um monitor conectado"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "" "Always use this app for %1": ""
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "Autenticando..."
},
"Authentication": { "Authentication": {
"Authentication": "Autenticação" "Authentication": "Autenticação"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": ""
}, },
"Authentication error - try again": {
"Authentication error - try again": "Erro de autenticação - tente novamente"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Autorizar" "Authorize": "Autorizar"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Esconder Automaticamente o Dock" "Auto-hide Dock": "Esconder Automaticamente o Dock"
}, },
"Auto-login": {
"Auto-login": ""
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Disponível em modos de visualização Detalhada e Previsão" "Available in Detailed and Forecast view modes": "Disponível em modos de visualização Detalhada e Previsão"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Voltar" "Back": "Voltar"
}, },
"Back to user list": {
"Back to user list": ""
},
"Backend": { "Backend": {
"Backend": "Backend" "Backend": "Backend"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Escolher onde as notificações irão aparecer na tela" "Choose where notification popups appear on screen": "Escolher onde as notificações irão aparecer na tela"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Configurações do Compositor" "Compositor Settings": "Configurações do Compositor"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Formato de Configuração" "Config Format": "Formato de Configuração"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Contraste" "Contrast": "Contraste"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "" "Contributor": ""
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Desabilitar Saída" "Disable Output": "Desabilitar Saída"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Desativado" "Disabled": "Desativado"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Porta Aberta" "Door Open": "Porta Aberta"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": ""
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "Lixeira Vazia (%1)" "Empty Trash (%1)": "Lixeira Vazia (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Ativar a profundidade de cores de 10 bits para uma gama de cores mais ampla e suporte HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "Ativar a profundidade de cores de 10 bits para uma gama de cores mais ampla e suporte HDR"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Insira senha para " "Enter password for ": "Insira senha para "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Entre esse código em " "Enter this passkey on ": "Entre esse código em "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "" "Failed to fetch network QR code: %1": ""
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "" "Failed to generate systemd override": ""
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Bandeiras" "Flags": "Bandeiras"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Se o campo está escondido, ele aparecerá no momento que uma tecla e pressionada." "If the field is hidden, it will appear as soon as a key is pressed.": "Se o campo está escondido, ele aparecerá no momento que uma tecla e pressionada."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Ignorar Completamente" "Ignore Completely": "Ignorar Completamente"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Seção da Esquerda" "Left Section": "Seção da Esquerda"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "" "Light": ""
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Bloqueado" "Locked": "Bloqueado"
}, },
"Logging in...": {
"Logging in...": ""
},
"Login": { "Login": {
"Login": "" "Login": ""
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Controle de volume de microfone" "Microphone volume control": "Controle de volume de microfone"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Seção do Meio" "Middle Section": "Seção do Meio"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Pontos de Montagem" "Mount Points": "Pontos de Montagem"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "" "Mouse clicks pass through the bar to windows behind it": ""
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "" "Native: platform renderer (FreeType).": ""
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Sem Arredondamento" "No Rounding": "Sem Arredondamento"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Sem Sombra" "No Shadow": "Sem Sombra"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Não detectado" "Not detected": "Não detectado"
}, },
"Not listed?": {
"Not listed?": ""
},
"Not paired": { "Not paired": {
"Not paired": "Não pareado" "Not paired": "Não pareado"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "Ligado" "On": "Ligado"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "" "On indefinitely": ""
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Apenas ajustar gama baseada em regras de tempo ou localização." "Only adjust gamma based on time or location rules.": "Apenas ajustar gama baseada em regras de tempo ou localização."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Pareando..." "Pairing...": "Pareando..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Parcialmente Nublado" "Partly Cloudy": "Parcialmente Nublado"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "Senha atualizada" "Password updated": "Senha atualizada"
}, },
"Password...": {
"Password...": "Senha..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "" "Passwords do not match.": ""
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Ponteiro" "Pointer": "Ponteiro"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": ""
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Pressão" "Pressure": "Pressão"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Impedir suspensão da tela" "Prevent screen timeout": "Impedir suspensão da tela"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protocolo" "Protocol": "Protocolo"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "" "Qt": ""
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "" "Requires remembering the last user and session. Enable those options first.": ""
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Resetar" "Reset": "Resetar"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Inverter Direção do Scroll" "Reverse Scrolling Direction": "Inverter Direção do Scroll"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Inverter direção de troca de área de trabalho ao rolar sobre a barra" "Reverse workspace switch direction when scrolling over the bar": "Inverter direção de troca de área de trabalho ao rolar sobre a barra"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "" "Scroll GitHub": ""
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Roda de Rolagem" "Scroll Wheel": "Roda de Rolagem"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Scrolling" "Scrolling": "Scrolling"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "Pesquisar Ações do Aplicativo" "Search App Actions": "Pesquisar Ações do Aplicativo"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Selecione o algoritmo usado para cores baseadas no papel de parede" "Select the palette algorithm used for wallpaper-based colors": "Selecione o algoritmo usado para cores baseadas no papel de parede"
}, },
"Select user...": {
"Select user...": ""
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Selecionar quais provedores de combinações de teclas incluir" "Select which keybind providers to include": "Selecionar quais provedores de combinações de teclas incluir"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Mostrar" "Show": "Mostrar"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Mostrar Terceiros" "Show 3rd Party": "Mostrar Terceiros"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Suspender e Hibernar" "Suspend then Hibernate": "Suspender e Hibernar"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "" "Sway Website": ""
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "" "Tailscale not available": ""
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "" "Terminal": ""
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "" "The rule applies to any window matching one of these.": ""
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Tema & Cores" "Theme & Colors": "Tema & Cores"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "" "Too many attempts - locked out": ""
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": ""
},
"Tools": { "Tools": {
"Tools": "Ferramentas" "Tools": "Ferramentas"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "" "Touch your security key...": ""
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Transformar" "Transform": "Transformar"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "" "Turn off now": ""
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Digite pelo menos 2 caracteres" "Type at least 2 characters": "Digite pelo menos 2 caracteres"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Deixar de confiar" "Untrust": "Deixar de confiar"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "" "Up to date": ""
}, },
@@ -8316,25 +8421,25 @@
"User Window Rules (%1)": "" "User Window Rules (%1)": ""
}, },
"User already exists": { "User already exists": {
"User already exists": "" "User already exists": "Usuário já existe"
}, },
"User created": { "User created": {
"User created": "" "User created": "Usuário criado"
}, },
"User created with administrator and greeter login access": { "User created with administrator and greeter login access": {
"User created with administrator and greeter login access": "" "User created with administrator and greeter login access": ""
}, },
"User created with administrator privileges": { "User created with administrator privileges": {
"User created with administrator privileges": "" "User created with administrator privileges": "Usuário criado com privilégios de administrador"
}, },
"User created with greeter login access": { "User created with greeter login access": {
"User created with greeter login access": "" "User created with greeter login access": "Usuário criado com login via greeter"
}, },
"User deleted": { "User deleted": {
"User deleted": "" "User deleted": "Usuário excluído"
}, },
"User not found": { "User not found": {
"User not found": "" "User not found": "Usuário não encontrado"
}, },
"Username": { "Username": {
"Username": "Nome de usuário" "Username": "Nome de usuário"
@@ -8342,11 +8447,8 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": ""
}, },
"Username...": {
"Username...": ""
},
"Users": { "Users": {
"Users": "" "Users": "Usuários"
}, },
"Uses sunrise/sunset times based on your location.": { "Uses sunrise/sunset times based on your location.": {
"Uses sunrise/sunset times based on your location.": "Usa horários de nascer/pôr do sol com base na sua localização." "Uses sunrise/sunset times based on your location.": "Usa horários de nascer/pôr do sol com base na sua localização."
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "" "attached": ""
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
File diff suppressed because it is too large Load Diff
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Om" "About": "Om"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Accentfärg" "Accent Color": "Accentfärg"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Adaptrar" "Adapters": "Adaptrar"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "" "Adaptive Media Width": ""
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "" "Add to Autostart": ""
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "" "Adjust the bar height via inner padding": ""
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Justera antalet kolumner i rutnätsvy." "Adjust the number of columns in grid view mode.": "Justera antalet kolumner i rutnätsvy."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Justera volym per rullningsindrag" "Adjust volume per scroll indent": "Justera volym per rullningsindrag"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Visa alltid när bara en bildskärm är ansluten" "Always show when there's only one connected display": "Visa alltid när bara en bildskärm är ansluten"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "" "Always use this app for %1": ""
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "Autentiserar..."
},
"Authentication": { "Authentication": {
"Authentication": "Autentisering" "Authentication": "Autentisering"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": ""
}, },
"Authentication error - try again": {
"Authentication error - try again": "Autentiseringsfel försök igen"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Auktorisera" "Authorize": "Auktorisera"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Göm Dock automatiskt" "Auto-hide Dock": "Göm Dock automatiskt"
}, },
"Auto-login": {
"Auto-login": ""
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Tillgänglig i detaljerade och prognosvyer" "Available in Detailed and Forecast view modes": "Tillgänglig i detaljerade och prognosvyer"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Tillbaka" "Back": "Tillbaka"
}, },
"Back to user list": {
"Back to user list": ""
},
"Backend": { "Backend": {
"Backend": "Bakgrundstjänst" "Backend": "Bakgrundstjänst"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Välj var notisbanderoller visas på skärmen" "Choose where notification popups appear on screen": "Välj var notisbanderoller visas på skärmen"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Kompositoriminställningar" "Compositor Settings": "Kompositoriminställningar"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Konfigurationsformat" "Config Format": "Konfigurationsformat"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Kontrast" "Contrast": "Kontrast"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "" "Contributor": ""
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Avaktivera utgång" "Disable Output": "Avaktivera utgång"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Avaktiverat" "Disabled": "Avaktiverat"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Dörr öppen" "Door Open": "Dörr öppen"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": ""
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "" "Empty Trash (%1)": ""
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Aktivera 10-bitars färgdjup för bredare färgomfång och HDR-stöd" "Enable 10-bit color depth for wider color gamut and HDR support": "Aktivera 10-bitars färgdjup för bredare färgomfång och HDR-stöd"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Ange lösenord för " "Enter password for ": "Ange lösenord för "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Ange denna lösenkod på " "Enter this passkey on ": "Ange denna lösenkod på "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "" "Failed to fetch network QR code: %1": ""
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "" "Failed to generate systemd override": ""
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Flaggor" "Flags": "Flaggor"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Om fältet är dolt visas det så snart en tangent trycks ned." "If the field is hidden, it will appear as soon as a key is pressed.": "Om fältet är dolt visas det så snart en tangent trycks ned."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Ignorera helt" "Ignore Completely": "Ignorera helt"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Vänster avdelning" "Left Section": "Vänster avdelning"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "" "Light": ""
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Låst" "Locked": "Låst"
}, },
"Logging in...": {
"Logging in...": "Loggar in..."
},
"Login": { "Login": {
"Login": "" "Login": ""
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Mikrofonvolymkontroll" "Microphone volume control": "Mikrofonvolymkontroll"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Mittenavdelning" "Middle Section": "Mittenavdelning"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Monteringspunkter" "Mount Points": "Monteringspunkter"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "" "Mouse clicks pass through the bar to windows behind it": ""
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "" "Native: platform renderer (FreeType).": ""
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Ingen avrundning" "No Rounding": "Ingen avrundning"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Ingen skugga" "No Shadow": "Ingen skugga"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Inte detekterat" "Not detected": "Inte detekterat"
}, },
"Not listed?": {
"Not listed?": ""
},
"Not paired": { "Not paired": {
"Not paired": "Inte parkopplad" "Not paired": "Inte parkopplad"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "På" "On": "På"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "" "On indefinitely": ""
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Justera bara gamma baserat på tids- eller platsregler." "Only adjust gamma based on time or location rules.": "Justera bara gamma baserat på tids- eller platsregler."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Parkopplar..." "Pairing...": "Parkopplar..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Delvis molnigt" "Partly Cloudy": "Delvis molnigt"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "" "Password updated": ""
}, },
"Password...": {
"Password...": "Lösenord..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "" "Passwords do not match.": ""
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Pekare" "Pointer": "Pekare"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": ""
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Lufttryck" "Pressure": "Lufttryck"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Förhindra att skärmen stängs av" "Prevent screen timeout": "Förhindra att skärmen stängs av"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protokoll" "Protocol": "Protokoll"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "" "Qt": ""
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "" "Requires remembering the last user and session. Enable those options first.": ""
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Återställ" "Reset": "Återställ"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Omvänd rullningsriktning" "Reverse Scrolling Direction": "Omvänd rullningsriktning"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Omvänd växlingsriktning på arbetsytor vid rullning över menyraden" "Reverse workspace switch direction when scrolling over the bar": "Omvänd växlingsriktning på arbetsytor vid rullning över menyraden"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "Scroll GitHub" "Scroll GitHub": "Scroll GitHub"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Scrollhjul" "Scroll Wheel": "Scrollhjul"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Rullning" "Scrolling": "Rullning"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "Sök appåtgärder" "Search App Actions": "Sök appåtgärder"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Välj palettalgoritm för färger baserade på bakgrundsbilden" "Select the palette algorithm used for wallpaper-based colors": "Välj palettalgoritm för färger baserade på bakgrundsbilden"
}, },
"Select user...": {
"Select user...": ""
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Välj vilka kortkommandoleverantörer som ska inkluderas" "Select which keybind providers to include": "Välj vilka kortkommandoleverantörer som ska inkluderas"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Visa" "Show": "Visa"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Visa tredjepartsappar" "Show 3rd Party": "Visa tredjepartsappar"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Sätt i strömsparläge och sedan viloläge" "Suspend then Hibernate": "Sätt i strömsparläge och sedan viloläge"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Sways webbplats" "Sway Website": "Sways webbplats"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "" "Tailscale not available": ""
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "Terminal" "Terminal": "Terminal"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "" "The rule applies to any window matching one of these.": ""
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Teman och färger" "Theme & Colors": "Teman och färger"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "" "Too many attempts - locked out": ""
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "För många misslyckade försök kontot kan vara låst"
},
"Tools": { "Tools": {
"Tools": "Verktyg" "Tools": "Verktyg"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "" "Touch your security key...": ""
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Transformera" "Transform": "Transformera"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "" "Turn off now": ""
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Skriv minst 2 tecken" "Type at least 2 characters": "Skriv minst 2 tecken"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Lita inte på" "Untrust": "Lita inte på"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "Uppdaterat" "Up to date": "Uppdaterat"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": ""
}, },
"Username...": {
"Username...": "Användarnamn..."
},
"Users": { "Users": {
"Users": "" "Users": ""
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "ansluten" "attached": "ansluten"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon" "brandon": "brandon"
}, },
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Hakkında" "About": "Hakkında"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "" "Accent Color": ""
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Bağdaştırıcılar" "Adapters": "Bağdaştırıcılar"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "" "Adaptive Media Width": ""
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "" "Add to Autostart": ""
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "" "Adjust the bar height via inner padding": ""
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Izgara görünümü modunda sütun sayısını ayarla" "Adjust the number of columns in grid view mode.": "Izgara görünümü modunda sütun sayısını ayarla"
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "" "Adjust volume per scroll indent": ""
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Yalnızca bir ekran bağlı olduğunda her zaman göster" "Always show when there's only one connected display": "Yalnızca bir ekran bağlı olduğunda her zaman göster"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "" "Always use this app for %1": ""
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": ""
},
"Authentication": { "Authentication": {
"Authentication": "Kimlik Doğrulama" "Authentication": "Kimlik Doğrulama"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": ""
}, },
"Authentication error - try again": {
"Authentication error - try again": ""
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Yetkilendir" "Authorize": "Yetkilendir"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Dock'u Otomatik Gizle" "Auto-hide Dock": "Dock'u Otomatik Gizle"
}, },
"Auto-login": {
"Auto-login": ""
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "" "Available in Detailed and Forecast view modes": ""
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Geri" "Back": "Geri"
}, },
"Back to user list": {
"Back to user list": ""
},
"Backend": { "Backend": {
"Backend": "Arka Uç" "Backend": "Arka Uç"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Bildirim açılır pencerelerinin ekranda nerede görüneceğini seçin" "Choose where notification popups appear on screen": "Bildirim açılır pencerelerinin ekranda nerede görüneceğini seçin"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Kompozitör Ayarları" "Compositor Settings": "Kompozitör Ayarları"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Yapılandırma Biçimi" "Config Format": "Yapılandırma Biçimi"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Kontrast" "Contrast": "Kontrast"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "" "Contributor": ""
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Çıkışı Devre Dışı Bırak" "Disable Output": "Çıkışı Devre Dışı Bırak"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Devre Dışı" "Disabled": "Devre Dışı"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Kapı Açık" "Door Open": "Kapı Açık"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": ""
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "" "Empty Trash (%1)": ""
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Daha geniş renk gamı ve HDR desteği için 10 bit renk derinliğini etkinleştirin" "Enable 10-bit color depth for wider color gamut and HDR support": "Daha geniş renk gamı ve HDR desteği için 10 bit renk derinliğini etkinleştirin"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Parolayı girin " "Enter password for ": "Parolayı girin "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Bu şifreyi şuraya gir: " "Enter this passkey on ": "Bu şifreyi şuraya gir: "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "" "Failed to fetch network QR code: %1": ""
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "" "Failed to generate systemd override": ""
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "" "Flags": ""
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Alan gizliyse, bir tuşa basıldığında görünür." "If the field is hidden, it will appear as soon as a key is pressed.": "Alan gizliyse, bir tuşa basıldığında görünür."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "" "Ignore Completely": ""
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Sol Bölüm" "Left Section": "Sol Bölüm"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "" "Light": ""
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "" "Locked": ""
}, },
"Logging in...": {
"Logging in...": ""
},
"Login": { "Login": {
"Login": "" "Login": ""
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Mikrofon ses seviyesi kontrolü" "Microphone volume control": "Mikrofon ses seviyesi kontrolü"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Orta Bölüm" "Middle Section": "Orta Bölüm"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "" "Mount Points": ""
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "" "Mouse clicks pass through the bar to windows behind it": ""
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "" "Native: platform renderer (FreeType).": ""
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "" "No Rounding": ""
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "" "No Shadow": ""
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Algılanmadı" "Not detected": "Algılanmadı"
}, },
"Not listed?": {
"Not listed?": ""
},
"Not paired": { "Not paired": {
"Not paired": "" "Not paired": ""
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "" "On": ""
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "" "On indefinitely": ""
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Gamayı yalnızca zaman veya konum kurallarına göre ayarlayın." "Only adjust gamma based on time or location rules.": "Gamayı yalnızca zaman veya konum kurallarına göre ayarlayın."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Eşleşiyor..." "Pairing...": "Eşleşiyor..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "" "Partly Cloudy": ""
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "" "Password updated": ""
}, },
"Password...": {
"Password...": ""
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "" "Passwords do not match.": ""
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "İşaretçi" "Pointer": "İşaretçi"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": ""
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Basınç" "Pressure": "Basınç"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Ekran zaman aşımını önle" "Prevent screen timeout": "Ekran zaman aşımını önle"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Protokol" "Protocol": "Protokol"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "" "Qt": ""
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "" "Requires remembering the last user and session. Enable those options first.": ""
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Sıfırla" "Reset": "Sıfırla"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Ters Kaydırma Yönü" "Reverse Scrolling Direction": "Ters Kaydırma Yönü"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Bar üzerinde kaydırırken çalışma alanı geçiş yönünü tersine çevir" "Reverse workspace switch direction when scrolling over the bar": "Bar üzerinde kaydırırken çalışma alanı geçiş yönünü tersine çevir"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "" "Scroll GitHub": ""
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Kaydırma Tekerleği" "Scroll Wheel": "Kaydırma Tekerleği"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Kaydırma" "Scrolling": "Kaydırma"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "" "Search App Actions": ""
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Duvar kağıdı tabanlı renkler için kullanılan palet algoritmasını seçin" "Select the palette algorithm used for wallpaper-based colors": "Duvar kağıdı tabanlı renkler için kullanılan palet algoritmasını seçin"
}, },
"Select user...": {
"Select user...": ""
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "" "Select which keybind providers to include": ""
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "" "Show": ""
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "" "Show 3rd Party": ""
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "" "Suspend then Hibernate": ""
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "" "Sway Website": ""
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "" "Tailscale not available": ""
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "" "Terminal": ""
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "" "The rule applies to any window matching one of these.": ""
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Tema & Renkler" "Theme & Colors": "Tema & Renkler"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "" "Too many attempts - locked out": ""
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": ""
},
"Tools": { "Tools": {
"Tools": "" "Tools": ""
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "" "Touch your security key...": ""
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Dönüştür" "Transform": "Dönüştür"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "" "Turn off now": ""
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "" "Type at least 2 characters": ""
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "" "Untrust": ""
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "" "Up to date": ""
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": ""
}, },
"Username...": {
"Username...": ""
},
"Users": { "Users": {
"Users": "" "Users": ""
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "" "attached": ""
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "" "brandon": ""
}, },
File diff suppressed because it is too large Load Diff
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "Giới thiệu" "About": "Giới thiệu"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "Màu nhấn" "Accent Color": "Màu nhấn"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "Bộ chuyển đổi" "Adapters": "Bộ chuyển đổi"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "Chiều rộng phương tiện thích ứng" "Adaptive Media Width": "Chiều rộng phương tiện thích ứng"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "Thêm vào Tự động khởi động" "Add to Autostart": "Thêm vào Tự động khởi động"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "Điều chỉnh chiều cao của thanh thông qua khoảng đệm bên trong" "Adjust the bar height via inner padding": "Điều chỉnh chiều cao của thanh thông qua khoảng đệm bên trong"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "Điều chỉnh số cột trong chế độ xem lưới." "Adjust the number of columns in grid view mode.": "Điều chỉnh số cột trong chế độ xem lưới."
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "Điều chỉnh âm lượng theo từng nấc cuộn" "Adjust volume per scroll indent": "Điều chỉnh âm lượng theo từng nấc cuộn"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "Luôn hiển thị khi chỉ có một màn hình được kết nối" "Always show when there's only one connected display": "Luôn hiển thị khi chỉ có một màn hình được kết nối"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "Luôn sử dụng ứng dụng này cho %1" "Always use this app for %1": "Luôn sử dụng ứng dụng này cho %1"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "Đang xác thực..."
},
"Authentication": { "Authentication": {
"Authentication": "Xác thực" "Authentication": "Xác thực"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Các thay đổi xác thực cần sudo. Đang mở cửa sổ dòng lệnh để bạn có thể sử dụng mật khẩu hoặc vân tay." "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "Các thay đổi xác thực cần sudo. Đang mở cửa sổ dòng lệnh để bạn có thể sử dụng mật khẩu hoặc vân tay."
}, },
"Authentication error - try again": {
"Authentication error - try again": "Lỗi xác thực - hãy thử lại"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "Ủy quyền" "Authorize": "Ủy quyền"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "Tự động ẩn thanh dock" "Auto-hide Dock": "Tự động ẩn thanh dock"
}, },
"Auto-login": {
"Auto-login": "Tự động đăng nhập"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "Thay đổi tự động đăng nhập cần đồng bộ hóa" "Auto-login change needs a sync": "Thay đổi tự động đăng nhập cần đồng bộ hóa"
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "Có sẵn trong chế độ xem Chi tiết và Dự báo" "Available in Detailed and Forecast view modes": "Có sẵn trong chế độ xem Chi tiết và Dự báo"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "Quay lại" "Back": "Quay lại"
}, },
"Back to user list": {
"Back to user list": "Quay lại danh sách người dùng"
},
"Backend": { "Backend": {
"Backend": "Backend" "Backend": "Backend"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "Chọn thư mục hình nền" "Choose wallpaper folder": "Chọn thư mục hình nền"
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "Chọn nơi hộp thông báo nổi được hiển thị" "Choose where notification popups appear on screen": "Chọn nơi hộp thông báo nổi được hiển thị"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "Cài đặt Compositor" "Compositor Settings": "Cài đặt Compositor"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "Định dạng cấu hình" "Config Format": "Định dạng cấu hình"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "Độ tương phản" "Contrast": "Độ tương phản"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "Người đóng góp" "Contributor": "Người đóng góp"
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "Tắt đầu ra" "Disable Output": "Tắt đầu ra"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "Đã tắt" "Disabled": "Đã tắt"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "Cửa mở" "Door Open": "Cửa mở"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "Kéo một widget bằng tay cầm của nó tại đây để sắp xếp lại hoặc thả nó vào một nhóm khác" "Drag a widget by its handle here to reorder it or drop it into another group": "Kéo một widget bằng tay cầm của nó tại đây để sắp xếp lại hoặc thả nó vào một nhóm khác"
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Động: Đường cong bezier lò xo với độ vọt lố — phần nhập vượt quá mục tiêu một thời gian ngắn rồi ổn định. Sống động và đầy biểu cảm." "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "Động: Đường cong bezier lò xo với độ vọt lố — phần nhập vượt quá mục tiêu một thời gian ngắn rồi ổn định. Sống động và đầy biểu cảm."
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "Tiết lộ Khi Di chuột Qua Cạnh" "Edge Hover Reveal": "Tiết lộ Khi Di chuột Qua Cạnh"
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "Dọn sạch thùng rác (%1)" "Empty Trash (%1)": "Dọn sạch thùng rác (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "Bật độ sâu màu 10-bit cho gam màu rộng hơn và hỗ trợ HDR" "Enable 10-bit color depth for wider color gamut and HDR support": "Bật độ sâu màu 10-bit cho gam màu rộng hơn và hỗ trợ HDR"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "Nhập mật khẩu cho " "Enter password for ": "Nhập mật khẩu cho "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "Nhập mã xác nhận này trên " "Enter this passkey on ": "Nhập mã xác nhận này trên "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "Lấy mã QR mạng thất bại: %1" "Failed to fetch network QR code: %1": "Lấy mã QR mạng thất bại: %1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "Không thể tạo ghi đè systemd" "Failed to generate systemd override": "Không thể tạo ghi đè systemd"
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "Cờ" "Flags": "Cờ"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "Nếu trường bị ẩn, nó sẽ xuất hiện ngay khi một phím được nhấn." "If the field is hidden, it will appear as soon as a key is pressed.": "Nếu trường bị ẩn, nó sẽ xuất hiện ngay khi một phím được nhấn."
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "Bỏ qua hoàn toàn" "Ignore Completely": "Bỏ qua hoàn toàn"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "Giữ các chỉnh sửa của tôi" "Keep My Edits": "Giữ các chỉnh sửa của tôi"
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "Giữ trong thanh" "Keep in Bar": "Giữ trong thanh"
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "Phần bên trái" "Left Section": "Phần bên trái"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "Nhẹ / Sáng" "Light": "Nhẹ / Sáng"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "Đã khóa" "Locked": "Đã khóa"
}, },
"Logging in...": {
"Logging in...": "Đang đăng nhập..."
},
"Login": { "Login": {
"Login": "Đăng nhập" "Login": "Đăng nhập"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "Điều khiển âm lượng micro" "Microphone volume control": "Điều khiển âm lượng micro"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "Mục giữa" "Middle Section": "Mục giữa"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "Điểm gắn (Mount points)" "Mount Points": "Điểm gắn (Mount points)"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "Các cú nhấp chuột đi xuyên qua thanh tới các cửa sổ phía sau" "Mouse clicks pass through the bar to windows behind it": "Các cú nhấp chuột đi xuyên qua thanh tới các cửa sổ phía sau"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "Gốc: trình kết xuất nền tảng (FreeType)." "Native: platform renderer (FreeType).": "Gốc: trình kết xuất nền tảng (FreeType)."
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "Cuộn tự nhiên trên bàn di chuột" "Natural Touchpad Scrolling": "Cuộn tự nhiên trên bàn di chuột"
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "Không bo góc" "No Rounding": "Không bo góc"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "Không có bóng" "No Shadow": "Không có bóng"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "Không phát hiện được" "Not detected": "Không phát hiện được"
}, },
"Not listed?": {
"Not listed?": "Không có trong danh sách?"
},
"Not paired": { "Not paired": {
"Not paired": "Chưa ghép đôi" "Not paired": "Chưa ghép đôi"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "Bật" "On": "Bật"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "Bật vô thời hạn" "On indefinitely": "Bật vô thời hạn"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "Chỉ điều chỉnh gamma dựa trên quy tắc thời gian hoặc địa điểm." "Only adjust gamma based on time or location rules.": "Chỉ điều chỉnh gamma dựa trên quy tắc thời gian hoặc địa điểm."
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "Chỉ Trên Pin" "Only on Battery": "Chỉ Trên Pin"
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "Đang ghép đôi..." "Pairing...": "Đang ghép đôi..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "Có mây rải rác" "Partly Cloudy": "Có mây rải rác"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "Đã cập nhật mật khẩu" "Password updated": "Đã cập nhật mật khẩu"
}, },
"Password...": {
"Password...": "Mật khẩu..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "Mật khẩu không khớp." "Passwords do not match.": "Mật khẩu không khớp."
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "Con trỏ" "Pointer": "Con trỏ"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Tích hợp Polkit đã bị tắt. Quản lý người dùng yêu cầu Polkit để nâng cao đặc quyền." "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Tích hợp Polkit đã bị tắt. Quản lý người dùng yêu cầu Polkit để nâng cao đặc quyền."
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "Áp suất" "Pressure": "Áp suất"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "Ngăn tắt màn hình" "Prevent screen timeout": "Ngăn tắt màn hình"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "Giao thức" "Protocol": "Giao thức"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "Yêu cầu ghi nhớ người dùng và phiên làm việc cuối. Hãy bật các tùy chọn đó trước." "Requires remembering the last user and session. Enable those options first.": "Yêu cầu ghi nhớ người dùng và phiên làm việc cuối. Hãy bật các tùy chọn đó trước."
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "Đặt lại" "Reset": "Đặt lại"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "Đảo ngược hướng cuộn" "Reverse Scrolling Direction": "Đảo ngược hướng cuộn"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "Đảo ngược hướng chuyển đổi không gian làm việc khi cuộn trên thanh" "Reverse workspace switch direction when scrolling over the bar": "Đảo ngược hướng chuyển đổi không gian làm việc khi cuộn trên thanh"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "Cuộn GitHub" "Scroll GitHub": "Cuộn GitHub"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "Bánh xe chuột" "Scroll Wheel": "Bánh xe chuột"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "Cuộn" "Scrolling": "Cuộn"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "Tìm kiếm hành động ứng dụng" "Search App Actions": "Tìm kiếm hành động ứng dụng"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "Chọn thuật toán bảng màu được sử dụng cho màu dựa trên hình nền" "Select the palette algorithm used for wallpaper-based colors": "Chọn thuật toán bảng màu được sử dụng cho màu dựa trên hình nền"
}, },
"Select user...": {
"Select user...": "Chọn người dùng..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "Chọn các nhà cung cấp phím tắt nào để bao gồm" "Select which keybind providers to include": "Chọn các nhà cung cấp phím tắt nào để bao gồm"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "Hiển thị" "Show": "Hiển thị"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "Hiển thị ứng dụng Bên thứ ba" "Show 3rd Party": "Hiển thị ứng dụng Bên thứ ba"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "Hiển thị thông báo khi pin đạt giới hạn sạc." "Show a notification when battery reaches the charge limit.": "Hiển thị thông báo khi pin đạt giới hạn sạc."
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "Hiển thị cửa sổ cảnh báo khi pin sắp hết." "Show a warning popup when battery is running low.": "Hiển thị cửa sổ cảnh báo khi pin sắp hết."
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "Ngủ rồi Ngủ đông" "Suspend then Hibernate": "Ngủ rồi Ngủ đông"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Trang web Sway" "Sway Website": "Trang web Sway"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscale không khả dụng" "Tailscale not available": "Tailscale không khả dụng"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "Cửa sổ dòng lệnh" "Terminal": "Cửa sổ dòng lệnh"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "Quy tắc áp dụng cho bất kỳ cửa sổ nào khớp với một trong các điều kiện này." "The rule applies to any window matching one of these.": "Quy tắc áp dụng cho bất kỳ cửa sổ nào khớp với một trong các điều kiện này."
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "Chủ đề & Màu" "Theme & Colors": "Chủ đề & Màu"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "Quá nhiều lần thử - đã bị khóa" "Too many attempts - locked out": "Quá nhiều lần thử - đã bị khóa"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "Quá nhiều lần thử thất bại - tài khoản có thể đã bị khóa"
},
"Tools": { "Tools": {
"Tools": "Công cụ" "Tools": "Công cụ"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "Chạm vào khóa bảo mật của bạn..." "Touch your security key...": "Chạm vào khóa bảo mật của bạn..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "Biến đổi" "Transform": "Biến đổi"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "Tắt ngay" "Turn off now": "Tắt ngay"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "Nhập ít nhất 2 ký tự" "Type at least 2 characters": "Nhập ít nhất 2 ký tự"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "Ngừng tin cậy" "Untrust": "Ngừng tin cậy"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "Đã cập nhật" "Up to date": "Đã cập nhật"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Tên người dùng phải bắt đầu bằng chữ thường hoặc dấu gạch dưới và chỉ chứa các chữ cái thường, chữ số, dấu gạch nối hoặc dấu gạch dưới." "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "Tên người dùng phải bắt đầu bằng chữ thường hoặc dấu gạch dưới và chỉ chứa các chữ cái thường, chữ số, dấu gạch nối hoặc dấu gạch dưới."
}, },
"Username...": {
"Username...": "Tên người dùng..."
},
"Users": { "Users": {
"Users": "Người dùng" "Users": "Người dùng"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "đã đính kèm" "attached": "đã đính kèm"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "brandon (Kiểu)" "brandon": "brandon (Kiểu)"
}, },
File diff suppressed because it is too large Load Diff
+153 -48
View File
@@ -335,6 +335,9 @@
"About": { "About": {
"About": "關於" "About": "關於"
}, },
"Acceleration Profile": {
"Acceleration Profile": ""
},
"Accent Color": { "Accent Color": {
"Accent Color": "強調色" "Accent Color": "強調色"
}, },
@@ -410,6 +413,9 @@
"Adapters": { "Adapters": {
"Adapters": "轉接器" "Adapters": "轉接器"
}, },
"Adaptive": {
"Adaptive": ""
},
"Adaptive Media Width": { "Adaptive Media Width": {
"Adaptive Media Width": "自適應媒體寬度" "Adaptive Media Width": "自適應媒體寬度"
}, },
@@ -485,12 +491,21 @@
"Add to Autostart": { "Add to Autostart": {
"Add to Autostart": "加入自動啟動" "Add to Autostart": "加入自動啟動"
}, },
"Adjust pointer sensitivity speed": {
"Adjust pointer sensitivity speed": ""
},
"Adjust scrolling sensitivity multiplier": {
"Adjust scrolling sensitivity multiplier": ""
},
"Adjust the bar height via inner padding": { "Adjust the bar height via inner padding": {
"Adjust the bar height via inner padding": "透過內部邊距調整工具列高度" "Adjust the bar height via inner padding": "透過內部邊距調整工具列高度"
}, },
"Adjust the number of columns in grid view mode.": { "Adjust the number of columns in grid view mode.": {
"Adjust the number of columns in grid view mode.": "調整網格檢視模式中的欄數。" "Adjust the number of columns in grid view mode.": "調整網格檢視模式中的欄數。"
}, },
"Adjust touchpad pointer speed": {
"Adjust touchpad pointer speed": ""
},
"Adjust volume per scroll indent": { "Adjust volume per scroll indent": {
"Adjust volume per scroll indent": "調整每滾動縮排的音量" "Adjust volume per scroll indent": "調整每滾動縮排的音量"
}, },
@@ -575,6 +590,9 @@
"Always show when there's only one connected display": { "Always show when there's only one connected display": {
"Always show when there's only one connected display": "僅連接一個顯示器時一律顯示" "Always show when there's only one connected display": "僅連接一個顯示器時一律顯示"
}, },
"Always use the durations above, even if an app requests a shorter or longer one": {
"Always use the durations above, even if an app requests a shorter or longer one": ""
},
"Always use this app for %1": { "Always use this app for %1": {
"Always use this app for %1": "始終使用此應用程式開啟 %1" "Always use this app for %1": "始終使用此應用程式開啟 %1"
}, },
@@ -782,9 +800,6 @@
"Authenticated!": { "Authenticated!": {
"Authenticated!": "" "Authenticated!": ""
}, },
"Authenticating...": {
"Authenticating...": "正在驗證..."
},
"Authentication": { "Authentication": {
"Authentication": "驗證" "Authentication": "驗證"
}, },
@@ -803,18 +818,6 @@
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": { "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": {
"Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "身份驗證變更需要 sudo。正在開啟終端機,以便您使用密碼或指紋。" "Authentication changes need sudo. Opening terminal so you can use password or fingerprint.": "身份驗證變更需要 sudo。正在開啟終端機,以便您使用密碼或指紋。"
}, },
"Authentication error - try again": {
"Authentication error - try again": "驗證錯誤 - 請再試一次"
},
"Authentication failed - attempt %1 of %2": {
"Authentication failed - attempt %1 of %2": ""
},
"Authentication failed - lockout can occur": {
"Authentication failed - lockout can occur": ""
},
"Authentication failed - try again": {
"Authentication failed - try again": ""
},
"Authorize": { "Authorize": {
"Authorize": "授權" "Authorize": "授權"
}, },
@@ -878,9 +881,6 @@
"Auto-hide Dock": { "Auto-hide Dock": {
"Auto-hide Dock": "自動隱藏 Dock" "Auto-hide Dock": "自動隱藏 Dock"
}, },
"Auto-login": {
"Auto-login": "自動登入"
},
"Auto-login change needs a sync": { "Auto-login change needs a sync": {
"Auto-login change needs a sync": "" "Auto-login change needs a sync": ""
}, },
@@ -980,24 +980,12 @@
"Available in Detailed and Forecast view modes": { "Available in Detailed and Forecast view modes": {
"Available in Detailed and Forecast view modes": "可於詳細和預報檢視模式中顯示" "Available in Detailed and Forecast view modes": "可於詳細和預報檢視模式中顯示"
}, },
"Awaiting fingerprint authentication": {
"Awaiting fingerprint authentication": ""
},
"Awaiting fingerprint or security key authentication": {
"Awaiting fingerprint or security key authentication": ""
},
"Awaiting security key authentication": {
"Awaiting security key authentication": ""
},
"BSSID": { "BSSID": {
"BSSID": "BSSID" "BSSID": "BSSID"
}, },
"Back": { "Back": {
"Back": "返回" "Back": "返回"
}, },
"Back to user list": {
"Back to user list": "返回使用者列表"
},
"Backend": { "Backend": {
"Backend": "後端" "Backend": "後端"
}, },
@@ -1454,6 +1442,9 @@
"Choose wallpaper folder": { "Choose wallpaper folder": {
"Choose wallpaper folder": "" "Choose wallpaper folder": ""
}, },
"Choose when to generate scrolling events": {
"Choose when to generate scrolling events": ""
},
"Choose where notification popups appear on screen": { "Choose where notification popups appear on screen": {
"Choose where notification popups appear on screen": "選擇通知彈出視窗在螢幕上出現的位置" "Choose where notification popups appear on screen": "選擇通知彈出視窗在螢幕上出現的位置"
}, },
@@ -1688,6 +1679,9 @@
"Compositor Settings": { "Compositor Settings": {
"Compositor Settings": "合成器設定" "Compositor Settings": "合成器設定"
}, },
"Compositor actions (focus, move, etc.)": {
"Compositor actions (focus, move, etc.)": ""
},
"Config Format": { "Config Format": {
"Config Format": "配置格式" "Config Format": "配置格式"
}, },
@@ -1805,6 +1799,9 @@
"Contrast": { "Contrast": {
"Contrast": "對比" "Contrast": "對比"
}, },
"Contrast by variant": {
"Contrast by variant": ""
},
"Contributor": { "Contributor": {
"Contributor": "貢獻者" "Contributor": "貢獻者"
}, },
@@ -2390,6 +2387,15 @@
"Disable Output": { "Disable Output": {
"Disable Output": "停用輸出" "Disable Output": "停用輸出"
}, },
"Disable While Typing": {
"Disable While Typing": ""
},
"Disable on External Mouse": {
"Disable on External Mouse": ""
},
"Disable touchpad when an external mouse is connected": {
"Disable touchpad when an external mouse is connected": ""
},
"Disabled": { "Disabled": {
"Disabled": "已停用" "Disabled": "已停用"
}, },
@@ -2549,6 +2555,9 @@
"Door Open": { "Door Open": {
"Door Open": "門開啟" "Door Open": "門開啟"
}, },
"Drag Lock": {
"Drag Lock": ""
},
"Drag a widget by its handle here to reorder it or drop it into another group": { "Drag a widget by its handle here to reorder it or drop it into another group": {
"Drag a widget by its handle here to reorder it or drop it into another group": "" "Drag a widget by its handle here to reorder it or drop it into another group": ""
}, },
@@ -2621,6 +2630,9 @@
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": { "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": {
"Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "動態:帶有過衝的彈簧貝茲曲線 — 進入時會短暫超出目標然後穩定下來。富有表現力且生動。" "Dynamic: Spring bezier with overshoot — entry briefly exceeds its target then settles. Expressive and alive.": "動態:帶有過衝的彈簧貝茲曲線 — 進入時會短暫超出目標然後穩定下來。富有表現力且生動。"
}, },
"Edge": {
"Edge": ""
},
"Edge Hover Reveal": { "Edge Hover Reveal": {
"Edge Hover Reveal": "" "Edge Hover Reveal": ""
}, },
@@ -2669,6 +2681,9 @@
"Empty Trash (%1)": { "Empty Trash (%1)": {
"Empty Trash (%1)": "清空垃圾桶 (%1)" "Empty Trash (%1)": "清空垃圾桶 (%1)"
}, },
"Emulate middle click by pressing left and right buttons": {
"Emulate middle click by pressing left and right buttons": ""
},
"Enable 10-bit color depth for wider color gamut and HDR support": { "Enable 10-bit color depth for wider color gamut and HDR support": {
"Enable 10-bit color depth for wider color gamut and HDR support": "啟用 10 位元色彩深度以獲得更寬廣的色域和 HDR 支援" "Enable 10-bit color depth for wider color gamut and HDR support": "啟用 10 位元色彩深度以獲得更寬廣的色域和 HDR 支援"
}, },
@@ -2795,6 +2810,9 @@
"Enter password for ": { "Enter password for ": {
"Enter password for ": "輸入密碼 " "Enter password for ": "輸入密碼 "
}, },
"Enter text to encode": {
"Enter text to encode": ""
},
"Enter this passkey on ": { "Enter this passkey on ": {
"Enter this passkey on ": "輸入此密碼 " "Enter this passkey on ": "輸入此密碼 "
}, },
@@ -2993,6 +3011,9 @@
"Failed to fetch network QR code: %1": { "Failed to fetch network QR code: %1": {
"Failed to fetch network QR code: %1": "擷取網路 QR 碼失敗:%1" "Failed to fetch network QR code: %1": "擷取網路 QR 碼失敗:%1"
}, },
"Failed to generate QR code: %1": {
"Failed to generate QR code: %1": ""
},
"Failed to generate systemd override": { "Failed to generate systemd override": {
"Failed to generate systemd override": "產生 systemd 覆蓋檔失敗" "Failed to generate systemd override": "產生 systemd 覆蓋檔失敗"
}, },
@@ -3263,6 +3284,12 @@
"Flags": { "Flags": {
"Flags": "標幟" "Flags": "標幟"
}, },
"Flat": {
"Flat": ""
},
"Flat uses constant speed; Adaptive scales with movement speed": {
"Flat uses constant speed; Adaptive scales with movement speed": ""
},
"Flatpak": { "Flatpak": {
"Flatpak": "" "Flatpak": ""
}, },
@@ -3962,6 +3989,9 @@
"If the field is hidden, it will appear as soon as a key is pressed.": { "If the field is hidden, it will appear as soon as a key is pressed.": {
"If the field is hidden, it will appear as soon as a key is pressed.": "如果此欄位已隱藏,只要按下按鍵便會顯示。" "If the field is hidden, it will appear as soon as a key is pressed.": "如果此欄位已隱藏,只要按下按鍵便會顯示。"
}, },
"Ignore App-Requested Timeout": {
"Ignore App-Requested Timeout": ""
},
"Ignore Completely": { "Ignore Completely": {
"Ignore Completely": "完全忽略" "Ignore Completely": "完全忽略"
}, },
@@ -4199,6 +4229,9 @@
"Keep My Edits": { "Keep My Edits": {
"Keep My Edits": "" "Keep My Edits": ""
}, },
"Keep dragging when finger is briefly lifted": {
"Keep dragging when finger is briefly lifted": ""
},
"Keep in Bar": { "Keep in Bar": {
"Keep in Bar": "" "Keep in Bar": ""
}, },
@@ -4334,6 +4367,9 @@
"Left Section": { "Left Section": {
"Left Section": "左方區塊" "Left Section": "左方區塊"
}, },
"Left-Handed Mode": {
"Left-Handed Mode": ""
},
"Light": { "Light": {
"Light": "細" "Light": "細"
}, },
@@ -4439,9 +4475,6 @@
"Locked": { "Locked": {
"Locked": "已鎖定" "Locked": "已鎖定"
}, },
"Logging in...": {
"Logging in...": "正在登入..."
},
"Login": { "Login": {
"Login": "登入" "Login": "登入"
}, },
@@ -4748,6 +4781,9 @@
"Microphone volume control": { "Microphone volume control": {
"Microphone volume control": "麥克風音量控制" "Microphone volume control": "麥克風音量控制"
}, },
"Middle Click Emulation": {
"Middle Click Emulation": ""
},
"Middle Section": { "Middle Section": {
"Middle Section": "中間部分" "Middle Section": "中間部分"
}, },
@@ -4823,6 +4859,12 @@
"Mount Points": { "Mount Points": {
"Mount Points": "掛載點" "Mount Points": "掛載點"
}, },
"Mouse & Touchpad": {
"Mouse & Touchpad": ""
},
"Mouse Settings": {
"Mouse Settings": ""
},
"Mouse clicks pass through the bar to windows behind it": { "Mouse clicks pass through the bar to windows behind it": {
"Mouse clicks pass through the bar to windows behind it": "滑鼠點擊可穿透工具列並作用於後方的視窗" "Mouse clicks pass through the bar to windows behind it": "滑鼠點擊可穿透工具列並作用於後方的視窗"
}, },
@@ -4886,6 +4928,9 @@
"Native: platform renderer (FreeType).": { "Native: platform renderer (FreeType).": {
"Native: platform renderer (FreeType).": "原生:平台渲染器 (FreeType)。" "Native: platform renderer (FreeType).": "原生:平台渲染器 (FreeType)。"
}, },
"Natural Scrolling": {
"Natural Scrolling": ""
},
"Natural Touchpad Scrolling": { "Natural Touchpad Scrolling": {
"Natural Touchpad Scrolling": "" "Natural Touchpad Scrolling": ""
}, },
@@ -5033,6 +5078,9 @@
"No Rounding": { "No Rounding": {
"No Rounding": "無圓角" "No Rounding": "無圓角"
}, },
"No Scroll": {
"No Scroll": ""
},
"No Shadow": { "No Shadow": {
"No Shadow": "無陰影" "No Shadow": "無陰影"
}, },
@@ -5336,9 +5384,6 @@
"Not detected": { "Not detected": {
"Not detected": "未偵測到" "Not detected": "未偵測到"
}, },
"Not listed?": {
"Not listed?": "未列出?"
},
"Not paired": { "Not paired": {
"Not paired": "未配對" "Not paired": "未配對"
}, },
@@ -5432,6 +5477,9 @@
"On": { "On": {
"On": "開啟" "On": "開啟"
}, },
"On Button Down": {
"On Button Down": ""
},
"On indefinitely": { "On indefinitely": {
"On indefinitely": "無限期" "On indefinitely": "無限期"
}, },
@@ -5450,6 +5498,9 @@
"Only adjust gamma based on time or location rules.": { "Only adjust gamma based on time or location rules.": {
"Only adjust gamma based on time or location rules.": "僅根據時間或位置規則調整 gamma。" "Only adjust gamma based on time or location rules.": "僅根據時間或位置規則調整 gamma。"
}, },
"Only continue if you recognize this server certificate fingerprint.": {
"Only continue if you recognize this server certificate fingerprint.": ""
},
"Only on Battery": { "Only on Battery": {
"Only on Battery": "" "Only on Battery": ""
}, },
@@ -5687,6 +5738,9 @@
"Pairing...": { "Pairing...": {
"Pairing...": "正在配對..." "Pairing...": "正在配對..."
}, },
"Partial": {
"Partial": ""
},
"Partly Cloudy": { "Partly Cloudy": {
"Partly Cloudy": "多雲" "Partly Cloudy": "多雲"
}, },
@@ -5708,9 +5762,6 @@
"Password updated": { "Password updated": {
"Password updated": "密碼已更新" "Password updated": "密碼已更新"
}, },
"Password...": {
"Password...": "密碼..."
},
"Passwords do not match.": { "Passwords do not match.": {
"Passwords do not match.": "密碼不符。" "Passwords do not match.": "密碼不符。"
}, },
@@ -5894,6 +5945,9 @@
"Pointer": { "Pointer": {
"Pointer": "指標" "Pointer": "指標"
}, },
"Pointer Speed": {
"Pointer Speed": ""
},
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": { "Polkit integration is disabled. User management requires Polkit to elevate privileges.": {
"Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit 整合已停用。使用者管理需要 Polkit 來提升權限。" "Polkit integration is disabled. User management requires Polkit to elevate privileges.": "Polkit 整合已停用。使用者管理需要 Polkit 來提升權限。"
}, },
@@ -6014,6 +6068,9 @@
"Pressure": { "Pressure": {
"Pressure": "氣壓" "Pressure": "氣壓"
}, },
"Prevent accidental cursor jumps while typing": {
"Prevent accidental cursor jumps while typing": ""
},
"Prevent screen timeout": { "Prevent screen timeout": {
"Prevent screen timeout": "防止螢幕超時" "Prevent screen timeout": "防止螢幕超時"
}, },
@@ -6131,6 +6188,9 @@
"Protocol": { "Protocol": {
"Protocol": "協定" "Protocol": "協定"
}, },
"QR Generator": {
"QR Generator": ""
},
"Qt": { "Qt": {
"Qt": "Qt" "Qt": "Qt"
}, },
@@ -6383,6 +6443,9 @@
"Requires remembering the last user and session. Enable those options first.": { "Requires remembering the last user and session. Enable those options first.": {
"Requires remembering the last user and session. Enable those options first.": "需要記憶最後使用的使用者與工作階段。請先啟用這些選項。" "Requires remembering the last user and session. Enable those options first.": "需要記憶最後使用的使用者與工作階段。請先啟用這些選項。"
}, },
"Requires the DMS Theme extension from the editor marketplace": {
"Requires the DMS Theme extension from the editor marketplace": ""
},
"Reset": { "Reset": {
"Reset": "重設" "Reset": "重設"
}, },
@@ -6437,6 +6500,12 @@
"Reverse Scrolling Direction": { "Reverse Scrolling Direction": {
"Reverse Scrolling Direction": "反轉捲動方向" "Reverse Scrolling Direction": "反轉捲動方向"
}, },
"Reverse mouse wheel scrolling direction": {
"Reverse mouse wheel scrolling direction": ""
},
"Reverse two-finger scrolling direction": {
"Reverse two-finger scrolling direction": ""
},
"Reverse workspace switch direction when scrolling over the bar": { "Reverse workspace switch direction when scrolling over the bar": {
"Reverse workspace switch direction when scrolling over the bar": "在工具列上捲動時反轉工作區切換方向" "Reverse workspace switch direction when scrolling over the bar": "在工具列上捲動時反轉工作區切換方向"
}, },
@@ -6644,6 +6713,9 @@
"Scroll GitHub": { "Scroll GitHub": {
"Scroll GitHub": "捲動 GitHub" "Scroll GitHub": "捲動 GitHub"
}, },
"Scroll Method": {
"Scroll Method": ""
},
"Scroll Wheel": { "Scroll Wheel": {
"Scroll Wheel": "滾輪" "Scroll Wheel": "滾輪"
}, },
@@ -6659,6 +6731,9 @@
"Scrolling": { "Scrolling": {
"Scrolling": "滾動" "Scrolling": "滾動"
}, },
"Scrolling Speed": {
"Scrolling Speed": ""
},
"Search App Actions": { "Search App Actions": {
"Search App Actions": "搜尋應用程式動作" "Search App Actions": "搜尋應用程式動作"
}, },
@@ -6821,9 +6896,6 @@
"Select the palette algorithm used for wallpaper-based colors": { "Select the palette algorithm used for wallpaper-based colors": {
"Select the palette algorithm used for wallpaper-based colors": "請選擇調色板演算法,以桌布的顏色為基底。" "Select the palette algorithm used for wallpaper-based colors": "請選擇調色板演算法,以桌布的顏色為基底。"
}, },
"Select user...": {
"Select user...": "選擇使用者..."
},
"Select which keybind providers to include": { "Select which keybind providers to include": {
"Select which keybind providers to include": "選擇要包含哪些快捷鍵提供者" "Select which keybind providers to include": "選擇要包含哪些快捷鍵提供者"
}, },
@@ -6992,6 +7064,9 @@
"Show": { "Show": {
"Show": "顯示" "Show": "顯示"
}, },
"Show \"config reloaded\" Toast": {
"Show \"config reloaded\" Toast": ""
},
"Show 3rd Party": { "Show 3rd Party": {
"Show 3rd Party": "顯示第三方" "Show 3rd Party": "顯示第三方"
}, },
@@ -7187,6 +7262,9 @@
"Show a notification when battery reaches the charge limit.": { "Show a notification when battery reaches the charge limit.": {
"Show a notification when battery reaches the charge limit.": "" "Show a notification when battery reaches the charge limit.": ""
}, },
"Show a toast when the compositor config is reloaded": {
"Show a toast when the compositor config is reloaded": ""
},
"Show a warning popup when battery is running low.": { "Show a warning popup when battery is running low.": {
"Show a warning popup when battery is running low.": "" "Show a warning popup when battery is running low.": ""
}, },
@@ -7529,6 +7607,9 @@
"Suspend then Hibernate": { "Suspend then Hibernate": {
"Suspend then Hibernate": "掛起後休眠" "Suspend then Hibernate": "掛起後休眠"
}, },
"Swap primary and secondary mouse buttons": {
"Swap primary and secondary mouse buttons": ""
},
"Sway Website": { "Sway Website": {
"Sway Website": "Sway 網站" "Sway Website": "Sway 網站"
}, },
@@ -7652,6 +7733,18 @@
"Tailscale not available": { "Tailscale not available": {
"Tailscale not available": "Tailscale 不可用" "Tailscale not available": "Tailscale 不可用"
}, },
"Tap and Drag": {
"Tap and Drag": ""
},
"Tap and drag on the touchpad to move items": {
"Tap and drag on the touchpad to move items": ""
},
"Tap the touchpad surface to trigger left click clicks": {
"Tap the touchpad surface to trigger left click clicks": ""
},
"Tap to Click": {
"Tap to Click": ""
},
"Terminal": { "Terminal": {
"Terminal": "終端機" "Terminal": "終端機"
}, },
@@ -7727,6 +7820,9 @@
"The rule applies to any window matching one of these.": { "The rule applies to any window matching one of these.": {
"The rule applies to any window matching one of these.": "該規則適用於任何符合其中一項條件的視窗。" "The rule applies to any window matching one of these.": "該規則適用於任何符合其中一項條件的視窗。"
}, },
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": {
"The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.": ""
},
"Theme & Colors": { "Theme & Colors": {
"Theme & Colors": "主題和顏色" "Theme & Colors": "主題和顏色"
}, },
@@ -7919,9 +8015,6 @@
"Too many attempts - locked out": { "Too many attempts - locked out": {
"Too many attempts - locked out": "嘗試次數過多 - 已鎖定" "Too many attempts - locked out": "嘗試次數過多 - 已鎖定"
}, },
"Too many failed attempts - account may be locked": {
"Too many failed attempts - account may be locked": "嘗試失敗次數過多 - 帳戶可能已鎖定"
},
"Tools": { "Tools": {
"Tools": "工具" "Tools": "工具"
}, },
@@ -7958,6 +8051,12 @@
"Touch your security key...": { "Touch your security key...": {
"Touch your security key...": "輕觸您的安全金鑰..." "Touch your security key...": "輕觸您的安全金鑰..."
}, },
"Touchpad Settings": {
"Touchpad Settings": ""
},
"Touchpad Speed": {
"Touchpad Speed": ""
},
"Transform": { "Transform": {
"Transform": "變形" "Transform": "變形"
}, },
@@ -8018,6 +8117,9 @@
"Turn off now": { "Turn off now": {
"Turn off now": "立即關閉" "Turn off now": "立即關閉"
}, },
"Two Finger": {
"Two Finger": ""
},
"Type at least 2 characters": { "Type at least 2 characters": {
"Type at least 2 characters": "請輸入至少 2 個字元" "Type at least 2 characters": "請輸入至少 2 個字元"
}, },
@@ -8159,6 +8261,9 @@
"Untrust": { "Untrust": {
"Untrust": "不信任" "Untrust": "不信任"
}, },
"Untrusted VPN certificate": {
"Untrusted VPN certificate": ""
},
"Up to date": { "Up to date": {
"Up to date": "最新" "Up to date": "最新"
}, },
@@ -8342,9 +8447,6 @@
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": { "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": {
"Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "使用者名稱必須以小寫字母或底線開頭,且只能包含小寫字母、數字、連字號或底線。" "Username must start with a lowercase letter or underscore and contain only lowercase letters, digits, hyphens, or underscores.": "使用者名稱必須以小寫字母或底線開頭,且只能包含小寫字母、數字、連字號或底線。"
}, },
"Username...": {
"Username...": "使用者名稱..."
},
"Users": { "Users": {
"Users": "使用者" "Users": "使用者"
}, },
@@ -8765,6 +8867,9 @@
"attached": { "attached": {
"attached": "已附加" "attached": "已附加"
}, },
"below AA": {
"below AA": ""
},
"brandon": { "brandon": {
"brandon": "布蘭登" "brandon": "布蘭登"
}, },
@@ -4692,14 +4692,20 @@
"appearance", "appearance",
"code", "code",
"colors", "colors",
"colour",
"editor",
"extension",
"look", "look",
"marketplace",
"matugen", "matugen",
"requires",
"scheme", "scheme",
"style", "style",
"template", "template",
"theme", "theme",
"vscode" "vscode"
] ],
"description": "Requires the DMS Theme extension from the editor marketplace"
}, },
{ {
"section": "matugenTemplateWezterm", "section": "matugenTemplateWezterm",
+358 -57
View File
@@ -783,6 +783,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Acceleration Profile",
"translation": "",
"context": "Acceleration Profile",
"reference": "",
"comment": ""
},
{ {
"term": "Accent Color", "term": "Accent Color",
"translation": "", "translation": "",
@@ -965,6 +972,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Adaptive",
"translation": "",
"context": "Adaptive",
"reference": "",
"comment": ""
},
{ {
"term": "Adaptive Media Width", "term": "Adaptive Media Width",
"translation": "", "translation": "",
@@ -1126,6 +1140,20 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Adjust pointer sensitivity speed",
"translation": "",
"context": "Adjust pointer sensitivity speed",
"reference": "",
"comment": ""
},
{
"term": "Adjust scrolling sensitivity multiplier",
"translation": "",
"context": "Adjust scrolling sensitivity multiplier",
"reference": "",
"comment": ""
},
{ {
"term": "Adjust the bar height via inner padding", "term": "Adjust the bar height via inner padding",
"translation": "", "translation": "",
@@ -1140,6 +1168,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Adjust touchpad pointer speed",
"translation": "",
"context": "Adjust touchpad pointer speed",
"reference": "",
"comment": ""
},
{ {
"term": "Adjust volume per scroll indent", "term": "Adjust volume per scroll indent",
"translation": "", "translation": "",
@@ -1336,6 +1371,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Always use the durations above, even if an app requests a shorter or longer one",
"translation": "",
"context": "Always use the durations above, even if an app requests a shorter or longer one",
"reference": "",
"comment": ""
},
{ {
"term": "Always use this app for %1", "term": "Always use this app for %1",
"translation": "", "translation": "",
@@ -3331,6 +3373,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Choose when to generate scrolling events",
"translation": "",
"context": "Choose when to generate scrolling events",
"reference": "",
"comment": ""
},
{ {
"term": "Choose where notification popups appear on screen", "term": "Choose where notification popups appear on screen",
"translation": "", "translation": "",
@@ -3870,6 +3919,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Compositor actions (focus, move, etc.)",
"translation": "",
"context": "Compositor actions (focus, move, etc.)",
"reference": "",
"comment": "keybind action type tooltip"
},
{ {
"term": "Config Format", "term": "Config Format",
"translation": "", "translation": "",
@@ -4143,6 +4199,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Contrast by variant",
"translation": "",
"context": "Contrast by variant",
"reference": "",
"comment": "WCAG breakdown popup heading"
},
{ {
"term": "Contributor", "term": "Contributor",
"translation": "", "translation": "",
@@ -5522,6 +5585,27 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Disable While Typing",
"translation": "",
"context": "Disable While Typing",
"reference": "",
"comment": ""
},
{
"term": "Disable on External Mouse",
"translation": "",
"context": "Disable on External Mouse",
"reference": "",
"comment": ""
},
{
"term": "Disable touchpad when an external mouse is connected",
"translation": "",
"context": "Disable touchpad when an external mouse is connected",
"reference": "",
"comment": ""
},
{ {
"term": "Disabled", "term": "Disabled",
"translation": "", "translation": "",
@@ -5900,6 +5984,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Drag Lock",
"translation": "",
"context": "Drag Lock",
"reference": "",
"comment": ""
},
{ {
"term": "Drag a widget by its handle here to reorder it or drop it into another group", "term": "Drag a widget by its handle here to reorder it or drop it into another group",
"translation": "", "translation": "",
@@ -6068,6 +6159,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Edge",
"translation": "",
"context": "Edge",
"reference": "",
"comment": ""
},
{ {
"term": "Edge Hover Reveal", "term": "Edge Hover Reveal",
"translation": "", "translation": "",
@@ -6180,6 +6278,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Emulate middle click by pressing left and right buttons",
"translation": "",
"context": "Emulate middle click by pressing left and right buttons",
"reference": "",
"comment": ""
},
{ {
"term": "Enable 10-bit color depth for wider color gamut and HDR support", "term": "Enable 10-bit color depth for wider color gamut and HDR support",
"translation": "", "translation": "",
@@ -6474,6 +6579,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Enter text to encode",
"translation": "",
"context": "Enter text to encode",
"reference": "",
"comment": ""
},
{ {
"term": "Enter this passkey on ", "term": "Enter this passkey on ",
"translation": "", "translation": "",
@@ -6740,13 +6852,6 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Failed to add printer to class",
"translation": "",
"context": "Failed to add printer to class",
"reference": "",
"comment": ""
},
{ {
"term": "Failed to apply %1 colors", "term": "Failed to apply %1 colors",
"translation": "", "translation": "",
@@ -6936,6 +7041,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Failed to generate QR code: %1",
"translation": "",
"context": "Failed to generate QR code: %1",
"reference": "",
"comment": ""
},
{ {
"term": "Failed to generate systemd override", "term": "Failed to generate systemd override",
"translation": "", "translation": "",
@@ -6978,13 +7090,6 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Failed to move job",
"translation": "",
"context": "Failed to move job",
"reference": "",
"comment": ""
},
{ {
"term": "Failed to move to trash", "term": "Failed to move to trash",
"translation": "", "translation": "",
@@ -7062,13 +7167,6 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Failed to remove printer from class",
"translation": "",
"context": "Failed to remove printer from class",
"reference": "",
"comment": ""
},
{ {
"term": "Failed to restart audio system", "term": "Failed to restart audio system",
"translation": "", "translation": "",
@@ -7286,27 +7384,6 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Failed to update description",
"translation": "",
"context": "Failed to update description",
"reference": "",
"comment": ""
},
{
"term": "Failed to update location",
"translation": "",
"context": "Failed to update location",
"reference": "",
"comment": ""
},
{
"term": "Failed to update sharing",
"translation": "",
"context": "Failed to update sharing",
"reference": "",
"comment": ""
},
{ {
"term": "Failed to write autostart entry", "term": "Failed to write autostart entry",
"translation": "", "translation": "",
@@ -7559,6 +7636,20 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Flat",
"translation": "",
"context": "Flat",
"reference": "",
"comment": ""
},
{
"term": "Flat uses constant speed; Adaptive scales with movement speed",
"translation": "",
"context": "Flat uses constant speed; Adaptive scales with movement speed",
"reference": "",
"comment": ""
},
{ {
"term": "Flatpak", "term": "Flatpak",
"translation": "", "translation": "",
@@ -9211,6 +9302,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Ignore App-Requested Timeout",
"translation": "",
"context": "Ignore App-Requested Timeout",
"reference": "",
"comment": ""
},
{ {
"term": "Ignore Completely", "term": "Ignore Completely",
"translation": "", "translation": "",
@@ -9757,6 +9855,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Keep dragging when finger is briefly lifted",
"translation": "",
"context": "Keep dragging when finger is briefly lifted",
"reference": "",
"comment": ""
},
{ {
"term": "Keep in Bar", "term": "Keep in Bar",
"translation": "", "translation": "",
@@ -10072,6 +10177,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Left-Handed Mode",
"translation": "",
"context": "Left-Handed Mode",
"reference": "",
"comment": ""
},
{ {
"term": "Light", "term": "Light",
"translation": "", "translation": "",
@@ -11038,6 +11150,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Middle Click Emulation",
"translation": "",
"context": "Middle Click Emulation",
"reference": "",
"comment": ""
},
{ {
"term": "Middle Section", "term": "Middle Section",
"translation": "", "translation": "",
@@ -11220,6 +11339,20 @@
"reference": "", "reference": "",
"comment": "mount points header in system monitor" "comment": "mount points header in system monitor"
}, },
{
"term": "Mouse & Touchpad",
"translation": "",
"context": "Mouse & Touchpad",
"reference": "",
"comment": ""
},
{
"term": "Mouse Settings",
"translation": "",
"context": "Mouse Settings",
"reference": "",
"comment": ""
},
{ {
"term": "Mouse clicks pass through the bar to windows behind it", "term": "Mouse clicks pass through the bar to windows behind it",
"translation": "", "translation": "",
@@ -11374,6 +11507,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Natural Scrolling",
"translation": "",
"context": "Natural Scrolling",
"reference": "",
"comment": ""
},
{ {
"term": "Natural Touchpad Scrolling", "term": "Natural Touchpad Scrolling",
"translation": "", "translation": "",
@@ -11591,13 +11731,6 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Niri compositor actions (focus, move, etc.)",
"translation": "",
"context": "Niri compositor actions (focus, move, etc.)",
"reference": "",
"comment": ""
},
{ {
"term": "No", "term": "No",
"translation": "", "translation": "",
@@ -11710,6 +11843,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "No Scroll",
"translation": "",
"context": "No Scroll",
"reference": "",
"comment": ""
},
{ {
"term": "No Shadow", "term": "No Shadow",
"translation": "", "translation": "",
@@ -12641,6 +12781,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "On Button Down",
"translation": "",
"context": "On Button Down",
"reference": "",
"comment": ""
},
{ {
"term": "On indefinitely", "term": "On indefinitely",
"translation": "", "translation": "",
@@ -12683,6 +12830,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Only continue if you recognize this server certificate fingerprint.",
"translation": "",
"context": "Only continue if you recognize this server certificate fingerprint.",
"reference": "",
"comment": "Warning shown before trusting an unverified VPN server certificate"
},
{ {
"term": "Only on Battery", "term": "Only on Battery",
"translation": "", "translation": "",
@@ -13243,6 +13397,13 @@
"reference": "", "reference": "",
"comment": "KDE Connect pairing in progress status" "comment": "KDE Connect pairing in progress status"
}, },
{
"term": "Partial",
"translation": "",
"context": "Partial",
"reference": "",
"comment": "contrast badge suffix: only some variants pass"
},
{ {
"term": "Partly Cloudy", "term": "Partly Cloudy",
"translation": "", "translation": "",
@@ -13719,6 +13880,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Pointer Speed",
"translation": "",
"context": "Pointer Speed",
"reference": "",
"comment": ""
},
{ {
"term": "Polkit integration is disabled. User management requires Polkit to elevate privileges.", "term": "Polkit integration is disabled. User management requires Polkit to elevate privileges.",
"translation": "", "translation": "",
@@ -14006,6 +14174,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Prevent accidental cursor jumps while typing",
"translation": "",
"context": "Prevent accidental cursor jumps while typing",
"reference": "",
"comment": ""
},
{ {
"term": "Prevent screen timeout", "term": "Prevent screen timeout",
"translation": "", "translation": "",
@@ -14286,6 +14461,13 @@
"reference": "", "reference": "",
"comment": "Label for printer protocol selector, e.g. ipp, ipps, lpd, socket" "comment": "Label for printer protocol selector, e.g. ipp, ipps, lpd, socket"
}, },
{
"term": "QR Generator",
"translation": "",
"context": "QR Generator",
"reference": "",
"comment": ""
},
{ {
"term": "Qt", "term": "Qt",
"translation": "", "translation": "",
@@ -14881,6 +15063,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Requires the DMS Theme extension from the editor marketplace",
"translation": "",
"context": "Requires the DMS Theme extension from the editor marketplace",
"reference": "",
"comment": "vscode matugen template description"
},
{ {
"term": "Reset", "term": "Reset",
"translation": "", "translation": "",
@@ -15007,6 +15196,20 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Reverse mouse wheel scrolling direction",
"translation": "",
"context": "Reverse mouse wheel scrolling direction",
"reference": "",
"comment": ""
},
{
"term": "Reverse two-finger scrolling direction",
"translation": "",
"context": "Reverse two-finger scrolling direction",
"reference": "",
"comment": ""
},
{ {
"term": "Reverse workspace switch direction when scrolling over the bar", "term": "Reverse workspace switch direction when scrolling over the bar",
"translation": "", "translation": "",
@@ -15497,6 +15700,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Scroll Method",
"translation": "",
"context": "Scroll Method",
"reference": "",
"comment": ""
},
{ {
"term": "Scroll Wheel", "term": "Scroll Wheel",
"translation": "", "translation": "",
@@ -15532,6 +15742,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Scrolling Speed",
"translation": "",
"context": "Scrolling Speed",
"reference": "",
"comment": ""
},
{ {
"term": "Search App Actions", "term": "Search App Actions",
"translation": "", "translation": "",
@@ -16309,6 +16526,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Show \"config reloaded\" Toast",
"translation": "",
"context": "Show \"config reloaded\" Toast",
"reference": "",
"comment": ""
},
{ {
"term": "Show 3rd Party", "term": "Show 3rd Party",
"translation": "", "translation": "",
@@ -16764,6 +16988,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Show a toast when the compositor config is reloaded",
"translation": "",
"context": "Show a toast when the compositor config is reloaded",
"reference": "",
"comment": ""
},
{ {
"term": "Show a warning popup when battery is running low.", "term": "Show a warning popup when battery is running low.",
"translation": "", "translation": "",
@@ -17590,6 +17821,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Swap primary and secondary mouse buttons",
"translation": "",
"context": "Swap primary and secondary mouse buttons",
"reference": "",
"comment": ""
},
{ {
"term": "Sway Website", "term": "Sway Website",
"translation": "", "translation": "",
@@ -17884,6 +18122,34 @@
"reference": "", "reference": "",
"comment": "Warning when Tailscale service is not running" "comment": "Warning when Tailscale service is not running"
}, },
{
"term": "Tap and Drag",
"translation": "",
"context": "Tap and Drag",
"reference": "",
"comment": ""
},
{
"term": "Tap and drag on the touchpad to move items",
"translation": "",
"context": "Tap and drag on the touchpad to move items",
"reference": "",
"comment": ""
},
{
"term": "Tap the touchpad surface to trigger left click clicks",
"translation": "",
"context": "Tap the touchpad surface to trigger left click clicks",
"reference": "",
"comment": ""
},
{
"term": "Tap to Click",
"translation": "",
"context": "Tap to Click",
"reference": "",
"comment": ""
},
{ {
"term": "Terminal", "term": "Terminal",
"translation": "", "translation": "",
@@ -18052,6 +18318,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.",
"translation": "",
"context": "The server certificate has changed since it was last trusted. Only continue if you recognize the new fingerprint.",
"reference": "",
"comment": "Warning shown when a trusted VPN server certificate no longer matches"
},
{ {
"term": "Theme & Colors", "term": "Theme & Colors",
"translation": "", "translation": "",
@@ -18584,6 +18857,20 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Touchpad Settings",
"translation": "",
"context": "Touchpad Settings",
"reference": "",
"comment": ""
},
{
"term": "Touchpad Speed",
"translation": "",
"context": "Touchpad Speed",
"reference": "",
"comment": ""
},
{ {
"term": "Transform", "term": "Transform",
"translation": "", "translation": "",
@@ -18666,7 +18953,7 @@
"translation": "", "translation": "",
"context": "Trust", "context": "Trust",
"reference": "", "reference": "",
"comment": "" "comment": "Button that approves a VPN server certificate fingerprint"
}, },
{ {
"term": "Try a different search", "term": "Try a different search",
@@ -18724,6 +19011,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Two Finger",
"translation": "",
"context": "Two Finger",
"reference": "",
"comment": ""
},
{ {
"term": "Type", "term": "Type",
"translation": "", "translation": "",
@@ -19039,6 +19333,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "Untrusted VPN certificate",
"translation": "",
"context": "Untrusted VPN certificate",
"reference": "",
"comment": "Title for VPN server certificate trust confirmation"
},
{ {
"term": "Up to date", "term": "Up to date",
"translation": "", "translation": "",
@@ -19781,13 +20082,6 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "WCAG %1 body",
"translation": "",
"context": "WCAG %1 body",
"reference": "",
"comment": "contrast badge when only body text passes"
},
{ {
"term": "WPA/WPA2", "term": "WPA/WPA2",
"translation": "", "translation": "",
@@ -20453,6 +20747,13 @@
"reference": "", "reference": "",
"comment": "" "comment": ""
}, },
{
"term": "below AA",
"translation": "",
"context": "below AA",
"reference": "",
"comment": "contrast level below the AA threshold"
},
{ {
"term": "brandon", "term": "brandon",
"translation": "", "translation": "",