mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-02 11:38:30 -04:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 52068fb61b |
+1
-1
@@ -69,7 +69,7 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/AvengeMedia/dankgo v0.0.0-20260730184236-239485829b0b
|
github.com/AvengeMedia/dankgo v0.0.0-20260724133713-a4ef23371e05
|
||||||
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
@@ -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-20260730184236-239485829b0b h1:UwX1H4BkzazL7ips9ljnHzBXGttYARcIi5Njj9aqIt4=
|
github.com/AvengeMedia/dankgo v0.0.0-20260724133713-a4ef23371e05 h1:Ij/yzOT8y2HL7V5Rkec1GxJV0rUvhKqfAzyGxVRTk1o=
|
||||||
github.com/AvengeMedia/dankgo v0.0.0-20260730184236-239485829b0b/go.mod h1:xt8RldAfti0QCWidwYIzsSSoJWsE61WgEhTu2H9UpD4=
|
github.com/AvengeMedia/dankgo v0.0.0-20260724133713-a4ef23371e05/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=
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -225,44 +224,6 @@ 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
|
||||||
@@ -293,12 +254,11 @@ 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,56 +463,6 @@ 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")
|
||||||
|
|||||||
@@ -471,9 +471,12 @@ 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:
|
||||||
for _, editor := range vscodeEditors {
|
appendVSCodeConfig(cfgFile, "vscode", filepath.Join(homeDir, ".vscode/extensions"), opts.ShellDir)
|
||||||
appendVSCodeConfig(cfgFile, editor.name, editor.extensionsDir(homeDir), opts.ShellDir)
|
appendVSCodeConfig(cfgFile, "codium", filepath.Join(homeDir, ".vscode-oss/extensions"), 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)
|
||||||
@@ -630,23 +633,6 @@ 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)
|
||||||
@@ -1182,8 +1168,16 @@ func CheckTemplates(checker utils.AppChecker) []TemplateCheck {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func checkVSCodeExtension(homeDir string) bool {
|
func checkVSCodeExtension(homeDir string) bool {
|
||||||
for _, editor := range vscodeEditors {
|
extDirs := []string{
|
||||||
pattern := filepath.Join(editor.extensionsDir(homeDir), "danklinux.dms-theme-*")
|
filepath.Join(homeDir, ".vscode/extensions"),
|
||||||
|
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,16 +22,6 @@ 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.cachedOpenConnectMu.Lock()
|
a.backend.cachedGPSamlMu.Lock()
|
||||||
cachedOpenConnect := a.backend.cachedOpenConnectAuth
|
cachedGPSaml := a.backend.cachedGPSamlCookie
|
||||||
if cachedOpenConnect != nil && cachedOpenConnect.ConnectionUUID == connUuid {
|
if cachedGPSaml != nil && cachedGPSaml.ConnectionUUID == connUuid {
|
||||||
a.backend.cachedOpenConnectAuth = nil
|
a.backend.cachedGPSamlCookie = nil
|
||||||
a.backend.cachedOpenConnectMu.Unlock()
|
a.backend.cachedGPSamlMu.Unlock()
|
||||||
|
|
||||||
log.Infof("[SecretAgent] Using cached OpenConnect authentication for %s", connUuid)
|
log.Infof("[SecretAgent] Using cached GlobalProtect SAML cookie for %s", connUuid)
|
||||||
|
|
||||||
return buildOpenConnectSecretsResponse(settingName, cachedOpenConnect.Cookie, cachedOpenConnect.Host, cachedOpenConnect.Fingerprint), nil
|
return buildGPSamlSecretsResponse(settingName, cachedGPSaml.Cookie, cachedGPSaml.Host, cachedGPSaml.Fingerprint), nil
|
||||||
}
|
}
|
||||||
a.backend.cachedOpenConnectMu.Unlock()
|
a.backend.cachedGPSamlMu.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.cachedOpenConnectMu.Lock()
|
a.backend.cachedGPSamlMu.Lock()
|
||||||
a.backend.cachedOpenConnectAuth = &cachedOpenConnectAuth{
|
a.backend.cachedGPSamlCookie = &cachedGPSamlCookie{
|
||||||
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.cachedOpenConnectMu.Unlock()
|
a.backend.cachedGPSamlMu.Unlock()
|
||||||
|
|
||||||
return buildOpenConnectSecretsResponse(settingName, authResult.Cookie, authResult.Host, authResult.Fingerprint), nil
|
return buildGPSamlSecretsResponse(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 buildOpenConnectSecretsResponse(settingName, cookie, host, fingerprint string) nmSettingMap {
|
func buildGPSamlSecretsResponse(settingName, cookie, host, fingerprint string) nmSettingMap {
|
||||||
out := nmSettingMap{}
|
out := nmSettingMap{}
|
||||||
vpnSec := nmVariantMap{}
|
vpnSec := nmVariantMap{}
|
||||||
|
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ func TestNeedsExternalBrowserAuth(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBuildOpenConnectSecretsResponse(t *testing.T) {
|
func TestBuildGPSamlSecretsResponse(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
settingName string
|
settingName string
|
||||||
@@ -155,7 +155,7 @@ func TestBuildOpenConnectSecretsResponse(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 := buildOpenConnectSecretsResponse(tt.settingName, tt.cookie, tt.host, tt.fingerprint)
|
result := buildGPSamlSecretsResponse(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
|
||||||
cachedOpenConnectAuth *cachedOpenConnectAuth
|
cachedGPSamlCookie *cachedGPSamlCookie
|
||||||
cachedOpenConnectMu sync.Mutex
|
cachedGPSamlMu sync.Mutex
|
||||||
cachedWiFiSecret *cachedWiFiSecret
|
cachedWiFiSecret *cachedWiFiSecret
|
||||||
cachedWiFiSecretMu sync.Mutex
|
cachedWiFiSecretMu sync.Mutex
|
||||||
|
|
||||||
onStateChange func()
|
onStateChange func()
|
||||||
}
|
}
|
||||||
@@ -100,9 +100,8 @@ 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
|
||||||
PersistentSecrets map[string]string
|
SavePassword bool
|
||||||
SavePassword bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type cachedVPNCredentials struct {
|
type cachedVPNCredentials struct {
|
||||||
@@ -125,7 +124,7 @@ type cachedWiFiSecret struct {
|
|||||||
Secrets map[string]string
|
Secrets map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
type cachedOpenConnectAuth struct {
|
type cachedGPSamlCookie struct {
|
||||||
ConnectionUUID string
|
ConnectionUUID string
|
||||||
Cookie string
|
Cookie string
|
||||||
Host string
|
Host string
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package network
|
|||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -11,29 +10,16 @@ import (
|
|||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
type openConnectAuthResult struct {
|
type gpSamlAuthResult 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) (*openConnectAuthResult, error) {
|
func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, gateway, protocol string) (*gpSamlAuthResult, 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")
|
||||||
}
|
}
|
||||||
@@ -77,7 +63,7 @@ func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, ga
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
result := &openConnectAuthResult{Host: gateway}
|
result := &gpSamlAuthResult{Host: gateway}
|
||||||
var allOutput []string
|
var allOutput []string
|
||||||
|
|
||||||
scanner := bufio.NewScanner(stdout)
|
scanner := bufio.NewScanner(stdout)
|
||||||
@@ -131,8 +117,13 @@ func (b *NetworkManagerBackend) runGlobalProtectSAMLAuth(ctx context.Context, ga
|
|||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func convertGPPreloginCookie(ctx context.Context, gateway, preloginCookie, user string) (*openConnectAuthResult, error) {
|
func convertGPPreloginCookie(ctx context.Context, gateway, preloginCookie, user string) (*gpSamlAuthResult, error) {
|
||||||
return runOpenConnectAuthenticate(ctx, []string{
|
ocPath, err := exec.LookPath("openconnect")
|
||||||
|
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,
|
||||||
@@ -140,83 +131,18 @@ 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(secret + "\n")
|
cmd.Stdin = strings.NewReader(preloginCookie)
|
||||||
|
|
||||||
output, err := cmd.CombinedOutput()
|
output, err := cmd.CombinedOutput()
|
||||||
result := parseOpenConnectAuthenticateOutput(string(output))
|
|
||||||
serverCert := suggestedOpenConnectServerCert(string(output))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if ctx.Err() != nil {
|
return nil, fmt.Errorf("openconnect --authenticate failed: %w\noutput: %s", err, string(output))
|
||||||
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,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Infof("[OpenConnect] Authentication successful: cookie_len=%d, host=%s, has_fingerprint=%v",
|
result := &gpSamlAuthResult{}
|
||||||
len(result.Cookie), result.Host, result.Fingerprint != "")
|
for _, line := range strings.Split(string(output), "\n") {
|
||||||
|
|
||||||
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="):
|
||||||
@@ -232,7 +158,15 @@ func parseOpenConnectAuthenticateOutput(output string) *openConnectAuthResult {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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 {
|
||||||
@@ -245,7 +179,7 @@ func unshellQuote(s string) string {
|
|||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseGPSamlFromCommandLine(line string, result *openConnectAuthResult) {
|
func parseGPSamlFromCommandLine(line string, result *gpSamlAuthResult) {
|
||||||
if !strings.Contains(line, "openconnect") {
|
if !strings.Contains(line, "openconnect") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
package network
|
package network
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"errors"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@@ -75,7 +71,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
|
|||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
line string
|
line string
|
||||||
initialResult *openConnectAuthResult
|
initialResult *gpSamlAuthResult
|
||||||
expectedCookie string
|
expectedCookie string
|
||||||
expectedUser string
|
expectedUser string
|
||||||
expectedFP string
|
expectedFP string
|
||||||
@@ -83,7 +79,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: &openConnectAuthResult{},
|
initialResult: &gpSamlAuthResult{},
|
||||||
expectedCookie: "AUTH123",
|
expectedCookie: "AUTH123",
|
||||||
expectedUser: "john",
|
expectedUser: "john",
|
||||||
expectedFP: "pin-sha256:ABC",
|
expectedFP: "pin-sha256:ABC",
|
||||||
@@ -91,7 +87,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: &openConnectAuthResult{},
|
initialResult: &gpSamlAuthResult{},
|
||||||
expectedCookie: "authcookie=xyz123&portal=GATE",
|
expectedCookie: "authcookie=xyz123&portal=GATE",
|
||||||
expectedUser: "jane",
|
expectedUser: "jane",
|
||||||
expectedFP: "",
|
expectedFP: "",
|
||||||
@@ -99,7 +95,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "non-openconnect line",
|
name: "non-openconnect line",
|
||||||
line: "some other output",
|
line: "some other output",
|
||||||
initialResult: &openConnectAuthResult{},
|
initialResult: &gpSamlAuthResult{},
|
||||||
expectedCookie: "",
|
expectedCookie: "",
|
||||||
expectedUser: "",
|
expectedUser: "",
|
||||||
expectedFP: "",
|
expectedFP: "",
|
||||||
@@ -107,7 +103,7 @@ func TestParseGPSamlFromCommandLine(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "preserves existing values",
|
name: "preserves existing values",
|
||||||
line: "openconnect --user=newuser",
|
line: "openconnect --user=newuser",
|
||||||
initialResult: &openConnectAuthResult{Cookie: "existing", Fingerprint: "existing-fp"},
|
initialResult: &gpSamlAuthResult{Cookie: "existing", Fingerprint: "existing-fp"},
|
||||||
expectedCookie: "existing",
|
expectedCookie: "existing",
|
||||||
expectedUser: "newuser",
|
expectedUser: "newuser",
|
||||||
expectedFP: "existing-fp",
|
expectedFP: "existing-fp",
|
||||||
@@ -115,7 +111,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: &openConnectAuthResult{Cookie: "OLD"},
|
initialResult: &gpSamlAuthResult{Cookie: "OLD"},
|
||||||
expectedCookie: "OLD",
|
expectedCookie: "OLD",
|
||||||
expectedUser: "NEW",
|
expectedUser: "NEW",
|
||||||
expectedFP: "",
|
expectedFP: "",
|
||||||
@@ -123,7 +119,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: &openConnectAuthResult{},
|
initialResult: &gpSamlAuthResult{},
|
||||||
expectedCookie: "",
|
expectedCookie: "",
|
||||||
expectedUser: "john.doe@example.com",
|
expectedUser: "john.doe@example.com",
|
||||||
expectedFP: "",
|
expectedFP: "",
|
||||||
@@ -131,7 +127,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: &openConnectAuthResult{},
|
initialResult: &gpSamlAuthResult{},
|
||||||
expectedCookie: "",
|
expectedCookie: "",
|
||||||
expectedUser: "",
|
expectedUser: "",
|
||||||
expectedFP: "pin-sha256:xp3scfzy3rOgQEXnfPiYKrUk7D66a8b8O+gEXaMPleE=",
|
expectedFP: "pin-sha256:xp3scfzy3rOgQEXnfPiYKrUk7D66a8b8O+gEXaMPleE=",
|
||||||
@@ -162,7 +158,7 @@ func TestParseGPSamlFromCommandLine_MultipleLines(t *testing.T) {
|
|||||||
"",
|
"",
|
||||||
}
|
}
|
||||||
|
|
||||||
result := &openConnectAuthResult{}
|
result := &gpSamlAuthResult{}
|
||||||
for _, line := range lines {
|
for _, line := range lines {
|
||||||
parseGPSamlFromCommandLine(line, result)
|
parseGPSamlFromCommandLine(line, result)
|
||||||
}
|
}
|
||||||
@@ -171,19 +167,3 @@ 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,7 +326,6 @@ 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":
|
||||||
@@ -336,19 +335,6 @@ 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"]
|
||||||
@@ -359,7 +345,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)
|
||||||
openConnectAuth, err = b.runGlobalProtectSAMLAuth(samlCtx, gateway, protocol)
|
authResult, err := b.runGlobalProtectSAMLAuth(samlCtx, gateway, protocol)
|
||||||
samlCancel()
|
samlCancel()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errMsg := err.Error()
|
errMsg := err.Error()
|
||||||
@@ -377,6 +363,16 @@ 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 {
|
||||||
@@ -386,19 +382,6 @@ 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
|
||||||
@@ -411,13 +394,6 @@ 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 = ""
|
||||||
@@ -449,9 +425,6 @@ 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"]
|
||||||
@@ -462,200 +435,6 @@ 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")
|
||||||
|
|
||||||
@@ -979,13 +758,13 @@ func (b *NetworkManagerBackend) updateVPNConnectionState() {
|
|||||||
b.state.VPNErrorUuid = ""
|
b.state.VPNErrorUuid = ""
|
||||||
b.stateMutex.Unlock()
|
b.stateMutex.Unlock()
|
||||||
|
|
||||||
// Clear cached one-shot authentication values on success.
|
// Clear cached PKCS11 PIN and SAML cookie on success
|
||||||
b.cachedPKCS11Mu.Lock()
|
b.cachedPKCS11Mu.Lock()
|
||||||
b.cachedPKCS11PIN = nil
|
b.cachedPKCS11PIN = nil
|
||||||
b.cachedPKCS11Mu.Unlock()
|
b.cachedPKCS11Mu.Unlock()
|
||||||
b.cachedOpenConnectMu.Lock()
|
b.cachedGPSamlMu.Lock()
|
||||||
b.cachedOpenConnectAuth = nil
|
b.cachedGPSamlCookie = nil
|
||||||
b.cachedOpenConnectMu.Unlock()
|
b.cachedGPSamlMu.Unlock()
|
||||||
|
|
||||||
b.pendingVPNSaveMu.Lock()
|
b.pendingVPNSaveMu.Lock()
|
||||||
pending := b.pendingVPNSave
|
pending := b.pendingVPNSave
|
||||||
@@ -1008,16 +787,13 @@ func (b *NetworkManagerBackend) updateVPNConnectionState() {
|
|||||||
b.state.VPNErrorUuid = connectingVPNUUID
|
b.state.VPNErrorUuid = connectingVPNUUID
|
||||||
b.stateMutex.Unlock()
|
b.stateMutex.Unlock()
|
||||||
|
|
||||||
// Clear cached one-shot authentication values on failure.
|
// Clear cached PKCS11 PIN and SAML cookie on failure
|
||||||
b.cachedPKCS11Mu.Lock()
|
b.cachedPKCS11Mu.Lock()
|
||||||
b.cachedPKCS11PIN = nil
|
b.cachedPKCS11PIN = nil
|
||||||
b.cachedPKCS11Mu.Unlock()
|
b.cachedPKCS11Mu.Unlock()
|
||||||
b.cachedOpenConnectMu.Lock()
|
b.cachedGPSamlMu.Lock()
|
||||||
b.cachedOpenConnectAuth = nil
|
b.cachedGPSamlCookie = nil
|
||||||
b.cachedOpenConnectMu.Unlock()
|
b.cachedGPSamlMu.Unlock()
|
||||||
b.pendingVPNSaveMu.Lock()
|
|
||||||
b.pendingVPNSave = nil
|
|
||||||
b.pendingVPNSaveMu.Unlock()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1035,16 +811,13 @@ func (b *NetworkManagerBackend) updateVPNConnectionState() {
|
|||||||
b.state.VPNErrorUuid = connectingVPNUUID
|
b.state.VPNErrorUuid = connectingVPNUUID
|
||||||
b.stateMutex.Unlock()
|
b.stateMutex.Unlock()
|
||||||
|
|
||||||
// Clear cached one-shot authentication values.
|
// Clear cached PKCS11 PIN and SAML cookie
|
||||||
b.cachedPKCS11Mu.Lock()
|
b.cachedPKCS11Mu.Lock()
|
||||||
b.cachedPKCS11PIN = nil
|
b.cachedPKCS11PIN = nil
|
||||||
b.cachedPKCS11Mu.Unlock()
|
b.cachedPKCS11Mu.Unlock()
|
||||||
b.cachedOpenConnectMu.Lock()
|
b.cachedGPSamlMu.Lock()
|
||||||
b.cachedOpenConnectAuth = nil
|
b.cachedGPSamlCookie = nil
|
||||||
b.cachedOpenConnectMu.Unlock()
|
b.cachedGPSamlMu.Unlock()
|
||||||
b.pendingVPNSaveMu.Lock()
|
|
||||||
b.pendingVPNSave = nil
|
|
||||||
b.pendingVPNSaveMu.Unlock()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1090,40 +863,17 @@ func (b *NetworkManagerBackend) saveVPNCredentials(creds *pendingVPNCredentials)
|
|||||||
log.Infof("[saveVPNCredentials] Saving username")
|
log.Infof("[saveVPNCredentials] Saving username")
|
||||||
}
|
}
|
||||||
|
|
||||||
secs := map[string]string{}
|
// Save secrets if requested
|
||||||
if len(creds.PersistentSecrets) > 0 {
|
|
||||||
var stored map[string]map[string]dbus.Variant
|
|
||||||
if err := connObj.Call("org.freedesktop.NetworkManager.Settings.Connection.GetSecrets", 0, "vpn").Store(&stored); err != nil {
|
|
||||||
log.Warnf("[saveVPNCredentials] GetSecrets failed: %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if creds.SavePassword {
|
if creds.SavePassword {
|
||||||
toSave := creds.Secrets
|
secs := creds.Secrets
|
||||||
if len(toSave) == 0 {
|
if len(secs) == 0 {
|
||||||
toSave = map[string]string{"password": creds.Password}
|
secs = map[string]string{"password": creds.Password}
|
||||||
}
|
}
|
||||||
for field, value := range toSave {
|
for field := range secs {
|
||||||
secs[field] = value
|
|
||||||
data[field+"-flags"] = "0"
|
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)", len(secs))
|
log.Infof("[saveVPNCredentials] Saving %d secret field(s) with flags=0", len(secs))
|
||||||
}
|
}
|
||||||
|
|
||||||
vpn["data"] = dbus.MakeVariant(data)
|
vpn["data"] = dbus.MakeVariant(data)
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
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"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -140,137 +136,3 @@ 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)
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -43,8 +43,6 @@ 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":
|
||||||
@@ -367,22 +365,6 @@ 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 {
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
||||||
@@ -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.HasPrefix(clean, textQRCodeTmpPrefix)) && strings.HasSuffix(clean, ".png")
|
return strings.HasPrefix(clean, qrCodeTmpPrefix) && strings.HasSuffix(clean, ".png")
|
||||||
}
|
}
|
||||||
|
|
||||||
var safePathChar = regexp.MustCompile(`[^a-zA-Z0-9_-]`)
|
var safePathChar = regexp.MustCompile(`[^a-zA-Z0-9_-]`)
|
||||||
|
|||||||
+1
-1
Submodule dank-qml-common updated: 3b06bd9372...7cc4564e59
Generated
+3
-3
@@ -3,11 +3,11 @@
|
|||||||
"dank-qml-common": {
|
"dank-qml-common": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785445867,
|
"lastModified": 1785121997,
|
||||||
"narHash": "sha256-l9IRsLIVZ7bV+KMuTdCga89tGt4lpdMXhQR7f/2qoe4=",
|
"narHash": "sha256-/MslqFCpjxws8DZqipEKCCTBa0m/SCV3+v1NRT6EuvQ=",
|
||||||
"owner": "AvengeMedia",
|
"owner": "AvengeMedia",
|
||||||
"repo": "dank-qml-common",
|
"repo": "dank-qml-common",
|
||||||
"rev": "3b06bd9372e18bc8086cc3958d4f677d57fbfdd8",
|
"rev": "7cc4564e5903a2955fe7da76969f20252cacf9bf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -111,7 +111,7 @@
|
|||||||
inherit version;
|
inherit version;
|
||||||
pname = "dms-shell";
|
pname = "dms-shell";
|
||||||
src = ./core;
|
src = ./core;
|
||||||
vendorHash = "sha256-pjaRyB6E2TZvVd5a4xcdGSRVr9Dg9wEG/5e+HdtZJCg=";
|
vendorHash = "sha256-ZvaOPC92ZFRPqSyLJa2TA9OUKQ3QnWCIMxrnYLGnC58=";
|
||||||
|
|
||||||
subPackages = [ "cmd/dms" ];
|
subPackages = [ "cmd/dms" ];
|
||||||
|
|
||||||
|
|||||||
+2
-17
@@ -31,6 +31,8 @@ Item {
|
|||||||
id: root
|
id: root
|
||||||
readonly property var log: Log.scoped("DMSShell")
|
readonly property var log: Log.scoped("DMSShell")
|
||||||
readonly property var _sessionsServiceRef: SessionsService
|
readonly property var _sessionsServiceRef: SessionsService
|
||||||
|
// Keep the optional integration service alive
|
||||||
|
readonly property var _dankConnectServiceRef: DankConnectService
|
||||||
|
|
||||||
property var core: null
|
property var core: null
|
||||||
|
|
||||||
@@ -445,23 +447,6 @@ 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
|
||||||
|
|||||||
+19
-17
@@ -25,30 +25,32 @@ 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 bars = [];
|
const loaders = Array.from({
|
||||||
if (root.dankBarRepeater) {
|
length: root.dankBarRepeater.count
|
||||||
for (let i = 0; i < root.dankBarRepeater.count; i++)
|
}, (_, i) => root.dankBarRepeater.itemAt(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;
|
|
||||||
|
|
||||||
const onFocusedScreen = focusedScreenName && bar.modelData?.name === focusedScreenName;
|
for (const loader of loaders) {
|
||||||
const hasRef = !refPropertyName || !!bar[refPropertyName];
|
const instances = loader?.item?.barVariants?.instances || [];
|
||||||
|
for (const bar of instances) {
|
||||||
|
if (!bar)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (hasRef) {
|
const onFocusedScreen = focusedScreenName && bar.modelData?.name === focusedScreenName;
|
||||||
currentBar = bar;
|
const hasRef = !refPropertyName || !!bar[refPropertyName];
|
||||||
|
|
||||||
if (onFocusedScreen)
|
if (hasRef) {
|
||||||
break;
|
currentBar = bar;
|
||||||
|
|
||||||
|
if (onFocusedScreen)
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,285 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -31,7 +31,6 @@ 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
|
||||||
@@ -41,21 +40,17 @@ 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 && !isCertificatePrompt
|
readonly property bool showPasswordField: fieldsInfo.length === 0
|
||||||
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" && !isCertificatePrompt
|
readonly property bool showSavePasswordCheckbox: (isVpnPrompt || fieldsInfo.length > 0) && promptReason !== "pkcs11"
|
||||||
|
|
||||||
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;
|
||||||
@@ -72,16 +67,10 @@ 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);
|
||||||
@@ -112,7 +101,6 @@ DankModal {
|
|||||||
promptToken = "";
|
promptToken = "";
|
||||||
promptReason = "";
|
promptReason = "";
|
||||||
promptFields = [];
|
promptFields = [];
|
||||||
promptHints = [];
|
|
||||||
promptSetting = "";
|
promptSetting = "";
|
||||||
isVpnPrompt = false;
|
isVpnPrompt = false;
|
||||||
connectionName = "";
|
connectionName = "";
|
||||||
@@ -139,7 +127,6 @@ DankModal {
|
|||||||
promptToken = "";
|
promptToken = "";
|
||||||
promptReason = "";
|
promptReason = "";
|
||||||
promptFields = [];
|
promptFields = [];
|
||||||
promptHints = [];
|
|
||||||
promptSetting = "";
|
promptSetting = "";
|
||||||
isVpnPrompt = false;
|
isVpnPrompt = false;
|
||||||
connectionName = "";
|
connectionName = "";
|
||||||
@@ -158,7 +145,6 @@ 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 || "";
|
||||||
@@ -338,8 +324,6 @@ 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)
|
||||||
@@ -359,8 +343,6 @@ 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)
|
||||||
@@ -401,45 +383,6 @@ 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
|
||||||
@@ -747,15 +690,10 @@ 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++) {
|
||||||
@@ -767,8 +705,6 @@ 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)
|
||||||
@@ -780,7 +716,7 @@ DankModal {
|
|||||||
StyledText {
|
StyledText {
|
||||||
id: connectText
|
id: connectText
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
text: isCertificatePrompt ? I18n.tr("Trust", "Button that approves a VPN server certificate fingerprint") : I18n.tr("Connect")
|
text: 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
|
||||||
@@ -795,22 +731,6 @@ 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
|
||||||
|
|||||||
@@ -469,8 +469,6 @@ PluginComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: peerMouseArea
|
|
||||||
|
|
||||||
z: -1
|
z: -1
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
hoverEnabled: true
|
hoverEnabled: true
|
||||||
|
|||||||
@@ -41,11 +41,7 @@ Rectangle {
|
|||||||
property bool hasWifiAvailable: (NetworkService.wifiDevices?.length ?? 0) > 0
|
property bool hasWifiAvailable: (NetworkService.wifiDevices?.length ?? 0) > 0
|
||||||
property bool hasBothConnectionTypes: hasEthernetAvailable && hasWifiAvailable
|
property bool hasBothConnectionTypes: hasEthernetAvailable && hasWifiAvailable
|
||||||
property int maxPinnedNetworks: 3
|
property int maxPinnedNetworks: 3
|
||||||
// Hosting on the only wifi adapter with no ethernet uplink just drops connectivity,
|
readonly property int hotspotContentHeight: currentPreferenceIndex === 1 && NetworkService.hotspotAvailable ? 56 + Theme.spacingS : 0
|
||||||
// so the hotspot row only shows where sharing can actually work (or is already on).
|
|
||||||
readonly property bool hotspotRelevant: NetworkService.hotspotEnabled || NetworkService.hotspotActivating || NetworkService.hotspotBusy || NetworkService.ethernetConnected || (NetworkService.wifiDevices?.length ?? 0) > 1
|
|
||||||
readonly property bool showHotspotRow: currentPreferenceIndex === 1 && NetworkService.hotspotAvailable && hotspotRelevant
|
|
||||||
readonly property int hotspotContentHeight: showHotspotRow ? 56 + Theme.spacingS : 0
|
|
||||||
|
|
||||||
property var hotspotStartConfirm: ConfirmModal {}
|
property var hotspotStartConfirm: ConfirmModal {}
|
||||||
|
|
||||||
@@ -188,7 +184,7 @@ Rectangle {
|
|||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.margins: Theme.spacingM
|
anchors.margins: Theme.spacingM
|
||||||
anchors.topMargin: Theme.spacingM
|
anchors.topMargin: Theme.spacingM
|
||||||
visible: root.showHotspotRow
|
visible: currentPreferenceIndex === 1 && NetworkService.hotspotAvailable
|
||||||
height: visible ? 56 : 0
|
height: visible ? 56 : 0
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
|||||||
@@ -0,0 +1,209 @@
|
|||||||
|
pragma ComponentBehavior: Bound
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
import qs.Common
|
||||||
|
import qs.Services
|
||||||
|
import qs.Widgets
|
||||||
|
|
||||||
|
Card {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
LayoutMirroring.enabled: I18n.isRtl
|
||||||
|
LayoutMirroring.childrenInherit: true
|
||||||
|
|
||||||
|
readonly property var device: DankConnectService.primaryDevice
|
||||||
|
readonly property var pairingRequest: DankConnectService.pairingRequest
|
||||||
|
readonly property bool hasBattery: !!device && typeof device.batteryCharge === "number" && device.batteryCharge >= 0
|
||||||
|
|
||||||
|
function statusText() {
|
||||||
|
if (!DankConnectService.connected)
|
||||||
|
return I18n.tr("Disconnected");
|
||||||
|
if (!device)
|
||||||
|
return I18n.tr("No devices");
|
||||||
|
const connection = device.isReachable ? I18n.tr("Connected") : I18n.tr("Disconnected");
|
||||||
|
const pairing = device.isPaired ? I18n.tr("Paired") : I18n.tr("Not paired");
|
||||||
|
return connection + " • " + pairing;
|
||||||
|
}
|
||||||
|
|
||||||
|
function batteryText() {
|
||||||
|
if (!hasBattery)
|
||||||
|
return "";
|
||||||
|
const charge = Math.round(device.batteryCharge) + "%";
|
||||||
|
return device.batteryCharging ? charge + " • " + I18n.tr("Charging") : charge;
|
||||||
|
}
|
||||||
|
|
||||||
|
function reportError(title, response) {
|
||||||
|
if (response?.error)
|
||||||
|
ToastService.showError(title, response.error);
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: contentRow
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
spacing: Theme.spacingL
|
||||||
|
|
||||||
|
Item {
|
||||||
|
width: Math.max(180, contentRow.width - actionRow.width - trailingPanel.width - contentRow.spacing * 2)
|
||||||
|
height: parent.height
|
||||||
|
|
||||||
|
Row {
|
||||||
|
anchors.fill: parent
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
DankIcon {
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
name: "smartphone"
|
||||||
|
size: 36
|
||||||
|
color: root.device?.isReachable ? Theme.primary : Theme.surfaceTextSecondary
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: parent.width - 36 - parent.spacing
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: root.device?.name || "DankConnect"
|
||||||
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
elide: Text.ElideRight
|
||||||
|
maximumLineCount: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: root.statusText()
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceTextMedium
|
||||||
|
elide: Text.ElideRight
|
||||||
|
maximumLineCount: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
visible: root.hasBattery
|
||||||
|
text: root.batteryText()
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceTextMedium
|
||||||
|
elide: Text.ElideRight
|
||||||
|
maximumLineCount: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: actionRow
|
||||||
|
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: implicitWidth
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
|
||||||
|
DankActionButton {
|
||||||
|
buttonSize: 34
|
||||||
|
iconSize: 17
|
||||||
|
iconName: "ring_volume"
|
||||||
|
iconColor: Theme.primary
|
||||||
|
tooltipText: I18n.tr("Ring")
|
||||||
|
enabled: DankConnectService.canRing(root.device)
|
||||||
|
onClicked: DankConnectService.ringDevice(root.device.id, response => root.reportError(I18n.tr("Ring"), response))
|
||||||
|
}
|
||||||
|
|
||||||
|
DankActionButton {
|
||||||
|
buttonSize: 34
|
||||||
|
iconSize: 17
|
||||||
|
iconName: "network_ping"
|
||||||
|
iconColor: Theme.primary
|
||||||
|
tooltipText: I18n.tr("Ping")
|
||||||
|
enabled: DankConnectService.canPing(root.device)
|
||||||
|
onClicked: DankConnectService.pingDevice(root.device.id, response => root.reportError(I18n.tr("Ping"), response))
|
||||||
|
}
|
||||||
|
|
||||||
|
DankActionButton {
|
||||||
|
buttonSize: 34
|
||||||
|
iconSize: 17
|
||||||
|
iconName: "content_paste_go"
|
||||||
|
iconColor: Theme.primary
|
||||||
|
tooltipText: I18n.tr("Send Clipboard")
|
||||||
|
enabled: DankConnectService.canSendClipboard(root.device)
|
||||||
|
onClicked: DankConnectService.sendClipboard(root.device.id, response => root.reportError(I18n.tr("Send Clipboard"), response))
|
||||||
|
}
|
||||||
|
|
||||||
|
DankActionButton {
|
||||||
|
buttonSize: 34
|
||||||
|
iconSize: 17
|
||||||
|
iconName: "open_in_new"
|
||||||
|
iconColor: Theme.primary
|
||||||
|
tooltipText: I18n.tr("Open App")
|
||||||
|
onClicked: DankConnectService.openApp()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: trailingPanel
|
||||||
|
|
||||||
|
width: root.pairingRequest ? 270 : 52
|
||||||
|
height: parent.height
|
||||||
|
|
||||||
|
DankIcon {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
visible: !root.pairingRequest && root.hasBattery
|
||||||
|
name: root.hasBattery ? Theme.getBatteryIcon(root.device.batteryCharge, root.device.batteryCharging, true) : "battery_std"
|
||||||
|
size: 28
|
||||||
|
color: Theme.primary
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingXS
|
||||||
|
visible: root.pairingRequest !== null
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: I18n.tr("Pairing request from %1").arg(root.pairingRequest?.name || I18n.tr("Device"))
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
elide: Text.ElideRight
|
||||||
|
maximumLineCount: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: root.pairingRequest?.verificationKey || I18n.tr("Unknown")
|
||||||
|
font.pixelSize: Theme.fontSizeMedium
|
||||||
|
font.weight: Font.Bold
|
||||||
|
color: Theme.primary
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
elide: Text.ElideRight
|
||||||
|
maximumLineCount: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
spacing: Theme.spacingS
|
||||||
|
|
||||||
|
DankButton {
|
||||||
|
text: I18n.tr("Reject")
|
||||||
|
buttonHeight: 30
|
||||||
|
horizontalPadding: Theme.spacingM
|
||||||
|
onClicked: DankConnectService.rejectPairing(root.pairingRequest.deviceId, response => root.reportError(I18n.tr("Failed to reject pairing"), response))
|
||||||
|
}
|
||||||
|
|
||||||
|
DankButton {
|
||||||
|
text: I18n.tr("Accept")
|
||||||
|
buttonHeight: 30
|
||||||
|
horizontalPadding: Theme.spacingM
|
||||||
|
backgroundColor: Theme.primary
|
||||||
|
textColor: Theme.primaryText
|
||||||
|
onClicked: DankConnectService.acceptPairing(root.pairingRequest.deviceId, response => root.reportError(I18n.tr("Failed to accept pairing"), response))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,8 +9,11 @@ Item {
|
|||||||
LayoutMirroring.enabled: I18n.isRtl
|
LayoutMirroring.enabled: I18n.isRtl
|
||||||
LayoutMirroring.childrenInherit: true
|
LayoutMirroring.childrenInherit: true
|
||||||
|
|
||||||
|
readonly property int overviewGridHeight: 410
|
||||||
|
readonly property int dankConnectCardHeight: 124
|
||||||
|
|
||||||
implicitWidth: SettingsData.showWeekNumber ? 736 : 700
|
implicitWidth: SettingsData.showWeekNumber ? 736 : 700
|
||||||
implicitHeight: 410
|
implicitHeight: overviewGridHeight + Theme.spacingM + dankConnectCardHeight
|
||||||
|
|
||||||
signal switchToWeatherTab
|
signal switchToWeatherTab
|
||||||
signal switchToMediaTab
|
signal switchToMediaTab
|
||||||
@@ -89,5 +92,12 @@ Item {
|
|||||||
|
|
||||||
onClicked: root.switchToMediaTab()
|
onClicked: root.switchToMediaTab()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DankConnectOverviewCard {
|
||||||
|
x: 0
|
||||||
|
y: root.overviewGridHeight + Theme.spacingM
|
||||||
|
width: parent.width
|
||||||
|
height: root.dankConnectCardHeight
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,17 +66,9 @@ 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 && !freshGreeterLogin())
|
if (SettingsData.lockAtStartup)
|
||||||
lock();
|
lock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -932,9 +932,7 @@ Item {
|
|||||||
pam.passwd.start();
|
pam.passwd.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Keys.onPressed: event => handleKey(event)
|
Keys.onPressed: event => {
|
||||||
|
|
||||||
function handleKey(event) {
|
|
||||||
if (demoMode) {
|
if (demoMode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1044,36 +1042,6 @@ 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,28 +29,6 @@ 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
|
||||||
@@ -295,7 +273,13 @@ Item {
|
|||||||
PanelWindow {
|
PanelWindow {
|
||||||
id: widgetWindow
|
id: widgetWindow
|
||||||
screen: root.screen
|
screen: root.screen
|
||||||
visible: root.contentShowing || root.surfaceLingering
|
visible: {
|
||||||
|
if (!root.widgetEnabled || root.activeComponent === null)
|
||||||
|
return false;
|
||||||
|
if (root.showOnOverviewOnly)
|
||||||
|
return root.overviewActive;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
Region {
|
Region {
|
||||||
@@ -374,7 +358,6 @@ 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
|
||||||
|
|
||||||
|
|||||||
@@ -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("Compositor actions (focus, move, etc.)", "keybind action type tooltip"),
|
"compositor": I18n.tr("Niri compositor actions (focus, move, etc.)"),
|
||||||
"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)")
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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", "dms_qr_generator"]
|
model: ["dms_settings", "dms_notepad", "dms_sysmon", "dms_settings_search", "dms_clipboard_search", "dms_colorpicker"]
|
||||||
|
|
||||||
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", I18n.tr("Requires the DMS Theme extension from the editor marketplace", "vscode matugen template description"))
|
description: getTemplateDescription("vscode", "")
|
||||||
descriptionColor: getTemplateDescriptionColor("vscode")
|
descriptionColor: getTemplateDescriptionColor("vscode")
|
||||||
visible: SettingsData.runDmsMatugenTemplates
|
visible: SettingsData.runDmsMatugenTemplates
|
||||||
checked: SettingsData.matugenTemplateVscode
|
checked: SettingsData.matugenTemplateVscode
|
||||||
|
|||||||
@@ -210,19 +210,6 @@ 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"),
|
||||||
@@ -257,7 +244,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 && !plugin.action)
|
if (plugin.isLauncher)
|
||||||
continue;
|
continue;
|
||||||
apps.push({
|
apps.push({
|
||||||
name: plugin.name,
|
name: plugin.name,
|
||||||
@@ -322,20 +309,6 @@ 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 [];
|
||||||
|
|
||||||
@@ -367,20 +340,14 @@ Singleton {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
const parts = item.action.split(":");
|
const parts = item.action.split(":");
|
||||||
switch (parts[0]) {
|
if (parts[0] !== "settings_nav")
|
||||||
case "settings_nav":
|
return false;
|
||||||
{
|
|
||||||
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) {
|
||||||
@@ -411,9 +378,6 @@ 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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -793,13 +793,6 @@ Singleton {
|
|||||||
autoRefreshEnabled = false;
|
autoRefreshEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Timer {
|
|
||||||
interval: 10000
|
|
||||||
repeat: true
|
|
||||||
running: root.autoScan && root.networkAvailable && root.wifiEnabled
|
|
||||||
onTriggered: root.scanWifi()
|
|
||||||
}
|
|
||||||
|
|
||||||
function fetchWiredNetworkInfo(uuid) {
|
function fetchWiredNetworkInfo(uuid) {
|
||||||
if (!networkAvailable)
|
if (!networkAvailable)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -0,0 +1,284 @@
|
|||||||
|
pragma ComponentBehavior: Bound
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Io
|
||||||
|
import qs.Common
|
||||||
|
|
||||||
|
// Canonical DankConnect IPC client. Targets daemon apiVersion 1.
|
||||||
|
Item {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
// dankgo omits zero-valued response IDs, so the subscription handshake
|
||||||
|
// must use a non-zero ID that can be matched in the response.
|
||||||
|
readonly property int subscriptionRequestId: 1
|
||||||
|
|
||||||
|
property string socketPath: {
|
||||||
|
const override = Quickshell.env("DANKCONNECT_SOCKET");
|
||||||
|
if (override && override.length > 0)
|
||||||
|
return override;
|
||||||
|
const runtimeDir = Quickshell.env("XDG_RUNTIME_DIR");
|
||||||
|
return runtimeDir ? runtimeDir + "/dankconnect.sock" : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
readonly property bool connected: requestSocket.linkUp && ready
|
||||||
|
property bool ready: false
|
||||||
|
property bool initialized: false
|
||||||
|
property bool subscribed: false
|
||||||
|
property int apiVersion: 0
|
||||||
|
property var capabilities: []
|
||||||
|
property var subscribedTopics: []
|
||||||
|
property var devices: []
|
||||||
|
property var devicesById: ({})
|
||||||
|
property string lastError: ""
|
||||||
|
property bool launchPending: false
|
||||||
|
|
||||||
|
property int _requestId: 0
|
||||||
|
property var _pendingRequests: ({})
|
||||||
|
|
||||||
|
signal eventReceived(string topic, var data)
|
||||||
|
|
||||||
|
function _nextId() {
|
||||||
|
_requestId = _requestId >= 2147483647 ? 1 : _requestId + 1;
|
||||||
|
return _requestId;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _parse(line) {
|
||||||
|
if (!line || line.length === 0)
|
||||||
|
return null;
|
||||||
|
try {
|
||||||
|
return JSON.parse(line);
|
||||||
|
} catch (error) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _isHello(message) {
|
||||||
|
return message && message.id === undefined && message.apiVersion !== undefined && Array.isArray(message.capabilities);
|
||||||
|
}
|
||||||
|
|
||||||
|
function _acceptHello(message) {
|
||||||
|
apiVersion = Number(message.apiVersion) || 0;
|
||||||
|
capabilities = message.capabilities.slice();
|
||||||
|
ready = apiVersion === 1;
|
||||||
|
if (!ready) {
|
||||||
|
lastError = "Unsupported DankConnect API version " + apiVersion;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lastError = "";
|
||||||
|
launchDelayTimer.stop();
|
||||||
|
launchPending = false;
|
||||||
|
refreshDevices();
|
||||||
|
}
|
||||||
|
|
||||||
|
function _flushPending(message) {
|
||||||
|
const callbacks = _pendingRequests;
|
||||||
|
_pendingRequests = {};
|
||||||
|
for (const id in callbacks) {
|
||||||
|
const callback = callbacks[id];
|
||||||
|
if (!callback)
|
||||||
|
continue;
|
||||||
|
callback({
|
||||||
|
"id": Number(id),
|
||||||
|
"error": message
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _applyDevices(snapshots) {
|
||||||
|
const nextDevices = [];
|
||||||
|
const nextById = {};
|
||||||
|
for (const device of (snapshots || [])) {
|
||||||
|
if (!device?.id)
|
||||||
|
continue;
|
||||||
|
nextDevices.push(device);
|
||||||
|
nextById[device.id] = device;
|
||||||
|
}
|
||||||
|
devicesById = nextById;
|
||||||
|
devices = nextDevices;
|
||||||
|
initialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _resolveDevice(deviceOrId) {
|
||||||
|
if (typeof deviceOrId === "string")
|
||||||
|
return devicesById[deviceOrId] || null;
|
||||||
|
return deviceOrId || null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDevice(deviceId) {
|
||||||
|
return devicesById[deviceId] || null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// supportedPlugins is the peer's incoming view: actions this client sends.
|
||||||
|
function supports(deviceOrId, packetType) {
|
||||||
|
const device = _resolveDevice(deviceOrId);
|
||||||
|
return !!device && (device.supportedPlugins || []).includes(packetType);
|
||||||
|
}
|
||||||
|
|
||||||
|
// outgoingCapabilities is the peer's producing view: data this client consumes.
|
||||||
|
function produces(deviceOrId, packetType) {
|
||||||
|
const device = _resolveDevice(deviceOrId);
|
||||||
|
return !!device && (device.outgoingCapabilities || []).includes(packetType);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hasCapability(family) {
|
||||||
|
return capabilities.includes(family);
|
||||||
|
}
|
||||||
|
|
||||||
|
function request(method, params, callback) {
|
||||||
|
if (!connected) {
|
||||||
|
callback?.({
|
||||||
|
"error": "daemon not connected"
|
||||||
|
});
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
const family = method.split(".")[0];
|
||||||
|
if (!hasCapability(family)) {
|
||||||
|
callback?.({
|
||||||
|
"error": "daemon does not support " + family
|
||||||
|
});
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const id = _nextId();
|
||||||
|
const message = {
|
||||||
|
"id": id,
|
||||||
|
"method": method,
|
||||||
|
"params": params || {}
|
||||||
|
};
|
||||||
|
if (callback)
|
||||||
|
_pendingRequests[id] = callback;
|
||||||
|
requestSocket.send(message);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
function refreshDevices(callback) {
|
||||||
|
return request("device.list", {}, response => {
|
||||||
|
if (!response.error)
|
||||||
|
_applyDevices(response.result || []);
|
||||||
|
callback?.(response);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function launch() {
|
||||||
|
if (connected || requestSocket.linkUp || launchPending)
|
||||||
|
return;
|
||||||
|
launchPending = true;
|
||||||
|
launchDelayTimer.restart();
|
||||||
|
}
|
||||||
|
|
||||||
|
function _handleRequestLine(line) {
|
||||||
|
const message = _parse(line);
|
||||||
|
if (!message)
|
||||||
|
return;
|
||||||
|
if (_isHello(message)) {
|
||||||
|
_acceptHello(message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (message.id === undefined)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const callback = _pendingRequests[message.id];
|
||||||
|
if (!callback)
|
||||||
|
return;
|
||||||
|
delete _pendingRequests[message.id];
|
||||||
|
callback(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
function _handleSubscriptionLine(line) {
|
||||||
|
const message = _parse(line);
|
||||||
|
if (!message)
|
||||||
|
return;
|
||||||
|
if (_isHello(message)) {
|
||||||
|
if (Number(message.apiVersion) !== 1) {
|
||||||
|
lastError = "Unsupported DankConnect subscription API version " + message.apiVersion;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
subscriptionSocket.send({
|
||||||
|
"id": root.subscriptionRequestId,
|
||||||
|
"method": "subscribe",
|
||||||
|
"params": {}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (message.id === root.subscriptionRequestId) {
|
||||||
|
subscribed = !message.error;
|
||||||
|
subscribedTopics = message.result?.topics || [];
|
||||||
|
if (message.error)
|
||||||
|
lastError = message.error;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const topic = message.event || message.topic || "";
|
||||||
|
if (!topic)
|
||||||
|
return;
|
||||||
|
if (topic === "devices")
|
||||||
|
_applyDevices(message.data || []);
|
||||||
|
eventReceived(topic, message.data);
|
||||||
|
}
|
||||||
|
|
||||||
|
DankSocket {
|
||||||
|
id: requestSocket
|
||||||
|
|
||||||
|
path: root.socketPath
|
||||||
|
connected: root.enabled && root.socketPath.length > 0
|
||||||
|
reconnectBaseMs: 3000
|
||||||
|
reconnectMaxMs: 3000
|
||||||
|
|
||||||
|
onConnectionStateChanged: {
|
||||||
|
if (linkUp)
|
||||||
|
return;
|
||||||
|
root.ready = false;
|
||||||
|
root.initialized = false;
|
||||||
|
root.subscribed = false;
|
||||||
|
root.subscribedTopics = [];
|
||||||
|
root.apiVersion = 0;
|
||||||
|
root.capabilities = [];
|
||||||
|
root._flushPending("daemon disconnected");
|
||||||
|
}
|
||||||
|
|
||||||
|
parser: SplitParser {
|
||||||
|
onRead: line => root._handleRequestLine(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DankSocket {
|
||||||
|
id: subscriptionSocket
|
||||||
|
|
||||||
|
path: root.socketPath
|
||||||
|
connected: root.enabled && root.ready
|
||||||
|
reconnectBaseMs: 3000
|
||||||
|
reconnectMaxMs: 3000
|
||||||
|
|
||||||
|
onConnectionStateChanged: {
|
||||||
|
root.subscribed = false;
|
||||||
|
root.subscribedTopics = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
parser: SplitParser {
|
||||||
|
onRead: line => root._handleSubscriptionLine(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: launchDelayTimer
|
||||||
|
|
||||||
|
interval: 1000
|
||||||
|
repeat: false
|
||||||
|
onTriggered: {
|
||||||
|
if (root.connected || requestSocket.linkUp) {
|
||||||
|
root.launchPending = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Quickshell.execDetached(["sh", "-c", "if command -v dankconnect >/dev/null 2>&1; then exec dankconnect daemon; elif command -v flatpak >/dev/null 2>&1 && flatpak info com.danklinux.dankconnect >/dev/null 2>&1; then exec flatpak run --command=dankconnect com.danklinux.dankconnect daemon; fi"]);
|
||||||
|
launchResetTimer.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: launchResetTimer
|
||||||
|
|
||||||
|
interval: 5000
|
||||||
|
repeat: false
|
||||||
|
onTriggered: root.launchPending = false
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,172 @@
|
|||||||
|
pragma Singleton
|
||||||
|
pragma ComponentBehavior: Bound
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
|
||||||
|
Singleton {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
readonly property bool connected: backend.connected && backend.subscribed
|
||||||
|
readonly property bool initialized: backend.initialized
|
||||||
|
readonly property int apiVersion: backend.apiVersion
|
||||||
|
readonly property var capabilities: backend.capabilities
|
||||||
|
readonly property var devices: backend.devices
|
||||||
|
readonly property var devicesById: backend.devicesById
|
||||||
|
readonly property string lastError: backend.lastError
|
||||||
|
readonly property var primaryDevice: _selectPrimaryDevice()
|
||||||
|
property var pairingRequest: null
|
||||||
|
property bool _openAppPending: false
|
||||||
|
|
||||||
|
Component.onCompleted: backend.launch()
|
||||||
|
|
||||||
|
onConnectedChanged: {
|
||||||
|
if (!connected) {
|
||||||
|
pairingRequest = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_openAppPending) {
|
||||||
|
_openAppPending = false;
|
||||||
|
_launchAttachedApp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _selectPrimaryDevice() {
|
||||||
|
let selected = null;
|
||||||
|
let selectedScore = -1;
|
||||||
|
for (const device of devices) {
|
||||||
|
const score = (device.isPaired ? 2 : 0) + (device.isReachable ? 1 : 0);
|
||||||
|
if (score <= selectedScore)
|
||||||
|
continue;
|
||||||
|
selected = device;
|
||||||
|
selectedScore = score;
|
||||||
|
}
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _syncPairingRequest() {
|
||||||
|
for (const device of devices) {
|
||||||
|
if (!device.isPairRequestedByPeer)
|
||||||
|
continue;
|
||||||
|
pairingRequest = {
|
||||||
|
"deviceId": device.id,
|
||||||
|
"name": device.name || "",
|
||||||
|
"verificationKey": device.verificationKey || ""
|
||||||
|
};
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (initialized)
|
||||||
|
pairingRequest = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _handleEvent(topic, data) {
|
||||||
|
if (topic !== "pairing" || !data?.deviceId)
|
||||||
|
return;
|
||||||
|
pairingRequest = {
|
||||||
|
"deviceId": data.deviceId,
|
||||||
|
"name": data.name || "",
|
||||||
|
"verificationKey": data.verificationKey || ""
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function supports(deviceOrId, packetType) {
|
||||||
|
return backend.supports(deviceOrId, packetType);
|
||||||
|
}
|
||||||
|
|
||||||
|
function canRing(deviceOrId) {
|
||||||
|
const device = typeof deviceOrId === "string" ? backend.getDevice(deviceOrId) : deviceOrId;
|
||||||
|
return connected && !!device?.isPaired && !!device?.isReachable && backend.hasCapability("device") && supports(device, "kdeconnect.findmyphone.request");
|
||||||
|
}
|
||||||
|
|
||||||
|
function canPing(deviceOrId) {
|
||||||
|
const device = typeof deviceOrId === "string" ? backend.getDevice(deviceOrId) : deviceOrId;
|
||||||
|
return connected && !!device?.isPaired && !!device?.isReachable && backend.hasCapability("ping") && supports(device, "kdeconnect.ping");
|
||||||
|
}
|
||||||
|
|
||||||
|
function canSendClipboard(deviceOrId) {
|
||||||
|
const device = typeof deviceOrId === "string" ? backend.getDevice(deviceOrId) : deviceOrId;
|
||||||
|
return connected && !!device?.isPaired && !!device?.isReachable && backend.hasCapability("clipboard") && supports(device, "kdeconnect.clipboard");
|
||||||
|
}
|
||||||
|
|
||||||
|
function ringDevice(deviceId, callback) {
|
||||||
|
if (!canRing(deviceId)) {
|
||||||
|
callback?.({
|
||||||
|
"error": "ring unavailable"
|
||||||
|
});
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return backend.request("device.ring", {
|
||||||
|
"deviceId": deviceId
|
||||||
|
}, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
function pingDevice(deviceId, callback) {
|
||||||
|
if (!canPing(deviceId)) {
|
||||||
|
callback?.({
|
||||||
|
"error": "ping unavailable"
|
||||||
|
});
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return backend.request("ping.send", {
|
||||||
|
"deviceId": deviceId
|
||||||
|
}, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
function sendClipboard(deviceId, callback) {
|
||||||
|
if (!canSendClipboard(deviceId)) {
|
||||||
|
callback?.({
|
||||||
|
"error": "clipboard unavailable"
|
||||||
|
});
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return backend.request("clipboard.send", {
|
||||||
|
"deviceId": deviceId,
|
||||||
|
"content": ""
|
||||||
|
}, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
function acceptPairing(deviceId, callback) {
|
||||||
|
return _respondToPairing("pairing.accept", deviceId, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
function rejectPairing(deviceId, callback) {
|
||||||
|
return _respondToPairing("pairing.reject", deviceId, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
function openApp() {
|
||||||
|
if (!connected) {
|
||||||
|
_openAppPending = true;
|
||||||
|
backend.launch();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_launchAttachedApp();
|
||||||
|
}
|
||||||
|
|
||||||
|
function _launchAttachedApp() {
|
||||||
|
Quickshell.execDetached(["sh", "-c", "if command -v dankconnect >/dev/null 2>&1; then exec dankconnect app; elif command -v flatpak >/dev/null 2>&1 && flatpak info com.danklinux.dankconnect >/dev/null 2>&1; then exec flatpak run --command=dankconnect com.danklinux.dankconnect app; fi"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function _respondToPairing(method, deviceId, callback) {
|
||||||
|
if (!connected || !backend.hasCapability("pairing") || !deviceId) {
|
||||||
|
callback?.({
|
||||||
|
"error": "pairing unavailable"
|
||||||
|
});
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return backend.request(method, {
|
||||||
|
"deviceId": deviceId
|
||||||
|
}, response => {
|
||||||
|
if (!response.error && pairingRequest?.deviceId === deviceId)
|
||||||
|
pairingRequest = null;
|
||||||
|
callback?.(response);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
DankConnectBackend {
|
||||||
|
id: backend
|
||||||
|
|
||||||
|
enabled: true
|
||||||
|
onDevicesChanged: root._syncPairingRequest()
|
||||||
|
onEventReceived: (topic, data) => root._handleEvent(topic, data)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -388,8 +388,6 @@ 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] = [];
|
||||||
|
|||||||
@@ -47,8 +47,6 @@ 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
|
||||||
@@ -893,13 +891,6 @@ 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;
|
||||||
|
|||||||
@@ -219,64 +219,6 @@ 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;
|
||||||
@@ -290,7 +232,8 @@ Singleton {
|
|||||||
cmd = [nvidiaCommand].concat(cmd);
|
cmd = [nvidiaCommand].concat(cmd);
|
||||||
|
|
||||||
if (override?.extraFlags) {
|
if (override?.extraFlags) {
|
||||||
cmd = cmd.concat(splitShellArgs(override.extraFlags));
|
const extraArgs = override.extraFlags.trim().split(/\s+/).filter(arg => arg.length > 0);
|
||||||
|
cmd = cmd.concat(extraArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
const userPrefix = SettingsData.launchPrefix?.trim() || "";
|
const userPrefix = SettingsData.launchPrefix?.trim() || "";
|
||||||
|
|||||||
@@ -379,9 +379,6 @@ Item {
|
|||||||
|
|
||||||
animationsEnabled = true;
|
animationsEnabled = true;
|
||||||
shouldBeVisible = true;
|
shouldBeVisible = true;
|
||||||
// Content-sized popouts lay out when contentWindow maps, while the geometry
|
|
||||||
// handlers are still gated off. Re-snapshot so the surface isn't left short.
|
|
||||||
_setSettledSurfaceGeometry();
|
|
||||||
if (screen) {
|
if (screen) {
|
||||||
PopoutManager.showPopout(popoutHandle);
|
PopoutManager.showPopout(popoutHandle);
|
||||||
opened();
|
opened();
|
||||||
|
|||||||
@@ -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_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}}
|
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}}
|
||||||
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}}
|
||||||
|
|
||||||
|
|||||||
+1204
-1583
File diff suppressed because it is too large
Load Diff
@@ -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,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "حول"
|
"About": "حول"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "لون التمييز"
|
"Accent Color": "لون التمييز"
|
||||||
},
|
},
|
||||||
@@ -381,7 +378,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": "التنشيط"
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "المحولات"
|
"Adapters": "المحولات"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": "عرض الوسائط التكيفي"
|
"Adaptive Media Width": "عرض الوسائط التكيفي"
|
||||||
},
|
},
|
||||||
@@ -429,7 +423,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.": "هل تريد إضافة \"%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 Bar": {
|
"Add Bar": {
|
||||||
"Add Bar": "إضافة شريط"
|
"Add Bar": "إضافة شريط"
|
||||||
@@ -483,7 +477,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.": "أضف المستخدم الجديد إلى المجموعة %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 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."
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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": "ضبط مستوى الصوت لكل خطوة تمرير"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -678,7 +660,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": "يُطبق عند مزامنة الgreeter التالية"
|
"Applies on the next greeter sync": ""
|
||||||
},
|
},
|
||||||
"Apply Changes": {
|
"Apply Changes": {
|
||||||
"Apply Changes": "تطبيق التغييرات"
|
"Apply Changes": "تطبيق التغييرات"
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": "تم التحقق بنجاح!"
|
"Authenticated!": "تم التحقق بنجاح!"
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "جاري المصادقة..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "المصادقة"
|
"Authentication": "المصادقة"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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": "منح الإذن"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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": "النظام الخلفي"
|
||||||
},
|
},
|
||||||
@@ -1023,7 +1035,7 @@
|
|||||||
"Balanced palette with focused accents (default).": "ألوان متوازنة بلمسات محددة (افتراضي)."
|
"Balanced palette with focused accents (default).": "ألوان متوازنة بلمسات محددة (افتراضي)."
|
||||||
},
|
},
|
||||||
"Band": {
|
"Band": {
|
||||||
"Band": "Band"
|
"Band": ""
|
||||||
},
|
},
|
||||||
"Bar": {
|
"Bar": {
|
||||||
"Bar": "شريط المهام"
|
"Bar": "شريط المهام"
|
||||||
@@ -1281,7 +1293,7 @@
|
|||||||
"Calendar Backend": "الخلفية التقويمية"
|
"Calendar Backend": "الخلفية التقويمية"
|
||||||
},
|
},
|
||||||
"Calls / Headset": {
|
"Calls / Headset": {
|
||||||
"Calls / Headset": "المكالمات / سماعة الرأس"
|
"Calls / Headset": ""
|
||||||
},
|
},
|
||||||
"Camera": {
|
"Camera": {
|
||||||
"Camera": "الكاميرا"
|
"Camera": "الكاميرا"
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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": "اختر مكان ظهور النوافذ المنبثقة للإشعارات على الشاشة"
|
||||||
},
|
},
|
||||||
@@ -1572,16 +1581,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": "تبديل الترميز غير متاح لأن WirePlumber لم يتم العثور عليه"
|
"Codec switching is unavailable because WirePlumber was not found": ""
|
||||||
},
|
},
|
||||||
"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.": "تبديل الترميز غير متاح. لم يتم العثور على WirePlumber wpexec."
|
"Codec switching is unavailable. WirePlumber wpexec was not found.": ""
|
||||||
},
|
},
|
||||||
"Color": {
|
"Color": {
|
||||||
"Color": "اللون"
|
"Color": "اللون"
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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": "تنسيق التكوين"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "التباين"
|
"Contrast": "التباين"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "مساهم"
|
"Contributor": "مساهم"
|
||||||
},
|
},
|
||||||
@@ -1902,7 +1905,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": "العد فقط"
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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": "غير نشط"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": "اسحب أداة من مقبضها إلى هنا لإعادة ترتيبها أو إسقاطها في مجموعة أخرى"
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": "كشف حافة التمرير"
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2721,7 +2706,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.": "قم بتفعيل تجاوز مخصص أدناه لضبط شدة الظل، والشفافية، واللون لكل شريط."
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 ": "أدخل مفتاح المرور هذا في "
|
||||||
},
|
},
|
||||||
@@ -2952,7 +2934,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"
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3087,7 +3066,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.": "فشل تشغيل 'dms-greeter status'. تأكد من تثبيت حزمة dms-greeter."
|
"Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": ""
|
||||||
},
|
},
|
||||||
"Failed to save VPN credentials": {
|
"Failed to save VPN credentials": {
|
||||||
"Failed to save VPN credentials": "فشل حفظ بيانات اعتماد VPN"
|
"Failed to save VPN credentials": "فشل حفظ بيانات اعتماد VPN"
|
||||||
@@ -3144,13 +3123,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": "فشل في إلغاء تثبيت الإدخال"
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3648,7 +3621,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 مزامنة سمة شاشة تسجيل الدخول الخاصة بهم باستخدام الأمر 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:": {
|
"Greeter group:": {
|
||||||
"Greeter group:": "مجموعة الترحيب:"
|
"Greeter group:": "مجموعة الترحيب:"
|
||||||
@@ -3864,22 +3837,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": "الساعة"
|
||||||
@@ -3939,7 +3912,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). تأكد من تثبيت dnsmasq."
|
"IP sharing setup failed. Check that dnsmasq is installed.": ""
|
||||||
},
|
},
|
||||||
"ISO Date": {
|
"ISO Date": {
|
||||||
"ISO Date": "تاريخ ISO"
|
"ISO Date": "تاريخ ISO"
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": "تجاهل تمامًا"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": "الاحتفاظ في الشريط"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "القسم الأيسر"
|
"Left Section": "القسم الأيسر"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "خفيف"
|
"Light": "خفيف"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "مقفل"
|
"Locked": "مقفل"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "جاري تسجيل الدخول..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "تسجيل الدخول"
|
"Login": "تسجيل الدخول"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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": "القسم الأوسط"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": "نقرات الفأرة تمر عبر الشريط إلى النوافذ خلفه"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": "تمرير لوحة اللمس الطبيعي"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": "بدون تقريب الزوايا"
|
"No Rounding": "بدون تقريب الزوايا"
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": "بدون ظل"
|
"No Shadow": "بدون ظل"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "لم يتم الكشف عنه"
|
"Not detected": "لم يتم الكشف عنه"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": "غير مدرج؟"
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": "غير مقترن"
|
"Not paired": "غير مقترن"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "مفعل"
|
"On": "مفعل"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": "مفعل للأبد"
|
"On indefinitely": "مفعل للأبد"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": "فقط عند استخدام البطارية"
|
||||||
},
|
},
|
||||||
@@ -5562,7 +5511,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": "افتح شريط البحث للعثور على نص"
|
||||||
@@ -5592,7 +5541,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": "وصف اختياري"
|
||||||
@@ -5604,7 +5553,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": "الخيارات"
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "جاري الاقتران..."
|
"Pairing...": "جاري الاقتران..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "غائم جزئياً"
|
"Partly Cloudy": "غائم جزئياً"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": "كلمات المرور غير متطابقة."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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 لرفع الامتيازات."
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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": "منع إيقاف تشغيل الشاشة"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "البروتوكول"
|
"Protocol": "البروتوكول"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6249,7 +6189,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": "الوصول إلى أجهزة الشبكة المحلية أثناء استخدام عقدة الخروج"
|
||||||
@@ -6261,7 +6201,7 @@
|
|||||||
"Read:": "قراءة:"
|
"Read:": "قراءة:"
|
||||||
},
|
},
|
||||||
"Ready": {
|
"Ready": {
|
||||||
"Ready": "مستعد"
|
"Ready": ""
|
||||||
},
|
},
|
||||||
"Reason": {
|
"Reason": {
|
||||||
"Reason": "السبب"
|
"Reason": "السبب"
|
||||||
@@ -6309,7 +6249,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": "إعادة التحميل من القرص"
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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": "إعادة تعيين"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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": "عكس اتجاه تبديل اسطح المكتب عند التمرير فوق الشريط"
|
||||||
},
|
},
|
||||||
@@ -6588,7 +6519,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": "التطبيقات المشغلة"
|
||||||
@@ -6615,13 +6546,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": "حفظ ملف الملاحظة"
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"Scroll GitHub": {
|
"Scroll GitHub": {
|
||||||
"Scroll GitHub": "تمرير GitHub"
|
"Scroll GitHub": "تمرير GitHub"
|
||||||
},
|
},
|
||||||
"Scroll Method": {
|
|
||||||
"Scroll Method": ""
|
|
||||||
},
|
|
||||||
"Scroll Wheel": {
|
"Scroll Wheel": {
|
||||||
"Scroll Wheel": "عجلة التمرير"
|
"Scroll Wheel": "عجلة التمرير"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "شريطي"
|
"Scrolling": "شريطي"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": "البحث في إجراءات التطبيقات"
|
"Search App Actions": "البحث في إجراءات التطبيقات"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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": "اختر مزودي اختصارات المفاتيح المراد تضمينهم"
|
||||||
},
|
},
|
||||||
@@ -6975,13 +6903,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.": "قم بإعداد نقطة اتصال WiFi لمشاركة هذا الاتصال."
|
"Set up a WiFi hotspot for sharing this connection.": ""
|
||||||
},
|
},
|
||||||
"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": "إعداد"
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": "إظهار"
|
"Show": "إظهار"
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": "إظهار الطرف الثالث"
|
"Show 3rd Party": "إظهار الطرف الثالث"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": "إظهار نافذة تحذير منبثقة عندما تكون البطارية منخفضة."
|
||||||
},
|
},
|
||||||
@@ -7491,7 +7413,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 لاستخدام هذه الملحق"
|
||||||
@@ -7500,19 +7422,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.": "سيؤدي بدء نقطة الاتصال إلى قطع اتصال WiFi بـ \"%1\" — لا يمكن للراديو القيام بالأمرين معاً في وقت واحد. تتطلب مشاركة الإنترنت بعد ذلك اتصالاً آخر، مثل الإيثرنت (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...": {
|
"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"
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7641,7 +7560,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 السمة والإعدادات الخاصة بك على شاشة تسجيل الدخول. يجب على المستخدمين المشتركين تشغيل 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 completed successfully.": {
|
"Sync completed successfully.": {
|
||||||
"Sync completed successfully.": "تمت المزامنة بنجاح."
|
"Sync completed successfully.": "تمت المزامنة بنجاح."
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": "محطة طرفية"
|
||||||
},
|
},
|
||||||
@@ -7758,7 +7665,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.": "فشل الاحتياط للطرفية. قم بتثبيت أحد محاكيات الطرفية المدعومة أو قم بتشغيل 'dms-greeter sync' يدوياً."
|
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": ""
|
||||||
},
|
},
|
||||||
"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.": "تم فتح الاحطياط للطرفية. أكمل المصادقة هناك؛ سيتم إغلاقه تلقائيًا عند الانتهاء."
|
||||||
@@ -7806,7 +7713,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.": "تعذر على محول WiFi بدء وضع نقطة الوصول."
|
"The WiFi adapter could not start access point mode.": ""
|
||||||
},
|
},
|
||||||
"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)."
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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": "المظهر والألوان"
|
||||||
},
|
},
|
||||||
@@ -7884,7 +7788,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.": "سيؤدي هذا إلى قطع اتصال WiFi من \"%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 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.": "سيؤدي هذا إلى حذف كل سجل الحافظة نهائياً."
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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": "الأدوات"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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": "تحويل"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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": "اكتب حرفين على الأقل"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": "إلغاء حفظ"
|
"Untrust": "إلغاء حفظ"
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": "محدث"
|
"Up to date": "محدث"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": "المستخدمون"
|
||||||
},
|
},
|
||||||
@@ -8583,13 +8481,13 @@
|
|||||||
"W": "W"
|
"W": "W"
|
||||||
},
|
},
|
||||||
"WCAG %1 body": {
|
"WCAG %1 body": {
|
||||||
"WCAG %1 body": "WCAG %1 الجسم"
|
"WCAG %1 body": ""
|
||||||
},
|
},
|
||||||
"WPA/WPA2": {
|
"WPA/WPA2": {
|
||||||
"WPA/WPA2": "WPA/WPA2"
|
"WPA/WPA2": "WPA/WPA2"
|
||||||
},
|
},
|
||||||
"WPA2 password": {
|
"WPA2 password": {
|
||||||
"WPA2 password": "كلمة مرور WPA2"
|
"WPA2 password": ""
|
||||||
},
|
},
|
||||||
"Wallpaper": {
|
"Wallpaper": {
|
||||||
"Wallpaper": "خلفية الشاشة"
|
"Wallpaper": "خلفية الشاشة"
|
||||||
@@ -8679,10 +8577,10 @@
|
|||||||
"WiFi enabled": "الWi-Fi مفعل"
|
"WiFi enabled": "الWi-Fi مفعل"
|
||||||
},
|
},
|
||||||
"WiFi is disabled": {
|
"WiFi is disabled": {
|
||||||
"WiFi is disabled": "WiFi غير مفعل"
|
"WiFi is disabled": ""
|
||||||
},
|
},
|
||||||
"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 disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": ""
|
||||||
},
|
},
|
||||||
"WiFi is off": {
|
"WiFi is off": {
|
||||||
"WiFi is off": "WiFi غير مفعل"
|
"WiFi is off": "WiFi غير مفعل"
|
||||||
@@ -8742,7 +8640,7 @@
|
|||||||
"Width of window border and focus ring": "عرض حدود النافذة وحلقة التركيز"
|
"Width of window border and focus ring": "عرض حدود النافذة وحلقة التركيز"
|
||||||
},
|
},
|
||||||
"Will disconnect \"%1": {
|
"Will disconnect \"%1": {
|
||||||
"Will disconnect \"%1\"": "سيتم قطع اتصال \"%1\""
|
"Will disconnect \"%1\"": ""
|
||||||
},
|
},
|
||||||
"Wind": {
|
"Wind": {
|
||||||
"Wind": "الرياح"
|
"Wind": "الرياح"
|
||||||
@@ -8853,10 +8751,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!": "نظامك محدث!"
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "متصل"
|
"attached": "متصل"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "Pri"
|
"About": "Pri"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Akcenta Koloro"
|
"Accent Color": "Akcenta Koloro"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Aŭtentigante..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Aŭtentigo"
|
"Authentication": "Aŭtentigo"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Kontrasto"
|
"Contrast": "Kontrasto"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "kontribuanto"
|
"Contributor": "kontribuanto"
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "Maldekstra sekcio"
|
"Left Section": "Maldekstra sekcio"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "Hela"
|
"Light": "Hela"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Ŝlosita"
|
"Locked": "Ŝlosita"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "Salutante..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "Saluti"
|
"Login": "Saluti"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "Ŝaltita"
|
"On": "Ŝaltita"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": "Sur senfine"
|
"On indefinitely": "Sur senfine"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Parigante..."
|
"Pairing...": "Parigante..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "Parte nuba"
|
"Partly Cloudy": "Parte nuba"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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. "
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protokolo"
|
"Protocol": "Protokolo"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "aligita"
|
"attached": "aligita"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
+1716
-1821
File diff suppressed because it is too large
Load Diff
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "درباره"
|
"About": "درباره"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "رنگ تأکیدی"
|
"Accent Color": "رنگ تأکیدی"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "آداپتورها"
|
"Adapters": "آداپتورها"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": "پهنای رسانه سازگار"
|
"Adaptive Media Width": "پهنای رسانه سازگار"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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": "تنظیم حجم صدا بهازای هر پله اسکرول"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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 استفاده کن"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "درحال احراز هویت..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "احراز هویت"
|
"Authentication": "احراز هویت"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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": "اجازه دادن"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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": "بکاند"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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": "انتخاب کنید پاپآپ اعلان کجای صفحه ظاهر شود"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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": "تنظیم قالب"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "کنتراست"
|
"Contrast": "کنتراست"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": ""
|
"Contributor": ""
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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": "غیرفعال"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 ": "ورود این کلید عبور در "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": "کلاً نادیده بگیر"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "بخش چپ"
|
"Left Section": "بخش چپ"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "کمرنگ"
|
"Light": "کمرنگ"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "قفل شده"
|
"Locked": "قفل شده"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "درحال ورود..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "ورود"
|
"Login": "ورود"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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": "بخش میانی"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": "کلیک موس از نوار عبور کند تا به پنجره پشت آن برسد"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": "بدون گردی"
|
"No Rounding": "بدون گردی"
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": "بدون سایه"
|
"No Shadow": "بدون سایه"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "تشخیص داده نشد"
|
"Not detected": "تشخیص داده نشد"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": ""
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": "جفت نشده"
|
"Not paired": "جفت نشده"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "روشن"
|
"On": "روشن"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": "روشن بصورت نامحدود"
|
"On indefinitely": "روشن بصورت نامحدود"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "درحال جفت شدن..."
|
"Pairing...": "درحال جفت شدن..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "نیمه ابری"
|
"Partly Cloudy": "نیمه ابری"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": "گذرواژهها مطابقت ندارند."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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 دارد."
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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": "وقفه جلوگیری از خاموششدن صفحه"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "پروتکل"
|
"Protocol": "پروتکل"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": ""
|
"Qt": ""
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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": "تنظیم مجدد"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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": "جهت تغییر محیطکار را هنگام اسکرولکردن روی نوار معکوس کن"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"Scroll GitHub": {
|
"Scroll GitHub": {
|
||||||
"Scroll GitHub": "گیتهاب اسکرول"
|
"Scroll GitHub": "گیتهاب اسکرول"
|
||||||
},
|
},
|
||||||
"Scroll Method": {
|
|
||||||
"Scroll Method": ""
|
|
||||||
},
|
|
||||||
"Scroll Wheel": {
|
"Scroll Wheel": {
|
||||||
"Scroll Wheel": "چرخ اسکرول"
|
"Scroll Wheel": "چرخ اسکرول"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "اسکرولینگ"
|
"Scrolling": "اسکرولینگ"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": "جستجوی اقدام برنامهها"
|
"Search App Actions": "جستجوی اقدام برنامهها"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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 شود"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": "نمایش"
|
"Show": "نمایش"
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": "نمایش شخص ثالث"
|
"Show 3rd Party": "نمایش شخص ثالث"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": "ترمینال"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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": "تم و رنگها"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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": "ابزارها"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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": "تبدیل"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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": "حداقل ۲ کاراکتر تایپ کنید"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": "لغو اعتماد"
|
"Untrust": "لغو اعتماد"
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": "بروز"
|
"Up to date": "بروز"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": "کاربران"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "پیوست شد"
|
"attached": "پیوست شد"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "براندون"
|
"brandon": "براندون"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "À propos"
|
"About": "À propos"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Couleur d’accentuation"
|
"Accent Color": "Couleur d’accentuation"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "Adaptateurs"
|
"Adapters": "Adaptateurs"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": ""
|
"Adaptive Media Width": ""
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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 lorsqu’un seul écran est connecté"
|
"Always show when there's only one connected display": "Toujours afficher lorsqu’un 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": ""
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Authentification..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Authentification"
|
"Authentication": "Authentification"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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 l’emplacement d’affichage des notifications"
|
"Choose where notification popups appear on screen": "Choisir l’emplacement d’affichage des notifications"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Contraste"
|
"Contrast": "Contraste"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": ""
|
"Contributor": ""
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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é"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "Partie gauche"
|
"Left Section": "Partie gauche"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": ""
|
"Light": ""
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Verrouillé"
|
"Locked": "Verrouillé"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "Connexion..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": ""
|
"Login": ""
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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é"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "Activé"
|
"On": "Activé"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": ""
|
"On indefinitely": ""
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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 l’heure ou de l’emplacement."
|
"Only adjust gamma based on time or location rules.": "Ajuster le gamma uniquement en fonction de l’heure ou de l’emplacement."
|
||||||
},
|
},
|
||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Appairage en cours..."
|
"Pairing...": "Appairage en cours..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "Partiellement nuageux"
|
"Partly Cloudy": "Partiellement nuageux"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protocole"
|
"Protocol": "Protocole"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": ""
|
"Qt": ""
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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 d’espace lors du défilement sur la barre"
|
"Reverse workspace switch direction when scrolling over the bar": "Inverser la direction du changement d’espace lors du défilement sur la barre"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"Scroll GitHub": {
|
"Scroll GitHub": {
|
||||||
"Scroll GitHub": ""
|
"Scroll GitHub": ""
|
||||||
},
|
},
|
||||||
"Scroll Method": {
|
|
||||||
"Scroll Method": ""
|
|
||||||
},
|
|
||||||
"Scroll Wheel": {
|
"Scroll Wheel": {
|
||||||
"Scroll Wheel": "Molette"
|
"Scroll Wheel": "Molette"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"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
@@ -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,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "Informazioni"
|
"About": "Informazioni"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Colore di Accento"
|
"Accent Color": "Colore di Accento"
|
||||||
},
|
},
|
||||||
@@ -381,7 +378,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": "Si attiva immediatamente"
|
"Activates immediately": ""
|
||||||
},
|
},
|
||||||
"Activation": {
|
"Activation": {
|
||||||
"Activation": "Attivazione"
|
"Activation": "Attivazione"
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -429,7 +423,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.": "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 \"%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 Bar": {
|
"Add Bar": {
|
||||||
"Add Bar": "Aggiungi Barra"
|
"Add Bar": "Aggiungi Barra"
|
||||||
@@ -483,7 +477,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.": "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 run 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."
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -678,7 +660,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": "Verrà applicato alla prossima sincronizzazione del greeter"
|
"Applies on the next greeter sync": ""
|
||||||
},
|
},
|
||||||
"Apply Changes": {
|
"Apply Changes": {
|
||||||
"Apply Changes": "Applica Modifiche"
|
"Apply Changes": "Applica Modifiche"
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": "Autenticato!"
|
"Authenticated!": "Autenticato!"
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Autenticazione in corso..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Autenticazione"
|
"Authentication": "Autenticazione"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1023,7 +1035,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": "Banda"
|
"Band": ""
|
||||||
},
|
},
|
||||||
"Bar": {
|
"Bar": {
|
||||||
"Bar": "Barra"
|
"Bar": "Barra"
|
||||||
@@ -1281,7 +1293,7 @@
|
|||||||
"Calendar Backend": "Backend Calendario"
|
"Calendar Backend": "Backend Calendario"
|
||||||
},
|
},
|
||||||
"Calls / Headset": {
|
"Calls / Headset": {
|
||||||
"Calls / Headset": "Chiamate / Auricolare"
|
"Calls / Headset": ""
|
||||||
},
|
},
|
||||||
"Camera": {
|
"Camera": {
|
||||||
"Camera": "Fotocamera"
|
"Camera": "Fotocamera"
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1572,16 +1581,16 @@
|
|||||||
"Close Window": "Chiudi Finestra"
|
"Close Window": "Chiudi Finestra"
|
||||||
},
|
},
|
||||||
"Codec switched successfully": {
|
"Codec switched successfully": {
|
||||||
"Codec switched successfully": "Codec cambiato correttamente"
|
"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": "Il cambio codec non è disponibile perché WirePlumber non è stato trovato"
|
"Codec switching is unavailable because WirePlumber was not found": ""
|
||||||
},
|
},
|
||||||
"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.": "Il cambio codec non è disponibile. WirePlumber wpexec non è stato trovato."
|
"Codec switching is unavailable. WirePlumber wpexec was not found.": ""
|
||||||
},
|
},
|
||||||
"Color": {
|
"Color": {
|
||||||
"Color": "Colore"
|
"Color": "Colore"
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Contrasto"
|
"Contrast": "Contrasto"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "Contributore"
|
"Contributor": "Contributore"
|
||||||
},
|
},
|
||||||
@@ -1902,7 +1905,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": "Impossibile caricare la password dell'hotspot"
|
"Couldn't load hotspot password": ""
|
||||||
},
|
},
|
||||||
"Count Only": {
|
"Count Only": {
|
||||||
"Count Only": "Solo Conteggio"
|
"Count Only": "Solo Conteggio"
|
||||||
@@ -2046,7 +2049,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 per Terminare la Sessione"
|
"Custom Logout Command": "Comando Personalizzato Terminare la Sessione"
|
||||||
},
|
},
|
||||||
"Custom Name": {
|
"Custom Name": {
|
||||||
"Custom Name": "Nome Personalizzato"
|
"Custom Name": "Nome Personalizzato"
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2721,7 +2706,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.": "Abilita WiFi prima di avviare l'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.": "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."
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -2952,7 +2934,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": "Impossibile configurare l'hotspot"
|
"Failed to configure 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"
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3087,7 +3066,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.": "Impossibile eseguire \"dms-greeter status\". Assicurati che il pacchetto dms-greeter sia installato."
|
"Failed to run 'dms-greeter status'. Ensure the dms-greeter package is installed.": ""
|
||||||
},
|
},
|
||||||
"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"
|
||||||
@@ -3144,13 +3123,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": "Impossibile avviare l'hotspot"
|
"Failed to start hotspot": ""
|
||||||
},
|
},
|
||||||
"Failed to stop hotspot": {
|
"Failed to stop hotspot": {
|
||||||
"Failed to stop hotspot": "Impossibile fermare l'hotspot"
|
"Failed to stop hotspot": ""
|
||||||
},
|
},
|
||||||
"Failed to switch codec": {
|
"Failed to switch codec": {
|
||||||
"Failed to switch codec": "Impossibile cambiare codec"
|
"Failed to switch 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"
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3585,7 +3558,7 @@
|
|||||||
"Generic": "Generico"
|
"Generic": "Generico"
|
||||||
},
|
},
|
||||||
"Geometric Centering": {
|
"Geometric Centering": {
|
||||||
"Geometric Centering": "Centratura Geometrica"
|
"Geometric Centering": "Centratura Geometrico"
|
||||||
},
|
},
|
||||||
"Get Started": {
|
"Get Started": {
|
||||||
"Get Started": "Inizia"
|
"Get Started": "Inizia"
|
||||||
@@ -3648,7 +3621,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.": "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 members can sync their login-screen theme with dms-greeter sync --profile after logging out and back in.": ""
|
||||||
},
|
},
|
||||||
"Greeter group:": {
|
"Greeter group:": {
|
||||||
"Greeter group:": "Gruppo greeter:"
|
"Greeter group:": "Gruppo greeter:"
|
||||||
@@ -3864,22 +3837,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.": "Attivazione dell'hotspot non riuscita."
|
"Hotspot activation failed.": ""
|
||||||
},
|
},
|
||||||
"Hotspot name": {
|
"Hotspot name": {
|
||||||
"Hotspot name": "Nome hotspot"
|
"Hotspot name": ""
|
||||||
},
|
},
|
||||||
"Hotspot saved": {
|
"Hotspot saved": {
|
||||||
"Hotspot saved": "Hotspot salvato"
|
"Hotspot saved": ""
|
||||||
},
|
},
|
||||||
"Hotspot started": {
|
"Hotspot started": {
|
||||||
"Hotspot started": "Hotspot avviato"
|
"Hotspot started": ""
|
||||||
},
|
},
|
||||||
"Hotspot stopped": {
|
"Hotspot stopped": {
|
||||||
"Hotspot stopped": "Hotspot fermato"
|
"Hotspot stopped": ""
|
||||||
},
|
},
|
||||||
"Hour": {
|
"Hour": {
|
||||||
"Hour": "Ora"
|
"Hour": "Ora"
|
||||||
@@ -3939,7 +3912,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.": "Configurazione della condivisione IP non riuscita. Controlla che dnsmasq sia installato."
|
"IP sharing setup failed. Check that dnsmasq is installed.": ""
|
||||||
},
|
},
|
||||||
"ISO Date": {
|
"ISO Date": {
|
||||||
"ISO Date": "Data ISO"
|
"ISO Date": "Data ISO"
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4059,7 +4029,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"
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "Sezione Sinistra"
|
"Left Section": "Sezione Sinistra"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "Chiaro"
|
"Light": "Chiaro"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Bloccato"
|
"Locked": "Bloccato"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "Accesso in corso..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "Accesso"
|
"Login": "Accesso"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5562,7 +5511,7 @@
|
|||||||
"Open in terminal": "Apri nel terminale"
|
"Open in terminal": "Apri nel terminale"
|
||||||
},
|
},
|
||||||
"Open network": {
|
"Open network": {
|
||||||
"Open network": "Rete aperta"
|
"Open network": ""
|
||||||
},
|
},
|
||||||
"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"
|
||||||
@@ -5592,7 +5541,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": "Opzionale"
|
"Optional": ""
|
||||||
},
|
},
|
||||||
"Optional description": {
|
"Optional description": {
|
||||||
"Optional description": "Descrizione facoltativa"
|
"Optional description": "Descrizione facoltativa"
|
||||||
@@ -5604,7 +5553,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": "Opzionale; lascia vuoto per un hotspot aperto"
|
"Optional; leave blank for open hotspot": ""
|
||||||
},
|
},
|
||||||
"Options": {
|
"Options": {
|
||||||
"Options": "Opzioni"
|
"Options": "Opzioni"
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Associazione in corso..."
|
"Pairing...": "Associazione in corso..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "Parzialmente Nuvoloso"
|
"Partly Cloudy": "Parzialmente Nuvoloso"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protocollo"
|
"Protocol": "Protocollo"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6249,7 +6189,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.": "Reinserisci la password prima di salvare."
|
"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": "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"
|
||||||
@@ -6261,7 +6201,7 @@
|
|||||||
"Read:": "Lettura:"
|
"Read:": "Lettura:"
|
||||||
},
|
},
|
||||||
"Ready": {
|
"Ready": {
|
||||||
"Ready": "Pronto"
|
"Ready": ""
|
||||||
},
|
},
|
||||||
"Reason": {
|
"Reason": {
|
||||||
"Reason": "Motivo"
|
"Reason": "Motivo"
|
||||||
@@ -6309,7 +6249,7 @@
|
|||||||
"Release": "Rilascio"
|
"Release": "Rilascio"
|
||||||
},
|
},
|
||||||
"Release to confirm": {
|
"Release to confirm": {
|
||||||
"Release to confirm": "Rilascia per confermare"
|
"Release to confirm": ""
|
||||||
},
|
},
|
||||||
"Reload From Disk": {
|
"Reload From Disk": {
|
||||||
"Reload From Disk": "Ricarica Dal Disco"
|
"Reload From Disk": "Ricarica Dal Disco"
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6588,7 +6519,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": "In esecuzione"
|
"Running": ""
|
||||||
},
|
},
|
||||||
"Running Apps": {
|
"Running Apps": {
|
||||||
"Running Apps": "App in Esecuzione"
|
"Running Apps": "App in Esecuzione"
|
||||||
@@ -6615,13 +6546,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": "Salva e Avvia"
|
"Save & Start": ""
|
||||||
},
|
},
|
||||||
"Save Notepad File": {
|
"Save Notepad File": {
|
||||||
"Save Notepad File": "Salva File Blocco Note"
|
"Save Notepad File": "Salva File Blocco Note"
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6975,13 +6903,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.": "Configura un hotspot WiFi per condividere questa connessione."
|
"Set up a WiFi hotspot for sharing this connection.": ""
|
||||||
},
|
},
|
||||||
"Set up hotspot": {
|
"Set up hotspot": {
|
||||||
"Set up hotspot": "Configura hotspot"
|
"Set up hotspot": ""
|
||||||
},
|
},
|
||||||
"Set up hotspot in Settings": {
|
"Set up hotspot in Settings": {
|
||||||
"Set up hotspot in Settings": "Configura l'hotspot nelle Impostazioni"
|
"Set up hotspot in Settings": ""
|
||||||
},
|
},
|
||||||
"Setting": {
|
"Setting": {
|
||||||
"Setting": "Impostazione"
|
"Setting": "Impostazione"
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -7491,7 +7413,7 @@
|
|||||||
"Start": "Avvia"
|
"Start": "Avvia"
|
||||||
},
|
},
|
||||||
"Start Hotspot?": {
|
"Start Hotspot?": {
|
||||||
"Start Hotspot?": "Avvia l'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": "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"
|
||||||
@@ -7500,19 +7422,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...": "Avvio dell'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.": "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 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...": {
|
"Starting...": {
|
||||||
"Starting...": "Avviando..."
|
"Starting...": ""
|
||||||
},
|
},
|
||||||
"State": {
|
"State": {
|
||||||
"State": "Stato"
|
"State": "Stato"
|
||||||
},
|
},
|
||||||
"Stop": {
|
"Stop": {
|
||||||
"Stop": "Ferma"
|
"Stop": ""
|
||||||
},
|
},
|
||||||
"Stop ignoring %1": {
|
"Stop ignoring %1": {
|
||||||
"Stop ignoring %1": "Smetti di ignorare %1"
|
"Stop ignoring %1": "Smetti di ignorare %1"
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7641,7 +7560,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.": "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 applies your theme and settings to the login screen. Shared users should run dms-greeter sync --profile instead of a primary user sync.": ""
|
||||||
},
|
},
|
||||||
"Sync completed successfully.": {
|
"Sync completed successfully.": {
|
||||||
"Sync completed successfully.": "Sincronizzazione completata con successo."
|
"Sync completed successfully.": "Sincronizzazione completata con successo."
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7758,7 +7665,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.": "Terminale di ripiego non riuscito. Installa uno degli emulatori di terminale supportati o esegui manualmente 'dms-greeter sync'."
|
"Terminal fallback failed. Install one of the supported terminal emulators or run 'dms-greeter sync' manually.": ""
|
||||||
},
|
},
|
||||||
"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."
|
||||||
@@ -7806,7 +7713,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.": "L'adattatore WiFi non è riuscito ad avviare la modalità access point."
|
"The WiFi adapter could not start access point mode.": ""
|
||||||
},
|
},
|
||||||
"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)."
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7845,7 +7749,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"
|
||||||
@@ -7884,7 +7788,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.": "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 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 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."
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8583,13 +8481,13 @@
|
|||||||
"W": "W"
|
"W": "W"
|
||||||
},
|
},
|
||||||
"WCAG %1 body": {
|
"WCAG %1 body": {
|
||||||
"WCAG %1 body": "WCAG %1 corpo"
|
"WCAG %1 body": ""
|
||||||
},
|
},
|
||||||
"WPA/WPA2": {
|
"WPA/WPA2": {
|
||||||
"WPA/WPA2": "WPA/WPA2"
|
"WPA/WPA2": "WPA/WPA2"
|
||||||
},
|
},
|
||||||
"WPA2 password": {
|
"WPA2 password": {
|
||||||
"WPA2 password": "Password WPA2"
|
"WPA2 password": ""
|
||||||
},
|
},
|
||||||
"Wallpaper": {
|
"Wallpaper": {
|
||||||
"Wallpaper": "Sfondo"
|
"Wallpaper": "Sfondo"
|
||||||
@@ -8679,10 +8577,10 @@
|
|||||||
"WiFi enabled": "WiFi attivato"
|
"WiFi enabled": "WiFi attivato"
|
||||||
},
|
},
|
||||||
"WiFi is disabled": {
|
"WiFi is disabled": {
|
||||||
"WiFi is disabled": "WiFi disattivato"
|
"WiFi is disabled": ""
|
||||||
},
|
},
|
||||||
"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 disabled. You can still edit and save hotspot settings, but starting the hotspot requires WiFi to be enabled.": ""
|
||||||
},
|
},
|
||||||
"WiFi is off": {
|
"WiFi is off": {
|
||||||
"WiFi is off": "WiFi spento"
|
"WiFi is off": "WiFi spento"
|
||||||
@@ -8742,7 +8640,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\"": "Disconnetterà \"%1\""
|
"Will disconnect \"%1\"": ""
|
||||||
},
|
},
|
||||||
"Wind": {
|
"Wind": {
|
||||||
"Wind": "Vento"
|
"Wind": "Vento"
|
||||||
@@ -8853,10 +8751,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.": "Il tuo hotspot è in esecuzione."
|
"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.": "Il profilo del tuo hotspot è salvato e pronto per l'avvio."
|
"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!": "Il tuo sistema è aggiornato!"
|
"Your system is up to date!": "Il tuo sistema è aggiornato!"
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "agganciato"
|
"attached": "agganciato"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
@@ -8976,7 +8871,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": "matugen non è disponibile o disabilitato - impossibile applicare i colori %1"
|
"matugen not available or disabled - cannot apply %1 colors": "atugen 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"
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "バージョン情報"
|
"About": "バージョン情報"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "アクセントカラー"
|
"Accent Color": "アクセントカラー"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "アダプター"
|
"Adapters": "アダプター"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": "メディア幅の自動調整"
|
"Adaptive Media Width": "メディア幅の自動調整"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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段ごとの音量調整"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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 は常にこのアプリ使用する"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "認証中..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "認証"
|
"Authentication": "認証"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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": "許可"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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": "バックエンド"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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": "通知ポップアップが画面に表示される場所を選ぶ"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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": "設定形式"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "コントラスト"
|
"Contrast": "コントラスト"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "貢献者"
|
"Contributor": "貢献者"
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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": "無効"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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 ビット色深度を有効にします"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 ": "ここでパスキーを入力してください "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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 の生成に失敗しました"
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": "完全に無視"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": "バーに残す"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "左セクション"
|
"Left Section": "左セクション"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "ライト"
|
"Light": "ライト"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "ロック済み"
|
"Locked": "ロック済み"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "ログイン中..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "ログイン"
|
"Login": "ログイン"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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": "中間区間"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": "マウスクリックをバーの背後のウィンドウへ通す"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": "タッチパッドのナチュラルスクロール"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": "角丸なし"
|
"No Rounding": "角丸なし"
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": "影なし"
|
"No Shadow": "影なし"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "未検出"
|
"Not detected": "未検出"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": "一覧にありませんか?"
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": "未ペアリング"
|
"Not paired": "未ペアリング"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "オン"
|
"On": "オン"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": "無期限にオン"
|
"On indefinitely": "無期限にオン"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": "バッテリー駆動時のみ"
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "ペアリング中..."
|
"Pairing...": "ペアリング中..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "晴れ時々曇り"
|
"Partly Cloudy": "晴れ時々曇り"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": "パスワードが一致しません。"
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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 による権限昇格が必要です。"
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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": "画面のタイムアウトを防止"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "プロトコル"
|
"Protocol": "プロトコル"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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": "リセット"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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": "バー上でスクロールしたときのワークスペース切り替え方向を反転"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"Scroll GitHub": {
|
"Scroll GitHub": {
|
||||||
"Scroll GitHub": "GitHub をスクロール"
|
"Scroll GitHub": "GitHub をスクロール"
|
||||||
},
|
},
|
||||||
"Scroll Method": {
|
|
||||||
"Scroll Method": ""
|
|
||||||
},
|
|
||||||
"Scroll Wheel": {
|
"Scroll Wheel": {
|
||||||
"Scroll Wheel": "スクロールホイール"
|
"Scroll Wheel": "スクロールホイール"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "スクロール"
|
"Scrolling": "スクロール"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": "アプリのアクションを検索"
|
"Search App Actions": "アプリのアクションを検索"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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": "含めるキーバインドプロバイダーを選択"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": "表示"
|
"Show": "表示"
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": "サードパーティを表示"
|
"Show 3rd Party": "サードパーティを表示"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": "バッテリー残量が少ないとき警告ポップアップを表示します。"
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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 ウェブサイト"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": "ターミナル"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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": "テーマおよびカラー"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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": "ツール"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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": "変形"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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 文字入力してください"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": "信頼を解除"
|
"Untrust": "信頼を解除"
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": "最新です"
|
"Up to date": "最新です"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": "ユーザー"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "接続済み"
|
"attached": "接続済み"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "정보"
|
"About": "정보"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "강조 색상"
|
"Accent Color": "강조 색상"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "어댑터"
|
"Adapters": "어댑터"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": "적응형 미디어 너비"
|
"Adaptive Media Width": "적응형 미디어 너비"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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": "스크롤 단계별 볼륨 조정"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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에 항상 이 앱 사용"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "인증 중..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "인증"
|
"Authentication": "인증"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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": "권한 부여"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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": "백엔드"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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": "화면에서 알림 팝업이 나타날 위치를 선택하세요"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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": "구성 형식"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "대비"
|
"Contrast": "대비"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "기여자"
|
"Contributor": "기여자"
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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": "비활성화됨"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": "위젯의 핸들을 잡고 드래그하여 순서를 변경하거나 다른 그룹에 놓으세요"
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": "가장자리 호버 시 드러내기"
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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비트 색 심도 활성화"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 ": "이 패스키를 입력할 곳:"
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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 덮어쓰기 생성 실패"
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": "완전히 무시"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": "바에 유지"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "왼쪽 구역"
|
"Left Section": "왼쪽 구역"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "얇게"
|
"Light": "얇게"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "잠김"
|
"Locked": "잠김"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "로그인 중..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "로그인"
|
"Login": "로그인"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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": "가운데 구역"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": "마우스 클릭이 바를 통과하여 뒤에 있는 창으로 전달됨"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": "터치패드 자연스러운 스크롤"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": "둥글게 처리 없음"
|
"No Rounding": "둥글게 처리 없음"
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": "그림자 없음"
|
"No Shadow": "그림자 없음"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "감지되지 않음"
|
"Not detected": "감지되지 않음"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": "목록에 없습니까?"
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": "페어링되지 않음"
|
"Not paired": "페어링되지 않음"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "켜짐"
|
"On": "켜짐"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": "무기한 켜짐"
|
"On indefinitely": "무기한 켜짐"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": "배터리 사용 시만"
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "페어링 중..."
|
"Pairing...": "페어링 중..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "대체로 흐림"
|
"Partly Cloudy": "대체로 흐림"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": "비밀번호가 일치하지 않습니다."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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이 필요합니다."
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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": "화면 시간 초과 방지"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "프로토콜"
|
"Protocol": "프로토콜"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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": "재설정"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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": "바 위에서 스크롤할 때 작업 공간 전환 방향 반전"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"Scroll GitHub": {
|
"Scroll GitHub": {
|
||||||
"Scroll GitHub": "GitHub 스크롤"
|
"Scroll GitHub": "GitHub 스크롤"
|
||||||
},
|
},
|
||||||
"Scroll Method": {
|
|
||||||
"Scroll Method": ""
|
|
||||||
},
|
|
||||||
"Scroll Wheel": {
|
"Scroll Wheel": {
|
||||||
"Scroll Wheel": "스크롤 휠"
|
"Scroll Wheel": "스크롤 휠"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "스크롤"
|
"Scrolling": "스크롤"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": "앱 작업 검색"
|
"Search App Actions": "앱 작업 검색"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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": "포함할 단축키 제공자 선택"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": "표시"
|
"Show": "표시"
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": "타사 표시"
|
"Show 3rd Party": "타사 표시"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": "배터리가 부족할 때 경고 팝업을 표시합니다."
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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 웹사이트"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": "터미널"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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": "테마 및 색상"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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": "도구"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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": "변환"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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자 이상 입력"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": "신뢰 해제"
|
"Untrust": "신뢰 해제"
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": "최신 상태"
|
"Up to date": "최신 상태"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": "사용자"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "연결됨"
|
"attached": "연결됨"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "Over"
|
"About": "Over"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Accentkleur"
|
"Accent Color": "Accentkleur"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "Adapters"
|
"Adapters": "Adapters"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": "Adaptieve mediabreedte"
|
"Adaptive Media Width": "Adaptieve mediabreedte"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": "Geauthenticeerd!"
|
"Authenticated!": "Geauthenticeerd!"
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Controleren..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Authenticatie"
|
"Authentication": "Authenticatie"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Contrast"
|
"Contrast": "Contrast"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "Bijdrager"
|
"Contributor": "Bijdrager"
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "Linkersectie"
|
"Left Section": "Linkersectie"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "Licht"
|
"Light": "Licht"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Vergrendeld"
|
"Locked": "Vergrendeld"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "Inloggen..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "Inloggen"
|
"Login": "Inloggen"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Koppelen..."
|
"Pairing...": "Koppelen..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "Half bewolkt"
|
"Partly Cloudy": "Half bewolkt"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protocol"
|
"Protocol": "Protocol"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "gekoppeld"
|
"attached": "gekoppeld"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "O programie"
|
"About": "O programie"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Kolor akcentu"
|
"Accent Color": "Kolor akcentu"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "Adaptery"
|
"Adapters": "Adaptery"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": ""
|
"Adaptive Media Width": ""
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": ""
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Uwierzytelnianie"
|
"Authentication": "Uwierzytelnianie"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Kontrast"
|
"Contrast": "Kontrast"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": ""
|
"Contributor": ""
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "Sekcja lewa"
|
"Left Section": "Sekcja lewa"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": ""
|
"Light": ""
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Zablokowane"
|
"Locked": "Zablokowane"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": ""
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": ""
|
"Login": ""
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": ""
|
"No Rounding": ""
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": ""
|
"No Shadow": ""
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "Nie wykryto"
|
"Not detected": "Nie wykryto"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": ""
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": ""
|
"Not paired": ""
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": ""
|
"On": ""
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": ""
|
"On indefinitely": ""
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Parowanie..."
|
"Pairing...": "Parowanie..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": ""
|
"Partly Cloudy": ""
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protokół"
|
"Protocol": "Protokół"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": ""
|
"Qt": ""
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "Przewijanie"
|
"Scrolling": "Przewijanie"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": ""
|
"Search App Actions": ""
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": ""
|
"Show": ""
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": ""
|
"Show 3rd Party": ""
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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łć"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": ""
|
"Untrust": ""
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": ""
|
"Up to date": ""
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": ""
|
"attached": ""
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": ""
|
"brandon": ""
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "Sobre"
|
"About": "Sobre"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Cor de Destaque"
|
"Accent Color": "Cor de Destaque"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "Adaptadores"
|
"Adapters": "Adaptadores"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": ""
|
"Adaptive Media Width": ""
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Autenticando..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Autenticação"
|
"Authentication": "Autenticação"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Contraste"
|
"Contrast": "Contraste"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": ""
|
"Contributor": ""
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Bloqueado"
|
"Locked": "Bloqueado"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": ""
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": ""
|
"Login": ""
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "Ligado"
|
"On": "Ligado"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": ""
|
"On indefinitely": ""
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Pareando..."
|
"Pairing...": "Pareando..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "Parcialmente Nublado"
|
"Partly Cloudy": "Parcialmente Nublado"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protocolo"
|
"Protocol": "Protocolo"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": ""
|
"Qt": ""
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8421,25 +8316,25 @@
|
|||||||
"User Window Rules (%1)": ""
|
"User Window Rules (%1)": ""
|
||||||
},
|
},
|
||||||
"User already exists": {
|
"User already exists": {
|
||||||
"User already exists": "Usuário já existe"
|
"User already exists": ""
|
||||||
},
|
},
|
||||||
"User created": {
|
"User created": {
|
||||||
"User created": "Usuário criado"
|
"User created": ""
|
||||||
},
|
},
|
||||||
"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": "Usuário criado com privilégios de administrador"
|
"User created with administrator privileges": ""
|
||||||
},
|
},
|
||||||
"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 created with greeter login access": ""
|
||||||
},
|
},
|
||||||
"User deleted": {
|
"User deleted": {
|
||||||
"User deleted": "Usuário excluído"
|
"User deleted": ""
|
||||||
},
|
},
|
||||||
"User not found": {
|
"User not found": {
|
||||||
"User not found": "Usuário não encontrado"
|
"User not found": ""
|
||||||
},
|
},
|
||||||
"Username": {
|
"Username": {
|
||||||
"Username": "Nome de usuário"
|
"Username": "Nome de usuário"
|
||||||
@@ -8447,8 +8342,11 @@
|
|||||||
"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": "Usuários"
|
"Users": ""
|
||||||
},
|
},
|
||||||
"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."
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": ""
|
"attached": ""
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "Om"
|
"About": "Om"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "Accentfärg"
|
"Accent Color": "Accentfärg"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "Adaptrar"
|
"Adapters": "Adaptrar"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": ""
|
"Adaptive Media Width": ""
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Autentiserar..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Autentisering"
|
"Authentication": "Autentisering"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Kontrast"
|
"Contrast": "Kontrast"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": ""
|
"Contributor": ""
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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å "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "Vänster avdelning"
|
"Left Section": "Vänster avdelning"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": ""
|
"Light": ""
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "Låst"
|
"Locked": "Låst"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "Loggar in..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": ""
|
"Login": ""
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "På"
|
"On": "På"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": ""
|
"On indefinitely": ""
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Parkopplar..."
|
"Pairing...": "Parkopplar..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "Delvis molnigt"
|
"Partly Cloudy": "Delvis molnigt"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protokoll"
|
"Protocol": "Protokoll"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": ""
|
"Qt": ""
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "ansluten"
|
"attached": "ansluten"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "brandon"
|
"brandon": "brandon"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "Hakkında"
|
"About": "Hakkında"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": ""
|
"Accent Color": ""
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": ""
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Kimlik Doğrulama"
|
"Authentication": "Kimlik Doğrulama"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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ç"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "Kontrast"
|
"Contrast": "Kontrast"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": ""
|
"Contributor": ""
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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ışı"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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: "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": ""
|
"Locked": ""
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": ""
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": ""
|
"Login": ""
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": ""
|
"No Rounding": ""
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": ""
|
"No Shadow": ""
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "Algılanmadı"
|
"Not detected": "Algılanmadı"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": ""
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": ""
|
"Not paired": ""
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": ""
|
"On": ""
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": ""
|
"On indefinitely": ""
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "Eşleşiyor..."
|
"Pairing...": "Eşleşiyor..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": ""
|
"Partly Cloudy": ""
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Protokol"
|
"Protocol": "Protokol"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": ""
|
"Qt": ""
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "Kaydırma"
|
"Scrolling": "Kaydırma"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": ""
|
"Search App Actions": ""
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": ""
|
"Show": ""
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": ""
|
"Show 3rd Party": ""
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": ""
|
"Untrust": ""
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": ""
|
"Up to date": ""
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": ""
|
"attached": ""
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": ""
|
"brandon": ""
|
||||||
},
|
},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -335,9 +335,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "Đang xác thực..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "Xác thực"
|
"Authentication": "Xác thực"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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ị"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "Giao thức"
|
"Protocol": "Giao thức"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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."
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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ụ"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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ự"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"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
@@ -335,9 +335,6 @@
|
|||||||
"About": {
|
"About": {
|
||||||
"About": "關於"
|
"About": "關於"
|
||||||
},
|
},
|
||||||
"Acceleration Profile": {
|
|
||||||
"Acceleration Profile": ""
|
|
||||||
},
|
|
||||||
"Accent Color": {
|
"Accent Color": {
|
||||||
"Accent Color": "強調色"
|
"Accent Color": "強調色"
|
||||||
},
|
},
|
||||||
@@ -413,9 +410,6 @@
|
|||||||
"Adapters": {
|
"Adapters": {
|
||||||
"Adapters": "轉接器"
|
"Adapters": "轉接器"
|
||||||
},
|
},
|
||||||
"Adaptive": {
|
|
||||||
"Adaptive": ""
|
|
||||||
},
|
|
||||||
"Adaptive Media Width": {
|
"Adaptive Media Width": {
|
||||||
"Adaptive Media Width": "自適應媒體寬度"
|
"Adaptive Media Width": "自適應媒體寬度"
|
||||||
},
|
},
|
||||||
@@ -491,21 +485,12 @@
|
|||||||
"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": "調整每滾動縮排的音量"
|
||||||
},
|
},
|
||||||
@@ -590,9 +575,6 @@
|
|||||||
"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"
|
||||||
},
|
},
|
||||||
@@ -800,6 +782,9 @@
|
|||||||
"Authenticated!": {
|
"Authenticated!": {
|
||||||
"Authenticated!": ""
|
"Authenticated!": ""
|
||||||
},
|
},
|
||||||
|
"Authenticating...": {
|
||||||
|
"Authenticating...": "正在驗證..."
|
||||||
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Authentication": "驗證"
|
"Authentication": "驗證"
|
||||||
},
|
},
|
||||||
@@ -818,6 +803,18 @@
|
|||||||
"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": "授權"
|
||||||
},
|
},
|
||||||
@@ -881,6 +878,9 @@
|
|||||||
"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,12 +980,24 @@
|
|||||||
"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": "後端"
|
||||||
},
|
},
|
||||||
@@ -1442,9 +1454,6 @@
|
|||||||
"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": "選擇通知彈出視窗在螢幕上出現的位置"
|
||||||
},
|
},
|
||||||
@@ -1679,9 +1688,6 @@
|
|||||||
"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": "配置格式"
|
||||||
},
|
},
|
||||||
@@ -1799,9 +1805,6 @@
|
|||||||
"Contrast": {
|
"Contrast": {
|
||||||
"Contrast": "對比"
|
"Contrast": "對比"
|
||||||
},
|
},
|
||||||
"Contrast by variant": {
|
|
||||||
"Contrast by variant": ""
|
|
||||||
},
|
|
||||||
"Contributor": {
|
"Contributor": {
|
||||||
"Contributor": "貢獻者"
|
"Contributor": "貢獻者"
|
||||||
},
|
},
|
||||||
@@ -2387,15 +2390,6 @@
|
|||||||
"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": "已停用"
|
||||||
},
|
},
|
||||||
@@ -2555,9 +2549,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2630,9 +2621,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -2681,9 +2669,6 @@
|
|||||||
"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 支援"
|
||||||
},
|
},
|
||||||
@@ -2810,9 +2795,6 @@
|
|||||||
"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 ": "輸入此密碼 "
|
||||||
},
|
},
|
||||||
@@ -3011,9 +2993,6 @@
|
|||||||
"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 覆蓋檔失敗"
|
||||||
},
|
},
|
||||||
@@ -3284,12 +3263,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -3989,9 +3962,6 @@
|
|||||||
"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": "完全忽略"
|
||||||
},
|
},
|
||||||
@@ -4229,9 +4199,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -4367,9 +4334,6 @@
|
|||||||
"Left Section": {
|
"Left Section": {
|
||||||
"Left Section": "左方區塊"
|
"Left Section": "左方區塊"
|
||||||
},
|
},
|
||||||
"Left-Handed Mode": {
|
|
||||||
"Left-Handed Mode": ""
|
|
||||||
},
|
|
||||||
"Light": {
|
"Light": {
|
||||||
"Light": "細"
|
"Light": "細"
|
||||||
},
|
},
|
||||||
@@ -4475,6 +4439,9 @@
|
|||||||
"Locked": {
|
"Locked": {
|
||||||
"Locked": "已鎖定"
|
"Locked": "已鎖定"
|
||||||
},
|
},
|
||||||
|
"Logging in...": {
|
||||||
|
"Logging in...": "正在登入..."
|
||||||
|
},
|
||||||
"Login": {
|
"Login": {
|
||||||
"Login": "登入"
|
"Login": "登入"
|
||||||
},
|
},
|
||||||
@@ -4781,9 +4748,6 @@
|
|||||||
"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": "中間部分"
|
||||||
},
|
},
|
||||||
@@ -4859,12 +4823,6 @@
|
|||||||
"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": "滑鼠點擊可穿透工具列並作用於後方的視窗"
|
||||||
},
|
},
|
||||||
@@ -4928,9 +4886,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5078,9 +5033,6 @@
|
|||||||
"No Rounding": {
|
"No Rounding": {
|
||||||
"No Rounding": "無圓角"
|
"No Rounding": "無圓角"
|
||||||
},
|
},
|
||||||
"No Scroll": {
|
|
||||||
"No Scroll": ""
|
|
||||||
},
|
|
||||||
"No Shadow": {
|
"No Shadow": {
|
||||||
"No Shadow": "無陰影"
|
"No Shadow": "無陰影"
|
||||||
},
|
},
|
||||||
@@ -5384,6 +5336,9 @@
|
|||||||
"Not detected": {
|
"Not detected": {
|
||||||
"Not detected": "未偵測到"
|
"Not detected": "未偵測到"
|
||||||
},
|
},
|
||||||
|
"Not listed?": {
|
||||||
|
"Not listed?": "未列出?"
|
||||||
|
},
|
||||||
"Not paired": {
|
"Not paired": {
|
||||||
"Not paired": "未配對"
|
"Not paired": "未配對"
|
||||||
},
|
},
|
||||||
@@ -5477,9 +5432,6 @@
|
|||||||
"On": {
|
"On": {
|
||||||
"On": "開啟"
|
"On": "開啟"
|
||||||
},
|
},
|
||||||
"On Button Down": {
|
|
||||||
"On Button Down": ""
|
|
||||||
},
|
|
||||||
"On indefinitely": {
|
"On indefinitely": {
|
||||||
"On indefinitely": "無限期"
|
"On indefinitely": "無限期"
|
||||||
},
|
},
|
||||||
@@ -5498,9 +5450,6 @@
|
|||||||
"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": ""
|
||||||
},
|
},
|
||||||
@@ -5738,9 +5687,6 @@
|
|||||||
"Pairing...": {
|
"Pairing...": {
|
||||||
"Pairing...": "正在配對..."
|
"Pairing...": "正在配對..."
|
||||||
},
|
},
|
||||||
"Partial": {
|
|
||||||
"Partial": ""
|
|
||||||
},
|
|
||||||
"Partly Cloudy": {
|
"Partly Cloudy": {
|
||||||
"Partly Cloudy": "多雲"
|
"Partly Cloudy": "多雲"
|
||||||
},
|
},
|
||||||
@@ -5762,6 +5708,9 @@
|
|||||||
"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.": "密碼不符。"
|
||||||
},
|
},
|
||||||
@@ -5945,9 +5894,6 @@
|
|||||||
"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 來提升權限。"
|
||||||
},
|
},
|
||||||
@@ -6068,9 +6014,6 @@
|
|||||||
"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": "防止螢幕超時"
|
||||||
},
|
},
|
||||||
@@ -6188,9 +6131,6 @@
|
|||||||
"Protocol": {
|
"Protocol": {
|
||||||
"Protocol": "協定"
|
"Protocol": "協定"
|
||||||
},
|
},
|
||||||
"QR Generator": {
|
|
||||||
"QR Generator": ""
|
|
||||||
},
|
|
||||||
"Qt": {
|
"Qt": {
|
||||||
"Qt": "Qt"
|
"Qt": "Qt"
|
||||||
},
|
},
|
||||||
@@ -6443,9 +6383,6 @@
|
|||||||
"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": "重設"
|
||||||
},
|
},
|
||||||
@@ -6500,12 +6437,6 @@
|
|||||||
"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": "在工具列上捲動時反轉工作區切換方向"
|
||||||
},
|
},
|
||||||
@@ -6713,9 +6644,6 @@
|
|||||||
"Scroll GitHub": {
|
"Scroll GitHub": {
|
||||||
"Scroll GitHub": "捲動 GitHub"
|
"Scroll GitHub": "捲動 GitHub"
|
||||||
},
|
},
|
||||||
"Scroll Method": {
|
|
||||||
"Scroll Method": ""
|
|
||||||
},
|
|
||||||
"Scroll Wheel": {
|
"Scroll Wheel": {
|
||||||
"Scroll Wheel": "滾輪"
|
"Scroll Wheel": "滾輪"
|
||||||
},
|
},
|
||||||
@@ -6731,9 +6659,6 @@
|
|||||||
"Scrolling": {
|
"Scrolling": {
|
||||||
"Scrolling": "滾動"
|
"Scrolling": "滾動"
|
||||||
},
|
},
|
||||||
"Scrolling Speed": {
|
|
||||||
"Scrolling Speed": ""
|
|
||||||
},
|
|
||||||
"Search App Actions": {
|
"Search App Actions": {
|
||||||
"Search App Actions": "搜尋應用程式動作"
|
"Search App Actions": "搜尋應用程式動作"
|
||||||
},
|
},
|
||||||
@@ -6896,6 +6821,9 @@
|
|||||||
"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": "選擇要包含哪些快捷鍵提供者"
|
||||||
},
|
},
|
||||||
@@ -7064,9 +6992,6 @@
|
|||||||
"Show": {
|
"Show": {
|
||||||
"Show": "顯示"
|
"Show": "顯示"
|
||||||
},
|
},
|
||||||
"Show \"config reloaded\" Toast": {
|
|
||||||
"Show \"config reloaded\" Toast": ""
|
|
||||||
},
|
|
||||||
"Show 3rd Party": {
|
"Show 3rd Party": {
|
||||||
"Show 3rd Party": "顯示第三方"
|
"Show 3rd Party": "顯示第三方"
|
||||||
},
|
},
|
||||||
@@ -7262,9 +7187,6 @@
|
|||||||
"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.": ""
|
||||||
},
|
},
|
||||||
@@ -7607,9 +7529,6 @@
|
|||||||
"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 網站"
|
||||||
},
|
},
|
||||||
@@ -7733,18 +7652,6 @@
|
|||||||
"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": "終端機"
|
||||||
},
|
},
|
||||||
@@ -7820,9 +7727,6 @@
|
|||||||
"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": "主題和顏色"
|
||||||
},
|
},
|
||||||
@@ -8015,6 +7919,9 @@
|
|||||||
"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": "工具"
|
||||||
},
|
},
|
||||||
@@ -8051,12 +7958,6 @@
|
|||||||
"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": "變形"
|
||||||
},
|
},
|
||||||
@@ -8117,9 +8018,6 @@
|
|||||||
"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 個字元"
|
||||||
},
|
},
|
||||||
@@ -8261,9 +8159,6 @@
|
|||||||
"Untrust": {
|
"Untrust": {
|
||||||
"Untrust": "不信任"
|
"Untrust": "不信任"
|
||||||
},
|
},
|
||||||
"Untrusted VPN certificate": {
|
|
||||||
"Untrusted VPN certificate": ""
|
|
||||||
},
|
|
||||||
"Up to date": {
|
"Up to date": {
|
||||||
"Up to date": "最新"
|
"Up to date": "最新"
|
||||||
},
|
},
|
||||||
@@ -8447,6 +8342,9 @@
|
|||||||
"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": "使用者"
|
||||||
},
|
},
|
||||||
@@ -8867,9 +8765,6 @@
|
|||||||
"attached": {
|
"attached": {
|
||||||
"attached": "已附加"
|
"attached": "已附加"
|
||||||
},
|
},
|
||||||
"below AA": {
|
|
||||||
"below AA": ""
|
|
||||||
},
|
|
||||||
"brandon": {
|
"brandon": {
|
||||||
"brandon": "布蘭登"
|
"brandon": "布蘭登"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4692,20 +4692,14 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -783,13 +783,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Acceleration Profile",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Acceleration Profile",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Accent Color",
|
"term": "Accent Color",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -972,13 +965,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Adaptive",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Adaptive",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Adaptive Media Width",
|
"term": "Adaptive Media Width",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -1140,20 +1126,6 @@
|
|||||||
"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": "",
|
||||||
@@ -1168,13 +1140,6 @@
|
|||||||
"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": "",
|
||||||
@@ -1371,13 +1336,6 @@
|
|||||||
"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": "",
|
||||||
@@ -3373,13 +3331,6 @@
|
|||||||
"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": "",
|
||||||
@@ -3919,13 +3870,6 @@
|
|||||||
"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": "",
|
||||||
@@ -4199,13 +4143,6 @@
|
|||||||
"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": "",
|
||||||
@@ -5585,27 +5522,6 @@
|
|||||||
"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": "",
|
||||||
@@ -5984,13 +5900,6 @@
|
|||||||
"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": "",
|
||||||
@@ -6159,13 +6068,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Edge",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Edge",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Edge Hover Reveal",
|
"term": "Edge Hover Reveal",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -6278,13 +6180,6 @@
|
|||||||
"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": "",
|
||||||
@@ -6579,13 +6474,6 @@
|
|||||||
"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": "",
|
||||||
@@ -6852,6 +6740,13 @@
|
|||||||
"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": "",
|
||||||
@@ -7041,13 +6936,6 @@
|
|||||||
"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": "",
|
||||||
@@ -7090,6 +6978,13 @@
|
|||||||
"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": "",
|
||||||
@@ -7167,6 +7062,13 @@
|
|||||||
"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": "",
|
||||||
@@ -7384,6 +7286,27 @@
|
|||||||
"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": "",
|
||||||
@@ -7636,20 +7559,6 @@
|
|||||||
"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": "",
|
||||||
@@ -9302,13 +9211,6 @@
|
|||||||
"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": "",
|
||||||
@@ -9855,13 +9757,6 @@
|
|||||||
"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": "",
|
||||||
@@ -10177,13 +10072,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Left-Handed Mode",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Left-Handed Mode",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Light",
|
"term": "Light",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -11150,13 +11038,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Middle Click Emulation",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Middle Click Emulation",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Middle Section",
|
"term": "Middle Section",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -11339,20 +11220,6 @@
|
|||||||
"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": "",
|
||||||
@@ -11507,13 +11374,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Natural Scrolling",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Natural Scrolling",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Natural Touchpad Scrolling",
|
"term": "Natural Touchpad Scrolling",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -11731,6 +11591,13 @@
|
|||||||
"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": "",
|
||||||
@@ -11843,13 +11710,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "No Scroll",
|
|
||||||
"translation": "",
|
|
||||||
"context": "No Scroll",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "No Shadow",
|
"term": "No Shadow",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -12781,13 +12641,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "On Button Down",
|
|
||||||
"translation": "",
|
|
||||||
"context": "On Button Down",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "On indefinitely",
|
"term": "On indefinitely",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -12830,13 +12683,6 @@
|
|||||||
"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": "",
|
||||||
@@ -13397,13 +13243,6 @@
|
|||||||
"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": "",
|
||||||
@@ -13880,13 +13719,6 @@
|
|||||||
"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": "",
|
||||||
@@ -14174,13 +14006,6 @@
|
|||||||
"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": "",
|
||||||
@@ -14461,13 +14286,6 @@
|
|||||||
"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": "",
|
||||||
@@ -15063,13 +14881,6 @@
|
|||||||
"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": "",
|
||||||
@@ -15196,20 +15007,6 @@
|
|||||||
"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": "",
|
||||||
@@ -15700,13 +15497,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Scroll Method",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Scroll Method",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Scroll Wheel",
|
"term": "Scroll Wheel",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -15742,13 +15532,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Scrolling Speed",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Scrolling Speed",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Search App Actions",
|
"term": "Search App Actions",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -16526,13 +16309,6 @@
|
|||||||
"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": "",
|
||||||
@@ -16988,13 +16764,6 @@
|
|||||||
"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": "",
|
||||||
@@ -17821,13 +17590,6 @@
|
|||||||
"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": "",
|
||||||
@@ -18122,34 +17884,6 @@
|
|||||||
"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": "",
|
||||||
@@ -18318,13 +18052,6 @@
|
|||||||
"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": "",
|
||||||
@@ -18857,20 +18584,6 @@
|
|||||||
"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": "",
|
||||||
@@ -18953,7 +18666,7 @@
|
|||||||
"translation": "",
|
"translation": "",
|
||||||
"context": "Trust",
|
"context": "Trust",
|
||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": "Button that approves a VPN server certificate fingerprint"
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"term": "Try a different search",
|
"term": "Try a different search",
|
||||||
@@ -19011,13 +18724,6 @@
|
|||||||
"reference": "",
|
"reference": "",
|
||||||
"comment": ""
|
"comment": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"term": "Two Finger",
|
|
||||||
"translation": "",
|
|
||||||
"context": "Two Finger",
|
|
||||||
"reference": "",
|
|
||||||
"comment": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"term": "Type",
|
"term": "Type",
|
||||||
"translation": "",
|
"translation": "",
|
||||||
@@ -19333,13 +19039,6 @@
|
|||||||
"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": "",
|
||||||
@@ -20082,6 +19781,13 @@
|
|||||||
"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": "",
|
||||||
@@ -20747,13 +20453,6 @@
|
|||||||
"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": "",
|
||||||
|
|||||||
Reference in New Issue
Block a user