move translations into quickshell folder

This commit is contained in:
end-4
2025-10-14 12:02:33 +02:00
parent 8dc31cc790
commit 57a5c0f743
15 changed files with 3 additions and 2 deletions
@@ -14,6 +14,7 @@ Singleton {
property bool isScanning: scanLanguagesProcess.running
property bool isLoading: false
property string translationKeepSuffix: "/*keep*/"
property string translationsPath: Quickshell.shellPath("translations")
property string languageCode: {
var configLang = Config?.options.language.ui ?? "auto";
@@ -26,7 +27,7 @@ Singleton {
Process {
id: scanLanguagesProcess
command: ["find", FileUtils.trimFileProtocol(Qt.resolvedUrl(Directories.config + "/quickshell/translations/").toString()), "-name", "*.json", "-exec", "basename", "{}", ".json", ";"]
command: ["find", root.translationsPath, "-name", "*.json", "-exec", "basename", "{}", ".json", ";"]
running: true
stdout: SplitParser {
@@ -60,7 +61,7 @@ Singleton {
FileView {
id: translationFileView
path: root.languageCode?.length > 0 ? Qt.resolvedUrl(Directories.config + "/quickshell/translations/" + root.languageCode + ".json") : ""
path: root.languageCode?.length > 0 ? Qt.resolvedUrl(`${root.translationsPath}/${root.languageCode}.json`) : ""
onLoaded: {
var textContent = "";
@@ -0,0 +1,472 @@
{
"Mo": "Mo/*keep*/",
"Tu": "Tu/*keep*/",
"We": "We/*keep*/",
"Th": "Th/*keep*/",
"Fr": "Fr/*keep*/",
"Sa": "Sa/*keep*/",
"Su": "Su/*keep*/",
"%1 characters": "%1 characters",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!",
"<i>No further instruction provided</i>": "<i>No further instruction provided</i>",
"Action": "Action",
"Add": "Add",
"Add task": "Add task",
"All-rounder | Good quality, decent quantity": "All-rounder | Good quality, decent quantity",
"Allow NSFW": "Allow NSFW",
"Allow NSFW content": "Allow NSFW content",
"Anime": "Anime",
"Anime boorus": "Anime boorus",
"App": "App",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel",
"Bluetooth": "Bluetooth",
"Brightness": "Brightness",
"Cancel": "Cancel",
"Cheat sheet": "Cheat sheet",
"Choose model": "Choose model",
"Clean stuff | Excellent quality, no NSFW": "Clean stuff | Excellent quality, no NSFW",
"Clear": "Clear",
"Clear chat history": "Clear chat history",
"Clear the current list of images": "Clear the current list of images",
"Close": "Close",
"Copy": "Copy",
"Copy code": "Copy code",
"Delete": "Delete",
"Desktop": "Desktop",
"Disable NSFW content": "Disable NSFW content",
"Done": "Done",
"Download": "Download",
"Edit": "Edit",
"Enter text to translate...": "Enter text to translate...",
"Finished tasks will go here": "Finished tasks will go here",
"For desktop wallpapers | Good quality": "For desktop wallpapers | Good quality",
"For storing API keys and other sensitive information": "For storing API keys and other sensitive information",
"Game mode": "Game mode",
"Get the next page of results": "Get the next page of results",
"Hibernate": "Hibernate",
"Input": "Input",
"Intelligence": "Intelligence",
"Interface": "Interface",
"Invalid arguments. Must provide `key` and `value`.": "Invalid arguments. Must provide `key` and `value`.",
"Jump to current month": "Jump to current month",
"Keep system awake": "Keep system awake",
"Large images | God tier quality, no NSFW.": "Large images | God tier quality, no NSFW.",
"Large language models": "Large language models",
"Launch": "Launch",
"Lock": "Lock",
"Logout": "Logout",
"Markdown test": "Markdown test",
"Math result": "Math result",
"No audio source": "No audio source",
"No media": "No media",
"No notifications": "No notifications",
"Not visible to model": "Not visible to model",
"Nothing here!": "Nothing here!",
"Notifications": "Notifications",
"OK": "OK",
"Open file link": "Open file link",
"Output": "Output",
"Reboot": "Reboot",
"Reboot to firmware settings": "Reboot to firmware settings",
"Reload Hyprland & Quickshell": "Reload Hyprland & Quickshell",
"Run": "Run",
"Run command": "Run command",
"Save": "Save",
"Save to Downloads": "Save to Downloads",
"Search": "Search",
"Search the web": "Search the web",
"Search, calculate or run": "Search, calculate or run",
"Select Language": "Select Language",
"Session": "Session",
"Set API key": "Set API key",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.",
"Set the current API provider": "Set the current API provider",
"Shutdown": "Shutdown",
"Silent": "Silent",
"Sleep": "Sleep",
"System": "System",
"Task Manager": "Task Manager",
"Task description": "Task description",
"Temperature must be between 0 and 2": "Temperature must be between 0 and 2",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "The hentai one | Great quantity, a lot of NSFW, quality varies wildly",
"The popular one | Best quantity, but quality can vary wildly": "The popular one | Best quantity, but quality can vary wildly",
"Thinking": "Thinking",
"Translation goes here...": "Translation goes here...",
"Translator": "Translator",
"Unfinished": "Unfinished",
"Unknown": "Unknown",
"Unknown Album": "Unknown Album",
"Unknown Artist": "Unknown Artist",
"Unknown Title": "Unknown Title",
"View Markdown source": "View Markdown source",
"Volume": "Volume",
"Volume mixer": "Volume mixer",
"Waifus only | Excellent quality, limited quantity": "Waifus only | Excellent quality, limited quantity",
"Waiting for response...": "Waiting for response...",
"Workspace": "Workspace",
"Invalid API provider. Supported: \n-": "Invalid API provider. Supported: \n-",
"Unknown command:": "Unknown command:",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window",
"Provider set to": "Provider set to",
"Invalid model. Supported: \n```": "Invalid model. Supported: \n```",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number",
"Switched to search mode. Continue with the user's request.": "Switched to search mode. Continue with the user's request.",
"Settings": "Settings",
"Save chat": "Save chat",
"Load chat": "Load chat",
"or": "or",
"Set the system prompt for the model.": "Set the system prompt for the model.",
"To Do": "To Do",
"Calendar": "Calendar",
"Advanced": "Advanced",
"About": "About",
"Services": "Services",
"Light": "Light",
"Dark": "Dark",
"Fidelity": "Fidelity",
"Fruit Salad": "Fruit Salad",
"When not fullscreen": "When not fullscreen",
"Choose file": "Choose file",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers",
"Be patient...": "Be patient...",
"Tonal Spot": "Tonal Spot",
"Auto": "Auto",
"Content": "Content",
"Transparency": "Transparency",
"Expressive": "Expressive",
"Yes": "Yes",
"Enable": "Enable",
"Rainbow": "Rainbow",
"Might look ass. Unsupported.": "Might look ass. Unsupported.",
"Monochrome": "Monochrome",
"Random: Konachan": "Random: Konachan",
"Neutral": "Neutral",
"Pick wallpaper image on your system": "Pick wallpaper image on your system",
"No": "No",
"AI": "AI",
"Local only": "Local only",
"Policies": "Policies",
"Weeb": "Weeb",
"Closet": "Closet",
"Show next time": "Show next time",
"Usage": "Usage",
"Useless buttons": "Useless buttons",
"GitHub": "GitHub",
"Style & wallpaper": "Style & wallpaper",
"Configuration": "Configuration",
"Keybinds": "Keybinds",
"Float": "Float",
"Hug": "Hug",
"illogical-impulse Welcome": "illogical-impulse Welcome",
"Info": "Info",
"Volume limit": "Volume limit",
"Prevents abrupt increments and restricts volume limit": "Prevents abrupt increments and restricts volume limit",
"Resources": "Resources",
"12h am/pm": "12h am/pm",
"Base URL": "Base URL",
"Audio": "Audio",
"Networking": "Networking",
"Format": "Format",
"Time": "Time",
"Battery": "Battery",
"Prefixes": "Prefixes",
"Emojis": "Emojis",
"Earbang protection": "Earbang protection",
"Automatically suspends the system when battery is low": "Automatically suspends the system when battery is low",
"Automatic suspend": "Automatic suspend",
"Max allowed increase": "Max allowed increase",
"Web search": "Web search",
"Polling interval (ms)": "Polling interval (ms)",
"Clipboard": "Clipboard",
"Low warning": "Low warning",
"24h": "24h",
"Use Levenshtein distance-based algorithm instead of fuzzy": "Use Levenshtein distance-based algorithm instead of fuzzy",
"System prompt": "System prompt",
"12h AM/PM": "12h AM/PM",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)",
"Critical warning": "Critical warning",
"User agent (for services that require it)": "User agent (for services that require it)",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.",
"Workspaces shown": "Workspaces shown",
"Dark/Light toggle": "Dark/Light toggle",
"Dock": "Dock",
"Weather": "Weather",
"Pinned on startup": "Pinned on startup",
"Always show numbers": "Always show numbers",
"Keyboard toggle": "Keyboard toggle",
"Scale (%)": "Scale (%)",
"Overview": "Overview",
"Rows": "Rows",
"Screenshot tool": "Screenshot tool",
"Number show delay when pressing Super (ms)": "Number show delay when pressing Super (ms)",
"Timeout (ms)": "Timeout (ms)",
"Show app icons": "Show app icons",
"Workspaces": "Workspaces",
"Columns": "Columns",
"On-screen display": "On-screen display",
"Screen snip": "Screen snip",
"Mic toggle": "Mic toggle",
"Hover to reveal": "Hover to reveal",
"Bar": "Bar",
"Show regions of potential interest": "Show regions of potential interest",
"Color picker": "Color picker",
"Help & Support": "Help & Support",
"Discussions": "Discussions",
"Color generation": "Color generation",
"Dotfiles": "Dotfiles",
"Distro": "Distro",
"Privacy Policy": "Privacy Policy",
"Documentation": "Documentation",
"Shell & utilities theming must also be enabled": "Shell & utilities theming must also be enabled",
"Ignored if terminal theming is not enabled": "Ignored if terminal theming is not enabled",
"illogical-impulse": "illogical-impulse",
"Donate": "Donate",
"Terminal": "Terminal",
"Shell & utilities": "Shell & utilities",
"Qt apps": "Qt apps",
"Force dark mode in terminal": "Force dark mode in terminal",
"Report a Bug": "Report a Bug",
"Issues": "Issues",
"Drag or click a region • LMB: Copy • RMB: Edit": "Drag or click a region • LMB: Copy • RMB: Edit",
"Current model: %1\nSet it with %2model MODEL": "Current model: %1\nSet it with %2model MODEL",
"Message the model... \"%1\" for commands": "Message the model... \"%1\" for commands",
"No API key set for %1": "No API key set for %1",
"Loaded the following system prompt\n\n---\n\n%1": "Loaded the following system prompt\n\n---\n\n%1",
"%1 | Right-click to configure": "%1 | Right-click to configure",
"API key set for %1": "API key set for %1",
"Online via %1 | %2's model": "Online via %1 | %2's model",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "Current API endpoint: %1\nSet it with %2mode PROVIDER",
"Go to source (%1)": "Go to source (%1)",
"Temperature set to %1": "Temperature set to %1",
"Enter tags, or \"%1\" for commands": "Enter tags, or \"%1\" for commands",
"%1 queries pending": "%1 queries pending",
"API key:\n\n```txt\n%1\n```": "API key:\n\n```txt\n%1\n```",
"%1 Safe Storage": "%1 Safe Storage",
"%1 does not require an API key": "%1 does not require an API key",
"Temperature: %1": "Temperature: %1",
"Model set to %1": "Model set to %1",
"Page %1": "Page %1",
"Local Ollama model | %1": "Local Ollama model | %1",
"The current system prompt is\n\n---\n\n%1": "The current system prompt is\n\n---\n\n%1",
"Unknown function call: %1": "Unknown function call: %1",
"%1 notifications": "%1 notifications",
"Load chat from %1": "Load chat from %1",
"Load prompt from %1": "Load prompt from %1",
"Save chat to %1": "Save chat to %1",
"Weather Service": "Weather Service",
"Cannot find a GPS service. Using the fallback method instead.": "Cannot find a GPS service. Using the fallback method instead.",
"Critically low battery": "Critically low battery",
"Select output device": "Select output device",
"Code saved to file": "Code saved to file",
"Online models disallowed\n\nControlled by `policies.ai` config option": "Online models disallowed\n\nControlled by `policies.ai` config option",
"Scroll to change volume": "Scroll to change volume",
"Elements": "Elements",
"%1 • %2 tasks": "%1 • %2 tasks",
"Download complete": "Download complete",
"Please charge!\nAutomatic suspend triggers at %1": "Please charge!\nAutomatic suspend triggers at %1",
"Cloudflare WARP": "Cloudflare WARP",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Scroll to change brightness": "Scroll to change brightness",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "Connection failed. Please inspect manually with the <tt>warp-cli</tt> command",
"Select input device": "Select input device",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "Registration failed. Please inspect manually with the <tt>warp-cli</tt> command",
"Consider plugging in your device": "Consider plugging in your device",
"Low battery": "Low battery",
"Saved to %1": "Saved to %1",
"Sunset": "Sunset",
"UV Index": "UV Index",
"Humidity": "Humidity",
"Wind": "Wind",
"Sunrise": "Sunrise",
"Pressure": "Pressure",
"Visibility": "Visibility",
"Precipitation": "Precipitation",
"Time to full:": "Time to full:",
"Time to empty:": "Time to empty:",
"Fully charged": "Fully charged",
"Charging:": "Charging:",
"Discharging:": "Discharging:",
"No pending tasks": "No pending tasks",
"... and %1 more": "... and %1 more",
"Used:": "Used:",
"Free:": "Free:",
"Total:": "Total:",
"Load:": "Load:",
"High": "High",
"Medium": "Medium",
"Low": "Low",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls",
"Incorrect password": "Incorrect password",
"Usage: %1load CHAT_NAME": "Usage: %1load CHAT_NAME",
"Usage: %1tool TOOL_NAME": "Usage: %1tool TOOL_NAME",
"Feels like %1": "Feels like %1",
"Always": "Always",
"Break": "Break",
"Vertical": "Vertical",
"Set the tool to use for the model.": "Set the tool to use for the model.",
"Lap": "Lap",
"Approve": "Approve",
"No API key\nSet it with /key YOUR_API_KEY": "No API key\nSet it with /key YOUR_API_KEY",
"Sidebars": "Sidebars",
"Up %1": "Up %1",
"Your package manager is running": "Your package manager is running",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed",
"Tool set to: %1": "Tool set to: %1",
"Disable tools": "Disable tools",
"Tray": "Tray",
"Temperature\nChange with /temp VALUE": "Temperature\nChange with /temp VALUE",
"Conflicts with the shell's notification implementation": "Conflicts with the shell's notification implementation",
"Pause": "Pause",
"Wallpaper parallax": "Wallpaper parallax",
"Kill conflicting programs?": "Kill conflicting programs?",
"🌿 Long break: %1 minutes": "🌿 Long break: %1 minutes",
"Reject": "Reject",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers",
"Welcome app": "Welcome app",
"Attach a file. Only works with Gemini.": "Attach a file. Only works with Gemini.",
"Depends on workspace": "Depends on workspace",
"Night Light | Right-click to toggle Auto mode": "Night Light | Right-click to toggle Auto mode",
"Total token count\nInput: %1\nOutput: %2": "Total token count\nInput: %1\nOutput: %2",
"Tint icons": "Tint icons",
"Refreshing (manually triggered)": "Refreshing (manually triggered)",
"Gives the model search capabilities (immediately)": "Gives the model search capabilities (immediately)",
"Performance Profile toggle": "Performance Profile toggle",
"Timer": "Timer",
"**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1": "**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1",
"Command rejected by user": "Command rejected by user",
"Thought": "Thought",
"Long break": "Long break",
"Hi there! First things first...": "Hi there! First things first...",
"Preferred wallpaper zoom (%)": "Preferred wallpaper zoom (%)",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.",
"🔴 Focus: %1 minutes": "🔴 Focus: %1 minutes",
"Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>": "Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>",
"There might be a download in progress": "There might be a download in progress",
"Start": "Start",
"System uptime:": "System uptime:",
"Keep right sidebar loaded": "Keep right sidebar loaded",
"Current tool: %1\nSet it with %2tool TOOL": "Current tool: %1\nSet it with %2tool TOOL",
"Corner style": "Corner style",
"Reset": "Reset",
"Stopwatch": "Stopwatch",
"Usage: %1save CHAT_NAME": "Usage: %1save CHAT_NAME",
"API key is set\nChange with /key YOUR_API_KEY": "API key is set\nChange with /key YOUR_API_KEY",
"Resume": "Resume",
"Enter password": "Enter password",
"Config file": "Config file",
"Pomodoro": "Pomodoro",
"Tint app icons": "Tint app icons",
"Invalid tool. Supported tools:\n- %1": "Invalid tool. Supported tools:\n- %1",
"Invalid arguments. Must provide `command`.": "Invalid arguments. Must provide `command`.",
"When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help": "When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help",
"Depends on sidebars": "Depends on sidebars",
"To Do:": "To Do:",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key",
"Online | Google's model\nFast, can perform searches for up-to-date information": "Online | Google's model\nFast, can perform searches for up-to-date information",
"Focus": "Focus",
"Conflicts with the shell's system tray implementation": "Conflicts with the shell's system tray implementation",
"Shell conflicts killer": "Shell conflicts killer",
"☕ Break: %1 minutes": "☕ Break: %1 minutes",
"Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json": "Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.",
"EasyEffects | Right-click to configure": "EasyEffects | Right-click to configure",
"Automatically hide": "Automatically hide",
"Positioning": "Positioning",
"Bar style": "Bar style",
"Connected": "Connected",
"Simple digital": "Simple digital",
"Material cookie": "Material cookie",
"Quick": "Quick",
"Bar position": "Bar position",
"Select the language for the user interface.\n\"Auto\" will use your system's locale.": "Select the language for the user interface.\n\"Auto\" will use your system's locale.",
"Terminal: Harmony (%)": "Terminal: Harmony (%)",
"Pick random from this folder": "Pick random from this folder",
"Not all options are available in this app. You should also check the config file by hitting the \"Config file\" button on the topleft corner or opening %1 manually.": "Not all options are available in this app. You should also check the config file by hitting the \"Config file\" button on the topleft corner or opening %1 manually.",
"Background": "Background",
"Edit directory": "Edit directory",
"Shell command": "Shell command",
"Open editor": "Open editor",
"Utility buttons": "Utility buttons",
"Tip: right-clicking a group\nalso expands it": "Tip: right-clicking a group\nalso expands it",
"Group style": "Group style",
"Terminal: Harmonize threshold": "Terminal: Harmonize threshold",
"Search wallpapers": "Search wallpapers",
"Open network portal": "Open network portal",
"Center clock": "Center clock",
"Cancel wallpaper selection": "Cancel wallpaper selection",
"Line-separated": "Line-separated",
"Region height": "Region height",
"Hit \"/\" to search": "Hit \"/\" to search",
"No active player": "No active player",
"Back": "Back",
"Work safety": "Work safety",
"Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen": "Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen",
"Password": "Password",
"Crosshair code (in Valorant's format)": "Crosshair code (in Valorant's format)",
"Bluetooth devices": "Bluetooth devices",
"Value scroll": "Value scroll",
"Hover to trigger": "Hover to trigger",
"Details": "Details",
"Screen round corner": "Screen round corner",
"Superpaste": "Superpaste",
"Pills": "Pills",
"Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers": "Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers",
"Extra wallpaper zoom (%)": "Extra wallpaper zoom (%)",
"Random: osu! seasonal": "Random: osu! seasonal",
"When this is off you'll have to click": "When this is off you'll have to click",
"Forget": "Forget",
"Top": "Top",
"Region width": "Region width",
"Enable blur": "Enable blur",
"Press Super+G to toggle appearance": "Press Super+G to toggle appearance",
"Pick a wallpaper": "Pick a wallpaper",
"Make sure your player has MPRIS support\nor try turning off duplicate player filtering": "Make sure your player has MPRIS support\nor try turning off duplicate player filtering",
"Also unlock keyring": "Also unlock keyring",
"Style: general": "Style: general",
"Lock screen": "Lock screen",
"Usage: <tt>%1superpaste NUM_OF_ENTRIES[i]</tt>\nSupply <tt>i</tt> when you want images\nExamples:\n<tt>%1superpaste 4i</tt> for the last 4 images\n<tt>%1superpaste 7</tt> for the last 7 entries": "Usage: <tt>%1superpaste NUM_OF_ENTRIES[i]</tt>\nSupply <tt>i</tt> when you want images\nExamples:\n<tt>%1superpaste 4i</tt> for the last 4 images\n<tt>%1superpaste 7</tt> for the last 7 entries",
"Security": "Security",
"Make icons pinned by default": "Make icons pinned by default",
"Right": "Right",
"Click to toggle light/dark mode\n(applied when wallpaper is chosen)": "Click to toggle light/dark mode\n(applied when wallpaper is chosen)",
"Math": "Math",
"Language": "Language",
"Place the corners to trigger at the bottom": "Place the corners to trigger at the bottom",
"Use the system file picker instead\nRight-click to make this the default behavior": "Use the system file picker instead\nRight-click to make this the default behavior",
"Visualize region": "Visualize region",
"Auto (System)": "Auto (System)",
"Bar & screen": "Bar & screen",
"Allows you to open sidebars by clicking or hovering screen corners regardless of bar position": "Allows you to open sidebars by clicking or hovering screen corners regardless of bar position",
"Timeout duration (if not defined by notification) (ms)": "Timeout duration (if not defined by notification) (ms)",
"Rect": "Rect",
"Unknown device": "Unknown device",
"Style: Blurred": "Style: Blurred",
"Interface Language": "Interface Language",
"Crosshair overlay": "Crosshair overlay",
"Connect to Wi-Fi": "Connect to Wi-Fi",
"Wallpaper & Colors": "Wallpaper & Colors",
"Terminal: Foreground boost (%)": "Terminal: Foreground boost (%)",
"Show clock": "Show clock",
"General": "General",
"Tip: Close a window with Super+Q": "Tip: Close a window with Super+Q",
"Brightness and volume": "Brightness and volume",
"Clock style": "Clock style",
"Paired": "Paired",
"Change any time later with /dark, /light, /wallpaper in the launcher\nIf the shell's colors aren't changing:\n 1. Open the right sidebar with Super+N\n 2. Click \"Reload Hyprland & Quickshell\" in the top-right corner": "Change any time later with /dark, /light, /wallpaper in the launcher\nIf the shell's colors aren't changing:\n 1. Open the right sidebar with Super+N\n 2. Click \"Reload Hyprland & Quickshell\" in the top-right corner",
"Place at bottom": "Place at bottom",
"Launch on startup": "Launch on startup",
"Corner open": "Corner open",
"Show \"Locked\" text": "Show \"Locked\" text",
"Disconnect": "Disconnect",
"Connect": "Connect",
"at": "at",
"Left": "Left",
"Require password to power off/restart": "Require password to power off/restart",
"This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)": "This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)",
"Bottom": "Bottom",
"Locked": "Locked",
"Wallpaper safety enforced": "Wallpaper safety enforced"
}
@@ -0,0 +1,505 @@
{
"Launch": "הפעל",
"Columns": "עמודות",
"Save": "שמור",
"Temperature: %1": "טמפרטורה: %1",
"Night Light | Right-click to toggle Auto mode": "אור לילה",
"Silent": "השתק",
"To Do": "תזכורת",
"Action": "פקודות",
"Search the web": "חיפוש באינטרנט",
"Workspace": "שטח עבודה",
"Desktop": "שולחן עבודה",
"Settings": "הגדרות",
"Math result": "תוצאה",
"Calendar": "לוח שנה",
"Run": "הפעל",
"Cancel": "ביטול",
"Search": "חיפוש",
"Battery": "סוללה",
"Weather": "מזג אוויר",
"Brightness": "בהירות",
"Clear": "נקה",
"No notifications": "אין התראות",
"No media": "אין מדיה",
"Add task": "הוסף תזכורת",
"Run command": "הפעל פקודה",
"Game mode": "מצב משחק",
"Reload Hyprland & Quickshell": "טען מחדש Hyprland ו-Quickshell",
"Task description": "כותרת תזכורת",
"%1 | Right-click to configure": "%1",
"Done": "הושלם",
"Keep system awake": "מנע שינה",
"Search, calculate or run": "חפש, חשב או הרץ",
"Copy": "העתק",
"Rows": "שורות",
"Session": "סשן",
"Notifications": "התראות",
"Unfinished": "לא הושלם",
"Add": "הוסף",
"Nothing here!": "אין תזכורות",
"Elements": "אלמנטים",
"Color picker": "בוחר צבעים",
"Sleep": "שינה",
"Transparency": "שקיפות",
"Bluetooth": "בלוטות׳",
"UV Index": "מדד קרינת UV",
"Bar": "סרגל",
"Format": "פורמט",
"Select output device": "בחר התקן פלט",
"Pressure": "לחץ",
"Volume": "עוצמה",
"Volume mixer": "הגדרות עוצמת שמע",
"Interface": "ממשק",
"Workspaces": "שטחי עבודה",
"Dark": "כהה",
"%1 notifications": "%1 התראות",
"Reboot": "הפעל מחדש",
"No": "לא",
"Wind": "רוח",
"Humidity": "לחות",
"Select Language": "בחר שפה",
"Copy code": "העתק קוד",
"Allow NSFW": "הצג NSFW",
"Shutdown": "כיבוי",
"Translation goes here...": "תרגום יגיע לכאן...",
"Polling interval (ms)": "מרווח סקר (מילישניות)",
"System prompt": "פרומפט מערכת",
"Base URL": "כתובת בסיס",
"Always show numbers": "הצג מספרים תמיד",
"Wallpaper parallax": "אפקט parallax לטפט",
"illogical-impulse Welcome": "ברוך הבא ל-illogical-impulse",
"Local only": "מקומי בלבד",
"Dark/Light toggle": "מצב כהה/בהיר",
"Screen snip": "צילום מסך",
"Style & wallpaper": "סגנון וטפט",
"Show app icons": "הצג אייקוני אפליקציות",
"Useless buttons": "כפתורים מיותרים",
"Scale (%)": "קנה מידה (%)",
"Intelligence": "בינה מלאכותית",
"Enable": "אפשר",
"Random: Konachan": "אקראי: Konachan",
"Yes": "כן",
"Documentation": "תיעוד",
"Unknown Artist": "אמן לא ידוע",
"Help & Support": "עזרה ותמיכה",
"Report a Bug": "דווח על באג",
"Sunset": "שקיעה",
"Weeb": "אנימה",
"Workspaces shown": "מספר שטחי עבודה מוצגים",
"Screenshot tool": "כלי צילום מסך",
"Enter text to translate...": "הכנס טקסט לתרגום",
"Unknown Album": "אלבום לא ידוע",
"Hug": "מעוגל",
"Scroll to change brightness": "גלול לשינוי בהירות",
"Privacy Policy": "מדיניות פרטיות",
"12h AM/PM": "12 שעות (AM/PM)",
"No audio source": "אין מקור שמע",
"Download": "הורד",
"Prefixes": "קידומות",
"Show next time": "הצג בפעם הבאה",
"Lock": "נעילה",
"Scroll to change volume": "גלול לשינוי עוצמת שמע",
"Unknown": "לא ידוע",
"Jump to current month": "קפוץ לחודש הנוכחי",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Terminal": "טרמינל",
"About": "אודות",
"Precipitation": "גשם",
"Keybinds": "קיצורי מקשים",
"Select input device": "בחר התקן קלט",
"When not fullscreen": "כשלא במסך מלא",
"Unknown Title": "כותרת לא ידועה",
"Task Manager": "מנהל משימות",
"System": "מערכת",
"Choose file": "בחר קובץ",
"Pinned on startup": "נעוץ בהפעלה",
"Policies": "מדיניות",
"View Markdown source": "הצג קובץ Markdown",
"Sunrise": "זריחה",
"Configuration": "הגדרות",
"Overview": "סקירה כללית",
"Translator": "מתרגם",
"Finished tasks will go here": "משימות שהושלמו יוצגו כאן",
"Mic toggle": "מיקרופון",
"Light": "בהיר",
"Advanced": "מתקדם",
"Web search": "חיפוש באינטרנט",
"12h am/pm": "12 שעות (am/pm)",
"Services": "שירותים",
"Donate": "תרום",
"Resources": "משאבים",
"Float": "צף",
"Hibernate": "שינה עמוקה",
"Visibility": "ראות",
"Delete": "מחק",
"Page %1": "עמוד %1",
"Keyboard toggle": "מקלדת וירטואלית",
"24h": "24 שעות",
"Time": "שעה",
"Clipboard": "לוח העתקה",
"or": "או",
"Edit": "ערוך",
"Emojis": "אימוג'ים",
"Shell & utilities": "יישומים וכלי מערכת",
"Reboot to firmware settings": "הפעל מחדש להגדרות קושחה",
"No API key set for %1": "לא הוגדרה מפתח API עבור %1",
"Disable NSFW content": "הסתר תוכן NSFW",
"Closet": "מוסתר",
"Depends on sidebars": "תלוי בסרגלים צדדיים",
"Invalid model. Supported: \n```": "מודל לא חוקי. נתמכים: \n```",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "הקלד /key לשימוש במודלים מקוונים\nCtrl+O לפתיחת סרגל צד\nCtrl+P להפרדה לחלון",
"Not visible to model": "לא נראה למודל",
"Local Ollama model | %1": "מודל Ollama מקומי | %1",
"Open file link": "פתח קישור לקובץ",
"Cheat sheet": "דף עזר",
"Allow NSFW content": "אפשר תוכן NSFW",
"%1 characters": "%1 תווים",
"Model set to %1": "מודל הוגדר ל-%1",
"Be patient...": "נא להמתין...",
"User agent (for services that require it)": "User agent (לשירותים שדורשים זאת)",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "נקודת קצה API נוכחית: %1\nהשתמש ב-%2mode לשנות",
"For desktop wallpapers | Good quality": "לטפטים | איכות טובה",
"For storing API keys and other sensitive information": "לשמירת מפתחות API ומידע רגיש",
"Your package manager is running": "מנהל החבילות פועל",
"Provider set to": "ספק הוגדר ל",
"Color generation": "יצירת צבעים",
"Temperature must be between 0 and 2": "ערך הטמפרטורה חייב להיות בין 0 ל-2",
"Earbang protection": "הגנת אוזניים",
"Current model: %1\nSet it with %2model MODEL": "מודל נוכחי: %1\nשנה עם %2model",
"Waifus only | Excellent quality, limited quantity": "וואייפוס בלבד | איכות מעולה, כמות מוגבלת",
"Save to Downloads": "שמור בהורדות",
"Thinking": "חושב...",
"On-screen display": "תצוגת מסך",
"%1 • %2 tasks": "%1 • %2 תזכורות",
"Qt apps": "יישומי Qt",
"The popular one | Best quantity, but quality can vary wildly": "הפופולרי | כמות גדולה, איכות משתנה",
"Set the system prompt for the model.": "הגדר פרומפט מערכת למודל",
"Markdown test": "בדיקת Markdown",
"Prevents abrupt increments and restricts volume limit": "מונע עליות חדות ומגביל עוצמת קול",
"Preferred wallpaper zoom (%)": "זום טפט מועדף (%)",
"Depends on workspace": "תלוי במקום העבודה",
"Pick wallpaper image on your system": "בחר טפט מהמחשב",
"Invalid API provider. Supported: \n-": "ספק API לא חוקי. נתמכים: \n-",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "הנטאי | כמות רבה, NSFW, איכות משתנה",
"Saved to %1": "נשמר ל-%1",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "הגדר טמפרטורה (אקראיות) למודל. ערכים 0–2 ל-Gemini, 0–1 לאחרים. ברירת מחדל 0.5",
"Close": "סגור",
"Tint icons": "אייקונים בגוון",
"Total token count\nInput: %1\nOutput: %2": "סך כל הטוקנים\nקלט: %1\nפלט: %2",
"... and %1 more": "... ועוד %1",
"Lap": "הקפה",
"%1 does not require an API key": "%1 אינו דורש מפתח API",
"To Do:": "רשימת משימות:",
"Timer": "טיימר",
"AI": "בינה מלאכותית",
"Clear the current list of images": "נקה את רשימת התמונות הנוכחית",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "כדי להגדיר מפתח API, העבר אותו עם הפקודה %4\n\nכדי להציג את המפתח, העבר \"get\" עם הפקודה<br/>\n\n### עבור %1:\n\n**קישור**: %2\n\n%3",
"Time to full:": "זמן עד טעינה מלאה:",
"illogical-impulse": "illogical-impulse",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "מקוון | מודל של %1 | מספק תשובות מהירות, מגיבות ומעוצבות היטב. חסרונות: לא תמיד יוזם פעולות; עלול להמציא קריאות פונקציה לא מוכרות",
"Refreshing (manually triggered)": "מרענן (הופעל ידנית)",
"Kill conflicting programs?": "להפסיק תוכנות מתנגשות?",
"System uptime:": "משך זמן פעילות המערכת:",
"Monochrome": "מונוכרום",
"Issues": "בעיות",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "מקוון | מודל של גוגל\nמודל חדש יותר, איטי יותר מקודמו אך אמור לספק תשובות איכותיות יותר",
"Temperature set to %1": "הטמפרטורה הוגדרה ל-%1",
"Fruit Salad": "סלט פירות",
"No pending tasks": "אין משימות ממתינות",
"Vertical": "אנכי",
"Set the tool to use for the model.": "הגדר את הכלי לשימוש עבור המודל.",
"Cannot find a GPS service. Using the fallback method instead.": "לא נמצא שירות GPS. משתמש בשיטה חלופית.",
"API key:\n\n```txt\n%1\n```": "מפתח API:\n\n```txt\n%1\n```",
"Large images | God tier quality, no NSFW.": "תמונות גדולות | איכות גבוהה מאוד, ללא NSFW.",
"Language": "שפה",
"Weather Service": "שירות מזג אוויר",
"Hover to reveal": "העבר עכבר לחשיפה",
"Drag or click a region • LMB: Copy • RMB: Edit": "גרור או לחץ על אזור • לחצן שמאלי: העתק • לחצן ימני: ערוך",
"Enter password": "הזן סיסמה",
"Switched to search mode. Continue with the user's request.": "הועבר למצב חיפוש. המשך בבקשת המשתמש.",
"Save chat to %1": "שמור שיחה ל-%1",
"Current tool: %1\nSet it with %2tool TOOL": "הכלי הנוכחי: %1\nהגדר אותו עם %2tool TOOL",
"The current system prompt is\n\n---\n\n%1": "הפרומפט הנוכחי של המערכת הוא\n\n---\n\n%1",
"Save chat": "שמור שיחה",
"Conflicts with the shell's notification implementation": "מתנגש עם מימוש ההתראות של ה-shell",
"Critically low battery": "סוללה נמוכה מאוד",
"Shell conflicts killer": "מנטרל התנגשויות shell",
"Number show delay when pressing Super (ms)": "השהיית הצגת מספרים בלחיצת Super (מילישניות)",
"Start": "התחל",
"Config file": "קובץ הגדרות",
"☕ Break: %1 minutes": "☕ הפסקה: %1 דקות",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". הערות ל-Zerochan:\n- חובה להזין צבע\n- הגדר את שם המשתמש שלך ב-zerochan באופציית הקונפיג `sidebar.booru.zerochan.username`. ייתכן שתחסם אם לא תעשה זאת!",
"Used:": "בשימוש:",
"Hi there! First things first...": "שלום! קודם כל...",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "ההרשמה נכשלה. נא לבדוק ידנית עם הפקודה <tt>warp-cli</tt>",
"Usage": "שימוש",
"Medium": "בינוני",
"Enter tags, or \"%1\" for commands": "הזן תגיות, או \"%1\" לפקודות",
"Auto (System)": "אוטומטי (מערכת)",
"Content": "תוכן",
"Performance Profile toggle": "החלף פרופיל ביצועים",
"Low battery": "סוללה חלשה",
"Region height": "גובה אזור",
"Invalid tool. Supported tools:\n- %1": "כלי לא חוקי. כלים נתמכים:\n- %1",
"API key is set\nChange with /key YOUR_API_KEY": "מפתח API מוגדר\nשנה עם /key YOUR_API_KEY",
"Shell & utilities theming must also be enabled": "יש להפעיל גם ערכת נושא ליישומי מערכת",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "טפט אנימה אקראי מ-Konachan\nהתמונה נשמרת ב-~/Pictures/Wallpapers",
"Automatic suspend": "השהיה אוטומטית",
"Gives the model search capabilities (immediately)": "נותן למודל יכולות חיפוש (מידית)",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "מקוון | מודל מתקדם של גוגל שמצטיין בקידוד ובמשימות חשיבה מורכבות.",
"Consider plugging in your device": "שקול לחבר את המכשיר לטעינה",
"Show regions of potential interest": "הצג אזורים בעלי עניין פוטנציאלי",
"<i>No further instruction provided</i>": "<i>לא ניתנה הנחיה נוספת</i>",
"Dock": "מעגן",
"Loaded the following system prompt\n\n---\n\n%1": "נטען הפרומפט הבא של המערכת\n\n---\n\n%1",
"Always": "תמיד",
"Input": "קלט",
"Expressive": "מביע",
"Audio": "שמע",
"Usage: %1tool TOOL_NAME": "שימוש: %1tool TOOL_NAME",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**מחיר**: חינם. מדיניות השימוש בנתונים משתנה לפי הגדרות החשבון שלך ב-OpenRouter.\n\n**הוראות**: התחבר לחשבון OpenRouter, עבור ל-Keys בתפריט העליון, לחץ על Create API Key",
"Auto": "אוטומטי",
"Sidebars": "סרגלים צדדיים",
"Stopwatch": "סטופר",
"Distro": "הפצה",
"Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json": "פתח את קובץ הקונפיג של ה-shell.\nאם הכפתור לא עובד או לא נפתח בעורך המועדף עליך, תוכל לפתוח ידנית את ~/.config/illogical-impulse/config.json",
"🌿 Long break: %1 minutes": "🌿 הפסקה ארוכה: %1 דקות",
"Max allowed increase": "העלייה המרבית המותרת",
"Conflicts with the shell's system tray implementation": "מתנגש עם מימוש מגש המערכת של ה-shell",
"Time to empty:": "זמן עד התרוקנות:",
"Discharging:": "בהתרוקנות:",
"Pomodoro": "פומודורו",
"API key set for %1": "מפתח API הוגדר עבור %1",
"%1 queries pending": "%1 שאילתות ממתינות",
"Reset": "איפוס",
"Automatically hide": "הסתר אוטומטית",
"Might look ass. Unsupported.": "עשוי להיראות גרוע. לא נתמך.",
"Anime": "אנימה",
"Online models disallowed\n\nControlled by `policies.ai` config option": "מודלים מקוונים אינם מותרים\n\nנשלט על ידי אפשרות הקונפיג `policies.ai`",
"Thought": "מחשבה",
"GitHub": "גיטהאב",
"Clear chat history": "נקה היסטוריית שיחות",
"Resume": "המשך",
"Set the current API provider": "הגדר את ספק ה-API הנוכחי",
"Attach a file. Only works with Gemini.": "צרף קובץ. עובד רק עם Gemini.",
"Critical warning": "אזהרה קריטית",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "החיבור נכשל. נא לבדוק ידנית עם הפקודה <tt>warp-cli</tt>",
"Usage: %1load CHAT_NAME": "שימוש: %1load CHAT_NAME",
"Allows you to open sidebars by clicking or hovering screen corners regardless of bar position": "מאפשר לפתוח סרגלים צדדיים בלחיצה או מעבר עכבר על פינות המסך ללא קשר למיקום הסרגל",
"Anime boorus": "קולקציית אנימה",
"Message the model... \"%1\" for commands": "שלח הודעה למודל... \"%1\" לפקודות",
"OK": "אישור",
"When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help": "כאשר מופעל, שומר את תוכן הסרגל הצדדי הימני טעון כדי להפחית את ההשהיה בפתיחה, במחיר של כ-15MB זיכרון RAM קבוע. משמעות ההשהיה תלויה בביצועי המערכת שלך. שימוש בליבה מותאמת אישית כמו linux-cachyos עשוי לעזור",
"Rainbow": "קשת",
"Invalid arguments. Must provide `key` and `value`.": "ארגומנטים לא חוקיים. חובה לספק `key` ו-`value`.",
"Up %1": "מעלה %1",
"Charging:": "בטעינה:",
"Break": "הפסקה",
"App": "אפליקציה",
"Temperature\nChange with /temp VALUE": "טמפרטורה\nשנה עם /temp VALUE",
"Unknown command:": "פקודה לא ידועה:",
"There might be a download in progress": "ייתכן שיש הורדה בתהליך",
"Go to source (%1)": "עבור למקור (%1)",
"Networking": "רשת",
"Incorrect password": "סיסמה שגויה",
"Dotfiles": "קבצי הגדרות (dotfiles)",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**מחיר**: חינם. נתונים משמשים לאימון.\n\n**הוראות**: התחבר לחשבון Google, אפשר ל-AI Studio ליצור פרויקט Google Cloud או כל מה שיבקש, חזור ולחץ על Get API key",
"Pause": "השהה",
"Load:": "טען:",
"Volume limit": "מגבלת עוצמה",
"Focus": "פוקוס",
"Download complete": "ההורדה הושלמה",
"Welcome app": "אפליקציית קבלת פנים",
"Cloudflare WARP": "Cloudflare WARP",
"Low": "נמוך",
"Tool set to: %1": "הכלי הוגדר ל-%1",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "עשוי להיות טוב יותר אם תעשה הרבה טעויות הקלדה, אך התוצאות עשויות להיות מוזרות ואולי לא יעבדו עם ראשי תיבות (למשל \"GIMP\" לא בהכרח ייתן את תוכנת הציור)",
"Choose model": "בחר מודל",
"Large language models": "מודלי שפה גדולים",
"%1 Safe Storage": "%1 אחסון בטוח",
"No API key\nSet it with /key YOUR_API_KEY": "אין מפתח API\nהגדר אותו עם /key YOUR_API_KEY",
"Logout": "התנתק",
"Clean stuff | Excellent quality, no NSFW": "תמונות נקיות | איכות מעולה, ללא NSFW",
"Total:": "סך הכל:",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "פקודות, עריכת קונפיגים, חיפוש.\nנדרש סיבוב נוסף למעבר למצב חיפוש אם צריך",
"Tonal Spot": "נקודת טון",
"Output": "פלט",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**הוראות**: התחבר לחשבון Mistral, עבור ל-Keys בסרגל הצד, לחץ על Create new key",
"Unknown function call: %1": "קריאת פונקציה לא ידועה: %1",
"Interface Language": "שפת ממשק",
"Fully charged": "טעון במלואו",
"Free:": "פנוי:",
"Online via %1 | %2's model": "מקוון דרך %1 | מודל של %2",
"Neutral": "נייטרלי",
"Usage: %1save CHAT_NAME": "שימוש: %1save CHAT_NAME",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "מקוון | מודל Gemini 2.5 Flash של גוגל, מותאם ליעילות עלות ותפוקה גבוהה.",
"Feels like %1": "מרגיש כמו %1",
"Discussions": "דיונים",
"Low warning": "אזהרה ברמה נמוכה",
"Keep right sidebar loaded": "הסרגל הצדדי הימני תמיד יוצג",
"Hover to trigger": "עבור עםְ העכבר להפעלה",
"Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>": "תהנה! תוכל לפתוח מחדש את אפליקציית הברוכים הבאים בכל עת עם <tt>Super+Shift+Alt+/</tt>. כדי לפתוח את אפליקציית ההגדרות, לחץ <tt>Super+I</tt>",
"Timeout (ms)": "פסק זמן (מילישניות)",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "אזורים כאלה יכולים להיות תמונות או חלקים מהמסך שיש בהם תוכן.\nייתכן שלא תמיד יהיה מדויק. זה נעשה עם אלגוריתם עיבוד תמונה מקומי וללא שימוש בבינה מלאכותית.",
"Long break": "הפסקה ארוכה",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "מקשי החצים לניווט, Enter לבחירה\nEsc או לחיצה בכל מקום לביטול",
"Load prompt from %1": "טען פרומפט מ-%1",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "זה לא עבד. טיפים:\n- בדוק את התגיות והגדרות NSFW\n- אם אין לך תגית, הקלד מספר עמוד",
"Corner open": "פינה פתוחה",
"Disable tools": "השבת כלים",
"Reject": "דחה",
"Visualize region": "הדמיית אזור",
"**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1": "**מחיר**: יש פרופיל חינם עם תקצב מוגבל. ראה https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**הוראות**: צור אסימון גישה אישי ב-GitHub עם הרשאת Models, ואז הגדר אותו כאן כמפתח API\n\n**הערה**: כדי להשתמש בזה תצטרך להגדיר את פרמטר הטמפרטורה ל-1",
"Select the language for the user interface.\n\"Auto\" will use your system's locale.": "בחר את השפה לממשק המשתמש. \"אוטומטי\" ישתמש בשפת המערכת שלך.",
"Automatically suspends the system when battery is low": "משהה אוטומטית את המערכת כאשר הסוללה נמוכה",
"Use Levenshtein distance-based algorithm instead of fuzzy": "השתמש באלגוריתם מבוסס מרחק Levenshtein במקום חיפוש מטושטש",
"Tray": "אפליקציות רקע",
"Approve": "אשר",
"Fidelity": "דיוק",
"Load chat": "טען שיחה",
"All-rounder | Good quality, decent quantity": "כללי | איכות טובה, כמות אדירה",
"Info": "מידע",
"Corner style": "סגנון פינות",
"Online | Google's model\nFast, can perform searches for up-to-date information": "מקוון | מודל של גוגל\nמהיר, יכול לבצע חיפושים למידע עדכני",
"Command rejected by user": "הפקודה נדחתה על ידי המשתמש",
"Region width": "רוחב אזור",
"High": "גבוה",
"Tint app icons": "אייקוני אפליקציות בגוון",
"Get the next page of results": "קבל את עמוד התוצאות הבא",
"Invalid arguments. Must provide `command`.": "ארגומנטים לא חוקיים. חובה לספק `פקודה`.",
"Please charge!\nAutomatic suspend triggers at %1": "נא להטעין!\nהשהיה אוטומטית תופעל ב-%1",
"EasyEffects | Right-click to configure": "EasyEffects | קליק ימני להגדרות",
"🔴 Focus: %1 minutes": "🔴 פוקוס: %1 דקות",
"Set API key": "הגדר מפתח API",
"Load chat from %1": "טען שיחה מ-%1",
"Code saved to file": "הקוד נשמר לקובץ",
"Show clock": "הצגת שעון",
"Use the system file picker instead\nRight-click to make this the default behavior": "השתמש בבוחר הקבצים של המערכת במקום\nלחיצה ימנית תהפוך את התנהגות זו לברירת המחדל",
"Hour marks": "סימוני שעה",
"Unread indicator: show count": "מתריע על אי-קריאה: הצגת כמות",
"Cookie clock settings": "הגדרות שעון עוגיה",
"Not all options are available in this app. You should also check the config file by hitting the \"Config file\" button on the topleft corner or opening %1 manually.": "לא כל האפשרויות נמצאות באפליקציה הזו. מומלץ לבדוק את קובץ ההגדרות על ידי לחיצה על הכפתור \"קובץ הגדרות\" הממוקם למעלה בפינה השמאלית. ניתן גם לפתוח את %1 באופן ידני.",
"Border": "גבול",
"Classic": "קלאסי",
"Connected": "מחובר",
"Hit \"/\" to search": "לחץ \"/\" לחיפוש",
"Wallpaper & Colors": "רקע וצבעים",
"Change any time later with /dark, /light, /wallpaper in the launcher\nIf the shell's colors aren't changing:\n 1. Open the right sidebar with Super+N\n 2. Click \"Reload Hyprland & Quickshell\" in the top-right corner": "ניתן לשנות בכל עת עם /dark, /light, /wallpaper במפעיל\nאם צבעי ה-shell לא משתנים:\n 1. פתח את הסרגל הצדדי הימני עם Super+N\n 2. לחץ על \"טען מחדש Hyprland & Quickshell\" בפינה הימנית העליונה",
"Launch on startup": "הפעל בעת הפעלה",
"Terminal: Harmonize threshold": "טרמינל: Harmonize threshold",
"Quick": "מהיר",
"Pills": "גלולות",
"Terminal: Harmony (%)": "טרמינל: הרמוניה (%)",
"Bar position": "מיקום הסרגל",
"Connect to Wi-Fi": "התחבר ל-WiFi",
"Force dark mode in terminal": "כפה על מצב כהה בטרמינל",
"Wallpaper safety enforced": "בטיחות הרקע נאכפה",
"Click to toggle light/dark mode\n(applied when wallpaper is chosen)": "לחץ לשינוי בין מצב בהיר/כהה\n(מיושם לאחר בחירת רקע)",
"Dots": "Dots",
"Minute hand": "מחוג הדקות",
"Open editor": "פתח עורך",
"This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)": "זה בדרך כלל בטוח ונדרש עבור הדפדפן שלך וסרגל הצד של הבינה המלאכותית.\nבעיקר שימושי עבור מי שמשתמש בנעילה בעת ההפעלה במקום מנהל תצוגה שעושה זאת (GDM, SDDM וכו').",
"Security": "בטיחות",
"Work safety": "בטיחות עבודה",
"Bar & screen": "סרגל ומסך",
"Crosshair overlay": "שכבת כוונת",
"Make sure your player has MPRIS support\nor try turning off duplicate player filtering": "וודא שהנגן שלך תומך ב-MPRIS\nאו נסה לכבות סינון נגנים כפולים",
"Bottom": "מטה",
"Press Super+G to toggle appearance": "לחץ סופר+G לתצוגה או הסתרה",
"Thin": "דק",
"Sides": "צדדים",
"Hollow": "חלול",
"Usage: <tt>%1superpaste NUM_OF_ENTRIES[i]</tt>\nSupply <tt>i</tt> when you want images\nExamples:\n<tt>%1superpaste 4i</tt> for the last 4 images\n<tt>%1superpaste 7</tt> for the last 7 entries": "שימוש: <tt>%1superpaste NUM_OF_ENTRIES[i]</tt>\nהוסף <tt>i</tt> כאשר תרצה תמונות\nדוגמאות:\n<tt>%1superpaste 4i</tt> עבור 4 התמונות האחרונות\n<tt>%1superpaste 7</tt> עבור 7 הערכים האחרונים",
"Center clock": "מרכוז השעון",
"Tip: Close a window with Super+Q": "טיפ: סגור חלון עם Super+Q",
"Clock style": "סגנון השעון",
"Right": "ימינה",
"Exceeded max allowed": "חריגה מהמקסימום המותר",
"Bold": "מודגש",
"Group style": "סגנון קבוצה",
"Numbers": "מספרים",
"Disconnect": "התנתקות",
"Ignored if terminal theming is not enabled": "מתעלם אם ערכת נושא לטרמינל אינה מופעלת",
"Dial style": "סגנון חוגה",
"Auto styling with Gemini": "עיצוב אוטומטי עם Gemini",
"Screen round corner": "עיגול פינות מסך",
"When this is off you'll have to click": "כאשר אפשרות זו כבויה, תצטרך ללחוץ",
"Paired": "מחובר",
"Details": "פרטים",
"Crosshair code (in Valorant's format)": "קוד כוונת (בפורמט של Valorant)",
"Positioning": "מיקום",
"Also unlock keyring": "פתח גם את שרשרת המפתחות (keyring)",
"Make icons pinned by default": "הצמד אייקונים כברירת מחדל",
"Background": "רקע",
"Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers": "רקע osu! עונתי רנדומלי\nהתמונה נשמרת ב- ~/Pictures/Wallpapers",
"Cancel wallpaper selection": "בטל בחירת רקע",
"Enable if you want clocks to show seconds accurately": "הפעל כדי שהשעון יראה שניות במדויק",
"at": "ב",
"Quote settings": "הגדרות ציטוט",
"Timeout duration (if not defined by notification) (ms)": "משך זמן (אם לא מוגדר על ידי ההתראה) (באלפיות השנייה)",
"Connect": "התחבר",
"Digits in the middle": "ספרות באמצע",
"Rect": "מלבן",
"Unknown device": "מכשיר לא ידוע",
"Back": "אחורה",
"General": "כללי",
"Bluetooth devices": "מכשירי Bluetooth",
"Bubble": "בועה",
"Hour hand": "מחוג השעות",
"Enable translator": "הפעלת מתרגם",
"Utility buttons": "כפתורי תועלת",
"Value scroll": "ערך גלילה",
"Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen": "זכור כי ברוב המכשירים תמיד ניתן להחזיק את כפתור ההפעלה כדי לכבות בכוח\nזה רק מקשה מעט על טעויות מקריות לקרות",
"Material cookie": "עוגיה",
"Locked": "נעול",
"Left": "שמאלה",
"Place at bottom": "מקם למטה",
"Lock screen": "מסך נעילה",
"Show \"Locked\" text": "הצג את הטקסט \"נעול\"",
"Open network portal": "פתח את פורטל הרשת",
"No active player": "אין נגן פעיל",
"Simple digital": "דיגיטלי פשוט",
"Tip: right-clicking a group\nalso expands it": "טיפ: לחיצה ימנית על קבוצה\nמרחיבה אותה גם כן",
"Pick random from this folder": "בחר באקראיות מהתיקייה",
"Illegal increment": "הוספה לא חוקית",
"Style: Blurred": "סגנון: חיבור",
"Full": "מלא",
"Style: general": "סגנון: כללי",
"Use Hyprlock (instead of Quickshell)": "השתמש ב-Hyprlock (במקום ב-Quickshell)",
"Top": "מעלה",
"Random: osu! seasonal": "רנדומלי: osu! עונתי",
"Require password to power off/restart": "דרוש סיסמה לכיבוי/הפעלה מחדש",
"Fill": "מלא",
"Constantly rotate": "הסתובב לעד",
"Forget": "שכח",
"Pick a wallpaper": "בחירת רקע",
"Show quote": "הצג ציטוט",
"Line-separated": "הפרדת קו",
"Shell command": "פקודת של (shell)",
"Extra wallpaper zoom (%)": "הגדלת רקע (%)",
"Search wallpapers": "חיפוש רקעים",
"Bar style": "סגנון הסרגל",
"Dot": "נקודה",
"Second precision": "דיוק בשנייה",
"Line": "קו",
"Place the corners to trigger at the bottom": "מקם את הפינות להפעלה בתחתית",
"Second hand": "מחוג השניות",
"Math": "מתמטיקה",
"Edit directory": "ערוך תיקייה",
"Password": "סיסמה",
"Terminal: Foreground boost (%)": "Terminal: Foreground boost (%)",
"If you want to somehow use fingerprint unlock...": "אם תרצה איכשהו לפתוח בעזרת טביעת אצבע...",
"Superpaste": "Superpaste",
"Date style": "סגנון תאריך",
"Enable blur": "הפעל טשטוש",
"Brightness and volume": "בהירות ועוצמת שמע",
"Quote": "ציטוט",
"Mo": "Mo/*keep*/",
"Su": "Su/*keep*/",
"Sa": "Sa/*keep*/",
"Fr": "Fr/*keep*/",
"Tu": "Tu/*keep*/",
"Th": "Th/*keep*/",
"We": "We/*keep*/"
}
@@ -0,0 +1,363 @@
{
"Launch": "Avvia",
"Columns": "Colonne",
"Save": "Salva",
"Temperature: %1": "Temperatura: %1",
"Night Light | Right-click to toggle Auto mode": "Modalità notte",
"Silent": "Silenzia",
"To Do": "Promemoria",
"Action": "Comandi",
"Search the web": "Cerca sul web",
"Workspace": "Spazio di lavoro",
"Desktop": "Scrivania",
"Settings": "Impostazioni",
"Math result": "Risultato",
"Calendar": "Calendario",
"Run": "Esegui",
"Cancel": "Cancella",
"Search": "Cerca",
"Battery": "Batteria",
"Weather": "Meteo",
"Brightness": "Luminosità",
"Clear": "Cancella",
"No notifications": "Nessuna notifica",
"No media": "Non in riproduzione",
"Add task": "Aggiungi promemoria",
"Run command": "Esegui comando",
"Game mode": "Modalità gioco",
"Reload Hyprland & Quickshell": "Riavvia Hyprland e Quickshell",
"Task description": "Titolo promemoria",
"%1 | Right-click to configure": "%1",
"Done": "Completati",
"Keep system awake": "Mantieni schermo attivo",
"Search, calculate or run": "Cerca, calcola o esegui",
"Copy": "Copia",
"Rows": "Righe",
"Session": "Sessione",
"Notifications": "Notifiche",
"Unfinished": "Da completare",
"Add": "Aggiungi",
"Nothing here!": "Nessun promemoria",
"Mo": "Lu",
"Tu": "Ma",
"We": "Me",
"Th": "Gi",
"Fr": "Ve",
"Sa": "Sa",
"Su": "Do",
"Edit config": "Apri config.",
"Center title": "Titolo centrato",
"Elements": "Elementi",
"Color picker": "Selettore colore",
"Title bar": "Barra del titolo",
"Sleep": "Sospendi",
"Transparency": "Trasparenza",
"Bluetooth": "Bluetooth",
"UV Index": "Indice UV",
"Bar": "Barra",
"Format": "Formato",
"Select output device": "Seleziona dispositivo di output",
"Pressure": "Pressione",
"Volume": "Volume",
"Volume mixer": "Mixer volume",
"Interface": "Interfaccia",
"Workspaces": "Spazi di lavoro",
"Dark": "Scuro",
"%1 notifications": "%1 notifiche",
"Reboot": "Riavvia",
"No": "No",
"Wind": "Vento",
"Humidity": "Umidità",
"Select Language": "Seleziona lingua",
"Wallpaper": "Sfondo",
"Copy code": "Copia codice",
"Allow NSFW": "Mostra NSFW",
"Colors & Wallpaper": "Sfondo e stile",
"Shutdown": "Spegni",
"Decorations & Effects": "Decorazioni e effetti",
"Translation goes here...": "Traduzione",
"Polling interval (ms)": "Intervallo di polling (ms)",
"System prompt": "Prompt di sistema",
"Base URL": "URL base",
"Always show numbers": "Mostra numeri",
"Wallpaper parallax": "Effetto parallasse sfondo",
"Plain rectangle": "Semplice",
"illogical-impulse Welcome": "Benvenuto su illogical-impulse",
"Local only": "Solo locale",
"Dark/Light toggle": "Modalità chiaro/scuro",
"Screen snip": "Cattura schermo",
"Style & wallpaper": "Sfondo e stile",
"Show app icons": "Mostra icone app",
"Useless buttons": "Tasti inutili",
"Scale (%)": "Dimensione (%)",
"Show background": "Mostra sfondo",
"Intelligence": "AI",
"Enable": "Abilita",
"Borderless": "Senza bordi",
"Random: Konachan": "Casuale: Konachan",
"Yes": "Sì",
"Documentation": "Documentazione",
"Unknown Artist": "Artista sconosciuto",
"Help & Support": "Aiuto e supporto",
"Report a Bug": "Segnala un bug",
"Sunset": "Tramonto",
"Weeb": "Anime",
"Shell windows": "Finestre",
"Workspaces shown": "Numero spazi di lavoro",
"Screenshot tool": "Cattura schermo",
"Enter text to translate...": "Inserisci il testo qui",
"Unknown Album": "Album sconosciuto",
"Hug": "Stondato",
"Scroll to change brightness": "Scorri per cambiare luminosità",
"Privacy Policy": "Privacy policy",
"12h AM/PM": "12 ore (AM/PM)",
"Material palette": "Tavolozza dei colori",
"No audio source": "Nessuna sorgente audio",
"Download": "Scarica",
"Prefixes": "Prefissi",
"Show next time": "Mostra al prossimo avvio",
"Lock": "Blocca",
"Scroll to change volume": "Scorri per cambiare volume",
"Unknown": "Sconosciuto",
"Jump to current month": "Torna al mese corrente",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Terminal": "Terminale",
"About": "Informazioni",
"Precipitation": "Precipitazioni",
"Keybinds": "Comandi",
"Select input device": "Seleziona dispositivo di input",
"When not fullscreen": "Tranne a schermo intero",
"Unknown Title": "Titolo sconosciuto",
"Task Manager": "Gestione attività",
"System": "Sistema",
"Choose file": "Scegli file",
"Pinned on startup": "Fissa sullo schermo",
"Policies": "Servizi",
"View Markdown source": "Mostra Markdown",
"Sunrise": "Alba",
"Configuration": "Configurazione",
"Overview": "Panoramica",
"Translator": "Traduttore",
"Finished tasks will go here": "Nessun promemoria",
"Mic toggle": "Microfono",
"Light": "Chiaro",
"Advanced": "Avanzate",
"Web search": "Cerca sul web",
"12h am/pm": "12 ore (am/pm)",
"Services": "Servizi",
"Donate": "Supporta",
"Resources": "Risorse",
"Float": "Fluttuante",
"Fake screen rounding": "Bordi curvi schermo",
"Hibernate": "Iberna",
"Visibility": "Visibilità",
"Delete": "Elimina",
"Style": "Stile",
"Page %1": "Pagina %1",
"Keyboard toggle": "Tastiera virtuale",
"Buttons": "Pulsanti",
"24h": "24 ore",
"Time": "Ora",
"Clipboard": "Appunti",
"or": "o",
"Edit": "Modifica",
"Emojis": "Emoji",
"Shell & utilities": "App e shell",
"Reboot to firmware settings": "Riavvia alle impostazioni firmware",
"No API key set for %1": "Chiave API non impostata per %1",
"Disable NSFW content": "Nascondi contenuti NSFW",
"Closet": "Nascosto",
"Depends on sidebars": "Abilita per barre laterali",
"Invalid model. Supported: \n```": "Modello non valido. Supportati: \n```",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "Usa /key per utilizzare i modelli online\nCtrl+O per espandere\nCtrl+P per separare in finestra",
"Not visible to model": "Non visible al modello",
"Local Ollama model | %1": "Modello Ollama locale | %1",
"Open file link": "Apri link al file",
"Waiting for response...": "In attesa di risposta...",
"Cheat sheet": "Prontuario",
"Allow NSFW content": "Mostra contenuti NSFW",
"%1 characters": "%1 caratteri",
"Model set to %1": "Modello impostato su %1",
"Be patient...": "Attendi...",
"User agent (for services that require it)": "User agent (usato dai servizi)",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "Endpoint API: %1\nUsa %2mode per cambiarlo",
"For desktop wallpapers | Good quality": "Per sfondi del desktop | Buona qualità",
"For storing API keys and other sensitive information": "Gestione credenziali e informazioni sensibili",
"Your package manager is running": "Il package manager è in esecuzione",
"Provider set to": "Provider impostato su",
"Color generation": "Tavolozza dei colori",
"Temperature must be between 0 and 2": "Il valore della temperatura deve essere fra 0 e 2",
"Earbang protection": "Protezione udito",
"Alternatively use /dark, /light, /img in the launcher": "Oppure usa /dark, /light, /img nel launcher",
"Change any time later with /dark, /light, /img in the launcher": "Oppure usa /dark, /light, /img nel launcher",
"Current model: %1\nSet it with %2model MODEL": "Modello attuale: %1\nUsa %2model per cambiarlo",
"Waifus only | Excellent quality, limited quantity": "Solo waifu | Qualità eccellente, quantità limitata",
"Save to Downloads": "Salva in Scaricati",
"Thinking": "Ragionando",
"On-screen display": "Popup di sistema",
"%1 • %2 tasks": "%1 • %2 promemoria",
"Qt apps": "Applicazioni Qt",
"The popular one | Best quantity, but quality can vary wildly": "Il più usato | Quantità elevata, ma la qualità potrebbe variare totalmente",
"Set the system prompt for the model.": "Imposta il prompt di sistema per il modello.",
"Markdown test": "Test Markdown",
"Prevents abrupt increments and restricts volume limit": "Impedice aumenti improvvisi del volume e ne imposta un limite.",
"Preferred wallpaper zoom (%)": "Zoom sfondo (%)",
"Depends on workspace": "Abilita per spazi di lavoro",
"Note: turning off can hurt readability": "Nota: disattivarlo potrebbe ridurre la leggibilità",
"Pick wallpaper image on your system": "Seleziona un'immagine nel tuo sistema",
"Invalid API provider. Supported: \n-": "Provider API non valido. Supportati: \n-",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "Hentai | Quantità elevata, NSFW, la qualità potrebbe variare totalmente",
"Saved to %1": "Salvato in %1",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "Imposta la temperatura (casualità) del modello. Il valore va da 0 a 2 per Gemini, e da 0 a 1 per gli altri modelli. Il valore predefinito è 0.5.",
"Close": "Chiudi",
"Might look ass. Unsupported.": "Potrebbe fare schifo. Non supportato.",
"API key set for %1": "Chiave API impostata per %1",
"Temperature\nChange with /temp VALUE": "Temperatura\nUsa /temp per cambiarla",
"%1 does not require an API key": "%1 non richiede una chiave API",
"Online models disallowed\n\nControlled by `policies.ai` config option": "Modelli online disattivati\n\nDisattiva l'opzione \"Solo locale\"",
"Set the current API provider": "Imposta il provider API",
"Total token count\nInput: %1\nOutput: %2": "Numero token totali\nInput: %1\nOutput: %2",
"EasyEffects | Right-click to configure": "EasyEffects",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Sfondo anime SFW casuale da Konachan\nL'immagine verrà salvata in ~/Immagini/Wallpapers",
"Hover to reveal": "Mostra col passaggio del mouse",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "Usa i tasti freccia per navigare, Invio per selezionare\nEsc o clicca qualsiasi punto per uscire",
"Save chat to %1": "Salva chat in %1",
"Choose model": "Seleziona modello",
"No API key\nSet it with /key YOUR_API_KEY": "Nessuna chiave API\nUsa /key per impostarla",
"API key:\n\n```txt\n%1\n```": "Chiave API:\n\n```txt\n%1\n```",
"Use Levenshtein distance-based algorithm instead of fuzzy": "Usa algoritmo di Levenshtein al posto di fuzzy",
"Download complete": "Download completato",
"Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience": "Suggerimento: Nascondi le icone e mostra i numeri se vuoi\nun'esperienza fedele all'originale",
"Usage": "Istruzioni",
"Set API key": "Imposta chiave API",
"Networking": "Rete",
"Volume limit": "Limite volume",
"Temperature set to %1": "Temperatura impostata a %1",
"Large images | God tier quality, no NSFW.": "Immagini grandi | Qualità perfetta, no NSFW.",
"Shell & utilities theming must also be enabled": "\"App e shell\" deve essere abilitato",
"API key is set\nChange with /key YOUR_API_KEY": "Chiave API impostata\nUsa /key per cambiarla",
"All-rounder | Good quality, decent quantity": "Versatile | Qualità buona, quantità discreta",
"Large language models": "Intelligenza artificiale",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "Può aiutare in caso di refusi,\nma i risultati potrebbero non essere accurati\n(es. \"GIMP\" potrebbe non restituire l'omonimo programma)",
"Automatic suspend": "Sospensione automatica",
"Max allowed increase": "Aumento massimo consentito",
"Please charge!\nAutomatic suspend triggers at %1": "Ricarica la batteria!\nSospensione automatica in %1",
"Weather Service": "Servizio meteo",
"The current system prompt is\n\n---\n\n%1": "Il prompt di sistema attuale è\n\n---\n\n%1",
"%1 Safe Storage": "Portachiavi di %1",
"Load prompt from %1": "Carica prompt da %1",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "Nessun risultato. Suggerimenti:\n- Controlla i tag e le impostazioni NSFW\n- Se non hai un tag in mente, inserici il numero di pagina",
"Load chat": "Carica chat",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**Prezzo**: gratuito. I tuoi dati vengono usati per training.\n\n**Istruzioni**: Accedi al tuo account Google, abilita i permessi richiesti da AI Studio, torna indietro e seleziona \"Get API key\"",
"Online via %1 | %2's model": "Online tramite %1 | Modello di %2",
"Get the next page of results": "Ottieni la pagina successiva dei risultati",
"Unknown function call: %1": "Funzione sconosciuta: %1",
"Cannot find a GPS service. Using the fallback method instead.": "Servizio GPS non disponibile. Verrà utilizzata la città preimpostata.",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "Registrazione fallita. Verifica l'errore manualmente col comando <tt>warp-cli</tt>",
"Code saved to file": "Codice salvato",
"Low warning": "Livello basso",
"Clear the current list of images": "Elimina la lista corrente di immagini",
"Invalid arguments. Must provide `key` and `value`.": "Argomenti non validi. Il comando richiede `key` e `value`.",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "Connessione fallita. Verifica l'errore manualmente col comando <tt>warp-cli</tt>",
"Unknown command:": "Comando sconosciuto:",
"Message the model... \"%1\" for commands": "\"%1\" per mostrare i comandi",
"Load chat from %1": "Carica chat da %1",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**Prezzo**: gratuito. Le policy di trattamento dei dati potrebbero variare in base alle impostazioni del tuo account OpenRouter.\n\n**Istruzioni**: Accedi al tuo account OpenRouter, vai nella sezione \"Keys\" dal menu in alto, clicca \"Create API Key\"",
"Enter tags, or \"%1\" for commands": "\"%1\" per mostrare i comandi",
"Show regions of potential interest": "Mostra regioni d'interesse",
"Critical warning": "Livello critico",
"Go to source (%1)": "Vai alla fonte (%1)",
"Automatically suspends the system when battery is low": "Sospende automaticamente il sistema quando il livello della batteria è basso",
"Clean stuff | Excellent quality, no NSFW": "Roba pulita | Qualità eccellente, no NSFW",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Note per Zerochan:\n- Devi inserire un colore\n- Imposta il tuo nome utente di zerochan nell'opzione `sidebar.booru.zerochan.username`. Potresti [venire bannato se non lo fai](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!",
"Critically low battery": "Batteria scarica",
"Loaded the following system prompt\n\n---\n\n%1": "Il seguente prompt di sistema è stato caricato\n\n---\n\n%1",
"Suspend at": "Sospendi al",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Queste regioni potrebbero essere immagini o parti di schermo contenute.\nPotrebbe non essere preciso.\nViene utilizzato un algoritmo di image processing in locale, non viene usata AI.",
"Clear chat history": "Elimina cronologia chat",
"Low battery": "Batteria quasi scarica",
"Save chat": "Salva chat",
"Switched to search mode. Continue with the user's request.": "Modalità ricerca attiva. Continua con la richiesta dell'utente.",
"Number show delay when pressing Super (ms)": "Mostra numeri premendo Super dopo (ms)",
"Drag or click a region • LMB: Copy • RMB: Edit": "Trascina o clicca una regione • LMB: Copia • RMB: Modifica",
"Consider plugging in your device": "Connetti il tuo dispositivo alla rete elettrica",
"%1 queries pending": "%1 ricerche in sospeso",
"<i>No further instruction provided</i>": "<i>Nessun'altra istruzione fornita</i>",
"There might be a download in progress": "Potrebbe esserci un download in corso",
"Approve": "Approva",
"Invalid arguments. Must provide `command`.": "Argomenti non validi. Il comando richiede `command`.",
"Reject": "Rifiuta",
"Thought": "Pensiero",
"Performance Profile toggle": "Profilo prestazioni",
"Command rejected by user": "Comando rifiutato dall'utente",
"Up %1": "Tempo di attività: %1",
"Overall appearance": "Aspetto",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "Online | Modello di Google\nModello multiuso che eccelle in scrittura di codice e compiti di ragionamento complessi.",
"Usage: %1tool TOOL_NAME": "Istruzioni: %1tool TOOL_NAME",
"Set the tool to use for the model.": "Imposta lo strumento da usare con questo modello.",
"Online | Google's model\nFast, can perform searches for up-to-date information": "Online | Modello di Google\nVeloce, effettua ricerche con informazioni attuali",
"Invalid tool. Supported tools:\n- %1": "Strumento non valido. Strumenti supportati:\n- %1",
"Usage: %1load CHAT_NAME": "Istruzioni: %1load CHAT_NAME",
"Current tool: %1\nSet it with %2tool TOOL": "Strumento attuale: %1\nUsa %2tool per cambiarlo",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "Online | Modello di Google\nModello Gemini 2.5 Flash ottimizzato per efficienza e throughput elevato.",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "Per impostare una chiave API, utilizzala come argomento del comando %4\n\nPer vedere la chiave corrente, utilizza come argomento \"get\"<br/>\n\n### Per %1:\n\n**Link**: %2\n\n%3",
"Tool set to: %1": "Strumento impostato su: %1",
"Disable tools": "Disattiva strumenti",
"Usage: %1save CHAT_NAME": "Istruzioni: %1save CHAT_NAME",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "Online | Modello di Google\nPiù lento del suo predecessore ma restituisce risposte di qualità maggiore",
"Tint icons": "Icone monocromatiche",
"Tray": "Area di notifica",
"Tint app icons": "Icone monocromatiche",
"Sidebars": "Barre laterali",
"Keep right sidebar loaded": "Mantieni barra laterale destra in memoria",
"Automatically hide": "Nascondi automaticamente",
"Pause": "Pausa",
"Stopwatch": "Cronometro",
"🌿 Long break: %1 minutes": "🌿 Pausa lunga: %1 minuti",
"Reset": "Ripristina",
"Resume": "Riprendi",
"Break": "Pausa breve",
"🔴 Focus: %1 minutes": "🔴 Focus: %1 minuti",
"☕ Break: %1 minutes": "☕ Pausa breve: %1 minuti",
"Incorrect password": "Password errata",
"Start": "Avvia",
"Lap": "Parziale",
"Enter password": "Inserisci password",
"Long break": "Pausa lunga",
"Anime boorus": "Boorus anime",
"High": "Alto",
"To Do:": "Promemoria:",
"Charging:": "In carica:",
"... and %1 more": "... e altri %1",
"No pending tasks": "Nessuno",
"System uptime:": "Tempo di attività:",
"Total:": "Totale:",
"Medium": "Medio",
"Time to full:": "Tempo di ricarica:",
"Discharging:": "Consumo:",
"Free:": "Disponibile:",
"Fully charged": "Carica completa",
"Time to empty:": "Tempo rimanente:",
"Load:": "Carico:",
"Used:": "In uso:",
"Low": "Basso",
"Vertical": "Verticale",
"Horizontal": "Orizzontale",
"Hi there! First things first...": "Ciao! Per cominciare...",
"Welcome app": "App di benvenuto",
"Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>": "Puoi riaprire la schermata di benvenuto con <tt>Super+Shift+Alt+/</tt>. Per aprire le impostazioni, usa <tt>Super+I</tt>",
"Attach a file. Only works with Gemini.": "Allega un file. Funziona solo su Gemini.",
"Always": "Sempre",
"Place at the bottom/right": "Posiziona in basso/a destra",
"**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1": "**Prezzo**: Piano gratuito disponibile con utilizzo limitato. Più info su https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Istruzioni**: Genera un personal access token su GitHub con i permessi \"Models\" e impostalo come chiave API\n\n**Nota**: Per utilizzare questo modello imposta la temperatura a 1",
"Refreshing (manually triggered)": "Aggiornamento in corso (richiesto manualmente)",
"Shell conflicts killer": "Avviso conflitti",
"Kill conflicting programs?": "Terminare programmi in conflitto?",
"Conflicts with the shell's notification implementation": "In conflitto con il sistema di notifiche della shell",
"Conflicts with the shell's system tray implementation": "In conflitto con l'area di notifica della shell",
"When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help": "Mantiene il contenuto della barra laterale destra in memoria per ridurne il tempo di apertura,\nrichiede circa 15MB di RAM. Il tempo di apertura dipende dalle performance del tuo sistema.\nUsare un custom kernel come linux-cachyos può migliorare la velocità",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**Istruzioni**: Accedi al tuo account Mistral, vai nella sezione \"Keys\" dal menu laterale, clicca \"Create new key\"",
"Gives the model search capabilities (immediately)": "Abilita modalità ricerca del modello (immediatamente)",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "Comanda, modifica la richiesta, cerca.\nRichiede un turno in più per attivare la modalità ricerca se richiesta",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Online | Modello di %1 | Ritorna risposte veloci e formattate correttamente. Svantaggi: poca voglia di svolgere compiti; potrebbe fare chiamate di funzioni inesistenti"
}
@@ -0,0 +1,432 @@
{
"Mo": "月/*keep*/",
"Tu": "火/*keep*/",
"We": "水/*keep*/",
"Th": "木/*keep*/",
"Fr": "金/*keep*/",
"Sa": "土/*keep*/",
"Su": "日/*keep*/",
"%1 characters": "%1 文字",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**料金**: 無料。データ利用ポリシーはOpenRouterアカウント設定によって異なります。\n\n**手順**: OpenRouterアカウントにログインし、右上メニューのKeysに進み、Create API Keyをクリックしてください。",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**料金**: 無料。データは学習に使用されます。\n\n**手順**: Googleアカウントにログインし、AI StudioにGoogle Cloudプロジェクトの作成などを許可し、戻ってAPIキーを取得してください。",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": "Zerochanの注意:\n- 色を入力する必要があります\n- `sidebar.booru.zerochan.username`設定でユーザー名を設定してください。設定しないと[利用停止になる場合があります](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)",
"<i>No further instruction provided</i>": "<i>追加の指示はありません</i>",
"Action": "操作",
"Add": "追加",
"Add task": "タスクを追加",
"All-rounder | Good quality, decent quantity": "万能型 | 高品質・十分な量",
"Allow NSFW": "NSFWを許可",
"Allow NSFW content": "NSFWコンテンツを許可",
"Anime": "アニメ",
"Anime boorus": "アニメ画像掲示板",
"App": "アプリ",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "矢印キーで移動、Enterで選択\nEsc/クリックでキャンセル",
"Bluetooth": "Bluetooth",
"Brightness": "明るさ",
"Cancel": "キャンセル",
"Cheat sheet": "チートシート",
"Choose model": "モデルを選択",
"Clean stuff | Excellent quality, no NSFW": "健全 | 高品質・NSFWなし",
"Clear": "クリア",
"Clear chat history": "チャット履歴を消去",
"Clear the current list of images": "現在の画像リストをクリア",
"Close": "閉じる",
"Copy": "コピー",
"Copy code": "コードをコピー",
"Delete": "削除",
"Desktop": "デスクトップ",
"Disable NSFW content": "NSFWコンテンツを無効化",
"Done": "完了",
"Download": "ダウンロード",
"Edit": "編集",
"Enter text to translate...": "翻訳するテキストを入力...",
"Finished tasks will go here": "完了したタスクはここに表示されます",
"For desktop wallpapers | Good quality": "デスクトップ壁紙向け | 高品質",
"For storing API keys and other sensitive information": "APIキーや機密情報の保存用",
"Game mode": "ゲームモード",
"Get the next page of results": "次のページを取得",
"Hibernate": "休止",
"Input": "入力",
"Intelligence": "知能",
"Interface": "インターフェース",
"Invalid arguments. Must provide `key` and `value`.": "無効な引数です。`key`と`value`を指定してください。",
"Jump to current month": "現在の月へ移動",
"Keep system awake": "システムをスリープさせない",
"Large images | God tier quality, no NSFW.": "大きな画像 | 最高品質・NSFWなし",
"Large language models": "大規模言語モデル",
"Launch": "起動",
"Lock": "ロック",
"Logout": "ログアウト",
"Markdown test": "Markdownテスト",
"Math result": "計算結果",
"No audio source": "音声ソースなし",
"No media": "メディアなし",
"No notifications": "通知なし",
"Not visible to model": "モデルには表示されません",
"Nothing here!": "何もありません!",
"Notifications": "通知",
"OK": "OK",
"Open file link": "ファイルリンクを開く",
"Output": "出力",
"Reboot": "再起動",
"Reboot to firmware settings": "ファームウェア設定で再起動",
"Reload Hyprland & Quickshell": "HyprlandとQuickshellを再読み込み",
"Run": "実行",
"Run command": "コマンドを実行",
"Save": "保存",
"Save to Downloads": "ダウンロードに保存",
"Search": "検索",
"Search the web": "ウェブ検索",
"Search, calculate or run": "検索・計算・実行",
"Select Language": "言語を選択",
"Session": "セッション",
"Set API key": "APIキーを設定",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "モデルの温度(ランダム性)を設定します。Geminiは0~2、他は0~1です。初期値は0.5です。",
"Set the current API provider": "現在のAPIプロバイダーを設定します",
"Shutdown": "シャットダウン",
"Silent": "サイレント",
"Sleep": "スリープ",
"System": "システム",
"Task Manager": "タスクマネージャー",
"Task description": "タスクの説明",
"Temperature must be between 0 and 2": "温度は0~2の間で指定してください",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "成人向け | 量は多いが品質は様々・NSFW多数",
"The popular one | Best quantity, but quality can vary wildly": "人気 | 量は最多だが品質は様々",
"Thinking": "考え中",
"Translation goes here...": "ここに翻訳が表示されます...",
"Translator": "翻訳",
"Unfinished": "未完了",
"Unknown": "不明",
"Unknown Album": "不明なアルバム",
"Unknown Artist": "不明なアーティスト",
"Unknown Title": "不明なタイトル",
"View Markdown source": "Markdownソースを表示",
"Volume": "音量",
"Volume mixer": "ボリュームミキサー",
"Waifus only | Excellent quality, limited quantity": "キャラクター | 高品質・量は少なめ",
"Waiting for response...": "応答待ち...",
"Workspace": "ワークスペース",
"Invalid API provider. Supported: \n-": "無効なAPIプロバイダー。対応: \n-",
"Unknown command:": "不明なコマンド:",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "/key でオンラインモデルを開始\nCtrl+O でサイドバーを展開\nCtrl+P でサイドバーをウィンドウ化",
"Provider set to": "プロバイダーを設定しました:",
"Invalid model. Supported: \n```": "無効なモデル。対応: \n```",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "うまくいきませんでした。ヒント:\n- タグやNSFW設定を確認\n- タグがなければページ番号を入力",
"Switched to search mode. Continue with the user's request.": "検索モードに切り替えました。リクエストを続行します。",
"Settings": "設定",
"Save chat": "チャットを保存",
"Load chat": "チャットを読み込み",
"or": "または",
"Set the system prompt for the model.": "モデルのシステムプロンプトを設定",
"To Do": "やること",
"Calendar": "カレンダー",
"Advanced": "詳細",
"About": "このアプリについて",
"Services": "サービス",
"Style": "スタイル",
"Edit config": "設定を編集",
"Colors & Wallpaper": "色と壁紙",
"Light": "ライト",
"Dark": "ダーク",
"Material palette": "マテリアルパレット",
"Fidelity": "忠実度",
"Fruit Salad": "フルーツサラダ",
"Alternatively use /dark, /light, /img in the launcher": "ランチャーで /dark, /light, /img も使用できます",
"Fake screen rounding": "画面の角を丸める(疑似)",
"When not fullscreen": "フルスクリーンでない時",
"Choose file": "ファイルを選択",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Konachanから健全なアニメ壁紙をランダムで取得し、~/Pictures/Wallpapers に保存します",
"Be patient...": "少々お待ちください…",
"Decorations & Effects": "装飾と効果",
"Tonal Spot": "トーナルスポット",
"Shell windows": "シェルウィンドウ",
"Auto": "自動",
"Wallpaper": "壁紙",
"Content": "コンテンツ",
"Title bar": "タイトルバー",
"Transparency": "透明度",
"Expressive": "表現豊か",
"Yes": "表示",
"Enable": "有効化",
"Rainbow": "レインボー",
"Might look ass. Unsupported.": "表示が崩れる可能性があります(非推奨)",
"Monochrome": "モノクロ",
"Random: Konachan": "ランダム: Konachan",
"Center title": "タイトルを中央に",
"Neutral": "ニュートラル",
"Pick wallpaper image on your system": "システムから壁紙画像を選択",
"No": "非表示",
"AI": "AI",
"Local only": "ローカルのみ",
"Policies": "ポリシー",
"Weeb": "アニメファン向け",
"Closet": "隠し",
"Show next time": "次回も表示する",
"Usage": "使用状況",
"Plain rectangle": "長方形",
"Useless buttons": "ダミーボタン",
"GitHub": "GitHub",
"Style & wallpaper": "スタイルと壁紙",
"Configuration": "設定",
"Change any time later with /dark, /light, /img in the launcher": "ランチャーで/dark, /light, /imgでいつでも変更可能",
"Keybinds": "キー割り当て",
"Float": "フローティング",
"Hug": "固定",
"illogical-impulse Welcome": "illogical-impulse へようこそ!",
"Info": "情報",
"Volume limit": "ボリューム制限",
"Prevents abrupt increments and restricts volume limit": "急な音量変化を防ぎ、音量の上限を設定します",
"Resources": "リソース",
"12h am/pm": "12時間(AM/PM",
"Base URL": "ベースURL",
"Audio": "オーディオ",
"Networking": "ネットワーク",
"Format": "フォーマット",
"Time": "時間",
"Battery": "バッテリー",
"Prefixes": "接頭辞",
"Emojis": "絵文字",
"Earbang protection": "聴覚保護(急な大音量防止)",
"Automatically suspends the system when battery is low": "バッテリー残量が少ないときに自動でスリープします",
"Automatic suspend": "自動スリープ",
"Suspend at": "スリープ開始残量(%",
"Max allowed increase": "音量の最大増加幅",
"Web search": "ウェブ検索",
"Polling interval (ms)": "ポーリング間隔(ms",
"Clipboard": "クリップボード",
"Low warning": "バッテリー低下の警告",
"24h": "24時間",
"Use Levenshtein distance-based algorithm instead of fuzzy": "あいまい検索の代わりにレーベンシュタイン距離アルゴリズムを使用",
"System prompt": "システムプロンプト",
"12h AM/PM": "12時間(AM/PM",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)":"入力ミスが多い場合に便利ですが、結果が意図しないものになったり、略語(例:GIMP)が正しく検索できないことがあります",
"Critical warning": "重大な警告",
"User agent (for services that require it)": "ユーザーエージェント(必要なサービス用)",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "これらの領域は、画像や画面の一部など、まとまりのある部分を指します。\n必ずしも正確ではありません。\nAIではなく、ローカルで実行される画像処理アルゴリズムによって検出されます。",
"Note: turning off can hurt readability": "注意: オフにすると可読性が損なわれる場合があります",
"Workspaces shown": "表示中のワークスペース",
"Dark/Light toggle": "ダーク/ライト切替",
"Dock": "ドック",
"Weather": "天気",
"Pinned on startup": "起動時にピン留め",
"Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience": "ヒント: アイコンを非表示にして番号を常に表示すると、クラシックなillogical-impulseの使用感を体験できます",
"Always show numbers": "数字を常に表示",
"Buttons": "ボタン",
"Keyboard toggle": "キーボード切替",
"Scale (%)": "スケール(%)",
"Overview": "概要",
"Rows": "行数",
"Borderless": "枠なし",
"Screenshot tool": "スクリーンショットツール",
"Number show delay when pressing Super (ms)": "Superキー押下時の数字表示遅延(ms)",
"Timeout (ms)": "タイムアウト(ms",
"Show app icons": "アプリアイコンを表示",
"Workspaces": "ワークスペース",
"Columns": "列数",
"On-screen display": "画面表示",
"Screen snip": "画面の切り抜き",
"Mic toggle": "マイク切替",
"Hover to reveal": "ホバーで表示",
"Bar": "バー",
"Show background": "背景を表示",
"Show regions of potential interest": "注目領域を表示",
"Color picker": "カラーピッカー",
"Help & Support": "ヘルプとサポート",
"Discussions": "ディスカッション",
"Color generation": "色の生成",
"Dotfiles": "ドットファイル",
"Distro": "ディストリビューション",
"Privacy Policy": "プライバシーポリシー",
"Documentation": "ドキュメント",
"Shell & utilities theming must also be enabled": "「シェルとユーティリティ」のテーマ設定も有効にする必要があります",
"illogical-impulse": "illogical-impulse",
"Donate": "寄付",
"Terminal": "ターミナル",
"Shell & utilities": "シェルとユーティリティ",
"Qt apps": "Qtアプリ",
"Report a Bug": "バグを報告",
"Issues": "課題",
"Drag or click a region • LMB: Copy • RMB: Edit": "領域をドラッグまたはクリック • 左クリック: コピー • 右クリック: 編集",
"Current model: %1\nSet it with %2model MODEL": "現在のモデル: %1\n%2model MODELで設定",
"Message the model... \"%1\" for commands": "モデルにメッセージを送信... コマンドは「%1」",
"No API key set for %1": "%1のAPIキーが設定されていません",
"Loaded the following system prompt\n\n---\n\n%1": "次のシステムプロンプトを読み込みました\n\n---\n\n%1",
"%1 | Right-click to configure": "%1 | 右クリックで設定",
"API key set for %1": "%1のAPIキーを設定しました",
"Online via %1 | %2's model": "%1経由オンライン | %2のモデル",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "現在のAPIエンドポイント: %1\n%2mode PROVIDERで設定",
"Go to source (%1)": "ソースを開く(%1",
"Temperature set to %1": "温度を%1に設定",
"Enter tags, or \"%1\" for commands": "タグを入力、またはコマンドは「%1」",
"%1 queries pending": "%1件のクエリが保留中",
"API key:\n\n```txt\n%1\n```": "APIキー:\n\n```txt\n%1\n```",
"%1 Safe Storage": "%1 セーフストレージ",
"%1 does not require an API key": "%1はAPIキー不要です",
"Temperature: %1": "温度: %1",
"Model set to %1": "モデルを%1に設定",
"Page %1": "ページ %1",
"Local Ollama model | %1": "ローカルOllamaモデル | %1",
"The current system prompt is\n\n---\n\n%1": "現在のシステムプロンプトは\n\n---\n\n%1",
"Unknown function call: %1": "不明な関数呼び出し: %1",
"%1 notifications": "%1件の通知",
"Load chat from %1": "%1からチャットを読み込み",
"Load prompt from %1": "%1からプロンプトを読み込み",
"Save chat to %1": "チャットを%1に保存",
"Weather Service": "天気サービス",
"Cannot find a GPS service. Using the fallback method instead.": "GPSサービスが見つかりません。代替手段を使用します。",
"Critically low battery": "バッテリー残量が非常に少ない",
"Select output device": "出力デバイスを選択",
"Code saved to file": "コードをファイルに保存しました",
"Online models disallowed\n\nControlled by `policies.ai` config option": "オンラインモデルは許可されていません\n\n`policies.ai` 設定で管理されています",
"Scroll to change volume": "スクロールで音量調整",
"Elements": "要素",
"%1 • %2 tasks": "%1 • %2件のタスク",
"Download complete": "ダウンロード完了",
"Please charge!\nAutomatic suspend triggers at %1": "充電してください!\n%1で自動的にサスペンドします",
"Cloudflare WARP": "Cloudflare WARP",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Scroll to change brightness": "スクロールで明るさ調整",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "接続に失敗しました。<tt>warp-cli</tt> コマンドで手動確認してください",
"Select input device": "入力デバイスを選択",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "登録に失敗しました。<tt>warp-cli</tt> コマンドで手動確認してください",
"Consider plugging in your device": "電源を接続することを推奨します",
"Low battery": "バッテリー残量低下",
"Saved to %1": "%1に保存しました",
"Sunset": "日没",
"UV Index": "UV指数",
"Humidity": "湿度",
"Wind": "風",
"Sunrise": "日の出",
"Pressure": "気圧",
"Visibility": "視界",
"Precipitation": "降水量",
"Time to full:": "満充電まで:",
"Time to empty:": "空になるまで:",
"Fully charged": "充電完了",
"Charging:": "充電中:",
"Discharging:": "放電中:",
"No pending tasks": "保留中のタスクなし",
"... and %1 more": "...他%1件",
"Used:": "使用済み:",
"Free:": "空き:",
"Total:": "合計:",
"Swap:": "スワップ:",
"Not configured": "未設定",
"Load:": "負荷:",
"High": "高",
"Medium": "中",
"Low": "低",
"Use the system file picker instead": "システム標準のファイル選択ツールを使用",
"Tint icons": "アイコンに色付けする",
"Connect to Wi-Fi": "Wi-Fiに接続",
"Invalid arguments. Must provide `command`.": "無効な引数です。`command`を指定してください。",
"System uptime:": "システム稼働時間:",
"Gives the model search capabilities (immediately)": "モデルにすぐに検索能力を与えます",
"Click to toggle light/dark mode (applied when wallpaper is chosen)": "クリックでライト/ダークモード切替(壁紙選択時に適用されます)",
"**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1": "**料金**: 制限付きの無料枠があります。詳細は https://docs.github.com/en/billing/concepts/product-billing/github-models を参照\n\n**手順**: Modelsアクセス権を持つGitHub個人アクセストークンを生成し、ここでAPIキーとして設定してください\n\n**注意**: 使用するには温度パラメータを1に設定する必要があります",
"Depends on workspace": "ワークスペースに依存",
"Hi there! First things first...": "こんにちは!まずは始めましょう...",
"Refreshing (manually triggered)": "更新中(手動で開始)",
"Always": "常に",
"No API key\nSet it with /key YOUR_API_KEY": "APIキーがありません\n/key YOUR_API_KEYで設定してください",
"Usage: %1load CHAT_NAME": "使用法: %1load チャット名",
"Sidebars": "サイドバー",
"Search wallpapers": "壁紙を検索",
"When this is off you'll have to click": "オフの場合、クリックで表示します",
"Depends on sidebars": "サイドバーに依存",
"Incorrect password": "パスワードが間違っています",
"Current tool: %1\nSet it with %2tool TOOL": "現在のツール: %1\n%2tool TOOLで設定",
"Overall appearance": "全体の外観",
"To Do:": "やること:",
"Region height": "領域の高さ",
"Auto (System)": "自動(システム)",
"Place the corners to trigger at the bottom": "トリガーとなる角を下部に配置",
"Shell conflicts killer": "シェルの競合解消",
"Enter password": "パスワードを入力",
"☕ Break: %1 minutes": "☕ 休憩: %1分",
"Reset": "リセット",
"Connect": "接続",
"Tint app icons": "アプリアイコンに淡い色付けをする",
"Bar layout": "バーのレイアウト",
"Conflicts with the shell's notification implementation": "シェルの通知機能と競合することがあります",
"Corner open": "コーナー起動",
"🌿 Long break: %1 minutes": "🌿 長い休憩: %1分",
"Reject": "拒否",
"Command rejected by user": "コマンドはユーザーによって拒否されました",
"Start": "開始",
"Brightness and volume": "明るさ・音量",
"Corner style": "角のスタイル",
"Total token count\nInput: %1\nOutput: %2": "トークン数合計\n入力: %1\n出力: %2",
"No active player": "アクティブなプレーヤーがありません",
"Performance Profile toggle": "パフォーマンスプロファイル切替",
"Timer": "タイマー",
"Conflicts with the shell's system tray implementation": "シェルのシステムトレイ機能と競合することがあります",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "オンライン | %1のモデル | 高速で反応が良く、整形された回答が得られます。欠点: あまり積極的でない場合があり、存在しない関数を提案することがあります",
"Welcome app": "ようこそアプリ",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "オンライン | Googleモデル\nコスト効率と高スループットに最適化されたGemini 2.5 Flashモデル。",
"Wallpaper parallax": "壁紙パララックス効果",
"Place at the bottom": "下部に配置",
"Invalid tool. Supported tools:\n- %1": "無効なツールです。対応ツール:\n- %1",
"Password": "パスワード",
"Details": "詳細",
"Edit directory": "ディレクトリを編集",
"Language": "言語",
"Visualize region": "領域を可視化",
"Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>": "お楽しみください!ウェルカムアプリは<tt>Super+Shift+Alt+/</tt>でいつでも開けます。設定アプリを開くには<tt>Super+I</tt>を押してください",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "オンライン | Googleモデル\nコーディングや複雑な推論タスクに優れた、Googleの最先端多目的モデル。",
"When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help": "有効にすると右サイドバーのコンテンツを常に読み込んでおくことで、表示遅延を短縮します。\n代償として約15MBのメモリを継続的に使用します。遅延の度合いはシステム性能に依存します。\nlinux-cachyosのようなカスタムカーネルの使用が効果的な場合があります。",
"Place at bottom": "下部に配置",
"Tool set to: %1": "ツールを設定: %1",
"Set the tool to use for the model.": "モデルが使用するツールを設定します。",
"Make sure your player has MPRIS support\nor try turning off duplicate player filtering": "お使いのプレイヤーがMPRISをサポートしているか確認するか、\n重複プレイヤーのフィルタリングを無効にしてみてください",
"Select the language for the user interface.\n\"Auto\" will use your system's locale.": "インターフェース言語を選択します。\n「自動」を選ぶとシステムのロケールが使用されます。",
"Value scroll": "スクロールで音量・明るさを調整",
"There might be a download in progress": "ダウンロードが進行中のようです",
"Approve": "承認",
"Tray": "トレイ",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**手順**: Mistralアカウントにログインし、サイドバーのKeysに進み、Create new keyをクリックしてください",
"Pomodoro": "ポモドーロ",
"Language setting saved. Please restart Quickshell (Ctrl+Super+R) to apply the new language.": "言語設定を保存しました。新しい言語を適用するにはQuickshellを再起動してください(Ctrl+Super+R)。",
"Feels like %1": "体感温度 %1",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "コマンド、設定編集、検索が可能。\n検索モードへの切替が必要な場合は追加の対話が必要です",
"Resume": "再開",
"Preferred wallpaper zoom (%)": "壁紙の拡大率(%",
"Disable tools": "ツールをオフ",
"Night Light | Right-click to toggle Auto mode": "ナイトライト | 右クリックで自動モード切替",
"Online | Google's model\nFast, can perform searches for up-to-date information": "オンライン | Googleモデル\n高速で、最新情報を検索できます",
"Hover to trigger": "ホバーでトリガー",
"Keep right sidebar loaded": "右サイドバーを常に読み込む",
"Kill conflicting programs?": "競合するプログラムを終了しますか?",
"Pick a wallpaper": "壁紙を選択",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "オンライン | Googleモデル\n旧モデルより低速ですが、より高品質な回答が期待できる新モデル",
"Hit \"/\" to search": "「/」で検索",
"Config file": "設定ファイル",
"Attach a file. Only works with Gemini.": "ファイルを添付 (Geminiでのみ利用可能)",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "APIキーを設定するには、%4コマンドを使用してください\n\nキーを確認するには、コマンドに「get」を付けてください<br/>\n\n### %1について:\n\n**リンク**: %2\n\n%3",
"Thought": "思考",
"Long break": "長い休憩",
"Temperature\nChange with /temp VALUE": "温度\n/temp 値で変更",
"Usage: %1tool TOOL_NAME": "使用法: %1tool ツール名",
"Pause": "一時停止",
"Allows you to open sidebars by clicking or hovering screen corners regardless of bar position": "バーの配置に関わらず、画面コーナーのクリックまたはホバーでサイドバーを開けるようにします",
"EasyEffects | Right-click to configure": "EasyEffects | 右クリックで設定",
"Up %1": "%1稼働中",
"Place at the bottom/right": "下部/右側に配置",
"Focus": "集中",
"Stopwatch": "ストップウォッチ",
"Interface Language": "インターフェース言語",
"Memory usage": "メモリ使用量",
"Automatically hide": "自動的に隠す",
"Break": "休憩",
"Your package manager is running": "パッケージマネージャーが実行中です",
"API key is set\nChange with /key YOUR_API_KEY": "APIキーが設定済み\n/key YOUR_API_KEYで変更できます",
"Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json": "シェルの設定ファイルを開きます。\nボタンが機能しない、または任意のエディタで開かない場合は、\n~/.config/illogical-impulse/config.json を手動で開いてください",
"CPU usage": "CPU使用率",
"Swap usage": "スワップ使用量",
"Usage: %1save CHAT_NAME": "使用法: %1save チャット名",
"🔴 Focus: %1 minutes": "🔴 集中: %1分",
"Lap": "ラップ",
"Horizontal": "水平",
"Region width": "領域の幅",
"Vertical": "垂直"
}
@@ -0,0 +1,391 @@
{
"Output": "Вывод",
"Markdown test": "Тест Markdown",
"Intelligence": "ИИ",
"Load chat": "Загрузить чат",
"Workspaces shown": "Кол-во рабочих столов",
"Style": "Стиль",
"Reject": "Отклонить",
"Volume": "Громкость",
"Shutdown": "Завершение работы",
"Fidelity": "Верность",
"Switched to search mode. Continue with the user's request.": "Переключено в режим поиска. Продолжай с запросом пользователя.",
"No notifications": "Нет уведомлений",
"EasyEffects | Right-click to configure": "EasyEffects | ПКМ, чтобы настроить",
"Suspend at": "Переход в сон",
"Brightness": "Яркость",
"Volume mixer": "Микшер громкости",
"Discussions": "Обсуждения",
"Earbang protection": "Защита от громких звуков",
"Message the model... \"%1\" for commands": "Сообщение для ИИ... \"%1\" для команд",
"Decorations & Effects": "Декорации и эффекты",
"Load chat from %1": "Загрузить чат из %1",
"OK": "ОК",
"<i>No further instruction provided</i>": "<i>Больше инструкций не предоставлено</i>",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "Установить температуру (предсказуемость) модели. Выберите значение от 0 до 2 для Gemini, от 0 до 1 для других моделей. По умолчанию: 0.5",
"Open file link": "Открыть ссылку на файл",
"API key is set\nChange with /key YOUR_API_KEY": "API ключ установлен\nПоменять с помощью /key ВАШ_КЛЮЧ_API",
"Advanced": "Прочие",
"Title bar": "Заголовок",
"Keybinds": "Шорткаты",
"Alternatively use /dark, /light, /img in the launcher": "Также можно использовать /dark, /light, /img в лаунчере",
"Dark/Light toggle": "Темный/светлый",
"Shell & utilities": "Оболочка",
"Clipboard": "Буфер обмена",
"Show app icons": "Показывать иконки",
"Save": "Сохранить",
"Style & wallpaper": "Стиль и обои",
"Battery": "Батарея",
"Expressive": "Выразительность",
"Reboot": "Перезагрузка",
"AI": "ИИ",
"Sleep": "Спящий режим",
"Allow NSFW": "Разрешить NSFW",
"Please charge!\nAutomatic suspend triggers at %1": "Подключите ПК к источнику питания!\nПереход в спящий режим на %1",
"Select input device": "Выберите микрофон",
"Hover to reveal": "Наведите, чтобы раскрыть",
"Unknown Artist": "Неизвестный исполнитель",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "Ошибка подключения. Проверьте вручную командой <tt>warp-cli</tt>",
"Lock": "Блокировка",
"Monochrome": "Монохром",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**Цена**: бесплатно. Данные используются для обучения.\n\n**Инстуркции**: Войдите в аккаунт Google, разрешите AI Studio создать проект Google Cloud или что оно попросит, вернитесь и нажмите Get API key",
"Online models disallowed\n\nControlled by `policies.ai` config option": "Онлайн модели запрещены\n\nУправляется опцией `policies.ai` в конфиге",
"Emojis": "Эмодзи",
"Wallpaper parallax": "Параллакс обоев",
"Interface": "Интерфейс",
"System prompt": "Системный промпт",
"Edit config": "Ред. конфиг",
"Page %1": "Страница %1",
"Task description": "Описание задачи",
"Fruit Salad": "Фруктовый салат",
"%1 Safe Storage": "Безопасное хранилище %1",
"Distro": "Дистрибутив",
"Add": "Добавить",
"Closet": "Закрытый",
"Task Manager": "Диспетчер задач",
"Configuration": "Настройка",
"There might be a download in progress": "Возможно происходит скачивание",
"Visibility": "Видимость",
"Desktop": "Рабочий стол",
"Run": "Запустить",
"Sunrise": "Рассвет",
"Set API key": "Задать API ключ",
"Shell windows": "Окна оболочки",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Action": "Действие",
"Elements": "Элементы",
"Resources": "Ресурсы",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**Цена**: бесплатно. Политика использования данных зависит от настроек OpenRouter.\n\n**Инструкции**: Войдите в аккаунт OpenRouter, зайдите в Keys в меню сверху справа, нажмите Create API Key",
"Game mode": "Игровой режим",
"Code saved to file": "Код сохранен в файл",
"Issues": "Проблемы",
"Depends on sidebars": "Зависит от панелей",
"Translation goes here...": "Здесь будет перевод...",
"Unknown command:": "Неизвестная команда:",
"Invalid API provider. Supported: \n-": "Неизвестный API провайдер. Поддерживаемые: \n-",
"Clear chat history": "Очистить историю",
"Run command": "Выполнить команду",
"Local only": "Локальные",
"Tonal Spot": "Тональное пятно",
"Content": "Контент",
"Wind": "Ветер",
"Total token count\nInput: %1\nOutput: %2": "Количество токенов\nВвод: %1\nВывод: %2",
"Current model: %1\nSet it with %2model MODEL": "Текущая модель: %1\nСменить с помощью %2model МОДЕЛЬ",
"Dark": "Темный",
"Hug": "Захват",
"Hibernate": "Гибернация",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "Ошибка регистрации. Проверьте вручную командой <tt>warp-cli</tt>",
"Calendar": "Календарь",
"Save chat to %1": "Сохранить чат в %1",
"Finished tasks will go here": "Здесь будут выполненные задачи",
"Set the current API provider": "Задать текущего провайдера API",
"Weather Service": "Сервис погоды",
"Fake screen rounding": "Фейковое округление экрана",
"View Markdown source": "Посмотреть исходной Markdown",
"Change any time later with /dark, /light, /img in the launcher": "Изменяется в любое время с помощью /dark, /light, /img в лаунчере",
"Critical warning": "Критический",
"Waifus only | Excellent quality, limited quantity": "Только вайфу | Превосходное качество, ограниченное количество",
"Unknown function call: %1": "Неизвестный вызов функции: %1",
"Neutral": "Нейтрал",
"Anime": "Аниме",
"Useless buttons": "Бесполезные кнопочки",
"Unfinished": "Незавершенные",
"Privacy Policy": "Политика конфиденциальности",
"Online via %1 | %2's model": "Онлайн через %1 | Модель %2",
"Large images | God tier quality, no NSFW.": "Огромные изображение | Божественное качество, нету NSFW.",
"Base URL": "Базовый URL",
"Not visible to model": "Невидимый для модели",
"Auto": "Авто",
"Might look ass. Unsupported.": "Может выглядеть плохо. Не поддерживается",
"%1 • %2 tasks": "%1 • %2 задач",
"Search the web": "Искать в интернете",
"Scroll to change brightness": "Листайте, чтобы изменить яркость",
"Invalid arguments. Must provide `key` and `value`.": "Неправильные аргументы. Нужно предоставить `key` и `value`.",
"Settings": "Настройки",
"Show regions of potential interest": "Показывать регионы с потенциальным интересом",
"Pressure": "Давление",
"No": "Нет",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Такие регионы могут быть изображениями или части экрана, которые имеют некую ограниченность.\nМожет быть неверно.\nЭто происходит с помощью алгоритма обработки изобржений локально и ИИ не используется",
"Select Language": "Выбрать Язык",
"Command rejected by user": "Команда прервана пользователем",
"Approve": "Разрешить",
"Terminal": "Терминал",
"Search": "Поиск",
"or": "или",
"Save chat": "Сохранить чат",
"Load prompt from %1": "Загрузить промпт из %1",
"Critically low battery": "Критически низкий заряд батареи",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "Хентай | Отличный выбор, качество сильно варьируется",
"Input": "Ввод",
"Borderless": "Безрамочный",
"Loaded the following system prompt\n\n---\n\n%1": "Загружен следующий системный промпт\n\n---\n\n%1",
"Thought": "Мысли",
"Your package manager is running": "Ваш пакетный менеджер работает",
"12h AM/PM": "12 ч. AM/PM",
"Scale (%)": "Размер (%)",
"Waiting for response...": "Ожидание ответа...",
"%1 does not require an API key": "%1 не требует API ключ",
"Edit": "Изменить",
"Dock": "Панель задач",
"Low warning": "Низкий",
"Silent": "Выкл. звук",
"Rainbow": "Радуга",
"Anime boorus": "Аниме боору",
"Nothing here!": "Тут ничего нет!",
"Documentation": "Документация",
"Clear": "Очистить",
"Transparency": "Прозрачность",
"Show background": "Показывать фон",
"Info": "Инфо",
"12h am/pm": "12 ч. am/pm",
"Reload Hyprland & Quickshell": "Перезагрузить Hyprland и Quickshell",
"%1 characters": "%1 символов",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Напоминание для Zerochan:\n- Вы должны ввести цвет\n- Установите свой юзернейм Zerochan с помощью `sidebar.booru.zerochan.username` в конфиге. Вы [можете быть забанены, если не сделаете этого](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!",
"For desktop wallpapers | Good quality": "Для обоев | Отличное качество",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "Введите /key, чтобы начать работу с онлайн моделями\nCtrl+O для расширения панели\nCtrl+P для отсоединения панели",
"Close": "Закрыть",
"Search, calculate or run": "Найти, вычислить или выполнить",
"Add task": "Добавить задачу",
"Enable": "Включить",
"Temperature set to %1": "Температура установлена на %1",
"No media": "Нет медиа",
"Screen snip": "Скриншот",
"Go to source (%1)": "Перейти к источнику (%1)",
"Download": "Скачать",
"Sunset": "Закат",
"Weeb": "Аниме",
"The current system prompt is\n\n---\n\n%1": "Текущий системный промпт\n\n---\n\n%1",
"Scroll to change volume": "Листайте, чтобы изменить громкость",
"Unknown Title": "Неизвестное Название",
"Policies": "Ограничения",
"Disable NSFW content": "Отключить NSFW контент",
"Humidity": "Влажность",
"Cheat sheet": "Шпаргалка",
"Translator": "Переводчик",
"Be patient...": "Подождите...",
"Audio": "Аудио",
"Preferred wallpaper zoom (%)": "Предпочитаемый зум обоев (%)",
"Model set to %1": "Установлена модель %1",
"Enter text to translate...": "Введите текст для перевода...",
"Use Levenshtein distance-based algorithm instead of fuzzy": "Использовать алгоритм, основанный на расстоянии Левенштейна,\n вместо нечёткого сопоставления.",
"Depends on workspace": "Зависит от пространства",
"All-rounder | Good quality, decent quantity": "Универсальный | Хорошее качество, приличное количество",
"Timeout (ms)": "Таймаут (мс)",
"Plain rectangle": "Обычный прямоугольник",
"No API key\nSet it with /key YOUR_API_KEY": "Нет API ключа.\nУстановите его с помощью /key ВАШ_КЛЮЧ_API",
"Center title": "Центрировать название",
"Buttons": "Кнопки",
"Copy code": "Скопировать код",
"Precipitation": "Осадки",
"The popular one | Best quantity, but quality can vary wildly": "Популярный | Огромный выбор, но качество сильно варьируется",
"Temperature: %1": "Температура: %1",
"Qt apps": "Qt приложения",
"Delete": "Удалить",
"Saved to %1": "Сохранено в %1",
"Temperature\nChange with /temp VALUE": "Температура\nИзмените с помощью /temp ЗНАЧЕНИЕ",
"App": "Приложение",
"Bluetooth": "Bluetooth",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "Текущий API: %1\nИзменить с помощью %2mode ПРОВАЙДЕР",
"Cancel": "Отменить",
"Clean stuff | Excellent quality, no NSFW": "Чистый контент | Превосходное качество, нету NSFW",
"Wallpaper": "Обои",
"Provider set to": "Провайдер установлен на",
"Weather": "Погода",
"24h": "24 ч.",
"Show next time": " Показать в следующий раз",
"Unknown": "Неизвестно",
"Launch": "Запустить",
"Overview": "Обзор",
"Help & Support": "Помощь и поддержка",
"Night Light | Right-click to toggle Auto mode": "Ночной свет | ПКМ для переключения Авто режима",
"Web search": "Веб-поиск",
"Cannot find a GPS service. Using the fallback method instead.": "Не удалось найти GPS сервис. Используем запасный вариант.",
"Large language models": "Большие языковые модели",
"Dotfiles": "Дотфайлы",
"When not fullscreen": "Когда не в полноэкранном режиме",
"Screenshot tool": "Инструмент скриншотов",
"Get the next page of results": "Получить резултаты следующей страницы",
"Drag or click a region • LMB: Copy • RMB: Edit": "Проведите или кликните на регион • ЛКМ: Скопировать • ПКМ: Редактировать",
"Material palette": "Material палитра",
"Columns": "Столбцы",
"Bar": "Панель",
"Max allowed increase": "Макс. рост",
"Always show numbers": "Всегда показывать номера",
"%1 notifications": "%1 уведомлений",
"Rows": "Ряды",
"Invalid arguments. Must provide `command`.": "Неправильный аргумент. Нужно предоставить `command`.",
"System": "Система",
"Shell & utilities theming must also be enabled": "Расцветка оболочки также должна быть включена.",
"%1 queries pending": "%1 запросов в очереди",
"Copy": "Скопировать",
"Logout": "Выход",
"Pinned on startup": "Закреплена на запуске",
"%1 | Right-click to configure": "%1 | ПКМ, чтобы настроить",
"Donate": "Задонатить",
"Temperature must be between 0 and 2": "Температура должна быть между 0 и 2",
"Session": "Сессия",
"Mic toggle": "Перекл. микрофон",
"Reboot to firmware settings": "Перезагрузиться в настройки BIOS/UEFI",
"Low battery": "Низкий заряд",
"Usage": "Использование",
"Notifications": "Уведомления",
"Consider plugging in your device": "Задумайтесь о подключении ПК к источнику питания",
"Cloudflare WARP": "Cloudflare WARP",
"Automatically suspends the system when battery is low": "Автоматически переходит в режим сна когда заряд низкий",
"Services": "Сервисы",
"Thinking": "Думаю",
"Color generation": "Генерация цветов",
"Number show delay when pressing Super (ms)": "Задержка показа номеров при нажатии Super (мс)",
"illogical-impulse Welcome": "Добро пожаловать в illogical-impulse",
"User agent (for services that require it)": "User agent (для сервисов, которым он нужен)",
"On-screen display": "Отображение на экране",
"Download complete": "Загрузка завершена",
"Time": "Время",
"Float": "Парящая",
"Pick wallpaper image on your system": "Выберите изображение для обоев на своём ПК",
"Prevents abrupt increments and restricts volume limit": "Предотвращает резкие увеличения громкости и закрепляет лимит громоксти",
"Unknown Album": "Неизвестный Альбом",
"Math result": "Результат вычисления",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Случайные SFW обои с Konachan\nИзображение сохраняются в ~/Изображения/Wallpapers",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "Может быть лучше, если вы сделаете много ошибок,\nно результаты могут быть странными и могут не работать с сокращениями (т.е. \"GIMP\" не выдаст программу для рисования)",
"Select output device": "Выберите динамики",
"Set the system prompt for the model.": "Задать системный промпт для этой модели.",
"Choose file": "Выберите файл",
"Choose model": "Выберите модель",
"Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience": "Подсказка: Включите \"Показывать иконик \" и \"Всегда показывать номера\"\nдля классического опыта illogical-impulse",
"Yes": "Да",
"Local Ollama model | %1": "Локальная модель Ollama | %1",
"API key set for %1": "API ключ установлен на %1",
"Format": "Формат",
"Colors & Wallpaper": "Цвета и Обои",
"Note: turning off can hurt readability": "Подсказка: отключение может повредить читабельность",
"illogical-impulse": "illogical-impulse",
"Automatic suspend": "Авто-сон",
"Random: Konachan": "Рандом: Konachan",
"Workspace": "Рабочее пространство",
"About": "О системе",
"Color picker": "Пипетка",
"Report a Bug": "Сообщить об ошибке",
"Volume limit": "Лимит громкости",
"GitHub": "GitHub",
"Prefixes": "Префиксы",
"Done": "Готово",
"Invalid model. Supported: \n```": "Неправильная модель. Доступны: \n```",
"UV Index": "УФ-индекс",
"Clear the current list of images": "Очистить список изображений",
"No audio source": "Нет источников аудио",
"API key:\n\n```txt\n%1\n```": "API ключ:\n\n```txt\n%1\n```",
"For storing API keys and other sensitive information": "Для хранения API ключей и другой чувствительной информации",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "Стрелочки для навигации, Enter для выбора\nEsc или клик везде чтобы отменить",
"Networking": "Сеть",
"Keep system awake": "Держать ПК включённым",
"Polling interval (ms)": "Интервал опроса (мс)",
"To Do": "Задачи",
"Workspaces": "Рабочие пространства",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "Это не сработало. Подсказки:\n- Проверьте теги и настройки NSFW\n- Если на уме нету тегов, введите номер страницы",
"Jump to current month": "Перейти к текущему месяцу",
"Enter tags, or \"%1\" for commands": "Введите теги, или \"%1\" для команд",
"No API key set for %1": "API ключ не установлен для %1",
"Allow NSFW content": "Разрешить NSFW контент",
"Save to Downloads": "Сохранить в загрузки",
"Light": "Светлый",
"Keyboard toggle": "Экранная клавиатура",
"Timer": "Таймер",
"Stopwatch": "Секундомер",
"Pomodoro": "Pomodoro",
"Start": "Начать",
"Reset": "Сбросить",
"Pause": "Пауза",
"Resume": "Возобновить",
"Lap": "Круг",
"Fully charged": "Полностью заряжена",
"No pending tasks": "Нет незавершенных задач",
"Place at the bottom/right": "Разместить внизу/справа",
"Tray": "Трей",
"Tint icons": "Тень иконок",
"Overall appearance": "Общий внешний вид",
"Tint app icons": "Тень иконок приложений",
"We": "Ср/*keep*/",
"Mo": "Пн/*keep*/",
"Su": "Вс/*keep*/",
"Th": "Чт/*keep*/",
"Tu": "Вт/*keep*/",
"Sa": "Сб/*keep*/",
"Fr": "Пт/*keep*/",
"Usage: %1load CHAT_NAME": "Использование: %1load ИМЯ_ЧАТА",
"Set the tool to use for the model.": "Установите инструмент для этой модели.",
"Invalid tool. Supported tools:\n- %1": "Неправильный инструмент. Доступны:\n- %1",
"Usage: %1tool TOOL_NAME": "Использование: %1tool ИНСТРУМЕНТ",
"Performance Profile toggle": "Переключатель питания",
"Usage: %1save CHAT_NAME": "Использование: %1save ИМЯ_ЧАТА",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "Онлайн | Модель Google\nМодель Gemini 2.5 Flash оптимизирована под меньшие затраты и высокую производительнность",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "Онлайн | Модель Google\nНовая модель, которая медленее, чем ее предшественник, но выдает лучшее качество",
"Online | Google's model\nFast, can perform searches for up-to-date information": "Онлайн | Модель Google\nБыстрая, может выполнять поиск актуальной информации",
"Current tool: %1\nSet it with %2tool TOOL": "Текущий инструмент: %1\nИзменяется с помощью %2tool ИНСТРУМЕНТ",
"Hi there! First things first...": "Привет! Начнем с самого главного...",
"Time to empty:": "Время до полной разрядки:",
"Free:": "Free:",
"Up %1": "Up %1",
"To Do:": "Задачи:",
"Total:": "Total:",
"Welcome app": "Приветственное приложение",
"Incorrect password": "Неверный пароль",
"Charging:": "Заряжается:",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "Чтобы установить ключ API, передайте его с помощью команды %4.\n\nЧтобы просмотреть ключ, передайте \"get\" с помощью команды.<br/>\n\n### Для %1:\n\n**Ссылка**: %2\n\n%3",
"🔴 Focus: %1 minutes": "🔴 Focus: %1 minutes",
"System uptime:": "Время работы системы:",
"Automatically hide": "Автоматически скрывать",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Онлайн | Модель %1 | Выдаёт быстрые, отзывчивые и хорошо отформатированные ответы. Недостатки: не очень охотно работает; может создавать неизвестные вызовы функций.",
"**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1": "**Цена**: Доступен бесплатный тариф с ограниченными возможностями. См. https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Инструкция**: Создайте персональный токен доступа GitHub с разрешением Models, затем установите его в качестве ключа API здесь.\n\n**Примечание**: Для использования этого параметра необходимо установить значение температуры равным 1.",
"Shell conflicts killer": "Убийца конфликтных оболочек",
"🌿 Long break: %1 minutes": "🌿 Long break: %1 minutes",
"Always": "Всегда",
"Enter password": "Введите пароль",
"Keep right sidebar loaded": "Держать правую панель загруженной",
"Tool set to: %1": "Инструмент установлен: %1",
"Sidebars": "Боковые панели",
"Kill conflicting programs?": "Убить конфликтующую программу?",
"Used:": "Used:",
"Time to full:": "Время до полной зарядки:",
"Horizontal": "Горизонтальная",
"Medium": "Средний",
"Low": "Низкий",
"Conflicts with the shell's system tray implementation": "Конфликтует с системным треем оболочки.",
"Long break": "Long break",
"Vertical": "Вертикальная",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "Команды, редактирование конфигов, поиск.\nПри необходимости переход в режим поиска, если это необходимо",
"Gives the model search capabilities (immediately)": "Сразу предоставляет возможности поиска модели",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**Инструкция**: Войдите в учетную запись Mistral, перейдите в раздел «Ключи» на боковой панели, нажмите «Создать новый ключ».",
"☕ Break: %1 minutes": "☕ Break: %1 minutes",
"Discharging:": "Разряжается:",
"... and %1 more": "... и ещё %1",
"Break": "Перерыв",
"Disable tools": "Отключить инструменты",
"Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>": "Наслаждайтесь! Вы всегда можете снова открыть приветственное приложение сочетанием клавиш <tt>Super+Shift+Alt+/</tt>. Чтобы открыть настройки, нажмите <tt>Super+I</tt>",
"Conflicts with the shell's notification implementation": "Конфликтует с уведомлениями оболочки",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "Онлайн | Модель Google\nСовременная универсальная модель Google, которая превосходно справляется с задачами кодирования и сложными рассуждениями.",
"When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help": "При включении этого параметра содержимое правой боковой панели сохраняется загруженным, что сокращает задержку при открытии,\nзатрачивая около 15 МБ постоянного использования оперативной памяти. Длительность задержки зависит от производительности вашей системы.\nИспользование пользовательского ядра, например, linux-cachyos, может помочь.",
"High": "Высокий",
"Focus": "Фокус",
"Load:": "Load:"
}
@@ -0,0 +1,285 @@
# Translation Management Tool Suite
This suite is used to manage project translation files, automatically extract translatable texts, compare differences between language files, and provide maintenance functions.
## Tool Components
### 1. `translation-manager.py` - Main Translation Manager
- Extract translatable texts
- Compare and update translation files
- Interactive addition/removal of translation keys
### 2. `translation-cleaner.py` - Translation File Maintenance Tool
- Clean unused translation keys
- Synchronize key structure across different language files
### 3. `manage-translations.sh` - Convenient Wrapper Script
- Provides a unified command-line interface
- Displays translation status
- Simplifies common operations
## Quick Start
### Using the Wrapper Script (Recommended)
```bash
# Enter the tools directory
cd .config/quickshell/translations/tools
# Show help
./manage-translations.sh --help
# Show current translation status
./manage-translations.sh status
# Extract translatable texts
./manage-translations.sh extract
# Update all translation files
./manage-translations.sh update
# Update a specific language
./manage-translations.sh update -l zh_CN
# Clean unused keys
./manage-translations.sh clean
# Synchronize keys across all language files
./manage-translations.sh sync
```
Or run from the project root:
```bash
# Run from the project root
.config/quickshell/translations/tools/manage-translations.sh status
.config/quickshell/translations/tools/manage-translations.sh update
```
## Detailed Usage
### Translation Manager (`translation-manager.py`)
Basic usage:
```bash
# Process all languages
./translation-manager.py
# Specify a particular language
./translation-manager.py --language zh_CN
# Extract translatable texts only
./translation-manager.py --extract-only
# Show extracted texts
./translation-manager.py --extract-only --show-temp
```
Parameter description:
- `--translations-dir`, `-t`: Translation files directory (default: `.config/quickshell/translations`)
- `--source-dir`, `-s`: Source code directory (default: `.config/quickshell`)
- `--language`, `-l`: Specify the language code to process
- `--extract-only`, `-e`: Only extract translatable texts
- `--show-temp`: Show the content of the temporary extraction file
### Translation Cleaner (`translation-cleaner.py`)
```bash
# Clean unused translation keys
./translation-cleaner.py --clean
# Synchronize translation keys (using en_US as the base)
./translation-cleaner.py --sync
# Specify a different source language for syncing
./translation-cleaner.py --sync --source-lang zh_CN
# Clean without creating backups
./translation-cleaner.py --clean --no-backup
```
## Workflow
### Regular Translation Update Workflow
1. **Check status**:
```bash
./manage-translations.sh status
```
2. **Update translations**:
```bash
./manage-translations.sh update
```
3. **Clean unused keys** (optional):
```bash
./manage-translations.sh clean
```
### Adding a New Language
1. **Create a new language file**:
```bash
./manage-translations.sh update -l new_lang
```
2. **Synchronize key structure**:
```bash
./manage-translations.sh sync
```
### Cleanup After Large Refactoring
1. **Backup translation files**:
```bash
cp -r .config/quickshell/translations .config/quickshell/translations.backup
```
2. **Clean unused keys**:
```bash
./manage-translations.sh clean
```
3. **Synchronize all languages**:
```bash
./manage-translations.sh sync
```
## Supported Translatable Text Formats
The tool recognizes the following formats for translatable texts:
```qml
// Basic format
Translation.tr("Hello, world!")
Translation.tr('Hello, world!')
Translation.tr(`Hello, world!`)
// With line breaks
Translation.tr("Line 1\nLine 2")
// With escape characters
Translation.tr("Say \"Hello\"")
// With parameter placeholders
Translation.tr("Hello, %1!").arg(name)
```
## Example Output
### Status Display
```
$ ./manage-translations.sh status
Analyzing translation status...
=== Current Project Status ===
166 translatable texts extracted
=== Translation File Status ===
en_US: 470 keys
zh_CN: 470 keys
```
### Update Translations
```
$ ./manage-translations.sh update -l zh_CN
Updating translation files...
==================================================
Processing language: zh_CN
==================================================
Analysis result:
Missing keys: 5
Extra keys: 20
Found 5 missing translation keys:
1. "New feature text"
2. "Another new text"
...
Add these 5 missing keys? (y/n): y
5 keys added
Found 20 extra translation keys:
1. "Removed old text" -> "已删除的旧文本"
...
Delete these 20 extra keys? (y/n): y
20 keys deleted
Translation file saved
```
### Clean Unused Keys
```
$ ./manage-translations.sh clean
Cleaning unused translation keys...
Processing language: zh_CN
Found 50 unused keys:
1. "old_unused_text"
2. "deprecated_message"
...
Delete these 50 unused keys? (y/n): y
50 keys deleted
Original key count: 470, after cleaning: 420
```
## Advanced Features
### Custom Directory Structure
```bash
# Use custom directories
./translation-manager.py \
--translations-dir /path/to/translations \
--source-dir /path/to/source
```
### Ignore Mark Feature
For dynamic resources or special texts that should not be automatically cleaned, you can add `/*keep*/` at the end of the translation value. The tool will automatically ignore these keys and will not delete them during cleaning or syncing.
Example:
```json
{
"dynamic_key": "Some dynamic value /*keep*/"
}
```
## Notes
1. **Backup is important**: The tool automatically creates backups before cleaning, but it is recommended to manually back up important files
2. **Text extraction limitations**:
- ~~Only supports static strings, not dynamically constructed strings~~
- Dynamic resources (such as variable concatenation or runtime-generated text) cannot be automatically extracted. You need to manually add them to the translation file and use the `/*keep*/` mark for ignore management.
- Must use the `Translation.tr()` format
3. **File encoding**: All files must use UTF-8 encoding
4. **Key naming conventions**: It is recommended to use English for key names and avoid special characters
## Troubleshooting
### Common Issues
**Q: Text does not appear after adding Translation.tr?**
A: You need to import the translation feature in your QML file using `import "root:/"`, otherwise the translation text will not be displayed correctly.
**Q: The number of extracted texts does not match expectations?**
A: Check whether all translatable texts use the `Translation.tr()` format and ensure there are no dynamically constructed strings.
**Q: Some translations are missing after syncing?**
A: Check whether the source language file contains all necessary keys, and consider using a different source language for syncing.
**Q: The cleaning operation deleted needed keys?**
A: Restore from the automatically created backup file and check whether `Translation.tr()` is used correctly in the source code.
### Restore Backup
```bash
# Restore a single file
cp .config/quickshell/translations/zh_CN.json.backup .config/quickshell/translations/zh_CN.json
# Restore all files
cp .config/quickshell/translations.backup/* .config/quickshell/translations/
```
@@ -0,0 +1,286 @@
# 翻译管理工具套件
这套工具用于管理项目的翻译文件,自动提取可翻译文本,比较不同语言文件之间的差异,并提供维护功能。
## 工具组成
### 1. `translation-manager.py` - 主要翻译管理器
- 提取可翻译文本
- 比较和更新翻译文件
- 交互式添加/删除翻译键
### 2. `translation-cleaner.py` - 翻译文件维护工具
- 清理不再使用的翻译键
- 同步不同语言文件的键结构
### 3. `manage-translations.sh` - 便捷包装脚本
- 提供统一的命令行界面
- 显示翻译状态
- 简化常用操作
## 快速开始
### 使用便捷脚本(推荐)
```bash
# 进入工具目录
cd .config/quickshell/translations/tools
# 查看帮助
./manage-translations.sh --help
# 显示当前翻译状态
./manage-translations.sh status
# 提取可翻译文本
./manage-translations.sh extract
# 更新所有翻译文件
./manage-translations.sh update
# 更新特定语言
./manage-translations.sh update -l zh_CN
# 清理不再使用的键
./manage-translations.sh clean
# 同步所有语言文件的键
./manage-translations.sh sync
```
或者从项目根目录运行:
```bash
# 从项目根目录运行
.config/quickshell/translations/tools/manage-translations.sh status
.config/quickshell/translations/tools/manage-translations.sh update
```
## 详细使用说明
### 翻译管理器 (`translation-manager.py`)
基本用法:
```bash
# 处理所有语言
./translation-manager.py
# 指定特定语言
./translation-manager.py --language zh_CN
# 仅提取可翻译文本
./translation-manager.py --extract-only
# 显示提取的文本
./translation-manager.py --extract-only --show-temp
```
参数说明:
- `--translations-dir`, `-t`: 翻译文件目录(默认:`.config/quickshell/translations`
- `--source-dir`, `-s`: 源代码目录(默认:`.config/quickshell`
- `--language`, `-l`: 指定要处理的语言代码
- `--extract-only`, `-e`: 仅提取可翻译文本
- `--show-temp`: 显示临时提取文件的内容
### 翻译清理器 (`translation-cleaner.py`)
```bash
# 清理不再使用的翻译键
./translation-cleaner.py --clean
# 同步翻译键(以 en_US 为基准)
./translation-cleaner.py --sync
# 指定不同的源语言进行同步
./translation-cleaner.py --sync --source-lang zh_CN
# 清理时不创建备份
./translation-cleaner.py --clean --no-backup
```
## 工作流程
### 日常翻译更新流程
1. **检查状态**
```bash
./manage-translations.sh status
```
2. **更新翻译**
```bash
./manage-translations.sh update
```
3. **清理无用键**(可选):
```bash
./manage-translations.sh clean
```
### 新增语言流程
1. **创建新语言文件**
```bash
./manage-translations.sh update -l new_lang
```
2. **同步键结构**
```bash
./manage-translations.sh sync
```
### 大规模重构后的清理流程
1. **备份翻译文件**
```bash
cp -r .config/quickshell/translations .config/quickshell/translations.backup
```
2. **清理无用键**
```bash
./manage-translations.sh clean
```
3. **同步所有语言**
```bash
./manage-translations.sh sync
```
## 支持的翻译文本格式
工具可以识别以下格式的可翻译文本:
```qml
// 基本格式
Translation.tr("Hello, world!")
Translation.tr('Hello, world!')
Translation.tr(`Hello, world!`)
// 带换行符
Translation.tr("Line 1\nLine 2")
// 带转义字符
Translation.tr("Say \"Hello\"")
// 带参数占位符
Translation.tr("Hello, %1!").arg(name)
```
## 示例输出
### 状态显示
```
$ ./manage-translations.sh status
正在分析翻译状态...
=== 当前项目状态 ===
提取到 166 个可翻译文本
=== 翻译文件状态 ===
en_US: 470 个键
zh_CN: 470 个键
```
### 更新翻译
```
$ ./manage-translations.sh update -l zh_CN
更新翻译文件...
==================================================
处理语言: zh_CN
==================================================
分析结果:
缺少的键: 5
多余的键: 20
发现 5 个缺少的翻译键:
1. "New feature text"
2. "Another new text"
...
是否添加这 5 个缺少的键? (y/n): y
已添加 5 个键
发现 20 个多余的翻译键:
1. "Removed old text" -> "已删除的旧文本"
...
是否删除这 20 个多余的键? (y/n): y
已删除 20 个键
已保存翻译文件
```
### 清理无用键
```
$ ./manage-translations.sh clean
清理不再使用的翻译键...
处理语言: zh_CN
发现 50 个不再使用的键:
1. "old_unused_text"
2. "deprecated_message"
...
是否删除这 50 个不再使用的键? (y/n): y
已删除 50 个键
原始键数: 470, 清理后: 420
```
## 高级功能
### 自定义目录结构
```bash
# 使用自定义目录
./translation-manager.py \
--translations-dir /path/to/translations \
--source-dir /path/to/source
```
## 注意事项
1. **备份重要**:在执行清理操作前,工具会自动创建备份,但建议手动备份重要文件
2. **文本提取限制**
- ~~只支持静态字符串,不支持动态构建的字符串~~
- 动态资源(如变量拼接、运行时生成的文本)无法自动提取,需要在翻译文件中手动添加,并使用 `/*keep*/` 标记进行忽略管理。
- 必须使用 `Translation.tr()` 格式
### 忽略标记功能
对于动态资源或特殊文本,如果不希望被自动清理,可在翻译值末尾添加 `/*keep*/`,工具会自动忽略这些键,不会在清理和同步时删除。
示例:
```json
{
"dynamic_key": "Some dynamic value /*keep*/"
}
```
3. **文件编码**:所有文件必须使用 UTF-8 编码
4. **键名规范**:建议使用英文作为键名,避免使用特殊字符
## 故障排除
### 常见问题
**Q: 添加了 Translation.tr 后文字不显示?**
A: 需要在 QML 文件中使用 `import "root:/"` 导入翻译功能,否则无法正常显示翻译文本。
**Q: 提取的文本数量与预期不符?**
A: 检查是否所有可翻译文本都使用了 `Translation.tr()` 格式,确保没有动态构建的字符串。
**Q: 同步后某些翻译丢失?**
A: 检查源语言文件是否包含所有必要的键,考虑使用不同的源语言进行同步。
**Q: 清理操作删除了需要的键?**
A: 从自动创建的备份文件中恢复,检查源代码中是否正确使用了 `Translation.tr()`。
### 恢复备份
```bash
# 恢复单个文件
cp .config/quickshell/translations/zh_CN.json.backup .config/quickshell/translations/zh_CN.json
# 恢复所有文件
cp .config/quickshell/translations.backup/* .config/quickshell/translations/
```
@@ -0,0 +1,285 @@
# Translation Management Tool Suite
This suite is used to manage project translation files, automatically extract translatable texts, compare differences between language files, and provide maintenance functions.
## Tool Components
### 1. `translation-manager.py` - Main Translation Manager
- Extract translatable texts
- Compare and update translation files
- Interactive addition/removal of translation keys
### 2. `translation-cleaner.py` - Translation File Maintenance Tool
- Clean unused translation keys
- Synchronize key structure across different language files
### 3. `manage-translations.sh` - Convenient Wrapper Script
- Provides a unified command-line interface
- Displays translation status
- Simplifies common operations
## Quick Start
### Using the Wrapper Script (Recommended)
```bash
# Enter the tools directory
cd .config/quickshell/translations/tools
# Show help
./manage-translations.sh --help
# Show current translation status
./manage-translations.sh status
# Extract translatable texts
./manage-translations.sh extract
# Update all translation files
./manage-translations.sh update
# Update a specific language
./manage-translations.sh update -l zh_CN
# Clean unused keys
./manage-translations.sh clean
# Synchronize keys across all language files
./manage-translations.sh sync
```
Or run from the project root:
```bash
# Run from the project root
.config/quickshell/translations/tools/manage-translations.sh status
.config/quickshell/translations/tools/manage-translations.sh update
```
## Detailed Usage
### Translation Manager (`translation-manager.py`)
Basic usage:
```bash
# Process all languages
./translation-manager.py
# Specify a particular language
./translation-manager.py --language zh_CN
# Extract translatable texts only
./translation-manager.py --extract-only
# Show extracted texts
./translation-manager.py --extract-only --show-temp
```
Parameter description:
- `--translations-dir`, `-t`: Translation files directory (default: `.config/quickshell/translations`)
- `--source-dir`, `-s`: Source code directory (default: `.config/quickshell`)
- `--language`, `-l`: Specify the language code to process
- `--extract-only`, `-e`: Only extract translatable texts
- `--show-temp`: Show the content of the temporary extraction file
### Translation Cleaner (`translation-cleaner.py`)
```bash
# Clean unused translation keys
./translation-cleaner.py --clean
# Synchronize translation keys (using en_US as the base)
./translation-cleaner.py --sync
# Specify a different source language for syncing
./translation-cleaner.py --sync --source-lang zh_CN
# Clean without creating backups
./translation-cleaner.py --clean --no-backup
```
## Workflow
### Regular Translation Update Workflow
1. **Check status**:
```bash
./manage-translations.sh status
```
2. **Update translations**:
```bash
./manage-translations.sh update
```
3. **Clean unused keys** (optional):
```bash
./manage-translations.sh clean
```
### Adding a New Language
1. **Create a new language file**:
```bash
./manage-translations.sh update -l new_lang
```
2. **Synchronize key structure**:
```bash
./manage-translations.sh sync
```
### Cleanup After Large Refactoring
1. **Backup translation files**:
```bash
cp -r .config/quickshell/translations .config/quickshell/translations.backup
```
2. **Clean unused keys**:
```bash
./manage-translations.sh clean
```
3. **Synchronize all languages**:
```bash
./manage-translations.sh sync
```
## Supported Translatable Text Formats
The tool recognizes the following formats for translatable texts:
```qml
// Basic format
Translation.tr("Hello, world!")
Translation.tr('Hello, world!')
Translation.tr(`Hello, world!`)
// With line breaks
Translation.tr("Line 1\nLine 2")
// With escape characters
Translation.tr("Say \"Hello\"")
// With parameter placeholders
Translation.tr("Hello, %1!").arg(name)
```
## Example Output
### Status Display
```
$ ./manage-translations.sh status
Analyzing translation status...
=== Current Project Status ===
166 translatable texts extracted
=== Translation File Status ===
en_US: 470 keys
zh_CN: 470 keys
```
### Update Translations
```
$ ./manage-translations.sh update -l zh_CN
Updating translation files...
==================================================
Processing language: zh_CN
==================================================
Analysis result:
Missing keys: 5
Extra keys: 20
Found 5 missing translation keys:
1. "New feature text"
2. "Another new text"
...
Add these 5 missing keys? (y/n): y
5 keys added
Found 20 extra translation keys:
1. "Removed old text" -> "已删除的旧文本"
...
Delete these 20 extra keys? (y/n): y
20 keys deleted
Translation file saved
```
### Clean Unused Keys
```
$ ./manage-translations.sh clean
Cleaning unused translation keys...
Processing language: zh_CN
Found 50 unused keys:
1. "old_unused_text"
2. "deprecated_message"
...
Delete these 50 unused keys? (y/n): y
50 keys deleted
Original key count: 470, after cleaning: 420
```
## Advanced Features
### Custom Directory Structure
```bash
# Use custom directories
./translation-manager.py \
--translations-dir /path/to/translations \
--source-dir /path/to/source
```
### Ignore Mark Feature
For dynamic resources or special texts that should not be automatically cleaned, you can add `/*keep*/` at the end of the translation value. The tool will automatically ignore these keys and will not delete them during cleaning or syncing.
Example:
```json
{
"dynamic_key": "Some dynamic value /*keep*/"
}
```
## Notes
1. **Backup is important**: The tool automatically creates backups before cleaning, but it is recommended to manually back up important files
2. **Text extraction limitations**:
- ~~Only supports static strings, not dynamically constructed strings~~
- Dynamic resources (such as variable concatenation or runtime-generated text) cannot be automatically extracted. You need to manually add them to the translation file and use the `/*keep*/` mark for ignore management.
- Must use the `Translation.tr()` format
3. **File encoding**: All files must use UTF-8 encoding
4. **Key naming conventions**: It is recommended to use English for key names and avoid special characters
## Troubleshooting
### Common Issues
**Q: Text does not appear after adding Translation.tr?**
A: You need to import the translation feature in your QML file using `import "root:/"`, otherwise the translation text will not be displayed correctly.
**Q: The number of extracted texts does not match expectations?**
A: Check whether all translatable texts use the `Translation.tr()` format and ensure there are no dynamically constructed strings.
**Q: Some translations are missing after syncing?**
A: Check whether the source language file contains all necessary keys, and consider using a different source language for syncing.
**Q: The cleaning operation deleted needed keys?**
A: Restore from the automatically created backup file and check whether `Translation.tr()` is used correctly in the source code.
### Restore Backup
```bash
# Restore a single file
cp .config/quickshell/translations/zh_CN.json.backup .config/quickshell/translations/zh_CN.json
# Restore all files
cp .config/quickshell/translations.backup/* .config/quickshell/translations/
```
@@ -0,0 +1,149 @@
#!/bin/bash
# Translation management script - convenient wrapper
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TRANSLATIONS_DIR="$(dirname "$SCRIPT_DIR")"
SOURCE_DIR="$(dirname "$(dirname "$TRANSLATIONS_DIR")")"
show_help() {
echo "Translation Management Tool - Convenient Wrapper"
echo ""
echo "Usage: $0 [options] <command>"
echo ""
echo "Commands:"
echo " extract Extract translatable texts to temporary file"
echo " update Update translation files (add missing/remove extra keys)"
echo " clean Clean unused translation keys"
echo " sync Sync keys across all language files"
echo " status Show translation status"
echo ""
echo "Options:"
echo " -l, --lang LANG Specify language (e.g.: zh_CN)"
echo " -t, --trans-dir DIR Translation files directory (default: $TRANSLATIONS_DIR)"
echo " -s, --source-dir DIR Source code directory (default: $SOURCE_DIR)"
echo " -h, --help Show this help message"
echo ""
echo "Examples:"
echo " $0 extract # Extract translatable texts"
echo " $0 update -l zh_CN # Update Chinese translations"
echo " $0 update # Update all translations"
echo " $0 clean # Clean unused keys"
echo " $0 sync # Sync keys across all languages"
echo " $0 status # Show translation status"
}
show_status() {
echo "Analyzing translation status..."
# Extract current text count
echo "=== Current Project Status ==="
python3 "$SCRIPT_DIR/translation-manager.py" \
--translations-dir "$TRANSLATIONS_DIR" \
--source-dir "$SOURCE_DIR" \
--extract-only | grep "Extracted"
echo ""
echo "=== Translation File Status ==="
if [ -d "$TRANSLATIONS_DIR" ]; then
for file in "$TRANSLATIONS_DIR"/*.json; do
if [ -f "$file" ]; then
lang=$(basename "$file" .json)
count=$(jq 'length' "$file" 2>/dev/null || echo "error")
echo " $lang: $count keys"
fi
done
else
echo " Translation directory does not exist: $TRANSLATIONS_DIR"
fi
}
# Parse command line arguments
LANG_CODE=""
COMMAND=""
while [[ $# -gt 0 ]]; do
case $1 in
-l|--lang)
LANG_CODE="$2"
shift 2
;;
-t|--trans-dir)
TRANSLATIONS_DIR="$2"
shift 2
;;
-s|--source-dir)
SOURCE_DIR="$2"
shift 2
;;
-h|--help)
show_help
exit 0
;;
extract|update|clean|sync|status)
if [ -n "$COMMAND" ]; then
echo "Error: Only one command can be specified"
exit 1
fi
COMMAND="$1"
shift
;;
*)
echo "Unknown option: $1"
show_help
exit 1
;;
esac
done
if [ -z "$COMMAND" ]; then
echo "Error: A command must be specified"
show_help
exit 1
fi
# Check dependencies
if ! command -v python3 >/dev/null 2>&1; then
echo "Error: python3 is required"
exit 1
fi
if [ "$COMMAND" = "status" ] && ! command -v jq >/dev/null 2>&1; then
echo "Warning: jq is not installed, status display may be incomplete"
fi
# Build base arguments
BASE_ARGS="--translations-dir $TRANSLATIONS_DIR --source-dir $SOURCE_DIR"
case $COMMAND in
extract)
echo "Extracting translatable texts..."
python3 "$SCRIPT_DIR/translation-manager.py" $BASE_ARGS --extract-only --show-temp
;;
update)
echo "Updating translation files..."
if [ -n "$LANG_CODE" ]; then
python3 "$SCRIPT_DIR/translation-manager.py" $BASE_ARGS --language "$LANG_CODE"
else
python3 "$SCRIPT_DIR/translation-manager.py" $BASE_ARGS
fi
;;
clean)
echo "Cleaning unused translation keys..."
python3 "$SCRIPT_DIR/translation-cleaner.py" $BASE_ARGS --clean
;;
sync)
echo "Syncing translation keys..."
python3 "$SCRIPT_DIR/translation-cleaner.py" $BASE_ARGS --sync
;;
status)
show_status
;;
*)
echo "Unknown command: $COMMAND"
show_help
exit 1
;;
esac
@@ -0,0 +1,200 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Translation File Maintenance Helper
Used to clean and organize translation files, removing unused keys
"""
import os
import sys
import json
import argparse
import importlib.util
from pathlib import Path
from typing import Dict, Set, List
# Import from the same directory using importlib
current_dir = os.path.dirname(os.path.abspath(__file__))
manager_path = os.path.join(current_dir, 'translation-manager.py')
spec = importlib.util.spec_from_file_location("translation_manager", manager_path)
translation_manager = importlib.util.module_from_spec(spec)
spec.loader.exec_module(translation_manager)
TranslationManager = translation_manager.TranslationManager
def clean_translation_files(translations_dir: str, source_dir: str, backup: bool = True):
"""Clean translation files by removing unused keys"""
print("Starting translation file cleanup...")
# Create manager
manager = TranslationManager(translations_dir, source_dir)
# Extract currently used texts
print("Extracting currently used translatable texts...")
current_texts = manager.extract_translatable_texts()
print(f"Extracted {len(current_texts)} currently used texts")
# Get all language files
languages = manager.get_available_languages()
if not languages:
print("No translation files found")
return
print(f"Found language files: {', '.join(languages)}")
total_removed = 0
for lang in languages:
print(f"\nProcessing language: {lang}")
# Load translation file
translations = manager.load_translation_file(lang)
original_count = len(translations)
# Find unused keys, skip those whose value ends with /*keep*/
unused_keys = set()
for k in translations.keys():
v = translations[k]
if k not in current_texts:
if isinstance(v, str) and v.strip().endswith('/*keep*/'):
continue
unused_keys.add(k)
if unused_keys:
print(f"Found {len(unused_keys)} unused keys:")
for i, key in enumerate(sorted(unused_keys)[:10], 1): # Only show first 10
print(f" {i}. \"{key[:50]}{'...' if len(key) > 50 else ''}\"")
if len(unused_keys) > 10:
print(f" ... and {len(unused_keys) - 10} more keys")
response = input(f"Delete these {len(unused_keys)} unused keys? (y/n): ")
if response.lower().strip() in ['y', 'yes']:
if backup:
# Create backup only when user confirms deletion
backup_file = Path(translations_dir) / f"{lang}.json.bak"
with open(backup_file, 'w', encoding='utf-8') as f:
json.dump(translations, f, ensure_ascii=False, indent=2)
print(f"Created backup: {backup_file}")
# Delete unused keys
for key in unused_keys:
del translations[key]
# Save cleaned file
manager.save_translation_file(lang, translations)
removed_count = len(unused_keys)
total_removed += removed_count
print(f"Deleted {removed_count} keys")
else:
print("Skipped deletion")
else:
print("No unused keys found")
new_count = len(translations)
print(f"Original key count: {original_count}, after cleanup: {new_count}")
print(f"\nCleanup completed! Total deleted {total_removed} unused keys.")
def sync_translations(translations_dir: str, source_lang: str = "en_US", target_langs: List[str] = None):
"""Sync translation keys to ensure all language files have the same keys"""
print(f"Starting translation key sync using {source_lang} as reference...")
translations_path = Path(translations_dir)
# Load source language file
source_file = translations_path / f"{source_lang}.json"
if not source_file.exists():
print(f"Error: Source language file does not exist: {source_file}")
return
with open(source_file, 'r', encoding='utf-8') as f:
source_translations = json.load(f)
source_keys = set(source_translations.keys())
print(f"Source language {source_lang} has {len(source_keys)} keys")
# Get target language list
if target_langs is None:
target_langs = []
for file_path in translations_path.glob("*.json"):
lang_code = file_path.stem
if lang_code != source_lang:
target_langs.append(lang_code)
if not target_langs:
print("No target language files found")
return
print(f"Target languages: {', '.join(target_langs)}")
for target_lang in target_langs:
print(f"\nSyncing language: {target_lang}")
target_file = translations_path / f"{target_lang}.json"
if target_file.exists():
with open(target_file, 'r', encoding='utf-8') as f:
target_translations = json.load(f)
else:
target_translations = {}
target_keys = set(target_translations.keys())
# Find missing and extra keys
missing_keys = source_keys - target_keys
extra_keys = target_keys - source_keys
print(f" Missing keys: {len(missing_keys)}")
print(f" Extra keys: {len(extra_keys)}")
# Add missing keys
if missing_keys:
for key in missing_keys:
# Use source language value as placeholder by default
target_translations[key] = source_translations[key]
print(f" Added {len(missing_keys)} missing keys")
# Ask whether to delete extra keys
if extra_keys:
response = input(f" Delete {len(extra_keys)} extra keys? (y/n): ")
if response.lower().strip() in ['y', 'yes']:
for key in extra_keys:
del target_translations[key]
print(f" Deleted {len(extra_keys)} extra keys")
# Save file (ensure UTF-8, fix for special chars)
with open(target_file, 'w', encoding='utf-8', newline='') as f:
json.dump(target_translations, f, ensure_ascii=False, indent=2)
print(f" Saved: {target_file}")
def main():
parser = argparse.ArgumentParser(description="Translation File Maintenance Helper")
parser.add_argument("--translations-dir", "-t",
default=".config/quickshell/translations",
help="Translation files directory")
parser.add_argument("--source-dir", "-s",
default=".config/quickshell",
help="Source code directory")
parser.add_argument("--clean", "-c", action="store_true",
help="Clean unused translation keys")
parser.add_argument("--sync", action="store_true",
help="Sync translation keys")
parser.add_argument("--source-lang", default="en_US",
help="Source language for syncing (default: en_US)")
parser.add_argument("--no-backup", action="store_true",
help="Do not create backup files when cleaning")
args = parser.parse_args()
# Convert to absolute paths
translations_dir = os.path.abspath(args.translations_dir)
source_dir = os.path.abspath(args.source_dir)
if args.clean:
clean_translation_files(translations_dir, source_dir, backup=not args.no_backup)
elif args.sync:
sync_translations(translations_dir, args.source_lang)
else:
print("Please specify an operation:")
print(" --clean: Clean unused translation keys")
print(" --sync: Sync translation keys")
if __name__ == "__main__":
main()
@@ -0,0 +1,324 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Translation File Management Script
Used to update and extract translatable texts, manage JSON translation file key comparison
"""
import os
import json
import re
import sys
import argparse
from pathlib import Path
from typing import Dict, Set, List, Tuple
import tempfile
import subprocess
class TranslationManager:
def __init__(self, translations_dir: str, source_dir: str):
self.translations_dir = Path(translations_dir)
self.source_dir = Path(source_dir)
self.temp_extracted_file = None
# Ensure translation directory exists
self.translations_dir.mkdir(parents=True, exist_ok=True)
def extract_translatable_texts(self) -> Set[str]:
"""Extract translatable texts from source code"""
translatable_texts = set()
# Search patterns: Translation.tr("text") or Translation.tr('text')
# Improved regex that handles nested quotes correctly
patterns = [
r'Translation\.tr\s*\(\s*(["\'])(((?!\1)[^\\]|\\.)*)(\1)\s*\)', # Double or single quotes with escape support
r'Translation\.tr\s*\(\s*`([^`]*(?:\\.[^`]*)*?)`\s*\)', # Backticks (template strings)
]
# Search all .qml and .js files
file_extensions = ['*.qml', '*.js']
for ext in file_extensions:
for file_path in self.source_dir.rglob(ext):
try:
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
for pattern in patterns:
matches = re.findall(pattern, content, re.MULTILINE | re.DOTALL)
for match in matches:
# Handle different match group structures
if isinstance(match, tuple):
# For improved regex, text is in the second group
if len(match) >= 3:
text = match[1] # Second group is the text content
else:
text = match[0] if match else ""
else:
text = match
try:
if '\\u' in text or '\\x' in text:
clean_text = bytes(text, "utf-8").decode("unicode_escape")
else:
clean_text = (
text.replace('\\n', '\n')
.replace('\\t', '\t')
.replace('\\r', '\r')
.replace('\\"', '"')
.replace('\\\'', "'")
.replace('\\f', '\f')
.replace('\\b', '\b')
.replace('\\\\', '\\')
)
except Exception:
clean_text = text
# Clean text (remove extra whitespace)
clean_text = clean_text.strip()
if clean_text:
translatable_texts.add(clean_text)
except (UnicodeDecodeError, IOError) as e:
print(f"Warning: Cannot read file {file_path}: {e}")
return translatable_texts
def create_temp_translation_file(self, texts: Set[str]) -> str:
"""Create temporary JSON file containing extracted texts"""
temp_data = {}
for text in sorted(texts):
temp_data[text] = text # Key and value are the same, indicating untranslated
# Create temporary file
with tempfile.NamedTemporaryFile(mode='w', suffix='.json', delete=False, encoding='utf-8') as f:
json.dump(temp_data, f, ensure_ascii=False, indent=2)
self.temp_extracted_file = f.name
return self.temp_extracted_file
def load_translation_file(self, lang_code: str) -> Dict[str, str]:
"""Load translation file for specified language"""
file_path = self.translations_dir / f"{lang_code}.json"
if file_path.exists():
try:
with open(file_path, 'r', encoding='utf-8') as f:
return json.load(f)
except (json.JSONDecodeError, IOError) as e:
print(f"Warning: Cannot load translation file {file_path}: {e}")
return {}
return {}
def save_translation_file(self, lang_code: str, translations: Dict[str, str]):
"""Save translation file"""
file_path = self.translations_dir / f"{lang_code}.json"
try:
with open(file_path, 'w', encoding='utf-8') as f:
json.dump(translations, f, ensure_ascii=False, indent=2)
print(f"Translation file saved: {file_path}")
except IOError as e:
print(f"Error: Cannot save translation file {file_path}: {e}")
def get_available_languages(self) -> List[str]:
"""Get list of available languages"""
languages = []
for file_path in self.translations_dir.glob("*.json"):
lang_code = file_path.stem
languages.append(lang_code)
return sorted(languages)
def compare_translations(self, extracted_texts: Set[str], target_lang: str) -> Tuple[Set[str], Set[str]]:
"""Compare extracted texts with existing translation file"""
existing_translations = self.load_translation_file(target_lang)
existing_keys = set(existing_translations.keys())
missing_keys = extracted_texts - existing_keys # Missing keys
extra_keys = existing_keys - extracted_texts # Extra keys
return missing_keys, extra_keys
def interactive_update(self, lang_code: str, missing_keys: Set[str], extra_keys: Set[str]):
"""Interactively update translation file, create backup only if updating"""
translations = self.load_translation_file(lang_code)
modified = False
backup_created = False
# Handle missing keys
if missing_keys:
print(f"\nFound {len(missing_keys)} missing translation keys:")
for i, key in enumerate(sorted(missing_keys), 1):
print(f"{i}. \"{key}\"")
if self.ask_yes_no(f"\nAdd these {len(missing_keys)} missing keys?"):
if not backup_created:
backup_file = self.translations_dir / f"{lang_code}.json.bak"
with open(backup_file, 'w', encoding='utf-8') as f:
json.dump(translations, f, ensure_ascii=False, indent=2)
print(f"Created backup: {backup_file}")
backup_created = True
for key in missing_keys:
translations[key] = key # Default value is the key itself
modified = True
print(f"Added {len(missing_keys)} keys")
# Handle extra keys
if extra_keys:
# Only show extra keys that are not marked with /*keep*/
filtered_extra_keys = [key for key in extra_keys if not (isinstance(translations.get(key, ""), str) and translations.get(key, "").strip().endswith('/*keep*/'))]
if filtered_extra_keys:
print(f"\nFound {len(filtered_extra_keys)} extra translation keys:")
for i, key in enumerate(sorted(filtered_extra_keys), 1):
print(f"{i}. \"{key}\" -> \"{translations.get(key, '')}\"")
if self.ask_yes_no(f"\nDelete these {len(filtered_extra_keys)} extra keys?"):
if not backup_created:
backup_file = self.translations_dir / f"{lang_code}.json.bak"
with open(backup_file, 'w', encoding='utf-8') as f:
json.dump(translations, f, ensure_ascii=False, indent=2)
print(f"Created backup: {backup_file}")
backup_created = True
deleted_count = 0
for key in filtered_extra_keys:
if key in translations:
del translations[key]
modified = True
deleted_count += 1
print(f"Deleted {deleted_count} keys")
# Save changes
if modified:
self.save_translation_file(lang_code, translations)
else:
print("No changes made")
def ask_yes_no(self, question: str) -> bool:
"""Ask user for confirmation"""
while True:
response = input(f"{question} (y/n): ").lower().strip()
if response in ['y', 'yes']:
return True
elif response in ['n', 'no']:
return False
else:
print("Please enter y/yes or n/no")
def cleanup(self):
"""Clean up temporary files"""
if self.temp_extracted_file and os.path.exists(self.temp_extracted_file):
os.unlink(self.temp_extracted_file)
def main():
parser = argparse.ArgumentParser(description="Translation file management tool")
parser.add_argument("--translations-dir", "-t",
default=".config/quickshell/translations",
help="Translation files directory (default: .config/quickshell/translations)")
parser.add_argument("--source-dir", "-s",
default=".config/quickshell",
help="Source code directory (default: .config/quickshell)")
parser.add_argument("--language", "-l",
help="Specify language code to process (e.g., zh_CN)")
parser.add_argument("--extract-only", "-e", action="store_true",
help="Only extract translatable texts to temporary file")
parser.add_argument("--show-temp", action="store_true",
help="Show temporary extracted file content")
args = parser.parse_args()
# Convert to absolute paths
translations_dir = os.path.abspath(args.translations_dir)
source_dir = os.path.abspath(args.source_dir)
print(f"Translation directory: {translations_dir}")
print(f"Source code directory: {source_dir}")
# Check if directories exist
if not os.path.exists(source_dir):
print(f"Error: Source code directory does not exist: {source_dir}")
sys.exit(1)
# Create manager
manager = TranslationManager(translations_dir, source_dir)
try:
# Extract translatable texts
print("\nExtracting translatable texts...")
extracted_texts = manager.extract_translatable_texts()
print(f"Extracted {len(extracted_texts)} translatable texts")
# Create temporary file
temp_file = manager.create_temp_translation_file(extracted_texts)
print(f"Created temporary file: {temp_file}")
if args.show_temp:
print("\nTemporary file contents:")
with open(temp_file, 'r', encoding='utf-8') as f:
print(f.read())
if args.extract_only:
print("Extract-only mode, program finished")
return
# Get available languages
available_languages = manager.get_available_languages()
if args.language:
target_languages = [args.language]
else:
print(f"\nAvailable languages: {', '.join(available_languages) if available_languages else 'None'}")
if not available_languages:
print("No existing translation files found")
lang_input = input("Enter language code to create (e.g.: zh_CN): ").strip()
if lang_input:
target_languages = [lang_input]
else:
print("No language specified, program finished")
return
else:
print("Choose language to process:")
for i, lang in enumerate(available_languages, 1):
print(f"{i}. {lang}")
print("a. Process all languages")
choice = input("Please choose (enter number, language code, or 'a'): ").strip()
if choice.lower() == 'a':
target_languages = available_languages
elif choice.isdigit() and 1 <= int(choice) <= len(available_languages):
target_languages = [available_languages[int(choice) - 1]]
elif choice in available_languages:
target_languages = [choice]
else:
print("Invalid choice, program finished")
return
# Process each language
for lang in target_languages:
print(f"\n{'='*50}")
print(f"Processing language: {lang}")
print('='*50)
missing_keys, extra_keys = manager.compare_translations(extracted_texts, lang)
if not missing_keys and not extra_keys:
print(f"Translation file for language {lang} is already up to date")
continue
print(f"Analysis results:")
print(f" Missing keys: {len(missing_keys)}")
# Load translation file for current lang to get values
current_translations = manager.load_translation_file(lang)
filtered_extra_keys = [key for key in extra_keys if not (isinstance(current_translations.get(key, ""), str) and current_translations.get(key, "").strip().endswith('/*keep*/'))]
ignored_extra_keys = [key for key in extra_keys if (isinstance(current_translations.get(key, ""), str) and current_translations.get(key, "").strip().endswith('/*keep*/'))]
print(f" Extra keys: {len(filtered_extra_keys)}")
if ignored_extra_keys:
print(f" Ignored keys: {len(ignored_extra_keys)} (marked with /*keep*/)")
if missing_keys or extra_keys:
manager.interactive_update(lang, missing_keys, extra_keys)
finally:
# Clean up temporary files
manager.cleanup()
if __name__ == "__main__":
main()
@@ -0,0 +1,342 @@
{
"Mo": "Пн/*keep*/",
"Tu": "Вт/*keep*/",
"We": "Ср/*keep*/",
"Th": "Чт/*keep*/",
"Fr": "Пт/*keep*/",
"Sa": "Сб/*keep*/",
"Su": "Нд/*keep*/",
"%1 characters": "%1 символів",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**Вартість**: безкоштовно. Політика використання даних залежить від параметрів облікового запису OpenRouter.\n\n**Інструкції**: Увійдіть в обліковий запис OpenRouter, перейдіть до розділу «Keys» у верхньому правому меню, натисніть «Create API Key»",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**Вартість**: безкоштовно. Дані використовуються для тренування.\n\n**Інструкції**: Увійдіть в обліковий запис Google, дозвольте AI Studio створити проект Google Cloud або те, що вона попросить, поверніться назад і натисніть Get API key",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Примітки для Zerochan:\n- Ви повинні ввести колір\n- Встановіть ваше ім'я користувача zerochan у параметрі конфігурації `sidebar.booru.zerochan.username`. Якщо ви цього не зробите, вас [може бути заблоковано](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!",
"<i>No further instruction provided</i>": "<i>Подальших інструкцій не надано</i>",
"Action": "Дія",
"Add": "Додати",
"Add task": "Додати завдання",
"All-rounder | Good quality, decent quantity": "Універсальний | Хороша якість, пристойна кількість",
"Allow NSFW": "Дозволити NSFW",
"Allow NSFW content": "Дозволити NSFW вміст",
"Anime": "Аніме",
"Anime boorus": "Аніме боору",
"App": "Програма",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "Стрілки для навігації, Enter для вибору\nНатисніть Esc або будь де щоб скасувати",
"Bluetooth": "Bluetooth",
"Brightness": "Яскравість",
"Cancel": "Скасувати",
"Cheat sheet": "Шпаргалка",
"Choose model": "Виберіть модель",
"Clean stuff | Excellent quality, no NSFW": "Чистий вміст | Відмінна якість, без NSFW",
"Clear": "Очистити",
"Clear chat history": "Очистити історію чату",
"Clear the current list of images": "Очистити поточний список картинок",
"Close": "Закрити",
"Copy": "Копіювати",
"Copy code": "Копіювати код",
"Delete": "Видалити",
"Desktop": "Стільниця",
"Disable NSFW content": "Вимкнути NSFW вміст",
"Done": "Готово",
"Download": "Завантажити",
"Edit": "Редагувати",
"Enter text to translate...": "Введіть текст щоб перекласти...",
"Finished tasks will go here": "Завершені завдання зберігаються тут",
"For desktop wallpapers | Good quality": "На шпалери | Хороша якість",
"For storing API keys and other sensitive information": "Для зберігання API ключів та іншої конфіденційної інформація",
"Game mode": "Ігровий режим",
"Get the next page of results": "Наступна сторінка результатів",
"Hibernate": "Сплячий режим",
"Input": "Ввід",
"Intelligence": "Інтелект",
"Interface": "Інтерфейс",
"Invalid arguments. Must provide `key` and `value`.": "Неправильні аргументи. Повинні бути вказані `key` та `value`.",
"Jump to current month": "Перейти до поточного місяця",
"Keep system awake": "Тримати систему в режимі очікування",
"Large images | God tier quality, no NSFW.": "Великі зображення | Божественна якість, без NSFW.",
"Large language models": "Великі мовні моделі",
"Launch": "Пуск",
"Lock": "Блокувати",
"Logout": "Вийти",
"Markdown test": "Тест Markdown",
"Math result": "Результат обчислень",
"No audio source": "Немає джерела аудіо",
"No media": "Немає медіа",
"No notifications": "Немає сповіщень",
"Not visible to model": "Не видно для моделі",
"Nothing here!": "Тут нічого!",
"Notifications": "Сповіщення",
"OK": "Гаразд",
"Open file link": "Відкрити лінк до файлу",
"Output": "Вивід",
"Reboot": "Перезапуск",
"Reboot to firmware settings": "Перезапуск в параметри UEFI/BIOS",
"Reload Hyprland & Quickshell": "Перезавантажити Hyprland та Quickshell",
"Run": "Виконати",
"Run command": "Виконати команду",
"Save": "Зберегти",
"Save to Downloads": "Зберегти в Завантаження",
"Search": "Пошук",
"Search the web": "Шукати в інтернеті",
"Search, calculate or run": "Шукати, обчислювати або запускати",
"Select Language": "Вибрати мову",
"Session": "Сесія",
"Set API key": "Вказати ключ API",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "Задати температуру (випадковість) моделі. Значення в діапазоні від 0 до 2 для Gemini, від 0 до 1 для інших моделей. Значення за замовчуванням 0.5.",
"Set the current API provider": "Встановити поточного провайдера API",
"Shutdown": "Вимкнути",
"Silent": "Тиша",
"Sleep": "Сон",
"System": "Система",
"Task Manager": "Менеджер завдань",
"Task description": "Опис завдання",
"Temperature must be between 0 and 2": "Температура має бути між 0 та 2",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "Хентай | Велика кількість, багато NSFW, якість сильно варіюється",
"The popular one | Best quantity, but quality can vary wildly": "Популярний | Найкраща кількість, але якість може сильно варіюватись",
"Thinking": "Замислився",
"Translation goes here...": "Переклад буде тут...",
"Translator": "Перекладач",
"Unfinished": "Незавершений",
"Unknown": "Невідмий",
"Unknown Album": "Невідомий Альбои",
"Unknown Artist": "Невідомий Виконавець",
"Unknown Title": "Невідома назва",
"View Markdown source": "Дивитися джерело Markdown",
"Volume": "Гучність",
"Volume mixer": "Мікшер гучності",
"Waifus only | Excellent quality, limited quantity": "Лише вайфу | Відмінна якість, обмежена кількість",
"Waiting for response...": "Чекаємо відповідь...",
"Workspace": "Простір",
"Invalid API provider. Supported: \n-": "Неправильний провайдер API. Підтримується: \n-",
"Unknown command:": "Невідома команда:",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "Введіть /key, щоб почати роботу з онлайн моделями\nCtrl+O, щоб розгорнути бічну панель\nCtrl+P, щоб прибрати бічну панель у вікно",
"Provider set to": "Провайдер виставлений на",
"Invalid model. Supported: \n```": "Неправельна модель. Підтримується: \n```",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "Це не спрацювало. Поради:\n- Перевірте свої теги та параметри NSFW\n- Якщо ви не знаєте тега, введіть номер сторінки",
"Switched to search mode. Continue with the user's request.": "Перейшли в режим пошуку. Продовження пошуку за запитом користувача.",
"Settings": "Параметри",
"Save chat": "Зберегти чат",
"Load chat": "Завантажити чат",
"or": "або",
"Set the system prompt for the model.": "Встановіть системний запит для моделі.",
"To Do": "Зробити",
"Calendar": "Календар",
"Advanced": "Розширені",
"About": "Про",
"Services": "Сервіси",
"Style": "Стиль",
"Edit config": "Редагувати конфігурацію",
"Colors & Wallpaper": "Кольори та Шпалери",
"Light": "Світла",
"Dark": "Темна",
"Material palette": "Палітра кольорів",
"Fidelity": "Вірність",
"Fruit Salad": "Фруктовий салат",
"Alternatively use /dark, /light, /img in the launcher": "Або використовуйте /dark, /light, /img у лаунчері",
"Fake screen rounding": "Фальшиві заокруглення екрану",
"When not fullscreen": "Коли не на весь екран",
"Choose file": "Вибрати файл",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Випадкові SFW аніме шпалери від Konachan\nЗображення збережено до ~/Pictures/Wallpapers",
"Be patient...": "Потерпіть...",
"Decorations & Effects": "Декорації та ефекти",
"Tonal Spot": "Тональна пляма",
"Shell windows": "Вікна оболонки",
"Auto": "Авто",
"Wallpaper": "Шпалери",
"Content": "Вміст",
"Title bar": "Заголовок",
"Transparency": "Прозорість",
"Expressive": "Виразний",
"Yes": "Так",
"Enable": "Увімкнути",
"Rainbow": "Веселка",
"Might look ass. Unsupported.": "Виглядатиме дурновато. Не підтримується.",
"Monochrome": "Монохромний",
"Random: Konachan": "Випадково: Konachan",
"Center title": "Назва по центру",
"Neutral": "Нейтральний",
"Pick wallpaper image on your system": "Виберіть зображення шпалер на вашому комп'ютері",
"No": "Ні",
"AI": "ШІ",
"Local only": "Лише локально",
"Policies": "Політика",
"Weeb": "Віабу",
"Closet": "Шафа",
"Bar style": "Стиль заголовку",
"Show next time": "Показати пізніше",
"Usage": "Використання",
"Plain rectangle": "Звичайний квадрат",
"Useless buttons": "Безкорисні кнопки",
"GitHub": "GitHub",
"Style & wallpaper": "Стиль та шпалери",
"Configuration": "Конфігурація",
"Change any time later with /dark, /light, /img in the launcher": "Змініть будь-коли пізніше за допомогою /dark, /light, /img у лаунчері",
"Keybinds": "Комбінації клавіш",
"Float": "Плаваюче",
"Hug": "Обійми",
"Yooooo hi there": "Йоооо, привіт",
"illogical-impulse Welcome": "illogical-impulse Вітаємо",
"Info": "Інфо",
"Volume limit": "Обмеження гучності",
"Prevents abrupt increments and restricts volume limit": "Запобігає різкому збільшенню та обмежує ліміт гучності",
"Resources": "Ресурси",
"12h am/pm": "12г AM/PM",
"Base URL": "Базовий лінк",
"Audio": "Аудіо",
"Networking": "Мережування",
"Format": "Формат",
"Time": "Час",
"Battery": "Батарея",
"Prefixes": "Префікси",
"Emojis": "Емодзі",
"Earbang protection": "Захист навушників",
"Automatically suspends the system when battery is low": "Автоматично призупиняє роботу системи, коли батарея розряджається",
"Automatic suspend": "Автоматична зупинка",
"Suspend at": "Зупиняти на",
"Max allowed increase": "Максимально допустимий приріст",
"Web search": "Пошук в інтернеті",
"Polling interval (ms)": "Інтервал між опитуваннями (мс)",
"Clipboard": "Буфер обміну",
"Low warning": "Незначні попередження",
"24h": "24г",
"Use Levenshtein distance-based algorithm instead of fuzzy": "Використовуйте алгоритм на основі відстані Левенштейна замість нечіткого",
"System prompt": "Системний запит",
"12h AM/PM": "12г AM/PM",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "Було б краще, якби ви зробили купу помилок,\nале результати можуть бути дивними і не працювати з абревіатурами\n(наприклад, «GIMP» може не вивести програму для малювання).",
"Critical warning": "Критичні попередження",
"User agent (for services that require it)": "User agent (для сервісів де це потрібно)",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Такими областями можуть бути зображення або частини екрана, які мають певні обмеження.\nМоже бути не завжди точним.\nЦе робиться за допомогою алгоритму обробки зображень, запущеного локально, і не використовується ШІ.",
"Note: turning off can hurt readability": "Примітка: вимкнення може погіршити читабельність",
"Workspaces shown": "Показані простори",
"Dark/Light toggle": "Перемикач Світлої/Темної",
"Dock": "Лоток",
"Weather": "Погода",
"Pinned on startup": "Прикріплено до запуску",
"Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience": "Порада: приховуйте іконки і завжди показуйте цифри для класичного досвіду illogical-impulse",
"Appearance": "Вигляд",
"Always show numbers": "Завжди показувати номери",
"Buttons": "Кнопки",
"Keyboard toggle": "Перемикання клавіатури",
"Scale (%)": "Розмір (%)",
"Overview": "Огляд",
"Rows": "Рядки",
"Borderless": "Без меж",
"Screenshot tool": "Інструмент створення скріншотів",
"Number show delay when pressing Super (ms)": "Затримка відображення номера при натисканні клавіші Super (мс)",
"Timeout (ms)": "Тайм-аут (ms)",
"Show app icons": "Показувати іконки програм",
"Workspaces": "Простори",
"Columns": "Стовбці",
"On-screen display": "Екранний дисплей",
"Screen snip": "Скріншот",
"Mic toggle": "Перемикач мікрофону",
"Hover to reveal": "Наведіть курсор, щоб відкрити",
"Bar": "Панель",
"Show background": "Показувати задній фон",
"Show regions of potential interest": "Показати регіони потенційного інтересу",
"Color picker": "Вибір кольору",
"Help & Support": "Допомога та підтримка",
"Discussions": "Дискусії",
"Color generation": "Генератор кольорів",
"Dotfiles": "Дотфайли",
"Distro": "Дистрибютив",
"Privacy Policy": "Політика Конфіденційності",
"Documentation": "Документація",
"Shell & utilities theming must also be enabled": "Тему оболонки та утиліт також слід увімкнути",
"illogical-impulse": "illogical-impulse",
"Donate": "Донат",
"Terminal": "Термінал",
"Shell & utilities": "Оболонка та утиліти",
"Qt apps": "Програми Qt",
"Report a Bug": "Повідомити про помилку",
"Issues": "Проблеми",
"Drag or click a region • LMB: Copy • RMB: Edit": "Перетягніть або клацніть регіон - LMB: Копіювати - RMB: Редагувати",
"Current model: %1\nSet it with %2model MODEL": "Поточна модель: %1\nЗадати її за допомогою %2model МОДЕЛЬ",
"Message the model... \"%1\" for commands": "Написати моделі... «%1» для команд",
"No API key set for %1": "Немає вказаного API ключач для %1",
"Loaded the following system prompt\n\n---\n\n%1": "Завантажився наступний системний запит\n\n---\n\n%1",
"%1 | Right-click to configure": "%1 | ПКМ для налаштування",
"API key set for %1": "ключ API вказано для %1",
"Online via %1 | %2's model": "Онлайн через %1 | %2's модель",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "Поточна кінцева точка API: %1\nВстановіть її за допомогою %2mode ПРОВАЙТЕР",
"Go to source (%1)": "До джерела (%1)",
"Temperature set to %1": "Температура виставлена на %1",
"Enter tags, or \"%1\" for commands": "Напишіть тег або \"%1\" для команд",
"%1 queries pending": "%1 запитів на розгляді",
"API key:\n\n```txt\n%1\n```": "ключ API:\n\n```txt\n%1\n```",
"Uptime: %1": "Активно: %1",
"%1 Safe Storage": "%1 Надійне зберігання",
"%1 does not require an API key": "%1 не потребує API ключа",
"Temperature: %1": "температура: %1",
"Model set to %1": "Модель встановлена на %1",
"Page %1": "Сторінка %1",
"Local Ollama model | %1": "Локальна модель Оллама | %1",
"The current system prompt is\n\n---\n\n%1": "Поточний запит системи\n\n---\n\n%1",
"Unknown function call: %1": "Невідомий виклик функції: %1",
"%1 notifications": "%1 сповіщень",
"Load chat from %1": "Завантажено чат з %1",
"Load prompt from %1": "Завантажено запит з %1",
"Save chat to %1": "Зберегти чат до %1",
"Weather Service": "Сервіс погоди",
"Cannot find a GPS service. Using the fallback method instead.": "Не вдається знайти службу GPS. Замість цього використовується резервний метод.",
"Critically low battery": "Критичний рівень заряду батареї",
"Select output device": "Виберіть вихідний пристрій",
"Code saved to file": "Код збережений у файл",
"Online models disallowed\n\nControlled by `policies.ai` config option": "Онлайн-моделі заборонено\n\nКерується параметром конфігурації `policies.ai`",
"Scroll to change volume": "Прокрутіть, щоб змінити гучність",
"Elements": "Елементи",
"%1 • %2 tasks": "%1 • %2 завдань",
"Download complete": "Завантаження завершено",
"Please charge!\nAutomatic suspend triggers at %1": "Будь ласка, зарядіть! \nАвтоматичне призупинення спрацьовування при %1",
"Cloudflare WARP": "Cloudflare WARP",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Scroll to change brightness": "Прокрутіть щоб змінити яскравість",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "Помилка зєднання. Перевірте самостійно за допомогою команди <tt>warp-cli</tt>",
"Select input device": "Виберіть вхідний пристрій",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "Помилка реєстрації. Перевірте самостійно за допомогою команди <tt>warp-cli</tt>",
"Consider plugging in your device": "Подумайте про те, щоб підключити свій пристрій",
"Low battery": "Низький заряд батареї",
"Saved to %1": "Збережено до %1",
"Sunset": "Захід сонця",
"UV Index": "Індекс UV",
"Humidity": "Вологість",
"Wind": "Вітер",
"Sunrise": "Світанок",
"Pressure": "Тиск",
"Visibility": "Видимість",
"Precipitation": "Опади",
"No API key\nSet it with /key YOUR_API_KEY": "Немає API ключа\nВстановіть його можна командою /key YOUR_API_KEY",
"Your package manager is running": "Ваш пакетний менеджер запущено",
"Night Light | Right-click to toggle Auto mode": "Нічне світло | ПКМ щоб увімкнути автоматичний режим",
"Gives the model search capabilities (immediately)": "Надає можливість пошуку моделі (негайно)",
"Depends on workspace": "Залежно від простору",
"Invalid arguments. Must provide `command`.": "Неправельні параметри. Потрібно вказати `command`.",
"Temperature\nChange with /temp VALUE": "Температура\nЗмінити можна командою /temp ЗНАЧЕННЯ",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "Онлайн | Модель Google\nСучасна багатоцільова модель Google, яка чудово справляється з кодуванням і складними завданнями на міркування.",
"EasyEffects | Right-click to configure": "EasyEffects | ПКМ щоб налаштувати",
"Thought": "Думка",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "Онлайн | Модель Google \nМодель Gemini 2.5 Flash оптимізована для економічної ефективності та високої пропускної здатності.",
"API key is set\nChange with /key YOUR_API_KEY": "API ключ встановлено\nЗмінити можна командою /key YOUR_API_KEY",
"Current tool: %1\nSet it with %2tool TOOL": "Поточний інструмент: %1\nВстановіть його командою %2tool TOOL",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**Інструкції**: Увійдіть в обліковий запис Mistral, перейдіть до розділу «Keys» на бічній панелі, натисніть «Create new key»",
"Usage: %1tool TOOL_NAME": "Використання: %1tool TOOL_NAME",
"Online | Google's model\nFast, can perform searches for up-to-date information": "Онлайн | модель Google \nШвидкий, може здійснювати пошук актуальної інформації",
"Approve": "Схвалити",
"Preferred wallpaper zoom (%)": "Бажаний маштаб шпалер (%)",
"Performance Profile toggle": "Перемикач профілю продуктивності",
"Total token count\nInput: %1\nOutput: %2": "Загальна кількість токенів\nВхідні: %1\nВихідні: %2",
"Wallpaper parallax": "Обємні шпалери",
"Invalid tool. Supported tools:\n- %1": "Неправельний інструмент. Підтримуються:\n- %1",
"Usage: %1load CHAT_NAME": "Виокристання: %1load CHAT_NAME",
"Reject": "Відхилити",
"Usage: %1save CHAT_NAME": "Використання: %1save CHAT_NAME",
"Set the tool to use for the model.": "Вкажіть інструмент для роботи з моделью",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Онлайн | %1's модель | Надає швидкі, чуйні та добре відформатовані відповіді. Недоліки: не дуже охоче виконує завдання; може вигадувати виклики невідомих функцій",
"Depends on sidebars": "Залежно від бокових панелей",
"Command rejected by user": "Команда відхилена користувачем",
"There might be a download in progress": "Можливо, триває завантаження",
"Disable tools": "Вимкнути інструмент",
"Tool set to: %1": "Інструмет вказано: %1",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "Команди, редагування конфігурацій, пошук.\nВиконує додаткову дію для переходу в режим пошуку, якщо це потрібно",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "Щоб задати ключ API, передайте його командою %4\n\nЩоб переглянути ключ, передайте \"get\" командою<br/>\n\n### Для %1:\n\n**Лінк**: %2\n\n%3",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "Онлайн | Модель Google\nНовіша модель, яка повільніша за свою попередницю, але має надавати якісніші відповіді"
}
@@ -0,0 +1,373 @@
{
"Unknown function call: %1": "Hàm không xác định: %1",
"Show next time": "Hiển thị lần sau",
"Fidelity": "Khá giống gốc",
"Open file link": "Mở liên kết tệp",
"Interrupts possibility of overview being toggled on release.": "Ngăn mở overview khi nhả nút.",
"No audio source": "Không có nguồn âm thanh",
"Might look ass. Unsupported.": "Có thể rất tệ. Không được hỗ trợ.",
"Jump to current month": "Nhảy đến tháng hiện tại",
"Delete": "Xóa",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**Giá**: miễn phí. Dữ liệu được sử dụng cho mục đích huấn luyện. **Hướng dẫn**: Đăng nhập vào tài khoản Google, cho phép AI Studio tạo dự án Google Cloud gì đó, quay lại rồi ấn Get API key",
"Rainbow": "Cầu vồng",
"%1 does not require an API key": "%1 không cần API key",
"Choose model": "Chọn model",
"Prevents abrupt increments and restricts volume limit": "Chặn thay đổi đột ngột và giới hạn âm lượng",
"%1 characters": "%1 ký tự",
"Change any time later with /dark, /light, /img in the launcher": "Thay đổi bất cứ lúc nào sau này với /dark, /light, /img trong launcher",
"Tonal Spot": "Tonal Spot",
"Neutral": "Trung tính",
"To Do": "Cần làm",
"Auto": "Tự động",
"Polling interval (ms)": "Thời gian lặp lại (ms)",
"Center title": "Căn giữa tiêu đề",
"Lock": "Khóa màn hình",
"Screen snip": "Chụp màn hình (chọn vùng)",
"User agent (for services that require it)": "User agent (nếu cần)",
"Report a Bug": "Báo lỗi",
"Shutdown": "Tắt máy",
"Keyboard toggle": "Mở/đóng bàn phím ảo",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "Cái nhiều hentai nhất | Số lượng rất tốt, rất nhiều NSFW, chất lượng có thể khác nhau nhiều",
"Download": "Tải xuống",
"Note: turning off can hurt readability": "Ghi chú: nếu tắt có thể khó đọc",
"Local Ollama model | %1": "Model Ollama trên máy | %1",
"Silent": "Im lặng",
"Columns": "Số cột",
"Set with /mode PROVIDER": "Set with /mode PROVIDER",
"Issues": "Các vấn đề",
"Policies": "Chính sách",
"Load chat from %1": "Tải trò chuyện từ %1",
"Unknown Album": "Album không xác định",
"Yes": "Có",
"Battery": "Pin",
"Material palette": "Kiểu material",
"Chain of Thought": "Dòng suy nghĩ",
"This is necessary because GlobalShortcut.onReleased in quickshell triggers whether or not you press something else while holding the key.": "Cần cái này vì GlobalShortcut.onReleased cho một phím của Quickshell được kích hoạt kể cả khi ban ân phím khác trước khi thả phím đó.",
"Low warning": "Cảnh báo thấp",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Với Zerochan:\n- Hãy nhập tên một màu (bằng tiếng Anh)\n- Đặt username Zerochan trong tùy chọn `sidebar.booru.zerochan.username`. Bạn [có thể bị ban nếu không tuân thủ](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!",
"Brightness": "Độ sáng",
"Yooooo hi there": "Yooooo chào bạn",
"Colors & Wallpaper": "Màu sắc & Hình nền",
"No media": "Không có media",
"Critical warning": "Cảnh báo rất thấp",
"Mic toggle": "Bật/tắt mic",
"12h AM/PM": "12h AM/PM",
"Large language models": "Mô hình ngôn ngữ lớn",
"Markdown test": "Test markdown",
"Temperature: %1": "Nhiệt độ: %1",
"Edit": "Sửa",
"Waifus only | Excellent quality, limited quantity": "Chỉ waifus | Chất lượng xuất sắc, số lượng hạn chế",
"Cheat sheet": "Bảng tra cứu",
"Current model: %1\nSet it with %2model MODEL": "Model đang chọn: %1\nChọn với lệnh %2model MODEL",
"Provider set to": "Đã đặt nhà cung cấp thành",
"Clear": "Xóa hết",
"GitHub": "GitHub",
"App": "Ứng dụng",
"Title bar": "Thanh tiêu đề",
"Web search": "Tìm kiếm web",
"Invalid model. Supported: \n```": "Model không hợp lệ. Các lựa chọn: \n```",
"Calendar": "Lịch",
"Done": "Đã xong",
"Monochrome": "Đen trắng",
"Show regions of potential interest": "Hiển thị vùng thông minh",
"Dark/Light toggle": "Chuyển chế độ sáng/tối",
"Unknown command:": "Lệnh không xác định:",
"Allow NSFW content": "Cho phép nội dung NSFW",
"Closes cheatsheet on press": "Đóng bảng tra cứu khi ấn",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "Chỉnh giá trị nhiệt độ (sự ngẫu nhiên) của model. Giá trị 0-2 với Gemini, 0-1 với các model khác. Mặc định là 0.5.",
"Invalid API provider. Supported: \n-": "Nhà cung cấp API không hợp lệ. Các lựa chọn: \n-",
"Shell windows": "Cửa sổ của shell",
"Loaded the following system prompt\n\n---\n\n%1": "Đã tải chỉ dẫn hệ thống sau đây\n\n---\n\n%1",
"Clipboard": "Clipboard",
"For storing API keys and other sensitive information": "Để lưu trữ API key và các thông tin nhạy cảm khác",
"Wallpaper": "Hình nền",
"Decorations & Effects": "Trang trí & Hiệu ứng",
"AI": "AI",
"Large images | God tier quality, no NSFW.": "Ảnh kích thước lớn | Chất lượng cực tốt, không có NSFW.",
"When not fullscreen": "Khi không toàn màn hình",
"Resources": "Tài nguyên",
"Light": "Sáng",
"Weeb": "Wibu",
"Disable NSFW content": "Tắt nội dung NSFW",
"OK": "OK",
"Screenshot tool": "Công cụ chụp màn hình",
"Enable": "Bật",
"Select Language": "Chọn ngôn ngữ",
"System": "Hệ thống",
"Emojis": "Emoji",
"The current system prompt is\n\n---\n\n%1": "Chỉ dẫn hệ thống hiện tại như sau\n\n---\n\n%1",
"Translator": "Dịch",
"Sleep": "Ngủ",
"Action": "Hành động",
"Audio": "Âm thanh",
"Show background": "Hiện nền",
"All-rounder | Good quality, decent quantity": "Tốt đều | Chất lượng tốt, số lượng ổn",
"Documentation": "Tài liệu",
"Terminal": "Terminal",
"Distro": "Distro",
"Clear chat history": "Xóa lịch sử trò chuyện",
"Float": "Nổi",
"<i>No further instruction provided</i>": "<i>No further instruction provided</i>",
"Choose file": "Chọn tệp",
"Set the system prompt for the model.": "Đặt chỉ dẫn hệ thống cho model.",
"Unknown Title": "Bài hát không rõ tên",
"Math result": "Kết quả phép tính",
"Logout": "Đăng xuất",
"Privacy Policy": "Chính sách quyền riêng tư",
"Style": "Phong cách",
"Borderless": "Không viền",
"Set API key": "Đặt API key",
"Clean stuff | Excellent quality, no NSFW": "Sạch sẽ | Chất lượng xuất sắc, không có NSFW",
"Experimental | Online | Google's model\nCan do a little more but doesn't search quickly": "Thử nghiệm | Trực tuyến | Model của Google\nCó thể làm nhiều hơn một chút nhưng không tìm kiếm nhanh chóng",
"Toggles cheatsheet on press": "Mở/đóng bảng tra cứu khi ấn",
"Thinking": "Đang nghĩ",
"Earbang protection": "Bảo vệ tai",
"Advanced": "Nâng cao",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "Có thể tốt hơn nếu bạn gõ lệch phím nhiều,\nnhưng kết quả có thể hơi lạ và không hoạt động tốt với từ viết tắt\n(ví dụ tìm \"GIMP\" có thể không ra cái chương trình vẽ)",
"Shell & utilities theming must also be enabled": "Cần Shell & công cụ cũng bật",
"Desktop": "Màn hình chính",
"Anime": "Anime",
"Qt apps": "Các ứng dụng Qt",
"Style & wallpaper": "Phong cách & hình nền",
"Finished tasks will go here": "Việc đã xong sẽ hiện ở đây",
"Weather": "Thời tiết",
"Settings": "Cài đặt",
"Shell & utilities": "Shell & tiện ích",
"Unfinished": "Chưa xong",
"Random: Konachan": "Ngẫu nhiên: Konachan",
"Pick wallpaper image on your system": "Chọn hình nền trên máy",
"Volume": "Âm lượng",
"Add": "Thêm",
"Hibernate": "Ngủ đông",
"Run": "Chạy",
"Keep system awake": "Giữ hệ thống bật",
"To make sure this works consistently, use binditn = MODKEYS, catchall in an automatically triggered submap that includes everything.": "Để đảm bảo luôn hoạt động, dùng binditn = MODKEYS, catchall trong một submap luôn được kích hoạt bao trùm mọi thứ.",
"Plain rectangle": "Hình chữ nhật",
"%1 queries pending": "%1 lệnh gọi đang chờ",
"Temperature set to %1": "Nhiệt độ đã được đặt thành %1",
"Notifications": "Thông báo",
"System prompt": "Chỉ dẫn hệ thống",
"Hover to reveal": "Đặt chuột vào để hiện",
"No": "Không",
"Bar": "Bar",
"Search the web": "Tìm kiếm web",
"Page %1": "Trang %1",
"Reboot": "Khởi động lại",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "Các vùng có thể là hình ảnh hoặc phần của màn hình cớ vẻ được bao chứa.\nKhông luôn chính xác.\nSử dụng một thuật toán xử lý ảnh chạy trên máy, không dùng AI.",
"Show app icons": "Hiện biểu tượng ứng dụng",
"Closet": "Nghiện mà ngại",
"Set the current API provider": "Đặt nguồn cung cấp API",
"Cancel": "Hủy",
"Networking": "Mạng",
"Overview": "Overview",
"Search, calculate or run": "Tìm, tính hoặc chạy",
"Useless buttons": "Mấy nút vô dụng",
"Transparency": "Sự trong suốt",
"Temperature must be between 0 and 2": "Nhiệt độ phải trong khoảng từ 0 đến 2",
"Automatically suspends the system when battery is low": "Tự động ngủ khi pin thấp",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "Endpoint API hiện tại: %1\nĐặt với lệnh %2mode PROVIDER",
"Services": "Các dịch vụ",
"Reload Hyprland & Quickshell": "Tải lại Hyprland & Quickshell",
"Automatic suspend": "Tự động ngủ",
"illogical-impulse Welcome": "illogical-impulse - Xin chào",
"Interface": "Giao diện",
"Load chat": "Tải cuộc trò chuyện",
"Number show delay when pressing Super (ms)": "Thời gian chờ hiện số khi nhấn Super (ms)",
"Clear the current list of images": "Xóa danh sách hình ảnh hiện tại",
"Fake screen rounding": "Giả bo tròn màn hình",
"Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience": "Mẹo: Ẩn biểu tượng và luôn hiển thị số nếu\nmuốn giống trải nghiệm illogical-impulse gốc",
"Launch": "Chạy",
"%1 notifications": "%1 thông báo",
"%1 | Right-click to configure": "%1 | Ấn chuột phải để chỉnh",
"Unknown Artist": "Nghệ sĩ không xác định",
"Appearance": "Giao diện",
"Task Manager": "Quản lí ứng dụng đang chạy",
"To set an API key, pass it with the command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "Để đặt API key, viết nó sau lệnh\n\nĐể xem lại, viết \"get\" sau lệnh<br/>\n\n### Với %1:\n\n**Link**: %2\n\n%3",
"Opens cheatsheet on press": "Mở bảng tra cứu khi ấn",
"Invalid arguments. Must provide `key` and `value`.": "Biến không hợp lệ. cần cả `key` và `value`.",
"About": "Giới thiệu",
"illogical-impulse": "illogical-impulse",
"Help & Support": "Trợ giúp",
"Enter tags, or \"%1\" for commands": "Nhập tag hoặc \"%1\" để xem các lệnh",
"Format": "Định dạng",
"Content": "Giống gốc",
"Edit config": "Sửa config",
"Bluetooth": "Bluetooth",
"Be patient...": "Bình tĩnh...",
"Discussions": "Thảo luận",
"Anime boorus": "Các booru anime",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "Quả này không được. Mẹo:\n- Kiểm tra tag và cài đặt NSFW\n- Nếu không nghĩ ra tag nào có thể nhập số trang",
"Task description": "Mô tả công việc",
"Max allowed increase": "Thay đổi tối đa",
"Rows": "Số hàng",
"Switched to search mode. Continue with the user's request.": "Đã chuyển sang chế độ tìm kiếm. Tiếp tục với yêu cầu của người dùng.",
"Use Levenshtein distance-based algorithm instead of fuzzy": "Sử dụng thuật toán dùng khoảng cách Levenshtein thay vì fuzzy",
"Copy": "Sao chép",
"12h am/pm": "12h am/pm",
"Unknown": "Không xác định",
"Waiting for response...": "Đang chờ phản hồi...",
"Workspace": "Workspace",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "Hình nền Anime SFW ngẫu nhiên từ Konachan\nẢnh được lưu vào ~/Pictures/Wallpapers",
"Online via %1 | %2's model": "Trực tuyến qua %1 | Model của %2",
"Always show numbers": "Luôn hiện số",
"or": "hoặc",
"Drag or click a region • LMB: Copy • RMB: Edit": "Kéo thả hoặc chọn vùng • Chuột trái: Sao chép • Chuột phải: Chỉnh sửa",
"Local only": "Chỉ trên máy",
"Donate": "Ủng hộ",
"Online | Google's model\nGives up-to-date information with search.": "Trực tuyến | Model của Google\nCó thể tìm kiếm để cung cấp thông tin cập nhật.",
"Run command": "Chạy lệnh",
"Dotfiles": "Dotfiles",
"Volume limit": "Giới hạn âm lượng",
"On-screen display": "Âm lượng/độ sáng",
"Reboot to firmware settings": "Khởi động lại vào cài đặt firmware",
"Workspaces shown": "Số workspace hiển thị",
"Save": "Lưu",
"The popular one | Best quantity, but quality can vary wildly": "Phổ biến | Số lượng tốt nhất, nhưng chất lượng không biết đâu vào đâu",
"Save chat": "Lưu cuộc trò chuyện",
"Intelligence": "Trí tuệ",
"Translation goes here...": "Bản dịch sẽ hiện ở đây...",
"Toggle clipboard query on overview widget": "Mở/đóng tìm kiếm clipboard trên overview",
"Search": "Tìm kiếm",
"Timeout (ms)": "Thời gian chờ (ms)",
"24h": "24h",
"Color picker": "Chọn màu",
"Save to Downloads": "Lưu vào Downloads",
"No notifications": "Không có thông báo",
"Game mode": "Chế độ game",
"Alternatively use /dark, /light, /img in the launcher": "Có thể dùng /dark, /light, /img trong launcher",
"Info": "Thông tin",
"Dock": "Dock",
"Pinned on startup": "Ghim khi khởi động",
"Suspend at": "Tạm dừng ở",
"Fruit Salad": "Salad hoa quả",
"API key:\n\n```txt\n%1\n```": "API key:\n\n```txt\n%1\n```",
"API key set for %1": "API key đã đặt cho %1",
"Not visible to model": "Không hiển thị cho model",
"Expressive": "Biểu cảm",
"Enter text to translate...": "Nhập văn bản để dịch...",
"Usage": "Cách dùng",
"Message the model... \"%1\" for commands": "Hỏi model... \"%1\" để xem lệnh",
"Keybinds": "Phím tắt",
"Model set to %1": "Đã đặt model thành %1",
"Scale (%)": "Tỉ lệ (%)",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "Gõ /key để bắt đầu dùng các model trực tuyến\nCtrl+O để mở rộng sidebar\nCtrl+P để nhấc sidebar thành cửa sổ",
"Output": "Đầu ra",
"Uptime: %1": "Máy bật được %1",
"For desktop wallpapers | Good quality": "Cho hình nền máy tính | Chất lượng tốt",
"Nothing here!": "Không có gì ở đây!",
"Close": "Đóng",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "Phím mũi tên để chọn, Enter để xác nhận\nEsc hoặc ấn bất kỳ đâu để thoát",
"Copy code": "Sao chép code",
"Load prompt from %1": "Tải chỉ dẫn từ %1",
"Time": "Thời gian",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**Giá**: miễn phí. Chính sách sử dụng dữ liệu tùy thuộc vào cài đặt tài khoản OpenRouter của bạn.\n\n**Hướng dẫn**: Đăng nhập vào tài khoản OpenRouter, mở Keys ở menu góc trên bên phải, ấn Create API Key",
"Bar style": "Phong cách bar",
"Configuration": "Cài đặt",
"Prefixes": "Kí tự đầu",
"No API key set for %1": "Không có API key cho %1",
"Add task": "Thêm công việc",
"Volume mixer": "Trộn âm lượng",
"Go to source (%1)": "Đi đến nguồn (%1)",
"The current API used. Endpoint:": "API đang sử dụng. Endpoint:",
"View Markdown source": "Xem nguồn Markdown",
"Input": "Đầu vào",
"Allow NSFW": "Cho phép NSFW",
"Session": "Session",
"Detach left sidebar into a window/Attach it back": "Nhấc sidebar trái thành cửa sổ/Đặt nó lại",
"Night Light": "Lọc ánh sáng xanh",
"Workspaces": "Các workspace",
"Dark": "Tối",
"Base URL": "Base URL",
"Hug": "Ôm",
"Buttons": "Các nút",
"Get the next page of results": "Lấy trang kết quả tiếp theo",
"%1 Safe Storage": "Lưu trữ an toàn %1",
"Color generation": "Chỉnh màu",
"Select output device": "Chọn đầu ra",
"Select input device": "Chọn đầu vào",
"%1 • %2 tasks": "%1 • %2 việc cần làm",
"Online models disallowed\n\nControlled by `policies.ai` config option": "Model trực tuyến không được cho phép\n\nCài đặt bởi lựa chọn `policies.ai`",
"Download complete": "Đã tải xong",
"Code saved to file": "Code đã lưu vào file",
"Critically low battery": "Pin rất thấp",
"Scroll to change brightness": "Cuộn để thay đổi độ sáng",
"Cloudflare WARP": "Cloudflare WARP",
"Toggles bar on press": "Mở/đóng bar khi ấn",
"Saved to %1": "Đã lưu vào %1",
"Elements": "Nguyên tố",
"Save chat to %1": "Lưu chat vào %1",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "Kết nối không thành công. Hãy xem lại với lệnh <tt>warp-cli</tt>",
"Weather Service": "Thời tiết",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "Đăng ký không thành công. Hãy xem lại với lệnh <tt>warp-cli</tt>",
"Consider plugging in your device": "Hãy cắm nguồn thiết bị của bạn",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Cannot find a GPS service. Using the fallback method instead.": "Không tìm thấy dịch vụ GPS. Đang sử dụng phương pháp dự phòng.",
"Opens bar on press": "Mở bar khi ấn",
"Low battery": "Pin yếu",
"Scroll to change volume": "Cuộn để thay đổi âm lượng",
"Please charge!\nAutomatic suspend triggers at %1": "Hãy sạc pin!\nHệ thống sẽ tự động ngủ khi pin xuống %1",
"Closes bar on press": "Đóng bar khi ấn",
"Mo": "T2/*keep*/",
"Tu": "T3/*keep*/",
"We": "T4/*keep*/",
"Th": "T5/*keep*/",
"Fr": "T6/*keep*/",
"Sa": "T7/*keep*/",
"Su": "CN/*keep*/",
"Approve": "Chấp nhận",
"Set the tool to use for the model.": "Chọn công cụ để sử dụng với model.",
"No API key\nSet it with /key YOUR_API_KEY": "Không có API key\nĐặt bằng /key API_KEY",
"API Key": "API Key",
"EasyEffects | Right-click to configure": "EasyEffects | Ấn chuột phải để chỉnh cài đặt",
"API key is set": "API key đã đặt",
"Invalid tool. Supported tools:\n- %1": "Công cụ không hợp lệ. Các lựa chọn:\n- %1",
"Thought": "Suy nghĩ",
"Current tool: %1\nSet it with %2tool TOOL": "Công cụ: %1\nĐặt bằng %2tool CÔNG_CỤ",
"Edit shell config file": "Chỉnh file config của shell",
"A download might be in progress": "Có thể có tệp đang tải",
"API key is set\nChange with /key YOUR_API_KEY": "API key đã đặt\nThay đổi bằng /key API_KEY",
"Temperature\nChange with /temp VALUE": "Nhiệt độ (độ ngẫu nhiên)\nThay đổi bằng /temp GIÁ_TRỊ",
"Your package manager is running": "Package manager đang chạy",
"Usage: %1load CHAT_NAME": "Hướng dẫn: %1load TÊN_ĐOẠN_CHAT",
"Cannot switch to search mode from %1": "Không thể chuyển sang chế độ tìm kiếm từ %1",
"UV Index": "Chỉ số UV",
"Online | Google's model\nFast, can perform searches for up-to-date information": "Trực tuyến | Model của Google\nNhanh, có thể tìm kiếm Google để lấy thông tin cập nhật",
"Token count": "Số lượng token",
"Experimental | Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "Thử nghiệm | Trực tuyến | Model của Google\nModel Gemini 2.5 Flash tối ưu hóa cho hiệu quả chi phí và băng thông.",
"Wallpaper parallax": "Hiệu ứng parallax (hình nền)",
"Usage: %1tool TOOL_NAME": "Hướng dẫn: %1tool TÊN_CÔNG_CỤ",
"Humidity": "Độ ẩm",
"Invalid tool. Supported tools: %1": "Công cụ không hợp lệ. Các lựa chọn: %1",
"Sunset": "Hoàng hôn",
"Total token count\nInput: %1\nOutput: %2": "Số lượng token\nInput: %1\nOutput: %2",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "Trực tuyến | Model của Google\nModel Gemini 2.5 Flash tối ưu hóa cho hiệu quả chi phí và băng thông.",
"Visibility": "Tầm nhìn",
"Pressure": "Áp suất",
"Depends on workspace": "Phụ thuộc vào workspace",
"Reject": "Từ chối",
"Precipitation": "Lượng mưa",
"Wind": "Gió",
"Usage: %1save CHAT_NAME": "Hướng dẫn: %1save TÊN_ĐOẠN_CHAT",
"Enable EasyEffects": "Bật EasyEffects",
"Night Light | Click to toggle, right-click to toggle automatic mode": "Lọc ánh sáng xanh | ấn để bật/tắt, ấn chuột phải để bật/tắt chế độ tự động",
"Night Light | Right-click to toggle Auto mode": "Lọc ánh sáng xanh | Ấn chuột phải để bật/tắt chế độ tự động",
"No command provided": "Không có lệnh nào được cung cấp",
"No API key": "Không có API key",
"Performance Profile toggle": "Nút Performance Profile",
"Sunrise": "Bình minh",
"Online | Google's model\nNewer one that's slower": "Trực tuyến | Model của Google\nMới hơn nhưng chậm hơn",
"Command rejected by user": "Lệnh bị từ chối bởi người dùng",
"Experimental | Online | Google's model\nCan do a little more but takes an extra turn to perform search": "Thử nghiệm | Trực tuyến | Model của Google\nCó thể làm nhiều hơn một chút nhưng mất thêm một lượt để thực hiện tìm kiếm",
"Depends on sidebars": "Phụ thuộc vào sidebar",
"Temperature": "Nhiệt độ",
"There might be a download in progress": "Có thể có tệp đang tải",
"EasyEffects": "EasyEffects",
"Token count | Input: %1 | Output: %2": "Số lượng token | Input: %1 | Output: %2",
"Tool set to %1": "Công cụ được đặt thành %1",
"Invalid arguments. Must provide `command`.": "Tham số không hợp lệ. Phải cung cấp `command`.",
"A download is in progress": "Có một tệp đang tải",
"illogical-impulse Settings": "Cài đặt illogical-impulse",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "Trực tuyến | Model của Google\nMới hơn nhưng chậm hơn so với phiên bản trước nhưng nên cung cấp câu trả lời chất lượng cao hơn",
"Preferred wallpaper zoom (%)": "Tỷ lệ thu phóng hình nền (%)",
"Function Response": "Phản hồi function"
}
@@ -0,0 +1,472 @@
{
"Mo": "一/*keep*/",
"Tu": "二/*keep*/",
"We": "三/*keep*/",
"Th": "四/*keep*/",
"Fr": "五/*keep*/",
"Sa": "六/*keep*/",
"Su": "日/*keep*/",
"%1 characters": "%1 个字符",
"**Pricing**: free. Data used for training.\n\n**Instructions**: Log into Google account, allow AI Studio to create Google Cloud project or whatever it asks, go back and click Get API key": "**价格**:免费。数据用于训练。\n\n**说明**:登录 Google 账户,允许 AI Studio 创建 Google Cloud 项目或其他要求,然后返回并点击获取 API 密钥",
"**Pricing**: free. Data use policy varies depending on your OpenRouter account settings.\n\n**Instructions**: Log into OpenRouter account, go to Keys on the topright menu, click Create API Key": "**价格**:免费。数据使用政策取决于您的 OpenRouter 账户设置。\n\n**说明**:登录 OpenRouter 账户,在右上角菜单中选择 Keys,点击创建 API 密钥",
". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!",
"<i>No further instruction provided</i>": "<i>未提供进一步说明</i>",
"API key set for %1": "已为 %1 设置 API 密钥",
"API key:\n\n```txt\n%1\n```": "API 密钥:\n\n```txt\n%1\n```",
"Action": "操作",
"Add": "添加",
"Add task": "添加任务",
"All-rounder | Good quality, decent quantity": "全能型 | 质量好,数量适中",
"Allow NSFW": "允许 NSFW",
"Allow NSFW content": "允许 NSFW 内容",
"Anime": "动漫",
"Anime boorus": "动漫图库",
"App": "应用",
"Arrow keys to navigate, Enter to select\nEsc or click anywhere to cancel": "方向键导航,回车选择\nEsc 或点击任意地方取消",
"Bluetooth": "蓝牙",
"Brightness": "亮度",
"Cancel": "取消",
"Cheat sheet": "快捷键表",
"Choose model": "选择模型",
"Clean stuff | Excellent quality, no NSFW": "清洁内容 | 优秀质量,无 NSFW",
"Clear": "清除",
"Clear chat history": "清除聊天记录",
"Clear the current list of images": "清除当前图片列表",
"Close": "关闭",
"Copy": "复制",
"Copy code": "复制代码",
"Current API endpoint: %1\nSet it with %2mode PROVIDER": "当前 API 端点:%1\n使用 %2mode PROVIDER 设置",
"Delete": "删除",
"Desktop": "桌面",
"Disable NSFW content": "禁用 NSFW 内容",
"Done": "完成",
"Download": "下载",
"Edit": "编辑",
"Enter text to translate...": "输入要翻译的文本...",
"Finished tasks will go here": "已完成的任务将显示在这里",
"For desktop wallpapers | Good quality": "桌面壁纸专用 | 质量好",
"For storing API keys and other sensitive information": "用于存储 API 密钥和其他敏感信息",
"Game mode": "游戏模式",
"Get the next page of results": "获取下一页结果",
"Go to source (%1)": "转到源 (%1)",
"Hibernate": "休眠",
"Input": "输入",
"Intelligence": "智能体",
"Interface": "界面",
"Invalid arguments. Must provide `key` and `value`.": "参数无效。必须提供 `key` 和 `value`。",
"Jump to current month": "跳转到当前月份",
"Keep system awake": "保持系统唤醒",
"Large images | God tier quality, no NSFW.": "大尺寸图片 | 顶级质量,无 NSFW",
"Large language models": "大语言模型",
"Launch": "启动",
"Local Ollama model | %1": "本地 Ollama 模型 | %1",
"Lock": "锁定",
"Logout": "注销",
"Markdown test": "Markdown 测试",
"Math result": "数学结果",
"No API key set for %1": "未为 %1 设置 API 密钥",
"No audio source": "无音频源",
"No media": "无媒体",
"No notifications": "无通知",
"Not visible to model": "对模型不可见",
"Nothing here!": "这里什么都没有!",
"Notifications": "通知",
"OK": "确定",
"Open file link": "打开文件链接",
"Output": "输出",
"Page %1": "第 %1 页",
"Reboot": "重启",
"Reboot to firmware settings": "重启到固件设置",
"Reload Hyprland & Quickshell": "重新加载 Hyprland 和 Quickshell",
"Run": "运行",
"Run command": "运行命令",
"Save": "保存",
"Save to Downloads": "保存到下载文件夹",
"Search": "搜索",
"Search the web": "在网络上搜索",
"Search, calculate or run": "搜索、计算或运行",
"Select Language": "选择语言",
"Session": "会话",
"Set API key": "设置 API 密钥",
"Set temperature (randomness) of the model. Values range between 0 to 2 for Gemini, 0 to 1 for other models. Default is 0.5.": "设置模型的温度(随机性)。Gemini 模型范围为 0 到 2,其他模型为 0 到 1。默认值为 0.5。",
"Set the current API provider": "设置当前 API 提供商",
"Shutdown": "关机",
"Silent": "静音",
"Sleep": "睡眠",
"System": "系统",
"Task Manager": "任务管理器",
"Task description": "任务描述",
"Temperature must be between 0 and 2": "温度必须在 0 到 2 之间",
"Temperature set to %1": "温度设置为 %1",
"Temperature: %1": "温度:%1",
"The hentai one | Great quantity, a lot of NSFW, quality varies wildly": "成人向 | 数量巨大,大量 NSFW,质量参差不齐",
"The popular one | Best quantity, but quality can vary wildly": "最受欢迎 | 数量最多,但质量参差不齐",
"Thinking": "思考中",
"Translation goes here...": "翻译结果会显示在这里...",
"Translator": "翻译器",
"Unfinished": "未完成",
"Unknown": "未知",
"Unknown Album": "未知专辑",
"Unknown Artist": "未知艺术家",
"Unknown Title": "未知标题",
"Unknown function call: %1": "未知函数调用:%1",
"View Markdown source": "查看 Markdown 源码",
"Volume": "音量",
"Volume mixer": "音量混合器",
"Waifus only | Excellent quality, limited quantity": "仅限角色 | 优秀质量,数量有限",
"Waiting for response...": "等待响应...",
"Workspace": "工作区",
"%1 Safe Storage": "%1 安全存储",
"%1 does not require an API key": "%1 不需要 API 密钥",
"%1 queries pending": "%1 个查询等待中",
"%1 | Right-click to configure": "%1 | 右键点击进行配置",
"Invalid API provider. Supported: \n-": "无效的 API 提供商。支持的:\n-",
"Unknown command:": "未知命令:",
"Type /key to get started with online models\nCtrl+O to expand the sidebar\nCtrl+P to detach sidebar into a window": "输入 /key 开始使用在线模型\nCtrl+O 展开侧边栏\nCtrl+P 将侧边栏分离为窗口",
"Provider set to": "提供商设置为",
"Invalid model. Supported: \n```": "无效模型。支持的:\n```",
"Switched to search mode. Continue with the user's request.": "已切换到搜索模式。继续处理用户请求。",
"Enter tags, or \"%1\" for commands": "输入标签,或 \"%1\" 查看命令",
"Online via %1 | %2's model": "通过 %1 在线 | %2 的模型",
"That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "没有找到结果。提示:\n- 检查您的标签和 NSFW 设置\n- 如果没有想到标签,请输入页码",
"Settings": "设置",
"Save chat": "保存对话",
"Load chat": "加载对话",
"or": "或",
"Set the system prompt for the model.": "为模型设置系统提示。",
"To Do": "待办",
"Calendar": "日历",
"Advanced": "高级",
"About": "关于",
"Services": "服务",
"Light": "浅色",
"Dark": "深色",
"Fidelity": "保真度",
"Fruit Salad": "水果沙拉",
"When not fullscreen": "非全屏时",
"Choose file": "选择文件",
"Random SFW Anime wallpaper from Konachan\nImage is saved to ~/Pictures/Wallpapers": "随机 Konachan SFW 动漫壁纸\n图片保存到 ~/图片/Wallpapers",
"Be patient...": "请耐心等待...",
"Tonal Spot": "色调点",
"Auto": "自动",
"Content": "内容",
"Transparency": "透明度",
"Expressive": "表现力",
"Yes": "是",
"Enable": "启用",
"Rainbow": "彩虹",
"Might look ass. Unsupported.": "可能效果很差。不支持。",
"Monochrome": "单色",
"Random: Konachan": "随机:Konachan",
"Neutral": "中性",
"Pick wallpaper image on your system": "在系统中选择壁纸图片",
"No": "否",
"AI": "AI",
"Local only": "仅本地",
"Policies": "策略",
"Weeb": "二次元",
"Closet": "隐藏",
"Show next time": "下次显示",
"Usage": "用法",
"Useless buttons": "无用按钮",
"GitHub": "GitHub",
"Style & wallpaper": "样式与壁纸",
"Configuration": "配置",
"Keybinds": "快捷键",
"Float": "浮动",
"Hug": "贴合",
"illogical-impulse Welcome": "illogical-impulse 欢迎页",
"Info": "信息",
"Volume limit": "音量限制",
"Prevents abrupt increments and restricts volume limit": "防止骤增并限制音量",
"Resources": "资源",
"12h am/pm": "12小时 上午/下午",
"Base URL": "基础 URL",
"Audio": "声音",
"Networking": "网络",
"Format": "格式",
"Time": "时间",
"Battery": "电池",
"Prefixes": "前缀",
"Emojis": "表情符号",
"Earbang protection": "防爆音保护",
"Automatically suspends the system when battery is low": "电池电量低时自动挂起系统",
"Automatic suspend": "自动挂起",
"Max allowed increase": "最大允许增幅",
"Web search": "网页搜索",
"Polling interval (ms)": "轮询间隔(毫秒)",
"Clipboard": "剪贴板",
"Low warning": "低电量警告",
"24h": "24小时制",
"Use Levenshtein distance-based algorithm instead of fuzzy": "使用 Levenshtein 距离算法替代模糊匹配",
"System prompt": "系统提示词",
"12h AM/PM": "12小时 AM/PM",
"Could be better if you make a ton of typos,\nbut results can be weird and might not work with acronyms\n(e.g. \"GIMP\" might not give you the paint program)": "如果你经常打错字可能更好用,但结果可能很奇怪,并且可能无法匹配缩写(如 \"GIMP\" 可能搜不到绘图程序)",
"Critical warning": "临界警告",
"User agent (for services that require it)": "用户代理(部分服务需要)",
"Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.": "这些区域可能是图片或屏幕中具有一定包容性的部分。\n可能并不总是准确。\n这是通过本地运行的图像处理算法实现的,没有使用 AI。",
"Workspaces shown": "显示的工作区数",
"Dark/Light toggle": "深浅色切换",
"Dock": "停靠栏",
"Weather": "天气",
"Pinned on startup": "启动时固定",
"Always show numbers": "总是显示数字",
"Keyboard toggle": "键盘切换",
"Scale (%)": "缩放比例(%)",
"Overview": "概览",
"Rows": "行数",
"Screenshot tool": "截图工具",
"Number show delay when pressing Super (ms)": "按下 Super 时数字显示延迟(ms)",
"Timeout (ms)": "超时时间(ms)",
"Show app icons": "显示应用图标",
"Workspaces": "工作区",
"Columns": "列数",
"On-screen display": "屏幕显示",
"Screen snip": "屏幕截图",
"Mic toggle": "麦克风切换",
"Hover to reveal": "悬停显示",
"Bar": "条栏",
"Show regions of potential interest": "显示可能感兴趣的区域",
"Color picker": "取色器",
"Help & Support": "帮助与支持",
"Discussions": "讨论区",
"Color generation": "配色生成",
"Dotfiles": "配置文件",
"Distro": "发行版",
"Privacy Policy": "隐私政策",
"Documentation": "文档",
"Shell & utilities theming must also be enabled": "必须同时启用 Shell 与工具主题",
"Ignored if terminal theming is not enabled": "终端主题未启用时不生效",
"illogical-impulse": "illogical-impulse",
"Donate": "捐助",
"Terminal": "终端",
"Shell & utilities": "Shell 与工具",
"Qt apps": "Qt 应用",
"Force dark mode in terminal": "终端强制使用深色模式",
"Report a Bug": "报告问题",
"Issues": "问题追踪",
"Drag or click a region • LMB: Copy • RMB: Edit": "拖动或点击一个区域 • 鼠标左键:复制 • 鼠标右键:编辑",
"Current model: %1\nSet it with %2model MODEL": "当前模型:%1\n使用 %2model MODEL 设置",
"Message the model... \"%1\" for commands": "与模型对话... \"%1\" 查看命令",
"The current system prompt is\n\n---\n\n%1": "当前系统提示词为\n\n---\n\n%1",
"Model set to %1": "模型已设置为 %1",
"Loaded the following system prompt\n\n---\n\n%1": "已加载以下系统提示词\n\n---\n\n%1",
"%1 notifications": "%1 条通知",
"Save chat to %1": "保存聊天记录到 %1",
"Load chat from %1": "从 %1 加载聊天记录",
"Load prompt from %1": "从 %1 加载提示词",
"Select output device": "选择输出设备",
"%1 • %2 tasks": "%1 • %2 个任务",
"Online models disallowed\n\nControlled by `policies.ai` config option": "禁止在线模型\n\n由 `policies.ai` 配置项控制",
"Select input device": "选择输入设备",
"Low battery": "电量低",
"Registration failed. Please inspect manually with the <tt>warp-cli</tt> command": "注册失败。请使用 <tt>warp-cli</tt> 命令手动检查",
"Code saved to file": "代码已保存到文件",
"Consider plugging in your device": "请考虑连接您的设备",
"Weather Service": "天气服务",
"Please charge!\nAutomatic suspend triggers at %1": "请充电!\n自动挂起将在 %1 时触发",
"Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)",
"Cloudflare WARP": "Cloudflare WARP",
"Download complete": "下载完成",
"Critically low battery": "电量极低",
"Scroll to change brightness": "滚动以调节亮度",
"Saved to %1": "已保存到 %1",
"Cannot find a GPS service. Using the fallback method instead.": "无法找到 GPS 服务。正在使用备用方法。",
"Elements": "元素",
"Scroll to change volume": "滚动以调节音量",
"Connection failed. Please inspect manually with the <tt>warp-cli</tt> command": "连接失败。请使用 <tt>warp-cli</tt> 命令手动检查",
"UV Index": "紫外线指数",
"Pressure": "气压",
"Visibility": "能见度",
"Sunrise": "日出",
"Sunset": "日落",
"Humidity": "湿度",
"Wind": "风",
"Precipitation": "降水量",
"Time to full:": "距离充满:",
"Time to empty:": "距离耗尽:",
"Fully charged": "已充满电",
"Charging:": "充电功率:",
"Discharging:": "放电功率:",
"No pending tasks": "没有待办任务",
"... and %1 more": "... 还有 %1 个",
"Used:": "已用:",
"Free:": "可用:",
"Total:": "总计:",
"Load:": "负载:",
"High": "高",
"Medium": "中",
"Low": "低",
"Tint icons": "图标着色",
"Performance Profile toggle": "性能配置文件切换",
"**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**说明**:登录 Mistral 账户,在侧边栏中选择 Keys,点击创建新密钥",
"Invalid arguments. Must provide `command`.": "参数无效。必须提供 `command`。",
"Thought": "思考",
"Online | Google's model\nA Gemini 2.5 Flash model optimized for cost-efficiency and high throughput.": "在线 | Google 模型\n针对成本效益和高吞吐量优化的 Gemini 2.5 Flash 模型。",
"Online | Google's model\nFast, can perform searches for up-to-date information": "在线 | Google 模型\n速度快,可搜索最新信息",
"Your package manager is running": "您的包管理器正在运行",
"Gives the model search capabilities (immediately)": "为模型提供搜索功能(即时)",
"Set the tool to use for the model.": "设置模型使用的工具。",
"Night Light | Right-click to toggle Auto mode": "夜间模式 | 右键切换自动模式",
"Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "在线 | %1 的模型 | 提供快速、响应迅速且格式良好的答案。缺点:不太积极主动;可能编造未知的函数调用",
"Depends on workspace": "取决于工作区",
"Usage: %1tool TOOL_NAME": "用法:%1tool 工具名称",
"Tray": "托盘",
"Usage: %1save CHAT_NAME": "用法:%1save 聊天名称",
"Approve": "批准",
"Depends on sidebars": "取决于侧边栏",
"Commands, edit configs, search.\nTakes an extra turn to switch to search mode if that's needed": "命令、编辑配置、搜索。\n如果需要,会额外执行一次切换到搜索模式",
"Up %1": "运行 %1",
"Tool set to: %1": "工具设置为:%1",
"Wallpaper parallax": "壁纸视差",
"Online | Google's model\nGoogle's state-of-the-art multipurpose model that excels at coding and complex reasoning tasks.": "在线 | Google 模型\nGoogle 最先进的多用途模型,在编程和复杂推理任务方面表现卓越。",
"Tint app icons": "应用图标着色",
"Preferred wallpaper zoom (%)": "首选壁纸缩放比例 (%)",
"To set an API key, pass it with the %4 command\n\nTo view the key, pass \"get\" with the command<br/>\n\n### For %1:\n\n**Link**: %2\n\n%3": "要设置 API 密钥,请使用 %4 命令传递\n\n要查看密钥,请在命令中传递 \"get\"<br/>\n\n### 对于 %1\n\n**链接**%2\n\n%3",
"No API key\nSet it with /key YOUR_API_KEY": "无 API 密钥\n使用 /key YOUR_API_KEY 设置",
"Total token count\nInput: %1\nOutput: %2": "总令牌数\n输入:%1\n输出:%2",
"Disable tools": "禁用工具",
"API key is set\nChange with /key YOUR_API_KEY": "API 密钥已设置\n使用 /key YOUR_API_KEY 更改",
"Usage: %1load CHAT_NAME": "用法:%1load 聊天名称",
"Sidebars": "侧边栏",
"Temperature\nChange with /temp VALUE": "温度\n使用 /temp VALUE 更改",
"Current tool: %1\nSet it with %2tool TOOL": "当前工具:%1\n使用 %2tool TOOL 设置",
"There might be a download in progress": "可能有下载正在进行",
"Online | Google's model\nNewer model that's slower than its predecessor but should deliver higher quality answers": "在线 | Google 模型\n比前代模型更慢但应该提供更高质量答案的新模型",
"EasyEffects | Right-click to configure": "EasyEffects | 右键配置",
"Command rejected by user": "用户拒绝了命令",
"Invalid tool. Supported tools:\n- %1": "无效工具。支持的工具:\n- %1",
"Keep right sidebar loaded": "保持右侧边栏加载",
"Reject": "拒绝",
"Enter password": "输入密码",
"Automatically hide": "自动隐藏",
"**Pricing**: Free tier available with limited rates. See https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**Instructions**: Generate a GitHub personal access token with Models permission, then set as API key here\n\n**Note**: To use this you will have to set the temperature parameter to 1": "**定价**:提供免费层,速率有限。详情见 https://docs.github.com/en/billing/concepts/product-billing/github-models\n\n**说明**:生成一个具有 Models 权限的 GitHub 个人访问令牌,并在此处将其设置为 API 密钥\n\n**注意**:使用此提供商时需要将温度参数设置为 1",
"Conflicts with the shell's system tray implementation": "与 Shell 的系统托盘实现冲突",
"Enjoy! You can reopen the welcome app any time with <tt>Super+Shift+Alt+/</tt>. To open the settings app, hit <tt>Super+I</tt>": "祝您愉快!随时可以按 <tt>Super+Shift+Alt+/</tt> 重新打开欢迎应用。要打开设置应用,请按 <tt>Super+I</tt>",
"Reset": "重置",
"☕ Break: %1 minutes": "☕ 休息:%1 分钟",
"Pomodoro": "番茄钟",
"Long break": "长休息",
"Resume": "继续",
"Start": "开始",
"Hi there! First things first...": "嗨!先做些重要的事情...",
"Refreshing (manually triggered)": "刷新中(手动触发)",
"Kill conflicting programs?": "结束冲突程序?",
"When enabled keeps the content of the right sidebar loaded to reduce the delay when opening,\nat the cost of around 15MB of consistent RAM usage. Delay significance depends on your system's performance.\nUsing a custom kernel like linux-cachyos might help": "启用后会保持右侧边栏内容常驻,以减少打开时的延迟,代价是大约 15MB 的持续内存使用。延迟的影响程度取决于系统性能。使用像 linux-cachyos 这样的自定义内核可能会有所帮助",
"Config file": "配置文件",
"Stopwatch": "秒表",
"Break": "休息",
"Shell conflicts killer": "终止冲突程序",
"Vertical": "垂直",
"🔴 Focus: %1 minutes": "🔴 专注:%1 分钟",
"System uptime:": "系统运行时间:",
"Focus": "专注",
"Open the shell config file.\nIf the button doesn't work or doesn't open in your favorite editor,\nyou can manually open ~/.config/illogical-impulse/config.json": "打开 Shell 配置文件。\n如果按钮无法工作或没有在您喜欢的编辑器中打开,\n可以手动打开 ~/.config/illogical-impulse/config.json",
"Attach a file. Only works with Gemini.": "附加文件。仅适用于 Gemini。",
"🌿 Long break: %1 minutes": "🌿 长休息:%1 分钟",
"Always": "始终",
"To Do:": "待办:",
"Incorrect password": "密码错误",
"Timer": "计时器",
"Conflicts with the shell's notification implementation": "与 Shell 的通知实现冲突",
"Pause": "暂停",
"Feels like %1": "体感温度:%1",
"Lap": "计时",
"Welcome app": "欢迎应用",
"Corner style": "角落样式",
"Language": "语言",
"Select the language for the user interface.\n\"Auto\" will use your system's locale.": "选择用户界面的语言。\n\"自动\" 将使用系统语言环境。",
"Auto (System)": "自动(系统)",
"Interface Language": "界面语言",
"Paired": "已配对",
"Hit \"/\" to search": "按 \"/\" 搜索",
"Region width": "区域宽度",
"Math": "数学",
"When this is off you'll have to click": "关闭后需要点击",
"Edit directory": "编辑目录",
"Pills": "胶囊",
"No active player": "无活动播放器",
"Search wallpapers": "搜索壁纸",
"Rect": "矩形",
"Make sure your player has MPRIS support\nor try turning off duplicate player filtering": "请确保您的播放器支持 MPRIS\n或尝试关闭重复播放器过滤",
"Shell command": "Shell 命令",
"Screen round corner": "屏幕圆角",
"Password": "密码",
"Bluetooth devices": "蓝牙设备",
"Wallpaper & Colors": "壁纸与配色",
"Details": "详细信息",
"Show clock": "显示时钟",
"Connected": "已连接",
"Open network portal": "打开网络门户",
"Bar style": "条栏样式",
"Connect": "连接",
"Superpaste": "超级粘贴",
"Value scroll": "滚动调整数值",
"Line-separated": "线条分隔",
"Region height": "区域高度",
"Pick a wallpaper": "选择壁纸",
"Visualize region": "可视化区域",
"Bottom": "底部",
"Usage: <tt>%1superpaste NUM_OF_ENTRIES[i]</tt>\nSupply <tt>i</tt> when you want images\nExamples:\n<tt>%1superpaste 4i</tt> for the last 4 images\n<tt>%1superpaste 7</tt> for the last 7 entries": "用法:<tt>%1superpaste 条目数[i]</tt>\n需要图片时加上 <tt>i</tt>\n示例:\n<tt>%1superpaste 4i</tt> 获取最近 4 张图片\n<tt>%1superpaste 7</tt> 获取最近 7 条记录",
"Terminal: Harmony (%)": "终端:协调度 (%)",
"Forget": "忘记",
"Background": "背景",
"Top": "顶部",
"Not all options are available in this app. You should also check the config file by hitting the \"Config file\" button on the topleft corner or opening %1 manually.": "并非所有选项都在此应用中提供。您还应点击左上角的“配置文件”按钮或手动打开 %1 查看配置文件。",
"General": "常规",
"Right": "右侧",
"Utility buttons": "工具按钮",
"Quick": "快速",
"Terminal: Foreground boost (%)": "终端:前景增强 (%)",
"Left": "左侧",
"Tip: right-clicking a group\nalso expands it": "提示:右键点击一个分组\n也可展开",
"Change any time later with /dark, /light, /wallpaper in the launcher\nIf the shell's colors aren't changing:\n 1. Open the right sidebar with Super+N\n 2. Click \"Reload Hyprland & Quickshell\" in the top-right corner": "稍后可在启动器中通过 /dark、/light、/wallpaper 随时更改\n如果 Shell 的配色没有变化:\n 1. 用 Super+N 打开右侧边栏\n 2. 点击右上角的“重新加载 Hyprland 与 Quickshell”",
"Place at bottom": "放置在底部",
"Allows you to open sidebars by clicking or hovering screen corners regardless of bar position": "无论条栏位置如何,都允许通过点击或悬停屏幕角落打开侧边栏",
"Positioning": "位置",
"Disconnect": "断开连接",
"Unknown device": "未知设备",
"Make icons pinned by default": "默认固定图标",
"Bar & screen": "条栏与屏幕",
"Corner open": "角落打开",
"Hover to trigger": "悬停触发",
"Terminal: Harmonize threshold": "终端:协调阈值",
"Bar position": "条栏位置",
"Place the corners to trigger at the bottom": "将触发角落放置在底部",
"Brightness and volume": "亮度与音量",
"Connect to Wi-Fi": "连接到 WiFi",
"Group style": "分组样式",
"Launch on startup": "启动时锁屏",
"Also unlock keyring": "同时解锁密钥环",
"Tip: Close a window with Super+Q": "提示: 使用 Super+Q 关闭窗口",
"Remember that on most devices one can always hold the power button to force shutdown\nThis only makes it a tiny bit harder for accidents to happen": "请记住,大多数设备仍可以长按电源键进行强制关机\n此选项只会降低误触的可能性而已",
"This is usually safe and needed for your browser and AI sidebar anyway\nMostly useful for those who use lock on startup instead of a display manager that does it (GDM, SDDM, etc.)": "这通常是安全的,并且对浏览器和 AI 侧边栏也是必要的\n主要对那些使用“开机自动锁屏”而不是显示管理器(如 GDM、SDDM 等)执行锁屏的用户有用",
"Show \"Locked\" text": "显示“已锁定”文字",
"at": "在",
"Simple digital": "简洁数字",
"Style: general": "样式:通用",
"Pick random from this folder": "从此文件随机选择",
"Back": "返回",
"Cancel wallpaper selection": "取消壁纸选择",
"Timeout duration (if not defined by notification) (ms)": "延时时间 (若通知内未定义)(毫秒)",
"Enable blur": "启用模糊",
"Material cookie": "Material 曲奇",
"Click to toggle light/dark mode\n(applied when wallpaper is chosen)": "点击来切换浅色/深色模式\n(仅在选择壁纸后生效)",
"Use the system file picker instead\nRight-click to make this the default behavior": "改为使用系统文件选择器\n右键点击可设为默认行为",
"Center clock": "居中时钟",
"Press Super+G to toggle appearance": "按下 Super+G 切换准星显示",
"Lock screen": "锁屏",
"Crosshair code (in Valorant's format)": "准星代码 (瓦罗兰特格式)",
"Random: osu! seasonal": "随机:osu! 季节性壁纸",
"Work safety": "安全模式",
"Require password to power off/restart": "需要密码来关机或重启",
"Random osu! seasonal background\nImage is saved to ~/Pictures/Wallpapers": "随机 osu! 季节性壁纸\n图片会保存到 ~/Pictures/Wallpapers",
"Open editor": "打开编辑器",
"Extra wallpaper zoom (%)": "额外壁纸缩放 (%)",
"Security": "安全",
"Clock style": "时钟样式",
"Style: Blurred": "样式:模糊",
"Crosshair overlay": "射击准星叠加",
"Locked": "已锁定",
"Wallpaper safety enforced": "已启用壁纸安全模式"
}