├── .gitignore ├── LICENSE ├── ObsidianPluginDevPythonToJS.py ├── PYTHON_LIBRARY_DOCS.md ├── README.md ├── logo.png ├── main.js ├── manifest.json ├── package-lock.json ├── package.json ├── rollup.config.js ├── src ├── PythonBridgeSettingTab.ts ├── ScriptSelectionModal.ts ├── UserInputModal.ts ├── action_handler.ts ├── constants.ts ├── environment_checker.ts ├── event_handler.ts ├── lang │ ├── ar.ts │ ├── bn.ts │ ├── cs.ts │ ├── de.ts │ ├── el.ts │ ├── en.ts │ ├── es.ts │ ├── fa.ts │ ├── fi.ts │ ├── fil.ts │ ├── fr.ts │ ├── ha.ts │ ├── hi.ts │ ├── hu.ts │ ├── id.ts │ ├── ig.ts │ ├── it.ts │ ├── ja.ts │ ├── ko.ts │ ├── ms.ts │ ├── nl.ts │ ├── pl.ts │ ├── pt.ts │ ├── ro.ts │ ├── ru.ts │ ├── sv.ts │ ├── sw.ts │ ├── th.ts │ ├── tr.ts │ ├── translations.ts │ ├── uk.ts │ ├── ur.ts │ ├── vi.ts │ ├── yo.ts │ ├── zh.ts │ └── zht.ts ├── main.ts ├── obsidian_api.ts ├── python_executor.ts └── types.ts ├── styles.css └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # --- .gitignore --- 2 | # Node.js / npm / TypeScript specific 3 | node_modules/ 4 | dist/ 5 | build/ 6 | *.tsbuildinfo 7 | *.tgz 8 | .npm 9 | .eslintcache 10 | .stylelintcache 11 | .yarn-integrity 12 | .pnp.* 13 | 14 | # Logs 15 | logs 16 | *.log 17 | npm-debug.log* 18 | yarn-debug.log* 19 | yarn-error.log* 20 | lerna-debug.log* 21 | .pnpm-debug.log* 22 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 23 | 24 | # Runtime data 25 | pids 26 | *.pid 27 | *.seed 28 | *.pid.lock 29 | 30 | # OS generated files 31 | .DS_Store 32 | Thumbs.db 33 | 34 | # Environment variables 35 | .env 36 | .env.* 37 | !.env.example 38 | 39 | # Python specific 40 | __pycache__/ 41 | *.py[cod] 42 | *$py.class 43 | *.so 44 | .Python 45 | develop-eggs/ 46 | downloads/ 47 | eggs/ 48 | .eggs/ 49 | lib/ 50 | lib64/ 51 | parts/ 52 | sdist/ 53 | var/ 54 | wheels/ 55 | share/python-wheels/ 56 | *.egg-info/ 57 | .installed.cfg 58 | *.egg 59 | MANIFEST 60 | 61 | # Python Virtual Environments 62 | .env 63 | .venv 64 | env/ 65 | venv/ 66 | ENV/ 67 | env.bak/ 68 | venv.bak/ 69 | 70 | # Python Test/Coverage/Type Checking Artifacts 71 | htmlcov/ 72 | .tox/ 73 | .nox/ 74 | .coverage 75 | .coverage.* 76 | .cache 77 | nosetests.xml 78 | coverage.xml 79 | *.cover 80 | *.py,cover 81 | .hypothesis/ 82 | .pytest_cache/ 83 | cover/ 84 | .mypy_cache/ 85 | .dmypy.json 86 | dmypy.json 87 | .pyre/ 88 | .pytype/ 89 | cython_debug/ 90 | 91 | # Jupyter Notebook checkpoints 92 | .ipynb_checkpoints 93 | 94 | # Editor/IDE specific 95 | .vscode/ 96 | .idea/ 97 | *.swp 98 | *~ 99 | 100 | # Obsidian specific vault data (if vault is accidentally nested) 101 | .obsidian/ 102 | 103 | # Personal data of plugin settings 104 | data.json 105 | .prettierrc.json 106 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 mathe00 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathe00/obsidian-plugin-python-bridge/288a0e098de5ce9f5bcb2b76410b5a28db3fe110/logo.png -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "python-bridge", 3 | "name": "Python Bridge", 4 | "version": "2.0.0", 5 | "minAppVersion": "0.12.0", 6 | "description": "🐍 A plugin that lets you write plugins in Python! Yes, it's as crazy as it sounds!", 7 | "author": "mathe00", 8 | "authorUrl": "https://github.com/mathe00/", 9 | "isDesktopOnly": true 10 | } 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "obsidian-python-bridge", 3 | "version": "0.1.0", 4 | "main": "main.js", 5 | "scripts": { 6 | "dev": "rollup -w -c", 7 | "build": "rollup -c" 8 | }, 9 | "devDependencies": { 10 | "@rollup/plugin-commonjs": "^24.0.1", 11 | "@rollup/plugin-json": "^6.1.0", 12 | "@rollup/plugin-node-resolve": "^15.0.1", 13 | "@types/node": "^18.11.9", 14 | "obsidian": "^1.5.8", 15 | "rollup": "^3.2.5", 16 | "rollup-plugin-typescript2": "^0.34.1", 17 | "tslib": "^2.4.1", 18 | "typescript": "^5.3.3" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | // rollup.config.js 2 | const typescript = require('rollup-plugin-typescript2'); 3 | const commonjs = require('@rollup/plugin-commonjs'); 4 | const { nodeResolve } = require('@rollup/plugin-node-resolve'); 5 | const json = require('@rollup/plugin-json'); // Corrected import using require 6 | 7 | /** @type {import('rollup').RollupOptions} */ 8 | module.exports = { 9 | input: 'src/main.ts', 10 | output: { 11 | dir: '.', 12 | format: 'cjs', 13 | sourcemap: 'inline', 14 | exports: 'auto', 15 | }, 16 | external: ['obsidian'], 17 | plugins: [ 18 | typescript({ 19 | tsconfig: './tsconfig.json', 20 | useTsconfigDeclarationDir: true, 21 | }), 22 | nodeResolve({ browser: true }), 23 | commonjs(), 24 | json(), // JSON plugin added here 25 | ], 26 | }; 27 | -------------------------------------------------------------------------------- /src/ScriptSelectionModal.ts: -------------------------------------------------------------------------------- 1 | // --- src/ScriptSelectionModal.ts --- 2 | import { App, SuggestModal } from "obsidian"; 3 | import { t } from './lang/translations'; // Import the translation function 4 | 5 | // Interface for script choices shown in the modal 6 | interface ScriptChoice { 7 | label: string; // Filename displayed to the user 8 | value: string; // Full path used for execution 9 | } 10 | 11 | /** 12 | * Modal for selecting a Python script from a list. 13 | */ 14 | export default class ScriptSelectionModal extends SuggestModal { 15 | scriptChoices: ScriptChoice[]; 16 | onChoose: (result: string | null) => void; // Callback with the selected script's full path or null 17 | 18 | /** 19 | * Creates an instance of ScriptSelectionModal. 20 | * @param app The Obsidian App instance. 21 | * @param scriptChoices Array of script choices { label, value }. 22 | * @param onChoose Callback function executed with the selected script path or null if cancelled. 23 | */ 24 | constructor( 25 | app: App, 26 | scriptChoices: ScriptChoice[], 27 | onChoose: (result: string | null) => void, 28 | ) { 29 | super(app); 30 | this.scriptChoices = scriptChoices; 31 | this.onChoose = onChoose; 32 | // Use translation for the placeholder 33 | this.setPlaceholder(t("MODAL_SELECT_SCRIPT_PLACEHOLDER")); 34 | } 35 | 36 | /** 37 | * Returns suggestions matching the user's query. 38 | * Filters the choices based on the label (filename). 39 | * @param query The text entered by the user. 40 | * @returns An array of matching ScriptChoice objects. 41 | */ 42 | getSuggestions(query: string): ScriptChoice[] { 43 | const lowerCaseQuery = query.toLowerCase(); 44 | return this.scriptChoices.filter((choice) => 45 | choice.label.toLowerCase().includes(lowerCaseQuery), 46 | ); 47 | } 48 | 49 | /** 50 | * Renders a single suggestion item in the modal list. 51 | * Displays the script filename (label). 52 | * @param choice The ScriptChoice object to render. 53 | * @param el The HTML element to render into. 54 | */ 55 | renderSuggestion(choice: ScriptChoice, el: HTMLElement) { 56 | el.createEl("div", { text: choice.label }); 57 | } 58 | 59 | /** 60 | * Called when the user selects a suggestion from the list. 61 | * Executes the onChoose callback with the full path (value) of the selected script. 62 | * @param choice The selected ScriptChoice object. 63 | * @param evt The mouse or keyboard event that triggered the selection. 64 | */ 65 | onChooseSuggestion(choice: ScriptChoice, evt: MouseEvent | KeyboardEvent) { 66 | this.onChoose(choice.value); // Pass the full path back 67 | } 68 | 69 | /** 70 | * Called when the modal is closed (e.g., by pressing Esc or clicking outside). 71 | * Note: SuggestModal typically handles not calling onChooseSuggestion in this case. 72 | * If explicit cancellation handling is needed, it might require overriding onClose 73 | * and checking if a suggestion was chosen. For now, we rely on the default behavior. 74 | */ 75 | // onClose() { 76 | // // If necessary, add logic here to explicitly call this.onChoose(null) 77 | // // if the modal is closed without a selection. 78 | // } 79 | } 80 | -------------------------------------------------------------------------------- /src/UserInputModal.ts: -------------------------------------------------------------------------------- 1 | // --- src/UserInputModal.ts --- 2 | import { App, Modal, Notice } from 'obsidian'; // Import Notice here 3 | import { t } from './lang/translations'; // Import the translation function 4 | 5 | // Modal class for requesting user input 6 | export default class UserInputModal extends Modal { 7 | scriptName: string; 8 | inputType: string; 9 | message: string; 10 | validationRegex?: string; 11 | minValue?: number; 12 | maxValue?: number; 13 | step?: number; 14 | onSubmit: (input: any) => void; 15 | inputEl: HTMLInputElement | undefined; 16 | 17 | constructor(app: App, scriptName: string, inputType: string, message: string, onSubmit: (input: any) => void, validationRegex?: string, minValue?: number, maxValue?: number, step?: number) { 18 | super(app); 19 | this.scriptName = scriptName; // Comes from Python, not translated here 20 | this.inputType = inputType; 21 | this.message = message; // Comes from Python, not translated here 22 | this.onSubmit = onSubmit; 23 | this.validationRegex = validationRegex; 24 | this.minValue = minValue; 25 | this.maxValue = maxValue; 26 | this.step = step; 27 | } 28 | 29 | onOpen() { 30 | const { contentEl } = this; 31 | // Title and message come from the Python script via payload 32 | contentEl.createEl('h2', { text: this.scriptName }); 33 | contentEl.createEl('p', { text: this.message }); 34 | 35 | // Create input element based on type 36 | if (this.inputType === 'text') this.inputEl = contentEl.createEl('input', { type: 'text' }); 37 | else if (this.inputType === 'number' || this.inputType === 'range') { // Treat 'number' and 'range' similarly for input element 38 | this.inputEl = contentEl.createEl('input', { type: this.inputType === 'range' ? 'range' : 'number' }); // Use 'range' or 'number' type 39 | if (this.minValue !== undefined) this.inputEl.setAttribute('min', this.minValue.toString()); 40 | if (this.maxValue !== undefined) this.inputEl.setAttribute('max', this.maxValue.toString()); 41 | if (this.step !== undefined) this.inputEl.setAttribute('step', this.step.toString()); 42 | // Optionally add a display for the current value for range inputs 43 | if (this.inputType === 'range') { 44 | const valueDisplay = contentEl.createEl('span', { text: this.inputEl.value }); 45 | valueDisplay.style.marginLeft = '10px'; // Add some spacing 46 | this.inputEl.addEventListener('input', () => { valueDisplay.textContent = (this.inputEl as HTMLInputElement).value; }); 47 | } 48 | } else if (this.inputType === 'boolean' || this.inputType === 'checkbox') this.inputEl = contentEl.createEl('input', { type: 'checkbox' }); // Accept both 'boolean' and 'checkbox' 49 | else if (this.inputType === 'date') this.inputEl = contentEl.createEl('input', { type: 'date' }); 50 | else { contentEl.createEl('p', { text: `Error: Unknown input type '${this.inputType}' requested.` }); return; } // Handle unknown input types gracefully // Don't add submit button if input type is invalid 51 | 52 | // Add some spacing before the button 53 | contentEl.createEl('div', { attr: { style: 'margin-top: 1em;' } }); 54 | 55 | // Use translation for the submit button text 56 | const submitButton = contentEl.createEl('button', { text: t('MODAL_USER_INPUT_SUBMIT_BUTTON') }); 57 | submitButton.addEventListener('click', () => { 58 | if (this.inputEl) { 59 | let inputValue: any; 60 | let validationPassed = true; // Flag to track validation status 61 | 62 | // Handle different input types to get the correct value 63 | if (this.inputType === 'boolean' || this.inputType === 'checkbox') { 64 | inputValue = (this.inputEl as HTMLInputElement).checked; 65 | this.inputEl.classList.remove('python-bridge-input-error'); // Reset border for checkbox/boolean 66 | this.inputEl.style.borderColor = ""; // Reset border for checkbox/boolean 67 | } else if (this.inputType === 'number' || this.inputType === 'range') { 68 | inputValue = parseFloat(this.inputEl.value); 69 | // Basic validation if min/max are set 70 | if (this.minValue !== undefined && inputValue < this.minValue) inputValue = this.minValue; 71 | if (this.maxValue !== undefined && inputValue > this.maxValue) inputValue = this.maxValue; 72 | // Check if the result is a valid number (e.g., if input was empty or non-numeric) 73 | if (isNaN(inputValue)) { 74 | // Handle potential NaN if input is cleared or invalid for number/range 75 | // Decide on behavior: default value? error? For now, let's show notice and prevent submit 76 | new Notice("Invalid number input."); // Consider translating this if needed 77 | this.inputEl.classList.add('python-bridge-input-error'); 78 | this.inputEl.focus(); 79 | validationPassed = false; // Mark validation as failed 80 | } else { 81 | this.inputEl.classList.remove('python-bridge-input-error'); 82 | } 83 | } else { // Includes 'text', 'date', etc. 84 | inputValue = this.inputEl.value; 85 | // Optional: Add regex validation here if needed for 'text' type 86 | if (this.inputType === 'text' && this.validationRegex) { 87 | try { 88 | const regex = new RegExp(this.validationRegex); 89 | if (!regex.test(inputValue)) { 90 | this.inputEl.classList.add('python-bridge-input-error'); 91 | this.inputEl.focus(); // Set focus back to the input field 92 | new Notice(t("NOTICE_INPUT_VALIDATION_FAILED")); // Show translated error 93 | validationPassed = false; // Mark validation as failed 94 | } else { 95 | this.inputEl.classList.remove('python-bridge-input-error'); 96 | } 97 | } catch (e) { 98 | console.error("UserInputModal: Invalid validation regex provided:", this.validationRegex, e); 99 | this.inputEl.classList.remove('python-bridge-input-error'); 100 | // Proceed without validation if regex itself is bad 101 | } 102 | } else { 103 | // Reset border for other types like 'date' or 'text' without regex 104 | this.inputEl.classList.remove('python-bridge-input-error'); 105 | } 106 | } 107 | 108 | // Only submit and close if validation passed 109 | if (validationPassed) { 110 | this.onSubmit(inputValue); 111 | this.close(); 112 | } 113 | // If validationPassed is false, the modal remains open due to the logic above 114 | } 115 | }); 116 | 117 | // Allow submitting with Enter key on text/number/date inputs 118 | if (this.inputEl && (this.inputType === 'text' || this.inputType === 'number' || this.inputType === 'date')) { 119 | this.inputEl.addEventListener('keypress', (event) => { 120 | if (event.key === 'Enter') { 121 | event.preventDefault(); // Prevent default form submission behavior 122 | submitButton.click(); // Trigger the submit button's click handler 123 | } 124 | }); 125 | this.inputEl.focus(); // Focus the input element when the modal opens 126 | }} 127 | 128 | 129 | onClose() { const { contentEl } = this; contentEl.empty(); } 130 | } 131 | -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | // src/constants.ts 2 | /** Default HTTP port if not configured or invalid */ 3 | export const DEFAULT_PORT = 27123; 4 | 5 | /** Timeout in ms for discovering script settings */ 6 | export const SETTINGS_DISCOVERY_TIMEOUT = 5000; // 5 seconds 7 | 8 | export const PYTHON_LIBRARY_FILENAME = "ObsidianPluginDevPythonToJS.py"; 9 | // Add other constants here if needed in the future 10 | -------------------------------------------------------------------------------- /src/environment_checker.ts: -------------------------------------------------------------------------------- 1 | // --- src/environment_checker.ts --- 2 | // Handles checking the Python environment (executable, required libraries). 3 | 4 | import { Notice, Platform } from "obsidian"; 5 | import { spawn } from "child_process"; 6 | import type ObsidianPythonBridge from "./main"; // Import the main plugin type 7 | import { t } from "./lang/translations"; // Import translation function 8 | 9 | /** 10 | * Checks if Python is accessible and the 'requests' library is installed. 11 | * Stores the found executable in `plugin.pythonExecutable`. 12 | * Shows persistent notifications if issues are found. 13 | * @param plugin The ObsidianPythonBridge plugin instance. 14 | * @returns {Promise} True if environment is OK, false otherwise. 15 | */ 16 | export async function checkPythonEnvironment(plugin: ObsidianPythonBridge): Promise { 17 | plugin.logInfo("Checking Python environment..."); 18 | plugin.pythonExecutable = null; // Reset before check 19 | const pythonCmd = await findPythonExecutable(plugin); 20 | if (!pythonCmd) { plugin.logError("Python executable not found during environment check."); showPythonMissingNotification(plugin); return false; } // Indicate failure 21 | plugin.logInfo(`Found Python executable: ${pythonCmd}`); 22 | plugin.pythonExecutable = pythonCmd; // Store the found command 23 | // Check for 'requests' 24 | const requestsInstalled = await checkPythonModule(plugin, pythonCmd, "requests"); 25 | if (!requestsInstalled) { plugin.logError(`Python module 'requests' not found using ${pythonCmd}.`); showRequestsMissingNotification(plugin, pythonCmd); return false; } // Indicate failure 26 | // Check for 'PyYAML' (optional, only warn) 27 | const yamlInstalled = await checkPythonModule(plugin, pythonCmd, "yaml"); 28 | if (!yamlInstalled) plugin.logWarn(`Optional Python module 'PyYAML' not found using ${pythonCmd}. Frontmatter property management features will not work.`); // Don't show a persistent notice for optional dependencies 29 | else plugin.logInfo("'PyYAML' module found."); 30 | plugin.logInfo("Python environment check completed successfully."); 31 | return true; // Indicate success (even if optional PyYAML is missing) 32 | } 33 | 34 | /** 35 | * Tries to find a working Python command ('py', 'python3', 'python'). 36 | * @param plugin The ObsidianPythonBridge plugin instance (for logging). 37 | * @returns The command string if found, otherwise null. 38 | */ 39 | export async function findPythonExecutable(plugin: ObsidianPythonBridge): Promise { 40 | const isWindows = Platform.isWin; // Use Obsidian's Platform API 41 | const commandsToTry = isWindows ? ["py", "python3", "python"] : ["python3", "python"]; 42 | plugin.logDebug(`Attempting to find Python executable. Trying: ${commandsToTry.join(", ")}`); 43 | for (const cmd of commandsToTry) { 44 | try { 45 | // Try running 'command --version' which should be quick and safe 46 | await new Promise((resolve, reject) => { 47 | const process = spawn(cmd, ["--version"]); 48 | process.on("error", reject); // Failed to spawn (ENOENT) 49 | process.on("close", (code) => { 50 | if (isWindows && code === 9009) reject(new Error(`Command ${cmd} resulted in exit code 9009 (MS Store alias?)`)); 51 | else if (code === 0) resolve(); // Success 52 | else reject(new Error(`Command ${cmd} --version exited with code ${code}`)); // Reject if the --version command failed for this specific 'cmd' 53 | }); 54 | }); 55 | plugin.logDebug(`Python executable found: ${cmd}`); 56 | return cmd; // Command worked 57 | } catch (error) { 58 | plugin.logDebug(`Command '${cmd}' not found or failed version check: ${error instanceof Error ? error.message : String(error)}`); 59 | } 60 | } 61 | plugin.logError(`No valid Python executable found after trying: ${commandsToTry.join(", ")}`); 62 | return null; // Return null if no command was found 63 | } 64 | 65 | /** 66 | * Checks if a Python module can be imported using a specific Python command. 67 | * @param plugin The ObsidianPythonBridge plugin instance (for logging). 68 | * @param pythonCmd The Python command to use (e.g., 'python3', 'py'). 69 | * @param moduleName The name of the module to check (e.g., 'requests', 'yaml'). 70 | * @returns True if the module can be imported, false otherwise. 71 | */ 72 | export async function checkPythonModule(plugin: ObsidianPythonBridge, pythonCmd: string, moduleName: string): Promise { 73 | plugin.logDebug(`Checking import of module '${moduleName}' using command '${pythonCmd}'...`); 74 | try { 75 | await new Promise((resolve, reject) => { 76 | // Use spawn, similar to findPythonExecutable and runPythonScript 77 | const process = spawn(pythonCmd, ["-c", `import ${moduleName}`]); 78 | let stderrOutput = ""; 79 | process.stderr?.on("data", (data) => { stderrOutput += data.toString(); }); 80 | process.on("error", (error) => { 81 | // Handles errors like command not found *if* findPythonExecutable somehow failed 82 | plugin.logWarn(`Spawn error during module check for '${moduleName}' using '${pythonCmd}': ${error.message}`); 83 | reject(error); 84 | }); 85 | process.on("close", (code) => { 86 | if (code === 0) { plugin.logDebug(`Module '${moduleName}' imported successfully using '${pythonCmd}'.`); resolve(); } // Success 87 | else { 88 | // Log the failure and reject 89 | plugin.logWarn(`Failed to import module '${moduleName}' using '${pythonCmd}'. Exit code: ${code}.`); 90 | if (stderrOutput.trim()) plugin.logWarn(`Stderr from failed import: ${stderrOutput.trim()}`); 91 | reject(new Error(`Module '${moduleName}' import failed with exit code ${code}`)); 92 | } 93 | }); 94 | }); 95 | return true; // Promise resolved, import successful 96 | } catch (error) { 97 | // This catch block now handles the rejection from the promise 98 | plugin.logDebug(`Module check failed for '${moduleName}' using '${pythonCmd}': ${error instanceof Error ? error.message : String(error)}`); 99 | return false; // Promise rejected, import failed 100 | } 101 | } 102 | 103 | /** 104 | * Shows a persistent notification if Python executable is missing. 105 | * @param plugin The ObsidianPythonBridge plugin instance. 106 | */ 107 | export function showPythonMissingNotification(plugin: ObsidianPythonBridge): void { 108 | // Delay notice slightly to ensure Obsidian UI is ready 109 | setTimeout(() => { new Notice(`${t("NOTICE_PYTHON_MISSING_TITLE")}\n${t("NOTICE_PYTHON_MISSING_DESC")}`, 0); }, 500); // Persistent notice // Delay by 500ms (adjust if needed) 110 | } 111 | 112 | /** 113 | * Shows a persistent notification if the 'requests' library is missing. 114 | * @param plugin The ObsidianPythonBridge plugin instance. 115 | * @param pythonCmd The Python command that was checked. 116 | */ 117 | export function showRequestsMissingNotification(plugin: ObsidianPythonBridge, pythonCmd: string): void { 118 | // Delay notice slightly to ensure Obsidian UI is ready 119 | setTimeout(() => { 120 | // Use translation for the notice, inserting the pythonCmd 121 | const descPrefix = t("NOTICE_REQUESTS_MISSING_DESC_PREFIX"); 122 | const descSuffix = t("NOTICE_REQUESTS_MISSING_DESC_SUFFIX").replace("{pythonCmd}", pythonCmd); 123 | new Notice(`${t("NOTICE_REQUESTS_MISSING_TITLE")}\n${descPrefix} ${pythonCmd}.${descSuffix}`, 0); // Persistent notice 124 | }, 500); // Delay by 500ms (adjust if needed) 125 | } 126 | -------------------------------------------------------------------------------- /src/lang/ar.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/ar.ts --- 2 | // Arabic translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "إعدادات جسر Obsidian Python", 6 | SETTINGS_FOLDER_TITLE: "مجلد سكربتات بايثون", 7 | SETTINGS_FOLDER_DESC: 8 | "مسار المجلد الذي يحتوي على سكربتات بايثون الخاصة بك (مطلق أو نسبي للمخزن).", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/مسار/إلى/السكربتات أو ./scripts-python", 10 | SETTINGS_PORT_TITLE: "منفذ خادم HTTP", 11 | SETTINGS_PORT_DESC: 12 | "المنفذ لخادم HTTP المحلي (1024-65535). يتطلب إعادة التشغيل أو حفظ الإعدادات للتطبيق.", 13 | SETTINGS_CACHE_TITLE: "تعطيل ذاكرة التخزين المؤقت لبايثون (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | 'تشغيل بايثون باستخدام العلامة "-B" لمنع كتابة ملفات .pyc.', 16 | 17 | // main.ts Notices 18 | NOTICE_PLUGIN_NAME: "جسر بايثون", 19 | NOTICE_PORT_CHANGED_PREFIX: "تم تغيير منفذ HTTP إلى", 20 | NOTICE_PORT_CHANGED_SUFFIX: "جارٍ إعادة تشغيل الخادم...", 21 | NOTICE_PYTHON_MISSING_TITLE: "خطأ في جسر بايثون:", 22 | NOTICE_PYTHON_MISSING_DESC: "لم يتم العثور على ملف بايثون التنفيذي في PATH.\nيرجى تثبيت بايثون والتأكد من إضافته إلى متغير بيئة PATH في نظامك حتى يتمكن الملحق من تشغيل السكربتات.\nميزات الملحق التي تتطلب بايثون لن تكون متاحة.", 23 | NOTICE_REQUESTS_MISSING_TITLE: "خطأ في جسر بايثون:", 24 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "مكتبة بايثون المطلوبة 'requests' غير مثبتة لـ", 25 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\nيرجى تثبيتها عن طريق تشغيل:\n{pythonCmd} -m pip install requests\nميزات الملحق التي تتطلب بايثون لن تكون متاحة حتى يتم تثبيتها.", 26 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "منفذ HTTP الذي تم تكوينه غير صالح:", 27 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "لم يتم بدء الخادم. يرجى تكوين منفذ صالح (1-65535) في الإعدادات.", 28 | NOTICE_PORT_IN_USE_PREFIX: "المنفذ", 29 | NOTICE_PORT_IN_USE_SUFFIX: "مستخدم بالفعل. يرجى اختيار منفذ آخر في الإعدادات أو إغلاق التطبيق الآخر الذي يستخدمه. لم يتم بدء الخادم.", 30 | NOTICE_SERVER_START_FAILED_PREFIX: "فشل بدء الخادم على المنفذ", 31 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 32 | NOTICE_INVALID_PORT_RANGE: "منفذ غير صالح. يرجى إدخال رقم بين 0 و 65535.", 33 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ جسر بايثون: تم تغيير منفذ HTTP (", 34 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 35 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). قد يستهدف السكربت المنفذ القديم إذا كان قيد التشغيل بالفعل أو تم تشغيله خارجيًا.", 36 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "لم يتم العثور على سكربت بايثون أو أنه ليس ملفًا:", 37 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "خطأ في الوصول إلى ملف السكربت:", 38 | NOTICE_RUNNING_SCRIPT_PREFIX: "جارٍ تشغيل سكربت بايثون:", 39 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "خطأ أثناء تشغيل", 40 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "بواسطة", 41 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "فشل مع رمز الخروج", 42 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "تحقق من سجلات وحدة التحكم.", 43 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "تعذر العثور على ملف بايثون تنفيذي صالح. تم المحاولة:", 44 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "يرجى التأكد من تثبيت بايثون وإمكانية الوصول إليه عبر PATH الخاص بنظامك (أو مشغل 'py' على Windows).", 45 | NOTICE_SCRIPTS_FOLDER_INVALID: "لم يتم العثور على مجلد سكربتات بايثون أو أنه غير صالح. يرجى التحقق من إعدادات الملحق.", 46 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "خطأ في قراءة مجلد السكربتات:", 47 | NOTICE_NO_SCRIPTS_FOUND: "لم يتم العثور على سكربتات بايثون (.py) في المجلد الذي تم تكوينه.", 48 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "جارٍ تشغيل", 49 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "سكربت(ات) بايثون...", 50 | NOTICE_INPUT_VALIDATION_FAILED: "الإدخال لا يتطابق مع التنسيق المطلوب.", 51 | 52 | // main.ts Commands 53 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "تشغيل سكربت بايثون معين", 54 | CMD_RUN_ALL_SCRIPTS_NAME: "تشغيل جميع سكربتات بايثون في المجلد", 55 | 56 | // UserInputModal 57 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "اختر سكربت بايثون لتشغيله...", 58 | MODAL_USER_INPUT_SUBMIT_BUTTON: "إرسال", 59 | SETTINGS_SCRIPT_SETTINGS_TITLE: "إعدادات خاصة بالسكريبت", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "تحديث إعدادات السكريبت", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "أعد مسح مجلد السكريبتات لاكتشاف أو تحديث الإعدادات المعرفة داخل سكريبتات بايثون الخاصة بك.", 62 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "تحديث التعريفات", 63 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "جارٍ التحديث...", 64 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "لم يتم تكوين مجلد سكريبتات بايثون. يرجى تعيين المسار أعلاه.", 65 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "لم يتم العثور على سكريبتات ذات إعدادات قابلة للتعريف في المجلد المكون، أو فشل اكتشاف الإعدادات. انقر فوق 'تحديث التعريفات' للمحاولة مرة أخرى.", 66 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "إعدادات لـ:", 67 | SETTINGS_LANGUAGE_AUTO: "تلقائي (مثل Obsidian)", 68 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "لا يمكن تحديث الإعدادات: لم يتم العثور على ملف بايثون التنفيذي. يرجى التأكد من تثبيت بايثون وإضافته إلى PATH.", 69 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "جارٍ تحديث تعريفات إعدادات السكريبت...", 70 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "تم تحديث تعريفات إعدادات السكريبت بنجاح!", 71 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "فشل تحديث تعريفات إعدادات السكريبت. تحقق من السجلات للحصول على التفاصيل.", 72 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "لا يمكن تشغيل السكريبت: لم يتم العثور على ملف بايثون التنفيذي. يرجى التحقق من التثبيت و PATH.", 73 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "تحديث تعريفات إعدادات سكريبت بايثون", 74 | SETTINGS_SECURITY_WARNING_TITLE: "تحذير أمني", 75 | SETTINGS_SECURITY_WARNING_TEXT: "قد يكون تشغيل سكربتات بايثون العشوائية محفوفًا بالمخاطر. تأكد من أنك تثق في مصدر أي سكربت تقوم بتشغيله، حيث يمكنه الوصول إلى نظامك وبياناتك. لا يتحمل مؤلف الإضافة ومؤلفو السكربتات المسؤولية عن أي فقدان للبيانات أو مشكلات أمنية ناتجة عن السكربتات التي تختار تشغيلها. قم بتشغيل السكربتات على مسؤوليتك الخاصة.", 76 | SETTINGS_LANGUAGE_TITLE: "لغة الإضافة", 77 | SETTINGS_LANGUAGE_DESC: "اختر لغة العرض لواجهة إضافة Python Bridge. 'تلقائي' يتبع إعداد لغة Obsidian.", 78 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "نصيحة أداء: ذاكرة التخزين المؤقت للروابط الخلفية", 79 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "لتحسين الأداء عند استرداد الروابط الخلفية (باستخدام وظيفة get_backlinks) في الخزائن الكبيرة، ضع في اعتبارك تثبيت المكون الإضافي المجتمعي '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' بواسطة @mnaoumov.", 80 | NOTICE_INVALID_FOLDER_PATH: "مسار المجلد غير صالح. يرجى تحديد مجلد صالح في الإعدادات.", 81 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "مسار مجلد سكربتات بايثون المكون '{path}' غير صالح أو غير موجود. جارٍ مسح الإعداد.", 82 | 83 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "تمكين البرنامج النصي", 84 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "السماح بتنفيذ هذا البرنامج النصي عبر الأوامر أو الاختصارات أو \"تشغيل الكل\".", 85 | NOTICE_SCRIPT_DISABLED: "البرنامج النصي '{scriptName}' معطل في الإعدادات ولا يمكن تنفيذه.", 86 | 87 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "تشغيل عند البدء", 88 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "تشغيل هذا السكربت تلقائيًا عند بدء تشغيل Obsidian (فقط إذا كان 'تمكين السكربت' قيد التشغيل أيضًا).", 89 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "تأخير البدء (ثواني)", 90 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "انتظر هذا العدد من الثواني بعد بدء تشغيل Obsidian قبل تشغيل السكربت (ينطبق فقط إذا كان 'تشغيل عند البدء' قيد التشغيل). استخدم 0 لعدم وجود تأخير.", 91 | 92 | SETTINGS_AUTO_PYTHONPATH_NAME: "تعيين PYTHONPATH تلقائيًا للمكتبة", 93 | SETTINGS_AUTO_PYTHONPATH_DESC: "إضافة دليل المكون الإضافي تلقائيًا إلى PYTHONPATH عند تشغيل البرامج النصية، مما يسمح بالاستيراد المباشر لمكتبة Python (موصى به). إذا تم تعطيله، يجب عليك نسخ ObsidianPluginDevPythonToJS.py إلى مجلد البرامج النصية الخاص بك أو إدارة sys.path يدويًا.", 94 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "تم تعطيل PYTHONPATH التلقائي. تأكد من وجود ObsidianPluginDevPythonToJS.py في مجلد البرامج النصية الخاص بك أو قم بإدارة sys.path يدويًا.", 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /src/lang/bn.ts: -------------------------------------------------------------------------------- 1 | // bn.ts - bn translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "অবসিডিয়ান পাইথন ব্রিজ সেটিংস", 5 | SETTINGS_FOLDER_TITLE: "পাইথন স্ক্রিপ্ট ফোল্ডার", 6 | SETTINGS_FOLDER_DESC: "আপনার পাইথন স্ক্রিপ্ট ধারণকারী ফোল্ডারের পাথ (ভল্টের সাপেক্ষে পরম বা আপেক্ষিক)।", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts অথবা ./scripts-python", 8 | SETTINGS_PORT_TITLE: "HTTP সার্ভার পোর্ট", 9 | SETTINGS_PORT_DESC: "স্থানীয় HTTP সার্ভারের জন্য পোর্ট (1024-65535)। প্রয়োগ করার জন্য রিস্টার্ট বা সেটিংস সংরক্ষণ প্রয়োজন।", 10 | SETTINGS_CACHE_TITLE: "পাইথন ক্যাশে নিষ্ক্রিয় করুন (__pycache__)", 11 | SETTINGS_CACHE_DESC: ".pyc ফাইল লেখা প্রতিরোধ করতে \"-B\" ফ্ল্যাগ দিয়ে পাইথন চালান।", 12 | NOTICE_PLUGIN_NAME: "পাইথন ব্রিজ", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP পোর্ট পরিবর্তন করে", 14 | NOTICE_PORT_CHANGED_SUFFIX: "সার্ভার রিস্টার্ট করা হচ্ছে...", 15 | NOTICE_PYTHON_MISSING_TITLE: "পাইথন ব্রিজ ত্রুটি:", 16 | NOTICE_PYTHON_MISSING_DESC: "PATH-এ পাইথন এক্সিকিউটেবল পাওয়া যায়নি।\\nঅনুগ্রহ করে পাইথন ইনস্টল করুন এবং নিশ্চিত করুন যে এটি আপনার সিস্টেমের PATH এনভায়রনমেন্ট ভেরিয়েবলে যোগ করা হয়েছে যাতে প্লাগইন স্ক্রিপ্ট চালাতে পারে।\\nপাইথন প্রয়োজন এমন প্লাগইন বৈশিষ্ট্যগুলি অনুপলব্ধ থাকবে।", 17 | NOTICE_REQUESTS_MISSING_TITLE: "পাইথন ব্রিজ ত্রুটি:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "প্রয়োজনীয় পাইথন লাইব্রেরি 'requests' ইনস্টল করা নেই", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "এর জন্য।\\nঅনুগ্রহ করে এটি চালান:\\n{pythonCmd} -m pip install requests\\nপাইথন প্রয়োজন এমন প্লাগইন বৈশিষ্ট্যগুলি ইনস্টল না হওয়া পর্যন্ত অনুপলব্ধ থাকবে।", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "অবৈধ HTTP পোর্ট কনফিগার করা হয়েছে:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "সার্ভার শুরু হয়নি। অনুগ্রহ করে সেটিংসে একটি বৈধ পোর্ট (1-65535) কনফিগার করুন।", 22 | NOTICE_PORT_IN_USE_PREFIX: "পোর্ট", 23 | NOTICE_PORT_IN_USE_SUFFIX: "ইতিমধ্যে ব্যবহৃত হচ্ছে। অনুগ্রহ করে সেটিংসে অন্য একটি পোর্ট বেছে নিন বা এটি ব্যবহার করা অন্য অ্যাপ্লিকেশনটি বন্ধ করুন। সার্ভার শুরু হয়নি।", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "পোর্টে সার্ভার শুরু করতে ব্যর্থ হয়েছে", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: "।", 26 | NOTICE_INVALID_PORT_RANGE: "অবৈধ পোর্ট। অনুগ্রহ করে 0 এবং 65535 এর মধ্যে একটি সংখ্যা লিখুন।", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ পাইথন ব্রিজ: HTTP পোর্ট পরিবর্তিত হয়েছে (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: ")। স্ক্রিপ্টটি পুরানো পোর্টকে লক্ষ্য করতে পারে যদি এটি ইতিমধ্যে চলছে বা বাহ্যিকভাবে চালু করা হয়েছে।", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "পাইথন স্ক্রিপ্ট পাওয়া যায়নি বা এটি একটি ফাইল নয়:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "স্ক্রিপ্ট ফাইল অ্যাক্সেস করার সময় ত্রুটি:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "পাইথন স্ক্রিপ্ট চালানো হচ্ছে:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "চালানোর সময় ত্রুটি", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "দিয়ে", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "ব্যর্থ হয়েছে এক্সিট কোড", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "সহ। কনসোল লগ পরীক্ষা করুন।", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "একটি বৈধ পাইথন এক্সিকিউটেবল খুঁজে পাওয়া যায়নি। চেষ্টা করা হয়েছে:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "অনুগ্রহ করে নিশ্চিত করুন যে পাইথন ইনস্টল করা আছে এবং আপনার সিস্টেমের PATH (অথবা উইন্ডোজে 'py' লঞ্চার) এর মাধ্যমে অ্যাক্সেসযোগ্য।", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "পাইথন স্ক্রিপ্ট ফোল্ডার পাওয়া যায়নি বা অবৈধ। অনুগ্রহ করে প্লাগইন সেটিংস পরীক্ষা করুন।", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "স্ক্রিপ্ট ফোল্ডার পড়ার সময় ত্রুটি:", 41 | NOTICE_NO_SCRIPTS_FOUND: "কনফিগার করা ফোল্ডারে কোনো পাইথন স্ক্রিপ্ট (.py) পাওয়া যায়নি।", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "চালানো হচ্ছে", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "পাইথন স্ক্রিপ্ট(গুলি)...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "ইনপুট প্রয়োজনীয় বিন্যাসের সাথে মেলে না।", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "একটি নির্দিষ্ট পাইথন স্ক্রিপ্ট চালান", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "ফোল্ডারের সমস্ত পাইথন স্ক্রিপ্ট চালান", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "জমা দিন", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "চালানোর জন্য একটি পাইথন স্ক্রিপ্ট নির্বাচন করুন...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "স্ক্রিপ্ট-নির্দিষ্ট সেটিংস", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "স্ক্রিপ্ট সেটিংস রিফ্রেশ করুন", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "আপনার পাইথন স্ক্রিপ্টে সংজ্ঞায়িত সেটিংস আবিষ্কার বা আপডেট করতে স্ক্রিপ্ট ফোল্ডারটি পুনরায় স্ক্যান করুন।", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "সংজ্ঞা রিফ্রেশ করুন", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "রিফ্রেশ করা হচ্ছে...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "পাইথন স্ক্রিপ্ট ফোল্ডার কনফিগার করা হয়নি। অনুগ্রহ করে উপরে পাথ সেট করুন।", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "কনফিগার করা ফোল্ডারে সংজ্ঞায়িত সেটিংস সহ কোনো স্ক্রিপ্ট পাওয়া যায়নি, অথবা সেটিংস আবিষ্কার ব্যর্থ হয়েছে। আবার চেষ্টা করতে 'সংজ্ঞা রিফ্রেশ করুন' ক্লিক করুন।", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "এর জন্য সেটিংস:", 57 | SETTINGS_LANGUAGE_AUTO: "স্বয়ংক্রিয় (অবসিডিয়ানের সাথে মিল)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "সেটিংস রিফ্রেশ করা যাবে না: পাইথন এক্সিকিউটেবল পাওয়া যায়নি। অনুগ্রহ করে নিশ্চিত করুন পাইথন ইনস্টল করা আছে এবং PATH-এ আছে।", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "স্ক্রিপ্ট সেটিংস সংজ্ঞা রিফ্রেশ করা হচ্ছে...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "স্ক্রিপ্ট সেটিংস সংজ্ঞা সফলভাবে রিফ্রেশ করা হয়েছে!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "স্ক্রিপ্ট সেটিংস সংজ্ঞা রিফ্রেশ করতে ব্যর্থ হয়েছে। বিস্তারিত জানার জন্য লগ পরীক্ষা করুন।", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "স্ক্রিপ্ট চালানো যাবে না: পাইথন এক্সিকিউটেবল পাওয়া যায়নি। অনুগ্রহ করে ইনস্টলেশন এবং PATH পরীক্ষা করুন।", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "পাইথন স্ক্রিপ্ট সেটিংস সংজ্ঞা রিফ্রেশ করুন", 64 | SETTINGS_SECURITY_WARNING_TITLE: "নিরাপত্তা সতর্কতা", 65 | SETTINGS_SECURITY_WARNING_TEXT: "নির্বিচারে পাইথন স্ক্রিপ্ট চালানো ঝুঁকিপূর্ণ হতে পারে। আপনি যে স্ক্রিপ্টটি চালান তার উৎসের উপর আস্থা রাখুন, কারণ তারা আপনার সিস্টেম এবং ডেটা অ্যাক্সেস করতে পারে। প্লাগইন লেখক এবং স্ক্রিপ্ট লেখকরা আপনার চালানো স্ক্রিপ্টগুলির কারণে ডেটা ক্ষতি বা নিরাপত্তা সমস্যার জন্য দায়ী নন। নিজের ঝুঁকিতে স্ক্রিপ্ট চালান।", 66 | SETTINGS_LANGUAGE_TITLE: "প্লাগইন ভাষা", 67 | SETTINGS_LANGUAGE_DESC: "পাইথন ব্রিজ প্লাগইন ইন্টারফেসের জন্য প্রদর্শনের ভাষা চয়ন করুন। 'স্বয়ংক্রিয়' অবসিডিয়ানের ভাষা সেটিং অনুসরণ করে।", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "পারফরম্যান্স টিপ: ব্যাকলিঙ্ক ক্যাশে", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "বৃহৎ ভল্টে ব্যাকলিঙ্ক পুনরুদ্ধার করার সময় (get_backlinks ফাংশন ব্যবহার করে) উন্নত পারফরম্যান্সের জন্য, @mnaoumov দ্বারা তৈরি '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' কমিউনিটি প্লাগইন ইনস্টল করার কথা বিবেচনা করুন।", 70 | NOTICE_INVALID_FOLDER_PATH: "অবৈধ ফোল্ডার পাথ। অনুগ্রহ করে সেটিংসে একটি বৈধ ফোল্ডার নির্বাচন করুন।", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "কনফিগার করা পাইথন স্ক্রিপ্ট ফোল্ডার পাথ '{path}' অবৈধ বা পাওয়া যায়নি। সেটিং সাফ করা হচ্ছে।", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "স্ক্রিপ্ট সক্ষম", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "কমান্ড, শর্টকাট বা 'সব চালান' এর মাধ্যমে এই স্ক্রিপ্টটি চালানোর অনুমতি দিন।", 75 | NOTICE_SCRIPT_DISABLED: "স্ক্রিপ্ট '{scriptName}' সেটিংসে নিষ্ক্রিয় করা আছে এবং চালানো যাবে না।", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "স্টার্টআপে চালান", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Obsidian শুরু হলে এই স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে চালান (শুধুমাত্র যদি 'স্ক্রিপ্ট সক্ষম' চালু থাকে)।", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "স্টার্টআপ বিলম্ব (সেকেন্ড)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidian শুরু হওয়ার পর স্ক্রিপ্টটি চালানোর আগে এই কয়েক সেকেন্ড অপেক্ষা করুন ('স্টার্টআপে চালান' চালু থাকলেই প্রযোজ্য)। কোনো বিলম্ব না চাইলে 0 ব্যবহার করুন।", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "লাইব্রেরির জন্য স্বয়ংক্রিয়ভাবে PYTHONPATH সেট করুন", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "স্ক্রিপ্ট চালানোর সময় প্লাগইন ডিরেক্টরি স্বয়ংক্রিয়ভাবে PYTHONPATH-এ যোগ করুন, যা পাইথন লাইব্রেরির সরাসরি আমদানি সক্ষম করে (প্রস্তাবিত)। নিষ্ক্রিয় করা থাকলে, আপনাকে অবশ্যই ObsidianPluginDevPythonToJS.py আপনার স্ক্রিপ্ট ফোল্ডারে কপি করতে হবে অথবা sys.path ম্যানুয়ালি পরিচালনা করতে হবে।", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "স্বয়ংক্রিয় PYTHONPATH নিষ্ক্রিয় করা হয়েছে। নিশ্চিত করুন ObsidianPluginDevPythonToJS.py আপনার স্ক্রিপ্ট ফোল্ডারে আছে অথবা sys.path ম্যানুয়ালি পরিচালনা করুন।", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/cs.ts: -------------------------------------------------------------------------------- 1 | // cs.ts - cs translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Nastavení Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Složka Python skriptů", 6 | SETTINGS_FOLDER_DESC: "Cesta ke složce obsahující vaše Python skripty (absolutní nebo relativní k vaultu).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/cesta/k/vašim/skriptům nebo ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Port HTTP serveru", 9 | SETTINGS_PORT_DESC: "Port pro lokální HTTP server (1024-65535). Vyžaduje restart nebo uložení nastavení pro aplikaci.", 10 | SETTINGS_CACHE_TITLE: "Zakázat Python Cache (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Spusťte Python s příznakem \"-B\", abyste zabránili zápisu .pyc souborů.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP port změněn na", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Restartuji server...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Chyba Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Spustitelný soubor Pythonu nebyl nalezen v PATH.\\nNainstalujte prosím Python a ujistěte se, že je přidán do systémové proměnné prostředí PATH, aby plugin mohl spouštět skripty.\\nFunkce pluginu vyžadující Python nebudou dostupné.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Chyba Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Požadovaná knihovna Pythonu 'requests' není nainstalována pro", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nNainstalujte ji spuštěním:\\n{pythonCmd} -m pip install requests\\nFunkce pluginu vyžadující Python nebudou dostupné, dokud nebude nainstalována.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Nakonfigurován neplatný HTTP port:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Server nebyl spuštěn. Nakonfigurujte prosím platný port (1-65535) v nastavení.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Port", 23 | NOTICE_PORT_IN_USE_SUFFIX: "je již používán. Zvolte prosím jiný port v nastavení nebo ukončete jinou aplikaci, která jej používá. Server nebyl spuštěn.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Nepodařilo se spustit server na portu", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Neplatný port. Zadejte prosím číslo mezi 0 a 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP port změněn (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Skript může cílit na starý port, pokud již běží nebo byl spuštěn externě.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python skript nebyl nalezen nebo není soubor:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Chyba při přístupu k souboru skriptu:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Spouštím Python skript:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Chyba při spouštění", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "s", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "selhal s návratovým kódem", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Zkontrolujte logy konzole.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Nelze najít platný spustitelný soubor Pythonu. Zkoušeno:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Ujistěte se, že je Python nainstalován a dostupný přes systémovou proměnnou PATH (nebo spouštěč 'py' ve Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Složka Python skriptů nebyla nalezena nebo je neplatná. Zkontrolujte nastavení pluginu.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Chyba při čtení složky skriptů:", 41 | NOTICE_NO_SCRIPTS_FOUND: "V nakonfigurované složce nebyly nalezeny žádné Python skripty (.py).", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Spouštím", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "Python skript(y)...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Vstup neodpovídá požadovanému formátu.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Spustit konkrétní Python skript", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Spustit všechny Python skripty ve složce", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Odeslat", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Vyberte Python skript ke spuštění...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Nastavení Specifická pro Skript", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Obnovit Nastavení Skriptů", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Znovu proskenujte složku skriptů pro zjištění nebo aktualizaci nastavení definovaných ve vašich Python skriptech.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Obnovit Definice", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Obnovuji...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Složka Python skriptů není nakonfigurována. Nastavte prosím cestu výše.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "V nakonfigurované složce nebyly nalezeny žádné skripty s definovatelnými nastaveními, nebo se zjištění nastavení nezdařilo. Klikněte na 'Obnovit Definice' pro opakování.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Nastavení pro:", 57 | SETTINGS_LANGUAGE_AUTO: "Automaticky (Podle Obsidianu)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Nelze obnovit nastavení: Spustitelný soubor Pythonu nebyl nalezen. Ujistěte se, že je Python nainstalován a v PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Obnovuji definice nastavení skriptů...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Definice nastavení skriptů úspěšně obnoveny!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Nepodařilo se obnovit definice nastavení skriptů. Zkontrolujte logy pro detaily.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Nelze spustit skript: Spustitelný soubor Pythonu nebyl nalezen. Zkontrolujte instalaci a PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Obnovit definice nastavení Python skriptů", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Bezpečnostní Varování", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Spouštění libovolných Python skriptů může být riskantní. Ujistěte se, že důvěřujete zdroji jakéhokoli skriptu, který spouštíte, protože mohou přistupovat k vašemu systému a datům. Autor pluginu a autoři skriptů nejsou zodpovědní za žádnou ztrátu dat nebo bezpečnostní problémy způsobené skripty, které se rozhodnete spustit. Spouštějte skripty na vlastní nebezpečí.", 66 | SETTINGS_LANGUAGE_TITLE: "Jazyk Pluginu", 67 | SETTINGS_LANGUAGE_DESC: "Zvolte jazyk zobrazení pro rozhraní pluginu Python Bridge. 'Automaticky' se řídí nastavením jazyka Obsidianu.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Tip pro výkon: Mezipaměť zpětných odkazů", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Pro zlepšení výkonu při načítání zpětných odkazů (pomocí funkce get_backlinks) ve velkých trezorech zvažte instalaci komunitního pluginu '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' od @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Neplatná cesta ke složce. Vyberte prosím platnou složku v nastavení.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Nakonfigurovaná cesta ke složce skriptů Python '{path}' je neplatná nebo nebyla nalezena. Vymazání nastavení.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Skript Povolen", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Povolit spuštění tohoto skriptu pomocí příkazů, zkratek nebo 'Spustit vše'.", 75 | NOTICE_SCRIPT_DISABLED: "Skript '{scriptName}' je v nastavení zakázán a nelze jej spustit.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Spustit při startu", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Automaticky spustit tento skript při startu Obsidianu (pouze pokud je také zapnuto 'Skript povolen').", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Zpoždění startu (sekundy)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Počkejte tento počet sekund po startu Obsidianu před spuštěním skriptu (platí pouze pokud je zapnuto 'Spustit při startu'). Použijte 0 pro žádné zpoždění.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Automaticky nastavit PYTHONPATH pro knihovnu", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Automaticky přidá adresář pluginu do PYTHONPATH při spouštění skriptů, což umožňuje přímý import knihovny Python (Doporučeno). Pokud je zakázáno, musíte zkopírovat ObsidianPluginDevPythonToJS.py do složky se skripty nebo spravovat sys.path ručně.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Automatické nastavení PYTHONPATH zakázáno. Ujistěte se, že soubor ObsidianPluginDevPythonToJS.py je ve vaší složce skriptů, nebo spravujte sys.path ručně.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/en.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/en.ts --- 2 | // English translations (default) 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge Settings", 6 | SETTINGS_FOLDER_TITLE: "Python Scripts Folder", 7 | SETTINGS_FOLDER_DESC: 8 | "Path to the folder containing your Python scripts (absolute or relative to the vault).", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts or ./scripts-python", 10 | SETTINGS_PORT_TITLE: "HTTP Server Port", 11 | SETTINGS_PORT_DESC: 12 | "Port for the local HTTP server (1024-65535). Requires restart or settings save to apply.", 13 | SETTINGS_CACHE_TITLE: "Disable Python Cache (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | 'Run Python with the "-B" flag to prevent writing .pyc files.', 16 | // SETTINGS_AUTO_PYTHONPATH_NAME: "Auto-set PYTHONPATH for Library", // <-- REMOVED FROM HERE 17 | // SETTINGS_AUTO_PYTHONPATH_DESC: "...", // <-- REMOVED FROM HERE 18 | 19 | // main.ts Notices 20 | NOTICE_PLUGIN_NAME: "Python Bridge", // Added for prefixing notices 21 | NOTICE_PORT_CHANGED_PREFIX: "HTTP port changed to", 22 | NOTICE_PORT_CHANGED_SUFFIX: "Restarting server...", 23 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge Error:", 24 | NOTICE_PYTHON_MISSING_DESC: "Python executable not found in PATH.\nPlease install Python and ensure it's added to your system's PATH environment variable for the plugin to run scripts.\nPlugin features requiring Python will be unavailable.", 25 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge Error:", 26 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "The required Python library 'requests' is not installed for", // {pythonCmd} will be inserted here 27 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\nPlease install it by running:\n{pythonCmd} -m pip install requests\nPlugin features requiring Python will be unavailable until installed.", // {pythonCmd} will be inserted here 28 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Invalid HTTP port configured:", 29 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Server not started. Please configure a valid port (1-65535) in settings.", 30 | NOTICE_PORT_IN_USE_PREFIX: "Port", 31 | NOTICE_PORT_IN_USE_SUFFIX: "is already in use. Please choose another port in settings or close the other application using it. Server not started.", 32 | NOTICE_SERVER_START_FAILED_PREFIX: "Failed to start server on port", 33 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", // Original message had error details appended after this 34 | NOTICE_INVALID_PORT_RANGE: "Invalid port. Please enter a number between 0 and 65535.", 35 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP Port changed (", 36 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 37 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Script might target the old port if already running or launched externally.", 38 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python script not found or is not a file:", 39 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Error accessing script file:", 40 | NOTICE_RUNNING_SCRIPT_PREFIX: "Running Python script:", 41 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Error running", 42 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "with", 43 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "failed with exit code", 44 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Check console logs.", 45 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Could not find a valid Python executable. Tried:", 46 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Please ensure Python is installed and accessible via your system's PATH (or the 'py' launcher on Windows).", 47 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python scripts folder not found or invalid. Please check plugin settings.", 48 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Error reading scripts folder:", 49 | NOTICE_NO_SCRIPTS_FOUND: "No Python scripts (.py) found in the configured folder.", 50 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Running", 51 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "Python script(s)...", 52 | NOTICE_INPUT_VALIDATION_FAILED: "Input does not match the required format.", // Added for UserInputModal 53 | 54 | // main.ts Commands 55 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Run a specific Python script", 56 | CMD_RUN_ALL_SCRIPTS_NAME: "Run all Python scripts in folder", 57 | 58 | // UserInputModal 59 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Submit", 60 | 61 | // ScriptSelectionModal (Placeholder - if needed later) 62 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Select a Python script to run...", 63 | // MODAL_SELECT_SCRIPT_PLACEHOLDER: "Select a Python script to run...", 64 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Script-Specific Settings", 65 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Refresh Script Settings", 66 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Rescan the scripts folder to discover or update settings defined within your Python scripts.", 67 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Refresh Definitions", 68 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Refreshing...", 69 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python scripts folder is not configured. Please set the path above.", 70 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "No scripts with definable settings found in the configured folder, or settings discovery failed. Click 'Refresh Definitions' to try again.", 71 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Settings for:", 72 | SETTINGS_LANGUAGE_AUTO: "Automatic (Match Obsidian)", 73 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Cannot refresh settings: Python executable not found. Please ensure Python is installed and in PATH.", 74 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Refreshing script settings definitions...", 75 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Script settings definitions refreshed successfully!", 76 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Failed to refresh script settings definitions. Check logs for details.", 77 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Cannot run script: Python executable not found. Please check installation and PATH.", 78 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Refresh Python script settings definitions", 79 | SETTINGS_SECURITY_WARNING_TITLE: "Security Warning", 80 | SETTINGS_SECURITY_WARNING_TEXT: "Executing arbitrary Python scripts can be risky. Ensure you trust the source of any script you run, as they can access your system and data. The plugin author and script authors are not responsible for any data loss or security issues caused by scripts you choose to execute. Run scripts at your own risk.", 81 | SETTINGS_LANGUAGE_TITLE: "Plugin Language", 82 | SETTINGS_LANGUAGE_DESC: "Choose the display language for the Python Bridge plugin interface. 'Automatic' follows Obsidian's language setting.", 83 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Performance Tip: Backlink Cache", 84 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "For improved performance when retrieving backlinks (using the get_backlinks function) in large vaults, consider installing the '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' community plugin by @mnaoumov.", 85 | NOTICE_INVALID_FOLDER_PATH: "Invalid folder path. Please select a valid folder in settings.", 86 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Configured Python scripts folder path '{path}' is invalid or not found. Clearing setting.", 87 | 88 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Script Enabled", 89 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Allow this script to be executed via commands, shortcuts, or 'Run All'.", 90 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Run on Startup", 91 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Automatically run this script when Obsidian starts (only if 'Script Enabled' is also on).", 92 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Startup Delay (seconds)", 93 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Wait this many seconds after Obsidian starts before running the script (only applies if 'Run on Startup' is on). Use 0 for no delay.", 94 | NOTICE_SCRIPT_DISABLED: "Script '{scriptName}' is disabled in settings and cannot be executed.", 95 | 96 | // --- ADDED KEYS AT THE END --- 97 | SETTINGS_AUTO_PYTHONPATH_NAME: "Auto-set PYTHONPATH for Library", 98 | SETTINGS_AUTO_PYTHONPATH_DESC: "Automatically add the plugin directory to PYTHONPATH when running scripts, allowing direct import of the Python library (Recommended). If disabled, you must copy ObsidianPluginDevPythonToJS.py to your scripts folder or manage sys.path manually.", 99 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Automatic PYTHONPATH disabled. Ensure ObsidianPluginDevPythonToJS.py is in your script folder or manage sys.path manually.", 100 | 101 | }; 102 | -------------------------------------------------------------------------------- /src/lang/fa.ts: -------------------------------------------------------------------------------- 1 | // fa.ts - fa translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "تنظیمات Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "پوشه اسکریپت‌های پایتون", 6 | SETTINGS_FOLDER_DESC: "مسیر پوشه‌ای که حاوی اسکریپت‌های پایتون شماست (مطلق یا نسبی به والت).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts یا ./scripts-python", 8 | SETTINGS_PORT_TITLE: "پورت سرور HTTP", 9 | SETTINGS_PORT_DESC: "پورت برای سرور HTTP محلی (1024-65535). برای اعمال نیاز به راه‌اندازی مجدد یا ذخیره تنظیمات دارد.", 10 | SETTINGS_CACHE_TITLE: "غیرفعال کردن کش پایتون (__pycache__)", 11 | SETTINGS_CACHE_DESC: "پایتون را با پرچم \"-B\" اجرا کنید تا از نوشتن فایل‌های .pyc جلوگیری شود.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "پورت HTTP به", 14 | NOTICE_PORT_CHANGED_SUFFIX: "تغییر کرد. در حال راه‌اندازی مجدد سرور...", 15 | NOTICE_PYTHON_MISSING_TITLE: "خطای Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "فایل اجرایی پایتون در PATH یافت نشد.\\nلطفاً پایتون را نصب کنید و اطمینان حاصل کنید که به متغیر محیطی PATH سیستم شما اضافه شده است تا افزونه بتواند اسکریپت‌ها را اجرا کند.\\nویژگی‌های افزونه که به پایتون نیاز دارند در دسترس نخواهند بود.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "خطای Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "کتابخانه پایتون مورد نیاز 'requests' برای", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "نصب نشده است.\\nلطفاً آن را با اجرای دستور زیر نصب کنید:\\n{pythonCmd} -m pip install requests\\nویژگی‌های افزونه که به پایتون نیاز دارند تا زمان نصب در دسترس نخواهند بود.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "پورت HTTP نامعتبر پیکربندی شده است:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "سرور شروع نشد. لطفاً یک پورت معتبر (1-65535) را در تنظیمات پیکربندی کنید.", 22 | NOTICE_PORT_IN_USE_PREFIX: "پورت", 23 | NOTICE_PORT_IN_USE_SUFFIX: "در حال حاضر استفاده می‌شود. لطفاً پورت دیگری را در تنظیمات انتخاب کنید یا برنامه دیگری که از آن استفاده می‌کند را ببندید. سرور شروع نشد.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "شروع به کار سرور روی پورت", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: "ناموفق بود.", 26 | NOTICE_INVALID_PORT_RANGE: "پورت نامعتبر است. لطفاً عددی بین 0 تا 65535 وارد کنید.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: پورت HTTP تغییر کرد (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). اسکریپت ممکن است پورت قدیمی را هدف قرار دهد اگر از قبل در حال اجرا باشد یا از خارج راه‌اندازی شده باشد.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "اسکریپت پایتون یافت نشد یا یک فایل نیست:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "خطا در دسترسی به فایل اسکریپت:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "در حال اجرای اسکریپت پایتون:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "خطا در اجرای", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "با", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "با کد خروج", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "ناموفق بود. لاگ‌های کنسول را بررسی کنید.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "فایل اجرایی پایتون معتبری یافت نشد. تلاش شد:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "لطفاً اطمینان حاصل کنید که پایتون نصب شده و از طریق PATH سیستم شما (یا لانچر 'py' در ویندوز) قابل دسترسی است.", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "پوشه اسکریپت‌های پایتون یافت نشد یا نامعتبر است. لطفاً تنظیمات افزونه را بررسی کنید.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "خطا در خواندن پوشه اسکریپت‌ها:", 41 | NOTICE_NO_SCRIPTS_FOUND: "هیچ اسکریپت پایتون (.py) در پوشه پیکربندی شده یافت نشد.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "در حال اجرا", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "اسکریپت پایتون...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "ورودی با فرمت مورد نیاز مطابقت ندارد.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "اجرای یک اسکریپت پایتون خاص", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "اجرای تمام اسکریپت‌های پایتون در پوشه", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "ارسال", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "یک اسکریپت پایتون برای اجرا انتخاب کنید...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "تنظیمات مخصوص اسکریپت", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "بازخوانی تنظیمات اسکریپت", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "پوشه اسکریپت‌ها را برای کشف یا به‌روزرسانی تنظیمات تعریف شده در اسکریپت‌های پایتون خود دوباره اسکن کنید.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "بازخوانی تعاریف", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "در حال بازخوانی...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "پوشه اسکریپت‌های پایتون پیکربندی نشده است. لطفاً مسیر را در بالا تنظیم کنید.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "هیچ اسکریپتی با تنظیمات قابل تعریف در پوشه پیکربندی شده یافت نشد، یا کشف تنظیمات ناموفق بود. برای تلاش مجدد روی 'بازخوانی تعاریف' کلیک کنید.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "تنظیمات برای:", 57 | SETTINGS_LANGUAGE_AUTO: "خودکار (مطابق با Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "نمی‌توان تنظیمات را بازخوانی کرد: فایل اجرایی پایتون یافت نشد. لطفاً اطمینان حاصل کنید که پایتون نصب شده و در PATH قرار دارد.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "در حال بازخوانی تعاریف تنظیمات اسکریپت...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "تعاریف تنظیمات اسکریپت با موفقیت بازخوانی شد!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "بازخوانی تعاریف تنظیمات اسکریپت ناموفق بود. برای جزئیات لاگ‌ها را بررسی کنید.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "نمی‌توان اسکریپت را اجرا کرد: فایل اجرایی پایتون یافت نشد. لطفاً نصب و PATH را بررسی کنید.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "بازخوانی تعاریف تنظیمات اسکریپت پایتون", 64 | SETTINGS_SECURITY_WARNING_TITLE: "هشدار امنیتی", 65 | SETTINGS_SECURITY_WARNING_TEXT: "اجرای اسکریپت‌های پایتون دلخواه می‌تواند خطرناک باشد. اطمینان حاصل کنید که به منبع هر اسکریپتی که اجرا می‌کنید اعتماد دارید، زیرا آنها می‌توانند به سیستم و داده‌های شما دسترسی پیدا کنند. نویسنده افزونه و نویسندگان اسکریپت مسئولیتی در قبال از دست دادن داده‌ها یا مشکلات امنیتی ناشی از اسکریپت‌هایی که برای اجرا انتخاب می‌کنید، ندارند. اسکریپت‌ها را با مسئولیت خود اجرا کنید.", 66 | SETTINGS_LANGUAGE_TITLE: "زبان افزونه", 67 | SETTINGS_LANGUAGE_DESC: "زبان نمایش رابط کاربری افزونه Python Bridge را انتخاب کنید. 'خودکار' از تنظیمات زبان Obsidian پیروی می‌کند.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "نکته عملکرد: حافظه پنهان بک‌لینک", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "برای بهبود عملکرد هنگام بازیابی بک‌لینک‌ها (با استفاده از تابع get_backlinks) در والت‌های بزرگ، نصب افزونه جامعه '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' توسط @mnaoumov را در نظر بگیرید.", 70 | NOTICE_INVALID_FOLDER_PATH: "مسیر پوشه نامعتبر است. لطفاً یک پوشه معتبر در تنظیمات انتخاب کنید.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "مسیر پوشه اسکریپت پایتون پیکربندی شده '{path}' نامعتبر است یا یافت نشد. در حال پاک کردن تنظیمات.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "اسکریپت فعال شد", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "اجازه دهید این اسکریپت از طریق دستورات، میانبرها یا «اجرای همه» اجرا شود.", 75 | NOTICE_SCRIPT_DISABLED: "اسکریپت '{scriptName}' در تنظیمات غیرفعال است و قابل اجرا نیست.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "اجرا در هنگام راه‌اندازی", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "این اسکریپت را به طور خودکار هنگام شروع Obsidian اجرا کنید (فقط در صورتی که 'اسکریپت فعال' نیز روشن باشد).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "تأخیر راه‌اندازی (ثانیه)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "این تعداد ثانیه پس از شروع Obsidian صبر کنید و سپس اسکریپت را اجرا کنید (فقط در صورتی اعمال می‌شود که 'اجرا در هنگام راه‌اندازی' روشن باشد). برای عدم تأخیر از 0 استفاده کنید.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "تنظیم خودکار PYTHONPATH برای کتابخانه", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "هنگام اجرای اسکریپت‌ها، دایرکتوری افزونه را به‌طور خودکار به PYTHONPATH اضافه می‌کند و امکان وارد کردن مستقیم کتابخانه پایتون را فراهم می‌کند (توصیه می‌شود). اگر غیرفعال باشد، باید ObsidianPluginDevPythonToJS.py را در پوشه اسکریپت‌های خود کپی کنید یا sys.path را به‌صورت دستی مدیریت کنید.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH خودکار غیرفعال شد. اطمینان حاصل کنید که ObsidianPluginDevPythonToJS.py در پوشه اسکریپت شما قرار دارد یا sys.path را به صورت دستی مدیریت کنید.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/fi.ts: -------------------------------------------------------------------------------- 1 | // fi.ts - fi translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge -asetukset", 5 | SETTINGS_FOLDER_TITLE: "Python-skriptien kansio", 6 | SETTINGS_FOLDER_DESC: "Polku kansioon, joka sisältää Python-skriptisi (absoluuttinen tai suhteessa vaultiin).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/polku/skripteihisi tai ./scripts-python", 8 | SETTINGS_PORT_TITLE: "HTTP-palvelimen portti", 9 | SETTINGS_PORT_DESC: "Paikallisen HTTP-palvelimen portti (1024-65535). Vaatii uudelleenkäynnistyksen tai asetusten tallentamisen penerapan.", 10 | SETTINGS_CACHE_TITLE: "Poista Python-välimuisti käytöstä (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Aja Python \"-B\"-lipulla estääksesi .pyc-tiedostojen kirjoittamisen.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP-portti vaihdettu porttiin", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Käynnistetään palvelin uudelleen...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge -virhe:", 16 | NOTICE_PYTHON_MISSING_DESC: "Python-suoritettavaa tiedostoa ei löytynyt PATH-muuttujasta.\\nAsenna Python ja varmista, että se on lisätty järjestelmän PATH-ympäristömuuttujaan, jotta lisäosa voi suorittaa skriptejä.\\nPythonia vaativat lisäosan ominaisuudet eivät ole käytettävissä.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge -virhe:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Vaadittua Python-kirjastoa 'requests' ei ole asennettu kohteelle", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nAsenna se suorittamalla:\\n{pythonCmd} -m pip install requests\\nPythonia vaativat lisäosan ominaisuudet eivät ole käytettävissä ennen asennusta.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Virheellinen HTTP-portti määritetty:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Palvelinta ei käynnistetty. Määritä kelvollinen portti (1-65535) asetuksissa.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Portti", 23 | NOTICE_PORT_IN_USE_SUFFIX: "on jo käytössä. Valitse toinen portti asetuksista tai sulje sitä käyttävä sovellus. Palvelinta ei käynnistetty.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Palvelimen käynnistäminen portissa", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: "epäonnistui.", 26 | NOTICE_INVALID_PORT_RANGE: "Virheellinen portti. Anna numero väliltä 0–65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP-portti muuttui (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Skripti saattaa kohdistaa vanhaan porttiin, jos se on jo käynnissä tai käynnistetty ulkoisesti.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python-skriptiä ei löytynyt tai se ei ole tiedosto:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Virhe skriptitiedoston käytössä:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Suoritetaan Python-skriptiä:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Virhe suoritettaessa", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "komennolla", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "epäonnistui poistumiskoodilla", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Tarkista konsolilokit.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Kelvollista Python-suoritettavaa tiedostoa ei löytynyt. Yritetty:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Varmista, että Python on asennettu ja käytettävissä järjestelmän PATH-muuttujan kautta (tai 'py'-käynnistimellä Windowsissa).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python-skriptien kansiota ei löytynyt tai se on virheellinen. Tarkista lisäosan asetukset.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Virhe luettaessa skriptikansiota:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Määritetystä kansiosta ei löytynyt Python-skriptejä (.py).", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Suoritetaan", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "Python-skripti(ä)...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Syöte ei vastaa vaadittua muotoa.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Suorita tietty Python-skripti", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Suorita kaikki Python-skriptit kansiossa", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Lähetä", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Valitse suoritettava Python-skripti...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Skriptikohtaiset Asetukset", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Päivitä Skriptiasetukset", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Skannaa skriptikansio uudelleen löytääksesi tai päivittääksesi Python-skripteissäsi määritellyt asetukset.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Päivitä Määritelmät", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Päivitetään...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python-skriptien kansiota ei ole määritetty. Aseta polku yllä.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Määritetystä kansiosta ei löytynyt skriptejä, joilla olisi määriteltäviä asetuksia, tai asetusten löytäminen epäonnistui. Napsauta 'Päivitä Määritelmät' yrittääksesi uudelleen.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Asetukset kohteelle:", 57 | SETTINGS_LANGUAGE_AUTO: "Automaattinen (Vastaa Obsidiania)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Asetuksia ei voi päivittää: Python-suoritettavaa tiedostoa ei löytynyt. Varmista, että Python on asennettu ja PATH-muuttujassa.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Päivitetään skriptiasetusten määrittelyjä...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Skriptiasetusten määrittelyt päivitetty onnistuneesti!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Skriptiasetusten määrittelyjen päivitys epäonnistui. Tarkista lokit lisätietoja varten.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Skriptiä ei voi suorittaa: Python-suoritettavaa tiedostoa ei löytynyt. Tarkista asennus ja PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Päivitä Python-skriptiasetusten määrittelyt", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Turvallisuusvaroitus", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Mielivaltaisten Python-skriptien suorittaminen voi olla riskialtista. Varmista, että luotat minkä tahansa suorittamasi skriptin lähteeseen, sillä ne voivat käyttää järjestelmääsi ja tietojasi. Lisäosan tekijä ja skriptien tekijät eivät ole vastuussa mistään tietojen menetyksestä tai tietoturvaongelmista, jotka johtuvat valitsemistasi skripteistä. Suorita skriptit omalla vastuullasi.", 66 | SETTINGS_LANGUAGE_TITLE: "Lisäosan Kieli", 67 | SETTINGS_LANGUAGE_DESC: "Valitse Python Bridge -lisäosan käyttöliittymän näyttökieli. 'Automaattinen' noudattaa Obsidianin kieliasetusta.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Suorituskykyvinkki: Palautuslinkkien välimuisti", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Parantaaksesi suorituskykyä palautuslinkkejä haettaessa (käyttäen get_backlinks-funktiota) suurissa holveissa, harkitse @mnaoumov:n kehittämän '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' -yhteisölaajennuksen asentamista.", 70 | NOTICE_INVALID_FOLDER_PATH: "Virheellinen kansion polku. Valitse kelvollinen kansio asetuksista.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Määritetty Python-skriptikansion polku '{path}' on virheellinen tai sitä ei löydy. Tyhjennetään asetusta.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Skripti Käytössä", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Salli tämän skriptin suorittaminen komentojen, pikanäppäinten tai 'Suorita kaikki' kautta.", 75 | NOTICE_SCRIPT_DISABLED: "Skripti '{scriptName}' on poistettu käytöstä asetuksista, eikä sitä voi suorittaa.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Suorita käynnistyksen yhteydessä", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Suorita tämä skripti automaattisesti Obsidianin käynnistyessä (vain jos 'Skripti käytössä' on myös päällä).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Käynnistysviive (sekuntia)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Odota näin monta sekuntia Obsidianin käynnistymisen jälkeen ennen skriptin suorittamista (koskee vain, jos 'Suorita käynnistyksen yhteydessä' on päällä). Käytä 0, jos et halua viivettä.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Aseta PYTHONPATH automaattisesti kirjastolle", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Lisää automaattisesti laajennushakemiston PYTHONPATHiin komentosarjoja suoritettaessa, mikä mahdollistaa Python-kirjaston suoran tuonnin (Suositus). Jos se on poistettu käytöstä, sinun on kopioitava ObsidianPluginDevPythonToJS.py komentosarjakansioosi tai hallittava sys.pathia manuaalisesti.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Automaattinen PYTHONPATH pois käytöstä. Varmista, että ObsidianPluginDevPythonToJS.py on komentosarjakansiossasi tai hallitse sys.pathia manuaalisesti.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/ha.ts: -------------------------------------------------------------------------------- 1 | // ha.ts - ha translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Saitunan Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Jakkar Rubutun Python", 6 | SETTINGS_FOLDER_DESC: "Hanyar zuwa jakkar da ke dauke da rubutun Python naka (cikakke ko dangane da vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/hanya/zuwa/rubutunka ko ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Tashar Sabar HTTP", 9 | SETTINGS_PORT_DESC: "Tasha don sabar HTTP ta gida (1024-65535). Yana buƙatar sake kunnawa ko adana saituna don amfani.", 10 | SETTINGS_CACHE_TITLE: "Kashe Cache na Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Gudun Python da tutar \"-B\" don hana rubuta fayilolin .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "An canza tashar HTTP zuwa", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Sake kunna sabar...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Kuskuren Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Ba a sami mai aiwatar da Python a cikin PATH ba.\\nDa fatan za a shigar da Python kuma tabbatar an ƙara shi zuwa madaidaicin yanayin PATH na tsarin ku don plugin ya iya gudanar da rubutu.\\nAbubuwan plugin da ke buƙatar Python ba za su kasance ba.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Kuskuren Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Ba a shigar da ɗakin karatu na Python da ake buƙata 'requests' ba don", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nDa fatan za a shigar da shi ta hanyar gudanarwa:\\n{pythonCmd} -m pip install requests\\nAbubuwan plugin da ke buƙatar Python ba za su kasance ba har sai an shigar.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "An saita tashar HTTP mara inganci:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Ba a fara sabar ba. Da fatan za a saita tasha mai inganci (1-65535) a cikin saituna.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Tasha", 23 | NOTICE_PORT_IN_USE_SUFFIX: "ta riga ta kasance cikin amfani. Da fatan za a zaɓi wata tasha a cikin saituna ko rufe wani aikace-aikacen da ke amfani da ita. Ba a fara sabar ba.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "An kasa fara sabar a tashar", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Tashar da ba ta da inganci. Da fatan za a shigar da lamba tsakanin 0 da 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: An canza Tashar HTTP (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Rubutun na iya nufin tsohuwar tasha idan tana gudana ko an ƙaddamar da ita daga waje.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Ba a sami rubutun Python ba ko ba fayil ba ne:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Kuskure wajen samun damar fayil ɗin rubutu:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Ana gudanar da rubutun Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Kuskure wajen gudanarwa", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "da", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "ya kasa da lambar fita", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Duba log ɗin na'ura mai kwakwalwa.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "An kasa samun ingantaccen mai aiwatar da Python. An gwada:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Da fatan za a tabbatar an shigar da Python kuma ana iya samun damar ta ta hanyar PATH na tsarin ku (ko mai ƙaddamar da 'py' a kan Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Ba a sami jakkar rubutun Python ba ko mara inganci. Da fatan za a duba saitunan plugin.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Kuskure wajen karanta jakkar rubutu:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Ba a sami rubutun Python (.py) a cikin jakkar da aka saita ba.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Ana gudanarwa", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "rubutun Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Shigarwar ba ta dace da tsarin da ake buƙata ba.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Gudun takamaiman rubutun Python", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Gudun duk rubutun Python a cikin jaka", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Gabatar", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Zaɓi rubutun Python don gudana...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Saitunan Musamman na Rubutu", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Sake Sabunta Saitunan Rubutu", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Sake duba jakkar rubutu don gano ko sabunta saitunan da aka ayyana a cikin rubutun Python naka.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Sake Sabunta Ma'anoni", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Ana sake sabuntawa...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Ba a saita jakkar rubutun Python ba. Da fatan za a saita hanyar a sama.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Ba a sami rubutu tare da saitunan da za a iya ayyanawa a cikin jakkar da aka saita ba, ko kuma gano saitunan ya kasa. Danna 'Sake Sabunta Ma'anoni' don sake gwadawa.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Saituna don:", 57 | SETTINGS_LANGUAGE_AUTO: "Atomatik (Daidaita da Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "An kasa sake sabunta saituna: Ba a sami mai aiwatar da Python ba. Da fatan za a tabbatar an shigar da Python kuma yana cikin PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Ana sake sabunta ma'anonin saitunan rubutu...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "An sake sabunta ma'anonin saitunan rubutu cikin nasara!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "An kasa sake sabunta ma'anonin saitunan rubutu. Duba log don cikakken bayani.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "An kasa gudanar da rubutu: Ba a sami mai aiwatar da Python ba. Da fatan za a duba shigarwa da PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Sake sabunta ma'anonin saitunan rubutun Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Gargaɗin Tsaro", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Gudanar da rubutun Python na son rai na iya zama mai haɗari. Tabbatar ka amince da tushen kowane rubutun da kake gudanarwa, saboda suna iya samun damar tsarin ka da bayananka. Marubucin plugin da marubutan rubutu ba su da alhakin kowane asarar bayanai ko matsalolin tsaro da rubutun da ka zaɓa ya haifar. Gudanar da rubutu a kan haɗarinka.", 66 | SETTINGS_LANGUAGE_TITLE: "Harshen Plugin", 67 | SETTINGS_LANGUAGE_DESC: "Zaɓi harshen nuni don mahallin plugin na Python Bridge. 'Atomatik' yana bin saitin harshe na Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Tukwici na Aiki: Ma'ajiyar Backlink", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Don ingantaccen aiki lokacin da ake dawo da backlinks (ta amfani da aikin get_backlinks) a cikin manyan vaults, yi la'akari da shigar da plugin na al'umma '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' ta @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Hanyar babban fayil mara inganci. Da fatan za a zaɓi babban fayil mai inganci a cikin saituna.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Hanyar babban fayil ɗin rubutun Python da aka saita '{path}' ba ta da inganci ko ba a samo ta ba. Share saitin.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "An kunna Script", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Bada damar aiwatar da wannan rubutun ta hanyar umarni, gajerun hanyoyi, ko 'Run All'.", 75 | NOTICE_SCRIPT_DISABLED: "An kashe Script '{scriptName}' a cikin saituna kuma ba za a iya aiwatar da shi ba.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Gudun Lokacin Farawa", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Gudun wannan rubutun ta atomatik lokacin da Obsidian ya fara (kawai idan 'An kunna Script' shima yana kunne).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Jinkirin Farawa (sakanni)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Jira wannan adadin sakanni bayan Obsidian ya fara kafin gudanar da rubutun (yana aiki ne kawai idan 'Gudun Lokacin Farawa' yana kunne). Yi amfani da 0 don babu jinkiri.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Saita PYTHONPATH ta atomatik don Laburare", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Ƙara babban fayil ɗin plugin ta atomatik zuwa PYTHONPATH lokacin gudanar da rubutun, yana ba da damar shigo da laburaren Python kai tsaye (An ba da shawarar). Idan an kashe, dole ne ka kwafi ObsidianPluginDevPythonToJS.py zuwa babban fayil ɗin rubutun ka ko sarrafa sys.path da hannu.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "An kashe PYTHONPATH ta atomatik. Tabbatar cewa ObsidianPluginDevPythonToJS.py yana cikin babban fayil ɗin rubutun ka ko sarrafa sys.path da hannu.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/id.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/id.ts --- 2 | // Indonesian translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Pengaturan Obsidian Python Bridge", 6 | SETTINGS_FOLDER_TITLE: "Folder Skrip Python", 7 | SETTINGS_FOLDER_DESC: 8 | "Path ke folder yang berisi skrip Python Anda (absolut atau relatif terhadap vault).", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/path/ke/skrip/anda atau ./scripts-python", 10 | SETTINGS_PORT_TITLE: "Port Server HTTP", 11 | SETTINGS_PORT_DESC: 12 | "Port untuk server HTTP lokal (1024-65535). Memerlukan restart atau simpan pengaturan untuk menerapkan.", 13 | SETTINGS_CACHE_TITLE: "Nonaktifkan Cache Python (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | 'Jalankan Python dengan flag "-B" untuk mencegah penulisan file .pyc.', 16 | 17 | // main.ts Notices 18 | NOTICE_PLUGIN_NAME: "Python Bridge", 19 | NOTICE_PORT_CHANGED_PREFIX: "Port HTTP diubah ke", 20 | NOTICE_PORT_CHANGED_SUFFIX: "Memulai ulang server...", 21 | NOTICE_PYTHON_MISSING_TITLE: "Kesalahan Python Bridge:", 22 | NOTICE_PYTHON_MISSING_DESC: "Eksekutable Python tidak ditemukan di PATH.\nHarap instal Python dan pastikan ditambahkan ke variabel lingkungan PATH sistem Anda agar plugin dapat menjalankan skrip.\nFitur plugin yang memerlukan Python tidak akan tersedia.", 23 | NOTICE_REQUESTS_MISSING_TITLE: "Kesalahan Python Bridge:", 24 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Pustaka Python yang diperlukan 'requests' tidak diinstal untuk", 25 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\nHarap instal dengan menjalankan:\n{pythonCmd} -m pip install requests\nFitur plugin yang memerlukan Python tidak akan tersedia sampai diinstal.", 26 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Port HTTP yang dikonfigurasi tidak valid:", 27 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Server tidak dimulai. Harap konfigurasikan port yang valid (1-65535) di pengaturan.", 28 | NOTICE_PORT_IN_USE_PREFIX: "Port", 29 | NOTICE_PORT_IN_USE_SUFFIX: "sudah digunakan. Harap pilih port lain di pengaturan atau tutup aplikasi lain yang menggunakannya. Server tidak dimulai.", 30 | NOTICE_SERVER_START_FAILED_PREFIX: "Gagal memulai server di port", 31 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 32 | NOTICE_INVALID_PORT_RANGE: "Port tidak valid. Harap masukkan angka antara 0 dan 65535.", 33 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Port HTTP berubah (", 34 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 35 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Skrip mungkin menargetkan port lama jika sudah berjalan atau diluncurkan secara eksternal.", 36 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Skrip Python tidak ditemukan atau bukan file:", 37 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Kesalahan mengakses file skrip:", 38 | NOTICE_RUNNING_SCRIPT_PREFIX: "Menjalankan skrip Python:", 39 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Kesalahan saat menjalankan", 40 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "dengan", 41 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "gagal dengan kode keluar", 42 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Periksa log konsol.", 43 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Tidak dapat menemukan eksekutable Python yang valid. Mencoba:", 44 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Harap pastikan Python diinstal dan dapat diakses melalui PATH sistem Anda (atau peluncur 'py' di Windows).", 45 | NOTICE_SCRIPTS_FOLDER_INVALID: "Folder skrip Python tidak ditemukan atau tidak valid. Harap periksa pengaturan plugin.", 46 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Kesalahan membaca folder skrip:", 47 | NOTICE_NO_SCRIPTS_FOUND: "Tidak ada skrip Python (.py) yang ditemukan di folder yang dikonfigurasi.", 48 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Menjalankan", 49 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "skrip Python...", 50 | NOTICE_INPUT_VALIDATION_FAILED: "Input tidak cocok dengan format yang dibutuhkan.", 51 | 52 | // main.ts Commands 53 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Jalankan skrip Python tertentu", 54 | CMD_RUN_ALL_SCRIPTS_NAME: "Jalankan semua skrip Python di folder", 55 | 56 | // UserInputModal 57 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Pilih skrip Python untuk dijalankan...", 58 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Kirim", 59 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Pengaturan Khusus Skrip", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Segarkan Pengaturan Skrip", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Pindai ulang folder skrip untuk menemukan atau memperbarui pengaturan yang ditentukan dalam skrip Python Anda.", 62 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Segarkan Definisi", 63 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Menyegarkan...", 64 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Folder skrip Python belum dikonfigurasi. Harap atur path di atas.", 65 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Tidak ada skrip dengan pengaturan yang dapat ditentukan ditemukan di folder yang dikonfigurasi, atau penemuan pengaturan gagal. Klik 'Segarkan Definisi' untuk mencoba lagi.", 66 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Pengaturan untuk:", 67 | SETTINGS_LANGUAGE_AUTO: "Otomatis (Sesuai Obsidian)", 68 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Tidak dapat menyegarkan pengaturan: Eksekusi Python tidak ditemukan. Pastikan Python terinstal dan ada di PATH.", 69 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Menyegarkan definisi pengaturan skrip...", 70 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Definisi pengaturan skrip berhasil disegarkan!", 71 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Gagal menyegarkan definisi pengaturan skrip. Periksa log untuk detail.", 72 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Tidak dapat menjalankan skrip: Eksekusi Python tidak ditemukan. Periksa instalasi dan PATH.", 73 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Segarkan definisi pengaturan skrip Python", 74 | SETTINGS_SECURITY_WARNING_TITLE: "Peringatan Keamanan", 75 | SETTINGS_SECURITY_WARNING_TEXT: "Menjalankan skrip Python sembarangan bisa berisiko. Pastikan Anda mempercayai sumber skrip apa pun yang Anda jalankan, karena skrip tersebut dapat mengakses sistem dan data Anda. Penulis plugin dan penulis skrip tidak bertanggung jawab atas kehilangan data atau masalah keamanan apa pun yang disebabkan oleh skrip yang Anda pilih untuk dijalankan. Jalankan skrip dengan risiko Anda sendiri.", 76 | SETTINGS_LANGUAGE_TITLE: "Bahasa Plugin", 77 | SETTINGS_LANGUAGE_DESC: "Pilih bahasa tampilan untuk antarmuka plugin Python Bridge. 'Otomatis' mengikuti pengaturan bahasa Obsidian.", 78 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Tips Performa: Cache Backlink", 79 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Untuk peningkatan performa saat mengambil backlink (menggunakan fungsi get_backlinks) di vault besar, pertimbangkan untuk menginstal plugin komunitas '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' oleh @mnaoumov.", 80 | NOTICE_INVALID_FOLDER_PATH: "Path folder tidak valid. Harap pilih folder yang valid di pengaturan.", 81 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Path folder skrip Python yang dikonfigurasi '{path}' tidak valid atau tidak ditemukan. Menghapus pengaturan.", 82 | 83 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Skrip Diaktifkan", 84 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Izinkan skrip ini dieksekusi melalui perintah, pintasan, atau 'Jalankan Semua'.", 85 | NOTICE_SCRIPT_DISABLED: "Skrip '{scriptName}' dinonaktifkan di pengaturan dan tidak dapat dieksekusi.", 86 | 87 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Jalankan saat Startup", 88 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Jalankan skrip ini secara otomatis saat Obsidian dimulai (hanya jika 'Skrip Diaktifkan' juga aktif).", 89 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Penundaan Startup (detik)", 90 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Tunggu beberapa detik setelah Obsidian dimulai sebelum menjalankan skrip (hanya berlaku jika 'Jalankan saat Startup' aktif). Gunakan 0 jika tidak ada penundaan.", 91 | 92 | SETTINGS_AUTO_PYTHONPATH_NAME: "Atur otomatis PYTHONPATH untuk Library", 93 | SETTINGS_AUTO_PYTHONPATH_DESC: "Secara otomatis menambahkan direktori plugin ke PYTHONPATH saat menjalankan skrip, memungkinkan impor langsung pustaka Python (Disarankan). Jika dinonaktifkan, Anda harus menyalin ObsidianPluginDevPythonToJS.py ke folder skrip Anda atau mengelola sys.path secara manual.", 94 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH otomatis dinonaktifkan. Pastikan ObsidianPluginDevPythonToJS.py ada di folder skrip Anda atau kelola sys.path secara manual.", 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /src/lang/ig.ts: -------------------------------------------------------------------------------- 1 | // ig.ts - ig translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Ntọala Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Nchekwa edemede Python", 6 | SETTINGS_FOLDER_DESC: "Ụzọ gaa na nchekwa nwere edemede Python gị (zuru oke ma ọ bụ dabere na vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/ụzọ/gaa/na/edemede/gị ma ọ bụ ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Ọdụ ụgbọ mmiri HTTP Server", 9 | SETTINGS_PORT_DESC: "Ọdụ ụgbọ mmiri maka sava HTTP mpaghara (1024-65535). Chọrọ ịmalitegharị ma ọ bụ chekwaa ntọala iji tinye.", 10 | SETTINGS_CACHE_TITLE: "Gbanyụọ Cache Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Gbaa Python na ọkọlọtọ \"-B\" iji gbochie ide faịlụ .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Agbanweela ọdụ ụgbọ mmiri HTTP ka ọ bụrụ", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Na-amalitegharị sava...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Njehie Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Ahụghị onye na-eme Python na PATH.\\nBiko wụnye Python ma hụ na agbakwunyere ya na mgbanwe gburugburu PATH sistemụ gị ka ngwa mgbakwunye wee nwee ike ịgba edemede.\\nAtụmatụ ngwa mgbakwunye chọrọ Python agaghị adị.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Njehie Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Etinyeghị ọba akwụkwọ Python achọrọ 'requests' maka", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nBiko wụnye ya site na ịgba ọsọ:\\n{pythonCmd} -m pip install requests\\nAtụmatụ ngwa mgbakwunye chọrọ Python agaghị adị ruo mgbe etinyere ya.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Ahaziri ọdụ ụgbọ mmiri HTTP ezighi ezi:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Amaliteghị sava. Biko hazie ọdụ ụgbọ mmiri ziri ezi (1-65535) na ntọala.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Ọdụ ụgbọ mmiri", 23 | NOTICE_PORT_IN_USE_SUFFIX: "anọworị n'iji. Biko họrọ ọdụ ụgbọ mmiri ọzọ na ntọala ma ọ bụ mechie ngwa ọzọ na-eji ya. Amaliteghị sava.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Ọdịda ịmalite sava na ọdụ ụgbọ mmiri", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Ọdụ ụgbọ mmiri ezighi ezi. Biko tinye nọmba n'etiti 0 na 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Ọdụ ụgbọ mmiri HTTP agbanweela (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Edemede nwere ike ịchọ ọdụ ụgbọ mmiri ochie ma ọ bụrụ na ọ na-agba ọsọ ma ọ bụ malite ya na mpụga.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Ahụghị edemede Python ma ọ bụ abụghị faịlụ:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Njehie ịnweta faịlụ edemede:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Na-agba edemede Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Njehie ịgba ọsọ", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "na", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "kụrụ afọ n'ala na koodu ọpụpụ", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Lelee ndekọ console.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Enweghị ike ịchọta onye na-eme Python ziri ezi. Anwara:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Biko hụ na etinyere Python ma nwee ike ịnweta ya site na PATH sistemụ gị (ma ọ bụ onye mmalite 'py' na Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Ahụghị nchekwa edemede Python ma ọ bụ ezighi ezi. Biko lelee ntọala ngwa mgbakwunye.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Njehie ịgụ nchekwa edemede:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Ahụghị edemede Python (.py) ọ bụla na nchekwa ahaziri.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Na-agba", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "edemede Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Ntinye adabaghị n'ụdị achọrọ.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Gbaa otu edemede Python kpọmkwem", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Gbaa edemede Python niile dị na nchekwa", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Nyefee", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Họrọ edemede Python ka ị gbaa...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Ntọala Pụrụ Iche Maka Edemede", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Megharịa Ntọala Edemede", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Nyochaa nchekwa edemede ọzọ iji chọpụta ma ọ bụ melite ntọala akọwapụtara n'ime edemede Python gị.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Megharịa Nkọwa", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Na-emegharị...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Ahazibeghị nchekwa edemede Python. Biko tọọ ụzọ n'elu.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Ahụghị edemede nwere ntọala enwere ike ịkọwa na nchekwa ahaziri, ma ọ bụ nchọpụta ntọala kụrụ afọ n'ala. Pịa 'Megharịa Nkọwa' iji nwaa ọzọ.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Ntọala maka:", 57 | SETTINGS_LANGUAGE_AUTO: "Akpaaka (Dakọtara na Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Enweghị ike imegharị ntọala: Ahụghị onye na-eme Python. Biko hụ na etinyere Python ma nọrọ na PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Na-emegharị nkọwa ntọala edemede...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Emegharịala nkọwa ntọala edemede nke ọma!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Ọdịda imegharị nkọwa ntọala edemede. Lelee ndekọ maka nkọwa.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Enweghị ike ịgba edemede: Ahụghị onye na-eme Python. Biko lelee ntinye na PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Megharịa nkọwa ntọala edemede Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Ịdọ aka ná ntị Nche", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Ịgba edemede Python na-enweghị isi nwere ike ịdị ize ndụ. Hụ na ị tụkwasịrị obi na isi mmalite nke edemede ọ bụla ị na-agba, n'ihi na ha nwere ike ịnweta sistemụ na data gị. Onye edemede ngwa mgbakwunye na ndị edemede edemede abụghị maka mfu data ọ bụla ma ọ bụ nsogbu nchekwa nke edemede ị họọrọ ịgba kpatara. Gbaa edemede n'ihe ize ndụ nke gị.", 66 | SETTINGS_LANGUAGE_TITLE: "Asụsụ Ngwa Mgbakwunye", 67 | SETTINGS_LANGUAGE_DESC: "Họrọ asụsụ ngosi maka interface ngwa mgbakwunye Python Bridge. 'Akpaaka' na-agbaso ntọala asụsụ Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Ndụmọdụ Arụmọrụ: Cache Backlink", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Maka arụmọrụ ka mma mgbe ị na-eweghachite backlinks (iji ọrụ get_backlinks) na nnukwu vaults, tụlee ịwụnye ngwa mgbakwunye obodo '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' site na @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Ụzọ nchekwa ezighi ezi. Biko họrọ nchekwa ziri ezi na ntọala.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Ụzọ nchekwa edemede Python ahaziri '{path}' ezighi ezi ma ọ bụ ahụghị ya. Ihichapụ ntọala.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Edere edemede Enyere aka", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Kwe ka edemede a mee site na iwu, ụzọ mkpirisi, ma ọ bụ 'Gbaa niile'.", 75 | NOTICE_SCRIPT_DISABLED: "Edemede '{scriptName}' nwere nkwarụ na ntọala na enweghị ike ime ya.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Gbaa ọsọ na mmalite", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Na-agba ọsọ edemede a na-akpaghị aka mgbe Obsidian malitere (naanị ma ọ bụrụ na 'Ederede agbanyere' dịkwa).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Nkwụsị mmalite (sekọnd)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Chere ọtụtụ sekọnd ndị a mgbe Obsidian malitere tupu ịgba ọsọ edemede ahụ (na-emetụta naanị ma ọ bụrụ na 'Gbaa ọsọ na mmalite' dị). Jiri 0 maka enweghị igbu oge.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Tọọ PYTHONPATH na akpaghị aka maka ọba akwụkwọ", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Tinye akpaghị aka ndekọ ngwa mgbakwunye na PYTHONPATH mgbe ị na-agba ọsọ edemede, na-enye ohere mbubata ozugbo nke ọba akwụkwọ Python (Akwadoro). Ọ bụrụ na nkwarụ, ị ga-edepụtaghachi ObsidianPluginDevPythonToJS.py na folda edemede gị ma ọ bụ jikwaa sys.path aka.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH akpaaka nwere nkwarụ. Gbaa mbọ hụ na ObsidianPluginDevPythonToJS.py dị na folda edemede gị ma ọ bụ jikwaa sys.path aka.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/ja.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/ja.ts --- 2 | // Japanese translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge 設定", 6 | SETTINGS_FOLDER_TITLE: "Python スクリプトフォルダ", 7 | SETTINGS_FOLDER_DESC: 8 | "Python スクリプトを含むフォルダへのパス(絶対パスまたは Vault 相対パス)。", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts または ./scripts-python", 10 | SETTINGS_PORT_TITLE: "HTTP サーバーポート", 11 | SETTINGS_PORT_DESC: 12 | "ローカル HTTP サーバーのポート(1024-65535)。適用するには再起動または設定の保存が必要です。", 13 | SETTINGS_CACHE_TITLE: "Python キャッシュを無効にする (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | "「-B」フラグを指定して Python を実行し、.pyc ファイルの書き込みを防止します。", 16 | 17 | // main.ts Notices 18 | NOTICE_PLUGIN_NAME: "Python Bridge", 19 | NOTICE_PORT_CHANGED_PREFIX: "HTTP ポートが", 20 | NOTICE_PORT_CHANGED_SUFFIX: "に変更されました。サーバーを再起動しています...", 21 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge エラー:", 22 | NOTICE_PYTHON_MISSING_DESC: "PATH に Python 実行可能ファイルが見つかりません。\nPython をインストールし、プラグインがスクリプトを実行できるようにシステムの PATH 環境変数に追加されていることを確認してください。\nPython を必要とするプラグイン機能は利用できません。", 23 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge エラー:", 24 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "必要な Python ライブラリ 'requests' が", 25 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "用にインストールされていません。\n次のコマンドを実行してインストールしてください:\n{pythonCmd} -m pip install requests\nインストールされるまで、Python を必要とするプラグイン機能は利用できません。", 26 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "無効な HTTP ポートが設定されています:", 27 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "サーバーは起動しませんでした。設定で有効なポート(1-65535)を設定してください。", 28 | NOTICE_PORT_IN_USE_PREFIX: "ポート", 29 | NOTICE_PORT_IN_USE_SUFFIX: "は既に使用中です。設定で別のポートを選択するか、それを使用している他のアプリケーションを閉じてください。サーバーは起動しませんでした。", 30 | NOTICE_SERVER_START_FAILED_PREFIX: "ポートでのサーバー起動に失敗しました", 31 | NOTICE_SERVER_START_FAILED_SUFFIX: "。", 32 | NOTICE_INVALID_PORT_RANGE: "無効なポートです。0 から 65535 までの数字を入力してください。", 33 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP ポートが変更されました (", 34 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 35 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: ")。スクリプトが既に実行中または外部から起動されている場合、古いポートを対象としている可能性があります。", 36 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python スクリプトが見つからないか、ファイルではありません:", 37 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "スクリプトファイルへのアクセスエラー:", 38 | NOTICE_RUNNING_SCRIPT_PREFIX: "Python スクリプトを実行中:", 39 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "実行エラー", 40 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "(使用コマンド:", 41 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: ")が終了コード", 42 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "で失敗しました。コンソールログを確認してください。", 43 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "有効な Python 実行可能ファイルが見つかりませんでした。試行:", 44 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Python がインストールされ、システムの PATH(または Windows の 'py' ランチャー)経由でアクセス可能であることを確認してください。", 45 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python スクリプトフォルダが見つからないか無効です。プラグイン設定を確認してください。", 46 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "スクリプトフォルダの読み取りエラー:", 47 | NOTICE_NO_SCRIPTS_FOUND: "設定されたフォルダに Python スクリプト (.py) が見つかりません。", 48 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "", 49 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "個の Python スクリプトを実行中...", 50 | NOTICE_INPUT_VALIDATION_FAILED: "入力が必要な形式と一致しません。", 51 | 52 | // main.ts Commands 53 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "特定の Python スクリプトを実行", 54 | CMD_RUN_ALL_SCRIPTS_NAME: "フォルダ内のすべての Python スクリプトを実行", 55 | 56 | // UserInputModal 57 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "実行する Python スクリプトを選択してください...", 58 | MODAL_USER_INPUT_SUBMIT_BUTTON: "送信", 59 | SETTINGS_SCRIPT_SETTINGS_TITLE: "スクリプト固有の設定", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "スクリプト設定を更新", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "スクリプトフォルダを再スキャンして、Python スクリプト内で定義された設定を検出または更新します。", 62 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "定義を更新", 63 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "更新中...", 64 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python スクリプトフォルダが設定されていません。上でパスを設定してください。", 65 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "設定されたフォルダに定義可能な設定を持つスクリプトが見つからないか、設定の検出に失敗しました。「定義を更新」をクリックして再試行してください。", 66 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "設定:", 67 | SETTINGS_LANGUAGE_AUTO: "自動 (Obsidian に合わせる)", 68 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "設定を更新できません:Python 実行可能ファイルが見つかりません。Python がインストールされ、PATH に含まれていることを確認してください。", 69 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "スクリプト設定定義を更新しています...", 70 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "スクリプト設定定義が正常に更新されました!", 71 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "スクリプト設定定義の更新に失敗しました。詳細についてはログを確認してください。", 72 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "スクリプトを実行できません:Python 実行可能ファイルが見つかりません。インストールと PATH を確認してください。", 73 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Python スクリプト設定定義を更新", 74 | SETTINGS_SECURITY_WARNING_TITLE: "セキュリティ警告", 75 | SETTINGS_SECURITY_WARNING_TEXT: "任意の Python スクリプトの実行にはリスクが伴う可能性があります。実行するスクリプトのソースを信頼できることを確認してください。スクリプトはシステムやデータにアクセスする可能性があります。プラグインの作者およびスクリプトの作者は、ユーザーが実行を選択したスクリプトによって引き起こされたデータの損失やセキュリティの問題について責任を負いません。自己責任でスクリプトを実行してください。", 76 | SETTINGS_LANGUAGE_TITLE: "プラグイン言語", 77 | SETTINGS_LANGUAGE_DESC: "Python Bridge プラグインインターフェースの表示言語を選択します。「自動」は Obsidian の言語設定に従います。", 78 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "パフォーマンスのヒント:バックリンクキャッシュ", 79 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "大きなVaultでバックリンクを取得する際(get_backlinks関数を使用)のパフォーマンスを向上させるには、@mnaoumovによるコミュニティプラグイン「[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)」のインストールを検討してください。", 80 | NOTICE_INVALID_FOLDER_PATH: "無効なフォルダパス。設定で有効なフォルダを選択してください。", 81 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "設定された Python スクリプトフォルダパス '{path}' が無効か見つかりません。設定をクリアしています。", 82 | 83 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "スクリプト有効", 84 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "コマンド、ショートカット、または「すべて実行」でこのスクリプトの実行を許可します。", 85 | NOTICE_SCRIPT_DISABLED: "スクリプト「{scriptName}」は設定で無効になっており、実行できません。", 86 | 87 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "起動時に実行", 88 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Obsidianの起動時にこのスクリプトを自動的に実行します(「スクリプト有効」もオンの場合のみ)。", 89 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "起動遅延(秒)", 90 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidianの起動後、スクリプトを実行する前にこの秒数待機します(「起動時に実行」がオンの場合のみ適用)。遅延なしの場合は0を使用します。", 91 | 92 | SETTINGS_AUTO_PYTHONPATH_NAME: "ライブラリのPYTHONPATHを自動設定", 93 | SETTINGS_AUTO_PYTHONPATH_DESC: "スクリプト実行時にプラグインディレクトリを自動的にPYTHONPATHに追加し、Pythonライブラリの直接インポートを可能にします(推奨)。無効にした場合、ObsidianPluginDevPythonToJS.pyをスクリプトフォルダにコピーするか、sys.pathを手動で管理する必要があります。", 94 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "自動PYTHONPATHが無効になりました。ObsidianPluginDevPythonToJS.pyがスクリプトフォルダにあることを確認するか、sys.pathを手動で管理してください。", 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /src/lang/ko.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/ko.ts --- 2 | // Korean translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge 설정", 6 | SETTINGS_FOLDER_TITLE: "Python 스크립트 폴더", 7 | SETTINGS_FOLDER_DESC: 8 | "Python 스크립트가 포함된 폴더 경로 (절대 경로 또는 볼트 기준 상대 경로).", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts 또는 ./scripts-python", 10 | SETTINGS_PORT_TITLE: "HTTP 서버 포트", 11 | SETTINGS_PORT_DESC: 12 | "로컬 HTTP 서버 포트 (1024-65535). 적용하려면 재시작하거나 설정을 저장해야 합니다.", 13 | SETTINGS_CACHE_TITLE: "Python 캐시 비활성화 (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | '".pyc" 파일 쓰기를 방지하기 위해 "-B" 플래그로 Python을 실행합니다.', 16 | 17 | // main.ts Notices 18 | NOTICE_PLUGIN_NAME: "Python Bridge", 19 | NOTICE_PORT_CHANGED_PREFIX: "HTTP 포트가", 20 | NOTICE_PORT_CHANGED_SUFFIX: "로 변경되었습니다. 서버를 다시 시작합니다...", 21 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge 오류:", 22 | NOTICE_PYTHON_MISSING_DESC: "PATH에서 Python 실행 파일을 찾을 수 없습니다.\nPython을 설치하고 플러그인이 스크립트를 실행할 수 있도록 시스템의 PATH 환경 변수에 추가되었는지 확인하십시오.\nPython이 필요한 플러グ인 기능은 사용할 수 없습니다.", 23 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge 오류:", 24 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "필수 Python 라이브러리 'requests'가", 25 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "에 설치되어 있지 않습니다.\n다음을 실행하여 설치하십시오:\n{pythonCmd} -m pip install requests\n설치될 때까지 Python이 필요한 플러그인 기능은 사용할 수 없습니다.", 26 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "잘못된 HTTP 포트가 구성되었습니다:", 27 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "서버가 시작되지 않았습니다. 설정에서 유효한 포트(1-65535)를 구성하십시오.", 28 | NOTICE_PORT_IN_USE_PREFIX: "포트", 29 | NOTICE_PORT_IN_USE_SUFFIX: "가 이미 사용 중입니다. 설정에서 다른 포트를 선택하거나 해당 포트를 사용하는 다른 응용 프로그램을 닫으십시오. 서버가 시작되지 않았습니다.", 30 | NOTICE_SERVER_START_FAILED_PREFIX: "포트에서 서버 시작 실패:", 31 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 32 | NOTICE_INVALID_PORT_RANGE: "잘못된 포트입니다. 0에서 65535 사이의 숫자를 입력하십시오.", 33 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP 포트 변경됨 (", 34 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 35 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). 스크립트가 이미 실행 중이거나 외부에서 시작된 경우 이전 포트를 대상으로 할 수 있습니다.", 36 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python 스크립트를 찾을 수 없거나 파일이 아닙니다:", 37 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "스크립트 파일 액세스 오류:", 38 | NOTICE_RUNNING_SCRIPT_PREFIX: "Python 스크립트 실행 중:", 39 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "실행 중 오류 발생", 40 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "(사용된 명령:", 41 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: ") 종료 코드", 42 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "로 실패했습니다. 콘솔 로그를 확인하십시오.", 43 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "유효한 Python 실행 파일을 찾을 수 없습니다. 시도:", 44 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Python이 설치되어 있고 시스템 PATH(또는 Windows의 'py' 런처)를 통해 액세스할 수 있는지 확인하십시오.", 45 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python 스크립트 폴더를 찾을 수 없거나 잘못되었습니다. 플러그인 설정을 확인하십시오.", 46 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "스크립트 폴더 읽기 오류:", 47 | NOTICE_NO_SCRIPTS_FOUND: "구성된 폴더에서 Python 스크립트(.py)를 찾을 수 없습니다.", 48 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "", 49 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "개의 Python 스크립트 실행 중...", 50 | NOTICE_INPUT_VALIDATION_FAILED: "입력이 필요한 형식과 일치하지 않습니다.", 51 | 52 | // main.ts Commands 53 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "특정 Python 스크립트 실행", 54 | CMD_RUN_ALL_SCRIPTS_NAME: "폴더의 모든 Python 스크립트 실행", 55 | 56 | // UserInputModal 57 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "실행할 Python 스크립트를 선택하세요...", 58 | MODAL_USER_INPUT_SUBMIT_BUTTON: "제출", 59 | SETTINGS_SCRIPT_SETTINGS_TITLE: "스크립트별 설정", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "스크립트 설정 새로고침", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "스크립트 폴더를 다시 스캔하여 Python 스크립트 내에 정의된 설정을 검색하거나 업데이트합니다.", 62 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "정의 새로고침", 63 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "새로고침 중...", 64 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python 스크립트 폴더가 구성되지 않았습니다. 위에서 경로를 설정하십시오.", 65 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "구성된 폴더에서 정의 가능한 설정이 있는 스크립트를 찾을 수 없거나 설정 검색에 실패했습니다. '정의 새로고침'을 클릭하여 다시 시도하십시오.", 66 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "설정:", 67 | SETTINGS_LANGUAGE_AUTO: "자동 (Obsidian과 일치)", 68 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "설정을 새로고칠 수 없습니다: Python 실행 파일을 찾을 수 없습니다. Python이 설치되어 있고 PATH에 있는지 확인하십시오.", 69 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "스크립트 설정 정의를 새로고침하는 중...", 70 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "스크립트 설정 정의를 성공적으로 새로고침했습니다!", 71 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "스크립트 설정 정의를 새로고침하지 못했습니다. 자세한 내용은 로그를 확인하십시오.", 72 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "스크립트를 실행할 수 없습니다: Python 실행 파일을 찾을 수 없습니다. 설치 및 PATH를 확인하십시오.", 73 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Python 스크립트 설정 정의 새로고침", 74 | SETTINGS_SECURITY_WARNING_TITLE: "보안 경고", 75 | SETTINGS_SECURITY_WARNING_TEXT: "임의의 Python 스크립트를 실행하는 것은 위험할 수 있습니다. 실행하는 스크립트의 출처를 신뢰할 수 있는지 확인하십시오. 스크립트는 시스템과 데이터에 접근할 수 있습니다. 플러그인 작성자와 스크립트 작성자는 사용자가 실행하기로 선택한 스크립트로 인해 발생하는 데이터 손실이나 보안 문제에 대해 책임을 지지 않습니다. 자신의 책임 하에 스크립트를 실행하십시오.", 76 | SETTINGS_LANGUAGE_TITLE: "플러그인 언어", 77 | SETTINGS_LANGUAGE_DESC: "Python Bridge 플러그인 인터페이스의 표시 언어를 선택하십시오. '자동'은 Obsidian의 언어 설정을 따릅니다.", 78 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "성능 팁: 백링크 캐시", 79 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "큰 보관소에서 백링크를 검색할 때(get_backlinks 함수 사용) 성능 향상을 위해 @mnaoumov의 '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' 커뮤니티 플러그인 설치를 고려하십시오.", 80 | NOTICE_INVALID_FOLDER_PATH: "잘못된 폴더 경로입니다. 설정에서 유효한 폴더를 선택하십시오.", 81 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "구성된 Python 스크립트 폴더 경로 '{path}'가 잘못되었거나 찾을 수 없습니다. 설정을 지웁니다.", 82 | 83 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "스크립트 활성화됨", 84 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "명령, 단축키 또는 '모두 실행'을 통해 이 스크립트를 실행하도록 허용합니다.", 85 | NOTICE_SCRIPT_DISABLED: "스크립트 '{scriptName}'이(가) 설정에서 비활성화되어 실행할 수 없습니다.", 86 | 87 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "시작 시 실행", 88 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Obsidian 시작 시 이 스크립트를 자동으로 실행합니다 ('스크립트 활성화'도 켜져 있는 경우에만).", 89 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "시작 지연 (초)", 90 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidian 시작 후 스크립트를 실행하기 전에 이 시간(초)만큼 기다립니다 ('시작 시 실행'이 켜져 있는 경우에만 적용됨). 지연이 없으려면 0을 사용하십시오.", 91 | 92 | SETTINGS_AUTO_PYTHONPATH_NAME: "라이브러리에 대해 PYTHONPATH 자동 설정", 93 | SETTINGS_AUTO_PYTHONPATH_DESC: "스크립트를 실행할 때 플러그인 디렉토리를 PYTHONPATH에 자동으로 추가하여 Python 라이브러리를 직접 가져올 수 있도록 합니다(권장). 비활성화된 경우 ObsidianPluginDevPythonToJS.py를 스크립트 폴더에 복사하거나 sys.path를 수동으로 관리해야 합니다.", 94 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "자동 PYTHONPATH가 비활성화되었습니다. ObsidianPluginDevPythonToJS.py가 스크립트 폴더에 있는지 확인하거나 sys.path를 수동으로 관리하십시오.", 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /src/lang/ms.ts: -------------------------------------------------------------------------------- 1 | // ms.ts - ms translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Tetapan Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Folder Skrip Python", 6 | SETTINGS_FOLDER_DESC: "Laluan ke folder yang mengandungi skrip Python anda (mutlak atau relatif kepada vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/laluan/ke/skrip/anda atau ./skrip-python", 8 | SETTINGS_PORT_TITLE: "Port Pelayan HTTP", 9 | SETTINGS_PORT_DESC: "Port untuk pelayan HTTP tempatan (1024-65535). Memerlukan mulakan semula atau simpan tetapan untuk digunakan.", 10 | SETTINGS_CACHE_TITLE: "Lumpuhkan Cache Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Jalankan Python dengan bendera \"-B\" untuk mengelakkan penulisan fail .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Port HTTP ditukar kepada", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Memulakan semula pelayan...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Ralat Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Fail boleh laku Python tidak ditemui dalam PATH.\\nSila pasang Python dan pastikan ia ditambahkan pada pembolehubah persekitaran PATH sistem anda agar plugin dapat menjalankan skrip.\\nCiri plugin yang memerlukan Python tidak akan tersedia.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Ralat Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Pustaka Python yang diperlukan 'requests' tidak dipasang untuk", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nSila pasangkannya dengan menjalankan:\\n{pythonCmd} -m pip install requests\\nCiri plugin yang memerlukan Python tidak akan tersedia sehingga dipasang.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Port HTTP yang dikonfigurasikan tidak sah:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Pelayan tidak dimulakan. Sila konfigurasikan port yang sah (1-65535) dalam tetapan.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Port", 23 | NOTICE_PORT_IN_USE_SUFFIX: "sudah digunakan. Sila pilih port lain dalam tetapan atau tutup aplikasi lain yang menggunakannya. Pelayan tidak dimulakan.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Gagal memulakan pelayan pada port", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Port tidak sah. Sila masukkan nombor antara 0 dan 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Port HTTP berubah (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Skrip mungkin menyasarkan port lama jika sudah berjalan atau dilancarkan secara luaran.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Skrip Python tidak ditemui atau bukan fail:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Ralat mengakses fail skrip:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Menjalankan skrip Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Ralat menjalankan", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "dengan", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "gagal dengan kod keluar", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Semak log konsol.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Tidak dapat mencari fail boleh laku Python yang sah. Mencuba:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Sila pastikan Python dipasang dan boleh diakses melalui PATH sistem anda (atau pelancar 'py' pada Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Folder skrip Python tidak ditemui atau tidak sah. Sila semak tetapan plugin.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Ralat membaca folder skrip:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Tiada skrip Python (.py) ditemui dalam folder yang dikonfigurasikan.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Menjalankan", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "skrip Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Input tidak sepadan dengan format yang diperlukan.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Jalankan skrip Python tertentu", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Jalankan semua skrip Python dalam folder", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Hantar", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Pilih skrip Python untuk dijalankan...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Tetapan Khusus Skrip", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Segarkan Semula Tetapan Skrip", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Imbas semula folder skrip untuk menemui atau mengemas kini tetapan yang ditentukan dalam skrip Python anda.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Segarkan Semula Definisi", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Menyegarkan semula...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Folder skrip Python tidak dikonfigurasikan. Sila tetapkan laluan di atas.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Tiada skrip dengan tetapan yang boleh ditentukan ditemui dalam folder yang dikonfigurasikan, atau penemuan tetapan gagal. Klik 'Segarkan Semula Definisi' untuk mencuba lagi.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Tetapan untuk:", 57 | SETTINGS_LANGUAGE_AUTO: "Automatik (Padankan Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Tidak dapat menyegarkan semula tetapan: Fail boleh laku Python tidak ditemui. Sila pastikan Python dipasang dan berada dalam PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Menyegarkan semula definisi tetapan skrip...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Definisi tetapan skrip berjaya disegarkan semula!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Gagal menyegarkan semula definisi tetapan skrip. Semak log untuk butiran.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Tidak dapat menjalankan skrip: Fail boleh laku Python tidak ditemui. Sila semak pemasangan dan PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Segarkan semula definisi tetapan skrip Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Amaran Keselamatan", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Menjalankan skrip Python sewenang-wenangnya boleh berisiko. Pastikan anda mempercayai sumber mana-mana skrip yang anda jalankan, kerana ia boleh mengakses sistem dan data anda. Pengarang plugin dan pengarang skrip tidak bertanggungjawab atas sebarang kehilangan data atau isu keselamatan yang disebabkan oleh skrip yang anda pilih untuk dijalankan. Jalankan skrip atas risiko anda sendiri.", 66 | SETTINGS_LANGUAGE_TITLE: "Bahasa Plugin", 67 | SETTINGS_LANGUAGE_DESC: "Pilih bahasa paparan untuk antara muka plugin Python Bridge. 'Automatik' mengikut tetapan bahasa Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Petua Prestasi: Cache Pautan Balik", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Untuk prestasi yang lebih baik semasa mendapatkan pautan balik (menggunakan fungsi get_backlinks) dalam vault besar, pertimbangkan untuk memasang plugin komuniti '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' oleh @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Laluan folder tidak sah. Sila pilih folder yang sah dalam tetapan.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Laluan folder skrip Python yang dikonfigurasikan '{path}' tidak sah atau tidak ditemui. Mengosongkan tetapan.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Skrip Didayakan", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Benarkan skrip ini dilaksanakan melalui arahan, pintasan atau 'Jalankan Semua'.", 75 | NOTICE_SCRIPT_DISABLED: "Skrip '{scriptName}' dilumpuhkan dalam tetapan dan tidak boleh dilaksanakan.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Jalankan semasa Permulaan", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Jalankan skrip ini secara automatik apabila Obsidian dimulakan (hanya jika 'Skrip Didayakan' juga dihidupkan).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Kelewatan Permulaan (saat)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Tunggu beberapa saat selepas Obsidian dimulakan sebelum menjalankan skrip (hanya terpakai jika 'Jalankan semasa Permulaan' dihidupkan). Gunakan 0 untuk tiada kelewatan.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Tetapkan PYTHONPATH secara automatik untuk Perpustakaan", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Tambah direktori pemalam secara automatik ke PYTHONPATH semasa menjalankan skrip, membenarkan import terus pustaka Python (Disyorkan). Jika dilumpuhkan, anda mesti menyalin ObsidianPluginDevPythonToJS.py ke folder skrip anda atau mengurus sys.path secara manual.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH automatik dilumpuhkan. Pastikan ObsidianPluginDevPythonToJS.py berada dalam folder skrip anda atau urus sys.path secara manual.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/nl.ts: -------------------------------------------------------------------------------- 1 | // nl.ts - nl translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge Instellingen", 5 | SETTINGS_FOLDER_TITLE: "Python Scripts Map", 6 | SETTINGS_FOLDER_DESC: "Pad naar de map met uw Python-scripts (absoluut of relatief ten opzichte van de vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/pad/naar/uw/scripts of ./scripts-python", 8 | SETTINGS_PORT_TITLE: "HTTP Server Poort", 9 | SETTINGS_PORT_DESC: "Poort voor de lokale HTTP-server (1024-65535). Vereist herstarten of opslaan van instellingen om toe te passen.", 10 | SETTINGS_CACHE_TITLE: "Python Cache uitschakelen (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Voer Python uit met de \"-B\" vlag om het schrijven van .pyc-bestanden te voorkomen.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP-poort gewijzigd naar", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Server opnieuw opstarten...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge Fout:", 16 | NOTICE_PYTHON_MISSING_DESC: "Python uitvoerbaar bestand niet gevonden in PATH.\\nInstalleer Python en zorg ervoor dat het is toegevoegd aan de PATH-omgevingsvariabele van uw systeem zodat de plugin scripts kan uitvoeren.\\nPlugin-functies die Python vereisen, zijn niet beschikbaar.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge Fout:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "De vereiste Python-bibliotheek 'requests' is niet geïnstalleerd voor", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nInstalleer deze door uit te voeren:\\n{pythonCmd} -m pip install requests\\nPlugin-functies die Python vereisen, zijn niet beschikbaar totdat deze is geïnstalleerd.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Ongeldige HTTP-poort geconfigureerd:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Server niet gestart. Configureer een geldige poort (1-65535) in de instellingen.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Poort", 23 | NOTICE_PORT_IN_USE_SUFFIX: "is al in gebruik. Kies een andere poort in de instellingen of sluit de andere toepassing die deze gebruikt. Server niet gestart.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Kon server niet starten op poort", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Ongeldige poort. Voer een getal in tussen 0 en 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP-poort gewijzigd (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Script richt zich mogelijk op de oude poort als het al actief is of extern is gestart.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python-script niet gevonden of is geen bestand:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Fout bij toegang tot scriptbestand:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Python-script uitvoeren:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Fout bij uitvoeren", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "met", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "mislukt met exitcode", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Controleer console logs.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Kon geen geldig Python uitvoerbaar bestand vinden. Geprobeerd:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Zorg ervoor dat Python is geïnstalleerd en toegankelijk is via de PATH van uw systeem (of de 'py'-launcher op Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python scripts map niet gevonden of ongeldig. Controleer de plugin-instellingen.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Fout bij lezen van scripts map:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Geen Python-scripts (.py) gevonden in de geconfigureerde map.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Uitvoeren", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "Python-script(s)...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Invoer komt niet overeen met het vereiste formaat.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Een specifiek Python-script uitvoeren", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Alle Python-scripts in map uitvoeren", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Verzenden", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Selecteer een Python-script om uit te voeren...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Script-specifieke Instellingen", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Scriptinstellingen Vernieuwen", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Scan de scripts map opnieuw om instellingen te ontdekken of bij te werken die in uw Python-scripts zijn gedefinieerd.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Definities Vernieuwen", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Vernieuwen...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python scripts map is niet geconfigureerd. Stel het pad hierboven in.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Geen scripts met definieerbare instellingen gevonden in de geconfigureerde map, of het ontdekken van instellingen is mislukt. Klik op 'Definities Vernieuwen' om opnieuw te proberen.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Instellingen voor:", 57 | SETTINGS_LANGUAGE_AUTO: "Automatisch (Match Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Kan instellingen niet vernieuwen: Python uitvoerbaar bestand niet gevonden. Zorg ervoor dat Python is geïnstalleerd en in PATH staat.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Scriptinstellingsdefinities vernieuwen...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Scriptinstellingsdefinities succesvol vernieuwd!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Kon scriptinstellingsdefinities niet vernieuwen. Controleer logs voor details.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Kan script niet uitvoeren: Python uitvoerbaar bestand niet gevonden. Controleer installatie en PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Python scriptinstellingsdefinities vernieuwen", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Veiligheidswaarschuwing", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Het uitvoeren van willekeurige Python-scripts kan riskant zijn. Zorg ervoor dat u de bron vertrouwt van elk script dat u uitvoert, aangezien deze toegang kunnen krijgen tot uw systeem en gegevens. De auteur van de plugin en de auteurs van de scripts zijn niet verantwoordelijk voor gegevensverlies of beveiligingsproblemen veroorzaakt door scripts die u kiest uit te voeren. Voer scripts uit op eigen risico.", 66 | SETTINGS_LANGUAGE_TITLE: "Plugin Taal", 67 | SETTINGS_LANGUAGE_DESC: "Kies de weergavetaal voor de Python Bridge plugin interface. 'Automatisch' volgt de taalinstelling van Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Prestatietip: Backlink Cache", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Voor betere prestaties bij het ophalen van backlinks (met de functie get_backlinks) in grote kluizen, overweeg de community-plug-in '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' van @mnaoumov te installeren.", 70 | NOTICE_INVALID_FOLDER_PATH: "Ongeldig mappad. Selecteer een geldige map in de instellingen.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Geconfigureerd mappad voor Python-scripts '{path}' is ongeldig of niet gevonden. Instelling wissen.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Script Ingeschakeld", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Sta toe dat dit script wordt uitgevoerd via commando's, sneltoetsen of 'Alles Uitvoeren'.", 75 | NOTICE_SCRIPT_DISABLED: "Script '{scriptName}' is uitgeschakeld in de instellingen en kan niet worden uitgevoerd.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Uitvoeren bij opstarten", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Voer dit script automatisch uit wanneer Obsidian start (alleen als 'Script ingeschakeld' ook aan staat).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Opstartvertraging (seconden)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Wacht dit aantal seconden nadat Obsidian is gestart voordat het script wordt uitgevoerd (alleen van toepassing als 'Uitvoeren bij opstarten' is ingeschakeld). Gebruik 0 voor geen vertraging.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "PYTHONPATH automatisch instellen voor bibliotheek", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Voegt automatisch de plug-inmap toe aan PYTHONPATH bij het uitvoeren van scripts, waardoor directe import van de Python-bibliotheek mogelijk is (Aanbevolen). Indien uitgeschakeld, moet u ObsidianPluginDevPythonToJS.py naar uw scriptmap kopiëren of sys.path handmatig beheren.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Automatische PYTHONPATH uitgeschakeld. Zorg ervoor dat ObsidianPluginDevPythonToJS.py zich in uw scriptmap bevindt of beheer sys.path handmatig.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/ro.ts: -------------------------------------------------------------------------------- 1 | // ro.ts - ro translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Setări Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Folder Scripturi Python", 6 | SETTINGS_FOLDER_DESC: "Calea către folderul care conține scripturile Python (absolută sau relativă la vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/cale/catre/scripturi sau ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Port Server HTTP", 9 | SETTINGS_PORT_DESC: "Portul pentru serverul HTTP local (1024-65535). Necesită repornire sau salvarea setărilor pentru a aplica.", 10 | SETTINGS_CACHE_TITLE: "Dezactivare Cache Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Rulați Python cu flag-ul \"-B\" pentru a preveni scrierea fișierelor .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Portul HTTP a fost schimbat în", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Se repornește serverul...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Eroare Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Executabilul Python nu a fost găsit în PATH.\\nVă rugăm să instalați Python și să vă asigurați că este adăugat la variabila de mediu PATH a sistemului pentru ca pluginul să ruleze scripturi.\\nFuncționalitățile pluginului care necesită Python nu vor fi disponibile.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Eroare Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Biblioteca Python necesară 'requests' nu este instalată pentru", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nVă rugăm să o instalați rulând:\\n{pythonCmd} -m pip install requests\\nFuncționalitățile pluginului care necesită Python nu vor fi disponibile până la instalare.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Port HTTP invalid configurat:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Serverul nu a pornit. Vă rugăm să configurați un port valid (1-65535) în setări.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Portul", 23 | NOTICE_PORT_IN_USE_SUFFIX: "este deja utilizat. Vă rugăm să alegeți alt port în setări sau să închideți cealaltă aplicație care îl folosește. Serverul nu a pornit.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Nu s-a putut porni serverul pe portul", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Port invalid. Vă rugăm să introduceți un număr între 0 și 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Portul HTTP s-a schimbat (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Scriptul ar putea viza portul vechi dacă rulează deja sau a fost lansat extern.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Scriptul Python nu a fost găsit sau nu este un fișier:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Eroare la accesarea fișierului script:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Se rulează scriptul Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Eroare la rularea", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "cu", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "a eșuat cu codul de ieșire", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Verificați logurile consolei.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Nu s-a putut găsi un executabil Python valid. Încercat:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Vă rugăm să vă asigurați că Python este instalat și accesibil prin PATH-ul sistemului (sau lansatorul 'py' pe Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Folderul scripturilor Python nu a fost găsit sau este invalid. Verificați setările pluginului.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Eroare la citirea folderului scripturilor:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Nu s-au găsit scripturi Python (.py) în folderul configurat.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Se rulează", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "script(uri) Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Intrarea nu corespunde formatului necesar.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Rulează un script Python specific", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Rulează toate scripturile Python din folder", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Trimite", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Selectați un script Python de rulat...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Setări Specifice Scriptului", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Reîmprospătare Setări Script", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Rescanați folderul scripturilor pentru a descoperi sau actualiza setările definite în scripturile Python.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Reîmprospătare Definiții", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Se reîmprospătează...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Folderul scripturilor Python nu este configurat. Vă rugăm să setați calea mai sus.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Nu s-au găsit scripturi cu setări definibile în folderul configurat sau descoperirea setărilor a eșuat. Apăsați 'Reîmprospătare Definiții' pentru a reîncerca.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Setări pentru:", 57 | SETTINGS_LANGUAGE_AUTO: "Automat (Potrivire Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Nu se pot reîmprospăta setările: Executabilul Python nu a fost găsit. Vă rugăm să vă asigurați că Python este instalat și în PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Se reîmprospătează definițiile setărilor scriptului...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Definițiile setărilor scriptului au fost reîmprospătate cu succes!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Nu s-au putut reîmprospăta definițiile setărilor scriptului. Verificați logurile pentru detalii.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Nu se poate rula scriptul: Executabilul Python nu a fost găsit. Verificați instalarea și PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Reîmprospătare definiții setări script Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Avertisment de Securitate", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Executarea scripturilor Python arbitrare poate fi riscantă. Asigurați-vă că aveți încredere în sursa oricărui script pe care îl rulați, deoarece acestea pot accesa sistemul și datele dvs. Autorul pluginului și autorii scripturilor nu sunt responsabili pentru nicio pierdere de date sau probleme de securitate cauzate de scripturile pe care alegeți să le executați. Rulați scripturile pe propriul risc.", 66 | SETTINGS_LANGUAGE_TITLE: "Limba Pluginului", 67 | SETTINGS_LANGUAGE_DESC: "Alegeți limba de afișare pentru interfața pluginului Python Bridge. 'Automat' urmează setarea de limbă a Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Sfat de performanță: Cache Backlink", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Pentru performanțe îmbunătățite la preluarea backlink-urilor (folosind funcția get_backlinks) în vault-uri mari, luați în considerare instalarea pluginului comunitar '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' de @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Cale folder invalidă. Vă rugăm să selectați un folder valid în setări.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Calea folderului de scripturi Python configurată '{path}' este invalidă sau nu a fost găsită. Se șterge setarea.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Script Activat", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Permiteți executarea acestui script prin comenzi, comenzi rapide sau 'Executare Toate'.", 75 | NOTICE_SCRIPT_DISABLED: "Scriptul '{scriptName}' este dezactivat în setări și nu poate fi executat.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Rulează la pornire", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Rulează automat acest script la pornirea Obsidian (doar dacă și 'Script Activat' este pornit).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Întârziere la pornire (secunde)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Așteaptă acest număr de secunde după pornirea Obsidian înainte de a rula scriptul (se aplică doar dacă 'Rulează la pornire' este activat). Folosește 0 pentru nicio întârziere.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Setați automat PYTHONPATH pentru bibliotecă", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Adaugă automat directorul pluginului la PYTHONPATH la rularea scripturilor, permițând importul direct al bibliotecii Python (Recomandat). Dacă este dezactivat, trebuie să copiați ObsidianPluginDevPythonToJS.py în folderul dvs. de scripturi sau să gestionați manual sys.path.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH automat dezactivat. Asigurați-vă că ObsidianPluginDevPythonToJS.py se află în folderul dvs. de scripturi sau gestionați manual sys.path.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/ru.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/ru.ts --- 2 | // Russian translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Настройки Obsidian Python Bridge", 6 | SETTINGS_FOLDER_TITLE: "Папка со скриптами Python", 7 | SETTINGS_FOLDER_DESC: 8 | "Путь к папке, содержащей ваши скрипты Python (абсолютный или относительный к хранилищу).", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/путь/к/вашим/скриптам или ./scripts-python", 10 | SETTINGS_PORT_TITLE: "Порт HTTP-сервера", 11 | SETTINGS_PORT_DESC: 12 | "Порт для локального HTTP-сервера (1024-65535). Требуется перезапуск или сохранение настроек для применения.", 13 | SETTINGS_CACHE_TITLE: "Отключить кэш Python (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | 'Запускает Python с флагом "-B", чтобы предотвратить запись файлов .pyc.', 16 | 17 | // main.ts Notices 18 | NOTICE_PLUGIN_NAME: "Python Bridge", 19 | NOTICE_PORT_CHANGED_PREFIX: "Порт HTTP изменен на", 20 | NOTICE_PORT_CHANGED_SUFFIX: "Перезапуск сервера...", 21 | NOTICE_PYTHON_MISSING_TITLE: "Ошибка Python Bridge:", 22 | NOTICE_PYTHON_MISSING_DESC: "Исполняемый файл Python не найден в PATH.\nПожалуйста, установите Python и убедитесь, что он добавлен в переменную среды PATH вашей системы, чтобы плагин мог запускать скрипты.\nФункции плагина, требующие Python, будут недоступны.", 23 | NOTICE_REQUESTS_MISSING_TITLE: "Ошибка Python Bridge:", 24 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Требуемая библиотека Python 'requests' не установлена для", 25 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\nПожалуйста, установите ее, выполнив:\n{pythonCmd} -m pip install requests\nФункции плагина, требующие Python, будут недоступны до ее установки.", 26 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Неверный порт HTTP:", 27 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Сервер не запущен. Пожалуйста, настройте действительный порт (1-65535) в настройках.", 28 | NOTICE_PORT_IN_USE_PREFIX: "Порт", 29 | NOTICE_PORT_IN_USE_SUFFIX: "уже используется. Пожалуйста, выберите другой порт в настройках или закройте другое приложение, использующее его. Сервер не запущен.", 30 | NOTICE_SERVER_START_FAILED_PREFIX: "Не удалось запустить сервер на порту", 31 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 32 | NOTICE_INVALID_PORT_RANGE: "Недопустимый порт. Пожалуйста, введите число от 0 до 65535.", 33 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Порт HTTP изменен (", 34 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 35 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Скрипт может использовать старый порт, если он уже запущен или запущен извне.", 36 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Скрипт Python не найден или не является файлом:", 37 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Ошибка доступа к файлу скрипта:", 38 | NOTICE_RUNNING_SCRIPT_PREFIX: "Запуск скрипта Python:", 39 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Ошибка при запуске", 40 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "с помощью", 41 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "завершился с кодом ошибки", 42 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Проверьте логи консоли.", 43 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Не удалось найти действительный исполняемый файл Python. Попытки:", 44 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Пожалуйста, убедитесь, что Python установлен и доступен через PATH вашей системы (или через 'py' в Windows).", 45 | NOTICE_SCRIPTS_FOLDER_INVALID: "Папка скриптов Python не найдена или недействительна. Пожалуйста, проверьте настройки плагина.", 46 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Ошибка чтения папки скриптов:", 47 | NOTICE_NO_SCRIPTS_FOUND: "В настроенной папке не найдено скриптов Python (.py).", 48 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Запуск", 49 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "скрипт(ов) Python...", 50 | NOTICE_INPUT_VALIDATION_FAILED: "Ввод не соответствует требуемому формату.", 51 | 52 | // main.ts Commands 53 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Запустить определенный скрипт Python", 54 | CMD_RUN_ALL_SCRIPTS_NAME: "Запустить все скрипты Python в папке", 55 | 56 | // UserInputModal 57 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Выберите скрипт Python для запуска...", 58 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Отправить", 59 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Настройки скрипта", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Обновить настройки скриптов", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Повторно сканировать папку скриптов для обнаружения или обновления настроек, определенных в ваших скриптах Python.", 62 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Обновить определения", 63 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Обновление...", 64 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Папка скриптов Python не настроена. Пожалуйста, укажите путь выше.", 65 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "В настроенной папке не найдены скрипты с определяемыми настройками, или обнаружение настроек не удалось. Нажмите 'Обновить определения', чтобы повторить попытку.", 66 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Настройки для:", 67 | SETTINGS_LANGUAGE_AUTO: "Автоматически (Как Obsidian)", 68 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Не удается обновить настройки: Исполняемый файл Python не найден. Убедитесь, что Python установлен и находится в PATH.", 69 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Обновление определений настроек скриптов...", 70 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Определения настроек скриптов успешно обновлены!", 71 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Не удалось обновить определения настроек скриптов. Проверьте журналы для получения подробной информации.", 72 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Не удается запустить скрипт: Исполняемый файл Python не найден. Проверьте установку и PATH.", 73 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Обновить определения настроек скриптов Python", 74 | SETTINGS_SECURITY_WARNING_TITLE: "Предупреждение о безопасности", 75 | SETTINGS_SECURITY_WARNING_TEXT: "Выполнение произвольных скриптов Python может быть рискованным. Убедитесь, что вы доверяете источнику любого запускаемого скрипта, так как он может получить доступ к вашей системе и данным. Автор плагина и авторы скриптов не несут ответственности за потерю данных или проблемы безопасности, вызванные скриптами, которые вы решили выполнить. Запускайте скрипты на свой страх и риск.", 76 | SETTINGS_LANGUAGE_TITLE: "Язык плагина", 77 | SETTINGS_LANGUAGE_DESC: "Выберите язык отображения для интерфейса плагина Python Bridge. 'Автоматически' соответствует настройке языка Obsidian.", 78 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Совет по производительности: Кэш обратных ссылок", 79 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Для повышения производительности при получении обратных ссылок (с помощью функции get_backlinks) в больших хранилищах рассмотрите возможность установки плагина сообщества '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' от @mnaoumov.", 80 | NOTICE_INVALID_FOLDER_PATH: "Недопустимый путь к папке. Пожалуйста, выберите действительную папку в настройках.", 81 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Настроенный путь к папке скриптов Python '{path}' недопустим или не найден. Очистка настройки.", 82 | 83 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Скрипт Включен", 84 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Разрешить выполнение этого скрипта с помощью команд, сочетаний клавиш или 'Выполнить все'.", 85 | NOTICE_SCRIPT_DISABLED: "Скрипт '{scriptName}' отключен в настройках и не может быть выполнен.", 86 | 87 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Запускать при старте", 88 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Автоматически запускать этот скрипт при старте Obsidian (только если 'Скрипт включен' также активирован).", 89 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Задержка запуска (секунды)", 90 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Подождите указанное количество секунд после запуска Obsidian перед выполнением скрипта (применяется, только если включено 'Запускать при старте'). Используйте 0 для отсутствия задержки.", 91 | 92 | SETTINGS_AUTO_PYTHONPATH_NAME: "Автоматически установить PYTHONPATH для библиотеки", 93 | SETTINGS_AUTO_PYTHONPATH_DESC: "Автоматически добавлять каталог плагина в PYTHONPATH при запуске скриптов, разрешая прямой импорт библиотеки Python (Рекомендуется). Если отключено, вы должны скопировать ObsidianPluginDevPythonToJS.py в папку со скриптами или управлять sys.path вручную.", 94 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Автоматический PYTHONPATH отключен. Убедитесь, что ObsidianPluginDevPythonToJS.py находится в вашей папке скриптов, или управляйте sys.path вручную.", 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /src/lang/sv.ts: -------------------------------------------------------------------------------- 1 | // sv.ts - sv translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Inställningar för Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Mapp för Python-skript", 6 | SETTINGS_FOLDER_DESC: "Sökväg till mappen som innehåller dina Python-skript (absolut eller relativt till valvet).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/sökväg/till/dina/skript eller ./scripts-python", 8 | SETTINGS_PORT_TITLE: "HTTP-serverport", 9 | SETTINGS_PORT_DESC: "Port för den lokala HTTP-servern (1024-65535). Kräver omstart eller sparande av inställningar för att tillämpas.", 10 | SETTINGS_CACHE_TITLE: "Inaktivera Python Cache (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Kör Python med flaggan \"-B\" för att förhindra att .pyc-filer skrivs.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP-port ändrad till", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Startar om servern...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge Fel:", 16 | NOTICE_PYTHON_MISSING_DESC: "Python-exekverbar fil hittades inte i PATH.\\nInstallera Python och se till att den läggs till i systemets PATH-miljövariabel för att pluginet ska kunna köra skript.\\nPlugin-funktioner som kräver Python kommer inte att vara tillgängliga.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge Fel:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Det nödvändiga Python-biblioteket 'requests' är inte installerat för", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nInstallera det genom att köra:\\n{pythonCmd} -m pip install requests\\nPlugin-funktioner som kräver Python kommer inte att vara tillgängliga förrän det är installerat.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Ogiltig HTTP-port konfigurerad:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Servern startades inte. Konfigurera en giltig port (1-65535) i inställningarna.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Port", 23 | NOTICE_PORT_IN_USE_SUFFIX: "används redan. Välj en annan port i inställningarna eller stäng det andra programmet som använder den. Servern startades inte.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Kunde inte starta servern på port", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Ogiltig port. Ange ett nummer mellan 0 och 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP-port ändrad (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Skriptet kan rikta in sig på den gamla porten om det redan körs eller startas externt.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python-skript hittades inte eller är inte en fil:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Fel vid åtkomst till skriptfil:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Kör Python-skript:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Fel vid körning", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "med", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "misslyckades med exitkod", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Kontrollera konsolloggar.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Kunde inte hitta en giltig Python-exekverbar fil. Försökte:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Se till att Python är installerat och tillgängligt via systemets PATH (eller 'py'-startaren i Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Mappen för Python-skript hittades inte eller är ogiltig. Kontrollera plugin-inställningarna.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Fel vid läsning av skriptmapp:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Inga Python-skript (.py) hittades i den konfigurerade mappen.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Kör", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "Python-skript...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Inmatningen matchar inte det nödvändiga formatet.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Kör ett specifikt Python-skript", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Kör alla Python-skript i mappen", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Skicka", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Välj ett Python-skript att köra...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Skriptspecifika inställningar", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Uppdatera skriptinställningar", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Skanna om skriptmappen för att upptäcka eller uppdatera inställningar som definierats i dina Python-skript.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Uppdatera definitioner", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Uppdaterar...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Mappen för Python-skript är inte konfigurerad. Ange sökvägen ovan.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Inga skript med definierbara inställningar hittades i den konfigurerade mappen, eller så misslyckades inställningsupptäckten. Klicka på 'Uppdatera definitioner' för att försöka igen.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Inställningar för:", 57 | SETTINGS_LANGUAGE_AUTO: "Automatisk (Matcha Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Kan inte uppdatera inställningar: Python-exekverbar fil hittades inte. Se till att Python är installerat och finns i PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Uppdaterar definitioner för skriptinställningar...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Definitioner för skriptinställningar har uppdaterats!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Kunde inte uppdatera definitioner för skriptinställningar. Kontrollera loggar för detaljer.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Kan inte köra skript: Python-exekverbar fil hittades inte. Kontrollera installation och PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Uppdatera definitioner för Python-skriptinställningar", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Säkerhetsvarning", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Att köra godtyckliga Python-skript kan vara riskabelt. Se till att du litar på källan till alla skript du kör, eftersom de kan komma åt ditt system och dina data. Plugin-författaren och skriptförfattarna ansvarar inte för dataförlust eller säkerhetsproblem som orsakas av skript du väljer att köra. Kör skript på egen risk.", 66 | SETTINGS_LANGUAGE_TITLE: "Plugin-språk", 67 | SETTINGS_LANGUAGE_DESC: "Välj visningsspråk för Python Bridge-pluginets gränssnitt. 'Automatisk' följer Obsidians språkinställning.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Prestandatips: Backlink Cache", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "För förbättrad prestanda vid hämtning av bakåtlänkar (med funktionen get_backlinks) i stora valv, överväg att installera community-pluginet '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' av @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Ogiltig mappsökväg. Välj en giltig mapp i inställningarna.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Konfigurerad sökväg för Python-skriptmapp '{path}' är ogiltig eller hittades inte. Rensar inställning.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Skript Aktiverat", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Tillåt att detta skript körs via kommandon, genvägar eller 'Kör alla'.", 75 | NOTICE_SCRIPT_DISABLED: "Skriptet '{scriptName}' är inaktiverat i inställningarna och kan inte köras.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Kör vid start", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Kör detta skript automatiskt när Obsidian startar (endast om 'Skript aktiverat' också är på).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Startfördröjning (sekunder)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Vänta så här många sekunder efter att Obsidian har startat innan skriptet körs (gäller endast om 'Kör vid start' är aktiverat). Använd 0 för ingen fördröjning.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Ställ in PYTHONPATH automatiskt för biblioteket", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Lägg automatiskt till plugin-katalogen i PYTHONPATH när skript körs, vilket möjliggör direktimport av Python-biblioteket (Rekommenderas). Om inaktiverat måste du kopiera ObsidianPluginDevPythonToJS.py till din skriptmapp eller hantera sys.path manuellt.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Automatisk PYTHONPATH inaktiverad. Se till att ObsidianPluginDevPythonToJS.py finns i din skriptmapp eller hantera sys.path manuellt.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/sw.ts: -------------------------------------------------------------------------------- 1 | // sw.ts - sw translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Mipangilio ya Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Folda ya Hati za Python", 6 | SETTINGS_FOLDER_DESC: "Njia ya folda iliyo na hati zako za Python (kamili au inayohusiana na vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/njia/ya/hati/zako au ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Lango la Seva ya HTTP", 9 | SETTINGS_PORT_DESC: "Lango la seva ya HTTP ya ndani (1024-65535). Inahitaji kuanzisha upya au kuhifadhi mipangilio ili kutumika.", 10 | SETTINGS_CACHE_TITLE: "Zima Kashe ya Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Endesha Python na bendera ya \"-B\" kuzuia uandishi wa faili za .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Lango la HTTP limebadilishwa kuwa", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Inaanzisha upya seva...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Hitilafu ya Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Faili tekelezi ya Python haikupatikana kwenye PATH.\\nTafadhali sakinisha Python na uhakikishe imeongezwa kwenye kigezo cha mazingira cha PATH cha mfumo wako ili programu-jalizi iweze kuendesha hati.\\nVipengele vya programu-jalizi vinavyohitaji Python havitapatikana.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Hitilafu ya Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Maktaba ya Python inayohitajika 'requests' haijasakinishwa kwa", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nTafadhali isakinishe kwa kuendesha:\\n{pythonCmd} -m pip install requests\\nVipengele vya programu-jalizi vinavyohitaji Python havitapatikana hadi isakinishwe.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Lango batili la HTTP limeundwa:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Seva haikuanzishwa. Tafadhali unda lango halali (1-65535) katika mipangilio.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Lango", 23 | NOTICE_PORT_IN_USE_SUFFIX: "tayari linatumika. Tafadhali chagua lango lingine katika mipangilio au funga programu nyingine inayolitumia. Seva haikuanzishwa.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Imeshindwa kuanzisha seva kwenye lango", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Lango batili. Tafadhali weka nambari kati ya 0 na 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Lango la HTTP limebadilika (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Hati inaweza kulenga lango la zamani ikiwa tayari inaendeshwa au ilizinduliwa kutoka nje.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Hati ya Python haikupatikana au si faili:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Hitilafu kufikia faili ya hati:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Inaendesha hati ya Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Hitilafu kuendesha", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "na", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "imeshindwa na msimbo wa kutoka", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Angalia kumbukumbu za koni.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Haikuweza kupata faili tekelezi halali ya Python. Imejaribu:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Tafadhali hakikisha Python imesakinishwa na inapatikana kupitia PATH ya mfumo wako (au kizindua 'py' kwenye Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Folda ya hati za Python haikupatikana au si sahihi. Tafadhali angalia mipangilio ya programu-jalizi.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Hitilafu kusoma folda ya hati:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Hakuna hati za Python (.py) zilizopatikana kwenye folda iliyoundwa.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Inaendesha", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "hati za Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Ingizo halilingani na umbizo linalohitajika.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Endesha hati maalum ya Python", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Endesha hati zote za Python kwenye folda", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Wasilisha", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Chagua hati ya Python ya kuendesha...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Mipangilio Maalum ya Hati", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Onyesha Upya Mipangilio ya Hati", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Changanua tena folda ya hati ili kugundua au kusasisha mipangilio iliyofafanuliwa ndani ya hati zako za Python.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Onyesha Upya Ufafanuzi", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Inaonyesha upya...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Folda ya hati za Python haijaundwa. Tafadhali weka njia hapo juu.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Hakuna hati zilizo na mipangilio inayoweza kufafanuliwa zilizopatikana kwenye folda iliyoundwa, au ugunduzi wa mipangilio umeshindwa. Bofya 'Onyesha Upya Ufafanuzi' ili kujaribu tena.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Mipangilio ya:", 57 | SETTINGS_LANGUAGE_AUTO: "Otomatiki (Linganisha na Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Haiwezi kuonyesha upya mipangilio: Faili tekelezi ya Python haikupatikana. Tafadhali hakikisha Python imesakinishwa na iko kwenye PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Inaonyesha upya ufafanuzi wa mipangilio ya hati...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Ufafanuzi wa mipangilio ya hati umeonyeshwa upya kwa mafanikio!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Imeshindwa kuonyesha upya ufafanuzi wa mipangilio ya hati. Angalia kumbukumbu kwa maelezo.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Haiwezi kuendesha hati: Faili tekelezi ya Python haikupatikana. Tafadhali angalia usakinishaji na PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Onyesha upya ufafanuzi wa mipangilio ya hati ya Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Onyo la Usalama", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Kuendesha hati holela za Python kunaweza kuwa hatari. Hakikisha unaamini chanzo cha hati yoyote unayoendesha, kwani zinaweza kufikia mfumo na data yako. Mwandishi wa programu-jalizi na waandishi wa hati hawawajibikii upotevu wowote wa data au masuala ya usalama yanayosababishwa na hati unazochagua kutekeleza. Endesha hati kwa hatari yako mwenyewe.", 66 | SETTINGS_LANGUAGE_TITLE: "Lugha ya Programu-jalizi", 67 | SETTINGS_LANGUAGE_DESC: "Chagua lugha ya kuonyesha kwa kiolesura cha programu-jalizi ya Python Bridge. 'Otomatiki' hufuata mpangilio wa lugha wa Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Kidokezo cha Utendaji: Kashe ya Viungo vya Nyuma", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Kwa utendakazi ulioboreshwa wakati wa kurejesha viungo vya nyuma (kwa kutumia chaguo la kukokotoa la get_backlinks) katika kuba kubwa, zingatia kusakinisha programu-jalizi ya jumuiya ya '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' na @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Njia batili ya folda. Tafadhali chagua folda halali katika mipangilio.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Njia ya folda ya hati za Python iliyosanidiwa '{path}' si sahihi au haipatikani. Inafuta mpangilio.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Hati Imewashwa", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Ruhusu hati hii itekelezwe kupitia amri, njia za mkato, au 'Endesha Zote'.", 75 | NOTICE_SCRIPT_DISABLED: "Hati '{scriptName}' imezimwa katika mipangilio na haiwezi kutekelezwa.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Endesha Wakati wa Kuanza", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Endesha hati hii kiotomatiki wakati Obsidian inapoanza (tu ikiwa 'Hati Imewashwa' pia imewashwa).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Kuchelewa Kuanza (sekunde)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Subiri sekunde hizi nyingi baada ya Obsidian kuanza kabla ya kuendesha hati (inatumika tu ikiwa 'Endesha Wakati wa Kuanza' imewashwa). Tumia 0 bila kuchelewa.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Weka PYTHONPATH kiotomatiki kwa Maktaba", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Ongeza kiotomatiki saraka ya programu-jalizi kwenye PYTHONPATH wakati wa kuendesha hati, kuruhusu uagizaji wa moja kwa moja wa maktaba ya Python (Inapendekezwa). Ikiwa imezimwa, lazima unakili ObsidianPluginDevPythonToJS.py kwenye folda yako ya hati au udhibiti sys.path mwenyewe.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH otomatiki imezimwa. Hakikisha ObsidianPluginDevPythonToJS.py iko kwenye folda yako ya hati au dhibiti sys.path mwenyewe.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/th.ts: -------------------------------------------------------------------------------- 1 | // th.ts - th translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "การตั้งค่า Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "โฟลเดอร์สคริปต์ Python", 6 | SETTINGS_FOLDER_DESC: "พาธไปยังโฟลเดอร์ที่มีสคริปต์ Python ของคุณ (สัมบูรณ์หรือสัมพัทธ์กับ vault)", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts หรือ ./scripts-python", 8 | SETTINGS_PORT_TITLE: "พอร์ตเซิร์ฟเวอร์ HTTP", 9 | SETTINGS_PORT_DESC: "พอร์ตสำหรับเซิร์فเวอร์ HTTP ในเครื่อง (1024-65535) ต้องรีสตาร์ทหรือบันทึกการตั้งค่าเพื่อนำไปใช้", 10 | SETTINGS_CACHE_TITLE: "ปิดใช้งานแคช Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "รัน Python ด้วยแฟล็ก \"-B\" เพื่อป้องกันการเขียนไฟล์ .pyc", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "พอร์ต HTTP เปลี่ยนเป็น", 14 | NOTICE_PORT_CHANGED_SUFFIX: "กำลังรีสตาร์ทเซิร์ฟเวอร์...", 15 | NOTICE_PYTHON_MISSING_TITLE: "ข้อผิดพลาด Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "ไม่พบไฟล์ปฏิบัติการ Python ใน PATH\\nโปรดติดตั้ง Python และตรวจสอบให้แน่ใจว่าได้เพิ่มลงในตัวแปรสภาพแวดล้อม PATH ของระบบเพื่อให้ปลั๊กอินรันสคริปต์ได้\\nคุณสมบัติปลั๊กอินที่ต้องใช้ Python จะไม่สามารถใช้งานได้", 17 | NOTICE_REQUESTS_MISSING_TITLE: "ข้อผิดพลาด Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "ไลบรารี Python ที่จำเป็น 'requests' ไม่ได้ติดตั้งสำหรับ", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nโปรดติดตั้งโดยรัน:\\n{pythonCmd} -m pip install requests\\nคุณสมบัติปลั๊กอินที่ต้องใช้ Python จะไม่สามารถใช้งานได้จนกว่าจะติดตั้ง", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "กำหนดค่าพอร์ต HTTP ไม่ถูกต้อง:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "เซิร์ฟเวอร์ยังไม่ได้เริ่ม โปรดกำหนดค่าพอร์ตที่ถูกต้อง (1-65535) ในการตั้งค่า", 22 | NOTICE_PORT_IN_USE_PREFIX: "พอร์ต", 23 | NOTICE_PORT_IN_USE_SUFFIX: "มีการใช้งานอยู่แล้ว โปรดเลือกพอร์ตอื่นในการตั้งค่าหรือปิดแอปพลิเคชันอื่นที่ใช้งานอยู่ เซิร์ฟเวอร์ยังไม่ได้เริ่ม", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "ไม่สามารถเริ่มเซิร์ฟเวอร์บนพอร์ต", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "พอร์ตไม่ถูกต้อง โปรดป้อนตัวเลขระหว่าง 0 ถึง 65535", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: พอร์ต HTTP เปลี่ยนไป (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: ") สคริปต์อาจกำหนดเป้าหมายไปที่พอร์ตเก่าหากกำลังทำงานอยู่แล้วหรือเปิดใช้งานจากภายนอก", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "ไม่พบสคริปต์ Python หรือไม่ใช่ไฟล์:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "ข้อผิดพลาดในการเข้าถึงไฟล์สคริปต์:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "กำลังรันสคริปต์ Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "ข้อผิดพลาดในการรัน", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "ด้วย", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "ล้มเหลวด้วยรหัสออก", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "ตรวจสอบบันทึกคอนโซล", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "ไม่พบไฟล์ปฏิบัติการ Python ที่ถูกต้อง ลอง:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "โปรดตรวจสอบให้แน่ใจว่า Python ได้รับการติดตั้งและสามารถเข้าถึงได้ผ่าน PATH ของระบบ (หรือตัวเรียกใช้ 'py' บน Windows)", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "ไม่พบโฟลเดอร์สคริปต์ Python หรือไม่ถูกต้อง โปรดตรวจสอบการตั้งค่าปลั๊กอิน", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "ข้อผิดพลาดในการอ่านโฟลเดอร์สคริปต์:", 41 | NOTICE_NO_SCRIPTS_FOUND: "ไม่พบสคริปต์ Python (.py) ในโฟลเดอร์ที่กำหนดค่าไว้", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "กำลังรัน", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "สคริปต์ Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "อินพุตไม่ตรงกับรูปแบบที่ต้องการ", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "รันสคริปต์ Python ที่ระบุ", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "รันสคริปต์ Python ทั้งหมดในโฟลเดอร์", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "ส่ง", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "เลือกสคริปต์ Python ที่จะรัน...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "การตั้งค่าเฉพาะสคริปต์", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "รีเฟรชการตั้งค่าสคริปต์", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "สแกนโฟลเดอร์สคริปต์อีกครั้งเพื่อค้นหาหรืออัปเดตการตั้งค่าที่กำหนดไว้ในสคริปต์ Python ของคุณ", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "รีเฟรชคำจำกัดความ", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "กำลังรีเฟรช...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "โฟลเดอร์สคริปต์ Python ไม่ได้กำหนดค่าไว้ โปรดตั้งค่าพาธด้านบน", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "ไม่พบสคริปต์ที่มีการตั้งค่าที่กำหนดได้ในโฟลเดอร์ที่กำหนดค่าไว้ หรือการค้นหาการตั้งค่าล้มเหลว คลิก 'รีเฟรชคำจำกัดความ' เพื่อลองอีกครั้ง", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "การตั้งค่าสำหรับ:", 57 | SETTINGS_LANGUAGE_AUTO: "อัตโนมัติ (ตรงกับ Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "ไม่สามารถรีเฟรชการตั้งค่า: ไม่พบไฟล์ปฏิบัติการ Python โปรดตรวจสอบให้แน่ใจว่า Python ได้รับการติดตั้งและอยู่ใน PATH", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "กำลังรีเฟรชคำจำกัดความการตั้งค่าสคริปต์...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "รีเฟรชคำจำกัดความการตั้งค่าสคริปต์สำเร็จแล้ว!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "ไม่สามารถรีเฟรชคำจำกัดความการตั้งค่าสคริปต์ ตรวจสอบบันทึกเพื่อดูรายละเอียด", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "ไม่สามารถรันสคริปต์: ไม่พบไฟล์ปฏิบัติการ Python โปรดตรวจสอบการติดตั้งและ PATH", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "รีเฟรชคำจำกัดความการตั้งค่าสคริปต์ Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "คำเตือนด้านความปลอดภัย", 65 | SETTINGS_SECURITY_WARNING_TEXT: "การรันสคริปต์ Python ใดๆ อาจมีความเสี่ยง โปรดตรวจสอบให้แน่ใจว่าคุณเชื่อถือแหล่งที่มาของสคริปต์ใดๆ ที่คุณรัน เนื่องจากสามารถเข้าถึงระบบและข้อมูลของคุณได้ ผู้เขียนปลั๊กอินและผู้เขียนสคริปต์จะไม่รับผิดชอบต่อการสูญหายของข้อมูลหรือปัญหาด้านความปลอดภัยใดๆ ที่เกิดจากสคริปต์ที่คุณเลือกที่จะรัน รันสคริปต์ด้วยความเสี่ยงของคุณเอง", 66 | SETTINGS_LANGUAGE_TITLE: "ภาษาปลั๊กอิน", 67 | SETTINGS_LANGUAGE_DESC: "เลือกภาษาที่แสดงสำหรับอินเทอร์เฟซปลั๊กอิน Python Bridge 'อัตโนมัติ' จะเป็นไปตามการตั้งค่าภาษาของ Obsidian", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "เคล็ดลับประสิทธิภาพ: Backlink Cache", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "เพื่อประสิทธิภาพที่ดีขึ้นในการดึงข้อมูล Backlink (โดยใช้ฟังก์ชัน get_backlinks) ใน Vault ขนาดใหญ่ ลองพิจารณาติดตั้งปลั๊กอินชุมชน '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' โดย @mnaoumov", 70 | NOTICE_INVALID_FOLDER_PATH: "เส้นทางโฟลเดอร์ไม่ถูกต้อง โปรดเลือกโฟลเดอร์ที่ถูกต้องในการตั้งค่า", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "เส้นทางโฟลเดอร์สคริปต์ Python ที่กำหนดค่า '{path}' ไม่ถูกต้องหรือไม่พบ กำลังล้างการตั้งค่า", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "สคริปต์เปิดใช้งานอยู่", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "อนุญาตให้สคริปต์นี้ทำงานผ่านคำสั่ง ทางลัด หรือ 'เรียกใช้ทั้งหมด'", 75 | NOTICE_SCRIPT_DISABLED: "สคริปต์ '{scriptName}' ถูกปิดใช้งานในการตั้งค่าและไม่สามารถดำเนินการได้", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "ทำงานเมื่อเริ่มต้น", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "เรียกใช้สคริปต์นี้โดยอัตโนมัติเมื่อ Obsidian เริ่มทำงาน (เฉพาะเมื่อ 'เปิดใช้งานสคริปต์' เปิดอยู่ด้วย)", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "ความล่าช้าในการเริ่มต้น (วินาที)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "รอเป็นจำนวนวินาทีหลังจาก Obsidian เริ่มทำงานก่อนที่จะเรียกใช้สคริปต์ (ใช้ได้เฉพาะเมื่อ 'ทำงานเมื่อเริ่มต้น' เปิดอยู่) ใช้ 0 หากไม่ต้องการความล่าช้า", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "ตั้งค่า PYTHONPATH อัตโนมัติสำหรับไลบรารี", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "เพิ่มไดเรกทอรีปลั๊กอินไปยัง PYTHONPATH โดยอัตโนมัติเมื่อเรียกใช้สคริปต์ ทำให้สามารถนำเข้าไลบรารี Python ได้โดยตรง (แนะนำ) หากปิดใช้งาน คุณต้องคัดลอก ObsidianPluginDevPythonToJS.py ไปยังโฟลเดอร์สคริปต์ของคุณ หรือจัดการ sys.path ด้วยตนเอง", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "ปิดใช้งาน PYTHONPATH อัตโนมัติแล้ว ตรวจสอบให้แน่ใจว่า ObsidianPluginDevPythonToJS.py อยู่ในโฟลเดอร์สคริปต์ของคุณ หรือจัดการ sys.path ด้วยตนเอง", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/tr.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/tr.ts --- 2 | // Turkish translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge Ayarları", 6 | SETTINGS_FOLDER_TITLE: "Python Betikleri Klasörü", 7 | SETTINGS_FOLDER_DESC: 8 | "Python betiklerinizi içeren klasörün yolu (mutlak veya kasaya göreceli).", 9 | SETTINGS_FOLDER_PLACEHOLDER: "/komut/dosyalarınızın/yolu veya ./scripts-python", 10 | SETTINGS_PORT_TITLE: "HTTP Sunucu Portu", 11 | SETTINGS_PORT_DESC: 12 | "Yerel HTTP sunucusu için port (1024-65535). Uygulamak için yeniden başlatma veya ayarları kaydetme gerekir.", 13 | SETTINGS_CACHE_TITLE: "Python Önbelleğini Devre Dışı Bırak (__pycache__)", 14 | SETTINGS_CACHE_DESC: 15 | '".pyc" dosyalarının yazılmasını önlemek için Python\'u "-B" bayrağıyla çalıştırın.', 16 | 17 | // main.ts Notices 18 | NOTICE_PLUGIN_NAME: "Python Bridge", 19 | NOTICE_PORT_CHANGED_PREFIX: "HTTP portu şuna değiştirildi:", 20 | NOTICE_PORT_CHANGED_SUFFIX: "Sunucu yeniden başlatılıyor...", 21 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge Hatası:", 22 | NOTICE_PYTHON_MISSING_DESC: "PATH içinde Python yürütülebilir dosyası bulunamadı.\nLütfen Python'u yükleyin ve eklentinin betikleri çalıştırabilmesi için sisteminizin PATH ortam değişkenine eklendiğinden emin olun.\nPython gerektiren eklenti özellikleri kullanılamayacaktır.", 23 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge Hatası:", 24 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Gerekli Python kütüphanesi 'requests' şunun için kurulu değil:", 25 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\nLütfen şunu çalıştırarak kurun:\n{pythonCmd} -m pip install requests\nKurulana kadar Python gerektiren eklenti özellikleri kullanılamayacaktır.", 26 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Geçersiz HTTP portu yapılandırıldı:", 27 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Sunucu başlatılmadı. Lütfen ayarlarda geçerli bir port (1-65535) yapılandırın.", 28 | NOTICE_PORT_IN_USE_PREFIX: "Port", 29 | NOTICE_PORT_IN_USE_SUFFIX: "zaten kullanılıyor. Lütfen ayarlarda başka bir port seçin veya onu kullanan diğer uygulamayı kapatın. Sunucu başlatılmadı.", 30 | NOTICE_SERVER_START_FAILED_PREFIX: "Sunucuyu port üzerinde başlatma başarısız:", 31 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 32 | NOTICE_INVALID_PORT_RANGE: "Geçersiz bağlantı noktası. Lütfen 0 ile 65535 arasında bir sayı girin.", 33 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP Portu değişti (", 34 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 35 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Betik zaten çalışıyorsa veya harici olarak başlatıldıysa eski portu hedefleyebilir.", 36 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python betiği bulunamadı veya bir dosya değil:", 37 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Betik dosyasına erişim hatası:", 38 | NOTICE_RUNNING_SCRIPT_PREFIX: "Python betiği çalıştırılıyor:", 39 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Çalıştırma hatası:", 40 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "ile", 41 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "çıkış koduyla başarısız oldu:", 42 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Konsol günlüklerini kontrol edin.", 43 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Geçerli bir Python yürütülebilir dosyası bulunamadı. Denenenler:", 44 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Lütfen Python'un kurulu olduğundan ve sisteminizin PATH'i (veya Windows'ta 'py' başlatıcısı) aracılığıyla erişilebilir olduğundan emin olun.", 45 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python betikleri klasörü bulunamadı veya geçersiz. Lütfen eklenti ayarlarını kontrol edin.", 46 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Betik klasörünü okuma hatası:", 47 | NOTICE_NO_SCRIPTS_FOUND: "Yapılandırılmış klasörde Python betiği (.py) bulunamadı.", 48 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "", 49 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: " Python betiği çalıştırılıyor...", 50 | NOTICE_INPUT_VALIDATION_FAILED: "Girdi gerekli biçimle eşleşmiyor.", 51 | 52 | // main.ts Commands 53 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Belirli bir Python betiğini çalıştır", 54 | CMD_RUN_ALL_SCRIPTS_NAME: "Klasördeki tüm Python betiklerini çalıştır", 55 | 56 | // UserInputModal 57 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Çalıştırmak için bir Python betiği seçin...", 58 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Gönder", 59 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Betik Özel Ayarları", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Betik Ayarlarını Yenile", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Python betiklerinizde tanımlanan ayarları keşfetmek veya güncellemek için betik klasörünü yeniden tarayın.", 62 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Tanımları Yenile", 63 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Yenileniyor...", 64 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python betik klasörü yapılandırılmadı. Lütfen yukarıdaki yolu ayarlayın.", 65 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Yapılandırılmış klasörde tanımlanabilir ayarlara sahip betik bulunamadı veya ayar keşfi başarısız oldu. Tekrar denemek için 'Tanımları Yenile'yi tıklayın.", 66 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Ayarlar:", 67 | SETTINGS_LANGUAGE_AUTO: "Otomatik (Obsidian ile Eşleş)", 68 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Ayarlar yenilenemiyor: Python yürütülebilir dosyası bulunamadı. Lütfen Python'un kurulu olduğundan ve PATH'de olduğundan emin olun.", 69 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Betik ayar tanımları yenileniyor...", 70 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Betik ayar tanımları başarıyla yenilendi!", 71 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Betik ayar tanımları yenilenemedi. Ayrıntılar için günlüklere bakın.", 72 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Betik çalıştırılamıyor: Python yürütülebilir dosyası bulunamadı. Lütfen kurulumu ve PATH'i kontrol edin.", 73 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Python betik ayar tanımlarını yenile", 74 | SETTINGS_SECURITY_WARNING_TITLE: "Güvenlik Uyarısı", 75 | SETTINGS_SECURITY_WARNING_TEXT: "Rastgele Python betikleri çalıştırmak riskli olabilir. Çalıştırdığınız betiklerin kaynağına güvendiğinizden emin olun, çünkü sisteminize ve verilerinize erişebilirler. Eklenti yazarı ve betik yazarları, çalıştırmayı seçtiğiniz betiklerin neden olduğu veri kaybı veya güvenlik sorunlarından sorumlu değildir. Betikleri kendi sorumluluğunuzda çalıştırın.", 76 | SETTINGS_LANGUAGE_TITLE: "Eklenti Dili", 77 | SETTINGS_LANGUAGE_DESC: "Python Bridge eklenti arayüzü için görüntüleme dilini seçin. 'Otomatik', Obsidian'ın dil ayarını takip eder.", 78 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Performans İpucu: Geri Bağlantı Önbelleği", 79 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Büyük kasalarda geri bağlantıları alırken (get_backlinks işlevini kullanarak) daha iyi performans için @mnaoumov tarafından geliştirilen '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' topluluk eklentisini yüklemeyi düşünün.", 80 | NOTICE_INVALID_FOLDER_PATH: "Geçersiz klasör yolu. Lütfen ayarlarda geçerli bir klasör seçin.", 81 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Yapılandırılmış Python betikleri klasör yolu '{path}' geçersiz veya bulunamadı. Ayar temizleniyor.", 82 | 83 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Betik Etkin", 84 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Bu betiğin komutlar, kısayollar veya 'Tümünü Çalıştır' aracılığıyla yürütülmesine izin verin.", 85 | NOTICE_SCRIPT_DISABLED: "'{scriptName}' betiği ayarlarda devre dışı bırakıldı ve yürütülemez.", 86 | 87 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Başlangıçta Çalıştır", 88 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Obsidian başladığında bu betiği otomatik olarak çalıştır (yalnızca 'Betik Etkin' de açıksa).", 89 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Başlangıç Gecikmesi (saniye)", 90 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidian başladıktan sonra betiği çalıştırmadan önce bu kadar saniye bekleyin ('Başlangıçta Çalıştır' açıksa geçerlidir). Gecikme olmaması için 0 kullanın.", 91 | 92 | SETTINGS_AUTO_PYTHONPATH_NAME: "Kütüphane için PYTHONPATH'ı otomatik ayarla", 93 | SETTINGS_AUTO_PYTHONPATH_DESC: "Komut dosyalarını çalıştırırken eklenti dizinini otomatik olarak PYTHONPATH'a ekleyerek Python kitaplığının doğrudan içe aktarılmasına izin verir (Önerilir). Devre dışı bırakılırsa, ObsidianPluginDevPythonToJS.py dosyasını komut dosyası klasörünüze kopyalamanız veya sys.path'i manuel olarak yönetmeniz gerekir.", 94 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Otomatik PYTHONPATH devre dışı bırakıldı. ObsidianPluginDevPythonToJS.py dosyasının komut dosyası klasörünüzde olduğundan emin olun veya sys.path'i manuel olarak yönetin.", 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /src/lang/translations.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/translations.ts --- 2 | import { Notice } from "obsidian"; 3 | import * as moment from "moment"; 4 | import type ObsidianPythonBridge from "../main"; // Use import type 5 | 6 | // Import language files 7 | import en from "./en"; 8 | import fr from "./fr"; 9 | import es from "./es"; 10 | import de from "./de"; 11 | import zh from "./zh"; // Assumed Simplified Chinese 12 | import ar from "./ar"; 13 | import pt from "./pt"; 14 | import ru from "./ru"; 15 | import ja from "./ja"; 16 | import hi from "./hi"; 17 | import ko from "./ko"; 18 | import it from "./it"; 19 | import tr from "./tr"; 20 | import id from "./id"; 21 | import pl from "./pl"; 22 | import bn from "./bn"; 23 | import ur from "./ur"; 24 | import vi from "./vi"; 25 | import th from "./th"; 26 | import fil from "./fil"; 27 | import fa from "./fa"; 28 | import ms from "./ms"; 29 | import nl from "./nl"; 30 | import uk from "./uk"; 31 | import el from "./el"; 32 | import sv from "./sv"; // Represents Scandinavian for now 33 | import fi from "./fi"; 34 | import hu from "./hu"; 35 | import ro from "./ro"; 36 | import cs from "./cs"; 37 | import sw from "./sw"; 38 | import ha from "./ha"; 39 | import yo from "./yo"; 40 | import ig from "./ig"; 41 | import zht from "./zht"; // Assumed Traditional Chinese 42 | 43 | // Define the structure of the translation object 44 | interface TranslationSet { 45 | [key: string]: string; 46 | } 47 | 48 | // Register all available languages with their translation objects 49 | const translations: Record = { 50 | en, fr, es, de, zh, ar, pt, ru, ja, hi, ko, it, tr, id, pl, 51 | bn, ur, vi, th, fil, fa, ms, nl, uk, el, sv, fi, hu, ro, cs, 52 | sw, ha, yo, ig, zht 53 | }; 54 | 55 | // Define display names for languages (in their own language ideally) 56 | export const languageDisplayNames: Record = { 57 | auto: "Automatic (Obsidian Language)", // Special key for automatic detection 58 | en: "English", 59 | fr: "Français", 60 | es: "Español", 61 | de: "Deutsch", 62 | zh: "中文", 63 | ar: "العربية", 64 | pt: "Português", 65 | ru: "Русский", 66 | ja: "日本語", 67 | hi: "हिन्दी", 68 | ko: "한국어", 69 | it: "Italiano", 70 | tr: "Türkçe", 71 | id: "Bahasa Indonesia", 72 | pl: "Polski", 73 | }; 74 | 75 | let activeTranslations: TranslationSet = en; // Default to English 76 | 77 | /** 78 | * Loads the translations based on the plugin setting or Obsidian's locale. 79 | * @param plugin The instance of the ObsidianPythonBridge plugin to access settings. 80 | */ 81 | export function loadTranslations(plugin: ObsidianPythonBridge): void { 82 | const userChoice = plugin.settings.pluginLanguage; 83 | let targetLocale: string | null = null; 84 | 85 | plugin.logDebug(`User language choice: ${userChoice}`); 86 | 87 | // 1. Check user's explicit choice in settings 88 | if (userChoice && userChoice !== 'auto' && translations[userChoice]) { 89 | targetLocale = userChoice; 90 | plugin.logDebug(`Using locale from plugin setting: ${targetLocale}`); 91 | } 92 | // 2. If choice is 'auto' or invalid, use detection logic 93 | else { 94 | const storageLocale = window.localStorage.getItem("language"); 95 | const momentLocale = moment.locale(); 96 | plugin.logDebug(`Debug Locales - localStorage: ${storageLocale}, moment.locale(): ${momentLocale}`); 97 | 98 | if (storageLocale && typeof storageLocale === "string") { 99 | targetLocale = storageLocale; 100 | plugin.logDebug(`Using locale from localStorage: ${targetLocale}`); 101 | } else if (momentLocale) { 102 | targetLocale = momentLocale; 103 | plugin.logDebug(`localStorage empty, using locale from moment.locale(): ${targetLocale}`); 104 | } else { 105 | plugin.logDebug(`Both localStorage and moment.locale() are unavailable.`); 106 | } 107 | } 108 | 109 | // Now, load translations based on the determined targetLocale 110 | if (targetLocale && translations[targetLocale]) { 111 | // Exact match (e.g., 'fr', 'en') 112 | activeTranslations = translations[targetLocale]; 113 | plugin.logDebug(`Loaded translations for exact locale '${targetLocale}'`); 114 | } else if (targetLocale) { 115 | // Try base language if exact match failed (e.g., 'en' from 'en-gb') 116 | const baseLocale = targetLocale.split("-")[0]; 117 | if (translations[baseLocale]) { 118 | activeTranslations = translations[baseLocale]; 119 | plugin.logDebug(`Loaded translations for base locale '${baseLocale}' (from '${targetLocale}')`); 120 | } else { 121 | // Fallback to English if neither exact nor base locale is found 122 | activeTranslations = en; 123 | plugin.logDebug(`Locale '${targetLocale}' (or base '${baseLocale}') not found, falling back to 'en'.`); 124 | } 125 | } else { 126 | // Fallback to English if no locale could be determined 127 | activeTranslations = en; 128 | plugin.logDebug(`No target locale determined, falling back to 'en'.`); 129 | } 130 | } 131 | 132 | /** 133 | * Gets the translated string for a given key. 134 | * @param key The key of the string to translate. 135 | * @returns The translated string, or the key itself if not found. 136 | */ 137 | export function t(key: string): string { 138 | return activeTranslations[key] ?? key; 139 | } 140 | 141 | /** 142 | * Returns a record of available languages, mapping the language code 143 | * to its native name (or English name if native is unavailable/unsuitable). 144 | */ 145 | export function getAvailableLanguages(): Record { 146 | // Add new languages here with their native names 147 | return { 148 | en: "English", 149 | fr: "Français", 150 | es: "Español", 151 | de: "Deutsch", 152 | zh: "简体中文", // Simplified Chinese 153 | ar: "العربية", 154 | pt: "Português", // Assumed Brazilian/Generic 155 | ru: "Русский", 156 | ja: "日本語", 157 | hi: "हिन्दी", 158 | ko: "한국어", 159 | it: "Italiano", 160 | tr: "Türkçe", 161 | id: "Bahasa Indonesia", 162 | pl: "Polski", 163 | bn: "বাংলা", // Bengali 164 | ur: "اردو", // Urdu 165 | vi: "Tiếng Việt", // Vietnamese 166 | th: "ไทย", // Thai 167 | fil: "Filipino", // Filipino (Tagalog) 168 | fa: "فارسی", // Persian (Farsi) 169 | ms: "Bahasa Melayu", // Malay 170 | nl: "Nederlands", // Dutch 171 | uk: "Українська", // Ukrainian 172 | el: "Ελληνικά", // Greek 173 | sv: "Svenska", // Swedish (Represents Scandinavian) 174 | fi: "Suomi", // Finnish 175 | hu: "Magyar", // Hungarian 176 | ro: "Română", // Romanian 177 | cs: "Čeština", // Czech 178 | sw: "Kiswahili", // Swahili 179 | ha: "Hausa", // Hausa 180 | yo: "Yorùbá", // Yoruba 181 | ig: "Igbo", // Igbo 182 | zht: "繁體中文", // Traditional Chinese 183 | }; 184 | } 185 | -------------------------------------------------------------------------------- /src/lang/uk.ts: -------------------------------------------------------------------------------- 1 | // uk.ts - uk translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Налаштування Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Папка скриптів Python", 6 | SETTINGS_FOLDER_DESC: "Шлях до папки, що містить ваші скрипти Python (абсолютний або відносний до сховища).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/шлях/до/ваших/скриптів або ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Порт HTTP-сервера", 9 | SETTINGS_PORT_DESC: "Порт для локального HTTP-сервера (1024-65535). Потребує перезапуску або збереження налаштувань для застосування.", 10 | SETTINGS_CACHE_TITLE: "Вимкнути кеш Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Запускати Python з прапорцем \"-B\", щоб запобігти запису файлів .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Порт HTTP змінено на", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Перезапуск сервера...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Помилка Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Виконуваний файл Python не знайдено в PATH.\\nБудь ласка, встановіть Python і переконайтеся, що він доданий до змінної середовища PATH вашої системи, щоб плагін міг запускати скрипти.\\nФункції плагіна, що потребують Python, будуть недоступні.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Помилка Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Необхідну бібліотеку Python 'requests' не встановлено для", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nБудь ласка, встановіть її, виконавши:\\n{pythonCmd} -m pip install requests\\nФункції плагіна, що потребують Python, будуть недоступні до встановлення.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Налаштовано недійсний порт HTTP:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Сервер не запущено. Будь ласка, налаштуйте дійсний порт (1-65535) у налаштуваннях.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Порт", 23 | NOTICE_PORT_IN_USE_SUFFIX: "вже використовується. Будь ласка, виберіть інший порт у налаштуваннях або закрийте іншу програму, що його використовує. Сервер не запущено.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Не вдалося запустити сервер на порту", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Недійсний порт. Будь ласка, введіть число від 0 до 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Порт HTTP змінено (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Скрипт може націлюватися на старий порт, якщо він уже запущений або запущений ззовні.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Скрипт Python не знайдено або це не файл:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Помилка доступу до файлу скрипта:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Запуск скрипта Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Помилка запуску", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "з", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "завершився з кодом виходу", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Перевірте логи консолі.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Не вдалося знайти дійсний виконуваний файл Python. Спробовано:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Будь ласка, переконайтеся, що Python встановлено та доступно через PATH вашої системи (або лаунчер 'py' у Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Папку скриптів Python не знайдено або вона недійсна. Будь ласка, перевірте налаштування плагіна.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Помилка читання папки скриптів:", 41 | NOTICE_NO_SCRIPTS_FOUND: "У налаштованій папці не знайдено скриптів Python (.py).", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Запуск", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "скриптів Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Введені дані не відповідають потрібному формату.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Запустити конкретний скрипт Python", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Запустити всі скрипти Python у папці", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Надіслати", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Виберіть скрипт Python для запуску...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Налаштування для конкретного скрипта", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Оновити налаштування скриптів", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Повторно проскануйте папку скриптів, щоб виявити або оновити налаштування, визначені у ваших скриптах Python.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Оновити визначення", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Оновлення...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Папку скриптів Python не налаштовано. Будь ласка, вкажіть шлях вище.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "У налаштованій папці не знайдено скриптів з визначеними налаштуваннями, або виявлення налаштувань не вдалося. Натисніть 'Оновити визначення', щоб спробувати ще раз.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Налаштування для:", 57 | SETTINGS_LANGUAGE_AUTO: "Автоматично (Як Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Неможливо оновити налаштування: Виконуваний файл Python не знайдено. Будь ласка, переконайтеся, що Python встановлено та знаходиться в PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Оновлення визначень налаштувань скриптів...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Визначення налаштувань скриптів успішно оновлено!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Не вдалося оновити визначення налаштувань скриптів. Перевірте логи для деталей.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Неможливо запустити скрипт: Виконуваний файл Python не знайдено. Будь ласка, перевірте встановлення та PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Оновити визначення налаштувань скриптів Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Попередження про безпеку", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Виконання довільних скриптів Python може бути ризикованим. Переконайтеся, що ви довіряєте джерелу будь-якого скрипта, який ви запускаєте, оскільки він може отримати доступ до вашої системи та даних. Автор плагіна та автори скриптів не несуть відповідальності за будь-яку втрату даних або проблеми безпеки, спричинені скриптами, які ви вирішили виконати. Запускайте скрипти на свій страх і ризик.", 66 | SETTINGS_LANGUAGE_TITLE: "Мова плагіна", 67 | SETTINGS_LANGUAGE_DESC: "Виберіть мову відображення для інтерфейсу плагіна Python Bridge. 'Автоматично' відповідає налаштуванню мови Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Порада щодо продуктивності: Кеш зворотних посилань", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Для покращення продуктивності під час отримання зворотних посилань (за допомогою функції get_backlinks) у великих сховищах розгляньте можливість встановлення плагіна спільноти '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' від @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Недійсний шлях до папки. Будь ласка, виберіть дійсну папку в налаштуваннях.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Налаштований шлях до папки скриптів Python '{path}' недійсний або не знайдений. Очищення налаштування.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Скрипт Увімкнено", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Дозволити виконання цього скрипта за допомогою команд, сполучень клавіш або 'Виконати все'.", 75 | NOTICE_SCRIPT_DISABLED: "Скрипт '{scriptName}' вимкнено в налаштуваннях, і його неможливо виконати.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Запускати при старті", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Автоматично запускати цей скрипт при старті Obsidian (тільки якщо 'Скрипт увімкнено' також активовано).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Затримка запуску (секунди)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Зачекайте вказану кількість секунд після запуску Obsidian перед виконанням скрипту (застосовується, тільки якщо увімкнено 'Запускати при старті'). Використовуйте 0 для відсутності затримки.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Автоматично встановити PYTHONPATH для бібліотеки", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Автоматично додавати каталог плагіна до PYTHONPATH під час запуску скриптів, дозволяючи прямий імпорт бібліотеки Python (Рекомендовано). Якщо вимкнено, ви повинні скопіювати ObsidianPluginDevPythonToJS.py до вашої папки скриптів або керувати sys.path вручну.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "Автоматичний PYTHONPATH вимкнено. Переконайтеся, що ObsidianPluginDevPythonToJS.py знаходиться у вашій папці скриптів, або керуйте sys.path вручну.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/ur.ts: -------------------------------------------------------------------------------- 1 | // ur.ts - ur translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge ترتیبات", 5 | SETTINGS_FOLDER_TITLE: "Python اسکرپٹس فولڈر", 6 | SETTINGS_FOLDER_DESC: "آپ کے Python اسکرپٹس پر مشتمل فولڈر کا راستہ (والٹ کے نسبت مطلق یا متعلقہ)۔", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts یا ./scripts-python", 8 | SETTINGS_PORT_TITLE: "HTTP سرور پورٹ", 9 | SETTINGS_PORT_DESC: "مقامی HTTP سرور کے لیے پورٹ (1024-65535)۔ لاگو کرنے کے لیے دوبارہ شروع یا ترتیبات کو محفوظ کرنے کی ضرورت ہے۔", 10 | SETTINGS_CACHE_TITLE: "Python کیشے کو غیر فعال کریں (__pycache__)", 11 | SETTINGS_CACHE_DESC: ".pyc فائلیں لکھنے سے روکنے کے لیے \"-B\" فلیگ کے ساتھ Python چلائیں۔", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP پورٹ تبدیل کر دیا گیا", 14 | NOTICE_PORT_CHANGED_SUFFIX: "سرور دوبارہ شروع ہو رہا ہے...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge خرابی:", 16 | NOTICE_PYTHON_MISSING_DESC: "PATH میں Python قابل عمل فائل نہیں ملی۔\\nبراہ کرم Python انسٹال کریں اور یقینی بنائیں کہ یہ آپ کے سسٹم کے PATH ماحولیاتی متغیر میں شامل ہے تاکہ پلگ ان اسکرپٹس چلا سکے۔\\nPython کی ضرورت والے پلگ ان کی خصوصیات دستیاب نہیں ہوں گی۔", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge خرابی:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "مطلوبہ Python لائبریری 'requests' انسٹال نہیں ہے", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "کے لیے۔\\nبراہ کرم اسے چلا کر انسٹال کریں:\\n{pythonCmd} -m pip install requests\\nPython کی ضرورت والے پلگ ان کی خصوصیات انسٹال ہونے تک دستیاب نہیں ہوں گی۔", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "غلط HTTP پورٹ تشکیل دیا گیا ہے:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "سرور شروع نہیں ہوا۔ براہ کرم ترتیبات میں ایک درست پورٹ (1-65535) تشکیل دیں۔", 22 | NOTICE_PORT_IN_USE_PREFIX: "پورٹ", 23 | NOTICE_PORT_IN_USE_SUFFIX: "پہلے سے استعمال میں ہے۔ براہ کرم ترتیبات میں دوسرا پورٹ منتخب کریں یا اسے استعمال کرنے والی دوسری ایپلیکیشن بند کریں۔ سرور شروع نہیں ہوا۔", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "پورٹ پر سرور شروع کرنے میں ناکام", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: "۔", 26 | NOTICE_INVALID_PORT_RANGE: "غلط پورٹ۔ براہ کرم 0 اور 65535 کے درمیان ایک نمبر درج کریں۔", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: HTTP پورٹ تبدیل ہو گیا (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: ")۔ اسکرپٹ پرانے پورٹ کو نشانہ بنا سکتا ہے اگر یہ پہلے سے چل رہا ہے یا بیرونی طور پر لانچ کیا گیا ہے۔", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Python اسکرپٹ نہیں ملا یا فائل نہیں ہے:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "اسکرپٹ فائل تک رسائی میں خرابی:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Python اسکرپٹ چل رہا ہے:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "چلاتے وقت خرابی", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "کے ساتھ", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "ایگزٹ کوڈ کے ساتھ ناکام", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "کنسول لاگز چیک کریں۔", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "ایک درست Python قابل عمل فائل نہیں مل سکی۔ کوشش کی گئی:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "براہ کرم یقینی بنائیں کہ Python انسٹال ہے اور آپ کے سسٹم کے PATH (یا ونڈوز پر 'py' لانچر) کے ذریعے قابل رسائی ہے۔", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Python اسکرپٹس فولڈر نہیں ملا یا غلط ہے۔ براہ کرم پلگ ان کی ترتیبات چیک کریں۔", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "اسکرپٹس فولڈر پڑھنے میں خرابی:", 41 | NOTICE_NO_SCRIPTS_FOUND: "تشکیل شدہ فولڈر میں کوئی Python اسکرپٹ (.py) نہیں ملا۔", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "چل رہا ہے", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "Python اسکرپٹ...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "ان پٹ مطلوبہ فارمیٹ سے میل نہیں کھاتا۔", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "ایک مخصوص Python اسکرپٹ چلائیں", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "فولڈر میں تمام Python اسکرپٹس چلائیں", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "جمع کرائیں", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "چلانے کے لیے ایک Python اسکرپٹ منتخب کریں...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "اسکرپٹ کے لیے مخصوص ترتیبات", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "اسکرپٹ کی ترتیبات کو تازہ کریں", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "اپنے Python اسکرپٹس میں بیان کردہ ترتیبات کو دریافت کرنے یا اپ ڈیٹ کرنے کے لیے اسکرپٹس فولڈر کو دوبارہ اسکین کریں۔", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "تعریفیں تازہ کریں", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "تازہ کاری ہو رہی ہے...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Python اسکرپٹس فولڈر تشکیل نہیں دیا گیا ہے۔ براہ کرم اوپر راستہ متعین کریں۔", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "تشکیل شدہ فولڈر میں قابل تعریف ترتیبات کے ساتھ کوئی اسکرپٹ نہیں ملا، یا ترتیبات کی دریافت ناکام ہوگئی۔ دوبارہ کوشش کرنے کے لیے 'تعریفیں تازہ کریں' پر کلک کریں۔", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "کے لیے ترتیبات:", 57 | SETTINGS_LANGUAGE_AUTO: "خودکار (Obsidian سے ملائیں)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "ترتیبات کو تازہ نہیں کیا جا سکتا: Python قابل عمل فائل نہیں ملی۔ براہ کرم یقینی بنائیں کہ Python انسٹال ہے اور PATH میں ہے۔", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "اسکرپٹ کی ترتیبات کی تعریفیں تازہ ہو رہی ہیں...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "اسکرپٹ کی ترتیبات کی تعریفیں کامیابی سے تازہ ہو گئیں!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "اسکرپٹ کی ترتیبات کی تعریفیں تازہ کرنے میں ناکام۔ تفصیلات کے لیے لاگز چیک کریں۔", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "اسکرپٹ نہیں چلایا جا سکتا: Python قابل عمل فائل نہیں ملی۔ براہ کرم انسٹالیشن اور PATH چیک کریں۔", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Python اسکرپٹ کی ترتیبات کی تعریفیں تازہ کریں", 64 | SETTINGS_SECURITY_WARNING_TITLE: "سیکیورٹی انتباہ", 65 | SETTINGS_SECURITY_WARNING_TEXT: "من مانی Python اسکرپٹس چلانا خطرناک ہو سکتا ہے۔ یقینی بنائیں کہ آپ کسی بھی اسکرپٹ کے ماخذ پر بھروسہ کرتے ہیں جسے آپ چلاتے ہیں، کیونکہ وہ آپ کے سسٹم اور ڈیٹا تک رسائی حاصل کر سکتے ہیں۔ پلگ ان مصنف اور اسکرپٹ مصنفین آپ کے منتخب کردہ اسکرپٹس کی وجہ سے ہونے والے کسی بھی ڈیٹا کے نقصان یا سیکیورٹی کے مسائل کے ذمہ دار نہیں ہیں۔ اسکرپٹس کو اپنے خطرے پر چلائیں۔", 66 | SETTINGS_LANGUAGE_TITLE: "پلگ ان زبان", 67 | SETTINGS_LANGUAGE_DESC: "Python Bridge پلگ ان انٹرفیس کے لیے ڈسپلے زبان منتخب کریں۔ 'خودکار' Obsidian کی زبان کی ترتیب کی پیروی کرتا ہے۔", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "کارکردگی کا مشورہ: بیک لنک کیش", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "بڑے والٹس میں بیک لنکس حاصل کرتے وقت (get_backlinks فنکشن کا استعمال کرتے ہوئے) بہتر کارکردگی کے لیے، @mnaoumov کی طرف سے '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' کمیونٹی پلگ ان انسٹال کرنے پر غور کریں۔", 70 | NOTICE_INVALID_FOLDER_PATH: "غلط فولڈر کا راستہ۔ براہ کرم سیٹنگز میں ایک درست فولڈر منتخب کریں۔", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "کنفیگر شدہ پائیتھن اسکرپٹس فولڈر کا راستہ '{path}' غلط ہے یا نہیں ملا۔ سیٹنگ صاف کی جا رہی ہے۔", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "اسکرپٹ فعال ہے", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "اس اسکرپٹ کو کمانڈز، شارٹ کٹس، یا 'سب چلائیں' کے ذریعے عمل میں لانے کی اجازت دیں۔", 75 | NOTICE_SCRIPT_DISABLED: "اسکرپٹ '{scriptName}' سیٹنگز میں غیر فعال ہے اور اسے عمل میں نہیں لایا جا سکتا۔", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "اسٹارٹ اپ پر چلائیں", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "جب Obsidian شروع ہو تو اس اسکرپٹ کو خود بخود چلائیں (صرف اس صورت میں جب 'اسکرپٹ فعال' بھی آن ہو)۔", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "اسٹارٹ اپ میں تاخیر (سیکنڈ)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidian شروع ہونے کے بعد اسکرپٹ چلانے سے پہلے اتنے سیکنڈ انتظار کریں ('اسٹارٹ اپ پر چلائیں' آن ہونے پر ہی لاگو ہوتا ہے)۔ بغیر کسی تاخیر کے 0 استعمال کریں۔", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "لائبریری کے لیے PYTHONPATH خودکار طور پر سیٹ کریں", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "اسکرپٹ چلاتے وقت پلگ ان ڈائرکٹری کو خودکار طور پر PYTHONPATH میں شامل کریں، جس سے Python لائبریری کی براہ راست درآمد ممکن ہو (تجویز کردہ)۔ اگر غیر فعال ہے تو، آپ کو ObsidianPluginDevPythonToJS.py کو اپنے اسکرپٹ فولڈر میں کاپی کرنا ہوگا یا sys.path کو دستی طور پر منظم کرنا ہوگا۔", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "خودکار PYTHONPATH غیر فعال ہے۔ یقینی بنائیں کہ ObsidianPluginDevPythonToJS.py آپ کے اسکرپٹ فولڈر میں ہے یا sys.path کو دستی طور پر منظم کریں۔", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/vi.ts: -------------------------------------------------------------------------------- 1 | // vi.ts - vi translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Cài đặt Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Thư mục Script Python", 6 | SETTINGS_FOLDER_DESC: "Đường dẫn đến thư mục chứa các script Python của bạn (tuyệt đối hoặc tương đối so với vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts hoặc ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Cổng Máy chủ HTTP", 9 | SETTINGS_PORT_DESC: "Cổng cho máy chủ HTTP cục bộ (1024-65535). Yêu cầu khởi động lại hoặc lưu cài đặt để áp dụng.", 10 | SETTINGS_CACHE_TITLE: "Tắt Bộ đệm Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Chạy Python với cờ \"-B\" để ngăn ghi tệp .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Cổng HTTP đã thay đổi thành", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Đang khởi động lại máy chủ...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Lỗi Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "Không tìm thấy tệp thực thi Python trong PATH.\\nVui lòng cài đặt Python và đảm bảo nó được thêm vào biến môi trường PATH của hệ thống để plugin chạy script.\\nCác tính năng plugin yêu cầu Python sẽ không khả dụng.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Lỗi Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Thư viện Python bắt buộc 'requests' chưa được cài đặt cho", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nVui lòng cài đặt bằng cách chạy:\\n{pythonCmd} -m pip install requests\\nCác tính năng plugin yêu cầu Python sẽ không khả dụng cho đến khi được cài đặt.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Cổng HTTP được cấu hình không hợp lệ:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Máy chủ chưa được khởi động. Vui lòng cấu hình cổng hợp lệ (1-65535) trong cài đặt.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Cổng", 23 | NOTICE_PORT_IN_USE_SUFFIX: "đã được sử dụng. Vui lòng chọn một cổng khác trong cài đặt hoặc đóng ứng dụng khác đang sử dụng nó. Máy chủ chưa được khởi động.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Không thể khởi động máy chủ trên cổng", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: ".", 26 | NOTICE_INVALID_PORT_RANGE: "Cổng không hợp lệ. Vui lòng nhập một số từ 0 đến 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Cổng HTTP đã thay đổi (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Script có thể nhắm mục tiêu cổng cũ nếu đã chạy hoặc được khởi chạy từ bên ngoài.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "Không tìm thấy script Python hoặc không phải là tệp:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Lỗi truy cập tệp script:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Đang chạy script Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Lỗi khi chạy", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "với", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "thất bại với mã thoát", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Kiểm tra nhật ký console.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "Không thể tìm thấy tệp thực thi Python hợp lệ. Đã thử:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Vui lòng đảm bảo Python được cài đặt và có thể truy cập thông qua PATH của hệ thống (hoặc trình khởi chạy 'py' trên Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "Không tìm thấy thư mục script Python hoặc không hợp lệ. Vui lòng kiểm tra cài đặt plugin.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Lỗi đọc thư mục script:", 41 | NOTICE_NO_SCRIPTS_FOUND: "Không tìm thấy script Python (.py) nào trong thư mục đã cấu hình.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Đang chạy", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "script Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Đầu vào không khớp với định dạng yêu cầu.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Chạy một script Python cụ thể", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Chạy tất cả script Python trong thư mục", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Gửi", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Chọn một script Python để chạy...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Cài đặt Dành riêng cho Script", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Làm mới Cài đặt Script", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Quét lại thư mục script để khám phá hoặc cập nhật các cài đặt được xác định trong script Python của bạn.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Làm mới Định nghĩa", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Đang làm mới...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Thư mục script Python chưa được cấu hình. Vui lòng đặt đường dẫn ở trên.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "Không tìm thấy script nào có cài đặt có thể xác định trong thư mục đã cấu hình hoặc khám phá cài đặt không thành công. Nhấp vào 'Làm mới Định nghĩa' để thử lại.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Cài đặt cho:", 57 | SETTINGS_LANGUAGE_AUTO: "Tự động (Khớp với Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "Không thể làm mới cài đặt: Không tìm thấy tệp thực thi Python. Vui lòng đảm bảo Python được cài đặt và nằm trong PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Đang làm mới định nghĩa cài đặt script...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Đã làm mới thành công định nghĩa cài đặt script!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Không thể làm mới định nghĩa cài đặt script. Kiểm tra nhật ký để biết chi tiết.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "Không thể chạy script: Không tìm thấy tệp thực thi Python. Vui lòng kiểm tra cài đặt và PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Làm mới định nghĩa cài đặt script Python", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Cảnh báo Bảo mật", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Việc thực thi các script Python tùy ý có thể tiềm ẩn rủi ro. Hãy đảm bảo bạn tin tưởng nguồn gốc của bất kỳ script nào bạn chạy, vì chúng có thể truy cập hệ thống và dữ liệu của bạn. Tác giả plugin và tác giả script không chịu trách nhiệm về bất kỳ mất mát dữ liệu hoặc vấn đề bảo mật nào do các script bạn chọn thực thi gây ra. Chạy script với rủi ro của riêng bạn.", 66 | SETTINGS_LANGUAGE_TITLE: "Ngôn ngữ Plugin", 67 | SETTINGS_LANGUAGE_DESC: "Chọn ngôn ngữ hiển thị cho giao diện plugin Python Bridge. 'Tự động' tuân theo cài đặt ngôn ngữ của Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Mẹo hiệu suất: Bộ đệm Backlink", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Để cải thiện hiệu suất khi truy xuất backlink (sử dụng hàm get_backlinks) trong các kho lớn, hãy cân nhắc cài đặt plugin cộng đồng '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' của @mnaoumov.", 70 | NOTICE_INVALID_FOLDER_PATH: "Đường dẫn thư mục không hợp lệ. Vui lòng chọn một thư mục hợp lệ trong cài đặt.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Đường dẫn thư mục tập lệnh Python đã định cấu hình '{path}' không hợp lệ hoặc không tìm thấy. Đang xóa cài đặt.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Script Đã Bật", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Cho phép script này được thực thi thông qua lệnh, phím tắt hoặc 'Chạy Tất cả'.", 75 | NOTICE_SCRIPT_DISABLED: "Script '{scriptName}' đã bị tắt trong cài đặt và không thể thực thi.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Chạy khi khởi động", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Tự động chạy tập lệnh này khi Obsidian khởi động (chỉ khi 'Tập lệnh được bật' cũng đang bật).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Độ trễ khởi động (giây)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Đợi số giây này sau khi Obsidian khởi động trước khi chạy tập lệnh (chỉ áp dụng nếu 'Chạy khi khởi động' đang bật). Sử dụng 0 nếu không có độ trễ.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Tự động đặt PYTHONPATH cho Thư viện", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Tự động thêm thư mục plugin vào PYTHONPATH khi chạy script, cho phép nhập trực tiếp thư viện Python (Khuyến nghị). Nếu bị tắt, bạn phải sao chép ObsidianPluginDevPythonToJS.py vào thư mục script của mình hoặc quản lý sys.path thủ công.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH tự động đã bị tắt. Đảm bảo ObsidianPluginDevPythonToJS.py nằm trong thư mục script của bạn hoặc quản lý sys.path thủ công.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/yo.ts: -------------------------------------------------------------------------------- 1 | // yo.ts - yo translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Ètò Obsidian Python Bridge", 5 | SETTINGS_FOLDER_TITLE: "Fóldà Àwọn Akosílẹ̀ Python", 6 | SETTINGS_FOLDER_DESC: "Ọ̀nà sí fóldà tí ó ní àwọn akosílẹ̀ Python rẹ (pàtàkì tàbí ní ìbámu pẹ̀lú vault).", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/ọ̀nà/sí/àwọn/akosílẹ̀/rẹ tàbí ./scripts-python", 8 | SETTINGS_PORT_TITLE: "Ibùdó Máyà HTTP", 9 | SETTINGS_PORT_DESC: "Ibùdó fún máyà HTTP àdúgbò (1024-65535). Ó nílò àtúnbẹ̀rẹ̀ tàbí ìpamọ́ ètò láti lò ó.", 10 | SETTINGS_CACHE_TITLE: "Pa Cache Python (__pycache__)", 11 | SETTINGS_CACHE_DESC: "Ṣiṣẹ́ Python pẹ̀lú àsíá \"-B\" láti dènà kíkọ àwọn fáìlì .pyc.", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "Ibùdó HTTP ti yípadà sí", 14 | NOTICE_PORT_CHANGED_SUFFIX: "Àtúnbẹ̀rẹ̀ máyà...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Àṣìṣe Python Bridge:", 16 | NOTICE_PYTHON_MISSING_DESC: "A kò rí olùṣiṣẹ́ Python nínú PATH.\\nJọ̀wọ́ fi Python sori ẹ̀rọ kí o sì rí i dájú pé a ti fi kún ọ̀nà PATH àyíká ètò rẹ kí plugin lè ṣiṣẹ́ àwọn akosílẹ̀.\\nÀwọn ẹ̀yà plugin tí ó nílò Python kò ní sí.", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Àṣìṣe Python Bridge:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "Ilé-ìkàwé Python tí a nílò 'requests' kò sí fún", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: ".\\nJọ̀wọ́ fi í sori ẹ̀rọ nípa ṣíṣe:\\n{pythonCmd} -m pip install requests\\nÀwọn ẹ̀yà plugin tí ó nílò Python kò ní sí títí a ó fi sori ẹ̀rọ.", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "Ibùdó HTTP tí a ṣètò kò tọ́:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "Máyà kò bẹ̀rẹ̀. Jọ̀wọ́ ṣètò ibùdó tó tọ́ (1-65535) nínú ètò.", 22 | NOTICE_PORT_IN_USE_PREFIX: "Ibùdó", 23 | NOTICE_PORT_IN_USE_SUFFIX: "wà ní lílò tẹ́lẹ̀. Jọ̀wọ́ yan ibùdó mìíràn nínú ètò tàbí pa ohun èlò mìíràn tí ó ń lò ó. Máyà kò bẹ̀rẹ̀.", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "Ìbẹ̀rẹ̀ máyà lórí ibùdó", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: "kùnà.", 26 | NOTICE_INVALID_PORT_RANGE: "Ibudo ti ko tọ. Jọwọ tẹ nọmba sii laarin 0 ati 65535.", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge: Ibùdó HTTP ti yípadà (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: "). Akosílẹ̀ lè máa fojú sí ibùdó àtijọ́ tí ó bá ti ń ṣiṣẹ́ tàbí tí a bá ti gbéléwọ́ láti ìta.", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "A kò rí akosílẹ̀ Python tàbí kì í ṣe fáìlì:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "Àṣìṣe ní wíwọlé sí fáìlì akosílẹ̀:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "Ṣíṣe akosílẹ̀ Python:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "Àṣìṣe ní ṣíṣe", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "pẹ̀lú", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "kùnà pẹ̀lú koodu ìjáde", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "Ṣàyẹ̀wò àwọn àkọsílẹ̀ console.", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "A kò lè rí olùṣiṣẹ́ Python tó tọ́. A gbìyànjú:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "Jọ̀wọ́ rí i dájú pé a ti fi Python sori ẹ̀rọ àti pé ó wà nípasẹ̀ PATH ètò rẹ (tàbí olùgbéléwọ́ 'py' lórí Windows).", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "A kò rí fóldà àwọn akosílẹ̀ Python tàbí kò tọ́. Jọ̀wọ́ ṣàyẹ̀wò ètò plugin.", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "Àṣìṣe ní kíkà fóldà àwọn akosílẹ̀:", 41 | NOTICE_NO_SCRIPTS_FOUND: "A kò rí akosílẹ̀ Python (.py) kankan nínú fóldà tí a ṣètò.", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "Ṣíṣe", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "akosílẹ̀ Python...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "Ìtẹnumọ́ kò bá ìtòlẹ́sẹẹsẹ tí a nílò mu.", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "Ṣiṣẹ́ akosílẹ̀ Python kan pàtó", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "Ṣiṣẹ́ gbogbo akosílẹ̀ Python nínú fóldà", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "Fisilẹ", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "Yan akosílẹ̀ Python láti ṣiṣẹ́...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "Ètò Pàtó fún Akosílẹ̀", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "Tún Ètò Akosílẹ̀ Wò", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "Tún ṣàyẹ̀wò fóldà àwọn akosílẹ̀ láti ṣàwárí tàbí mú ètò tí a ṣàlàyé nínú àwọn akosílẹ̀ Python rẹ dojú ìwọ̀n.", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "Tún Àwọn Ìtumọ̀ Wò", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "Ní títúnwò...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "Fóldà àwọn akosílẹ̀ Python kò tíì sí ní ṣíṣètò. Jọ̀wọ́ ṣètò ọ̀nà ní òkè.", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "A kò rí akosílẹ̀ pẹ̀lú ètò tí a lè ṣàlàyé nínú fóldà tí a ṣètò, tàbí ìṣàwárí ètò kùnà. Tẹ 'Tún Àwọn Ìtumọ̀ Wò' láti gbìyànjú lẹ́ẹ̀kan sí i.", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "Ètò fún:", 57 | SETTINGS_LANGUAGE_AUTO: "Aifọwọyi (Bá Obsidian mu)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "A kò lè tún ètò wò: A kò rí olùṣiṣẹ́ Python. Jọ̀wọ́ rí i dájú pé a ti fi Python sori ẹ̀rọ àti pé ó wà nínú PATH.", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "Ní títún àwọn ìtumọ̀ ètò akosílẹ̀ wò...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "Àwọn ìtumọ̀ ètò akosílẹ̀ ti tún wò ní àṣeyọrí!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "Ìtúnwò àwọn ìtumọ̀ ètò akosílẹ̀ kùnà. Ṣàyẹ̀wò àwọn àkọsílẹ̀ fún àlàyé.", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "A kò lè ṣiṣẹ́ akosílẹ̀: A kò rí olùṣiṣẹ́ Python. Jọ̀wọ́ ṣàyẹ̀wò ìfisori ẹ̀rọ àti PATH.", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "Tún àwọn ìtumọ̀ ètò akosílẹ̀ Python wò", 64 | SETTINGS_SECURITY_WARNING_TITLE: "Ìkìlọ̀ Ààbò", 65 | SETTINGS_SECURITY_WARNING_TEXT: "Ṣíṣe àwọn akosílẹ̀ Python láìsí ìṣọ́ra lè léwu. Rí i dájú pé o gbẹ́kẹ̀lé orísun akosílẹ̀ èyíkéyìí tí o bá ń ṣiṣẹ́, nítorí wọ́n lè wọlé sí ètò àti dátà rẹ. Onkọ̀wé plugin àti àwọn onkọ̀wé akosílẹ̀ kò ní ṣe ìdájọ́ fún ìpàdánù dátà tàbí àwọn ọ̀ràn ààbò tí ó bá ṣẹlẹ̀ látàrí àwọn akosílẹ̀ tí o bá yàn láti ṣiṣẹ́. Ṣiṣẹ́ àwọn akosílẹ̀ lórí ewu tìrẹ.", 66 | SETTINGS_LANGUAGE_TITLE: "Èdè Plugin", 67 | SETTINGS_LANGUAGE_DESC: "Yan èdè ìfihàn fún ìwojú plugin Python Bridge. 'Aifọwọyi' ń tẹ̀lé ètò èdè Obsidian.", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "Àbá Iṣẹ́ ṣíṣe: Cache Backlink", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "Fún iṣẹ́ ṣíṣe tó dára síi nígbà tí o bá ń gba àwọn backlink (lílo iṣẹ́ get_backlinks) nínú àwọn vault ńlá, ronú láti fi plugin àwùjọ '[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)' láti ọwọ́ @mnaoumov sínú ẹ̀rọ.", 70 | NOTICE_INVALID_FOLDER_PATH: "Opopona folda ti ko tọ. Jọwọ yan folda to tọ ninu awọn eto.", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "Ọna folda awọn iwe afọwọkọ Python ti a tunto '{path}' ko wulo tabi ko ri. Ko eto kuro.", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "Iwe Afọwọkọ Ti ṣiṣẹ", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "Gba iwe afọwọkọ yii laaye lati ṣiṣẹ nipasẹ awọn aṣẹ, awọn ọna abuja, tabi 'Ṣiṣe Gbogbo'.", 75 | NOTICE_SCRIPT_DISABLED: "Iwe afọwọkọ '{scriptName}' jẹ alaabo ninu awọn eto ati pe ko le ṣiṣẹ.", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "Ṣiṣe ni Ibẹrẹ", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Ṣiṣe iwe afọwọkọ yii laifọwọyi nigbati Obsidian ba bẹrẹ (nikan ti 'Iwe afọwọkọ Ti ṣiṣẹ' ba tun wa ni titan).", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "Idaduro Ibẹrẹ (iṣẹju-aaya)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Duro fun iye awọn aaya yii lẹhin ti Obsidian bẹrẹ ṣaaju ṣiṣe iwe afọwọkọ naa (kan nikan ti 'Ṣiṣe ni Ibẹrẹ' ba wa ni titan). Lo 0 fun ko si idaduro.", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "Ṣeto PYTHONPATH laifọwọyi fun Ile-ikawe", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "Ṣafikun itọsọna itanna si PYTHONPATH laifọwọyi nigbati o nṣiṣẹ awọn iwe afọwọkọ, gbigba gbigbe wọle taara ti ile-ikawe Python (Iṣeduro). Ti o ba jẹ alaabo, o gbọdọ daakọ ObsidianPluginDevPythonToJS.py si folda iwe afọwọkọ rẹ tabi ṣakoso sys.path pẹlu ọwọ.", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "PYTHONPATH aifọwọyi alaabo. Rii daju pe ObsidianPluginDevPythonToJS.py wa ninu folda iwe afọwọkọ rẹ tabi ṣakoso sys.path pẹlu ọwọ.", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/lang/zh.ts: -------------------------------------------------------------------------------- 1 | // --- src/lang/zh.ts --- 2 | // Chinese translations 3 | export default { 4 | // Settings Tab 5 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge 设置", 6 | SETTINGS_FOLDER_TITLE: "Python 脚本文件夹", 7 | SETTINGS_FOLDER_DESC: "包含 Python 脚本的文件夹路径(绝对路径或相对于仓库的路径)。", 8 | SETTINGS_FOLDER_PLACEHOLDER: "/path/to/your/scripts 或 ./scripts-python", 9 | SETTINGS_PORT_TITLE: "HTTP 服务器端口", 10 | SETTINGS_PORT_DESC: 11 | "本地 HTTP 服务器的端口(1024-65535)。需要重新启动或保存设置才能应用。", 12 | SETTINGS_CACHE_TITLE: "禁用 Python 缓存 (__pycache__)", 13 | SETTINGS_CACHE_DESC: "使用“-B”标志运行 Python 以阻止写入 .pyc 文件。", 14 | 15 | // main.ts Notices 16 | NOTICE_PLUGIN_NAME: "Python Bridge", 17 | NOTICE_PORT_CHANGED_PREFIX: "HTTP 端口已更改为", 18 | NOTICE_PORT_CHANGED_SUFFIX: "正在重新启动服务器...", 19 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge 错误:", 20 | NOTICE_PYTHON_MISSING_DESC: "在 PATH 中找不到 Python 可执行文件。\n请安装 Python 并确保将其添加到系统的 PATH 环境变量中,以便插件运行脚本。\n需要 Python 的插件功能将不可用。", 21 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge 错误:", 22 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "所需的 Python 库 'requests' 未为", 23 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "安装。\n请通过运行以下命令安装:\n{pythonCmd} -m pip install requests\n在安装之前,需要 Python 的插件功能将不可用。", 24 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "配置的 HTTP 端口无效:", 25 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "服务器未启动。请在设置中配置一个有效的端口(1-65535)。", 26 | NOTICE_PORT_IN_USE_PREFIX: "端口", 27 | NOTICE_PORT_IN_USE_SUFFIX: "已被占用。请在设置中选择另一个端口或关闭使用该端口的其他应用程序。服务器未启动。", 28 | NOTICE_SERVER_START_FAILED_PREFIX: "在端口上启动服务器失败", 29 | NOTICE_SERVER_START_FAILED_SUFFIX: "。", 30 | NOTICE_INVALID_PORT_RANGE: "端口无效。请输入 0 到 65535 之间的数字。", 31 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge:HTTP 端口已更改(", 32 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 33 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: ")。如果脚本已在运行或从外部启动,它可能会指向旧端口。", 34 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "找不到 Python 脚本或不是文件:", 35 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "访问脚本文件时出错:", 36 | NOTICE_RUNNING_SCRIPT_PREFIX: "正在运行 Python 脚本:", 37 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "运行", 38 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "时出错,使用", 39 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "失败,退出代码为", 40 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "请检查控制台日志。", 41 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "找不到有效的 Python 可执行文件。已尝试:", 42 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "请确保已安装 Python 并且可以通过系统 PATH(或 Windows 上的 'py' 启动器)访问。", 43 | NOTICE_SCRIPTS_FOLDER_INVALID: "找不到 Python 脚本文件夹或无效。请检查插件设置。", 44 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "读取脚本文件夹时出错:", 45 | NOTICE_NO_SCRIPTS_FOUND: "在配置的文件夹中找不到 Python 脚本 (.py)。", 46 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "正在运行", 47 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "个 Python 脚本...", 48 | NOTICE_INPUT_VALIDATION_FAILED: "输入不符合要求的格式。", 49 | 50 | // main.ts Commands 51 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "运行特定的 Python 脚本", 52 | CMD_RUN_ALL_SCRIPTS_NAME: "运行文件夹中的所有 Python 脚本", 53 | 54 | // UserInputModal 55 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "请选择要运行的 Python 脚本...", 56 | MODAL_USER_INPUT_SUBMIT_BUTTON: "提交", 57 | SETTINGS_SCRIPT_SETTINGS_TITLE: "脚本特定设置", 58 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "刷新脚本设置", 59 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "重新扫描脚本文件夹以发现或更新 Python 脚本中定义的设置。", 60 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "刷新定义", 61 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "正在刷新...", 62 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "未配置 Python 脚本文件夹。请在上方设置路径。", 63 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "在配置的文件夹中找不到具有可定义设置的脚本,或者设置发现失败。单击“刷新定义”重试。", 64 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "设置:", 65 | SETTINGS_LANGUAGE_AUTO: "自动 (匹配 Obsidian)", 66 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "无法刷新设置:未找到 Python 可执行文件。请确保已安装 Python 并将其添加到 PATH。", 67 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "正在刷新脚本设置定义...", 68 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "脚本设置定义刷新成功!", 69 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "刷新脚本设置定义失败。请检查日志。", 70 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "无法运行脚本:未找到 Python 可执行文件。请检查安装和 PATH。", 71 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "刷新 Python 脚本设置定义", 72 | SETTINGS_SECURITY_WARNING_TITLE: "安全警告", 73 | SETTINGS_SECURITY_WARNING_TEXT: "执行任意 Python 脚本可能存在风险。请确保您信任所运行脚本的来源,因为它们可以访问您的系统和数据。插件作者和脚本作者对您选择执行的脚本造成的任何数据丢失或安全问题概不负责。运行脚本需自担风险。", 74 | SETTINGS_LANGUAGE_TITLE: "插件语言", 75 | SETTINGS_LANGUAGE_DESC: "选择 Python Bridge 插件界面的显示语言。“自动”将遵循 Obsidian 的语言设置。", 76 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "性能提示:反向链接缓存", 77 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "为了在大型库中检索反向链接(使用 get_backlinks 函数)时提高性能,请考虑安装由 @mnaoumov 开发的“[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)”社区插件。", 78 | NOTICE_INVALID_FOLDER_PATH: "文件夹路径无效。请在设置中选择一个有效的文件夹。", 79 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "配置的 Python 脚本文件夹路径 '{path}' 无效或找不到。正在清除设置。", 80 | 81 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "脚本已启用", 82 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "允许通过命令、快捷键或“全部运行”执行此脚本。", 83 | NOTICE_SCRIPT_DISABLED: "脚本“{scriptName}”在设置中被禁用,无法执行。", 84 | 85 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "启动时运行", 86 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Obsidian 启动时自动运行此脚本(仅当“脚本已启用”也开启时)。", 87 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "启动延迟(秒)", 88 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidian 启动后等待这么多秒再运行脚本(仅当“启动时运行”开启时适用)。使用 0 表示无延迟。", 89 | 90 | SETTINGS_AUTO_PYTHONPATH_NAME: "为库自动设置 PYTHONPATH", 91 | SETTINGS_AUTO_PYTHONPATH_DESC: "运行脚本时自动将插件目录添加到 PYTHONPATH,允许直接导入 Python 库(推荐)。如果禁用,您必须将 ObsidianPluginDevPythonToJS.py 复制到您的脚本文件夹或手动管理 sys.path。", 92 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "自动 PYTHONPATH 已禁用。请确保 ObsidianPluginDevPythonToJS.py 在您的脚本文件夹中,或手动管理 sys.path。", 93 | 94 | }; 95 | -------------------------------------------------------------------------------- /src/lang/zht.ts: -------------------------------------------------------------------------------- 1 | // zht.ts - zht translations 2 | // WARNING: Auto-generated translations below. Please review and correct. 3 | export default { 4 | SETTINGS_TAB_TITLE: "Obsidian Python Bridge 設定", 5 | SETTINGS_FOLDER_TITLE: "Python 腳本資料夾", 6 | SETTINGS_FOLDER_DESC: "包含您的 Python 腳本的資料夾路徑(絕對路徑或相對於 vault 的路徑)。", 7 | SETTINGS_FOLDER_PLACEHOLDER: "/您的/腳本/路徑 或 ./scripts-python", 8 | SETTINGS_PORT_TITLE: "HTTP 伺服器端口", 9 | SETTINGS_PORT_DESC: "本地 HTTP 伺服器的端口(1024-65535)。需要重新啟動或儲存設定才能套用。", 10 | SETTINGS_CACHE_TITLE: "停用 Python 快取 (__pycache__)", 11 | SETTINGS_CACHE_DESC: "使用 \"-B\" 標誌運行 Python 以防止寫入 .pyc 檔案。", 12 | NOTICE_PLUGIN_NAME: "Python Bridge", 13 | NOTICE_PORT_CHANGED_PREFIX: "HTTP 端口已更改為", 14 | NOTICE_PORT_CHANGED_SUFFIX: "正在重新啟動伺服器...", 15 | NOTICE_PYTHON_MISSING_TITLE: "Python Bridge 錯誤:", 16 | NOTICE_PYTHON_MISSING_DESC: "在 PATH 中找不到 Python 可執行檔。\\n請安裝 Python 並確保它已添加到您系統的 PATH 環境變數中,以便插件運行腳本。\\n需要 Python 的插件功能將無法使用。", 17 | NOTICE_REQUESTS_MISSING_TITLE: "Python Bridge 錯誤:", 18 | NOTICE_REQUESTS_MISSING_DESC_PREFIX: "所需的 Python 函式庫 'requests' 未安裝於", 19 | NOTICE_REQUESTS_MISSING_DESC_SUFFIX: "。\\n請運行以下指令安裝:\\n{pythonCmd} -m pip install requests\\n需要 Python 的插件功能在安裝前將無法使用。", 20 | NOTICE_INVALID_PORT_CONFIG_PREFIX: "設定了無效的 HTTP 端口:", 21 | NOTICE_INVALID_PORT_CONFIG_SUFFIX: "伺服器未啟動。請在設定中配置一個有效的端口(1-65535)。", 22 | NOTICE_PORT_IN_USE_PREFIX: "端口", 23 | NOTICE_PORT_IN_USE_SUFFIX: "已被使用。請在設定中選擇另一個端口或關閉正在使用它的其他應用程式。伺服器未啟動。", 24 | NOTICE_SERVER_START_FAILED_PREFIX: "無法在端口上啟動伺服器", 25 | NOTICE_SERVER_START_FAILED_SUFFIX: "。", 26 | NOTICE_INVALID_PORT_RANGE: "連接埠無效。請輸入 0 到 65535 之間的數字。", 27 | NOTICE_PORT_MISMATCH_WARNING_PREFIX: "⚠️ Python Bridge:HTTP 端口已更改 (", 28 | NOTICE_PORT_MISMATCH_WARNING_MIDDLE: "->", 29 | NOTICE_PORT_MISMATCH_WARNING_SUFFIX: ")。如果腳本已在運行或從外部啟動,它可能會指向舊端口。", 30 | NOTICE_SCRIPT_NOT_FOUND_PREFIX: "找不到 Python 腳本或它不是一個檔案:", 31 | NOTICE_SCRIPT_ACCESS_ERROR_PREFIX: "存取腳本檔案時出錯:", 32 | NOTICE_RUNNING_SCRIPT_PREFIX: "正在運行 Python 腳本:", 33 | NOTICE_SCRIPT_ERROR_RUNNING_PREFIX: "運行時出錯", 34 | NOTICE_SCRIPT_ERROR_RUNNING_MIDDLE: "使用", 35 | NOTICE_SCRIPT_FAILED_EXIT_CODE_MIDDLE: "失敗,退出代碼為", 36 | NOTICE_SCRIPT_FAILED_EXIT_CODE_SUFFIX: "請檢查控制台日誌。", 37 | NOTICE_PYTHON_EXEC_NOT_FOUND_PREFIX: "找不到有效的 Python 可執行檔。已嘗試:", 38 | NOTICE_PYTHON_EXEC_NOT_FOUND_SUFFIX: "請確保已安裝 Python 並且可以通過系統的 PATH(或 Windows 上的 'py' 啟動器)訪問。", 39 | NOTICE_SCRIPTS_FOLDER_INVALID: "找不到 Python 腳本資料夾或無效。請檢查插件設定。", 40 | NOTICE_SCRIPTS_FOLDER_READ_ERROR_PREFIX: "讀取腳本資料夾時出錯:", 41 | NOTICE_NO_SCRIPTS_FOUND: "在設定的資料夾中找不到 Python 腳本 (.py)。", 42 | NOTICE_RUNNING_ALL_SCRIPTS_PREFIX: "正在運行", 43 | NOTICE_RUNNING_ALL_SCRIPTS_SUFFIX: "個 Python 腳本...", 44 | NOTICE_INPUT_VALIDATION_FAILED: "輸入不符合所需格式。", 45 | CMD_RUN_SPECIFIC_SCRIPT_NAME: "運行特定的 Python 腳本", 46 | CMD_RUN_ALL_SCRIPTS_NAME: "運行資料夾中的所有 Python 腳本", 47 | MODAL_USER_INPUT_SUBMIT_BUTTON: "提交", 48 | MODAL_SELECT_SCRIPT_PLACEHOLDER: "選擇要運行的 Python 腳本...", 49 | SETTINGS_SCRIPT_SETTINGS_TITLE: "腳本特定設定", 50 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_NAME: "重新整理腳本設定", 51 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_DESC: "重新掃描腳本資料夾以發現或更新您的 Python 腳本中定義的設定。", 52 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_TEXT: "重新整理定義", 53 | SETTINGS_REFRESH_DEFINITIONS_BUTTON_REFRESHING: "正在重新整理...", 54 | SETTINGS_SCRIPT_FOLDER_NOT_CONFIGURED: "未設定 Python 腳本資料夾。請在上方設定路徑。", 55 | SETTINGS_NO_SCRIPT_SETTINGS_FOUND: "在設定的資料夾中找不到具有可定義設定的腳本,或者設定發現失敗。點擊「重新整理定義」重試。", 56 | SETTINGS_SCRIPT_SETTINGS_HEADING_PREFIX: "設定:", 57 | SETTINGS_LANGUAGE_AUTO: "自動 (匹配 Obsidian)", 58 | NOTICE_PYTHON_EXEC_MISSING_FOR_REFRESH: "無法重新整理設定:找不到 Python 可執行檔。請確保已安裝 Python 並在 PATH 中。", 59 | NOTICE_REFRESHING_SCRIPT_SETTINGS: "正在重新整理腳本設定定義...", 60 | NOTICE_REFRESH_SCRIPT_SETTINGS_SUCCESS: "腳本設定定義已成功重新整理!", 61 | NOTICE_REFRESH_SCRIPT_SETTINGS_FAILED: "重新整理腳本設定定義失敗。請檢查日誌以獲取詳細資訊。", 62 | NOTICE_PYTHON_EXEC_MISSING_FOR_RUN: "無法運行腳本:找不到 Python 可執行檔。請檢查安裝和 PATH。", 63 | CMD_REFRESH_SCRIPT_SETTINGS_NAME: "重新整理 Python 腳本設定定義", 64 | SETTINGS_SECURITY_WARNING_TITLE: "安全警告", 65 | SETTINGS_SECURITY_WARNING_TEXT: "執行任意 Python 腳本可能存在風險。請確保您信任所運行腳本的來源,因為它們可以訪問您的系統和數據。插件作者和腳本作者對您選擇執行的腳本造成的任何數據丟失或安全問題概不負責。運行腳本需自擔風險。", 66 | SETTINGS_LANGUAGE_TITLE: "插件語言", 67 | SETTINGS_LANGUAGE_DESC: "選擇 Python Bridge 插件界面的顯示語言。「自動」將遵循 Obsidian 的語言設定。", 68 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_TITLE: "效能提示:反向連結快取", 69 | SETTINGS_BACKLINK_CACHE_RECOMMENDATION_DESC: "為了在大型儲存庫中擷取反向連結(使用 get_backlinks 函數)時提高效能,請考慮安裝由 @mnaoumov 開發的「[Backlink Cache](https://github.com/mnaoumov/obsidian-backlink-cache)」社群外掛。", 70 | NOTICE_INVALID_FOLDER_PATH: "資料夾路徑無效。請在設定中選擇一個有效的資料夾。", 71 | NOTICE_INVALID_STARTUP_FOLDER_PATH: "設定的 Python 指令碼資料夾路徑 '{path}' 無效或找不到。正在清除設定。", 72 | 73 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_NAME: "腳本已啟用", 74 | SETTINGS_SCRIPT_ACTIVATE_TOGGLE_DESC: "允許透過指令、快捷鍵或「全部執行」來執行此腳本。", 75 | NOTICE_SCRIPT_DISABLED: "腳本 '{scriptName}' 已在設定中停用,無法執行。", 76 | 77 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_NAME: "啟動時執行", 78 | SETTINGS_SCRIPT_AUTOSTART_TOGGLE_DESC: "Obsidian 啟動時自動執行此腳本(僅當「腳本已啟用」也開啟時)。", 79 | SETTINGS_SCRIPT_AUTOSTART_DELAY_NAME: "啟動延遲(秒)", 80 | SETTINGS_SCRIPT_AUTOSTART_DELAY_DESC: "Obsidian 啟動後等待這麼多秒再執行腳本(僅當「啟動時執行」開啟時適用)。使用 0 表示無延遲。", 81 | 82 | SETTINGS_AUTO_PYTHONPATH_NAME: "為庫自動設定 PYTHONPATH", 83 | SETTINGS_AUTO_PYTHONPATH_DESC: "執行腳本時自動將插件目錄添加到 PYTHONPATH,允許直接導入 Python 庫(推薦)。如果停用,您必須將 ObsidianPluginDevPythonToJS.py 複製到您的腳本資料夾或手動管理 sys.path。", 84 | NOTICE_AUTO_PYTHONPATH_DISABLED_DESC: "自動 PYTHONPATH 已停用。請確保 ObsidianPluginDevPythonToJS.py 在您的腳本資料夾中,或手動管理 sys.path。", 85 | 86 | }; 87 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | // --- src/types.ts --- 2 | // Contains shared type definitions for the Obsidian Python Bridge plugin. 3 | 4 | // Type for dropdown options in settings 5 | export type DropdownOption = string | { value: string; display: string }; 6 | 7 | // Definition for a single setting discovered from a Python script 8 | export interface ScriptSettingDefinition { 9 | key: string; 10 | type: "text" | "textarea" | "number" | "toggle" | "dropdown" | "slider"; 11 | label: string; 12 | description: string; 13 | default: any; 14 | options?: DropdownOption[]; // Only used for 'dropdown' type 15 | min?: number; // Used for 'number' and 'slider' types 16 | max?: number; // Used for 'number' and 'slider' types 17 | step?: number; // Used for 'number' and 'slider' types 18 | } 19 | 20 | // Structure for the plugin's overall settings 21 | export interface PythonBridgeSettings { 22 | pythonScriptsFolder: string; 23 | httpPort: number; 24 | disablePyCache: boolean; 25 | pluginLanguage: string; 26 | /** Cache of settings definitions discovered from Python scripts. Key: relative script path */ 27 | scriptSettingsDefinitions: Record; 28 | /** User-configured values for script settings. Key: relative script path, Value: { settingKey: value } */ 29 | scriptSettingsValues: Record>; 30 | /** User-configured activation status for scripts. Key: relative script path, Value: boolean (true=active, false=inactive) */ 31 | scriptActivationStatus: Record; 32 | /** User-configured auto-start status for scripts. Key: relative script path, Value: boolean (true=auto-start) */ 33 | scriptAutoStartStatus: Record; 34 | /** User-configured auto-start delay (in seconds) for scripts. Key: relative script path, Value: number */ 35 | scriptAutoStartDelay: Record; 36 | autoSetPYTHONPATH: boolean; // Setting to control automatic PYTHONPATH modification 37 | } 38 | 39 | // Structure for JSON responses sent TO the Python client 40 | export interface JsonResponse { 41 | status: "success" | "error"; 42 | data?: any; 43 | error?: string; 44 | } 45 | 46 | // Structure for JSON requests received FROM the Python client 47 | export interface JsonRequest { 48 | action: string; 49 | payload?: { 50 | absolute?: boolean; // For get_all_note_paths 51 | return_format?: string; // For get_active_note_content 52 | // Add other potential payload structures here as a union if they become more defined 53 | [key: string]: any; // Allow other arbitrary keys for now 54 | }; 55 | } 56 | -------------------------------------------------------------------------------- /styles.css: -------------------------------------------------------------------------------- 1 | /* styles.css */ 2 | 3 | /* For UserInputModal and PythonBridgeSettingTab input errors */ 4 | .python-bridge-input-error { 5 | border-color: red !important; 6 | } 7 | 8 | /* For the security warning callout in PythonBridgeSettingTab */ 9 | .python-bridge-security-warning-callout { 10 | margin-bottom: 1.5em; /* Example style, adjust as needed */ 11 | } 12 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "module": "ESNext", 5 | "target": "ES6", 6 | "allowJs": true, 7 | "noImplicitAny": true, 8 | "moduleResolution": "node", 9 | "importHelpers": true, 10 | "isolatedModules": true, 11 | "strictNullChecks": true, 12 | "lib": [ 13 | "DOM", 14 | "ESNext" 15 | ], 16 | "types": [ 17 | "node", 18 | "obsidian" 19 | ], 20 | "experimentalDecorators": true, 21 | "esModuleInterop": true, 22 | "allowSyntheticDefaultImports": true 23 | }, 24 | "include": [ 25 | "src/**/*.ts" 26 | ] 27 | } 28 | --------------------------------------------------------------------------------