;
setValueText(
$valueText,
diff --git a/src/components/settingsPage.scss b/src/components/settingsPage.scss
index 2d93f3081..de2ba09cc 100644
--- a/src/components/settingsPage.scss
+++ b/src/components/settingsPage.scss
@@ -21,25 +21,21 @@ wc-page.main-settings-page {
}
.settings-search-summary {
- padding: 0.15rem 1rem;
- font-size: 0.82rem;
- font-weight: 700;
- line-height: 1.25;
- text-transform: uppercase;
- letter-spacing: 0.06em;
+ padding: 0.2rem 1rem;
+ font-size: 0.84rem;
+ font-weight: 600;
+ line-height: 1.35;
color: var(--secondary-text-color);
- color: color-mix(in srgb, var(--secondary-text-color), transparent 24%);
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 18%);
}
.settings-section-label {
- padding: 0.5rem 1rem 0.55rem;
- font-size: 0.78rem;
- font-weight: 700;
- line-height: 1.25;
- text-transform: uppercase;
- letter-spacing: 0.06em;
- color: var(--active-color);
- color: color-mix(in srgb, var(--active-color), transparent 30%);
+ padding: 0.5rem 1rem 0.45rem;
+ font-size: 0.84rem;
+ font-weight: 600;
+ line-height: 1.3;
+ color: var(--popup-text-color);
+ color: color-mix(in srgb, var(--popup-text-color), transparent 22%);
}
.settings-section-card {
@@ -184,25 +180,21 @@ wc-page.detail-settings-page {
}
.settings-search-summary {
- padding: 0.15rem 1rem;
- font-size: 0.82rem;
- font-weight: 700;
- line-height: 1.25;
- text-transform: uppercase;
- letter-spacing: 0.06em;
+ padding: 0.2rem 1rem;
+ font-size: 0.84rem;
+ font-weight: 600;
+ line-height: 1.35;
color: var(--secondary-text-color);
- color: color-mix(in srgb, var(--secondary-text-color), transparent 24%);
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 18%);
}
.settings-section-label {
- padding: 0.5rem 1rem 0.55rem;
- font-size: 0.78rem;
- font-weight: 700;
- line-height: 1.25;
- text-transform: uppercase;
- letter-spacing: 0.06em;
- color: var(--active-color);
- color: color-mix(in srgb, var(--active-color), transparent 30%);
+ padding: 0.5rem 1rem 0.45rem;
+ font-size: 0.84rem;
+ font-weight: 600;
+ line-height: 1.3;
+ color: var(--popup-text-color);
+ color: color-mix(in srgb, var(--popup-text-color), transparent 22%);
}
.settings-section-card {
@@ -316,13 +308,13 @@ wc-page.detail-settings-page {
padding-right: 0.6rem;
}
- .detail-settings-list > .list-item.has-subtitle.has-tail-value > .container,
- .settings-section-card > .list-item.has-subtitle.has-tail-value > .container {
+ .detail-settings-list > .list-item.has-subtitle.has-tail-select > .container,
+ .settings-section-card > .list-item.has-subtitle.has-tail-select > .container {
padding-right: 0.95rem;
}
- .detail-settings-list > .list-item.has-subtitle.has-tail-value > .setting-tail,
- .settings-section-card > .list-item.has-subtitle.has-tail-value > .setting-tail {
+ .detail-settings-list > .list-item.has-subtitle.has-tail-select > .setting-tail,
+ .settings-section-card > .list-item.has-subtitle.has-tail-select > .setting-tail {
align-self: flex-start;
margin-top: 0.16rem;
margin-left: 1.3rem;
@@ -424,6 +416,7 @@ wc-page.detail-settings-page {
height: 1.2rem;
margin-left: 0.1rem;
font-size: 1.1rem;
+ line-height: 1;
}
.input-checkbox {
diff --git a/src/settings/appSettings.js b/src/settings/appSettings.js
index 371ed841c..c79d35227 100644
--- a/src/settings/appSettings.js
+++ b/src/settings/appSettings.js
@@ -150,7 +150,7 @@ export default function otherSettings() {
key: "fontManager",
text: strings["fonts"],
info: "Install or remove app fonts",
- category: "Personalization",
+ category: "Fonts",
chevron: true,
},
{
@@ -158,21 +158,21 @@ export default function otherSettings() {
text: strings["remember opened files"],
checkbox: values.rememberFiles,
info: "Restore the files you had open last time",
- category: "Workspace",
+ category: "Files & sessions",
},
{
key: "rememberFolders",
text: strings["remember opened folders"],
checkbox: values.rememberFolders,
info: "Restore folders from the previous session",
- category: "Workspace",
+ category: "Files & sessions",
},
{
key: "retryRemoteFsAfterFail",
text: strings["retry ftp/sftp when fail"],
checkbox: values.retryRemoteFsAfterFail,
info: "Retry remote file operations after a failed transfer",
- category: "Workspace",
+ category: "Files & sessions",
},
{
key: "excludeFolders",
@@ -188,7 +188,7 @@ export default function otherSettings() {
},
},
info: "Folders and patterns to skip while searching or scanning",
- category: "Workspace",
+ category: "Files & sessions",
},
{
key: "defaultFileEncoding",
@@ -204,7 +204,7 @@ export default function otherSettings() {
}),
],
info: "Default encoding when opening or creating files",
- category: "Workspace",
+ category: "Files & sessions",
},
{
key: "keybindings",
diff --git a/src/settings/editorSettings.js b/src/settings/editorSettings.js
index 48bc75e19..2c24e476c 100644
--- a/src/settings/editorSettings.js
+++ b/src/settings/editorSettings.js
@@ -12,9 +12,60 @@ export default function editorSettings() {
key: "scroll-settings",
text: strings["scroll settings"],
info: "Scrollbar size, speed, and gesture behaviour",
- category: "Navigation",
+ category: "Scrolling",
chevron: true,
},
+ {
+ key: "editorFont",
+ text: strings["editor font"],
+ value: values.editorFont,
+ get select() {
+ return fonts.getNames();
+ },
+ info: "Typeface used in the editor",
+ category: "Text & layout",
+ },
+ {
+ key: "fontSize",
+ text: strings["font size"],
+ value: values.fontSize,
+ prompt: strings["font size"],
+ promptOptions: {
+ required: true,
+ match: constants.FONT_SIZE,
+ },
+ info: "Editor text size",
+ category: "Text & layout",
+ },
+ {
+ key: "lineHeight",
+ text: strings["line height"],
+ value: values.lineHeight,
+ prompt: strings["line height"],
+ promptType: "number",
+ promptOptions: {
+ test(value) {
+ value = Number.parseFloat(value);
+ return value >= 1 && value <= 2;
+ },
+ },
+ info: "Vertical spacing between lines",
+ category: "Text & layout",
+ },
+ {
+ key: "textWrap",
+ text: strings["text wrap"],
+ checkbox: values.textWrap,
+ info: "Wrap long lines inside the editor",
+ category: "Text & layout",
+ },
+ {
+ key: "hardWrap",
+ text: strings["hard wrap"],
+ checkbox: values.hardWrap,
+ info: "Insert line breaks instead of only wrapping visually",
+ category: "Text & layout",
+ },
{
key: "autosave",
text: strings.autosave,
@@ -31,18 +82,6 @@ export default function editorSettings() {
info: "Automatically save changes after a delay",
category: "Editing",
},
- {
- key: "fontSize",
- text: strings["font size"],
- value: values.fontSize,
- prompt: strings["font size"],
- promptOptions: {
- required: true,
- match: constants.FONT_SIZE,
- },
- info: "Editor text size",
- category: "Editing",
- },
{
key: "softTab",
text: strings["soft tab"],
@@ -72,86 +111,68 @@ export default function editorSettings() {
info: "Run the formatter when saving files",
category: "Editing",
},
- {
- key: "editorFont",
- text: strings["editor font"],
- value: values.editorFont,
- get select() {
- return fonts.getNames();
- },
- info: "Typeface used in the editor",
- category: "Editing",
- },
{
key: "liveAutoCompletion",
text: strings["live autocompletion"],
checkbox: values.liveAutoCompletion,
info: "Show suggestions while you type",
- category: "Editing",
+ category: "Assistance",
},
{
- key: "textWrap",
- text: strings["text wrap"],
- checkbox: values.textWrap,
- info: "Wrap long lines inside the editor",
- category: "Display",
- },
- {
- key: "hardWrap",
- text: strings["hard wrap"],
- checkbox: values.hardWrap,
- info: "Insert line breaks instead of only wrapping visually",
- category: "Display",
+ key: "colorPreview",
+ text: strings["color preview"],
+ checkbox: values.colorPreview,
+ info: "Preview color values inline",
+ category: "Assistance",
},
{
key: "linenumbers",
text: strings["show line numbers"],
checkbox: values.linenumbers,
info: "Show the gutter with line numbers",
- category: "Display",
+ category: "Guides & indicators",
},
{
key: "relativeLineNumbers",
text: strings["relative line numbers"],
checkbox: values.relativeLineNumbers,
info: "Show distance from the current line",
- category: "Display",
+ category: "Guides & indicators",
},
{
key: "lintGutter",
text: strings["lint gutter"] || "Show lint gutter",
checkbox: values.lintGutter ?? true,
info: "Show diagnostics and lint markers in the gutter",
- category: "Display",
- },
- {
- key: "lineHeight",
- text: strings["line height"],
- value: values.lineHeight,
- prompt: strings["line height"],
- promptType: "number",
- promptOptions: {
- test(value) {
- value = Number.parseFloat(value);
- return value >= 1 && value <= 2;
- },
- },
- info: "Vertical spacing between lines",
- category: "Display",
+ category: "Guides & indicators",
},
{
key: "showSpaces",
text: strings["show spaces"],
checkbox: values.showSpaces,
info: "Display visible whitespace markers",
- category: "Display",
+ category: "Guides & indicators",
},
{
- key: "colorPreview",
- text: strings["color preview"],
- checkbox: values.colorPreview,
- info: "Preview color values inline",
- category: "Display",
+ key: "indentGuides",
+ text: strings["indent guides"] || "Indent guides",
+ checkbox: values.indentGuides ?? true,
+ info: "Show indentation guide lines",
+ category: "Guides & indicators",
+ },
+ {
+ key: "rainbowBrackets",
+ text: strings["rainbow brackets"] || "Rainbow brackets",
+ checkbox: values.rainbowBrackets ?? true,
+ info: "Color matching brackets by nesting level",
+ category: "Guides & indicators",
+ },
+ {
+ key: "fadeFoldWidgets",
+ text: strings["fade fold widgets"],
+ checkbox: values.fadeFoldWidgets,
+ info: "Dim fold markers until they are needed",
+ category: "Guides & indicators",
},
{
key: "teardropSize",
@@ -167,42 +188,21 @@ export default function editorSettings() {
[60, strings.large],
],
info: "Cursor handle size for touch editing",
- category: "Cursor & Selection",
+ category: "Cursor & selection",
},
{
key: "shiftClickSelection",
text: strings["shift click selection"],
checkbox: values.shiftClickSelection,
info: "Extend selection with shift + tap or click",
- category: "Cursor & Selection",
+ category: "Cursor & selection",
},
{
key: "rtlText",
text: strings["line based rtl switching"],
checkbox: values.rtlText,
info: "Switch right-to-left behaviour per line",
- category: "Cursor & Selection",
- },
- {
- key: "fadeFoldWidgets",
- text: strings["fade fold widgets"],
- checkbox: values.fadeFoldWidgets,
- info: "Dim fold markers until they are needed",
- category: "Cursor & Selection",
- },
- {
- key: "rainbowBrackets",
- text: strings["rainbow brackets"] || "Rainbow brackets",
- checkbox: values.rainbowBrackets ?? true,
- info: "Color matching brackets by nesting level",
- category: "Cursor & Selection",
- },
- {
- key: "indentGuides",
- text: strings["indent guides"] || "Indent guides",
- checkbox: values.indentGuides ?? true,
- info: "Show indentation guide lines",
- category: "Cursor & Selection",
+ category: "Cursor & selection",
},
];
diff --git a/src/settings/lspSettings.js b/src/settings/lspSettings.js
index 9e5e94f26..d9596aae5 100644
--- a/src/settings/lspSettings.js
+++ b/src/settings/lspSettings.js
@@ -123,6 +123,7 @@ export default function lspSettings() {
key: "add_custom_server",
text: "Add Custom Server",
info: "Register a user-defined language server with install, update, and launch commands",
+ category: "Custom servers",
index: 0,
chevron: true,
},
@@ -141,6 +142,7 @@ export default function lspSettings() {
key: `server:${server.id}`,
text: server.label,
info: languagesList || undefined,
+ category: "Servers",
chevron: true,
});
}
diff --git a/src/settings/mainSettings.js b/src/settings/mainSettings.js
index b8b058458..410e9982d 100644
--- a/src/settings/mainSettings.js
+++ b/src/settings/mainSettings.js
@@ -32,7 +32,7 @@ export default function mainSettings() {
text: strings["app settings"],
icon: "tune",
info: "Language, behavior, and quick tools",
- category: "Core",
+ category: "Core settings",
chevron: true,
},
{
@@ -40,7 +40,7 @@ export default function mainSettings() {
text: strings["editor settings"],
icon: "text_format",
info: "Font, tabs, autocomplete, and display",
- category: "Core",
+ category: "Core settings",
chevron: true,
},
{
@@ -48,7 +48,7 @@ export default function mainSettings() {
text: `${strings["terminal settings"]}`,
icon: "licons terminal",
info: "Theme, fonts, shell, and scrollback",
- category: "Core",
+ category: "Core settings",
chevron: true,
},
{
@@ -56,7 +56,7 @@ export default function mainSettings() {
text: strings["preview settings"],
icon: "public",
info: "Live preview, rendering, ports, and browser mode",
- category: "Core",
+ category: "Core settings",
chevron: true,
},
{
@@ -64,7 +64,7 @@ export default function mainSettings() {
text: strings.formatter,
icon: "spellcheck",
info: "Per-language format tools",
- category: "Appearance & Tools",
+ category: "Customization & tools",
chevron: true,
},
{
@@ -72,7 +72,7 @@ export default function mainSettings() {
text: strings.theme,
icon: "color_lenspalette",
info: "App theme, contrast, and custom colors",
- category: "Appearance & Tools",
+ category: "Customization & tools",
chevron: true,
},
{
@@ -80,7 +80,7 @@ export default function mainSettings() {
text: strings["plugins"],
icon: "extension",
info: "Manage installed extensions and plugin actions",
- category: "Appearance & Tools",
+ category: "Customization & tools",
chevron: true,
},
{
@@ -88,7 +88,7 @@ export default function mainSettings() {
text: strings?.lsp_settings || "Language servers",
icon: "licons zap",
info: "Configure language servers and code intelligence",
- category: "Appearance & Tools",
+ category: "Customization & tools",
chevron: true,
},
{
@@ -96,7 +96,7 @@ export default function mainSettings() {
text: `${strings.backup.capitalize()} & ${strings.restore.capitalize()}`,
icon: "cached",
info: "Export or import your settings",
- category: "Data",
+ category: "Maintenance",
chevron: true,
},
{
@@ -104,7 +104,7 @@ export default function mainSettings() {
text: `${strings["edit"]} settings.json`,
icon: "edit",
info: "Advanced raw configuration",
- category: "Data",
+ category: "Maintenance",
chevron: true,
},
{
@@ -112,7 +112,7 @@ export default function mainSettings() {
text: strings["restore default settings"],
icon: "historyrestore",
info: "Reset the app back to its default configuration",
- category: "Data",
+ category: "Maintenance",
chevron: true,
},
{
@@ -120,7 +120,7 @@ export default function mainSettings() {
text: strings.about,
icon: "info",
info: `Version ${BuildInfo.version}`,
- category: "About",
+ category: "About Acode",
chevron: true,
},
{
@@ -128,7 +128,7 @@ export default function mainSettings() {
text: strings.sponsor,
icon: "favorite",
info: "Support Acode development",
- category: "About",
+ category: "About Acode",
chevron: true,
},
{
@@ -136,7 +136,7 @@ export default function mainSettings() {
text: `${strings["changelog"]}`,
icon: "update",
info: "Recent updates and release notes",
- category: "About",
+ category: "About Acode",
chevron: true,
},
{
@@ -144,7 +144,7 @@ export default function mainSettings() {
text: strings["rate acode"],
icon: "star_outline",
info: "Rate Acode on Google Play",
- category: "About",
+ category: "About Acode",
chevron: true,
},
];
@@ -155,7 +155,7 @@ export default function mainSettings() {
text: "Earn ad-free time",
icon: "play_arrow",
info: "Watch ads to unlock temporary ad-free access",
- category: "Support",
+ category: "Support Acode",
chevron: true,
});
items.push({
@@ -163,7 +163,7 @@ export default function mainSettings() {
text: strings["remove ads"],
icon: "block",
info: "Unlock permanent ad-free access",
- category: "Support",
+ category: "Support Acode",
chevron: true,
});
}
diff --git a/src/settings/previewSettings.js b/src/settings/previewSettings.js
index 9e69e50a0..0f77d0bdb 100644
--- a/src/settings/previewSettings.js
+++ b/src/settings/previewSettings.js
@@ -19,7 +19,7 @@ export default function previewSettings() {
},
},
info: "Port used by the live preview server",
- category: "Network",
+ category: "Server",
},
{
key: "serverPort",
@@ -33,7 +33,7 @@ export default function previewSettings() {
},
},
info: "Port used by the internal app server",
- category: "Network",
+ category: "Server",
},
{
key: "previewMode",
@@ -44,7 +44,7 @@ export default function previewSettings() {
[appSettings.PREVIEW_MODE_INAPP, strings.inapp],
],
info: "Where preview opens when you launch it",
- category: "Network",
+ category: "Server",
},
{
key: "host",
@@ -63,28 +63,28 @@ export default function previewSettings() {
},
},
info: "Hostname used when opening the preview URL",
- category: "Network",
+ category: "Server",
},
{
key: "disableCache",
text: strings["disable in-app-browser caching"],
checkbox: values.disableCache,
info: "Always reload content in the in-app browser",
- category: "Behavior",
+ category: "Preview",
},
{
key: "useCurrentFileForPreview",
text: strings["should_use_current_file_for_preview"],
checkbox: !!values.useCurrentFileForPreview,
info: "Prefer the current file when starting preview",
- category: "Behavior",
+ category: "Preview",
},
{
key: "showConsoleToggler",
text: strings["show console toggler"],
checkbox: values.showConsoleToggler,
info: "Show the console button in preview",
- category: "Behavior",
+ category: "Preview",
},
{
note: strings["preview settings note"],
diff --git a/src/settings/terminalSettings.js b/src/settings/terminalSettings.js
index 4bf7efe17..82e77bf28 100644
--- a/src/settings/terminalSettings.js
+++ b/src/settings/terminalSettings.js
@@ -33,7 +33,7 @@ export default function terminalSettings() {
key: "all_file_access",
text: strings["allFileAccess"],
info: strings["info-all_file_access"],
- category: "Access",
+ category: "Permissions",
chevron: true,
},
{
@@ -49,7 +49,7 @@ export default function terminalSettings() {
},
},
info: strings["info-fontSize"],
- category: "Appearance",
+ category: "Display",
},
{
key: "fontFamily",
@@ -59,7 +59,7 @@ export default function terminalSettings() {
return fonts.getNames();
},
info: strings["info-fontFamily"],
- category: "Appearance",
+ category: "Display",
},
{
key: "theme",
@@ -76,23 +76,7 @@ export default function terminalSettings() {
const option = this.select.find(([v]) => v === value);
return option ? option[1] : value;
},
- category: "Appearance",
- },
- {
- key: "cursorStyle",
- text: strings["terminal:cursor style"],
- value: terminalValues.cursorStyle,
- select: ["block", "underline", "bar"],
- info: strings["info-cursorStyle"],
- category: "Cursor",
- },
- {
- key: "cursorInactiveStyle",
- text: strings["terminal:cursor inactive style"],
- value: terminalValues.cursorInactiveStyle,
- select: ["outline", "block", "bar", "underline", "none"],
- info: strings["info-cursorInactiveStyle"],
- category: "Cursor",
+ category: "Display",
},
{
key: "fontWeight",
@@ -112,7 +96,39 @@ export default function terminalSettings() {
"900",
],
info: strings["info-fontWeight"],
- category: "Appearance",
+ category: "Display",
+ },
+ {
+ key: "letterSpacing",
+ text: strings["letter spacing"],
+ value: terminalValues.letterSpacing,
+ prompt: strings["letter spacing"],
+ promptType: "number",
+ info: strings["info-letterSpacing"],
+ category: "Display",
+ },
+ {
+ key: "fontLigatures",
+ text: strings["font ligatures"],
+ checkbox: terminalValues.fontLigatures,
+ info: strings["info-fontLigatures"],
+ category: "Display",
+ },
+ {
+ key: "cursorStyle",
+ text: strings["terminal:cursor style"],
+ value: terminalValues.cursorStyle,
+ select: ["block", "underline", "bar"],
+ info: strings["info-cursorStyle"],
+ category: "Cursor",
+ },
+ {
+ key: "cursorInactiveStyle",
+ text: strings["terminal:cursor inactive style"],
+ value: terminalValues.cursorInactiveStyle,
+ select: ["outline", "block", "bar", "underline", "none"],
+ info: strings["info-cursorInactiveStyle"],
+ category: "Cursor",
},
{
key: "cursorBlink",
@@ -134,7 +150,7 @@ export default function terminalSettings() {
},
},
info: strings["info-scrollback"],
- category: "Behavior",
+ category: "Session",
},
{
key: "tabStopWidth",
@@ -149,64 +165,48 @@ export default function terminalSettings() {
},
},
info: strings["info-tabStopWidth"],
- category: "Behavior",
- },
- {
- key: "letterSpacing",
- text: strings["letter spacing"],
- value: terminalValues.letterSpacing,
- prompt: strings["letter spacing"],
- promptType: "number",
- info: strings["info-letterSpacing"],
- category: "Appearance",
+ category: "Session",
},
{
key: "convertEol",
text: strings["terminal:convert eol"],
checkbox: terminalValues.convertEol,
info: "Convert line endings when pasting or rendering output",
- category: "Behavior",
+ category: "Session",
},
{
key: "imageSupport",
text: strings["terminal:image support"],
checkbox: terminalValues.imageSupport,
info: strings["info-imageSupport"],
- category: "Behavior",
- },
- {
- key: "fontLigatures",
- text: strings["font ligatures"],
- checkbox: terminalValues.fontLigatures,
- info: strings["info-fontLigatures"],
- category: "Appearance",
+ category: "Session",
},
{
key: "confirmTabClose",
text: strings["terminal:confirm tab close"],
checkbox: terminalValues.confirmTabClose !== false,
info: strings["info-confirmTabClose"],
- category: "Behavior",
+ category: "Session",
},
{
key: "backup",
text: strings.backup,
info: strings["info-backup"],
- category: "Data",
+ category: "Maintenance",
chevron: true,
},
{
key: "restore",
text: strings.restore,
info: strings["info-restore"],
- category: "Data",
+ category: "Maintenance",
chevron: true,
},
{
key: "uninstall",
text: strings.uninstall,
info: strings["info-uninstall"],
- category: "Data",
+ category: "Maintenance",
chevron: true,
},
];
From 2f14ce0d5d988b93b209ff21cb777e1d381e5577 Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 11:35:41 +0530
Subject: [PATCH 06/14] fix
---
src/components/settingsPage.scss | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/components/settingsPage.scss b/src/components/settingsPage.scss
index de2ba09cc..31500fbc2 100644
--- a/src/components/settingsPage.scss
+++ b/src/components/settingsPage.scss
@@ -34,8 +34,7 @@ wc-page.main-settings-page {
font-size: 0.84rem;
font-weight: 600;
line-height: 1.3;
- color: var(--popup-text-color);
- color: color-mix(in srgb, var(--popup-text-color), transparent 22%);
+ color: color-mix(in srgb, var(--active-color), transparent 18%);
}
.settings-section-card {
@@ -193,8 +192,7 @@ wc-page.detail-settings-page {
font-size: 0.84rem;
font-weight: 600;
line-height: 1.3;
- color: var(--popup-text-color);
- color: color-mix(in srgb, var(--popup-text-color), transparent 22%);
+ color: color-mix(in srgb, var(--active-color), transparent 18%);
}
.settings-section-card {
From 992bc534eee48e922f5ea482f9cb06edae49401c Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 12:05:21 +0530
Subject: [PATCH 07/14] improve the font manager
---
src/pages/fontManager/fontManager.js | 35 +++--
src/pages/fontManager/style.scss | 214 ++++++++++++++++++++-------
2 files changed, 183 insertions(+), 66 deletions(-)
diff --git a/src/pages/fontManager/fontManager.js b/src/pages/fontManager/fontManager.js
index e132b90a4..98a16b788 100644
--- a/src/pages/fontManager/fontManager.js
+++ b/src/pages/fontManager/fontManager.js
@@ -22,6 +22,7 @@ export default function fontManager() {
const $search =
;
const $addFont =
;
const list = Ref();
+ $page.classList.add("font-manager-page");
actionStack.push({
id: "fontManager",
@@ -36,7 +37,7 @@ export default function fontManager() {
actionStack.remove("fontManager");
};
- $page.body =
;
+ $page.body =
;
$page.querySelector("header").append($search, $addFont);
@@ -287,33 +288,49 @@ export default function fontManager() {
function FontItem({ name, isCurrent, onSelect, onDelete }) {
const defaultFonts = ["Fira Code", "Roboto Mono", "MesloLGS NF Regular"];
const isDefault = defaultFonts.includes(name);
+ const subtitle = isCurrent
+ ? "Current editor font"
+ : isDefault
+ ? "Built-in font"
+ : "Custom font";
const $item = (
-
+ {isCurrent || !isDefault
+ ?
+ {isCurrent
+ ? Current
+ : null}
+ {!isDefault
+ ?
+ : null}
+
+ : null}
);
$item.onclick = (e) => {
- const action = e.target.dataset.action;
+ const $target = e.target;
+ const action = $target.dataset.action;
if (action === "delete" && !isDefault) {
e.stopPropagation();
onDelete();
} else if (
- !e.target.classList.contains("icon") ||
+ !$target.classList.contains("font-manager-action") ||
action === "select-font"
) {
onSelect();
diff --git a/src/pages/fontManager/style.scss b/src/pages/fontManager/style.scss
index 670d8ec3b..2228ced44 100644
--- a/src/pages/fontManager/style.scss
+++ b/src/pages/fontManager/style.scss
@@ -1,63 +1,163 @@
-.main.list .list-item.current-font {
- background: var(--active-color-5, rgba(51, 153, 255, 0.1)) !important;
- border-left: 3px solid var(--active-color) !important;
+wc-page.font-manager-page {
+ background: var(--secondary-color);
- .text {
- font-weight: 600 !important;
- }
+ .font-manager-list {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ max-width: 48rem;
+ margin: 0 auto;
+ padding: 0.5rem 0 5.5rem;
+ box-sizing: border-box;
+ background: var(--secondary-color);
+ }
- .icon:first-child {
- color: var(--active-color) !important;
- }
-}
+ .font-manager-list > .list-item {
+ display: flex;
+ width: 100%;
+ min-height: 4.1rem;
+ margin: 0;
+ padding: 0.75rem 1rem;
+ box-sizing: border-box;
+ align-items: center;
+ gap: 0.85rem;
+ background: transparent;
+ cursor: pointer;
+ transition: background-color 140ms ease;
+ text-decoration: none;
+
+ &:not(:last-of-type) {
+ border-bottom: 1px solid var(--border-color);
+ border-bottom: 1px solid color-mix(in srgb, var(--border-color), transparent 20%);
+ }
+
+ &:focus,
+ &:active {
+ background: color-mix(
+ in srgb,
+ var(--secondary-color),
+ var(--popup-text-color) 4%
+ );
+ }
+
+ > .icon:first-child {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 1.4rem;
+ min-width: 1.4rem;
+ height: 1.4rem;
+ font-size: 1.15rem;
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 18%);
+ }
+
+ > .container {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ overflow: visible;
+ gap: 0.24rem;
+ padding-right: 0.6rem;
+
+ > .text {
+ display: flex;
+ align-items: center;
+ min-width: 0;
+ font-size: 1rem;
+ line-height: 1.2;
+ font-weight: 600;
+ color: var(--popup-text-color);
+ }
+
+ > .value {
+ display: block;
+ font-size: 0.82rem;
+ line-height: 1.35;
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 30%);
+ text-transform: none;
+ white-space: normal;
+ overflow: visible;
+ overflow-wrap: anywhere;
+ opacity: 1;
+ }
+ }
+
+ > .setting-tail {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ flex-shrink: 0;
+ min-height: 1.65rem;
+ gap: 0.65rem;
+ margin-left: 0.9rem;
+ align-self: center;
+ }
+ }
+
+ .font-manager-list > .list-item.current-font {
+ background: color-mix(in srgb, var(--secondary-color), var(--active-color) 8%);
+ }
-.font-manager {
- .list-item {
- .container {
- flex: 1;
- }
-
- .icon {
-
- &.visibility,
- &.delete {
- opacity: 0.6;
- transition: opacity 0.2s ease;
- cursor: pointer;
-
- &:hover {
- opacity: 1;
- }
- }
-
- &.delete {
- &:hover:not(.disabled) {
- color: var(--error-text-color);
- }
-
- &.disabled {
- opacity: 0.3;
- cursor: not-allowed;
-
- &:hover {
- opacity: 0.3;
- }
- }
- }
- }
- }
+ .font-manager-list > .list-item.current-font:focus,
+ .font-manager-list > .list-item.current-font:active {
+ background: color-mix(in srgb, var(--secondary-color), var(--active-color) 12%);
+ }
+
+ .font-manager-list > .list-item.current-font > .icon:first-child {
+ color: color-mix(in srgb, var(--active-color), transparent 10%);
+ }
+
+ .font-manager-list > .list-item.current-font > .container > .text {
+ font-weight: 700;
+ }
+
+ @media screen and (min-width: 768px) {
+ .font-manager-list {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ }
+ }
+
+ .font-manager-current {
+ display: inline-flex;
+ align-items: center;
+ font-size: 0.82rem;
+ font-weight: 600;
+ line-height: 1.2;
+ color: color-mix(in srgb, var(--active-color), transparent 14%);
+ }
+
+ .font-manager-action {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 1.2rem;
+ min-width: 1.2rem;
+ height: 1.2rem;
+ font-size: 1.1rem;
+ line-height: 1;
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 28%);
+ cursor: pointer;
+ transition: color 140ms ease;
+
+ &:hover,
+ &:active {
+ color: var(--error-text-color);
+ }
+ }
}
.prompt.box {
- .font-css-editor {
- &.input {
- border-bottom: 1px solid var(--border-color);
- min-height: 120px;
- margin-top: 5px;
-
- &:focus {
- border-bottom-color: var(--active-color);
- }
- }
- }
-}
\ No newline at end of file
+ .font-css-editor {
+ &.input {
+ border-bottom: 1px solid var(--border-color);
+ min-height: 120px;
+ margin-top: 5px;
+
+ &:focus {
+ border-bottom-color: var(--active-color);
+ }
+ }
+ }
+}
From fbe364e46bb599cfd99fd5f50be2400c65ed02d7 Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 12:23:15 +0530
Subject: [PATCH 08/14] fix(settings): localize settings help text
---
src/lang/ar-ye.json | 195 +++++++++++++++++++++-
src/lang/be-by.json | 195 +++++++++++++++++++++-
src/lang/bn-bd.json | 195 +++++++++++++++++++++-
src/lang/cs-cz.json | 195 +++++++++++++++++++++-
src/lang/de-de.json | 195 +++++++++++++++++++++-
src/lang/en-us.json | 195 +++++++++++++++++++++-
src/lang/es-sv.json | 195 +++++++++++++++++++++-
src/lang/fr-fr.json | 195 +++++++++++++++++++++-
src/lang/he-il.json | 195 +++++++++++++++++++++-
src/lang/hi-in.json | 195 +++++++++++++++++++++-
src/lang/hu-hu.json | 195 +++++++++++++++++++++-
src/lang/id-id.json | 195 +++++++++++++++++++++-
src/lang/ir-fa.json | 195 +++++++++++++++++++++-
src/lang/it-it.json | 195 +++++++++++++++++++++-
src/lang/ja-jp.json | 195 +++++++++++++++++++++-
src/lang/ko-kr.json | 195 +++++++++++++++++++++-
src/lang/ml-in.json | 195 +++++++++++++++++++++-
src/lang/mm-unicode.json | 195 +++++++++++++++++++++-
src/lang/mm-zawgyi.json | 195 +++++++++++++++++++++-
src/lang/pl-pl.json | 195 +++++++++++++++++++++-
src/lang/pt-br.json | 195 +++++++++++++++++++++-
src/lang/pu-in.json | 195 +++++++++++++++++++++-
src/lang/ru-ru.json | 195 +++++++++++++++++++++-
src/lang/tl-ph.json | 195 +++++++++++++++++++++-
src/lang/tr-tr.json | 195 +++++++++++++++++++++-
src/lang/uk-ua.json | 195 +++++++++++++++++++++-
src/lang/uz-uz.json | 195 +++++++++++++++++++++-
src/lang/vi-vn.json | 195 +++++++++++++++++++++-
src/lang/zh-cn.json | 195 +++++++++++++++++++++-
src/lang/zh-hant.json | 195 +++++++++++++++++++++-
src/lang/zh-tw.json | 195 +++++++++++++++++++++-
src/settings/appSettings.js | 104 ++++++------
src/settings/editorSettings.js | 96 ++++++-----
src/settings/formatterSettings.js | 2 +-
src/settings/lspServerDetail.js | 267 ++++++++++++++++++------------
src/settings/lspSettings.js | 93 +++++++----
src/settings/mainSettings.js | 80 +++++----
src/settings/previewSettings.js | 32 ++--
src/settings/terminalSettings.js | 49 +++---
39 files changed, 6431 insertions(+), 337 deletions(-)
diff --git a/src/lang/ar-ye.json b/src/lang/ar-ye.json
index 5279bc0af..b7cf65cc2 100644
--- a/src/lang/ar-ye.json
+++ b/src/lang/ar-ye.json
@@ -504,5 +504,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/be-by.json b/src/lang/be-by.json
index 31405f517..0107f567d 100644
--- a/src/lang/be-by.json
+++ b/src/lang/be-by.json
@@ -506,5 +506,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/bn-bd.json b/src/lang/bn-bd.json
index ddea279af..1300bff17 100644
--- a/src/lang/bn-bd.json
+++ b/src/lang/bn-bd.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/cs-cz.json b/src/lang/cs-cz.json
index 8ab39e3dd..62ebf1cea 100644
--- a/src/lang/cs-cz.json
+++ b/src/lang/cs-cz.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/de-de.json b/src/lang/de-de.json
index 45a1882fc..a84838d2c 100644
--- a/src/lang/de-de.json
+++ b/src/lang/de-de.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/en-us.json b/src/lang/en-us.json
index a52de8315..57fd32445 100644
--- a/src/lang/en-us.json
+++ b/src/lang/en-us.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/es-sv.json b/src/lang/es-sv.json
index af5a48db1..eb4900c56 100644
--- a/src/lang/es-sv.json
+++ b/src/lang/es-sv.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/fr-fr.json b/src/lang/fr-fr.json
index 7a2264b66..15b8ec138 100644
--- a/src/lang/fr-fr.json
+++ b/src/lang/fr-fr.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/he-il.json b/src/lang/he-il.json
index 7168e7b1e..e180ddcdb 100644
--- a/src/lang/he-il.json
+++ b/src/lang/he-il.json
@@ -506,5 +506,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/hi-in.json b/src/lang/hi-in.json
index d3bb43651..9773f685f 100644
--- a/src/lang/hi-in.json
+++ b/src/lang/hi-in.json
@@ -506,5 +506,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/hu-hu.json b/src/lang/hu-hu.json
index 559df68b5..c0b672e8f 100644
--- a/src/lang/hu-hu.json
+++ b/src/lang/hu-hu.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Ez az eszköz nem támogatja a kezdőképernyő-parancsikonokat.",
"save file before home shortcut": "A kezdőképernyőhöz való hozzáadás előtt mentse el a fájlt.",
"terminal_required_message_for_lsp": "A Terminál nincs telepítve. Először telepítse a Terminált, hogy használni tudja az LSP-kiszolgálókat.",
- "shift click selection": "Shift + koppintás/kattintás a kiválasztáshoz"
+ "shift click selection": "Shift + koppintás/kattintás a kiválasztáshoz",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/id-id.json b/src/lang/id-id.json
index d4102f8a1..0335c5837 100644
--- a/src/lang/id-id.json
+++ b/src/lang/id-id.json
@@ -506,5 +506,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/ir-fa.json b/src/lang/ir-fa.json
index 13c89f4e4..551892fb9 100644
--- a/src/lang/ir-fa.json
+++ b/src/lang/ir-fa.json
@@ -506,5 +506,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/it-it.json b/src/lang/it-it.json
index f225a67cf..dc5f470a7 100644
--- a/src/lang/it-it.json
+++ b/src/lang/it-it.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/ja-jp.json b/src/lang/ja-jp.json
index 66eb11966..48f67b743 100644
--- a/src/lang/ja-jp.json
+++ b/src/lang/ja-jp.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/ko-kr.json b/src/lang/ko-kr.json
index 08f0df135..c694c0ca9 100644
--- a/src/lang/ko-kr.json
+++ b/src/lang/ko-kr.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/ml-in.json b/src/lang/ml-in.json
index c7eb73987..68937f682 100644
--- a/src/lang/ml-in.json
+++ b/src/lang/ml-in.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/mm-unicode.json b/src/lang/mm-unicode.json
index d3cc2edac..45b15db75 100644
--- a/src/lang/mm-unicode.json
+++ b/src/lang/mm-unicode.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/mm-zawgyi.json b/src/lang/mm-zawgyi.json
index a19c87f89..b51f594b1 100644
--- a/src/lang/mm-zawgyi.json
+++ b/src/lang/mm-zawgyi.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/pl-pl.json b/src/lang/pl-pl.json
index 02ccc427f..0a892f854 100644
--- a/src/lang/pl-pl.json
+++ b/src/lang/pl-pl.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/pt-br.json b/src/lang/pt-br.json
index 8aace563a..5a3140255 100644
--- a/src/lang/pt-br.json
+++ b/src/lang/pt-br.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/pu-in.json b/src/lang/pu-in.json
index 44c29a8b0..e4374d8a8 100644
--- a/src/lang/pu-in.json
+++ b/src/lang/pu-in.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/ru-ru.json b/src/lang/ru-ru.json
index 0ca00f3a5..b4fccfb04 100644
--- a/src/lang/ru-ru.json
+++ b/src/lang/ru-ru.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/tl-ph.json b/src/lang/tl-ph.json
index 02595aeba..6418fbd6a 100644
--- a/src/lang/tl-ph.json
+++ b/src/lang/tl-ph.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/tr-tr.json b/src/lang/tr-tr.json
index 505d05012..ce40f18c1 100644
--- a/src/lang/tr-tr.json
+++ b/src/lang/tr-tr.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/uk-ua.json b/src/lang/uk-ua.json
index eb8e30fa7..2064e034c 100644
--- a/src/lang/uk-ua.json
+++ b/src/lang/uk-ua.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Ярлики на головному екрані не підтримуються на цьому пристрої.",
"save file before home shortcut": "Збережіть файл, перш ніж додавати його на головний екран.",
"terminal_required_message_for_lsp": "Термінал не встановлено. Будь ласка, спочатку встановіть Термінал, щоб використовувати сервери LSP.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/uz-uz.json b/src/lang/uz-uz.json
index e509255b9..05b47f20a 100644
--- a/src/lang/uz-uz.json
+++ b/src/lang/uz-uz.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/vi-vn.json b/src/lang/vi-vn.json
index 6f68fd626..389b11523 100644
--- a/src/lang/vi-vn.json
+++ b/src/lang/vi-vn.json
@@ -506,5 +506,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json
index 700ff0526..171872b58 100644
--- a/src/lang/zh-cn.json
+++ b/src/lang/zh-cn.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/zh-hant.json b/src/lang/zh-hant.json
index 2e635cff4..65af302b8 100644
--- a/src/lang/zh-hant.json
+++ b/src/lang/zh-hant.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json
index 8a1e56c5b..f0ccde88a 100644
--- a/src/lang/zh-tw.json
+++ b/src/lang/zh-tw.json
@@ -505,5 +505,198 @@
"pin shortcuts not supported": "Home screen shortcuts are not supported on this device.",
"save file before home shortcut": "Save the file before adding it to the home screen.",
"terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers.",
- "shift click selection": "Shift + tap/click selection"
+ "shift click selection": "Shift + tap/click selection",
+ "earn ad-free time": "Earn ad-free time",
+ "indent guides": "Indent guides",
+ "language servers": "Language servers",
+ "lint gutter": "Show lint gutter",
+ "rainbow brackets": "Rainbow brackets",
+ "lsp-add-custom-server": "Add custom server",
+ "lsp-binary-args": "Binary args (JSON array)",
+ "lsp-binary-command": "Binary command",
+ "lsp-binary-path-optional": "Binary path (optional)",
+ "lsp-check-command-optional": "Check command (optional override)",
+ "lsp-checking-installation-status": "Checking installation status...",
+ "lsp-configured": "Configured",
+ "lsp-custom-server-added": "Custom server added",
+ "lsp-default": "Default",
+ "lsp-details-line": "Details: {details}",
+ "lsp-edit-initialization-options": "Edit initialization options",
+ "lsp-empty": "Empty",
+ "lsp-enabled": "Enabled",
+ "lsp-error-add-server-failed": "Failed to add server",
+ "lsp-error-args-must-be-array": "Arguments must be a JSON array",
+ "lsp-error-binary-command-required": "Binary command is required",
+ "lsp-error-language-id-required": "At least one language ID is required",
+ "lsp-error-package-required": "At least one package is required",
+ "lsp-error-server-id-required": "Server ID is required",
+ "lsp-feature-completion": "Code completion",
+ "lsp-feature-completion-info": "Enable autocomplete suggestions from the server.",
+ "lsp-feature-diagnostics": "Diagnostics",
+ "lsp-feature-diagnostics-info": "Show errors and warnings from the language server.",
+ "lsp-feature-document-highlights": "Document highlights",
+ "lsp-feature-document-highlights-info": "Highlight all occurrences of the word under the cursor.",
+ "lsp-feature-formatting": "Formatting",
+ "lsp-feature-formatting-info": "Enable code formatting from the language server.",
+ "lsp-feature-hover": "Hover information",
+ "lsp-feature-hover-info": "Show type information and documentation on hover.",
+ "lsp-feature-inlay-hints": "Inlay hints",
+ "lsp-feature-inlay-hints-info": "Show inline type hints in the editor.",
+ "lsp-feature-signature": "Signature help",
+ "lsp-feature-signature-info": "Show function parameter hints while typing.",
+ "lsp-feature-state-toast": "{feature} {state}",
+ "lsp-initialization-options": "Initialization options",
+ "lsp-initialization-options-json": "Initialization options (JSON)",
+ "lsp-initialization-options-updated": "Initialization options updated",
+ "lsp-install-command": "Install command",
+ "lsp-install-command-unavailable": "Install command not available",
+ "lsp-install-info-check-failed": "Acode could not verify the installation status.",
+ "lsp-install-info-missing": "Language server is not installed in the terminal environment.",
+ "lsp-install-info-ready": "Language server is installed and ready.",
+ "lsp-install-info-unknown": "Installation status could not be checked automatically.",
+ "lsp-install-info-version-available": "Version {version} is available.",
+ "lsp-install-method-apk": "APK package",
+ "lsp-install-method-cargo": "Cargo crate",
+ "lsp-install-method-manual": "Manual binary",
+ "lsp-install-method-npm": "npm package",
+ "lsp-install-method-pip": "pip package",
+ "lsp-install-method-shell": "Custom shell",
+ "lsp-install-method-title": "Install method",
+ "lsp-install-repair": "Install / repair",
+ "lsp-installation-status": "Installation status",
+ "lsp-installed": "Installed",
+ "lsp-invalid-timeout": "Invalid timeout value",
+ "lsp-language-ids": "Language IDs (comma separated)",
+ "lsp-packages-prompt": "{method} packages (comma separated)",
+ "lsp-remove-installed-files": "Remove installed files for {server}?",
+ "lsp-server-disabled-toast": "Server disabled",
+ "lsp-server-enabled-toast": "Server enabled",
+ "lsp-server-id": "Server ID",
+ "lsp-server-label": "Server label",
+ "lsp-server-not-found": "Server not found",
+ "lsp-server-uninstalled": "Server uninstalled",
+ "lsp-startup-timeout": "Startup timeout",
+ "lsp-startup-timeout-ms": "Startup timeout (milliseconds)",
+ "lsp-startup-timeout-set": "Startup timeout set to {timeout} ms",
+ "lsp-state-disabled": "disabled",
+ "lsp-state-enabled": "enabled",
+ "lsp-status-check-failed": "Check failed",
+ "lsp-status-installed": "Installed",
+ "lsp-status-installed-version": "Installed ({version})",
+ "lsp-status-line": "Status: {status}",
+ "lsp-status-not-installed": "Not installed",
+ "lsp-status-unknown": "Unknown",
+ "lsp-timeout-ms": "{timeout} ms",
+ "lsp-uninstall-command-unavailable": "Uninstall command not available",
+ "lsp-uninstall-server": "Uninstall server",
+ "lsp-update-command-optional": "Update command (optional)",
+ "lsp-update-command-unavailable": "Update command not available",
+ "lsp-update-server": "Update server",
+ "lsp-version-line": "Version: {version}",
+ "lsp-view-initialization-options": "View initialization options",
+ "settings-category-about-acode": "About Acode",
+ "settings-category-advanced": "Advanced",
+ "settings-category-assistance": "Assistance",
+ "settings-category-core": "Core settings",
+ "settings-category-cursor": "Cursor",
+ "settings-category-cursor-selection": "Cursor & selection",
+ "settings-category-custom-servers": "Custom servers",
+ "settings-category-customization-tools": "Customization & tools",
+ "settings-category-display": "Display",
+ "settings-category-editing": "Editing",
+ "settings-category-features": "Features",
+ "settings-category-files-sessions": "Files & sessions",
+ "settings-category-fonts": "Fonts",
+ "settings-category-general": "General",
+ "settings-category-guides-indicators": "Guides & indicators",
+ "settings-category-installation": "Installation",
+ "settings-category-interface": "Interface",
+ "settings-category-maintenance": "Maintenance",
+ "settings-category-permissions": "Permissions",
+ "settings-category-preview": "Preview",
+ "settings-category-scrolling": "Scrolling",
+ "settings-category-server": "Server",
+ "settings-category-servers": "Servers",
+ "settings-category-session": "Session",
+ "settings-category-support-acode": "Support Acode",
+ "settings-category-text-layout": "Text & layout",
+ "settings-info-app-animation": "Control transition animations across the app.",
+ "settings-info-app-check-files": "Refresh editors when files change outside Acode.",
+ "settings-info-app-clean-install-state": "Clear stored install state used by onboarding and setup flows.",
+ "settings-info-app-confirm-on-exit": "Ask before closing the app.",
+ "settings-info-app-console": "Choose which debug console integration Acode uses.",
+ "settings-info-app-default-file-encoding": "Default encoding when opening or creating files.",
+ "settings-info-app-exclude-folders": "Skip folders and patterns while searching or scanning.",
+ "settings-info-app-floating-button": "Show the floating quick actions button.",
+ "settings-info-app-font-manager": "Install, manage, or remove app fonts.",
+ "settings-info-app-fullscreen": "Hide the system status bar while using Acode.",
+ "settings-info-app-keybindings": "Edit the key bindings file or reset shortcuts.",
+ "settings-info-app-keyboard-mode": "Choose how the software keyboard behaves while editing.",
+ "settings-info-app-language": "Choose the app language and translated labels.",
+ "settings-info-app-open-file-list-position": "Choose where the active files list appears.",
+ "settings-info-app-quick-tools-settings": "Reorder and customize quick tool shortcuts.",
+ "settings-info-app-quick-tools-trigger-mode": "Choose how quick tools open on tap or touch.",
+ "settings-info-app-remember-files": "Reopen the files that were open last time.",
+ "settings-info-app-remember-folders": "Reopen folders from the previous session.",
+ "settings-info-app-retry-remote-fs": "Retry remote file operations after a failed transfer.",
+ "settings-info-app-side-buttons": "Show extra action buttons beside the editor.",
+ "settings-info-app-sponsor-sidebar": "Show the sponsor entry in the sidebar.",
+ "settings-info-app-touch-move-threshold": "Minimum movement before a touch drag is detected.",
+ "settings-info-app-vibrate-on-tap": "Enable haptic feedback for taps and controls.",
+ "settings-info-editor-autosave": "Save changes automatically after a delay.",
+ "settings-info-editor-color-preview": "Preview color values inline in the editor.",
+ "settings-info-editor-fade-fold-widgets": "Dim fold markers until they are needed.",
+ "settings-info-editor-font-family": "Choose the typeface used in the editor.",
+ "settings-info-editor-font-size": "Set the editor text size.",
+ "settings-info-editor-format-on-save": "Run the formatter whenever a file is saved.",
+ "settings-info-editor-hard-wrap": "Insert real line breaks instead of only wrapping visually.",
+ "settings-info-editor-indent-guides": "Show indentation guide lines.",
+ "settings-info-editor-line-height": "Adjust vertical spacing between lines.",
+ "settings-info-editor-line-numbers": "Show line numbers in the gutter.",
+ "settings-info-editor-lint-gutter": "Show diagnostics and lint markers in the gutter.",
+ "settings-info-editor-live-autocomplete": "Show suggestions while you type.",
+ "settings-info-editor-rainbow-brackets": "Color matching brackets by nesting depth.",
+ "settings-info-editor-relative-line-numbers": "Show distance from the current line.",
+ "settings-info-editor-rtl-text": "Switch right-to-left behavior per line.",
+ "settings-info-editor-scroll-settings": "Adjust scrollbar size, speed, and gesture behavior.",
+ "settings-info-editor-shift-click-selection": "Extend selection with Shift + tap or click.",
+ "settings-info-editor-show-spaces": "Display visible whitespace markers.",
+ "settings-info-editor-soft-tab": "Insert spaces instead of tab characters.",
+ "settings-info-editor-tab-size": "Set how many spaces each tab step uses.",
+ "settings-info-editor-teardrop-size": "Set the cursor handle size for touch editing.",
+ "settings-info-editor-text-wrap": "Wrap long lines inside the editor.",
+ "settings-info-lsp-add-custom-server": "Register a custom language server with install, update, and launch commands.",
+ "settings-info-lsp-edit-init-options": "Edit initialization options as JSON.",
+ "settings-info-lsp-install-server": "Install or repair this language server.",
+ "settings-info-lsp-server-enabled": "Enable or disable this language server.",
+ "settings-info-lsp-startup-timeout": "Set how long Acode waits for the server to start.",
+ "settings-info-lsp-uninstall-server": "Remove installed packages or binaries for this server.",
+ "settings-info-lsp-update-server": "Update this language server if an update flow is available.",
+ "settings-info-lsp-view-init-options": "View the effective initialization options as JSON.",
+ "settings-info-main-ad-rewards": "Watch ads to unlock temporary ad-free access.",
+ "settings-info-main-app-settings": "Language, app behavior, and quick access tools.",
+ "settings-info-main-backup-restore": "Export settings to a backup or restore them later.",
+ "settings-info-main-changelog": "See recent updates and release notes.",
+ "settings-info-main-edit-settings": "Edit the raw settings.json file directly.",
+ "settings-info-main-editor-settings": "Fonts, tabs, suggestions, and editor display.",
+ "settings-info-main-formatter": "Choose a formatter for each supported language.",
+ "settings-info-main-lsp-settings": "Configure language servers and editor intelligence.",
+ "settings-info-main-plugins": "Manage installed plugins and their available actions.",
+ "settings-info-main-preview-settings": "Preview mode, server ports, and browser behavior.",
+ "settings-info-main-rateapp": "Rate Acode on Google Play.",
+ "settings-info-main-remove-ads": "Unlock permanent ad-free access.",
+ "settings-info-main-reset": "Reset Acode to its default configuration.",
+ "settings-info-main-sponsors": "Support ongoing Acode development.",
+ "settings-info-main-terminal-settings": "Terminal theme, font, cursor, and session behavior.",
+ "settings-info-main-theme": "App theme, contrast, and custom colors.",
+ "settings-info-preview-disable-cache": "Always reload content in the in-app browser.",
+ "settings-info-preview-host": "Hostname used when opening the preview URL.",
+ "settings-info-preview-mode": "Choose where preview opens when you launch it.",
+ "settings-info-preview-preview-port": "Port used by the live preview server.",
+ "settings-info-preview-server-port": "Port used by the internal app server.",
+ "settings-info-preview-show-console-toggler": "Show the console button in preview.",
+ "settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
+ "settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
+ "settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
}
diff --git a/src/settings/appSettings.js b/src/settings/appSettings.js
index c79d35227..d6f2ce776 100644
--- a/src/settings/appSettings.js
+++ b/src/settings/appSettings.js
@@ -18,6 +18,12 @@ import Url from "utils/Url";
export default function otherSettings() {
const values = appSettings.value;
const title = strings["app settings"].capitalize();
+ const categories = {
+ interface: strings["settings-category-interface"],
+ fonts: strings["settings-category-fonts"],
+ filesSessions: strings["settings-category-files-sessions"],
+ advanced: strings["settings-category-advanced"],
+ };
const items = [
{
key: "lang",
@@ -25,8 +31,8 @@ export default function otherSettings() {
value: values.lang,
select: lang.list,
valueText: (value) => lang.getName(value),
- info: "App language and translated labels",
- category: "Interface",
+ info: strings["settings-info-app-language"],
+ category: categories.interface,
},
{
key: "animation",
@@ -38,15 +44,15 @@ export default function otherSettings() {
["yes", strings.yes],
["system", strings.system],
],
- info: "Transition effects throughout the app",
- category: "Interface",
+ info: strings["settings-info-app-animation"],
+ category: categories.interface,
},
{
key: "fullscreen",
text: strings.fullscreen.capitalize(),
checkbox: values.fullscreen,
- info: "Hide the system status bar",
- category: "Interface",
+ info: strings["settings-info-app-fullscreen"],
+ category: categories.interface,
},
{
key: "keyboardMode",
@@ -63,36 +69,36 @@ export default function otherSettings() {
strings["no suggestions aggressive"],
],
],
- info: "How the software keyboard behaves while editing",
- category: "Interface",
+ info: strings["settings-info-app-keyboard-mode"],
+ category: categories.interface,
},
{
key: "vibrateOnTap",
text: strings["vibrate on tap"],
checkbox: values.vibrateOnTap,
- info: "Haptic feedback on taps and controls",
- category: "Interface",
+ info: strings["settings-info-app-vibrate-on-tap"],
+ category: categories.interface,
},
{
key: "floatingButton",
text: strings["floating button"],
checkbox: values.floatingButton,
- info: "Quick action overlay",
- category: "Interface",
+ info: strings["settings-info-app-floating-button"],
+ category: categories.interface,
},
{
key: "showSideButtons",
text: strings["show side buttons"],
checkbox: values.showSideButtons,
- info: "Show the extra side action buttons",
- category: "Interface",
+ info: strings["settings-info-app-side-buttons"],
+ category: categories.interface,
},
{
key: "showSponsorSidebarApp",
text: `${strings.sponsor} (${strings.sidebar})`,
checkbox: values.showSponsorSidebarApp,
- info: "Show the sponsor entry in the sidebar",
- category: "Interface",
+ info: strings["settings-info-app-sponsor-sidebar"],
+ category: categories.interface,
},
{
key: "openFileListPos",
@@ -104,15 +110,15 @@ export default function otherSettings() {
[appSettings.OPEN_FILE_LIST_POS_HEADER, strings.header],
[appSettings.OPEN_FILE_LIST_POS_BOTTOM, strings.bottom],
],
- info: "Where the active files list appears",
- category: "Interface",
+ info: strings["settings-info-app-open-file-list-position"],
+ category: categories.interface,
},
{
key: "quickTools",
text: strings["quick tools"],
checkbox: !!values.quickTools,
info: strings["info-quickTools"],
- category: "Interface",
+ category: categories.interface,
},
{
key: "quickToolsTriggerMode",
@@ -122,14 +128,14 @@ export default function otherSettings() {
[appSettings.QUICKTOOLS_TRIGGER_MODE_CLICK, "click"],
[appSettings.QUICKTOOLS_TRIGGER_MODE_TOUCH, "touch"],
],
- info: "How quick tools open on tap or touch",
- category: "Interface",
+ info: strings["settings-info-app-quick-tools-trigger-mode"],
+ category: categories.interface,
},
{
key: "quickToolsSettings",
text: strings["shortcut buttons"],
- info: "Reorder and customise quick tool shortcuts",
- category: "Interface",
+ info: strings["settings-info-app-quick-tools-settings"],
+ category: categories.interface,
chevron: true,
},
{
@@ -143,36 +149,36 @@ export default function otherSettings() {
return value >= 0;
},
},
- info: "Minimum movement before touch drag is detected",
- category: "Interface",
+ info: strings["settings-info-app-touch-move-threshold"],
+ category: categories.interface,
},
{
key: "fontManager",
text: strings["fonts"],
- info: "Install or remove app fonts",
- category: "Fonts",
+ info: strings["settings-info-app-font-manager"],
+ category: categories.fonts,
chevron: true,
},
{
key: "rememberFiles",
text: strings["remember opened files"],
checkbox: values.rememberFiles,
- info: "Restore the files you had open last time",
- category: "Files & sessions",
+ info: strings["settings-info-app-remember-files"],
+ category: categories.filesSessions,
},
{
key: "rememberFolders",
text: strings["remember opened folders"],
checkbox: values.rememberFolders,
- info: "Restore folders from the previous session",
- category: "Files & sessions",
+ info: strings["settings-info-app-remember-folders"],
+ category: categories.filesSessions,
},
{
key: "retryRemoteFsAfterFail",
text: strings["retry ftp/sftp when fail"],
checkbox: values.retryRemoteFsAfterFail,
- info: "Retry remote file operations after a failed transfer",
- category: "Files & sessions",
+ info: strings["settings-info-app-retry-remote-fs"],
+ category: categories.filesSessions,
},
{
key: "excludeFolders",
@@ -187,8 +193,8 @@ export default function otherSettings() {
});
},
},
- info: "Folders and patterns to skip while searching or scanning",
- category: "Files & sessions",
+ info: strings["settings-info-app-exclude-folders"],
+ category: categories.filesSessions,
},
{
key: "defaultFileEncoding",
@@ -203,8 +209,8 @@ export default function otherSettings() {
return [id, encoding.label];
}),
],
- info: "Default encoding when opening or creating files",
- category: "Files & sessions",
+ info: strings["settings-info-app-default-file-encoding"],
+ category: categories.filesSessions,
},
{
key: "keybindings",
@@ -215,50 +221,50 @@ export default function otherSettings() {
["edit", strings.edit],
["reset", strings.reset],
],
- info: "Edit the key bindings file or reset shortcuts",
- category: "Advanced",
+ info: strings["settings-info-app-keybindings"],
+ category: categories.advanced,
},
{
key: "confirmOnExit",
text: strings["confirm on exit"],
checkbox: values.confirmOnExit,
- info: "Ask before leaving the app",
- category: "Advanced",
+ info: strings["settings-info-app-confirm-on-exit"],
+ category: categories.advanced,
},
{
key: "checkFiles",
text: strings["check file changes"],
checkbox: values.checkFiles,
- info: "Detect external file changes and refresh editors",
- category: "Advanced",
+ info: strings["settings-info-app-check-files"],
+ category: categories.advanced,
},
{
key: "checkForAppUpdates",
text: strings["check for app updates"],
checkbox: values.checkForAppUpdates,
info: strings["info-checkForAppUpdates"],
- category: "Advanced",
+ category: categories.advanced,
},
{
key: "console",
text: strings.console,
value: values.console,
select: [appSettings.CONSOLE_LEGACY, appSettings.CONSOLE_ERUDA],
- info: "Which debug console integration to use",
- category: "Advanced",
+ info: strings["settings-info-app-console"],
+ category: categories.advanced,
},
{
key: "developerMode",
text: strings["developer mode"],
checkbox: values.developerMode,
info: strings["info-developermode"],
- category: "Advanced",
+ category: categories.advanced,
},
{
key: "cleanInstallState",
text: strings["clean install state"],
- info: "Clear stored install state used by onboarding and setup flows",
- category: "Advanced",
+ info: strings["settings-info-app-clean-install-state"],
+ category: categories.advanced,
chevron: true,
},
];
diff --git a/src/settings/editorSettings.js b/src/settings/editorSettings.js
index 2c24e476c..83d727f37 100644
--- a/src/settings/editorSettings.js
+++ b/src/settings/editorSettings.js
@@ -7,12 +7,20 @@ import scrollSettings from "./scrollSettings";
export default function editorSettings() {
const title = strings["editor settings"];
const values = appSettings.value;
+ const categories = {
+ scrolling: strings["settings-category-scrolling"],
+ textLayout: strings["settings-category-text-layout"],
+ editing: strings["settings-category-editing"],
+ assistance: strings["settings-category-assistance"],
+ guidesIndicators: strings["settings-category-guides-indicators"],
+ cursorSelection: strings["settings-category-cursor-selection"],
+ };
const items = [
{
key: "scroll-settings",
text: strings["scroll settings"],
- info: "Scrollbar size, speed, and gesture behaviour",
- category: "Scrolling",
+ info: strings["settings-info-editor-scroll-settings"],
+ category: categories.scrolling,
chevron: true,
},
{
@@ -22,8 +30,8 @@ export default function editorSettings() {
get select() {
return fonts.getNames();
},
- info: "Typeface used in the editor",
- category: "Text & layout",
+ info: strings["settings-info-editor-font-family"],
+ category: categories.textLayout,
},
{
key: "fontSize",
@@ -34,8 +42,8 @@ export default function editorSettings() {
required: true,
match: constants.FONT_SIZE,
},
- info: "Editor text size",
- category: "Text & layout",
+ info: strings["settings-info-editor-font-size"],
+ category: categories.textLayout,
},
{
key: "lineHeight",
@@ -49,22 +57,22 @@ export default function editorSettings() {
return value >= 1 && value <= 2;
},
},
- info: "Vertical spacing between lines",
- category: "Text & layout",
+ info: strings["settings-info-editor-line-height"],
+ category: categories.textLayout,
},
{
key: "textWrap",
text: strings["text wrap"],
checkbox: values.textWrap,
- info: "Wrap long lines inside the editor",
- category: "Text & layout",
+ info: strings["settings-info-editor-text-wrap"],
+ category: categories.textLayout,
},
{
key: "hardWrap",
text: strings["hard wrap"],
checkbox: values.hardWrap,
- info: "Insert line breaks instead of only wrapping visually",
- category: "Text & layout",
+ info: strings["settings-info-editor-hard-wrap"],
+ category: categories.textLayout,
},
{
key: "autosave",
@@ -79,15 +87,15 @@ export default function editorSettings() {
return value >= 1000 || value === 0;
},
},
- info: "Automatically save changes after a delay",
- category: "Editing",
+ info: strings["settings-info-editor-autosave"],
+ category: categories.editing,
},
{
key: "softTab",
text: strings["soft tab"],
checkbox: values.softTab,
- info: "Use spaces instead of tabs",
- category: "Editing",
+ info: strings["settings-info-editor-soft-tab"],
+ category: categories.editing,
},
{
key: "tabSize",
@@ -101,78 +109,78 @@ export default function editorSettings() {
return value >= 1 && value <= 8;
},
},
- info: "Number of spaces for each tab step",
- category: "Editing",
+ info: strings["settings-info-editor-tab-size"],
+ category: categories.editing,
},
{
key: "formatOnSave",
text: strings["format on save"],
checkbox: values.formatOnSave,
- info: "Run the formatter when saving files",
- category: "Editing",
+ info: strings["settings-info-editor-format-on-save"],
+ category: categories.editing,
},
{
key: "liveAutoCompletion",
text: strings["live autocompletion"],
checkbox: values.liveAutoCompletion,
- info: "Show suggestions while you type",
- category: "Assistance",
+ info: strings["settings-info-editor-live-autocomplete"],
+ category: categories.assistance,
},
{
key: "colorPreview",
text: strings["color preview"],
checkbox: values.colorPreview,
- info: "Preview color values inline",
- category: "Assistance",
+ info: strings["settings-info-editor-color-preview"],
+ category: categories.assistance,
},
{
key: "linenumbers",
text: strings["show line numbers"],
checkbox: values.linenumbers,
- info: "Show the gutter with line numbers",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-line-numbers"],
+ category: categories.guidesIndicators,
},
{
key: "relativeLineNumbers",
text: strings["relative line numbers"],
checkbox: values.relativeLineNumbers,
- info: "Show distance from the current line",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-relative-line-numbers"],
+ category: categories.guidesIndicators,
},
{
key: "lintGutter",
text: strings["lint gutter"] || "Show lint gutter",
checkbox: values.lintGutter ?? true,
- info: "Show diagnostics and lint markers in the gutter",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-lint-gutter"],
+ category: categories.guidesIndicators,
},
{
key: "showSpaces",
text: strings["show spaces"],
checkbox: values.showSpaces,
- info: "Display visible whitespace markers",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-show-spaces"],
+ category: categories.guidesIndicators,
},
{
key: "indentGuides",
text: strings["indent guides"] || "Indent guides",
checkbox: values.indentGuides ?? true,
- info: "Show indentation guide lines",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-indent-guides"],
+ category: categories.guidesIndicators,
},
{
key: "rainbowBrackets",
text: strings["rainbow brackets"] || "Rainbow brackets",
checkbox: values.rainbowBrackets ?? true,
- info: "Color matching brackets by nesting level",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-rainbow-brackets"],
+ category: categories.guidesIndicators,
},
{
key: "fadeFoldWidgets",
text: strings["fade fold widgets"],
checkbox: values.fadeFoldWidgets,
- info: "Dim fold markers until they are needed",
- category: "Guides & indicators",
+ info: strings["settings-info-editor-fade-fold-widgets"],
+ category: categories.guidesIndicators,
},
{
key: "teardropSize",
@@ -187,22 +195,22 @@ export default function editorSettings() {
[30, strings.medium],
[60, strings.large],
],
- info: "Cursor handle size for touch editing",
- category: "Cursor & selection",
+ info: strings["settings-info-editor-teardrop-size"],
+ category: categories.cursorSelection,
},
{
key: "shiftClickSelection",
text: strings["shift click selection"],
checkbox: values.shiftClickSelection,
- info: "Extend selection with shift + tap or click",
- category: "Cursor & selection",
+ info: strings["settings-info-editor-shift-click-selection"],
+ category: categories.cursorSelection,
},
{
key: "rtlText",
text: strings["line based rtl switching"],
checkbox: values.rtlText,
- info: "Switch right-to-left behaviour per line",
- category: "Cursor & selection",
+ info: strings["settings-info-editor-rtl-text"],
+ category: categories.cursorSelection,
},
];
diff --git a/src/settings/formatterSettings.js b/src/settings/formatterSettings.js
index 44557d1f9..512510d6d 100644
--- a/src/settings/formatterSettings.js
+++ b/src/settings/formatterSettings.js
@@ -44,7 +44,7 @@ export default function formatterSettings(languageName) {
});
items.unshift({
- note: "Assign a formatter to each language. Install formatter plugins to see more options.",
+ note: strings["settings-note-formatter-settings"],
});
const page = settingsPage(title, items, callback, "separate", {
diff --git a/src/settings/lspServerDetail.js b/src/settings/lspServerDetail.js
index 36e7e9535..bddd0a8ab 100644
--- a/src/settings/lspServerDetail.js
+++ b/src/settings/lspServerDetail.js
@@ -14,50 +14,59 @@ import confirm from "dialogs/confirm";
import prompt from "dialogs/prompt";
import { getServerOverride, updateServerConfig } from "./lspConfigUtils";
-const FEATURE_ITEMS = [
- [
- "ext_hover",
- "hover",
- "Hover Information",
- "Show type information and documentation on hover",
- ],
- [
- "ext_completion",
- "completion",
- "Code Completion",
- "Enable autocomplete suggestions from the server",
- ],
- [
- "ext_signature",
- "signature",
- "Signature Help",
- "Show function parameter hints while typing",
- ],
- [
- "ext_diagnostics",
- "diagnostics",
- "Diagnostics",
- "Show errors and warnings from the language server",
- ],
- [
- "ext_inlayHints",
- "inlayHints",
- "Inlay Hints",
- "Show inline type hints in the editor",
- ],
- [
- "ext_documentHighlights",
- "documentHighlights",
- "Document Highlights",
- "Highlight all occurrences of the word under cursor",
- ],
- [
- "ext_formatting",
- "formatting",
- "Formatting",
- "Enable code formatting from the language server",
- ],
-];
+function getFeatureItems() {
+ return [
+ [
+ "ext_hover",
+ "hover",
+ strings["lsp-feature-hover"],
+ strings["lsp-feature-hover-info"],
+ ],
+ [
+ "ext_completion",
+ "completion",
+ strings["lsp-feature-completion"],
+ strings["lsp-feature-completion-info"],
+ ],
+ [
+ "ext_signature",
+ "signature",
+ strings["lsp-feature-signature"],
+ strings["lsp-feature-signature-info"],
+ ],
+ [
+ "ext_diagnostics",
+ "diagnostics",
+ strings["lsp-feature-diagnostics"],
+ strings["lsp-feature-diagnostics-info"],
+ ],
+ [
+ "ext_inlayHints",
+ "inlayHints",
+ strings["lsp-feature-inlay-hints"],
+ strings["lsp-feature-inlay-hints-info"],
+ ],
+ [
+ "ext_documentHighlights",
+ "documentHighlights",
+ strings["lsp-feature-document-highlights"],
+ strings["lsp-feature-document-highlights-info"],
+ ],
+ [
+ "ext_formatting",
+ "formatting",
+ strings["lsp-feature-formatting"],
+ strings["lsp-feature-formatting-info"],
+ ],
+ ];
+}
+
+function fillTemplate(template, replacements) {
+ return Object.entries(replacements).reduce(
+ (result, [key, value]) => result.replace(`{${key}}`, String(value)),
+ String(template || ""),
+ );
+}
function clone(value) {
if (!value || typeof value !== "object") return value;
@@ -105,18 +114,24 @@ function getMergedConfig(server) {
function formatInstallStatus(result) {
switch (result?.status) {
case "present":
- return result.version ? `Installed (${result.version})` : "Installed";
+ return result.version
+ ? fillTemplate(strings["lsp-status-installed-version"], {
+ version: result.version,
+ })
+ : strings["lsp-status-installed"];
case "missing":
- return "Not installed";
+ return strings["lsp-status-not-installed"];
case "failed":
- return "Check failed";
+ return strings["lsp-status-check-failed"];
default:
- return "Unknown";
+ return strings["lsp-status-unknown"];
}
}
function formatStartupTimeoutValue(timeout) {
- return typeof timeout === "number" ? `${timeout} ms` : "Default";
+ return typeof timeout === "number"
+ ? fillTemplate(strings["lsp-timeout-ms"], { timeout })
+ : strings["lsp-default"];
}
function sanitizeInstallMessage(message) {
@@ -141,19 +156,16 @@ function formatInstallInfo(result) {
switch (result?.status) {
case "present":
return result.version
- ? `Version ${result.version} is available.`
- : "Language server is installed and ready.";
+ ? fillTemplate(strings["lsp-install-info-version-available"], {
+ version: result.version,
+ })
+ : strings["lsp-install-info-ready"];
case "missing":
- return "Language server is not installed in the terminal environment.";
+ return strings["lsp-install-info-missing"];
case "failed":
- return (
- cleanedMessage || "Acode could not verify the installation status."
- );
+ return cleanedMessage || strings["lsp-install-info-check-failed"];
default:
- return (
- cleanedMessage ||
- "Installation status could not be checked automatically."
- );
+ return cleanedMessage || strings["lsp-install-info-unknown"];
}
}
@@ -243,77 +255,84 @@ async function buildSnapshot(serverId) {
}
function createItems(snapshot) {
+ const featureItems = getFeatureItems();
+ const categories = {
+ general: strings["settings-category-general"],
+ installation: strings["settings-category-installation"],
+ advanced: strings["settings-category-advanced"],
+ features: strings["settings-category-features"],
+ };
const items = [
{
key: "enabled",
- text: "Enabled",
+ text: strings["lsp-enabled"],
checkbox: snapshot.merged.enabled !== false,
- info: "Enable or disable this language server",
- category: "General",
+ info: strings["settings-info-lsp-server-enabled"],
+ category: categories.general,
},
{
key: "install_status",
- text: "Installed",
+ text: strings["lsp-installed"],
value: formatInstallStatus(snapshot.installResult),
info: formatInstallInfo(snapshot.installResult),
- category: "Installation",
+ category: categories.installation,
chevron: true,
},
{
key: "install_server",
- text: "Install / Repair",
- info: "Install or repair this language server",
- category: "Installation",
+ text: strings["lsp-install-repair"],
+ info: strings["settings-info-lsp-install-server"],
+ category: categories.installation,
chevron: true,
},
{
key: "update_server",
- text: "Update Server",
- info: "Update this language server if an update flow exists",
- category: "Installation",
+ text: strings["lsp-update-server"],
+ info: strings["settings-info-lsp-update-server"],
+ category: categories.installation,
chevron: true,
},
{
key: "uninstall_server",
- text: "Uninstall Server",
- info: "Remove installed packages or binaries for this server",
- category: "Installation",
+ text: strings["lsp-uninstall-server"],
+ info: strings["settings-info-lsp-uninstall-server"],
+ category: categories.installation,
chevron: true,
},
{
key: "startup_timeout",
- text: "Startup Timeout",
+ text: strings["lsp-startup-timeout"],
value: formatStartupTimeoutValue(snapshot.merged.startupTimeout),
- info: "Configure how long Acode waits for the server to start",
- category: "Advanced",
+ info: strings["settings-info-lsp-startup-timeout"],
+ category: categories.advanced,
chevron: true,
},
{
key: "edit_init_options",
- text: "Edit Initialization Options",
+ text: strings["lsp-edit-initialization-options"],
value: Object.keys(snapshot.override.initializationOptions || {}).length
- ? "Configured"
- : "Empty",
- info: "Edit initialization options as JSON",
- category: "Advanced",
+ ? strings["lsp-configured"]
+ : strings["lsp-empty"],
+ info: strings["settings-info-lsp-edit-init-options"],
+ category: categories.advanced,
chevron: true,
},
{
key: "view_init_options",
- text: "View Initialization Options",
- info: "View the effective initialization options as JSON",
- category: "Advanced",
+ text: strings["lsp-view-initialization-options"],
+ info: strings["settings-info-lsp-view-init-options"],
+ category: categories.advanced,
chevron: true,
},
];
- FEATURE_ITEMS.forEach(([key, extKey, text, info]) => {
+ featureItems.forEach(([key, extKey, text, info]) => {
items.push({
key,
text,
checkbox: snapshot.builtinExts[extKey] !== false,
info,
- category: "Features",
+ category: categories.features,
});
});
@@ -352,11 +371,11 @@ async function refreshVisibleState($list, itemsByKey, serverId) {
itemsByKey,
"edit_init_options",
Object.keys(snapshot.override.initializationOptions || {}).length
- ? "Configured"
- : "Empty",
+ ? strings["lsp-configured"]
+ : strings["lsp-empty"],
);
- FEATURE_ITEMS.forEach(([key, extKey]) => {
+ getFeatureItems().forEach(([key, extKey]) => {
updateItemDisplay($list, itemsByKey, key, undefined, {
checkbox: snapshot.builtinExts[extKey] !== false,
});
@@ -401,7 +420,7 @@ async function persistInitOptions(serverId, value) {
export default function lspServerDetail(serverId) {
const initialServer = lspApi.servers.get(serverId);
if (!initialServer) {
- toast("Server not found");
+ toast(strings["lsp-server-not-found"]);
return null;
}
@@ -414,7 +433,7 @@ export default function lspServerDetail(serverId) {
version: null,
canInstall: true,
canUpdate: true,
- message: "Checking installation status...",
+ message: strings["lsp-checking-installation-status"],
},
builtinExts:
getMergedConfig(initialServer).clientConfig?.builtinExtensions || {},
@@ -456,7 +475,7 @@ export default function lspServerDetail(serverId) {
const $list = this?.parentElement;
const snapshot = await buildSnapshot(serverId);
if (!snapshot) {
- toast("Server not found");
+ toast(strings["lsp-server-not-found"]);
return;
}
@@ -466,23 +485,35 @@ export default function lspServerDetail(serverId) {
if (!value) {
stopManagedServer(serverId);
}
- toast(value ? "Server enabled" : "Server disabled");
+ toast(
+ value
+ ? strings["lsp-server-enabled-toast"]
+ : strings["lsp-server-disabled-toast"],
+ );
break;
case "install_status": {
const result = await checkServerInstallation(snapshot.merged);
const lines = [
- `Status: ${formatInstallStatus(result)}`,
- result.version ? `Version: ${result.version}` : null,
- `Details: ${formatInstallInfo(result)}`,
+ fillTemplate(strings["lsp-status-line"], {
+ status: formatInstallStatus(result),
+ }),
+ result.version
+ ? fillTemplate(strings["lsp-version-line"], {
+ version: result.version,
+ })
+ : null,
+ fillTemplate(strings["lsp-details-line"], {
+ details: formatInstallInfo(result),
+ }),
].filter(Boolean);
- alert("Installation Status", lines.join("
"));
+ alert(strings["lsp-installation-status"], lines.join("
"));
break;
}
case "install_server":
if (!snapshot.installCommand) {
- toast("Install command not available");
+ toast(strings["lsp-install-command-unavailable"]);
break;
}
await installServer(snapshot.merged, "install");
@@ -490,7 +521,7 @@ export default function lspServerDetail(serverId) {
case "update_server":
if (!snapshot.updateCommand) {
- toast("Update command not available");
+ toast(strings["lsp-update-command-unavailable"]);
break;
}
await installServer(snapshot.merged, "update");
@@ -498,19 +529,21 @@ export default function lspServerDetail(serverId) {
case "uninstall_server":
if (!snapshot.uninstallCommand) {
- toast("Uninstall command not available");
+ toast(strings["lsp-uninstall-command-unavailable"]);
break;
}
if (
!(await confirm(
- "Uninstall Server",
- `Remove installed files for ${snapshot.liveServer.label || serverId}?`,
+ strings["lsp-uninstall-server"],
+ fillTemplate(strings["lsp-remove-installed-files"], {
+ server: snapshot.liveServer.label || serverId,
+ }),
))
) {
break;
}
await uninstallServer(snapshot.merged, { promptConfirm: false });
- toast("Server uninstalled");
+ toast(strings["lsp-server-uninstalled"]);
break;
case "startup_timeout": {
@@ -519,7 +552,7 @@ export default function lspServerDetail(serverId) {
snapshot.liveServer.startupTimeout ??
5000;
const result = await prompt(
- "Startup Timeout (milliseconds)",
+ strings["lsp-startup-timeout-ms"],
String(currentTimeout),
"number",
{
@@ -536,12 +569,16 @@ export default function lspServerDetail(serverId) {
const timeout = Number.parseInt(String(result), 10);
if (!Number.isFinite(timeout) || timeout < 1000) {
- toast("Invalid timeout value");
+ toast(strings["lsp-invalid-timeout"]);
break;
}
await persistStartupTimeout(serverId, timeout);
- toast(`Startup timeout set to ${timeout} ms`);
+ toast(
+ fillTemplate(strings["lsp-startup-timeout-set"], {
+ timeout,
+ }),
+ );
break;
}
@@ -552,7 +589,7 @@ export default function lspServerDetail(serverId) {
2,
);
const result = await prompt(
- "Initialization Options (JSON)",
+ strings["lsp-initialization-options-json"],
currentJson || "{}",
"textarea",
{
@@ -572,7 +609,7 @@ export default function lspServerDetail(serverId) {
}
await persistInitOptions(serverId, JSON.parse(result));
- toast("Initialization options updated");
+ toast(strings["lsp-initialization-options-updated"]);
break;
}
@@ -583,7 +620,7 @@ export default function lspServerDetail(serverId) {
2,
);
alert(
- "Initialization Options",
+ strings["lsp-initialization-options"],
`
${escapeHtml(json)}`,
);
break;
@@ -597,6 +634,9 @@ export default function lspServerDetail(serverId) {
case "ext_documentHighlights":
case "ext_formatting": {
const extKey = key.replace("ext_", "");
+ const feature = getFeatureItems().find(
+ ([featureKey]) => featureKey === key,
+ );
const currentClientConfig = clone(snapshot.override.clientConfig || {});
const currentBuiltins = currentClientConfig.builtinExtensions || {};
@@ -607,7 +647,14 @@ export default function lspServerDetail(serverId) {
[extKey]: value,
},
});
- toast(`${extKey} ${value ? "enabled" : "disabled"}`);
+ toast(
+ fillTemplate(strings["lsp-feature-state-toast"], {
+ feature: feature?.[2] || extKey,
+ state: value
+ ? strings["lsp-state-enabled"]
+ : strings["lsp-state-disabled"],
+ }),
+ );
break;
}
diff --git a/src/settings/lspSettings.js b/src/settings/lspSettings.js
index d9596aae5..25925c451 100644
--- a/src/settings/lspSettings.js
+++ b/src/settings/lspSettings.js
@@ -17,7 +17,7 @@ function parseArgsInput(value) {
const parsed = JSON.parse(normalized);
if (!Array.isArray(parsed)) {
- throw new Error("Arguments must be a JSON array");
+ throw new Error(strings["lsp-error-args-must-be-array"]);
}
return parsed.map((entry) => String(entry));
}
@@ -29,23 +29,28 @@ function normalizePackages(value) {
.filter(Boolean);
}
-const INSTALL_METHODS = [
- { value: "manual", text: "Manual binary" },
- { value: "apk", text: "APK package" },
- { value: "npm", text: "npm package" },
- { value: "pip", text: "pip package" },
- { value: "cargo", text: "cargo crate" },
- { value: "shell", text: "Custom shell" },
-];
+function getInstallMethods() {
+ return [
+ { value: "manual", text: strings["lsp-install-method-manual"] },
+ { value: "apk", text: strings["lsp-install-method-apk"] },
+ { value: "npm", text: strings["lsp-install-method-npm"] },
+ { value: "pip", text: strings["lsp-install-method-pip"] },
+ { value: "cargo", text: strings["lsp-install-method-cargo"] },
+ { value: "shell", text: strings["lsp-install-method-shell"] },
+ ];
+}
async function promptInstaller(binaryCommand) {
- const method = await select("Install Method", INSTALL_METHODS);
+ const method = await select(
+ strings["lsp-install-method-title"],
+ getInstallMethods(),
+ );
if (!method) return null;
switch (method) {
case "manual": {
const binaryPath = await prompt(
- "Binary Path (optional)",
+ strings["lsp-binary-path-optional"],
String(binaryCommand || "").includes("/") ? String(binaryCommand) : "",
"text",
);
@@ -62,14 +67,17 @@ async function promptInstaller(binaryCommand) {
case "pip":
case "cargo": {
const packagesInput = await prompt(
- `${method.toUpperCase()} Packages (comma separated)`,
+ strings["lsp-packages-prompt"].replace(
+ "{method}",
+ method.toUpperCase(),
+ ),
"",
"text",
);
if (packagesInput === null) return null;
const packages = normalizePackages(packagesInput);
if (!packages.length) {
- throw new Error("At least one package is required");
+ throw new Error(strings["lsp-error-package-required"]);
}
return {
kind: method,
@@ -79,10 +87,14 @@ async function promptInstaller(binaryCommand) {
};
}
case "shell": {
- const installCommand = await prompt("Install Command", "", "textarea");
+ const installCommand = await prompt(
+ strings["lsp-install-command"],
+ "",
+ "textarea",
+ );
if (installCommand === null) return null;
const updateCommand = await prompt(
- "Update Command (optional)",
+ strings["lsp-update-command-optional"],
String(installCommand || ""),
"textarea",
);
@@ -105,7 +117,12 @@ async function promptInstaller(binaryCommand) {
* @returns {object} Settings page interface
*/
export default function lspSettings() {
- const title = strings?.lsp_settings || "Language Servers";
+ const title =
+ strings?.lsp_settings || strings["language servers"] || "Language Servers";
+ const categories = {
+ customServers: strings["settings-category-custom-servers"],
+ servers: strings["settings-category-servers"],
+ };
const servers = serverRegistry.listServers();
const sortedServers = servers.sort((a, b) => {
@@ -121,9 +138,9 @@ export default function lspSettings() {
const items = [
{
key: "add_custom_server",
- text: "Add Custom Server",
- info: "Register a user-defined language server with install, update, and launch commands",
- category: "Custom servers",
+ text: strings["lsp-add-custom-server"],
+ info: strings["settings-info-lsp-add-custom-server"],
+ category: categories.customServers,
index: 0,
chevron: true,
},
@@ -142,13 +159,13 @@ export default function lspSettings() {
key: `server:${server.id}`,
text: server.label,
info: languagesList || undefined,
- category: "Servers",
+ category: categories.servers,
chevron: true,
});
}
items.push({
- note: "Language servers provide IDE features like autocomplete, diagnostics, and hover information. You can now install, update, and define custom servers from these settings. Managed installers still run inside the terminal/proot environment.",
+ note: strings["settings-note-lsp-settings"],
});
return settingsPage(title, items, callback, undefined, {
@@ -161,39 +178,47 @@ export default function lspSettings() {
async function callback(key) {
if (key === "add_custom_server") {
try {
- const idInput = await prompt("Server ID", "", "text");
+ const idInput = await prompt(strings["lsp-server-id"], "", "text");
if (idInput === null) return;
const serverId = normalizeServerId(idInput);
if (!serverId) {
- toast("Server id is required");
+ toast(strings["lsp-error-server-id-required"]);
return;
}
- const label = await prompt("Server Label", serverId, "text");
+ const label = await prompt(
+ strings["lsp-server-label"],
+ serverId,
+ "text",
+ );
if (label === null) return;
const languageInput = await prompt(
- "Language IDs (comma separated)",
+ strings["lsp-language-ids"],
"",
"text",
);
if (languageInput === null) return;
const languages = normalizeLanguages(languageInput);
if (!languages.length) {
- toast("At least one language id is required");
+ toast(strings["lsp-error-language-id-required"]);
return;
}
- const binaryCommand = await prompt("Binary Command", "", "text");
+ const binaryCommand = await prompt(
+ strings["lsp-binary-command"],
+ "",
+ "text",
+ );
if (binaryCommand === null) return;
if (!String(binaryCommand).trim()) {
- toast("Binary command is required");
+ toast(strings["lsp-error-binary-command-required"]);
return;
}
const argsInput = await prompt(
- "Binary Args (JSON array)",
+ strings["lsp-binary-args"],
"[]",
"textarea",
{
@@ -213,7 +238,7 @@ export default function lspSettings() {
if (installer === null) return;
const checkCommand = await prompt(
- "Check Command (optional override)",
+ strings["lsp-check-command-optional"],
"",
"text",
);
@@ -235,11 +260,15 @@ export default function lspSettings() {
enabled: true,
});
- toast("Custom server added");
+ toast(strings["lsp-custom-server-added"]);
const detailPage = lspServerDetail(serverId);
detailPage?.show();
} catch (error) {
- toast(error instanceof Error ? error.message : "Failed to add server");
+ toast(
+ error instanceof Error
+ ? error.message
+ : strings["lsp-error-add-server-failed"],
+ );
}
return;
}
diff --git a/src/settings/mainSettings.js b/src/settings/mainSettings.js
index 410e9982d..25491d30d 100644
--- a/src/settings/mainSettings.js
+++ b/src/settings/mainSettings.js
@@ -26,93 +26,103 @@ import terminalSettings from "./terminalSettings";
export default function mainSettings() {
const title = strings.settings.capitalize();
+ const categories = {
+ core: strings["settings-category-core"],
+ customizationTools: strings["settings-category-customization-tools"],
+ maintenance: strings["settings-category-maintenance"],
+ aboutAcode: strings["settings-category-about-acode"],
+ supportAcode: strings["settings-category-support-acode"],
+ };
const items = [
{
key: "app-settings",
text: strings["app settings"],
icon: "tune",
- info: "Language, behavior, and quick tools",
- category: "Core settings",
+ info: strings["settings-info-main-app-settings"],
+ category: categories.core,
chevron: true,
},
{
key: "editor-settings",
text: strings["editor settings"],
icon: "text_format",
- info: "Font, tabs, autocomplete, and display",
- category: "Core settings",
+ info: strings["settings-info-main-editor-settings"],
+ category: categories.core,
chevron: true,
},
{
key: "terminal-settings",
text: `${strings["terminal settings"]}`,
icon: "licons terminal",
- info: "Theme, fonts, shell, and scrollback",
- category: "Core settings",
+ info: strings["settings-info-main-terminal-settings"],
+ category: categories.core,
chevron: true,
},
{
key: "preview-settings",
text: strings["preview settings"],
icon: "public",
- info: "Live preview, rendering, ports, and browser mode",
- category: "Core settings",
+ info: strings["settings-info-main-preview-settings"],
+ category: categories.core,
chevron: true,
},
{
key: "formatter",
text: strings.formatter,
icon: "spellcheck",
- info: "Per-language format tools",
- category: "Customization & tools",
+ info: strings["settings-info-main-formatter"],
+ category: categories.customizationTools,
chevron: true,
},
{
key: "theme",
text: strings.theme,
icon: "color_lenspalette",
- info: "App theme, contrast, and custom colors",
- category: "Customization & tools",
+ info: strings["settings-info-main-theme"],
+ category: categories.customizationTools,
chevron: true,
},
{
key: "plugins",
text: strings["plugins"],
icon: "extension",
- info: "Manage installed extensions and plugin actions",
- category: "Customization & tools",
+ info: strings["settings-info-main-plugins"],
+ category: categories.customizationTools,
chevron: true,
},
{
key: "lsp-settings",
- text: strings?.lsp_settings || "Language servers",
+ text:
+ strings?.lsp_settings ||
+ strings["language servers"] ||
+ "Language servers",
icon: "licons zap",
- info: "Configure language servers and code intelligence",
- category: "Customization & tools",
+ info: strings["settings-info-main-lsp-settings"],
+ category: categories.customizationTools,
chevron: true,
},
{
key: "backup-restore",
text: `${strings.backup.capitalize()} & ${strings.restore.capitalize()}`,
icon: "cached",
- info: "Export or import your settings",
- category: "Maintenance",
+ info: strings["settings-info-main-backup-restore"],
+ category: categories.maintenance,
chevron: true,
},
{
key: "editSettings",
text: `${strings["edit"]} settings.json`,
icon: "edit",
- info: "Advanced raw configuration",
- category: "Maintenance",
+ info: strings["settings-info-main-edit-settings"],
+ category: categories.maintenance,
chevron: true,
},
{
key: "reset",
text: strings["restore default settings"],
icon: "historyrestore",
- info: "Reset the app back to its default configuration",
- category: "Maintenance",
+ info: strings["settings-info-main-reset"],
+ category: categories.maintenance,
chevron: true,
},
{
@@ -120,31 +130,31 @@ export default function mainSettings() {
text: strings.about,
icon: "info",
info: `Version ${BuildInfo.version}`,
- category: "About Acode",
+ category: categories.aboutAcode,
chevron: true,
},
{
key: "sponsors",
text: strings.sponsor,
icon: "favorite",
- info: "Support Acode development",
- category: "About Acode",
+ info: strings["settings-info-main-sponsors"],
+ category: categories.aboutAcode,
chevron: true,
},
{
key: "changeLog",
text: `${strings["changelog"]}`,
icon: "update",
- info: "Recent updates and release notes",
- category: "About Acode",
+ info: strings["settings-info-main-changelog"],
+ category: categories.aboutAcode,
chevron: true,
},
{
key: "rateapp",
text: strings["rate acode"],
icon: "star_outline",
- info: "Rate Acode on Google Play",
- category: "About Acode",
+ info: strings["settings-info-main-rateapp"],
+ category: categories.aboutAcode,
chevron: true,
},
];
@@ -152,18 +162,18 @@ export default function mainSettings() {
if (IS_FREE_VERSION) {
items.push({
key: "adRewards",
- text: "Earn ad-free time",
+ text: strings["earn ad-free time"],
icon: "play_arrow",
- info: "Watch ads to unlock temporary ad-free access",
- category: "Support Acode",
+ info: strings["settings-info-main-ad-rewards"],
+ category: categories.supportAcode,
chevron: true,
});
items.push({
key: "removeads",
text: strings["remove ads"],
icon: "block",
- info: "Unlock permanent ad-free access",
- category: "Support Acode",
+ info: strings["settings-info-main-remove-ads"],
+ category: categories.supportAcode,
chevron: true,
});
}
diff --git a/src/settings/previewSettings.js b/src/settings/previewSettings.js
index 0f77d0bdb..7346ae85d 100644
--- a/src/settings/previewSettings.js
+++ b/src/settings/previewSettings.js
@@ -4,6 +4,10 @@ import appSettings from "lib/settings";
export default function previewSettings() {
const values = appSettings.value;
const title = strings["preview settings"];
+ const categories = {
+ server: strings["settings-category-server"],
+ preview: strings["settings-category-preview"],
+ };
const PORT_REGEX =
/^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/;
const items = [
@@ -18,8 +22,8 @@ export default function previewSettings() {
return PORT_REGEX.test(value);
},
},
- info: "Port used by the live preview server",
- category: "Server",
+ info: strings["settings-info-preview-preview-port"],
+ category: categories.server,
},
{
key: "serverPort",
@@ -32,8 +36,8 @@ export default function previewSettings() {
return PORT_REGEX.test(value);
},
},
- info: "Port used by the internal app server",
- category: "Server",
+ info: strings["settings-info-preview-server-port"],
+ category: categories.server,
},
{
key: "previewMode",
@@ -43,8 +47,8 @@ export default function previewSettings() {
[appSettings.PREVIEW_MODE_BROWSER, strings.browser],
[appSettings.PREVIEW_MODE_INAPP, strings.inapp],
],
- info: "Where preview opens when you launch it",
- category: "Server",
+ info: strings["settings-info-preview-mode"],
+ category: categories.server,
},
{
key: "host",
@@ -62,29 +66,29 @@ export default function previewSettings() {
}
},
},
- info: "Hostname used when opening the preview URL",
- category: "Server",
+ info: strings["settings-info-preview-host"],
+ category: categories.server,
},
{
key: "disableCache",
text: strings["disable in-app-browser caching"],
checkbox: values.disableCache,
- info: "Always reload content in the in-app browser",
- category: "Preview",
+ info: strings["settings-info-preview-disable-cache"],
+ category: categories.preview,
},
{
key: "useCurrentFileForPreview",
text: strings["should_use_current_file_for_preview"],
checkbox: !!values.useCurrentFileForPreview,
- info: "Prefer the current file when starting preview",
- category: "Preview",
+ info: strings["settings-info-preview-use-current-file"],
+ category: categories.preview,
},
{
key: "showConsoleToggler",
text: strings["show console toggler"],
checkbox: values.showConsoleToggler,
- info: "Show the console button in preview",
- category: "Preview",
+ info: strings["settings-info-preview-show-console-toggler"],
+ category: categories.preview,
},
{
note: strings["preview settings note"],
diff --git a/src/settings/terminalSettings.js b/src/settings/terminalSettings.js
index 82e77bf28..ca435600e 100644
--- a/src/settings/terminalSettings.js
+++ b/src/settings/terminalSettings.js
@@ -16,6 +16,13 @@ import helpers from "utils/helpers";
export default function terminalSettings() {
const title = strings["terminal settings"];
const values = appSettings.value;
+ const categories = {
+ permissions: strings["settings-category-permissions"],
+ display: strings["settings-category-display"],
+ cursor: strings["settings-category-cursor"],
+ session: strings["settings-category-session"],
+ maintenance: strings["settings-category-maintenance"],
+ };
// Initialize terminal settings with defaults if not present
if (!values.terminalSettings) {
@@ -33,7 +40,7 @@ export default function terminalSettings() {
key: "all_file_access",
text: strings["allFileAccess"],
info: strings["info-all_file_access"],
- category: "Permissions",
+ category: categories.permissions,
chevron: true,
},
{
@@ -49,7 +56,7 @@ export default function terminalSettings() {
},
},
info: strings["info-fontSize"],
- category: "Display",
+ category: categories.display,
},
{
key: "fontFamily",
@@ -59,7 +66,7 @@ export default function terminalSettings() {
return fonts.getNames();
},
info: strings["info-fontFamily"],
- category: "Display",
+ category: categories.display,
},
{
key: "theme",
@@ -76,7 +83,7 @@ export default function terminalSettings() {
const option = this.select.find(([v]) => v === value);
return option ? option[1] : value;
},
- category: "Display",
+ category: categories.display,
},
{
key: "fontWeight",
@@ -96,7 +103,7 @@ export default function terminalSettings() {
"900",
],
info: strings["info-fontWeight"],
- category: "Display",
+ category: categories.display,
},
{
key: "letterSpacing",
@@ -105,14 +112,14 @@ export default function terminalSettings() {
prompt: strings["letter spacing"],
promptType: "number",
info: strings["info-letterSpacing"],
- category: "Display",
+ category: categories.display,
},
{
key: "fontLigatures",
text: strings["font ligatures"],
checkbox: terminalValues.fontLigatures,
info: strings["info-fontLigatures"],
- category: "Display",
+ category: categories.display,
},
{
key: "cursorStyle",
@@ -120,7 +127,7 @@ export default function terminalSettings() {
value: terminalValues.cursorStyle,
select: ["block", "underline", "bar"],
info: strings["info-cursorStyle"],
- category: "Cursor",
+ category: categories.cursor,
},
{
key: "cursorInactiveStyle",
@@ -128,14 +135,14 @@ export default function terminalSettings() {
value: terminalValues.cursorInactiveStyle,
select: ["outline", "block", "bar", "underline", "none"],
info: strings["info-cursorInactiveStyle"],
- category: "Cursor",
+ category: categories.cursor,
},
{
key: "cursorBlink",
text: strings["terminal:cursor blink"],
checkbox: terminalValues.cursorBlink,
info: strings["info-cursorBlink"],
- category: "Cursor",
+ category: categories.cursor,
},
{
key: "scrollback",
@@ -150,7 +157,7 @@ export default function terminalSettings() {
},
},
info: strings["info-scrollback"],
- category: "Session",
+ category: categories.session,
},
{
key: "tabStopWidth",
@@ -165,48 +172,48 @@ export default function terminalSettings() {
},
},
info: strings["info-tabStopWidth"],
- category: "Session",
+ category: categories.session,
},
{
key: "convertEol",
text: strings["terminal:convert eol"],
checkbox: terminalValues.convertEol,
- info: "Convert line endings when pasting or rendering output",
- category: "Session",
+ info: strings["settings-info-terminal-convert-eol"],
+ category: categories.session,
},
{
key: "imageSupport",
text: strings["terminal:image support"],
checkbox: terminalValues.imageSupport,
info: strings["info-imageSupport"],
- category: "Session",
+ category: categories.session,
},
{
key: "confirmTabClose",
text: strings["terminal:confirm tab close"],
checkbox: terminalValues.confirmTabClose !== false,
info: strings["info-confirmTabClose"],
- category: "Session",
+ category: categories.session,
},
{
key: "backup",
text: strings.backup,
info: strings["info-backup"],
- category: "Maintenance",
+ category: categories.maintenance,
chevron: true,
},
{
key: "restore",
text: strings.restore,
info: strings["info-restore"],
- category: "Maintenance",
+ category: categories.maintenance,
chevron: true,
},
{
key: "uninstall",
text: strings.uninstall,
info: strings["info-uninstall"],
- category: "Maintenance",
+ category: categories.maintenance,
chevron: true,
},
];
@@ -232,11 +239,11 @@ export default function terminalSettings() {
if (boolStr === "true") {
system.requestStorageManager(console.log, console.error);
} else {
- alert("This feature is not available.");
+ alert(strings["feature not available"]);
}
}, alert);
} else {
- alert("This feature is not available.");
+ alert(strings["feature not available"]);
}
return;
From 86b5b34f7683c7f69a5c9f6a7aa43379ad17effb Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 12:50:58 +0530
Subject: [PATCH 09/14] fix(settings): address review feedback
---
src/components/searchbar/index.js | 6 +++++-
src/lang/ar-ye.json | 4 +++-
src/lang/be-by.json | 4 +++-
src/lang/bn-bd.json | 4 +++-
src/lang/cs-cz.json | 4 +++-
src/lang/de-de.json | 4 +++-
src/lang/en-us.json | 4 +++-
src/lang/es-sv.json | 4 +++-
src/lang/fr-fr.json | 4 +++-
src/lang/he-il.json | 4 +++-
src/lang/hi-in.json | 4 +++-
src/lang/hu-hu.json | 4 +++-
src/lang/id-id.json | 4 +++-
src/lang/ir-fa.json | 4 +++-
src/lang/it-it.json | 4 +++-
src/lang/ja-jp.json | 4 +++-
src/lang/ko-kr.json | 4 +++-
src/lang/ml-in.json | 4 +++-
src/lang/mm-unicode.json | 4 +++-
src/lang/mm-zawgyi.json | 4 +++-
src/lang/pl-pl.json | 4 +++-
src/lang/pt-br.json | 4 +++-
src/lang/pu-in.json | 4 +++-
src/lang/ru-ru.json | 4 +++-
src/lang/tl-ph.json | 4 +++-
src/lang/tr-tr.json | 4 +++-
src/lang/uk-ua.json | 4 +++-
src/lang/uz-uz.json | 4 +++-
src/lang/vi-vn.json | 4 +++-
src/lang/zh-cn.json | 4 +++-
src/lang/zh-hant.json | 4 +++-
src/lang/zh-tw.json | 4 +++-
src/settings/appSettings.js | 14 ++++++++------
src/settings/lspServerDetail.js | 2 +-
34 files changed, 107 insertions(+), 39 deletions(-)
diff --git a/src/components/searchbar/index.js b/src/components/searchbar/index.js
index d6fdad317..e0995637c 100644
--- a/src/components/searchbar/index.js
+++ b/src/components/searchbar/index.js
@@ -133,7 +133,11 @@ function searchBar($list, setHide, onhideCb, searchFunction) {
if (!hasGroups) return result.map(cloneSearchItem);
- const countLabel = `${result.length} ${result.length === 1 ? "RESULT" : "RESULTS"}`;
+ const countLabel = `${result.length} ${
+ result.length === 1
+ ? strings["search result label singular"]
+ : strings["search result label plural"]
+ }`;
const content = [
{countLabel}
,
];
diff --git a/src/lang/ar-ye.json b/src/lang/ar-ye.json
index b7cf65cc2..372e72c9d 100644
--- a/src/lang/ar-ye.json
+++ b/src/lang/ar-ye.json
@@ -697,5 +697,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/be-by.json b/src/lang/be-by.json
index 0107f567d..7ca60c9e5 100644
--- a/src/lang/be-by.json
+++ b/src/lang/be-by.json
@@ -699,5 +699,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/bn-bd.json b/src/lang/bn-bd.json
index 1300bff17..2bdaf826c 100644
--- a/src/lang/bn-bd.json
+++ b/src/lang/bn-bd.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/cs-cz.json b/src/lang/cs-cz.json
index 62ebf1cea..0d58f8e7f 100644
--- a/src/lang/cs-cz.json
+++ b/src/lang/cs-cz.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/de-de.json b/src/lang/de-de.json
index a84838d2c..b372afa1a 100644
--- a/src/lang/de-de.json
+++ b/src/lang/de-de.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/en-us.json b/src/lang/en-us.json
index 57fd32445..60b01d2c8 100644
--- a/src/lang/en-us.json
+++ b/src/lang/en-us.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/es-sv.json b/src/lang/es-sv.json
index eb4900c56..43f35aaf9 100644
--- a/src/lang/es-sv.json
+++ b/src/lang/es-sv.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/fr-fr.json b/src/lang/fr-fr.json
index 15b8ec138..e91c7bf02 100644
--- a/src/lang/fr-fr.json
+++ b/src/lang/fr-fr.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/he-il.json b/src/lang/he-il.json
index e180ddcdb..372ba4fd9 100644
--- a/src/lang/he-il.json
+++ b/src/lang/he-il.json
@@ -699,5 +699,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/hi-in.json b/src/lang/hi-in.json
index 9773f685f..ed5e3a2b7 100644
--- a/src/lang/hi-in.json
+++ b/src/lang/hi-in.json
@@ -699,5 +699,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/hu-hu.json b/src/lang/hu-hu.json
index c0b672e8f..ff8dffc62 100644
--- a/src/lang/hu-hu.json
+++ b/src/lang/hu-hu.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/id-id.json b/src/lang/id-id.json
index 0335c5837..1e64f79df 100644
--- a/src/lang/id-id.json
+++ b/src/lang/id-id.json
@@ -699,5 +699,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/ir-fa.json b/src/lang/ir-fa.json
index 551892fb9..c511ee56e 100644
--- a/src/lang/ir-fa.json
+++ b/src/lang/ir-fa.json
@@ -699,5 +699,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/it-it.json b/src/lang/it-it.json
index dc5f470a7..f75bc6876 100644
--- a/src/lang/it-it.json
+++ b/src/lang/it-it.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/ja-jp.json b/src/lang/ja-jp.json
index 48f67b743..203ade0a6 100644
--- a/src/lang/ja-jp.json
+++ b/src/lang/ja-jp.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/ko-kr.json b/src/lang/ko-kr.json
index c694c0ca9..8d26db543 100644
--- a/src/lang/ko-kr.json
+++ b/src/lang/ko-kr.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/ml-in.json b/src/lang/ml-in.json
index 68937f682..3c6d5a0df 100644
--- a/src/lang/ml-in.json
+++ b/src/lang/ml-in.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/mm-unicode.json b/src/lang/mm-unicode.json
index 45b15db75..a390806bf 100644
--- a/src/lang/mm-unicode.json
+++ b/src/lang/mm-unicode.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/mm-zawgyi.json b/src/lang/mm-zawgyi.json
index b51f594b1..6de4e7239 100644
--- a/src/lang/mm-zawgyi.json
+++ b/src/lang/mm-zawgyi.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/pl-pl.json b/src/lang/pl-pl.json
index 0a892f854..4943fb2bd 100644
--- a/src/lang/pl-pl.json
+++ b/src/lang/pl-pl.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/pt-br.json b/src/lang/pt-br.json
index 5a3140255..28042037d 100644
--- a/src/lang/pt-br.json
+++ b/src/lang/pt-br.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/pu-in.json b/src/lang/pu-in.json
index e4374d8a8..5351c6ec0 100644
--- a/src/lang/pu-in.json
+++ b/src/lang/pu-in.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/ru-ru.json b/src/lang/ru-ru.json
index b4fccfb04..1144466e8 100644
--- a/src/lang/ru-ru.json
+++ b/src/lang/ru-ru.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/tl-ph.json b/src/lang/tl-ph.json
index 6418fbd6a..f282bc8f5 100644
--- a/src/lang/tl-ph.json
+++ b/src/lang/tl-ph.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/tr-tr.json b/src/lang/tr-tr.json
index ce40f18c1..e44b2f55e 100644
--- a/src/lang/tr-tr.json
+++ b/src/lang/tr-tr.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/uk-ua.json b/src/lang/uk-ua.json
index 2064e034c..bd6a35557 100644
--- a/src/lang/uk-ua.json
+++ b/src/lang/uk-ua.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/uz-uz.json b/src/lang/uz-uz.json
index 05b47f20a..543e28ad2 100644
--- a/src/lang/uz-uz.json
+++ b/src/lang/uz-uz.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/vi-vn.json b/src/lang/vi-vn.json
index 389b11523..a050f94cf 100644
--- a/src/lang/vi-vn.json
+++ b/src/lang/vi-vn.json
@@ -699,5 +699,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json
index 171872b58..607bfe340 100644
--- a/src/lang/zh-cn.json
+++ b/src/lang/zh-cn.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/zh-hant.json b/src/lang/zh-hant.json
index 65af302b8..e47069764 100644
--- a/src/lang/zh-hant.json
+++ b/src/lang/zh-hant.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json
index f0ccde88a..346f1949f 100644
--- a/src/lang/zh-tw.json
+++ b/src/lang/zh-tw.json
@@ -698,5 +698,7 @@
"settings-info-preview-use-current-file": "Prefer the current file when starting preview.",
"settings-info-terminal-convert-eol": "Convert line endings when pasting or rendering terminal output.",
"settings-note-formatter-settings": "Assign a formatter to each language. Install formatter plugins to unlock more options.",
- "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment."
+ "settings-note-lsp-settings": "Language servers add autocomplete, diagnostics, hover details, and more. You can install, update, or define custom servers here. Managed installers run inside the terminal/proot environment.",
+ "search result label singular": "result",
+ "search result label plural": "results"
}
diff --git a/src/settings/appSettings.js b/src/settings/appSettings.js
index d6f2ce776..102ad025e 100644
--- a/src/settings/appSettings.js
+++ b/src/settings/appSettings.js
@@ -3,6 +3,7 @@ import ajax from "@deadlyjack/ajax";
import { resetKeyBindings } from "cm/commandRegistry";
import settingsPage from "components/settingsPage";
import loader from "dialogs/loader";
+import select from "dialogs/select";
import actions from "handlers/quickTools";
import actionStack from "lib/actionStack";
import constants from "lib/constants";
@@ -215,14 +216,9 @@ export default function otherSettings() {
{
key: "keybindings",
text: strings["key bindings"],
- value: "edit",
- valueText: (value) => (value === "reset" ? strings.reset : strings.edit),
- select: [
- ["edit", strings.edit],
- ["reset", strings.reset],
- ],
info: strings["settings-info-app-keybindings"],
category: categories.advanced,
+ chevron: true,
},
{
key: "confirmOnExit",
@@ -280,6 +276,12 @@ export default function otherSettings() {
async function callback(key, value) {
switch (key) {
case "keybindings": {
+ value = await select(strings["key bindings"], [
+ ["edit", strings.edit],
+ ["reset", strings.reset],
+ ]);
+ if (!value) return;
+
if (value === "edit") {
actionStack.pop(2);
openFile(KEYBINDING_FILE);
diff --git a/src/settings/lspServerDetail.js b/src/settings/lspServerDetail.js
index bddd0a8ab..22e918860 100644
--- a/src/settings/lspServerDetail.js
+++ b/src/settings/lspServerDetail.js
@@ -63,7 +63,7 @@ function getFeatureItems() {
function fillTemplate(template, replacements) {
return Object.entries(replacements).reduce(
- (result, [key, value]) => result.replace(`{${key}}`, String(value)),
+ (result, [key, value]) => result.replaceAll(`{${key}}`, String(value)),
String(template || ""),
);
}
From 008c9a6cad03f566dde01f73dcf444f7c46cd233 Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 16:26:35 +0530
Subject: [PATCH 10/14] fix: some value related issues
---
src/components/settingsPage.js | 51 ++++++++++++++++++++++++++++++++--
1 file changed, 49 insertions(+), 2 deletions(-)
diff --git a/src/components/settingsPage.js b/src/components/settingsPage.js
index 29b236411..d799e1fb2 100644
--- a/src/components/settingsPage.js
+++ b/src/components/settingsPage.js
@@ -448,6 +448,8 @@ function listItems($list, items, callback, options = {}) {
const $valueText = $target.get(".value");
const $checkbox = $target.get(".input-checkbox");
const $trailingValueText = $target.get(".setting-trailing-value");
+ const shouldUpdateInlineValue =
+ $valueText && !$valueText.classList.contains("setting-info");
let res;
let shouldUpdateValue = false;
@@ -483,8 +485,11 @@ function listItems($list, items, callback, options = {}) {
if (shouldUpdateValue) {
item.value = res;
- setValueText($valueText, res, valueText?.bind(item));
- setValueText($trailingValueText, res, valueText?.bind(item));
+ if (options.valueInTail) {
+ setValueText($trailingValueText, res, valueText?.bind(item));
+ } else {
+ syncInlineValueDisplay($target, item, useInfoAsDescription);
+ }
setColor($target, res);
}
@@ -492,6 +497,48 @@ function listItems($list, items, callback, options = {}) {
}
}
+/**
+ * Keeps the inline subtitle/value block in sync when a setting value changes.
+ * @param {HTMLElement} $target
+ * @param {ListItem} item
+ * @param {boolean} useInfoAsDescription
+ */
+function syncInlineValueDisplay($target, item, useInfoAsDescription) {
+ const subtitle = getSubtitleText(item, useInfoAsDescription);
+ const showInfoAsSubtitle =
+ item.checkbox !== undefined ||
+ typeof item.value === "boolean" ||
+ useInfoAsDescription ||
+ (item.value === undefined && item.info);
+ const hasSubtitle =
+ subtitle !== undefined && subtitle !== null && subtitle !== "";
+ let $valueText = $target.get(".value");
+ const $container = $target.get(".container");
+
+ if (!$container) return;
+
+ if (!hasSubtitle) {
+ $valueText?.remove();
+ $target.classList.remove("has-subtitle");
+ $target.classList.add("compact");
+ return;
+ }
+
+ if (!$valueText) {
+ $valueText =
;
+ $container.append($valueText);
+ }
+
+ $valueText.classList.toggle("setting-info", showInfoAsSubtitle);
+ setValueText(
+ $valueText,
+ subtitle,
+ showInfoAsSubtitle ? null : item.valueText?.bind(item),
+ );
+ $target.classList.add("has-subtitle");
+ $target.classList.remove("compact");
+}
+
function getSubtitleText(item, useInfoAsDescription) {
if (useInfoAsDescription) {
return item.info;
From 140889d44838943c3c85400dfa85cda2e7287c8e Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 16:34:29 +0530
Subject: [PATCH 11/14] cleanup
---
src/components/settingsPage.js | 686 ++++++++++++++++++++-------------
1 file changed, 411 insertions(+), 275 deletions(-)
diff --git a/src/components/settingsPage.js b/src/components/settingsPage.js
index d799e1fb2..f7f3aebe8 100644
--- a/src/components/settingsPage.js
+++ b/src/components/settingsPage.js
@@ -59,63 +59,13 @@ export default function settingsPage(
/**@type {HTMLDivElement} */
const $list =
;
- /**@type {ListItem} */
- let note;
if (options.listClassName) {
$list.classList.add(...options.listClassName.split(" ").filter(Boolean));
}
- settings = settings.filter((setting) => {
- if ("note" in setting) {
- note = setting.note;
- return false;
- }
-
- if (!setting.info) {
- Object.defineProperty(setting, "info", {
- get() {
- return strings[`info-${this.key.toLocaleLowerCase()}`];
- },
- });
- }
-
- return true;
- });
-
- if (type === "united" || (type === "separate" && settings.length > 5)) {
- const $search =
;
- $search.onclick = () =>
- searchBar(
- $list,
- (hide) => {
- hideSearchBar = hide;
- },
- type === "united"
- ? () => {
- Object.values(appSettings.uiSettings).forEach((page) => {
- page.restoreList();
- });
- }
- : null,
- (key) => {
- if (type === "united") {
- const $items = [];
- Object.values(appSettings.uiSettings).forEach((page) => {
- $items.push(...page.search(key));
- });
- return $items;
- }
-
- return state.searchItems.filter((item) => {
- const text = item.textContent.toLowerCase();
- return text.match(key, "i");
- });
- },
- );
-
- $page.header.append($search);
- }
+ const normalized = normalizeSettings(settings);
+ settings = normalized.settings;
/** DISCLAIMER: do not assign hideSearchBar directly because it can change */
$page.ondisconnect = () => hideSearchBar();
@@ -133,16 +83,23 @@ export default function settingsPage(
const searchableItems = state.searchItems;
- if (note) {
- const $note = (
-
-
-
- {strings.info}
-
-
-
- );
+ if (shouldEnableSearch(type, settings.length)) {
+ const $search =
;
+ $search.onclick = () =>
+ searchBar(
+ $list,
+ (hide) => {
+ hideSearchBar = hide;
+ },
+ type === "united" ? restoreAllSettingsPages : null,
+ createSearchHandler(type, state.searchItems),
+ );
+
+ $page.header.append($search);
+ }
+
+ if (normalized.note) {
+ const $note = createNote(normalized.note);
if (options.notePosition === "top") {
children.unshift($note);
@@ -236,12 +193,9 @@ export default function settingsPage(
function listItems($list, items, callback, options = {}) {
const renderedItems = [];
const $searchItems = [];
- const $content = [];
const useInfoAsDescription =
options.infoAsDescription ?? Boolean(options.valueInTail);
- /** @type {HTMLElement | null} */
- let $currentSectionCard = null;
- let currentCategory = null;
+ const itemByKey = new Map(items.map((item) => [item.key, item]));
// sort settings by text before rendering (unless preserveOrder is true)
if (!options.preserveOrder) {
@@ -251,135 +205,264 @@ function listItems($list, items, callback, options = {}) {
});
}
items.forEach((item) => {
- const $setting = Ref();
- const $settingName = Ref();
- const $tail = Ref();
- const isCheckboxItem =
- item.checkbox !== undefined || typeof item.value === "boolean";
- /**@type {HTMLDivElement} */
- const $item = (
-
-
-
-
- {item.text?.capitalize?.(0) ?? item.text}
-
-
-
-
- );
+ const $item = createListItemElement(item, options, useInfoAsDescription);
+ insertRenderedItem(renderedItems, item, $item);
+ $item.addEventListener("click", onclick);
+ $searchItems.push($item);
+ });
- let $checkbox, $valueText;
- let $trailingValueText;
- const subtitle = isCheckboxItem
- ? item.info
- : getSubtitleText(item, useInfoAsDescription);
- const showInfoAsSubtitle =
- isCheckboxItem ||
- useInfoAsDescription ||
- (item.value === undefined && item.info);
- const searchGroup =
- item.searchGroup || item.category || options.defaultSearchGroup;
- const hasSubtitle =
- subtitle !== undefined && subtitle !== null && subtitle !== "";
- const shouldShowTailChevron =
- item.chevron ||
- (!item.select &&
- Boolean(item.prompt || item.file || item.folder || item.link));
-
- if (searchGroup) {
- $item.dataset.searchGroup = searchGroup;
- }
+ const topLevelChildren = buildListContent(renderedItems, options);
- let subtitleRendered = false;
+ $list.content = topLevelChildren;
- if (isCheckboxItem) {
- $checkbox = Checkbox("", item.checkbox || item.value);
- $tail.el.appendChild($checkbox);
- }
+ return {
+ children: topLevelChildren,
+ searchItems: $searchItems,
+ };
- if (hasSubtitle) {
- $valueText =
;
- setValueText(
- $valueText,
- subtitle,
- showInfoAsSubtitle ? null : item.valueText?.bind(item),
- );
- if (showInfoAsSubtitle) {
- $valueText.classList.add("setting-info");
- }
- $setting.append($valueText);
- subtitleRendered = true;
- if (!showInfoAsSubtitle) {
- setColor($item, item.value);
- }
- }
+ /**
+ * Click handler for $list
+ * @this {HTMLElement}
+ * @param {MouseEvent} e
+ */
+ async function onclick(e) {
+ const $target = e.currentTarget;
+ const { key } = $target.dataset;
- if (subtitleRendered) {
- $item.classList.add("has-subtitle");
- } else {
- $item.classList.add("compact");
- }
+ const item = itemByKey.get(key);
+ if (!item) return;
+ const result = await resolveItemInteraction(item, $target);
+ if (result.shouldCallCallback === false) return;
+ if (!result.shouldUpdateValue)
+ return callback.call($target, key, item.value);
- if (
- options.valueInTail &&
- item.value !== undefined &&
- item.checkbox === undefined &&
- typeof item.value !== "boolean"
- ) {
- $item.classList.add("has-tail-value");
+ item.value = result.value;
+ updateItemValueDisplay($target, item, options, useInfoAsDescription);
- if (item.select) {
- $item.classList.add("has-tail-select");
- }
+ callback.call($target, key, item.value);
+ }
+}
- $trailingValueText = (
-
- );
- setValueText($trailingValueText, item.value, item.valueText?.bind(item));
-
- const $valueDisplay = (
-
- {$trailingValueText}
- {item.select
- ?
- : null}
-
- );
- $tail.el.append($valueDisplay);
+function normalizeSettings(settings) {
+ /** @type {string | undefined} */
+ let note;
+ const normalizedSettings = settings.filter((setting) => {
+ if ("note" in setting) {
+ note = setting.note;
+ return false;
}
- if (shouldShowTailChevron) {
- $tail.el.append(
-
,
- );
+ ensureSettingInfo(setting);
+ return true;
+ });
+
+ return {
+ note,
+ settings: normalizedSettings,
+ };
+}
+
+function ensureSettingInfo(setting) {
+ if (setting.info) return;
+
+ Object.defineProperty(setting, "info", {
+ get() {
+ return strings[`info-${this.key.toLocaleLowerCase()}`];
+ },
+ });
+}
+
+function shouldEnableSearch(type, settingsCount) {
+ return type === "united" || (type === "separate" && settingsCount > 5);
+}
+
+function restoreAllSettingsPages() {
+ Object.values(appSettings.uiSettings).forEach((page) => {
+ page.restoreList();
+ });
+}
+
+function createSearchHandler(type, searchItems) {
+ return (key) => {
+ if (type === "united") {
+ const $items = [];
+ Object.values(appSettings.uiSettings).forEach((page) => {
+ $items.push(...page.search(key));
+ });
+ return $items;
}
- if (!$tail.el.children.length) {
- $tail.el.remove();
+ return searchItems.filter((item) => {
+ const text = item.textContent.toLowerCase();
+ return text.match(key, "i");
+ });
+ };
+}
+
+function createNote(note) {
+ return (
+
+
+
+ {strings.info}
+
+
+
+ );
+}
+
+function createListItemElement(item, options, useInfoAsDescription) {
+ const $setting = Ref();
+ const $tail = Ref();
+ const isCheckboxItem = isBooleanSetting(item);
+ const state = getItemDisplayState(item, useInfoAsDescription);
+ /**@type {HTMLDivElement} */
+ const $item = (
+
+
+
+
{item.text?.capitalize?.(0) ?? item.text}
+
+
+
+ );
+ const searchGroup =
+ item.searchGroup || item.category || options.defaultSearchGroup;
+
+ if (searchGroup) {
+ $item.dataset.searchGroup = searchGroup;
+ }
+
+ if (isCheckboxItem) {
+ const $checkbox = Checkbox("", item.checkbox || item.value);
+ $tail.el.appendChild($checkbox);
+ }
+
+ if (state.hasSubtitle) {
+ const $valueText = createSubtitleElement(item, state);
+ $setting.append($valueText);
+ $item.classList.add("has-subtitle");
+ if (!state.showInfoAsSubtitle) {
+ setColor($item, item.value);
}
+ } else {
+ $item.classList.add("compact");
+ }
- if (Number.isInteger(item.index)) {
- renderedItems.splice(item.index, 0, { item, $item });
- } else {
- renderedItems.push({ item, $item });
+ if (shouldShowTrailingValue(item, options)) {
+ $item.classList.add("has-tail-value");
+ if (item.select) {
+ $item.classList.add("has-tail-select");
}
+ $tail.el.append(createTrailingValueDisplay(item));
+ }
- $item.addEventListener("click", onclick);
- $searchItems.push($item);
- });
+ if (shouldShowTailChevron(item)) {
+ $tail.el.append(
+
,
+ );
+ }
+
+ if (!$tail.el.children.length) {
+ $tail.el.remove();
+ }
+
+ return $item;
+}
+
+function isBooleanSetting(item) {
+ return item.checkbox !== undefined || typeof item.value === "boolean";
+}
+
+function getItemDisplayState(item, useInfoAsDescription) {
+ const isCheckboxItem = isBooleanSetting(item);
+ const subtitle = isCheckboxItem
+ ? item.info
+ : getSubtitleText(item, useInfoAsDescription);
+ const showInfoAsSubtitle =
+ isCheckboxItem ||
+ useInfoAsDescription ||
+ (item.value === undefined && item.info);
+
+ return {
+ subtitle,
+ showInfoAsSubtitle,
+ hasSubtitle: subtitle !== undefined && subtitle !== null && subtitle !== "",
+ };
+}
+
+function createSubtitleElement(item, state) {
+ const $valueText =
;
+ setValueText(
+ $valueText,
+ state.subtitle,
+ state.showInfoAsSubtitle ? null : item.valueText?.bind(item),
+ );
+
+ if (state.showInfoAsSubtitle) {
+ $valueText.classList.add("setting-info");
+ }
+
+ return $valueText;
+}
+
+function shouldShowTrailingValue(item, options) {
+ return (
+ options.valueInTail &&
+ item.value !== undefined &&
+ item.checkbox === undefined &&
+ typeof item.value !== "boolean"
+ );
+}
+
+function createTrailingValueDisplay(item) {
+ const $trailingValueText = (
+
+ );
+ setValueText($trailingValueText, item.value, item.valueText?.bind(item));
+
+ return (
+
+ {$trailingValueText}
+ {item.select
+ ?
+ : null}
+
+ );
+}
+
+function shouldShowTailChevron(item) {
+ return (
+ item.chevron ||
+ (!item.select &&
+ Boolean(item.prompt || item.file || item.folder || item.link))
+ );
+}
+
+function insertRenderedItem(renderedItems, item, $item) {
+ if (Number.isInteger(item.index)) {
+ renderedItems.splice(item.index, 0, { item, $item });
+ return;
+ }
+
+ renderedItems.push({ item, $item });
+}
+
+function buildListContent(renderedItems, options) {
+ const $content = [];
+ /** @type {HTMLElement | null} */
+ let $currentSectionCard = null;
+ let currentCategory = null;
renderedItems.forEach(({ item, $item }) => {
const category =
@@ -394,107 +477,167 @@ function listItems($list, items, callback, options = {}) {
if (currentCategory !== category || !$currentSectionCard) {
currentCategory = category;
- const shouldShowLabel = category !== "__default__";
- const $label = shouldShowLabel
- ?
{category}
- : null;
- $currentSectionCard =
;
- $content.push(
-
- {$label}
- {$currentSectionCard}
- ,
- );
+ const section = createSectionElements(category);
+ $currentSectionCard = section.$card;
+ $content.push(section.$section);
}
$currentSectionCard.append($item);
});
- const topLevelChildren = $content.length
- ? $content
- : renderedItems.map(({ $item }) => $item);
-
- $list.content = topLevelChildren;
+ return $content.length ? $content : renderedItems.map(({ $item }) => $item);
+}
+function createSectionElements(category) {
+ const shouldShowLabel = category !== "__default__";
+ const $label = shouldShowLabel
+ ?
{category}
+ : null;
+ const $card =
;
return {
- children: topLevelChildren,
- searchItems: $searchItems,
+ $card,
+ $section: (
+
+ ),
};
+}
- /**
- * Click handler for $list
- * @this {HTMLElement}
- * @param {MouseEvent} e
- */
- async function onclick(e) {
- const $target = e.currentTarget;
- const { key } = $target.dataset;
+async function resolveItemInteraction(item, $target) {
+ const {
+ select: selectOptions,
+ prompt: promptText,
+ color: selectColor,
+ checkbox,
+ file,
+ folder,
+ link,
+ text,
+ value,
+ promptType,
+ promptOptions,
+ } = item;
+
+ try {
+ if (selectOptions) {
+ const selectedValue = await select(text, selectOptions, {
+ default: value,
+ });
- const item = items.find((item) => item.key === key);
- if (!item) return;
+ return {
+ shouldUpdateValue: selectedValue !== undefined,
+ value: selectedValue,
+ };
+ }
- const {
- select: options,
- prompt: promptText,
- color: selectColor,
- checkbox,
- file,
- folder,
- link,
- } = item;
- const { text, value, valueText } = item;
- const { promptType, promptOptions } = item;
-
- const $valueText = $target.get(".value");
- const $checkbox = $target.get(".input-checkbox");
- const $trailingValueText = $target.get(".setting-trailing-value");
- const shouldUpdateInlineValue =
- $valueText && !$valueText.classList.contains("setting-info");
- let res;
- let shouldUpdateValue = false;
-
- try {
- if (options) {
- res = await select(text, options, {
- default: value,
- });
- shouldUpdateValue = res !== undefined;
- } else if (checkbox !== undefined) {
- $checkbox.toggle();
- res = $checkbox.checked;
- shouldUpdateValue = true;
- } else if (promptText) {
- res = await prompt(promptText, value, promptType, promptOptions);
- if (res === null) return;
- shouldUpdateValue = true;
- } else if (file || folder) {
- const mode = file ? "file" : "folder";
- const { url } = await FileBrowser(mode);
- res = url;
- shouldUpdateValue = true;
- } else if (selectColor) {
- res = await colorPicker(value);
- shouldUpdateValue = true;
- } else if (link) {
- system.openInBrowser(link);
- return;
- }
- } catch (error) {
- window.log("error", error);
+ if (checkbox !== undefined) {
+ const $checkbox = $target.get(".input-checkbox");
+ $checkbox.toggle();
+ return {
+ shouldUpdateValue: true,
+ value: $checkbox.checked,
+ };
}
- if (shouldUpdateValue) {
- item.value = res;
- if (options.valueInTail) {
- setValueText($trailingValueText, res, valueText?.bind(item));
- } else {
- syncInlineValueDisplay($target, item, useInfoAsDescription);
+ if (promptText) {
+ const promptedValue = await prompt(
+ promptText,
+ value,
+ promptType,
+ promptOptions,
+ );
+ if (promptedValue === null) {
+ return {
+ shouldUpdateValue: false,
+ shouldCallCallback: false,
+ };
}
- setColor($target, res);
+
+ return {
+ shouldUpdateValue: true,
+ value: promptedValue,
+ };
}
- callback.call($target, key, item.value);
+ if (file || folder) {
+ const mode = file ? "file" : "folder";
+ const { url } = await FileBrowser(mode);
+ return {
+ shouldUpdateValue: true,
+ value: url,
+ };
+ }
+
+ if (selectColor) {
+ const color = await colorPicker(value);
+ return {
+ shouldUpdateValue: true,
+ value: color,
+ };
+ }
+
+ if (link) {
+ system.openInBrowser(link);
+ return {
+ shouldUpdateValue: false,
+ shouldCallCallback: false,
+ };
+ }
+ } catch (error) {
+ window.log("error", error);
+ }
+
+ return {
+ shouldUpdateValue: false,
+ shouldCallCallback: true,
+ };
+}
+
+function updateItemValueDisplay($target, item, options, useInfoAsDescription) {
+ if (options.valueInTail) {
+ syncTrailingValueDisplay($target, item, options);
+ } else {
+ syncInlineValueDisplay($target, item, useInfoAsDescription);
}
+
+ setColor($target, item.value);
+}
+
+function syncTrailingValueDisplay($target, item, options) {
+ const shouldRenderTrailingValue = shouldShowTrailingValue(item, options);
+ let $tail = $target.get(".setting-tail");
+ let $valueDisplay = $target.get(".setting-value-display");
+
+ if (!shouldRenderTrailingValue) {
+ $valueDisplay?.remove();
+ $target.classList.remove("has-tail-value", "has-tail-select");
+ if ($tail && !$tail.children.length) {
+ $tail.remove();
+ }
+ return;
+ }
+
+ if (!$tail) {
+ $tail =
;
+ $target.append($tail);
+ }
+
+ if (!$valueDisplay) {
+ $valueDisplay = createTrailingValueDisplay(item);
+ const $chevron = $tail.get(".settings-chevron");
+ if ($chevron) {
+ $tail.insertBefore($valueDisplay, $chevron);
+ } else {
+ $tail.append($valueDisplay);
+ }
+ }
+
+ const $trailingValueText = $valueDisplay.get(".setting-trailing-value");
+ setValueText($trailingValueText, item.value, item.valueText?.bind(item));
+ $target.classList.add("has-tail-value");
+ $target.classList.toggle("has-tail-select", Boolean(item.select));
}
/**
@@ -504,20 +647,13 @@ function listItems($list, items, callback, options = {}) {
* @param {boolean} useInfoAsDescription
*/
function syncInlineValueDisplay($target, item, useInfoAsDescription) {
- const subtitle = getSubtitleText(item, useInfoAsDescription);
- const showInfoAsSubtitle =
- item.checkbox !== undefined ||
- typeof item.value === "boolean" ||
- useInfoAsDescription ||
- (item.value === undefined && item.info);
- const hasSubtitle =
- subtitle !== undefined && subtitle !== null && subtitle !== "";
+ const state = getItemDisplayState(item, useInfoAsDescription);
let $valueText = $target.get(".value");
const $container = $target.get(".container");
if (!$container) return;
- if (!hasSubtitle) {
+ if (!state.hasSubtitle) {
$valueText?.remove();
$target.classList.remove("has-subtitle");
$target.classList.add("compact");
@@ -529,11 +665,11 @@ function syncInlineValueDisplay($target, item, useInfoAsDescription) {
$container.append($valueText);
}
- $valueText.classList.toggle("setting-info", showInfoAsSubtitle);
+ $valueText.classList.toggle("setting-info", state.showInfoAsSubtitle);
setValueText(
$valueText,
- subtitle,
- showInfoAsSubtitle ? null : item.valueText?.bind(item),
+ state.subtitle,
+ state.showInfoAsSubtitle ? null : item.valueText?.bind(item),
);
$target.classList.add("has-subtitle");
$target.classList.remove("compact");
From 705126d1a6e1db123992d8458118282d025d31c8 Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 18:53:30 +0530
Subject: [PATCH 12/14] fix
---
src/components/searchbar/index.js | 38 +++--
src/components/settingsPage.scss | 232 +++++++++++++++++++++++++++++-
2 files changed, 254 insertions(+), 16 deletions(-)
diff --git a/src/components/searchbar/index.js b/src/components/searchbar/index.js
index e0995637c..1ace29954 100644
--- a/src/components/searchbar/index.js
+++ b/src/components/searchbar/index.js
@@ -117,18 +117,33 @@ function searchBar($list, setHide, onhideCb, searchFunction) {
function buildSearchContent(result, val) {
if (!val || !result.length) return result;
- const groups = new Map();
+ const groupedSections = [];
+ const sectionIndexByLabel = new Map();
let hasGroups = false;
result.forEach(($item) => {
const label = $item.dataset.searchGroup;
- if (!label) return;
- hasGroups = true;
+ if (!label) {
+ groupedSections.push({
+ items: [$item],
+ type: "ungrouped",
+ });
+ return;
+ }
- if (!groups.has(label)) {
- groups.set(label, []);
+ hasGroups = true;
+ const existingSectionIndex = sectionIndexByLabel.get(label);
+ if (existingSectionIndex !== undefined) {
+ groupedSections[existingSectionIndex].items.push($item);
+ return;
}
- groups.get(label).push($item);
+
+ sectionIndexByLabel.set(label, groupedSections.length);
+ groupedSections.push({
+ items: [$item],
+ label,
+ type: "group",
+ });
});
if (!hasGroups) return result.map(cloneSearchItem);
@@ -142,12 +157,17 @@ function searchBar($list, setHide, onhideCb, searchFunction) {
{countLabel}
,
];
- groups.forEach((items, label) => {
+ groupedSections.forEach((section) => {
+ if (section.type === "ungrouped") {
+ content.push(...section.items.map(cloneSearchItem));
+ return;
+ }
+
content.push(
- {label}
+ {section.label}
- {items.map(cloneSearchItem)}
+ {section.items.map(cloneSearchItem)}
,
);
diff --git a/src/components/settingsPage.scss b/src/components/settingsPage.scss
index 31500fbc2..4a7e2c8e0 100644
--- a/src/components/settingsPage.scss
+++ b/src/components/settingsPage.scss
@@ -140,6 +140,216 @@ wc-page.main-settings-page {
color: color-mix(in srgb, var(--secondary-text-color), transparent 40%);
}
+ .settings-search-section .list-item {
+ > .container {
+ padding-right: 0.35rem;
+ gap: 0.18rem;
+ }
+
+ > .setting-tail {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ flex-shrink: 0;
+ min-height: 1.65rem;
+ gap: 0.32rem;
+ margin-left: 0.9rem;
+ align-self: center;
+ }
+
+ &.has-subtitle > .container {
+ gap: 0.24rem;
+ padding-top: 0.14rem;
+ padding-right: 0.6rem;
+ }
+
+ &.has-subtitle.has-tail-select > .container {
+ padding-right: 0.95rem;
+ }
+
+ &.compact > .container {
+ align-self: center;
+ justify-content: center;
+ gap: 0;
+ padding-top: 0;
+ }
+
+ &.compact > .setting-tail {
+ align-self: center;
+ }
+ }
+
+ .settings-search-section .setting-value-display {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.15rem;
+ min-height: auto;
+ padding: 0;
+ border: none;
+ border-radius: 0;
+ background: transparent;
+ color: var(--secondary-text-color);
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 18%);
+ box-sizing: border-box;
+
+ &.is-select {
+ min-width: clamp(6.75rem, 30vw, 8.5rem);
+ max-width: min(45vw, 11.5rem);
+ min-height: 2.35rem;
+ padding: 0 0.8rem 0 0.95rem;
+ gap: 0.55rem;
+ justify-content: space-between;
+ border: 1px solid var(--border-color);
+ border: 1px solid color-mix(in srgb, var(--border-color), transparent 12%);
+ border-radius: 0.56rem;
+ background: color-mix(
+ in srgb,
+ var(--secondary-color),
+ var(--popup-background-color) 42%
+ );
+ box-shadow:
+ inset 0 0 0 1px color-mix(in srgb, var(--border-color), transparent 44%),
+ 0 1px 2px rgba(0, 0, 0, 0.12);
+ }
+ }
+
+ .settings-search-section .setting-trailing-value {
+ font-size: 0.88rem;
+ line-height: 1.2;
+ color: inherit;
+ text-transform: none;
+ white-space: nowrap;
+
+ &.is-select {
+ flex: 1;
+ min-width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 0.94rem;
+ font-weight: 500;
+ letter-spacing: -0.01em;
+ color: color-mix(in srgb, var(--popup-text-color), transparent 14%);
+ }
+ }
+
+ .settings-search-section .setting-value-icon,
+ .settings-search-section .settings-chevron,
+ .main-settings-list .settings-chevron {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: var(--secondary-text-color);
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 40%);
+ }
+
+ .settings-search-section .setting-value-icon {
+ width: 1rem;
+ min-width: 1rem;
+ height: 1rem;
+ font-size: 1rem;
+
+ .setting-value-display.is-select & {
+ width: 0.95rem;
+ min-width: 0.95rem;
+ height: 0.95rem;
+ font-size: 1rem;
+ color: color-mix(in srgb, var(--secondary-text-color), transparent 22%);
+ }
+ }
+
+ .settings-search-section .settings-chevron,
+ .main-settings-list .settings-chevron {
+ width: 1.2rem;
+ min-width: 1.2rem;
+ height: 1.2rem;
+ margin-left: 0.1rem;
+ font-size: 1.1rem;
+ line-height: 1;
+ }
+
+ .settings-search-section .input-checkbox {
+ display: inline-flex;
+ align-items: center;
+ justify-content: flex-end;
+ line-height: 0;
+
+ span:last-child {
+ display: none;
+ }
+
+ .box {
+ width: 2.8rem !important;
+ height: 1.65rem !important;
+ margin: 0;
+ border: 1px solid var(--border-color);
+ border: 1px solid color-mix(in srgb, var(--border-color), transparent 6%);
+ border-radius: 999px;
+ background: var(--popup-background-color);
+ background: color-mix(
+ in srgb,
+ var(--secondary-color),
+ var(--popup-background-color) 30%
+ );
+ transition:
+ background-color 160ms ease,
+ border-color 160ms ease,
+ box-shadow 180ms ease;
+
+ &::after {
+ width: 1.25rem;
+ height: 1.25rem;
+ margin: 0.14rem;
+ border-radius: 999px;
+ background: var(--popup-text-color);
+ background: color-mix(
+ in srgb,
+ var(--popup-text-color),
+ var(--popup-background-color) 18%
+ );
+ opacity: 1;
+ box-shadow:
+ 0 0 0 1px color-mix(in srgb, var(--border-color), transparent 34%),
+ 0 1px 3px rgba(0, 0, 0, 0.22);
+ transition:
+ transform 180ms cubic-bezier(0.2, 0.9, 0.3, 1),
+ background-color 160ms ease,
+ box-shadow 180ms ease;
+ }
+ }
+
+ input:checked + .box {
+ background: var(--button-background-color);
+ border-color: color-mix(in srgb, var(--button-background-color), transparent 10%);
+ box-shadow: inset 0 0 0 1px
+ color-mix(in srgb, var(--button-background-color), transparent 12%);
+ }
+
+ input:checked + .box::after {
+ transform: translateX(1.12rem);
+ background: var(--button-text-color);
+ opacity: 1;
+ box-shadow: 0 2px 8px color-mix(in srgb, var(--button-background-color), transparent 55%);
+ }
+
+ input:not(:checked) + .box::after {
+ opacity: 1;
+ }
+ }
+
+ .settings-search-section
+ .list-item.has-tail-select:focus
+ .setting-value-display.is-select,
+ .settings-search-section
+ .list-item.has-tail-select:active
+ .setting-value-display.is-select {
+ border-color: color-mix(in srgb, var(--active-color), transparent 48%);
+ background: color-mix(
+ in srgb,
+ var(--popup-background-color),
+ var(--active-color) 9%
+ );
+ }
+
@media screen and (min-width: 768px) {
.main-settings-list {
padding-left: 0.5rem;
@@ -147,6 +357,21 @@ wc-page.main-settings-page {
}
}
+ @media screen and (max-width: 480px) {
+ .settings-search-section .setting-trailing-value {
+ max-width: 7rem;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .settings-search-section .setting-value-display.is-select {
+ min-width: 6.25rem;
+ max-width: 9rem;
+ padding-left: 0.85rem;
+ padding-right: 0.7rem;
+ }
+ }
+
.icon {
&:active,
&.active {
@@ -311,13 +536,6 @@ wc-page.detail-settings-page {
padding-right: 0.95rem;
}
- .detail-settings-list > .list-item.has-subtitle.has-tail-select > .setting-tail,
- .settings-section-card > .list-item.has-subtitle.has-tail-select > .setting-tail {
- align-self: flex-start;
- margin-top: 0.16rem;
- margin-left: 1.3rem;
- }
-
.detail-settings-list > .list-item.compact > .container,
.settings-section-card > .list-item.compact > .container {
align-self: center;
From 92c1db910de686ccbc4909ece55c5a8e97e38581 Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 19:08:36 +0530
Subject: [PATCH 13/14] update when added new entry
---
src/settings/lspSettings.js | 115 +++++++++++++++++++++++-------------
1 file changed, 73 insertions(+), 42 deletions(-)
diff --git a/src/settings/lspSettings.js b/src/settings/lspSettings.js
index 25925c451..a2db7fbe6 100644
--- a/src/settings/lspSettings.js
+++ b/src/settings/lspSettings.js
@@ -123,57 +123,87 @@ export default function lspSettings() {
customServers: strings["settings-category-custom-servers"],
servers: strings["settings-category-servers"],
};
- const servers = serverRegistry.listServers();
+ let page = createPage();
- const sortedServers = servers.sort((a, b) => {
- const aEnabled = getServerOverride(a.id).enabled ?? a.enabled;
- const bEnabled = getServerOverride(b.id).enabled ?? b.enabled;
+ return {
+ show(goTo) {
+ page = createPage();
+ page.show(goTo);
+ },
+ hide() {
+ page.hide();
+ },
+ search(key) {
+ page = createPage();
+ return page.search(key);
+ },
+ restoreList() {
+ page.restoreList();
+ },
+ setTitle(nextTitle) {
+ page.setTitle(nextTitle);
+ },
+ };
- if (aEnabled !== bEnabled) {
- return bEnabled ? 1 : -1;
- }
- return a.label.localeCompare(b.label);
- });
+ function createPage() {
+ const servers = serverRegistry.listServers();
- const items = [
- {
- key: "add_custom_server",
- text: strings["lsp-add-custom-server"],
- info: strings["settings-info-lsp-add-custom-server"],
- category: categories.customServers,
- index: 0,
- chevron: true,
- },
- ];
+ const sortedServers = servers.sort((a, b) => {
+ const aEnabled = getServerOverride(a.id).enabled ?? a.enabled;
+ const bEnabled = getServerOverride(b.id).enabled ?? b.enabled;
- for (const server of sortedServers) {
- const source = server.launcher?.install?.source
- ? ` • ${server.launcher.install.source}`
- : "";
- const languagesList =
- Array.isArray(server.languages) && server.languages.length
- ? `${server.languages.join(", ")}${source}`
- : source.slice(3);
+ if (aEnabled !== bEnabled) {
+ return bEnabled ? 1 : -1;
+ }
+ return a.label.localeCompare(b.label);
+ });
+
+ const items = [
+ {
+ key: "add_custom_server",
+ text: strings["lsp-add-custom-server"],
+ info: strings["settings-info-lsp-add-custom-server"],
+ category: categories.customServers,
+ index: 0,
+ chevron: true,
+ },
+ ];
+
+ for (const server of sortedServers) {
+ const source = server.launcher?.install?.source
+ ? ` • ${server.launcher.install.source}`
+ : "";
+ const languagesList =
+ Array.isArray(server.languages) && server.languages.length
+ ? `${server.languages.join(", ")}${source}`
+ : source.slice(3);
+
+ items.push({
+ key: `server:${server.id}`,
+ text: server.label,
+ info: languagesList || undefined,
+ category: categories.servers,
+ chevron: true,
+ });
+ }
items.push({
- key: `server:${server.id}`,
- text: server.label,
- info: languagesList || undefined,
- category: categories.servers,
- chevron: true,
+ note: strings["settings-note-lsp-settings"],
});
- }
- items.push({
- note: strings["settings-note-lsp-settings"],
- });
+ return settingsPage(title, items, callback, undefined, {
+ preserveOrder: true,
+ pageClassName: "detail-settings-page",
+ listClassName: "detail-settings-list",
+ groupByDefault: true,
+ });
+ }
- return settingsPage(title, items, callback, undefined, {
- preserveOrder: true,
- pageClassName: "detail-settings-page",
- listClassName: "detail-settings-list",
- groupByDefault: true,
- });
+ function refreshVisiblePage() {
+ page.hide();
+ page = createPage();
+ page.show();
+ }
async function callback(key) {
if (key === "add_custom_server") {
@@ -261,6 +291,7 @@ export default function lspSettings() {
});
toast(strings["lsp-custom-server-added"]);
+ refreshVisiblePage();
const detailPage = lspServerDetail(serverId);
detailPage?.show();
} catch (error) {
From b9f2a5e7ae0b54067228643cfb50c37cc1922405 Mon Sep 17 00:00:00 2001
From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
Date: Mon, 9 Mar 2026 19:13:14 +0530
Subject: [PATCH 14/14] fix
---
src/components/settingsPage.scss | 80 ++++++++------------------------
1 file changed, 20 insertions(+), 60 deletions(-)
diff --git a/src/components/settingsPage.scss b/src/components/settingsPage.scss
index 4a7e2c8e0..aba4f617f 100644
--- a/src/components/settingsPage.scss
+++ b/src/components/settingsPage.scss
@@ -1,7 +1,5 @@
-wc-page.main-settings-page {
- background: var(--secondary-color);
-
- .main-settings-list {
+@mixin settings-page-shell($list-selector) {
+ #{$list-selector} {
display: flex;
flex-direction: column;
gap: 1.2rem;
@@ -42,6 +40,21 @@ wc-page.main-settings-page {
overflow: hidden;
box-sizing: border-box;
}
+}
+
+@mixin settings-icon-reset {
+ .icon {
+ &:active,
+ &.active {
+ transform: none;
+ background-color: transparent !important;
+ }
+ }
+}
+
+wc-page.main-settings-page {
+ background: var(--secondary-color);
+ @include settings-page-shell(".main-settings-list");
.main-settings-list > .list-item,
.settings-section-card > .list-item {
@@ -372,59 +385,12 @@ wc-page.main-settings-page {
}
}
- .icon {
- &:active,
- &.active {
- transform: none;
- background-color: transparent !important;
- }
- }
+ @include settings-icon-reset;
}
wc-page.detail-settings-page {
background: var(--secondary-color);
-
- .detail-settings-list {
- display: flex;
- flex-direction: column;
- gap: 1.2rem;
- width: 100%;
- max-width: 48rem;
- margin: 0 auto;
- padding: 0.5rem 0 5.5rem;
- box-sizing: border-box;
- background: var(--secondary-color);
- }
-
- .settings-section {
- display: flex;
- flex-direction: column;
- gap: 0;
- width: 100%;
- }
-
- .settings-search-summary {
- padding: 0.2rem 1rem;
- font-size: 0.84rem;
- font-weight: 600;
- line-height: 1.35;
- color: var(--secondary-text-color);
- color: color-mix(in srgb, var(--secondary-text-color), transparent 18%);
- }
-
- .settings-section-label {
- padding: 0.5rem 1rem 0.45rem;
- font-size: 0.84rem;
- font-weight: 600;
- line-height: 1.3;
- color: color-mix(in srgb, var(--active-color), transparent 18%);
- }
-
- .settings-section-card {
- width: 100%;
- overflow: hidden;
- box-sizing: border-box;
- }
+ @include settings-page-shell(".detail-settings-list");
.detail-settings-list > .list-item,
.settings-section-card > .list-item {
@@ -794,13 +760,7 @@ wc-page.detail-settings-page {
);
}
- .icon {
- &:active,
- &.active {
- transform: none;
- background-color: transparent !important;
- }
- }
+ @include settings-icon-reset;
}
wc-page.detail-settings-page.formatter-settings-page {